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

MagickBooleanType
ConstructOrdering(size_t count,DDSVector4 *points,DDSVector3 axis,DDSVector4 *pointsWeights,
                 DDSVector4 *xSumwSum,uchar *order,size_t iteration)

{
  byte bVar1;
  byte bVar2;
  undefined1 uVar3;
  DDSColors *pDVar4;
  DDSVector4 *pDVar5;
  DDSVector4 *pDVar6;
  MagickBooleanType MVar7;
  int *piVar8;
  int iVar9;
  int iVar10;
  undefined4 *puVar11;
  size_t sVar12;
  float *pfVar13;
  byte *pbVar14;
  DDSColors *pDVar15;
  int iVar16;
  int iVar17;
  int iVar18;
  DDSColors *pDVar19;
  DDSVector4 *pDVar20;
  int iVar21;
  DDSColors *pDVar22;
  DDSVector4 *pDVar23;
  undefined4 uVar24;
  DDSVector4 *pDVar25;
  float *pfVar26;
  byte *pbVar27;
  int iVar28;
  int iVar29;
  int iVar30;
  MagickBooleanType *pMVar31;
  MagickBooleanType *pMVar32;
  DDSColors *pDVar33;
  MagickBooleanType *pMVar34;
  int *piVar35;
  uint *puVar36;
  uint *puVar37;
  uint *puVar38;
  uint *unaff_s6;
  DDSColors *pDVar39;
  MagickBooleanType unaff_s7;
  int iVar40;
  undefined *puVar41;
  code *pcVar42;
  code *pcVar43;
  code *pcVar44;
  MagickBooleanType unaff_s8;
  code *pcVar45;
  float fVar46;
  uint uVar47;
  uint uVar48;
  uint uVar49;
  uint uVar50;
  float fVar51;
  uint uVar52;
  uint uVar53;
  float fVar54;
  float fVar55;
  undefined8 in_f20_21;
  double in_f22_23;
  double dVar56;
  double dVar57;
  undefined8 uVar58;
  uint uStack_248;
  DDSColors DStack_22c;
  int iStack_21c;
  MagickBooleanType *pMStack_218;
  DDSColors *pDStack_214;
  DDSColors *pDStack_210;
  int *piStack_20c;
  uint *puStack_208;
  uint *puStack_204;
  uint *puStack_200;
  MagickBooleanType MStack_1fc;
  MagickBooleanType MStack_1f8;
  code *pcStack_1f4;
  undefined8 uStack_1f0;
  double dStack_1e8;
  uint uStack_1d0;
  DDSColors *pDStack_1cc;
  code *pcStack_1c8;
  uint uStack_1bc;
  int *piStack_1b8;
  DDSColors *pDStack_1b4;
  uint uStack_1b0;
  undefined4 uStack_1ac;
  DDSColors *pDStack_1a8;
  int *piStack_1a4;
  DDSColors DStack_19c;
  int iStack_18c;
  MagickBooleanType *pMStack_188;
  DDSColors *pDStack_184;
  DDSColors *pDStack_180;
  int *piStack_17c;
  uint *puStack_178;
  uint *puStack_174;
  uint *puStack_170;
  MagickBooleanType MStack_16c;
  MagickBooleanType MStack_168;
  code *pcStack_164;
  DDSColors *pDStack_140;
  DDSColors *pDStack_13c;
  int iStack_138;
  DDSColors *pDStack_134;
  code *pcStack_130;
  code *pcStack_128;
  uint uStack_124;
  uint uStack_120;
  MagickBooleanType MStack_11c;
  MagickBooleanType MStack_118;
  undefined4 uStack_114;
  uint *puStack_110;
  undefined4 uStack_10c;
  undefined4 uStack_108;
  uint uStack_104;
  uint uStack_100;
  int iStack_fc;
  undefined4 uStack_f8;
  undefined4 uStack_f4;
  undefined4 uStack_f0;
  undefined4 uStack_ec;
  undefined4 uStack_e8;
  int iStack_e4;
  MagickBooleanType *pMStack_e0;
  DDSColors *pDStack_dc;
  DDSColors *pDStack_d8;
  MagickBooleanType *pMStack_d4;
  uint *puStack_d0;
  uint *puStack_cc;
  undefined4 uStack_9c;
  MagickBooleanType aMStack_8c [2];
  float local_54;
  float local_50;
  float dps [16];
  
  puVar41 = PTR___stack_chk_guard_003a9230;
  pDVar4 = *(DDSColors **)PTR___stack_chk_guard_003a9230;
  pDVar25 = (DDSVector4 *)(order + iteration * 0x10);
  if ((int)count < 1) {
    MVar7 = MagickTrue;
    if (0 < (int)iteration) goto LAB_00212794;
    *(undefined4 *)axis.z = 0;
    *(undefined4 *)((int)axis.z + 4) = 0;
    *(undefined4 *)((int)axis.z + 8) = 0;
    *(undefined4 *)((int)axis.z + 0xc) = 0;
  }
  else {
    pfVar26 = dps;
    sVar12 = 0;
    pDVar5 = points;
    pfVar13 = pfVar26;
    pDVar6 = pDVar25;
    do {
      fVar54 = pDVar5->y;
      pDVar23 = (DDSVector4 *)((int)&pDVar6->x + 1);
      pDVar20 = (DDSVector4 *)(pfVar13 + 1);
      fVar51 = pDVar5->x;
      fVar46 = pDVar5->z;
      *(char *)&pDVar6->x = (char)sVar12;
      sVar12 = sVar12 + 1;
      *pfVar13 = axis.x * fVar46 + (float)pointsWeights * fVar51 + (float)xSumwSum * fVar54;
      pDVar5 = pDVar5 + 1;
      pfVar13 = (float *)pDVar20;
      pDVar6 = pDVar23;
    } while (sVar12 != count);
    pDVar5 = (DDSVector4 *)((int)&pDVar25[-1].w + 3);
    do {
      if ((1 - (int)pDVar25) + (int)pDVar5 != 0) {
        fVar51 = *pfVar26;
        fVar46 = pfVar26[-1];
        if (fVar51 < fVar46) {
          bVar1 = *(byte *)((int)&pDVar5->x + 1);
          pDVar23 = (DDSVector4 *)(uint)bVar1;
          pDVar6 = pDVar5;
          pfVar13 = pfVar26;
          do {
            bVar2 = *(byte *)&pDVar6->x;
            pDVar20 = (DDSVector4 *)(uint)bVar2;
            *pfVar13 = fVar46;
            *(byte *)&pDVar6->x = bVar1;
            pfVar13[-1] = fVar51;
            *(byte *)((int)&pDVar6->x + 1) = bVar2;
            if (pDVar25 == pDVar6) break;
            fVar46 = pfVar13[-2];
            pDVar6 = (DDSVector4 *)((int)&pDVar6[-1].w + 3);
            pfVar13 = pfVar13 + -1;
          } while (fVar51 < fVar46);
        }
      }
      pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);
      pfVar26 = pfVar26 + 1;
    } while ((DDSVector4 *)((int)pDVar25 + (count - 1)) != pDVar5);
    pointsWeights = pDVar20;
    xSumwSum = pDVar23;
    if ((int)iteration < 1) {
      *(undefined4 *)axis.z = 0;
      *(undefined4 *)((int)axis.z + 4) = 0;
      *(undefined4 *)((int)axis.z + 8) = 0;
      *(undefined4 *)((int)axis.z + 0xc) = 0;
LAB_00212818:
      iVar29 = 0;
      do {
        pfVar13 = &pDVar25->x;
        iVar29 = iVar29 + 1;
        pDVar25 = (DDSVector4 *)((int)&pDVar25->x + 1);
        pointsWeights = (DDSVector4 *)(uint)(iVar29 < (int)count);
        pDVar5 = points + *(byte *)pfVar13;
        fVar46 = pDVar5->w;
        fVar55 = pDVar5->x;
        fVar54 = pDVar5->y;
        fVar51 = pDVar5->z;
        *(float *)((int)axis.y + 0xc) = fVar46;
        fVar55 = fVar46 * fVar55;
        fVar54 = fVar46 * fVar54;
        fVar51 = fVar46 * fVar51;
        *(float *)axis.y = fVar55;
        *(float *)((int)axis.y + 4) = fVar54;
        *(float *)((int)axis.y + 8) = fVar51;
        *(float *)((int)axis.z + 4) = fVar54 + *(float *)((int)axis.z + 4);
        *(float *)((int)axis.z + 8) = fVar51 + *(float *)((int)axis.z + 8);
        *(float *)((int)axis.z + 0xc) = fVar46 + *(float *)((int)axis.z + 0xc);
        *(float *)axis.z = *(float *)axis.z + fVar55;
        xSumwSum = pDVar23;
        axis.y = (float)((int)axis.y + 0x10);
      } while (pointsWeights != (DDSVector4 *)0x0);
    }
    else {
LAB_00212794:
      pbVar27 = order + 1;
      iVar29 = 0;
      pDVar23 = xSumwSum;
      do {
        MVar7 = MagickFalse;
        xSumwSum = pDVar23;
        if (count == 0) goto LAB_002127dc;
        pbVar14 = pbVar27;
        pDVar5 = pDVar25;
        if (pbVar27[-1] == *(byte *)&pDVar25->x) {
          do {
            pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);
            if ((DDSVector4 *)((int)&pDVar25->x + count) == pDVar5) {
              MVar7 = MagickFalse;
              xSumwSum = pDVar23;
              goto LAB_002127dc;
            }
            pDVar23 = (DDSVector4 *)(uint)*(byte *)&pDVar5->x;
            pointsWeights = (DDSVector4 *)(uint)*pbVar14;
            pbVar14 = pbVar14 + 1;
          } while (pDVar23 == pointsWeights);
        }
        iVar29 = iVar29 + 1;
        pbVar27 = pbVar27 + 0x10;
      } while (iVar29 < (int)iteration);
      *(undefined4 *)axis.z = 0;
      *(undefined4 *)((int)axis.z + 4) = 0;
      *(undefined4 *)((int)axis.z + 8) = 0;
      *(undefined4 *)((int)axis.z + 0xc) = 0;
      xSumwSum = pDVar23;
      if (0 < (int)count) goto LAB_00212818;
    }
    MVar7 = MagickTrue;
  }
LAB_002127dc:
  if (pDVar4 == *(DDSColors **)puVar41) {
    return MVar7;
  }
  puVar41 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  fVar46 = *(float *)(*(int *)(puVar41 + 0x196010) + -0xe34);
  fVar51 = *(float *)(*(int *)(puVar41 + 0x196074) + -0x1e70);
  pDVar33 = *(DDSColors **)(puVar41 + 0x196954);
  aMStack_8c[0] = *(MagickBooleanType *)pDVar33->r;
  uVar52 = (uint)((float)points * fVar51 + fVar46);
  uVar53 = (uint)((float)pointsWeights * *(float *)(*(int *)(puVar41 + 0x196074) + -0x1e6c) + fVar46
                 );
  if (0x1f < uVar52) {
    uVar52 = 0x1f;
  }
  uVar47 = (uint)(fVar51 * 5.421411e-39 + fVar46);
  if (0x3f < uVar53) {
    uVar53 = 0x3f;
  }
  uVar48 = (uint)(local_54 * *(float *)(*(int *)(puVar41 + 0x196074) + -0x1e6c) + fVar46);
  if (0x1f < uVar47) {
    uVar47 = 0x1f;
  }
  uVar49 = (uint)((float)xSumwSum * fVar51 + fVar46);
  if (0x3f < uVar48) {
    uVar48 = 0x3f;
  }
  uVar50 = (uint)(local_50 * fVar51 + fVar46);
  if (0x1f < uVar49) {
    uVar49 = 0x1f;
  }
  puVar38 = (uint *)(uVar52 << 0xb | uVar53 << 5 | uVar49);
  if (0x1f < uVar50) {
    uVar50 = 0x1f;
  }
  puVar36 = (uint *)(uVar47 << 0xb | uVar48 << 5 | uVar50);
  pMVar31 = &uStack_9c;
  do {
    if (puVar38 < puVar36) {
      *(undefined1 *)pMVar31 = (*(undefined1 *)dps[0] ^ MagickTrue) & 3;
    }
    else {
      while (puVar36 != puVar38) {
        uVar3 = *(undefined1 *)dps[0];
        pMVar32 = (MagickBooleanType *)((int)pMVar31 + 1);
        dps[0] = (float)((int)dps[0] + 1);
        *(undefined1 *)pMVar31 = uVar3;
        pMVar31 = pMVar32;
        if (aMStack_8c == pMVar32) goto LAB_00212a50;
      }
      *(undefined1 *)pMVar31 = MagickFalse;
    }
    pMVar32 = (MagickBooleanType *)((int)pMVar31 + 1);
    dps[0] = (float)((int)dps[0] + 1);
    pMVar31 = pMVar32;
  } while (aMStack_8c != pMVar32);
LAB_00212a50:
  puVar37 = puVar36;
  if (puVar38 < puVar36) {
    puVar37 = puVar38;
    puVar38 = puVar36;
  }
  (**(code **)(puVar41 + 0x196700))(pDVar4,(uint)puVar38 & 0xff);
  (**(code **)(puVar41 + 0x196700))(pDVar4,(uint)((int)puVar38 << 0x10) >> 0x18);
  (**(code **)(puVar41 + 0x196700))(pDVar4,(uint)puVar37 & 0xff);
  (**(code **)(puVar41 + 0x196700))(pDVar4,(uint)((int)puVar37 << 0x10) >> 0x18);
  pMVar31 = &uStack_9c;
  do {
    pMVar34 = pMVar31 + 1;
    pDVar19 = (DDSColors *)
              (((uint)*(byte *)((int)pMVar31 + 1) << 2 | (uint)*(byte *)((int)pMVar31 + 2) << 4 |
                (uint)(byte)*(undefined1 *)pMVar31 | (uint)(byte)*pMVar31 << 6) & 0xff);
    pDVar39 = pDVar4;
    (**(code **)(puVar41 + 0x196700))();
    pMVar31 = pMVar34;
  } while (pMVar32 != pMVar34);
  if (aMStack_8c[0] == *(MagickBooleanType *)pDVar33->r) {
    return *(MagickBooleanType *)pDVar33->r;
  }
  pcVar42 = *(code **)(puVar41 + 0x196788);
  (*pcVar42)();
  pcVar44 = pcVar42 + 0x19dd78;
  piVar35 = *(int **)(pcVar42 + 0x1966f8);
  iStack_e4 = *piVar35;
  pcStack_130 = pcVar44;
  pMStack_e0 = pMVar32;
  pDStack_dc = pDVar4;
  pDStack_d8 = pDVar33;
  pMStack_d4 = pMVar34;
  puStack_d0 = puVar37;
  puStack_cc = puVar38;
  if (pDVar39 == (DDSColors *)0x0) {
LAB_00213360:
    pDVar39 = pDVar4;
    (**(code **)(pcVar44 + -0x72a8))
              (*(int *)(pcVar44 + -0x7fd0) + 0xd78,*(int *)(pcVar44 + -0x7f60) + -0x2c20,0x6c7,
               *(int *)(pcVar44 + -0x7f60) + -0x2ab4);
  }
  else {
    if (*(int *)pDVar39[0x321].g != -0x54535255) goto LAB_00213390;
    if (*(int *)pDVar39[0x321].r != 0) {
      pDStack_13c = pDVar39 + 0x221;
      pDStack_140 = (DDSColors *)(*(int *)(pcVar42 + 0x195dac) + -0x62ac);
      (**(code **)(pcVar42 + 0x1966a8))
                (0x8000,*(int *)(pcVar42 + 0x195e18) + -0x2c20,
                 *(int *)(pcVar42 + 0x195e18) + -0x2ac4,0x6ca);
    }
    pcVar44 = pcStack_130;
    pDVar33 = pDVar19;
    if (pDVar19 == (DDSColors *)0x0) {
LAB_0021333c:
      (**(code **)(pcVar44 + -0x72a8))
                (*(int *)(pcVar44 + -0x7fd0) + 0x1cac,*(int *)(pcVar44 + -0x7f60) + -0x2c20,0x6cc,
                 *(int *)(pcVar44 + -0x7f60) + -0x2ab4);
      pDVar4 = pDVar39;
      goto LAB_00213360;
    }
    if (*(int *)pDVar19[1].a != -0x54535255) {
      (**(code **)(pcStack_130 + -0x72a8))
                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,
                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);
      goto LAB_0021333c;
    }
    pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_130 + -0x72a4))(pDVar39,pDVar19);
    iVar29 = (**(code **)(pcStack_130 + -0x7664))(pDVar39,pMVar32,2,pDVar19);
    if (iVar29 == 0) {
      (**(code **)(pcStack_130 + -0x73a0))(pMVar32);
      MVar7 = MagickFalse;
      goto LAB_00212c9c;
    }
    pDStack_140 = (DDSColors *)0x0;
    (**(code **)(pcStack_130 + -0x7588))(pMVar32);
    iVar29 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);
    if ((iVar29 == 0x7c) &&
       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pMVar32), (uStack_120 & 0x1006) == 0x1006)
       ) {
      puVar37 = (uint *)0x1;
      MStack_11c = (**(code **)(pcStack_130 + -0x7844))(pMVar32);
      MStack_118 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);
      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);
      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pMVar32);
      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pMVar32);
      pDStack_140 = (DDSColors *)0x1;
      (**(code **)(pcStack_130 + -0x7588))(pMVar32);
      iVar29 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);
      if (iVar29 != 0x20) goto LAB_00212c24;
      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);
      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pMVar32);
      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);
      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);
      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);
      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pMVar32);
      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);
      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);
      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);
      pDStack_140 = (DDSColors *)0x1;
      (**(code **)(pcStack_130 + -0x7588))(pMVar32);
      puVar37 = (uint *)(uStack_104 & 0x200);
      if ((int)(uStack_104 << 10) < 0) {
        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);
      }
      else {
        unaff_s6 = (uint *)0x0;
      }
      pDStack_140 = (DDSColors *)0x0;
      (**(code **)(pcStack_130 + -0x7588))(pMVar32);
      if ((uStack_100 & 0x40) == 0) {
        if (-1 < (int)(uStack_100 << 0xe)) {
          if ((uStack_100 & 4) == 0) {
            uVar24 = 0x729;
            goto LAB_002130b8;
          }
          if (iStack_fc == 0x33545844) {
            puVar38 = *(uint **)(pcStack_130 + -0x7cec);
            unaff_s8 = 4;
            unaff_s7 = 5;
            pcStack_128 = (code *)(puVar38 + 0x1678);
          }
          else if (iStack_fc == 0x35545844) {
            puVar38 = *(uint **)(pcStack_130 + -0x7cec);
            unaff_s8 = 4;
            unaff_s7 = 6;
            pcStack_128 = (code *)(puVar38 + 0x1635);
          }
          else {
            uVar24 = 0x722;
            if (iStack_fc != 0x31545844) goto LAB_002130b8;
            puVar38 = *(uint **)(pcStack_130 + -0x7cec);
            unaff_s8 = MagickFalse;
            unaff_s7 = 4;
            pcStack_128 = (code *)(puVar38 + 0x16bb);
          }
          goto joined_r0x00212ec0;
        }
        puVar38 = *(uint **)(pcStack_130 + -0x7cec);
        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;
        uVar24 = 0x6fe;
LAB_002130b8:
        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);
        iVar21 = *(int *)(pcStack_130 + -0x7f60);
        iVar29 = *(int *)(pcStack_130 + -0x7f60);
        pcVar44 = *(code **)(pcStack_130 + -0x7990);
        pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);
        goto LAB_00212c58;
      }
      puVar38 = *(uint **)(pcStack_130 + -0x7cec);
      if ((uStack_100 & 1) != 0) {
        puVar38 = *(uint **)(pcStack_130 + -0x7cec);
        unaff_s8 = 4;
        unaff_s7 = 0x10;
        pcStack_128 = (code *)(puVar38 + 0x16fe);
        goto joined_r0x00212ec0;
      }
LAB_00212fe4:
      unaff_s8 = MagickFalse;
      unaff_s7 = 0x10;
      pcStack_128 = (code *)(puVar38 + 0x1285);
joined_r0x00212ec0:
      if (puVar37 != (uint *)0x0) {
        puVar37 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);
        if ((uStack_104 & 0x800) != 0) {
          puVar37 = (uint *)((int)puVar37 + 1);
        }
        if ((uStack_104 & 0x1000) != 0) {
          puVar37 = (uint *)((int)puVar37 + 1);
        }
        if ((uStack_104 & 0x2000) != 0) {
          puVar37 = (uint *)((int)puVar37 + 1);
        }
        if ((uStack_104 & 0x4000) != 0) {
          puVar37 = (uint *)((int)puVar37 + 1);
        }
        if ((uStack_104 & 0x8000) == 0) {
          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;
        }
        else {
          puVar37 = (uint *)((int)puVar37 + 1);
          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;
        }
        puVar37 = puStack_110;
LAB_00213068:
        if (puVar37 != (uint *)0x0) {
          unaff_s6 = (uint *)0x0;
          goto LAB_00212ed8;
        }
LAB_00212efc:
        uVar24 = 0x73f;
        goto LAB_00212c2c;
      }
      puVar37 = puStack_110;
      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;
      puVar37 = (uint *)0x1;
LAB_00212ed8:
      uVar58 = (**(code **)(pcStack_130 + -0x73f8))(pMVar32);
      puVar38 = puVar37;
      if (unaff_s6 == (uint *)((ulonglong)uVar58 >> 0x20)) {
        pcVar44 = *(code **)(pcStack_130 + -0x7094);
        if ((uint *)uVar58 < puVar37) goto LAB_00212efc;
      }
      else {
        pcVar44 = *(code **)(pcStack_130 + -0x7094);
      }
      iVar29 = (*pcVar44)(0xb);
      if (iVar29 == 0) {
        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;
        pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);
        pDStack_140 = (DDSColors *)0x190;
        pDStack_134 = pDVar39 + 0x221;
        (**(code **)(pcStack_130 + -0x7990))
                  (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,
                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);
        if (pMVar32 == (MagickBooleanType *)0x0) {
          MVar7 = MagickFalse;
          pDVar39 = pDVar39 + 0x221;
          goto LAB_00212c9c;
        }
        goto LAB_00212c74;
      }
      puVar38 = &uStack_120;
      unaff_s6 = (uint *)0x0;
      uVar24 = (**(code **)(pcStack_130 + -0x7748))
                         (pDVar39,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);
      iVar29 = (**(code **)(pcStack_130 + -0x7694))(uVar24);
      uStack_124 = (uint)(iVar29 != 0);
      while( true ) {
        iVar29 = *(int *)pDVar39[0x1d].a;
        pMVar32[0x97] = MagickTrue;
        *pMVar32 = MagickTrue;
        pMVar32[0xaf] = unaff_s8;
        pMVar32[2] = unaff_s7;
        pMVar32[6] = MStack_118;
        pMVar32[7] = MStack_11c;
        pMVar32[8] = 8;
        if (iVar29 != 0) break;
        iVar29 = (**(code **)(pcStack_130 + -0x7404))(pMVar32,MStack_118,MStack_11c,pDVar19);
        if (iVar29 == 0) {
LAB_00213284:
          MVar7 = (**(code **)(pcStack_130 + -0x73a0))(pMVar32);
          goto LAB_00212c9c;
        }
        (**(code **)(pcStack_130 + -0x7a20))(pMVar32,pDVar19);
        pDStack_140 = pDVar19;
        iVar29 = (*pcStack_128)(pDVar39,pMVar32,puVar38,uStack_124);
        if (iVar29 == 0) {
          (**(code **)(pcStack_130 + -0x7228))(pMVar32);
          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;
          MVar7 = (**(code **)(pcStack_130 + -0x7464))(pMVar32);
          goto LAB_00212c9c;
        }
        unaff_s6 = (uint *)((int)unaff_s6 + 1);
        if (unaff_s6 == puVar37) break;
        iVar29 = (**(code **)(pcStack_130 + -0x7168))(pMVar32);
        if (iVar29 != 0) {
          pDStack_134 = pDVar39 + 0x221;
          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;
          pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);
          pDStack_140 = (DDSColors *)&DAT_000001a9;
          (**(code **)(pcStack_130 + -0x7990))
                    (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,
                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);
          pcVar44 = *(code **)(pcStack_130 + -0x7228);
          goto LAB_00212c7c;
        }
        (**(code **)(pcStack_130 + -0x7920))(pDVar39,pMVar32,pDVar19);
        iVar29 = (**(code **)(pcStack_130 + -0x7440))(pMVar32);
        if (iVar29 == 0) goto LAB_00213284;
        pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_130 + -0x74a8))(pMVar32);
      }
      (**(code **)(pcStack_130 + -0x7228))(pMVar32);
      MVar7 = (**(code **)(pcStack_130 + -0x7464))(pMVar32);
    }
    else {
LAB_00212c24:
      uVar24 = 0x6dd;
LAB_00212c2c:
      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);
      iVar21 = *(int *)(pcStack_130 + -0x7f60);
      iVar29 = *(int *)(pcStack_130 + -0x7f60);
      pcVar44 = *(code **)(pcStack_130 + -0x7990);
      pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -400);
LAB_00212c58:
      pDStack_134 = pDVar39 + 0x221;
      iStack_138 = iStack_138 + 0x3e28;
      pDStack_140 = (DDSColors *)&DAT_000001a9;
      (*pcVar44)(pDVar19,iVar29 + -0x2c20,iVar21 + -0x2ac4,uVar24);
      if (pMVar32 != (MagickBooleanType *)0x0) {
LAB_00212c74:
        pcVar44 = *(code **)(pcStack_130 + -0x7228);
LAB_00212c7c:
        (*pcVar44)(pMVar32);
        (**(code **)(pcStack_130 + -0x73a0))(pMVar32);
      }
      MVar7 = MagickFalse;
      pDVar39 = pDVar39 + 0x221;
    }
LAB_00212c9c:
    pcVar44 = pcStack_130;
    if (iStack_e4 == *piVar35) {
      return MVar7;
    }
  }
  (**(code **)(pcVar44 + -0x784c))();
LAB_00213390:
  pDVar19 = (DDSColors *)0x6c8;
  pcVar43 = *(code **)(pcVar44 + -0x72a8);
  pcVar42 = (code *)(*(int *)(pcVar44 + -0x7f60) + -0x2ab4);
  pDVar4 = (DDSColors *)(*(int *)(pcVar44 + -0x7f60) + -0x2c20);
  pcVar45 = ReadDXT5Pixels;
  puVar36 = (uint *)(*(int *)(pcVar44 + -0x7fd0) + 0xda0);
  (*pcVar43)();
  pcStack_1c8 = pcVar43 + 0x19d4fc;
  piStack_1a4 = *(int **)(pcVar43 + 0x195e7c);
  pDStack_1a8 = (DDSColors *)0x0;
  iStack_18c = *piStack_1a4;
  uVar52 = puVar36[7];
  pDStack_1b4 = pDVar19;
  pMStack_188 = pMVar32;
  pDStack_184 = pDVar39;
  pDStack_180 = pDVar33;
  piStack_17c = piVar35;
  puStack_178 = puVar37;
  puStack_174 = puVar38;
  puStack_170 = unaff_s6;
  MStack_16c = unaff_s7;
  MStack_168 = unaff_s8;
  pcStack_164 = pcVar45;
  if (0 < (int)uVar52) {
    in_f22_23 = *(double *)(*(int *)(pcVar43 + 0x195534) + -0x5af0);
    in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),
                         *(undefined4 *)(*(int *)(pcVar43 + 0x19552c) + 0x1a50));
    do {
      pDVar22 = pDStack_1a8;
      pcVar42 = (code *)puVar36[6];
      pDVar33 = (DDSColors *)0x0;
      if (0 < (int)pcVar42) {
        do {
          pcVar44 = pcVar42 + -(int)pDVar33;
          uStack_1d0 = uVar52 - (int)pDVar22;
          pDStack_1cc = pDStack_1b4;
          if (4 < uStack_1d0) {
            uStack_1d0 = 4;
          }
          pcVar42 = (code *)&DAT_00000004;
          if (pcVar44 < &DAT_00000005) {
            pcVar42 = pcVar44;
          }
          pDVar4 = pDVar33;
          pDVar19 = pDVar22;
          pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_1c8 + -0x798c))(puVar36);
          pDVar39 = pDVar22;
          if (pMVar32 == (MagickBooleanType *)0x0) goto LAB_002137bc;
          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar36);
          piStack_1b8 = (int *)(uStack_1b0 & 0xff);
          puVar38 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar36);
          piVar35 = (int *)((uint)puVar38 & 0xff);
          unaff_s7 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36);
          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36);
          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar36);
          pDVar4 = (DDSColors *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36);
          unaff_s8 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36);
          pcVar42 = (code *)0x1;
          pDVar19 = &DStack_19c;
          CalculateColors((ushort)uStack_1bc,(ushort)pDVar4,pDVar19,MagickTrue);
          iVar29 = (**(code **)(pcStack_1c8 + -0x7168))(puVar36);
          if (iVar29 != 0) goto LAB_002137bc;
          iVar29 = 0;
          uVar52 = puVar36[6];
          piVar35 = (int *)(uint)(piVar35 < piStack_1b8);
          uStack_1bc = uStack_1b0 & 0xff;
          piStack_1b8 = (int *)((uint)puVar38 & 0xff);
          uStack_1ac = 0xcccccccd;
          uStack_1b0 = 0x24924925;
          pDVar4 = pDVar22;
          do {
            iVar21 = 0;
            puVar38 = (uint *)&DAT_00000007;
            pDVar15 = pDVar33;
            do {
              if (((int)pDVar15 < (int)uVar52) && ((int)pDVar4 < (int)puVar36[7])) {
                uVar49 = puVar36[0xb4];
                uVar53 = (iVar29 + iVar21) * 3;
                uVar48 = unaff_s8 >> ((iVar29 + iVar21) * 2 & 0x1fU) & 3;
                uVar47 = ((int)unaff_s6 << 1) << (~uVar53 & 0x1f) | unaff_s7 >> (uVar53 & 0x1f);
                if ((uVar53 & 0x20) != 0) {
                  uVar47 = (uint)unaff_s6 >> (uVar53 & 0x1f);
                }
                iVar17 = *(int *)(uVar49 + 0x20);
                pDVar19 = (DDSColors *)(pMVar32 + *(int *)(uVar49 + 0x14));
                uVar47 = uVar47 & 7;
                pMVar32[*(int *)(uVar49 + 8)] =
                     (MagickBooleanType)(float)((double)DStack_19c.r[uVar48] * in_f22_23);
                pcVar42 = (code *)(uint)DStack_19c.g[uVar48];
                *(float *)pDVar19->r = (float)((double)(int)pcVar42 * in_f22_23);
                pMVar32[iVar17] =
                     (MagickBooleanType)(float)((double)DStack_19c.b[uVar48] * in_f22_23);
                if (uVar47 == 0) {
                  fVar46 = (float)((double)uStack_1bc * in_f22_23);
                }
                else if (uVar47 == 1) {
                  fVar46 = (float)((double)(int)piStack_1b8 * in_f22_23);
                }
                else if (piVar35 == (int *)0x0) {
                  fVar46 = 0.0;
                  if (uVar47 != 6) {
                    if (uVar47 != 7) {
                      uVar53 = (uint)((ulonglong)
                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)
                                      * 0xcccccccd >> 0x20);
                      goto LAB_00213750;
                    }
                    fVar46 = (float)in_f20_21;
                  }
                }
                else {
                  uVar53 = (uint)((ulonglong)
                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *
                                  0x124924925 >> 0x21);
LAB_00213750:
                  fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);
                }
                if (*(int *)(uVar49 + 0x34) != 0) {
                  pMVar32[*(int *)(uVar49 + 0x38)] = (MagickBooleanType)fVar46;
                }
                pMVar32 = pMVar32 + puVar36[0xb0];
              }
              iVar21 = iVar21 + 1;
              pDVar15 = (DDSColors *)(pDVar33->r + iVar21);
            } while (iVar21 != 4);
            iVar29 = iVar29 + 4;
            pDVar4 = (DDSColors *)(pDVar4->r + 1);
          } while (iVar29 != 0x10);
          pDVar4 = pDStack_1b4;
          iVar29 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar36);
          if (iVar29 == 0) goto LAB_002137bc;
          pcVar42 = (code *)puVar36[6];
          pDVar33 = (DDSColors *)pDVar33->g;
          pcVar44 = *(code **)(pcStack_1c8 + -0x7168);
          if ((int)pcVar42 <= (int)pDVar33) goto LAB_0021380c;
          uVar52 = puVar36[7];
        } while( true );
      }
      pcVar44 = *(code **)(pcStack_1c8 + -0x7168);
LAB_0021380c:
      iVar29 = (*pcVar44)(puVar36);
      if (iVar29 != 0) {
LAB_002137bc:
        MVar7 = MagickFalse;
        goto LAB_002137c0;
      }
      uVar52 = puVar36[7];
      pDStack_1a8 = (DDSColors *)pDStack_1a8->g;
      puVar37 = puVar36;
    } while ((int)pDStack_1a8 < (int)uVar52);
  }
  MVar7 = MagickTrue;
  puVar36 = puVar37;
LAB_002137c0:
  if (iStack_18c == *piStack_1a4) {
    return MVar7;
  }
  pcVar44 = *(code **)(pcStack_1c8 + -0x784c);
  pcVar43 = ReadDXT3Pixels;
  iVar29 = iStack_18c;
  (*pcVar44)();
  piVar8 = *(int **)(pcVar44 + 0x1959e4);
  iStack_21c = *piVar8;
  iVar21 = *(int *)(iVar29 + 0x1c);
  pDVar22 = pDVar19;
  pMStack_218 = pMVar32;
  pDStack_214 = pDVar39;
  pDStack_210 = pDVar33;
  piStack_20c = piVar35;
  puStack_208 = puVar36;
  puStack_204 = puVar38;
  puStack_200 = unaff_s6;
  MStack_1fc = unaff_s7;
  MStack_1f8 = unaff_s8;
  pcStack_1f4 = pcVar43;
  uStack_1f0 = in_f20_21;
  dStack_1e8 = in_f22_23;
  if (0 < iVar21) {
    pDVar33 = (DDSColors *)0x0;
    iVar17 = *(int *)(pcVar44 + 0x195378);
    dVar56 = *(double *)(*(int *)(pcVar44 + 0x19509c) + -0x5af0);
    dVar57 = dVar56;
    do {
      pcVar42 = *(code **)(iVar29 + 0x18);
      pDVar39 = (DDSColors *)0x0;
      if ((int)pcVar42 < 1) {
        pcVar43 = *(code **)(pcVar44 + 0x195efc);
      }
      else {
        while( true ) {
          uStack_248 = iVar21 - (int)pDVar33;
          pcVar42 = pcVar42 + -(int)pDVar39;
          if (4 < uStack_248) {
            uStack_248 = 4;
          }
          if (&DAT_00000004 < pcVar42) {
            pcVar42 = (code *)&DAT_00000004;
          }
          pDVar4 = pDVar39;
          pDVar22 = pDVar33;
          iVar21 = (**(code **)(pcVar44 + 0x1956d8))(iVar29);
          if (iVar21 == 0) goto LAB_00213b34;
          uVar52 = (**(code **)(pcVar44 + 0x195820))(iVar29);
          uVar53 = (**(code **)(pcVar44 + 0x195820))(iVar29);
          uVar24 = (**(code **)(pcVar44 + 0x195eb0))(iVar29);
          pDVar4 = (DDSColors *)(**(code **)(pcVar44 + 0x195eb0))(iVar29);
          uVar47 = (**(code **)(pcVar44 + 0x195820))(iVar29);
          pcVar42 = (code *)0x1;
          pDVar22 = &DStack_22c;
          (*(code *)(iVar17 + 0x2408))(uVar24);
          iVar9 = (**(code **)(pcVar44 + 0x195efc))(iVar29);
          if (iVar9 != 0) goto LAB_00213b34;
          pcVar42 = *(code **)(iVar29 + 0x18);
          iVar18 = 0;
          iVar9 = 0;
          pDVar22 = pDVar33;
          do {
            iVar10 = 0;
            pDVar4 = pDVar39;
            do {
              if (((int)pDVar4 < (int)pcVar42) &&
                 (iVar16 = iVar10 + iVar18 * 4, (int)pDVar22 < *(int *)(iVar29 + 0x1c))) {
                iVar28 = *(int *)(iVar29 + 0x2d0);
                iVar40 = *(int *)(iVar28 + 0x14);
                uVar48 = uVar47 >> (iVar16 * 2 & 0x1fU) & 3;
                iVar30 = *(int *)(iVar28 + 0x20);
                *(float *)(iVar21 + *(int *)(iVar28 + 8) * 4) =
                     (float)((double)DStack_22c.r[uVar48] * dVar57);
                *(float *)(iVar21 + iVar40 * 4) = (float)((double)DStack_22c.g[uVar48] * dVar57);
                *(float *)(iVar21 + iVar30 * 4) = (float)((double)DStack_22c.b[uVar48] * dVar57);
                if (iVar18 < 2) {
                  uVar48 = uVar52 >> (iVar16 * 4 & 0x1fU);
                }
                else {
                  uVar48 = uVar53 >> ((iVar9 + iVar10) * 4 & 0x1fU);
                }
                if (*(int *)(iVar28 + 0x34) != 0) {
                  *(float *)(iVar21 + *(int *)(iVar28 + 0x38) * 4) =
                       (float)((double)((uVar48 & 0xf) * 0x11 & 0xff) * dVar56);
                }
                iVar21 = iVar21 + *(int *)(iVar29 + 0x2c0) * 4;
              }
              iVar10 = iVar10 + 1;
              pDVar4 = (DDSColors *)(pDVar39->r + iVar10);
            } while (iVar10 != 4);
            iVar18 = iVar18 + 1;
            pDVar22 = (DDSColors *)(pDVar22->r + 1);
            iVar9 = iVar9 + 4;
          } while (iVar18 != 4);
          pDVar4 = pDVar19;
          iVar21 = (**(code **)(pcVar44 + 0x195998))(iVar29);
          if (iVar21 == 0) goto LAB_00213b34;
          pcVar42 = *(code **)(iVar29 + 0x18);
          pDVar39 = (DDSColors *)pDVar39->g;
          pcVar43 = *(code **)(pcVar44 + 0x195efc);
          if ((int)pcVar42 <= (int)pDVar39) break;
          iVar21 = *(int *)(iVar29 + 0x1c);
        }
      }
      iVar21 = (*pcVar43)(iVar29);
      if (iVar21 != 0) {
LAB_00213b34:
        MVar7 = MagickFalse;
        goto LAB_00213b38;
      }
      iVar21 = *(int *)(iVar29 + 0x1c);
      pDVar33 = (DDSColors *)pDVar33->g;
    } while ((int)pDVar33 < iVar21);
  }
  MVar7 = MagickTrue;
LAB_00213b38:
  if (iStack_21c == *piVar8) {
    return MVar7;
  }
  pcVar44 = *(code **)(pcVar44 + 0x195818);
  iVar29 = iStack_21c;
  (*pcVar44)();
  iVar21 = (**(code **)(pcVar44 + 0x195b8c))(pDVar4);
  if (iVar21 != 0) {
    puVar11 = (undefined4 *)(**(code **)(pcVar44 + 0x195df4))();
    uVar24 = (**(code **)(pcVar44 + 0x195830))(*puVar11);
    (**(code **)(pcVar44 + 0x195364))
              (uStack_248,*(int *)(pcVar44 + 0x194d94) + -0x2c20,
               *(int *)(pcVar44 + 0x194d94) + -0x2ad0,0x41e,0x145,
               *(int *)(pcVar44 + 0x194d30) + -0x17c,*(int *)(pcVar44 + 0x194d24) + 0xe78,
               pDVar4 + 0x34,uVar24);
    (**(code **)(pcVar44 + 0x1954b8))(uVar24);
    return MagickFalse;
  }
  if (-1 < (int)(*(uint *)pDVar22[1].b << 9)) {
    return MagickTrue;
  }
  if (((*(uint *)pDVar22[1].b & 0x1000) == 0) && ((*(uint *)pDVar22[1].a & 0x200) == 0)) {
    return MagickTrue;
  }
  if (*(uint *)pDVar22->b < 2) {
    uVar52 = *(uint *)pDVar22->g;
    uVar53 = 1;
  }
  else {
    uVar52 = *(uint *)pDVar22->g;
    uVar53 = *(uint *)pDVar22->b >> 1;
  }
  if (uVar52 < 2) {
    uVar52 = 1;
  }
  else {
    uVar52 = uVar52 >> 1;
  }
  iVar21 = 1;
  if (*(int *)pDVar22[1].g < 2) {
    return MagickTrue;
  }
  do {
    (**(code **)(pcVar44 + 0x1953d4))(iVar29,pDVar4,uStack_248);
    iVar21 = iVar21 + 1;
    pcVar43 = *(code **)(pcVar44 + 0x19584c);
    if (*(int *)pDVar4[0x336].b == 0) {
      return MagickFalse;
    }
    *(undefined4 *)(*(int *)pDVar4[0x336].b + 700) = *(undefined4 *)pDVar4[0x2b].a;
    pDVar4 = (DDSColors *)(*pcVar43)(pDVar4);
    iVar17 = (**(code **)(pcVar44 + 0x1958f0))(pDVar4,uVar53,uVar52,uStack_248);
    if (iVar17 == 0) {
      return MagickFalse;
    }
    MVar7 = (*pcVar42)(pDVar4,pDVar22,uStack_248);
    if (MVar7 == MagickFalse) {
      return MagickFalse;
    }
    if (uVar53 == 1) {
      if (uVar52 == 1) {
        return MVar7;
      }
LAB_00213d14:
      uVar52 = uVar52 >> 1;
    }
    else {
      uVar53 = uVar53 >> 1;
      if (uVar52 != 1) goto LAB_00213d14;
    }
    if (*(int *)pDVar22[1].g <= iVar21) {
      return MVar7;
    }
  } while( true );
}



/* WARNING: Type propagation algorithm not settling */

float FUN_00212674(int param_1,float *param_2,float *param_3,float *param_4,float param_5,
                  float *param_6,float *param_7,int param_8,int param_9)

{
  byte bVar1;
  byte bVar2;
  float *pfVar3;
  int *piVar4;
  int iVar5;
  int iVar6;
  undefined4 *puVar7;
  int iVar8;
  float *pfVar9;
  byte *pbVar10;
  float *pfVar11;
  int iVar12;
  int iVar13;
  int iVar14;
  int iVar15;
  float *pfVar16;
  undefined4 uVar17;
  float *pfVar18;
  float *pfVar19;
  byte *pbVar20;
  int iVar21;
  int iVar22;
  float *pfVar23;
  int *piVar24;
  uint *puVar25;
  uint *puVar26;
  uint *puVar27;
  uint *unaff_s6;
  float unaff_s7;
  int iVar28;
  undefined *puVar29;
  code *pcVar30;
  code *pcVar31;
  code *pcVar32;
  float unaff_s8;
  code *pcVar33;
  float fVar34;
  uint uVar35;
  uint uVar36;
  uint uVar37;
  uint uVar38;
  float fVar39;
  uint uVar40;
  uint uVar41;
  float fVar42;
  float fVar43;
  undefined8 in_f20_21;
  double in_f22_23;
  double dVar44;
  double dVar45;
  undefined8 uVar46;
  uint uStack_248;
  float fStack_22c;
  byte abStack_228 [4];
  byte abStack_224 [8];
  int iStack_21c;
  float *pfStack_218;
  float *pfStack_214;
  float *pfStack_210;
  int *piStack_20c;
  uint *puStack_208;
  uint *puStack_204;
  uint *puStack_200;
  float fStack_1fc;
  float fStack_1f8;
  code *pcStack_1f4;
  undefined8 uStack_1f0;
  double dStack_1e8;
  uint uStack_1d0;
  float *pfStack_1cc;
  code *pcStack_1c8;
  uint uStack_1bc;
  int *piStack_1b8;
  float *pfStack_1b4;
  uint uStack_1b0;
  undefined4 uStack_1ac;
  float *pfStack_1a8;
  int *piStack_1a4;
  float fStack_19c;
  byte abStack_198 [4];
  byte abStack_194 [8];
  int iStack_18c;
  float *pfStack_188;
  float *pfStack_184;
  float *pfStack_180;
  int *piStack_17c;
  uint *puStack_178;
  uint *puStack_174;
  uint *puStack_170;
  float fStack_16c;
  float fStack_168;
  code *pcStack_164;
  float *pfStack_140;
  float *pfStack_13c;
  int iStack_138;
  float *pfStack_134;
  code *pcStack_130;
  code *pcStack_128;
  uint uStack_124;
  uint uStack_120;
  float fStack_11c;
  float fStack_118;
  undefined4 uStack_114;
  uint *puStack_110;
  undefined4 uStack_10c;
  undefined4 uStack_108;
  uint uStack_104;
  uint uStack_100;
  int iStack_fc;
  undefined4 uStack_f8;
  undefined4 uStack_f4;
  undefined4 uStack_f0;
  undefined4 uStack_ec;
  undefined4 uStack_e8;
  int iStack_e4;
  float *pfStack_e0;
  float *pfStack_dc;
  float *pfStack_d8;
  float *pfStack_d4;
  uint *puStack_d0;
  uint *puStack_cc;
  undefined4 uStack_9c;
  float afStack_8c [2];
  float local_54;
  float local_50;
  byte *local_4c [16];
  float *local_c;
  
  puVar29 = PTR___stack_chk_guard_003a9230;
  pfVar18 = (float *)(param_8 + param_9 * 0x10);
  local_c = *(float **)PTR___stack_chk_guard_003a9230;
  if (param_1 < 1) {
    fVar34 = 1.4013e-45;
    if (0 < param_9) goto LAB_00212794;
    *param_7 = 0.0;
    param_7[1] = 0.0;
    param_7[2] = 0.0;
    param_7[3] = 0.0;
  }
  else {
    pfVar3 = (float *)local_4c;
    iVar8 = 0;
    pfVar19 = param_2;
    pfVar23 = pfVar3;
    pfVar9 = pfVar18;
    do {
      fVar42 = pfVar19[1];
      pfVar16 = (float *)((int)pfVar9 + 1);
      pfVar11 = pfVar23 + 1;
      fVar39 = *pfVar19;
      fVar34 = pfVar19[2];
      *(byte *)pfVar9 = (byte)iVar8;
      iVar8 = iVar8 + 1;
      *pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;
      pfVar19 = pfVar19 + 4;
      pfVar23 = pfVar11;
      pfVar9 = pfVar16;
    } while (iVar8 != param_1);
    pfVar19 = (float *)((int)pfVar18 + -1);
    do {
      if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {
        fVar39 = *pfVar3;
        fVar34 = pfVar3[-1];
        if (fVar39 < fVar34) {
          bVar2 = *(byte *)((int)pfVar19 + 1);
          pfVar16 = (float *)(uint)bVar2;
          pfVar23 = pfVar19;
          pfVar9 = pfVar3;
          do {
            bVar1 = *(byte *)pfVar23;
            pfVar11 = (float *)(uint)bVar1;
            *pfVar9 = fVar34;
            *(byte *)pfVar23 = bVar2;
            pfVar9[-1] = fVar39;
            *(byte *)((int)pfVar23 + 1) = bVar1;
            if (pfVar18 == pfVar23) break;
            fVar34 = pfVar9[-2];
            pfVar23 = (float *)((int)pfVar23 + -1);
            pfVar9 = pfVar9 + -1;
          } while (fVar39 < fVar34);
        }
      }
      pfVar19 = (float *)((int)pfVar19 + 1);
      pfVar3 = pfVar3 + 1;
    } while ((float *)((int)pfVar18 + param_1 + -1) != pfVar19);
    param_3 = pfVar11;
    param_4 = pfVar16;
    if (param_9 < 1) {
      *param_7 = 0.0;
      param_7[1] = 0.0;
      param_7[2] = 0.0;
      param_7[3] = 0.0;
LAB_00212818:
      iVar8 = 0;
      do {
        bVar2 = *(byte *)pfVar18;
        iVar8 = iVar8 + 1;
        pfVar18 = (float *)((int)pfVar18 + 1);
        param_3 = (float *)(uint)(iVar8 < param_1);
        pfVar3 = param_2 + (uint)bVar2 * 4;
        fVar34 = pfVar3[3];
        fVar43 = *pfVar3;
        fVar42 = pfVar3[1];
        fVar39 = pfVar3[2];
        param_6[3] = fVar34;
        *param_6 = fVar34 * fVar43;
        param_6[1] = fVar34 * fVar42;
        param_6[2] = fVar34 * fVar39;
        param_7[1] = fVar34 * fVar42 + param_7[1];
        param_7[2] = fVar34 * fVar39 + param_7[2];
        param_7[3] = fVar34 + param_7[3];
        *param_7 = *param_7 + fVar34 * fVar43;
        param_4 = pfVar16;
        param_6 = param_6 + 4;
      } while (param_3 != (float *)0x0);
    }
    else {
LAB_00212794:
      pbVar20 = (byte *)(param_8 + 1);
      iVar8 = 0;
      pfVar16 = param_4;
      do {
        fVar34 = 0.0;
        param_4 = pfVar16;
        if (param_1 == 0) goto LAB_002127dc;
        pbVar10 = pbVar20;
        pfVar3 = pfVar18;
        if (pbVar20[-1] == *(byte *)pfVar18) {
          do {
            pfVar3 = (float *)((int)pfVar3 + 1);
            if ((float *)((int)pfVar18 + param_1) == pfVar3) {
              fVar34 = 0.0;
              param_4 = pfVar16;
              goto LAB_002127dc;
            }
            pfVar16 = (float *)(uint)*(byte *)pfVar3;
            param_3 = (float *)(uint)*pbVar10;
            pbVar10 = pbVar10 + 1;
          } while (pfVar16 == param_3);
        }
        iVar8 = iVar8 + 1;
        pbVar20 = pbVar20 + 0x10;
      } while (iVar8 < param_9);
      *param_7 = 0.0;
      param_7[1] = 0.0;
      param_7[2] = 0.0;
      param_7[3] = 0.0;
      param_4 = pfVar16;
      if (0 < param_1) goto LAB_00212818;
    }
    fVar34 = 1.4013e-45;
  }
LAB_002127dc:
  if (local_c == *(float **)puVar29) {
    return fVar34;
  }
  pfVar18 = local_c;
  puVar29 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  fVar34 = *(float *)(*(int *)(puVar29 + 0x196010) + -0xe34);
  fVar39 = *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e70);
  pfVar3 = *(float **)(puVar29 + 0x196954);
  afStack_8c[0] = *pfVar3;
  uVar40 = (uint)((float)param_2 * fVar39 + fVar34);
  uVar41 = (uint)((float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34);
  if (0x1f < uVar40) {
    uVar40 = 0x1f;
  }
  uVar35 = (uint)(fVar39 * 5.421411e-39 + fVar34);
  if (0x3f < uVar41) {
    uVar41 = 0x3f;
  }
  uVar36 = (uint)(local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34);
  if (0x1f < uVar35) {
    uVar35 = 0x1f;
  }
  uVar37 = (uint)((float)param_4 * fVar39 + fVar34);
  if (0x3f < uVar36) {
    uVar36 = 0x3f;
  }
  uVar38 = (uint)(local_50 * fVar39 + fVar34);
  if (0x1f < uVar37) {
    uVar37 = 0x1f;
  }
  puVar27 = (uint *)(uVar40 << 0xb | uVar41 << 5 | uVar37);
  if (0x1f < uVar38) {
    uVar38 = 0x1f;
  }
  puVar25 = (uint *)(uVar35 << 0xb | uVar36 << 5 | uVar38);
  pfVar19 = (float *)&uStack_9c;
  do {
    if (puVar27 < puVar25) {
      *(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3;
    }
    else {
      while (puVar25 != puVar27) {
        bVar2 = *local_4c[0];
        pfVar23 = (float *)((int)pfVar19 + 1);
        local_4c[0] = local_4c[0] + 1;
        *(byte *)pfVar19 = bVar2;
        pfVar19 = pfVar23;
        if (afStack_8c == pfVar23) goto LAB_00212a50;
      }
      *(byte *)pfVar19 = 0;
    }
    pfVar23 = (float *)((int)pfVar19 + 1);
    local_4c[0] = local_4c[0] + 1;
    pfVar19 = pfVar23;
  } while (afStack_8c != pfVar23);
LAB_00212a50:
  puVar26 = puVar25;
  if (puVar27 < puVar25) {
    puVar26 = puVar27;
    puVar27 = puVar25;
  }
  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar27 & 0xff);
  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar27 << 0x10) >> 0x18);
  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar26 & 0xff);
  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar26 << 0x10) >> 0x18);
  pfVar19 = (float *)&uStack_9c;
  do {
    pfVar11 = pfVar19 + 1;
    pfVar16 = (float *)(((uint)*(byte *)((int)pfVar19 + 1) << 2 |
                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |
                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff);
    pfVar9 = pfVar18;
    (**(code **)(puVar29 + 0x196700))();
    pfVar19 = pfVar11;
  } while (pfVar23 != pfVar11);
  if (afStack_8c[0] == *pfVar3) {
    return *pfVar3;
  }
  pcVar30 = *(code **)(puVar29 + 0x196788);
  (*pcVar30)();
  pcVar32 = pcVar30 + 0x19dd78;
  piVar24 = *(int **)(pcVar30 + 0x1966f8);
  iStack_e4 = *piVar24;
  pcStack_130 = pcVar32;
  pfStack_e0 = pfVar23;
  pfStack_dc = pfVar18;
  pfStack_d8 = pfVar3;
  pfStack_d4 = pfVar11;
  puStack_d0 = puVar26;
  puStack_cc = puVar27;
  if (pfVar9 == (float *)0x0) {
LAB_00213360:
    pfVar9 = pfVar18;
    (**(code **)(pcVar32 + -0x72a8))
              (*(int *)(pcVar32 + -0x7fd0) + 0xd78,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6c7,
               *(int *)(pcVar32 + -0x7f60) + -0x2ab4);
  }
  else {
    if (pfVar9[0xc85] != -1.2269538e-12) goto LAB_00213390;
    if (pfVar9[0xc84] != 0.0) {
      pfStack_13c = pfVar9 + 0x884;
      pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);
      (**(code **)(pcVar30 + 0x1966a8))
                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,
                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);
    }
    pcVar32 = pcStack_130;
    pfVar3 = pfVar16;
    if (pfVar16 == (float *)0x0) {
LAB_0021333c:
      (**(code **)(pcVar32 + -0x72a8))
                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,
                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);
      pfVar18 = pfVar9;
      goto LAB_00213360;
    }
    if (pfVar16[7] != -1.2269538e-12) {
      (**(code **)(pcStack_130 + -0x72a8))
                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,
                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);
      goto LAB_0021333c;
    }
    pfVar23 = (float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16);
    iVar8 = (**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16);
    if (iVar8 == 0) {
      (**(code **)(pcStack_130 + -0x73a0))(pfVar23);
      fVar34 = 0.0;
      goto LAB_00212c9c;
    }
    pfStack_140 = (float *)0x0;
    (**(code **)(pcStack_130 + -0x7588))(pfVar23);
    iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);
    if ((iVar8 == 0x7c) &&
       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)
       ) {
      puVar26 = (uint *)0x1;
      fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);
      fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);
      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);
      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);
      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);
      pfStack_140 = (float *)0x1;
      (**(code **)(pcStack_130 + -0x7588))(pfVar23);
      iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);
      if (iVar8 != 0x20) goto LAB_00212c24;
      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);
      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);
      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);
      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);
      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);
      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);
      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);
      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);
      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);
      pfStack_140 = (float *)0x1;
      (**(code **)(pcStack_130 + -0x7588))(pfVar23);
      puVar26 = (uint *)(uStack_104 & 0x200);
      if ((int)(uStack_104 << 10) < 0) {
        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);
      }
      else {
        unaff_s6 = (uint *)0x0;
      }
      pfStack_140 = (float *)0x0;
      (**(code **)(pcStack_130 + -0x7588))(pfVar23);
      if ((uStack_100 & 0x40) == 0) {
        if (-1 < (int)(uStack_100 << 0xe)) {
          if ((uStack_100 & 4) == 0) {
            uVar17 = 0x729;
            goto LAB_002130b8;
          }
          if (iStack_fc == 0x33545844) {
            puVar27 = *(uint **)(pcStack_130 + -0x7cec);
            unaff_s8 = 5.60519e-45;
            unaff_s7 = 7.00649e-45;
            pcStack_128 = (code *)(puVar27 + 0x1678);
          }
          else if (iStack_fc == 0x35545844) {
            puVar27 = *(uint **)(pcStack_130 + -0x7cec);
            unaff_s8 = 5.60519e-45;
            unaff_s7 = 8.40779e-45;
            pcStack_128 = (code *)(puVar27 + 0x1635);
          }
          else {
            uVar17 = 0x722;
            if (iStack_fc != 0x31545844) goto LAB_002130b8;
            puVar27 = *(uint **)(pcStack_130 + -0x7cec);
            unaff_s8 = 0.0;
            unaff_s7 = 5.60519e-45;
            pcStack_128 = (code *)(puVar27 + 0x16bb);
          }
          goto joined_r0x00212ec0;
        }
        puVar27 = *(uint **)(pcStack_130 + -0x7cec);
        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;
        uVar17 = 0x6fe;
LAB_002130b8:
        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);
        iVar15 = *(int *)(pcStack_130 + -0x7f60);
        iVar8 = *(int *)(pcStack_130 + -0x7f60);
        pcVar32 = *(code **)(pcStack_130 + -0x7990);
        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);
        goto LAB_00212c58;
      }
      puVar27 = *(uint **)(pcStack_130 + -0x7cec);
      if ((uStack_100 & 1) != 0) {
        puVar27 = *(uint **)(pcStack_130 + -0x7cec);
        unaff_s8 = 5.60519e-45;
        unaff_s7 = 2.24208e-44;
        pcStack_128 = (code *)(puVar27 + 0x16fe);
        goto joined_r0x00212ec0;
      }
LAB_00212fe4:
      unaff_s8 = 0.0;
      unaff_s7 = 2.24208e-44;
      pcStack_128 = (code *)(puVar27 + 0x1285);
joined_r0x00212ec0:
      if (puVar26 != (uint *)0x0) {
        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);
        if ((uStack_104 & 0x800) != 0) {
          puVar26 = (uint *)((int)puVar26 + 1);
        }
        if ((uStack_104 & 0x1000) != 0) {
          puVar26 = (uint *)((int)puVar26 + 1);
        }
        if ((uStack_104 & 0x2000) != 0) {
          puVar26 = (uint *)((int)puVar26 + 1);
        }
        if ((uStack_104 & 0x4000) != 0) {
          puVar26 = (uint *)((int)puVar26 + 1);
        }
        if ((uStack_104 & 0x8000) == 0) {
          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;
        }
        else {
          puVar26 = (uint *)((int)puVar26 + 1);
          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;
        }
        puVar26 = puStack_110;
LAB_00213068:
        if (puVar26 != (uint *)0x0) {
          unaff_s6 = (uint *)0x0;
          goto LAB_00212ed8;
        }
LAB_00212efc:
        uVar17 = 0x73f;
        goto LAB_00212c2c;
      }
      puVar26 = puStack_110;
      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;
      puVar26 = (uint *)0x1;
LAB_00212ed8:
      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);
      puVar27 = puVar26;
      if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {
        pcVar32 = *(code **)(pcStack_130 + -0x7094);
        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;
      }
      else {
        pcVar32 = *(code **)(pcStack_130 + -0x7094);
      }
      iVar8 = (*pcVar32)(0xb);
      if (iVar8 == 0) {
        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;
        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);
        pfStack_140 = (float *)0x190;
        pfStack_134 = pfVar9 + 0x884;
        (**(code **)(pcStack_130 + -0x7990))
                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,
                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);
        if (pfVar23 == (float *)0x0) {
          fVar34 = 0.0;
          pfVar9 = pfVar9 + 0x884;
          goto LAB_00212c9c;
        }
        goto LAB_00212c74;
      }
      puVar27 = &uStack_120;
      unaff_s6 = (uint *)0x0;
      uVar17 = (**(code **)(pcStack_130 + -0x7748))
                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);
      iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);
      uStack_124 = (uint)(iVar8 != 0);
      while( true ) {
        fVar34 = pfVar9[0x77];
        pfVar23[0x97] = 1.4013e-45;
        *pfVar23 = 1.4013e-45;
        pfVar23[0xaf] = unaff_s8;
        pfVar23[2] = unaff_s7;
        pfVar23[6] = fStack_118;
        pfVar23[7] = fStack_11c;
        pfVar23[8] = 1.12104e-44;
        if (fVar34 != 0.0) break;
        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);
        if (iVar8 == 0) {
LAB_00213284:
          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);
          goto LAB_00212c9c;
        }
        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);
        pfStack_140 = pfVar16;
        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);
        if (iVar8 == 0) {
          (**(code **)(pcStack_130 + -0x7228))(pfVar23);
          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;
          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);
          goto LAB_00212c9c;
        }
        unaff_s6 = (uint *)((int)unaff_s6 + 1);
        if (unaff_s6 == puVar26) break;
        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);
        if (iVar8 != 0) {
          pfStack_134 = pfVar9 + 0x884;
          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;
          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);
          pfStack_140 = (float *)&DAT_000001a9;
          (**(code **)(pcStack_130 + -0x7990))
                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,
                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);
          pcVar32 = *(code **)(pcStack_130 + -0x7228);
          goto LAB_00212c7c;
        }
        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);
        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);
        if (iVar8 == 0) goto LAB_00213284;
        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);
      }
      (**(code **)(pcStack_130 + -0x7228))(pfVar23);
      fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);
    }
    else {
LAB_00212c24:
      uVar17 = 0x6dd;
LAB_00212c2c:
      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);
      iVar15 = *(int *)(pcStack_130 + -0x7f60);
      iVar8 = *(int *)(pcStack_130 + -0x7f60);
      pcVar32 = *(code **)(pcStack_130 + -0x7990);
      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);
LAB_00212c58:
      pfStack_134 = pfVar9 + 0x884;
      iStack_138 = iStack_138 + 0x3e28;
      pfStack_140 = (float *)&DAT_000001a9;
      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);
      if (pfVar23 != (float *)0x0) {
LAB_00212c74:
        pcVar32 = *(code **)(pcStack_130 + -0x7228);
LAB_00212c7c:
        (*pcVar32)(pfVar23);
        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);
      }
      fVar34 = 0.0;
      pfVar9 = pfVar9 + 0x884;
    }
LAB_00212c9c:
    pcVar32 = pcStack_130;
    if (iStack_e4 == *piVar24) {
      return fVar34;
    }
  }
  (**(code **)(pcVar32 + -0x784c))();
LAB_00213390:
  pfVar19 = (float *)0x6c8;
  pcVar31 = *(code **)(pcVar32 + -0x72a8);
  pcVar30 = (code *)(*(int *)(pcVar32 + -0x7f60) + -0x2ab4);
  pfVar18 = (float *)(*(int *)(pcVar32 + -0x7f60) + -0x2c20);
  pcVar33 = FUN_002133b4;
  puVar25 = (uint *)(*(int *)(pcVar32 + -0x7fd0) + 0xda0);
  (*pcVar31)();
  pcStack_1c8 = pcVar31 + 0x19d4fc;
  piStack_1a4 = *(int **)(pcVar31 + 0x195e7c);
  pfStack_1a8 = (float *)0x0;
  iStack_18c = *piStack_1a4;
  uVar40 = puVar25[7];
  pfStack_1b4 = pfVar19;
  pfStack_188 = pfVar23;
  pfStack_184 = pfVar9;
  pfStack_180 = pfVar3;
  piStack_17c = piVar24;
  puStack_178 = puVar26;
  puStack_174 = puVar27;
  puStack_170 = unaff_s6;
  fStack_16c = unaff_s7;
  fStack_168 = unaff_s8;
  pcStack_164 = pcVar33;
  if (0 < (int)uVar40) {
    in_f22_23 = *(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0);
    in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),
                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50));
    do {
      pfVar16 = pfStack_1a8;
      pcVar30 = (code *)puVar25[6];
      pfVar3 = (float *)0x0;
      if (0 < (int)pcVar30) {
        do {
          pcVar32 = pcVar30 + -(int)pfVar3;
          uStack_1d0 = uVar40 - (int)pfVar16;
          pfStack_1cc = pfStack_1b4;
          if (4 < uStack_1d0) {
            uStack_1d0 = 4;
          }
          pcVar30 = (code *)&DAT_00000004;
          if (pcVar32 < &DAT_00000005) {
            pcVar30 = pcVar32;
          }
          pfVar18 = pfVar3;
          pfVar19 = pfVar16;
          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);
          pfVar9 = pfVar16;
          if (pfVar23 == (float *)0x0) goto LAB_002137bc;
          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);
          piStack_1b8 = (int *)(uStack_1b0 & 0xff);
          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);
          piVar24 = (int *)((uint)puVar27 & 0xff);
          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);
          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);
          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);
          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);
          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);
          pcVar30 = (code *)0x1;
          pfVar19 = &fStack_19c;
          FUN_00212408(uStack_1bc);
          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);
          if (iVar8 != 0) goto LAB_002137bc;
          iVar8 = 0;
          uVar40 = puVar25[6];
          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);
          uStack_1bc = uStack_1b0 & 0xff;
          piStack_1b8 = (int *)((uint)puVar27 & 0xff);
          uStack_1ac = 0xcccccccd;
          uStack_1b0 = 0x24924925;
          pfVar18 = pfVar16;
          do {
            iVar15 = 0;
            puVar27 = (uint *)&DAT_00000007;
            pfVar11 = pfVar3;
            do {
              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {
                uVar37 = puVar25[0xb4];
                uVar41 = (iVar8 + iVar15) * 3;
                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;
                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |
                         (uint)unaff_s7 >> (uVar41 & 0x1f);
                if ((uVar41 & 0x20) != 0) {
                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);
                }
                iVar13 = *(int *)(uVar37 + 0x20);
                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);
                uVar35 = uVar35 & 7;
                pfVar23[*(int *)(uVar37 + 8)] =
                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);
                pcVar30 = (code *)(uint)abStack_198[uVar36];
                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);
                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);
                if (uVar35 == 0) {
                  fVar34 = (float)((double)uStack_1bc * in_f22_23);
                }
                else if (uVar35 == 1) {
                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);
                }
                else if (piVar24 == (int *)0x0) {
                  fVar34 = 0.0;
                  if (uVar35 != 6) {
                    if (uVar35 != 7) {
                      uVar41 = (uint)((ulonglong)
                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)
                                      * 0xcccccccd >> 0x20);
                      goto LAB_00213750;
                    }
                    fVar34 = (float)in_f20_21;
                  }
                }
                else {
                  uVar41 = (uint)((ulonglong)
                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *
                                  0x124924925 >> 0x21);
LAB_00213750:
                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);
                }
                if (*(int *)(uVar37 + 0x34) != 0) {
                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;
                }
                pfVar23 = pfVar23 + puVar25[0xb0];
              }
              iVar15 = iVar15 + 1;
              pfVar11 = (float *)((int)pfVar3 + iVar15);
            } while (iVar15 != 4);
            iVar8 = iVar8 + 4;
            pfVar18 = (float *)((int)pfVar18 + 1);
          } while (iVar8 != 0x10);
          pfVar18 = pfStack_1b4;
          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);
          if (iVar8 == 0) goto LAB_002137bc;
          pcVar30 = (code *)puVar25[6];
          pfVar3 = pfVar3 + 1;
          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);
          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;
          uVar40 = puVar25[7];
        } while( true );
      }
      pcVar32 = *(code **)(pcStack_1c8 + -0x7168);
LAB_0021380c:
      iVar8 = (*pcVar32)(puVar25);
      if (iVar8 != 0) {
LAB_002137bc:
        fVar34 = 0.0;
        goto LAB_002137c0;
      }
      uVar40 = puVar25[7];
      pfStack_1a8 = pfStack_1a8 + 1;
      puVar26 = puVar25;
    } while ((int)pfStack_1a8 < (int)uVar40);
  }
  fVar34 = 1.4013e-45;
  puVar25 = puVar26;
LAB_002137c0:
  if (iStack_18c == *piStack_1a4) {
    return fVar34;
  }
  pcVar32 = *(code **)(pcStack_1c8 + -0x784c);
  pcVar31 = FUN_0021384c;
  iVar8 = iStack_18c;
  (*pcVar32)();
  piVar4 = *(int **)(pcVar32 + 0x1959e4);
  iStack_21c = *piVar4;
  iVar15 = *(int *)(iVar8 + 0x1c);
  pfVar16 = pfVar19;
  pfStack_218 = pfVar23;
  pfStack_214 = pfVar9;
  pfStack_210 = pfVar3;
  piStack_20c = piVar24;
  puStack_208 = puVar25;
  puStack_204 = puVar27;
  puStack_200 = unaff_s6;
  fStack_1fc = unaff_s7;
  fStack_1f8 = unaff_s8;
  pcStack_1f4 = pcVar31;
  uStack_1f0 = in_f20_21;
  dStack_1e8 = in_f22_23;
  if (0 < iVar15) {
    pfVar3 = (float *)0x0;
    iVar13 = *(int *)(pcVar32 + 0x195378);
    dVar44 = *(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0);
    dVar45 = dVar44;
    do {
      pcVar30 = *(code **)(iVar8 + 0x18);
      pfVar23 = (float *)0x0;
      if ((int)pcVar30 < 1) {
        pcVar31 = *(code **)(pcVar32 + 0x195efc);
      }
      else {
        while( true ) {
          uStack_248 = iVar15 - (int)pfVar3;
          pcVar30 = pcVar30 + -(int)pfVar23;
          if (4 < uStack_248) {
            uStack_248 = 4;
          }
          if (&DAT_00000004 < pcVar30) {
            pcVar30 = (code *)&DAT_00000004;
          }
          pfVar18 = pfVar23;
          pfVar16 = pfVar3;
          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);
          if (iVar15 == 0) goto LAB_00213b34;
          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);
          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);
          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);
          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);
          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);
          pcVar30 = (code *)0x1;
          pfVar16 = &fStack_22c;
          (*(code *)(iVar13 + 0x2408))(uVar17);
          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);
          if (iVar5 != 0) goto LAB_00213b34;
          pcVar30 = *(code **)(iVar8 + 0x18);
          iVar14 = 0;
          iVar5 = 0;
          pfVar16 = pfVar3;
          do {
            iVar6 = 0;
            pfVar18 = pfVar23;
            do {
              if (((int)pfVar18 < (int)pcVar30) &&
                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {
                iVar21 = *(int *)(iVar8 + 0x2d0);
                iVar28 = *(int *)(iVar21 + 0x14);
                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;
                iVar22 = *(int *)(iVar21 + 0x20);
                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =
                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);
                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);
                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);
                if (iVar14 < 2) {
                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);
                }
                else {
                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);
                }
                if (*(int *)(iVar21 + 0x34) != 0) {
                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =
                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);
                }
                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;
              }
              iVar6 = iVar6 + 1;
              pfVar18 = (float *)((int)pfVar23 + iVar6);
            } while (iVar6 != 4);
            iVar14 = iVar14 + 1;
            pfVar16 = (float *)((int)pfVar16 + 1);
            iVar5 = iVar5 + 4;
          } while (iVar14 != 4);
          pfVar18 = pfVar19;
          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);
          if (iVar15 == 0) goto LAB_00213b34;
          pcVar30 = *(code **)(iVar8 + 0x18);
          pfVar23 = pfVar23 + 1;
          pcVar31 = *(code **)(pcVar32 + 0x195efc);
          if ((int)pcVar30 <= (int)pfVar23) break;
          iVar15 = *(int *)(iVar8 + 0x1c);
        }
      }
      iVar15 = (*pcVar31)(iVar8);
      if (iVar15 != 0) {
LAB_00213b34:
        fVar34 = 0.0;
        goto LAB_00213b38;
      }
      iVar15 = *(int *)(iVar8 + 0x1c);
      pfVar3 = pfVar3 + 1;
    } while ((int)pfVar3 < iVar15);
  }
  fVar34 = 1.4013e-45;
LAB_00213b38:
  if (iStack_21c == *piVar4) {
    return fVar34;
  }
  pcVar32 = *(code **)(pcVar32 + 0x195818);
  iVar8 = iStack_21c;
  (*pcVar32)();
  iVar15 = (**(code **)(pcVar32 + 0x195b8c))(pfVar18);
  if (iVar15 != 0) {
    puVar7 = (undefined4 *)(**(code **)(pcVar32 + 0x195df4))();
    uVar17 = (**(code **)(pcVar32 + 0x195830))(*puVar7);
    (**(code **)(pcVar32 + 0x195364))
              (uStack_248,*(int *)(pcVar32 + 0x194d94) + -0x2c20,
               *(int *)(pcVar32 + 0x194d94) + -0x2ad0,0x41e,0x145,
               *(int *)(pcVar32 + 0x194d30) + -0x17c,*(int *)(pcVar32 + 0x194d24) + 0xe78,
               pfVar18 + 0xd0,uVar17);
    (**(code **)(pcVar32 + 0x1954b8))(uVar17);
    return 0.0;
  }
  if (-1 < (int)pfVar16[6] << 9) {
    return 1.4013e-45;
  }
  if ((((uint)pfVar16[6] & 0x1000) == 0) && (((uint)pfVar16[7] & 0x200) == 0)) {
    return 1.4013e-45;
  }
  if ((uint)pfVar16[2] < 2) {
    fVar34 = pfVar16[1];
    uVar40 = 1;
  }
  else {
    fVar34 = pfVar16[1];
    uVar40 = (uint)pfVar16[2] >> 1;
  }
  if ((uint)fVar34 < 2) {
    uVar41 = 1;
  }
  else {
    uVar41 = (uint)fVar34 >> 1;
  }
  iVar15 = 1;
  if ((int)pfVar16[5] < 2) {
    return 1.4013e-45;
  }
  do {
    (**(code **)(pcVar32 + 0x1953d4))(iVar8,pfVar18,uStack_248);
    iVar15 = iVar15 + 1;
    pcVar31 = *(code **)(pcVar32 + 0x19584c);
    if (pfVar18[0xcda] == 0.0) {
      return 0.0;
    }
    *(float *)((int)pfVar18[0xcda] + 700) = pfVar18[0xaf];
    pfVar18 = (float *)(*pcVar31)(pfVar18);
    iVar13 = (**(code **)(pcVar32 + 0x1958f0))(pfVar18,uVar40,uVar41,uStack_248);
    if (iVar13 == 0) {
      return 0.0;
    }
    fVar34 = (float)(*pcVar30)(pfVar18,pfVar16,uStack_248);
    if (fVar34 == 0.0) {
      return 0.0;
    }
    if (uVar40 == 1) {
      if (uVar41 == 1) {
        return fVar34;
      }
LAB_00213d14:
      uVar41 = uVar41 >> 1;
    }
    else {
      uVar40 = uVar40 >> 1;
      if (uVar41 != 1) goto LAB_00213d14;
    }
    if ((int)pfVar16[5] <= iVar15) {
      return fVar34;
    }
  } while( true );
}


lui gp,0x1a
addiu gp,gp,-0x1dc4
addu gp,gp,t9
addiu sp,sp,-0x68
lw t3,-0x7680(gp)
lw t6,0x88(sp)
lw t5,0x84(sp)
lw v0,0x0(t3)
sll t0,t6,0x4
lw t7,0x7c(sp)
lw t4,0x80(sp)
sw gp,0x10(sp)
addu t0,t5,t0
sw ra,0x64(sp)
sw a2,0x70(sp)
sw a3,0x74(sp)
sw v0,0x5c(sp)
blez a0,0x002128a0
_lwc1 f10,0x70(sp)
addiu t2,sp,0x1c
or v1,zero,zero
lwc1 f8,0x74(sp)
or v0,a1,zero
or a3,t0,zero
lwc1 f6,0x78(sp)
or a2,t2,zero
addiu v0,v0,0x10
lwc1 f4,-0xc(v0)
addiu a3,a3,0x1
addiu a2,a2,0x4
lwc1 f2,-0x10(v0)
lwc1 f0,-0x8(v0)
sb v1,-0x1(a3)
addiu v1,v1,0x1
mul.S f4,f8,f4
madd.S f2,f4,f10,f2
madd.S f0,f2,f6,f0
bne v1,a0,0x002126dc
_swc1 f0,-0x4(a2)
addiu t9,a0,-0x1
li t8,0x1
addiu t1,t0,-0x1
addu t9,t0,t9
subu t8,t8,t0
addu v0,t8,t1
beq v0,zero,0x00212780
_nop
lwc1 f2,0x0(t2)
lwc1 f0,-0x4(t2)
c.lt.S f2,f0
bc1f 0x00212780
_nop
lbu a3,0x1(t1)
or v0,t1,zero
b 0x00212768
_or v1,t2,zero
lwc1 f0,-0x8(v1)
addiu v0,v0,-0x1
c.lt.S f2,f0
bc1f 0x1,0x00212780
_addiu v1,v1,-0x4
lbu a2,0x0(v0)
swc1 f0,0x0(v1)
sb a3,0x0(v0)
swc1 f2,-0x4(v1)
bne t0,v0,0x00212754
_sb a2,0x1(v0)
addiu t1,t1,0x1
bne t9,t1,0x00212724
_addiu t2,t2,0x4
blez t6,0x002128bc
_nop
addiu t2,t5,0x1
addu t1,t0,a0
or t5,zero,zero
beq a0,zero,0x002127dc
_or v0,zero,zero
lbu v1,-0x1(t2)
lbu v0,0x0(t0)
bne v1,v0,0x002127f4
_addiu v0,t0,0x1
b 0x002127d0
_or v1,t2,zero
lbu a3,0x0(v0)
lbu a2,-0x1(v1)
bne a3,a2,0x002127f4
_addiu v0,v0,0x1
bne t1,v0,0x002127c0
_addiu v1,v1,0x1
or v0,zero,zero
lw a0,0x5c(sp)
lw v1,0x0(t3)
bne a0,v1,0x002128d0
_lw ra,0x64(sp)
jr ra
_addiu sp,sp,0x68
addiu t5,t5,0x1
slt v0,t5,t6
bne v0,zero,0x002127a0
_addiu t2,t2,0x10
sw zero,0x0(t4)
sw zero,0x4(t4)
sw zero,0x8(t4)
blez a0,0x00212898
_sw zero,0xc(t4)
or v1,zero,zero
lbu v0,0x0(t0)
addiu t7,t7,0x10
addiu v1,v1,0x1
addiu t0,t0,0x1
sll v0,v0,0x4
slt a2,v1,a0
addu v0,a1,v0
lwc1 f0,0xc(v0)
lwc1 f6,0x0(v0)
lwc1 f4,0x4(v0)
lwc1 f2,0x8(v0)
swc1 f0,-0x4(t7)
mul.S f6,f0,f6
mul.S f4,f0,f4
mul.S f2,f0,f2
swc1 f6,-0x10(t7)
swc1 f4,-0xc(t7)
swc1 f2,-0x8(t7)
lwc1 f14,0x4(t4)
lwc1 f12,0x8(t4)
lwc1 f10,0xc(t4)
lwc1 f8,0x0(t4)
add.S f4,f4,f14
add.S f2,f2,f12
add.S f0,f0,f10
add.S f6,f8,f6
swc1 f4,0x4(t4)
swc1 f2,0x8(t4)
swc1 f0,0xc(t4)
bne a2,zero,0x0021281c
_swc1 f6,0x0(t4)
b 0x002127dc
_li v0,0x1
bgtz t6,0x00212794
_li v0,0x1
sw zero,0x0(t4)
sw zero,0x4(t4)
sw zero,0x8(t4)
b 0x002127dc
_sw zero,0xc(t4)
sw zero,0x0(t4)
sw zero,0x4(t4)
sw zero,0x8(t4)
b 0x00212818
_sw zero,0xc(t4)
lw t9,-0x784c(gp)
jalr t9
_nop
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n\nfloat FUN_00212674(int param_1,float *param_2,float *param_3,float *param_4,float param_5,\n                  float *param_6,float *param_7,int param_8,int param_9)\n\n{\n  byte bVar1;\n  byte bVar2;\n  float *pfVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  float *pfVar9;\n  byte *pbVar10;\n  float *pfVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  float *pfVar16;\n  undefined4 uVar17;\n  float *pfVar18;\n  float *pfVar19;\n  byte *pbVar20;\n  int iVar21;\n  int iVar22;\n  float *pfVar23;\n  int *piVar24;\n  uint *puVar25;\n  uint *puVar26;\n  uint *puVar27;\n  uint *unaff_s6;\n  float unaff_s7;\n  int iVar28;\n  undefined *puVar29;\n  code *pcVar30;\n  code *pcVar31;\n  code *pcVar32;\n  float unaff_s8;\n  code *pcVar33;\n  float fVar34;\n  uint uVar35;\n  uint uVar36;\n  uint uVar37;\n  uint uVar38;\n  float fVar39;\n  uint uVar40;\n  uint uVar41;\n  float fVar42;\n  float fVar43;\n  undefined8 in_f20_21;\n  double in_f22_23;\n  double dVar44;\n  double dVar45;\n  undefined8 uVar46;\n  uint uStack_248;\n  float fStack_22c;\n  byte abStack_228 [4];\n  byte abStack_224 [8];\n  int iStack_21c;\n  float *pfStack_218;\n  float *pfStack_214;\n  float *pfStack_210;\n  int *piStack_20c;\n  uint *puStack_208;\n  uint *puStack_204;\n  uint *puStack_200;\n  float fStack_1fc;\n  float fStack_1f8;\n  code *pcStack_1f4;\n  undefined8 uStack_1f0;\n  double dStack_1e8;\n  uint uStack_1d0;\n  float *pfStack_1cc;\n  code *pcStack_1c8;\n  uint uStack_1bc;\n  int *piStack_1b8;\n  float *pfStack_1b4;\n  uint uStack_1b0;\n  undefined4 uStack_1ac;\n  float *pfStack_1a8;\n  int *piStack_1a4;\n  float fStack_19c;\n  byte abStack_198 [4];\n  byte abStack_194 [8];\n  int iStack_18c;\n  float *pfStack_188;\n  float *pfStack_184;\n  float *pfStack_180;\n  int *piStack_17c;\n  uint *puStack_178;\n  uint *puStack_174;\n  uint *puStack_170;\n  float fStack_16c;\n  float fStack_168;\n  code *pcStack_164;\n  float *pfStack_140;\n  float *pfStack_13c;\n  int iStack_138;\n  float *pfStack_134;\n  code *pcStack_130;\n  code *pcStack_128;\n  uint uStack_124;\n  uint uStack_120;\n  float fStack_11c;\n  float fStack_118;\n  undefined4 uStack_114;\n  uint *puStack_110;\n  undefined4 uStack_10c;\n  undefined4 uStack_108;\n  uint uStack_104;\n  uint uStack_100;\n  int iStack_fc;\n  undefined4 uStack_f8;\n  undefined4 uStack_f4;\n  undefined4 uStack_f0;\n  undefined4 uStack_ec;\n  undefined4 uStack_e8;\n  int iStack_e4;\n  float *pfStack_e0;\n  float *pfStack_dc;\n  float *pfStack_d8;\n  float *pfStack_d4;\n  uint *puStack_d0;\n  uint *puStack_cc;\n  undefined4 uStack_9c;\n  float afStack_8c [2];\n  float local_54;\n  float local_50;\n  byte *local_4c [16];\n  float *local_c;\n  \n  puVar29 = PTR___stack_chk_guard_003a9230;\n  pfVar18 = (float *)(param_8 + param_9 * 0x10);\n  local_c = *(float **)PTR___stack_chk_guard_003a9230;\n  if (param_1 < 1) {\n    fVar34 = 1.4013e-45;\n    if (0 < param_9) goto LAB_00212794;\n    *param_7 = 0.0;\n    param_7[1] = 0.0;\n    param_7[2] = 0.0;\n    param_7[3] = 0.0;\n  }\n  else {\n    pfVar3 = (float *)local_4c;\n    iVar8 = 0;\n    pfVar19 = param_2;\n    pfVar23 = pfVar3;\n    pfVar9 = pfVar18;\n    do {\n      fVar42 = pfVar19[1];\n      pfVar16 = (float *)((int)pfVar9 + 1);\n      pfVar11 = pfVar23 + 1;\n      fVar39 = *pfVar19;\n      fVar34 = pfVar19[2];\n      *(byte *)pfVar9 = (byte)iVar8;\n      iVar8 = iVar8 + 1;\n      *pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;\n      pfVar19 = pfVar19 + 4;\n      pfVar23 = pfVar11;\n      pfVar9 = pfVar16;\n    } while (iVar8 != param_1);\n    pfVar19 = (float *)((int)pfVar18 + -1);\n    do {\n      if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }\n      pfVar19 = (float *)((int)pfVar19 + 1);\n      pfVar3 = pfVar3 + 1;\n    } while ((float *)((int)pfVar18 + param_1 + -1) != pfVar19);\n    param_3 = pfVar11;\n    param_4 = pfVar16;\n    if (param_9 < 1) {\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\nLAB_00212818:\n      iVar8 = 0;\n      do {\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      } while (param_3 != (float *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);\n      iVar8 = 0;\n      pfVar16 = param_4;\n      do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\n      param_4 = pfVar16;\n      if (0 < param_1) goto LAB_00212818;\n    }\n    fVar34 = 1.4013e-45;\n  }\nLAB_002127dc:\n  if (local_c == *(float **)puVar29) {\n    return fVar34;\n  }\n  pfVar18 = local_c;\n  puVar29 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  fVar34 = *(float *)(*(int *)(puVar29 + 0x196010) + -0xe34);\n  fVar39 = *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e70);\n  pfVar3 = *(float **)(puVar29 + 0x196954);\n  afStack_8c[0] = *pfVar3;\n  uVar40 = (uint)((float)param_2 * fVar39 + fVar34);\n  uVar41 = (uint)((float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34);\n  if (0x1f < uVar40) {\n    uVar40 = 0x1f;\n  }\n  uVar35 = (uint)(fVar39 * 5.421411e-39 + fVar34);\n  if (0x3f < uVar41) {\n    uVar41 = 0x3f;\n  }\n  uVar36 = (uint)(local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34);\n  if (0x1f < uVar35) {\n    uVar35 = 0x1f;\n  }\n  uVar37 = (uint)((float)param_4 * fVar39 + fVar34);\n  if (0x3f < uVar36) {\n    uVar36 = 0x3f;\n  }\n  uVar38 = (uint)(local_50 * fVar39 + fVar34);\n  if (0x1f < uVar37) {\n    uVar37 = 0x1f;\n  }\n  puVar27 = (uint *)(uVar40 << 0xb | uVar41 << 5 | uVar37);\n  if (0x1f < uVar38) {\n    uVar38 = 0x1f;\n  }\n  puVar25 = (uint *)(uVar35 << 0xb | uVar36 << 5 | uVar38);\n  pfVar19 = (float *)&uStack_9c;\n  do {\n    if (puVar27 < puVar25) {\n      *(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3;\n    }\n    else {\n      while (puVar25 != puVar27) {\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }\n      *(byte *)pfVar19 = 0;\n    }\n    pfVar23 = (float *)((int)pfVar19 + 1);\n    local_4c[0] = local_4c[0] + 1;\n    pfVar19 = pfVar23;\n  } while (afStack_8c != pfVar23);\nLAB_00212a50:\n  puVar26 = puVar25;\n  if (puVar27 < puVar25) {\n    puVar26 = puVar27;\n    puVar27 = puVar25;\n  }\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar27 & 0xff);\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar27 << 0x10) >> 0x18);\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar26 & 0xff);\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar26 << 0x10) >> 0x18);\n  pfVar19 = (float *)&uStack_9c;\n  do {\n    pfVar11 = pfVar19 + 1;\n    pfVar16 = (float *)(((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff);\n    pfVar9 = pfVar18;\n    (**(code **)(puVar29 + 0x196700))();\n    pfVar19 = pfVar11;\n  } while (pfVar23 != pfVar11);\n  if (afStack_8c[0] == *pfVar3) {\n    return *pfVar3;\n  }\n  pcVar30 = *(code **)(puVar29 + 0x196788);\n  (*pcVar30)();\n  pcVar32 = pcVar30 + 0x19dd78;\n  piVar24 = *(int **)(pcVar30 + 0x1966f8);\n  iStack_e4 = *piVar24;\n  pcStack_130 = pcVar32;\n  pfStack_e0 = pfVar23;\n  pfStack_dc = pfVar18;\n  pfStack_d8 = pfVar3;\n  pfStack_d4 = pfVar11;\n  puStack_d0 = puVar26;\n  puStack_cc = puVar27;\n  if (pfVar9 == (float *)0x0) {\nLAB_00213360:\n    pfVar9 = pfVar18;\n    (**(code **)(pcVar32 + -0x72a8))\n              (*(int *)(pcVar32 + -0x7fd0) + 0xd78,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n  }\n  else {\n    if (pfVar9[0xc85] != -1.2269538e-12) goto LAB_00213390;\n    if (pfVar9[0xc84] != 0.0) {\n      pfStack_13c = pfVar9 + 0x884;\n      pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);\n    }\n    pcVar32 = pcStack_130;\n    pfVar3 = pfVar16;\n    if (pfVar16 == (float *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n      pfVar18 = pfVar9;\n      goto LAB_00213360;\n    }\n    if (pfVar16[7] != -1.2269538e-12) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }\n    pfVar23 = (float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16);\n    iVar8 = (**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16);\n    if (iVar8 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      fVar34 = 0.0;\n      goto LAB_00212c9c;\n    }\n    pfStack_140 = (float *)0x0;\n    (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n    iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n    if ((iVar8 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar26 = (uint *)0x1;\n      fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      if (iVar8 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      puVar26 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pfStack_140 = (float *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = 0.0;\n      unaff_s7 = 2.24208e-44;\n      pcStack_128 = (code *)(puVar27 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar26 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar26 = (uint *)0x1;\nLAB_00212ed8:\n      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);\n      puVar27 = puVar26;\n      if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }\n      else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar8 = (*pcVar32)(0xb);\n      if (iVar8 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar27 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);\n      uStack_124 = (uint)(iVar8 != 0);\n      while( true ) {\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n      fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n    }\n    else {\nLAB_00212c24:\n      uVar17 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar15 = *(int *)(pcStack_130 + -0x7f60);\n      iVar8 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar32 = *(code **)(pcStack_130 + -0x7990);\n      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;\n      iStack_138 = iStack_138 + 0x3e28;\n      pfStack_140 = (float *)&DAT_000001a9;\n      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);\n      if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }\n      fVar34 = 0.0;\n      pfVar9 = pfVar9 + 0x884;\n    }\nLAB_00212c9c:\n    pcVar32 = pcStack_130;\n    if (iStack_e4 == *piVar24) {\n      return fVar34;\n    }\n  }\n  (**(code **)(pcVar32 + -0x784c))();\nLAB_00213390:\n  pfVar19 = (float *)0x6c8;\n  pcVar31 = *(code **)(pcVar32 + -0x72a8);\n  pcVar30 = (code *)(*(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n  pfVar18 = (float *)(*(int *)(pcVar32 + -0x7f60) + -0x2c20);\n  pcVar33 = FUN_002133b4;\n  puVar25 = (uint *)(*(int *)(pcVar32 + -0x7fd0) + 0xda0);\n  (*pcVar31)();\n  pcStack_1c8 = pcVar31 + 0x19d4fc;\n  piStack_1a4 = *(int **)(pcVar31 + 0x195e7c);\n  pfStack_1a8 = (float *)0x0;\n  iStack_18c = *piStack_1a4;\n  uVar40 = puVar25[7];\n  pfStack_1b4 = pfVar19;\n  pfStack_188 = pfVar23;\n  pfStack_184 = pfVar9;\n  pfStack_180 = pfVar3;\n  piStack_17c = piVar24;\n  puStack_178 = puVar26;\n  puStack_174 = puVar27;\n  puStack_170 = unaff_s6;\n  fStack_16c = unaff_s7;\n  fStack_168 = unaff_s8;\n  pcStack_164 = pcVar33;\n  if (0 < (int)uVar40) {\n    in_f22_23 = *(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0);\n    in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50));\n    do {\n      pfVar16 = pfStack_1a8;\n      pcVar30 = (code *)puVar25[6];\n      pfVar3 = (float *)0x0;\n      if (0 < (int)pcVar30) {\n        do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );\n      }\n      pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar8 = (*pcVar32)(puVar25);\n      if (iVar8 != 0) {\nLAB_002137bc:\n        fVar34 = 0.0;\n        goto LAB_002137c0;\n      }\n      uVar40 = puVar25[7];\n      pfStack_1a8 = pfStack_1a8 + 1;\n      puVar26 = puVar25;\n    } while ((int)pfStack_1a8 < (int)uVar40);\n  }\n  fVar34 = 1.4013e-45;\n  puVar25 = puVar26;\nLAB_002137c0:\n  if (iStack_18c == *piStack_1a4) {\n    return fVar34;\n  }\n  pcVar32 = *(code **)(pcStack_1c8 + -0x784c);\n  pcVar31 = FUN_0021384c;\n  iVar8 = iStack_18c;\n  (*pcVar32)();\n  piVar4 = *(int **)(pcVar32 + 0x1959e4);\n  iStack_21c = *piVar4;\n  iVar15 = *(int *)(iVar8 + 0x1c);\n  pfVar16 = pfVar19;\n  pfStack_218 = pfVar23;\n  pfStack_214 = pfVar9;\n  pfStack_210 = pfVar3;\n  piStack_20c = piVar24;\n  puStack_208 = puVar25;\n  puStack_204 = puVar27;\n  puStack_200 = unaff_s6;\n  fStack_1fc = unaff_s7;\n  fStack_1f8 = unaff_s8;\n  pcStack_1f4 = pcVar31;\n  uStack_1f0 = in_f20_21;\n  dStack_1e8 = in_f22_23;\n  if (0 < iVar15) {\n    pfVar3 = (float *)0x0;\n    iVar13 = *(int *)(pcVar32 + 0x195378);\n    dVar44 = *(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0);\n    dVar45 = dVar44;\n    do {\n      pcVar30 = *(code **)(iVar8 + 0x18);\n      pfVar23 = (float *)0x0;\n      if ((int)pcVar30 < 1) {\n        pcVar31 = *(code **)(pcVar32 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }\n      iVar15 = (*pcVar31)(iVar8);\n      if (iVar15 != 0) {\nLAB_00213b34:\n        fVar34 = 0.0;\n        goto LAB_00213b38;\n      }\n      iVar15 = *(int *)(iVar8 + 0x1c);\n      pfVar3 = pfVar3 + 1;\n    } while ((int)pfVar3 < iVar15);\n  }\n  fVar34 = 1.4013e-45;\nLAB_00213b38:\n  if (iStack_21c == *piVar4) {\n    return fVar34;\n  }\n  pcVar32 = *(code **)(pcVar32 + 0x195818);\n  iVar8 = iStack_21c;\n  (*pcVar32)();\n  iVar15 = (**(code **)(pcVar32 + 0x195b8c))(pfVar18);\n  if (iVar15 != 0) {\n    puVar7 = (undefined4 *)(**(code **)(pcVar32 + 0x195df4))();\n    uVar17 = (**(code **)(pcVar32 + 0x195830))(*puVar7);\n    (**(code **)(pcVar32 + 0x195364))\n              (uStack_248,*(int *)(pcVar32 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar32 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar32 + 0x194d30) + -0x17c,*(int *)(pcVar32 + 0x194d24) + 0xe78,\n               pfVar18 + 0xd0,uVar17);\n    (**(code **)(pcVar32 + 0x1954b8))(uVar17);\n    return 0.0;\n  }\n  if (-1 < (int)pfVar16[6] << 9) {\n    return 1.4013e-45;\n  }\n  if ((((uint)pfVar16[6] & 0x1000) == 0) && (((uint)pfVar16[7] & 0x200) == 0)) {\n    return 1.4013e-45;\n  }\n  if ((uint)pfVar16[2] < 2) {\n    fVar34 = pfVar16[1];\n    uVar40 = 1;\n  }\n  else {\n    fVar34 = pfVar16[1];\n    uVar40 = (uint)pfVar16[2] >> 1;\n  }\n  if ((uint)fVar34 < 2) {\n    uVar41 = 1;\n  }\n  else {\n    uVar41 = (uint)fVar34 >> 1;\n  }\n  iVar15 = 1;\n  if ((int)pfVar16[5] < 2) {\n    return 1.4013e-45;\n  }\n  do {\n    (**(code **)(pcVar32 + 0x1953d4))(iVar8,pfVar18,uStack_248);\n    iVar15 = iVar15 + 1;\n    pcVar31 = *(code **)(pcVar32 + 0x19584c);\n    if (pfVar18[0xcda] == 0.0) {\n      return 0.0;\n    }\n    *(float *)((int)pfVar18[0xcda] + 700) = pfVar18[0xaf];\n    pfVar18 = (float *)(*pcVar31)(pfVar18);\n    iVar13 = (**(code **)(pcVar32 + 0x1958f0))(pfVar18,uVar40,uVar41,uStack_248);\n    if (iVar13 == 0) {\n      return 0.0;\n    }\n    fVar34 = (float)(*pcVar30)(pfVar18,pfVar16,uStack_248);\n    if (fVar34 == 0.0) {\n      return 0.0;\n    }\n    if (uVar40 == 1) {\n      if (uVar41 == 1) {\n        return fVar34;\n      }\nLAB_00213d14:\n      uVar41 = uVar41 >> 1;\n    }\n    else {\n      uVar40 = uVar40 >> 1;\n      if (uVar41 != 1) goto LAB_00213d14;\n    }\n    if ((int)pfVar16[5] <= iVar15) {\n      return fVar34;\n    }\n  } while( true );\n}\n\n" comment (function_definition "float FUN_00212674(int param_1,float *param_2,float *param_3,float *param_4,float param_5,\n                  float *param_6,float *param_7,int param_8,int param_9)\n\n{\n  byte bVar1;\n  byte bVar2;\n  float *pfVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  float *pfVar9;\n  byte *pbVar10;\n  float *pfVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  float *pfVar16;\n  undefined4 uVar17;\n  float *pfVar18;\n  float *pfVar19;\n  byte *pbVar20;\n  int iVar21;\n  int iVar22;\n  float *pfVar23;\n  int *piVar24;\n  uint *puVar25;\n  uint *puVar26;\n  uint *puVar27;\n  uint *unaff_s6;\n  float unaff_s7;\n  int iVar28;\n  undefined *puVar29;\n  code *pcVar30;\n  code *pcVar31;\n  code *pcVar32;\n  float unaff_s8;\n  code *pcVar33;\n  float fVar34;\n  uint uVar35;\n  uint uVar36;\n  uint uVar37;\n  uint uVar38;\n  float fVar39;\n  uint uVar40;\n  uint uVar41;\n  float fVar42;\n  float fVar43;\n  undefined8 in_f20_21;\n  double in_f22_23;\n  double dVar44;\n  double dVar45;\n  undefined8 uVar46;\n  uint uStack_248;\n  float fStack_22c;\n  byte abStack_228 [4];\n  byte abStack_224 [8];\n  int iStack_21c;\n  float *pfStack_218;\n  float *pfStack_214;\n  float *pfStack_210;\n  int *piStack_20c;\n  uint *puStack_208;\n  uint *puStack_204;\n  uint *puStack_200;\n  float fStack_1fc;\n  float fStack_1f8;\n  code *pcStack_1f4;\n  undefined8 uStack_1f0;\n  double dStack_1e8;\n  uint uStack_1d0;\n  float *pfStack_1cc;\n  code *pcStack_1c8;\n  uint uStack_1bc;\n  int *piStack_1b8;\n  float *pfStack_1b4;\n  uint uStack_1b0;\n  undefined4 uStack_1ac;\n  float *pfStack_1a8;\n  int *piStack_1a4;\n  float fStack_19c;\n  byte abStack_198 [4];\n  byte abStack_194 [8];\n  int iStack_18c;\n  float *pfStack_188;\n  float *pfStack_184;\n  float *pfStack_180;\n  int *piStack_17c;\n  uint *puStack_178;\n  uint *puStack_174;\n  uint *puStack_170;\n  float fStack_16c;\n  float fStack_168;\n  code *pcStack_164;\n  float *pfStack_140;\n  float *pfStack_13c;\n  int iStack_138;\n  float *pfStack_134;\n  code *pcStack_130;\n  code *pcStack_128;\n  uint uStack_124;\n  uint uStack_120;\n  float fStack_11c;\n  float fStack_118;\n  undefined4 uStack_114;\n  uint *puStack_110;\n  undefined4 uStack_10c;\n  undefined4 uStack_108;\n  uint uStack_104;\n  uint uStack_100;\n  int iStack_fc;\n  undefined4 uStack_f8;\n  undefined4 uStack_f4;\n  undefined4 uStack_f0;\n  undefined4 uStack_ec;\n  undefined4 uStack_e8;\n  int iStack_e4;\n  float *pfStack_e0;\n  float *pfStack_dc;\n  float *pfStack_d8;\n  float *pfStack_d4;\n  uint *puStack_d0;\n  uint *puStack_cc;\n  undefined4 uStack_9c;\n  float afStack_8c [2];\n  float local_54;\n  float local_50;\n  byte *local_4c [16];\n  float *local_c;\n  \n  puVar29 = PTR___stack_chk_guard_003a9230;\n  pfVar18 = (float *)(param_8 + param_9 * 0x10);\n  local_c = *(float **)PTR___stack_chk_guard_003a9230;\n  if (param_1 < 1) {\n    fVar34 = 1.4013e-45;\n    if (0 < param_9) goto LAB_00212794;\n    *param_7 = 0.0;\n    param_7[1] = 0.0;\n    param_7[2] = 0.0;\n    param_7[3] = 0.0;\n  }\n  else {\n    pfVar3 = (float *)local_4c;\n    iVar8 = 0;\n    pfVar19 = param_2;\n    pfVar23 = pfVar3;\n    pfVar9 = pfVar18;\n    do {\n      fVar42 = pfVar19[1];\n      pfVar16 = (float *)((int)pfVar9 + 1);\n      pfVar11 = pfVar23 + 1;\n      fVar39 = *pfVar19;\n      fVar34 = pfVar19[2];\n      *(byte *)pfVar9 = (byte)iVar8;\n      iVar8 = iVar8 + 1;\n      *pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;\n      pfVar19 = pfVar19 + 4;\n      pfVar23 = pfVar11;\n      pfVar9 = pfVar16;\n    } while (iVar8 != param_1);\n    pfVar19 = (float *)((int)pfVar18 + -1);\n    do {\n      if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }\n      pfVar19 = (float *)((int)pfVar19 + 1);\n      pfVar3 = pfVar3 + 1;\n    } while ((float *)((int)pfVar18 + param_1 + -1) != pfVar19);\n    param_3 = pfVar11;\n    param_4 = pfVar16;\n    if (param_9 < 1) {\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\nLAB_00212818:\n      iVar8 = 0;\n      do {\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      } while (param_3 != (float *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);\n      iVar8 = 0;\n      pfVar16 = param_4;\n      do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\n      param_4 = pfVar16;\n      if (0 < param_1) goto LAB_00212818;\n    }\n    fVar34 = 1.4013e-45;\n  }\nLAB_002127dc:\n  if (local_c == *(float **)puVar29) {\n    return fVar34;\n  }\n  pfVar18 = local_c;\n  puVar29 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  fVar34 = *(float *)(*(int *)(puVar29 + 0x196010) + -0xe34);\n  fVar39 = *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e70);\n  pfVar3 = *(float **)(puVar29 + 0x196954);\n  afStack_8c[0] = *pfVar3;\n  uVar40 = (uint)((float)param_2 * fVar39 + fVar34);\n  uVar41 = (uint)((float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34);\n  if (0x1f < uVar40) {\n    uVar40 = 0x1f;\n  }\n  uVar35 = (uint)(fVar39 * 5.421411e-39 + fVar34);\n  if (0x3f < uVar41) {\n    uVar41 = 0x3f;\n  }\n  uVar36 = (uint)(local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34);\n  if (0x1f < uVar35) {\n    uVar35 = 0x1f;\n  }\n  uVar37 = (uint)((float)param_4 * fVar39 + fVar34);\n  if (0x3f < uVar36) {\n    uVar36 = 0x3f;\n  }\n  uVar38 = (uint)(local_50 * fVar39 + fVar34);\n  if (0x1f < uVar37) {\n    uVar37 = 0x1f;\n  }\n  puVar27 = (uint *)(uVar40 << 0xb | uVar41 << 5 | uVar37);\n  if (0x1f < uVar38) {\n    uVar38 = 0x1f;\n  }\n  puVar25 = (uint *)(uVar35 << 0xb | uVar36 << 5 | uVar38);\n  pfVar19 = (float *)&uStack_9c;\n  do {\n    if (puVar27 < puVar25) {\n      *(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3;\n    }\n    else {\n      while (puVar25 != puVar27) {\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }\n      *(byte *)pfVar19 = 0;\n    }\n    pfVar23 = (float *)((int)pfVar19 + 1);\n    local_4c[0] = local_4c[0] + 1;\n    pfVar19 = pfVar23;\n  } while (afStack_8c != pfVar23);\nLAB_00212a50:\n  puVar26 = puVar25;\n  if (puVar27 < puVar25) {\n    puVar26 = puVar27;\n    puVar27 = puVar25;\n  }\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar27 & 0xff);\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar27 << 0x10) >> 0x18);\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar26 & 0xff);\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar26 << 0x10) >> 0x18);\n  pfVar19 = (float *)&uStack_9c;\n  do {\n    pfVar11 = pfVar19 + 1;\n    pfVar16 = (float *)(((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff);\n    pfVar9 = pfVar18;\n    (**(code **)(puVar29 + 0x196700))();\n    pfVar19 = pfVar11;\n  } while (pfVar23 != pfVar11);\n  if (afStack_8c[0] == *pfVar3) {\n    return *pfVar3;\n  }\n  pcVar30 = *(code **)(puVar29 + 0x196788);\n  (*pcVar30)();\n  pcVar32 = pcVar30 + 0x19dd78;\n  piVar24 = *(int **)(pcVar30 + 0x1966f8);\n  iStack_e4 = *piVar24;\n  pcStack_130 = pcVar32;\n  pfStack_e0 = pfVar23;\n  pfStack_dc = pfVar18;\n  pfStack_d8 = pfVar3;\n  pfStack_d4 = pfVar11;\n  puStack_d0 = puVar26;\n  puStack_cc = puVar27;\n  if (pfVar9 == (float *)0x0) {\nLAB_00213360:\n    pfVar9 = pfVar18;\n    (**(code **)(pcVar32 + -0x72a8))\n              (*(int *)(pcVar32 + -0x7fd0) + 0xd78,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n  }\n  else {\n    if (pfVar9[0xc85] != -1.2269538e-12) goto LAB_00213390;\n    if (pfVar9[0xc84] != 0.0) {\n      pfStack_13c = pfVar9 + 0x884;\n      pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);\n    }\n    pcVar32 = pcStack_130;\n    pfVar3 = pfVar16;\n    if (pfVar16 == (float *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n      pfVar18 = pfVar9;\n      goto LAB_00213360;\n    }\n    if (pfVar16[7] != -1.2269538e-12) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }\n    pfVar23 = (float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16);\n    iVar8 = (**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16);\n    if (iVar8 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      fVar34 = 0.0;\n      goto LAB_00212c9c;\n    }\n    pfStack_140 = (float *)0x0;\n    (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n    iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n    if ((iVar8 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar26 = (uint *)0x1;\n      fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      if (iVar8 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      puVar26 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pfStack_140 = (float *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = 0.0;\n      unaff_s7 = 2.24208e-44;\n      pcStack_128 = (code *)(puVar27 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar26 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar26 = (uint *)0x1;\nLAB_00212ed8:\n      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);\n      puVar27 = puVar26;\n      if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }\n      else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar8 = (*pcVar32)(0xb);\n      if (iVar8 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar27 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);\n      uStack_124 = (uint)(iVar8 != 0);\n      while( true ) {\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n      fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n    }\n    else {\nLAB_00212c24:\n      uVar17 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar15 = *(int *)(pcStack_130 + -0x7f60);\n      iVar8 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar32 = *(code **)(pcStack_130 + -0x7990);\n      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;\n      iStack_138 = iStack_138 + 0x3e28;\n      pfStack_140 = (float *)&DAT_000001a9;\n      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);\n      if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }\n      fVar34 = 0.0;\n      pfVar9 = pfVar9 + 0x884;\n    }\nLAB_00212c9c:\n    pcVar32 = pcStack_130;\n    if (iStack_e4 == *piVar24) {\n      return fVar34;\n    }\n  }\n  (**(code **)(pcVar32 + -0x784c))();\nLAB_00213390:\n  pfVar19 = (float *)0x6c8;\n  pcVar31 = *(code **)(pcVar32 + -0x72a8);\n  pcVar30 = (code *)(*(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n  pfVar18 = (float *)(*(int *)(pcVar32 + -0x7f60) + -0x2c20);\n  pcVar33 = FUN_002133b4;\n  puVar25 = (uint *)(*(int *)(pcVar32 + -0x7fd0) + 0xda0);\n  (*pcVar31)();\n  pcStack_1c8 = pcVar31 + 0x19d4fc;\n  piStack_1a4 = *(int **)(pcVar31 + 0x195e7c);\n  pfStack_1a8 = (float *)0x0;\n  iStack_18c = *piStack_1a4;\n  uVar40 = puVar25[7];\n  pfStack_1b4 = pfVar19;\n  pfStack_188 = pfVar23;\n  pfStack_184 = pfVar9;\n  pfStack_180 = pfVar3;\n  piStack_17c = piVar24;\n  puStack_178 = puVar26;\n  puStack_174 = puVar27;\n  puStack_170 = unaff_s6;\n  fStack_16c = unaff_s7;\n  fStack_168 = unaff_s8;\n  pcStack_164 = pcVar33;\n  if (0 < (int)uVar40) {\n    in_f22_23 = *(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0);\n    in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50));\n    do {\n      pfVar16 = pfStack_1a8;\n      pcVar30 = (code *)puVar25[6];\n      pfVar3 = (float *)0x0;\n      if (0 < (int)pcVar30) {\n        do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );\n      }\n      pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar8 = (*pcVar32)(puVar25);\n      if (iVar8 != 0) {\nLAB_002137bc:\n        fVar34 = 0.0;\n        goto LAB_002137c0;\n      }\n      uVar40 = puVar25[7];\n      pfStack_1a8 = pfStack_1a8 + 1;\n      puVar26 = puVar25;\n    } while ((int)pfStack_1a8 < (int)uVar40);\n  }\n  fVar34 = 1.4013e-45;\n  puVar25 = puVar26;\nLAB_002137c0:\n  if (iStack_18c == *piStack_1a4) {\n    return fVar34;\n  }\n  pcVar32 = *(code **)(pcStack_1c8 + -0x784c);\n  pcVar31 = FUN_0021384c;\n  iVar8 = iStack_18c;\n  (*pcVar32)();\n  piVar4 = *(int **)(pcVar32 + 0x1959e4);\n  iStack_21c = *piVar4;\n  iVar15 = *(int *)(iVar8 + 0x1c);\n  pfVar16 = pfVar19;\n  pfStack_218 = pfVar23;\n  pfStack_214 = pfVar9;\n  pfStack_210 = pfVar3;\n  piStack_20c = piVar24;\n  puStack_208 = puVar25;\n  puStack_204 = puVar27;\n  puStack_200 = unaff_s6;\n  fStack_1fc = unaff_s7;\n  fStack_1f8 = unaff_s8;\n  pcStack_1f4 = pcVar31;\n  uStack_1f0 = in_f20_21;\n  dStack_1e8 = in_f22_23;\n  if (0 < iVar15) {\n    pfVar3 = (float *)0x0;\n    iVar13 = *(int *)(pcVar32 + 0x195378);\n    dVar44 = *(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0);\n    dVar45 = dVar44;\n    do {\n      pcVar30 = *(code **)(iVar8 + 0x18);\n      pfVar23 = (float *)0x0;\n      if ((int)pcVar30 < 1) {\n        pcVar31 = *(code **)(pcVar32 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }\n      iVar15 = (*pcVar31)(iVar8);\n      if (iVar15 != 0) {\nLAB_00213b34:\n        fVar34 = 0.0;\n        goto LAB_00213b38;\n      }\n      iVar15 = *(int *)(iVar8 + 0x1c);\n      pfVar3 = pfVar3 + 1;\n    } while ((int)pfVar3 < iVar15);\n  }\n  fVar34 = 1.4013e-45;\nLAB_00213b38:\n  if (iStack_21c == *piVar4) {\n    return fVar34;\n  }\n  pcVar32 = *(code **)(pcVar32 + 0x195818);\n  iVar8 = iStack_21c;\n  (*pcVar32)();\n  iVar15 = (**(code **)(pcVar32 + 0x195b8c))(pfVar18);\n  if (iVar15 != 0) {\n    puVar7 = (undefined4 *)(**(code **)(pcVar32 + 0x195df4))();\n    uVar17 = (**(code **)(pcVar32 + 0x195830))(*puVar7);\n    (**(code **)(pcVar32 + 0x195364))\n              (uStack_248,*(int *)(pcVar32 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar32 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar32 + 0x194d30) + -0x17c,*(int *)(pcVar32 + 0x194d24) + 0xe78,\n               pfVar18 + 0xd0,uVar17);\n    (**(code **)(pcVar32 + 0x1954b8))(uVar17);\n    return 0.0;\n  }\n  if (-1 < (int)pfVar16[6] << 9) {\n    return 1.4013e-45;\n  }\n  if ((((uint)pfVar16[6] & 0x1000) == 0) && (((uint)pfVar16[7] & 0x200) == 0)) {\n    return 1.4013e-45;\n  }\n  if ((uint)pfVar16[2] < 2) {\n    fVar34 = pfVar16[1];\n    uVar40 = 1;\n  }\n  else {\n    fVar34 = pfVar16[1];\n    uVar40 = (uint)pfVar16[2] >> 1;\n  }\n  if ((uint)fVar34 < 2) {\n    uVar41 = 1;\n  }\n  else {\n    uVar41 = (uint)fVar34 >> 1;\n  }\n  iVar15 = 1;\n  if ((int)pfVar16[5] < 2) {\n    return 1.4013e-45;\n  }\n  do {\n    (**(code **)(pcVar32 + 0x1953d4))(iVar8,pfVar18,uStack_248);\n    iVar15 = iVar15 + 1;\n    pcVar31 = *(code **)(pcVar32 + 0x19584c);\n    if (pfVar18[0xcda] == 0.0) {\n      return 0.0;\n    }\n    *(float *)((int)pfVar18[0xcda] + 700) = pfVar18[0xaf];\n    pfVar18 = (float *)(*pcVar31)(pfVar18);\n    iVar13 = (**(code **)(pcVar32 + 0x1958f0))(pfVar18,uVar40,uVar41,uStack_248);\n    if (iVar13 == 0) {\n      return 0.0;\n    }\n    fVar34 = (float)(*pcVar30)(pfVar18,pfVar16,uStack_248);\n    if (fVar34 == 0.0) {\n      return 0.0;\n    }\n    if (uVar40 == 1) {\n      if (uVar41 == 1) {\n        return fVar34;\n      }\nLAB_00213d14:\n      uVar41 = uVar41 >> 1;\n    }\n    else {\n      uVar40 = uVar40 >> 1;\n      if (uVar41 != 1) goto LAB_00213d14;\n    }\n    if ((int)pfVar16[5] <= iVar15) {\n      return fVar34;\n    }\n  } while( true );\n}" primitive_type (function_declarator "FUN_00212674(int param_1,float *param_2,float *param_3,float *param_4,float param_5,\n                  float *param_6,float *param_7,int param_8,int param_9)" identifier (parameter_list "(int param_1,float *param_2,float *param_3,float *param_4,float param_5,\n                  float *param_6,float *param_7,int param_8,int param_9)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "float *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "float *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "float *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "float param_5" primitive_type identifier) , (parameter_declaration "float *param_6" primitive_type (pointer_declarator "*param_6" * identifier)) , (parameter_declaration "float *param_7" primitive_type (pointer_declarator "*param_7" * identifier)) , (parameter_declaration "int param_8" primitive_type identifier) , (parameter_declaration "int param_9" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  byte bVar2;\n  float *pfVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  float *pfVar9;\n  byte *pbVar10;\n  float *pfVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  float *pfVar16;\n  undefined4 uVar17;\n  float *pfVar18;\n  float *pfVar19;\n  byte *pbVar20;\n  int iVar21;\n  int iVar22;\n  float *pfVar23;\n  int *piVar24;\n  uint *puVar25;\n  uint *puVar26;\n  uint *puVar27;\n  uint *unaff_s6;\n  float unaff_s7;\n  int iVar28;\n  undefined *puVar29;\n  code *pcVar30;\n  code *pcVar31;\n  code *pcVar32;\n  float unaff_s8;\n  code *pcVar33;\n  float fVar34;\n  uint uVar35;\n  uint uVar36;\n  uint uVar37;\n  uint uVar38;\n  float fVar39;\n  uint uVar40;\n  uint uVar41;\n  float fVar42;\n  float fVar43;\n  undefined8 in_f20_21;\n  double in_f22_23;\n  double dVar44;\n  double dVar45;\n  undefined8 uVar46;\n  uint uStack_248;\n  float fStack_22c;\n  byte abStack_228 [4];\n  byte abStack_224 [8];\n  int iStack_21c;\n  float *pfStack_218;\n  float *pfStack_214;\n  float *pfStack_210;\n  int *piStack_20c;\n  uint *puStack_208;\n  uint *puStack_204;\n  uint *puStack_200;\n  float fStack_1fc;\n  float fStack_1f8;\n  code *pcStack_1f4;\n  undefined8 uStack_1f0;\n  double dStack_1e8;\n  uint uStack_1d0;\n  float *pfStack_1cc;\n  code *pcStack_1c8;\n  uint uStack_1bc;\n  int *piStack_1b8;\n  float *pfStack_1b4;\n  uint uStack_1b0;\n  undefined4 uStack_1ac;\n  float *pfStack_1a8;\n  int *piStack_1a4;\n  float fStack_19c;\n  byte abStack_198 [4];\n  byte abStack_194 [8];\n  int iStack_18c;\n  float *pfStack_188;\n  float *pfStack_184;\n  float *pfStack_180;\n  int *piStack_17c;\n  uint *puStack_178;\n  uint *puStack_174;\n  uint *puStack_170;\n  float fStack_16c;\n  float fStack_168;\n  code *pcStack_164;\n  float *pfStack_140;\n  float *pfStack_13c;\n  int iStack_138;\n  float *pfStack_134;\n  code *pcStack_130;\n  code *pcStack_128;\n  uint uStack_124;\n  uint uStack_120;\n  float fStack_11c;\n  float fStack_118;\n  undefined4 uStack_114;\n  uint *puStack_110;\n  undefined4 uStack_10c;\n  undefined4 uStack_108;\n  uint uStack_104;\n  uint uStack_100;\n  int iStack_fc;\n  undefined4 uStack_f8;\n  undefined4 uStack_f4;\n  undefined4 uStack_f0;\n  undefined4 uStack_ec;\n  undefined4 uStack_e8;\n  int iStack_e4;\n  float *pfStack_e0;\n  float *pfStack_dc;\n  float *pfStack_d8;\n  float *pfStack_d4;\n  uint *puStack_d0;\n  uint *puStack_cc;\n  undefined4 uStack_9c;\n  float afStack_8c [2];\n  float local_54;\n  float local_50;\n  byte *local_4c [16];\n  float *local_c;\n  \n  puVar29 = PTR___stack_chk_guard_003a9230;\n  pfVar18 = (float *)(param_8 + param_9 * 0x10);\n  local_c = *(float **)PTR___stack_chk_guard_003a9230;\n  if (param_1 < 1) {\n    fVar34 = 1.4013e-45;\n    if (0 < param_9) goto LAB_00212794;\n    *param_7 = 0.0;\n    param_7[1] = 0.0;\n    param_7[2] = 0.0;\n    param_7[3] = 0.0;\n  }\n  else {\n    pfVar3 = (float *)local_4c;\n    iVar8 = 0;\n    pfVar19 = param_2;\n    pfVar23 = pfVar3;\n    pfVar9 = pfVar18;\n    do {\n      fVar42 = pfVar19[1];\n      pfVar16 = (float *)((int)pfVar9 + 1);\n      pfVar11 = pfVar23 + 1;\n      fVar39 = *pfVar19;\n      fVar34 = pfVar19[2];\n      *(byte *)pfVar9 = (byte)iVar8;\n      iVar8 = iVar8 + 1;\n      *pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;\n      pfVar19 = pfVar19 + 4;\n      pfVar23 = pfVar11;\n      pfVar9 = pfVar16;\n    } while (iVar8 != param_1);\n    pfVar19 = (float *)((int)pfVar18 + -1);\n    do {\n      if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }\n      pfVar19 = (float *)((int)pfVar19 + 1);\n      pfVar3 = pfVar3 + 1;\n    } while ((float *)((int)pfVar18 + param_1 + -1) != pfVar19);\n    param_3 = pfVar11;\n    param_4 = pfVar16;\n    if (param_9 < 1) {\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\nLAB_00212818:\n      iVar8 = 0;\n      do {\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      } while (param_3 != (float *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);\n      iVar8 = 0;\n      pfVar16 = param_4;\n      do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\n      param_4 = pfVar16;\n      if (0 < param_1) goto LAB_00212818;\n    }\n    fVar34 = 1.4013e-45;\n  }\nLAB_002127dc:\n  if (local_c == *(float **)puVar29) {\n    return fVar34;\n  }\n  pfVar18 = local_c;\n  puVar29 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  fVar34 = *(float *)(*(int *)(puVar29 + 0x196010) + -0xe34);\n  fVar39 = *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e70);\n  pfVar3 = *(float **)(puVar29 + 0x196954);\n  afStack_8c[0] = *pfVar3;\n  uVar40 = (uint)((float)param_2 * fVar39 + fVar34);\n  uVar41 = (uint)((float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34);\n  if (0x1f < uVar40) {\n    uVar40 = 0x1f;\n  }\n  uVar35 = (uint)(fVar39 * 5.421411e-39 + fVar34);\n  if (0x3f < uVar41) {\n    uVar41 = 0x3f;\n  }\n  uVar36 = (uint)(local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34);\n  if (0x1f < uVar35) {\n    uVar35 = 0x1f;\n  }\n  uVar37 = (uint)((float)param_4 * fVar39 + fVar34);\n  if (0x3f < uVar36) {\n    uVar36 = 0x3f;\n  }\n  uVar38 = (uint)(local_50 * fVar39 + fVar34);\n  if (0x1f < uVar37) {\n    uVar37 = 0x1f;\n  }\n  puVar27 = (uint *)(uVar40 << 0xb | uVar41 << 5 | uVar37);\n  if (0x1f < uVar38) {\n    uVar38 = 0x1f;\n  }\n  puVar25 = (uint *)(uVar35 << 0xb | uVar36 << 5 | uVar38);\n  pfVar19 = (float *)&uStack_9c;\n  do {\n    if (puVar27 < puVar25) {\n      *(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3;\n    }\n    else {\n      while (puVar25 != puVar27) {\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }\n      *(byte *)pfVar19 = 0;\n    }\n    pfVar23 = (float *)((int)pfVar19 + 1);\n    local_4c[0] = local_4c[0] + 1;\n    pfVar19 = pfVar23;\n  } while (afStack_8c != pfVar23);\nLAB_00212a50:\n  puVar26 = puVar25;\n  if (puVar27 < puVar25) {\n    puVar26 = puVar27;\n    puVar27 = puVar25;\n  }\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar27 & 0xff);\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar27 << 0x10) >> 0x18);\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar26 & 0xff);\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar26 << 0x10) >> 0x18);\n  pfVar19 = (float *)&uStack_9c;\n  do {\n    pfVar11 = pfVar19 + 1;\n    pfVar16 = (float *)(((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff);\n    pfVar9 = pfVar18;\n    (**(code **)(puVar29 + 0x196700))();\n    pfVar19 = pfVar11;\n  } while (pfVar23 != pfVar11);\n  if (afStack_8c[0] == *pfVar3) {\n    return *pfVar3;\n  }\n  pcVar30 = *(code **)(puVar29 + 0x196788);\n  (*pcVar30)();\n  pcVar32 = pcVar30 + 0x19dd78;\n  piVar24 = *(int **)(pcVar30 + 0x1966f8);\n  iStack_e4 = *piVar24;\n  pcStack_130 = pcVar32;\n  pfStack_e0 = pfVar23;\n  pfStack_dc = pfVar18;\n  pfStack_d8 = pfVar3;\n  pfStack_d4 = pfVar11;\n  puStack_d0 = puVar26;\n  puStack_cc = puVar27;\n  if (pfVar9 == (float *)0x0) {\nLAB_00213360:\n    pfVar9 = pfVar18;\n    (**(code **)(pcVar32 + -0x72a8))\n              (*(int *)(pcVar32 + -0x7fd0) + 0xd78,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n  }\n  else {\n    if (pfVar9[0xc85] != -1.2269538e-12) goto LAB_00213390;\n    if (pfVar9[0xc84] != 0.0) {\n      pfStack_13c = pfVar9 + 0x884;\n      pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);\n    }\n    pcVar32 = pcStack_130;\n    pfVar3 = pfVar16;\n    if (pfVar16 == (float *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n      pfVar18 = pfVar9;\n      goto LAB_00213360;\n    }\n    if (pfVar16[7] != -1.2269538e-12) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }\n    pfVar23 = (float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16);\n    iVar8 = (**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16);\n    if (iVar8 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      fVar34 = 0.0;\n      goto LAB_00212c9c;\n    }\n    pfStack_140 = (float *)0x0;\n    (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n    iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n    if ((iVar8 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar26 = (uint *)0x1;\n      fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      if (iVar8 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      puVar26 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pfStack_140 = (float *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = 0.0;\n      unaff_s7 = 2.24208e-44;\n      pcStack_128 = (code *)(puVar27 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar26 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar26 = (uint *)0x1;\nLAB_00212ed8:\n      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);\n      puVar27 = puVar26;\n      if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }\n      else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar8 = (*pcVar32)(0xb);\n      if (iVar8 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar27 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);\n      uStack_124 = (uint)(iVar8 != 0);\n      while( true ) {\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n      fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n    }\n    else {\nLAB_00212c24:\n      uVar17 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar15 = *(int *)(pcStack_130 + -0x7f60);\n      iVar8 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar32 = *(code **)(pcStack_130 + -0x7990);\n      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;\n      iStack_138 = iStack_138 + 0x3e28;\n      pfStack_140 = (float *)&DAT_000001a9;\n      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);\n      if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }\n      fVar34 = 0.0;\n      pfVar9 = pfVar9 + 0x884;\n    }\nLAB_00212c9c:\n    pcVar32 = pcStack_130;\n    if (iStack_e4 == *piVar24) {\n      return fVar34;\n    }\n  }\n  (**(code **)(pcVar32 + -0x784c))();\nLAB_00213390:\n  pfVar19 = (float *)0x6c8;\n  pcVar31 = *(code **)(pcVar32 + -0x72a8);\n  pcVar30 = (code *)(*(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n  pfVar18 = (float *)(*(int *)(pcVar32 + -0x7f60) + -0x2c20);\n  pcVar33 = FUN_002133b4;\n  puVar25 = (uint *)(*(int *)(pcVar32 + -0x7fd0) + 0xda0);\n  (*pcVar31)();\n  pcStack_1c8 = pcVar31 + 0x19d4fc;\n  piStack_1a4 = *(int **)(pcVar31 + 0x195e7c);\n  pfStack_1a8 = (float *)0x0;\n  iStack_18c = *piStack_1a4;\n  uVar40 = puVar25[7];\n  pfStack_1b4 = pfVar19;\n  pfStack_188 = pfVar23;\n  pfStack_184 = pfVar9;\n  pfStack_180 = pfVar3;\n  piStack_17c = piVar24;\n  puStack_178 = puVar26;\n  puStack_174 = puVar27;\n  puStack_170 = unaff_s6;\n  fStack_16c = unaff_s7;\n  fStack_168 = unaff_s8;\n  pcStack_164 = pcVar33;\n  if (0 < (int)uVar40) {\n    in_f22_23 = *(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0);\n    in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50));\n    do {\n      pfVar16 = pfStack_1a8;\n      pcVar30 = (code *)puVar25[6];\n      pfVar3 = (float *)0x0;\n      if (0 < (int)pcVar30) {\n        do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );\n      }\n      pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar8 = (*pcVar32)(puVar25);\n      if (iVar8 != 0) {\nLAB_002137bc:\n        fVar34 = 0.0;\n        goto LAB_002137c0;\n      }\n      uVar40 = puVar25[7];\n      pfStack_1a8 = pfStack_1a8 + 1;\n      puVar26 = puVar25;\n    } while ((int)pfStack_1a8 < (int)uVar40);\n  }\n  fVar34 = 1.4013e-45;\n  puVar25 = puVar26;\nLAB_002137c0:\n  if (iStack_18c == *piStack_1a4) {\n    return fVar34;\n  }\n  pcVar32 = *(code **)(pcStack_1c8 + -0x784c);\n  pcVar31 = FUN_0021384c;\n  iVar8 = iStack_18c;\n  (*pcVar32)();\n  piVar4 = *(int **)(pcVar32 + 0x1959e4);\n  iStack_21c = *piVar4;\n  iVar15 = *(int *)(iVar8 + 0x1c);\n  pfVar16 = pfVar19;\n  pfStack_218 = pfVar23;\n  pfStack_214 = pfVar9;\n  pfStack_210 = pfVar3;\n  piStack_20c = piVar24;\n  puStack_208 = puVar25;\n  puStack_204 = puVar27;\n  puStack_200 = unaff_s6;\n  fStack_1fc = unaff_s7;\n  fStack_1f8 = unaff_s8;\n  pcStack_1f4 = pcVar31;\n  uStack_1f0 = in_f20_21;\n  dStack_1e8 = in_f22_23;\n  if (0 < iVar15) {\n    pfVar3 = (float *)0x0;\n    iVar13 = *(int *)(pcVar32 + 0x195378);\n    dVar44 = *(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0);\n    dVar45 = dVar44;\n    do {\n      pcVar30 = *(code **)(iVar8 + 0x18);\n      pfVar23 = (float *)0x0;\n      if ((int)pcVar30 < 1) {\n        pcVar31 = *(code **)(pcVar32 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }\n      iVar15 = (*pcVar31)(iVar8);\n      if (iVar15 != 0) {\nLAB_00213b34:\n        fVar34 = 0.0;\n        goto LAB_00213b38;\n      }\n      iVar15 = *(int *)(iVar8 + 0x1c);\n      pfVar3 = pfVar3 + 1;\n    } while ((int)pfVar3 < iVar15);\n  }\n  fVar34 = 1.4013e-45;\nLAB_00213b38:\n  if (iStack_21c == *piVar4) {\n    return fVar34;\n  }\n  pcVar32 = *(code **)(pcVar32 + 0x195818);\n  iVar8 = iStack_21c;\n  (*pcVar32)();\n  iVar15 = (**(code **)(pcVar32 + 0x195b8c))(pfVar18);\n  if (iVar15 != 0) {\n    puVar7 = (undefined4 *)(**(code **)(pcVar32 + 0x195df4))();\n    uVar17 = (**(code **)(pcVar32 + 0x195830))(*puVar7);\n    (**(code **)(pcVar32 + 0x195364))\n              (uStack_248,*(int *)(pcVar32 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar32 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar32 + 0x194d30) + -0x17c,*(int *)(pcVar32 + 0x194d24) + 0xe78,\n               pfVar18 + 0xd0,uVar17);\n    (**(code **)(pcVar32 + 0x1954b8))(uVar17);\n    return 0.0;\n  }\n  if (-1 < (int)pfVar16[6] << 9) {\n    return 1.4013e-45;\n  }\n  if ((((uint)pfVar16[6] & 0x1000) == 0) && (((uint)pfVar16[7] & 0x200) == 0)) {\n    return 1.4013e-45;\n  }\n  if ((uint)pfVar16[2] < 2) {\n    fVar34 = pfVar16[1];\n    uVar40 = 1;\n  }\n  else {\n    fVar34 = pfVar16[1];\n    uVar40 = (uint)pfVar16[2] >> 1;\n  }\n  if ((uint)fVar34 < 2) {\n    uVar41 = 1;\n  }\n  else {\n    uVar41 = (uint)fVar34 >> 1;\n  }\n  iVar15 = 1;\n  if ((int)pfVar16[5] < 2) {\n    return 1.4013e-45;\n  }\n  do {\n    (**(code **)(pcVar32 + 0x1953d4))(iVar8,pfVar18,uStack_248);\n    iVar15 = iVar15 + 1;\n    pcVar31 = *(code **)(pcVar32 + 0x19584c);\n    if (pfVar18[0xcda] == 0.0) {\n      return 0.0;\n    }\n    *(float *)((int)pfVar18[0xcda] + 700) = pfVar18[0xaf];\n    pfVar18 = (float *)(*pcVar31)(pfVar18);\n    iVar13 = (**(code **)(pcVar32 + 0x1958f0))(pfVar18,uVar40,uVar41,uStack_248);\n    if (iVar13 == 0) {\n      return 0.0;\n    }\n    fVar34 = (float)(*pcVar30)(pfVar18,pfVar16,uStack_248);\n    if (fVar34 == 0.0) {\n      return 0.0;\n    }\n    if (uVar40 == 1) {\n      if (uVar41 == 1) {\n        return fVar34;\n      }\nLAB_00213d14:\n      uVar41 = uVar41 >> 1;\n    }\n    else {\n      uVar40 = uVar40 >> 1;\n      if (uVar41 != 1) goto LAB_00213d14;\n    }\n    if ((int)pfVar16[5] <= iVar15) {\n      return fVar34;\n    }\n  } while( true );\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "float *pfVar3;" primitive_type (pointer_declarator "*pfVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "float *pfVar9;" primitive_type (pointer_declarator "*pfVar9" * identifier) ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "float *pfVar11;" primitive_type (pointer_declarator "*pfVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "float *pfVar16;" primitive_type (pointer_declarator "*pfVar16" * identifier) ;) (declaration "undefined4 uVar17;" type_identifier identifier ;) (declaration "float *pfVar18;" primitive_type (pointer_declarator "*pfVar18" * identifier) ;) (declaration "float *pfVar19;" primitive_type (pointer_declarator "*pfVar19" * identifier) ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "float *pfVar23;" primitive_type (pointer_declarator "*pfVar23" * identifier) ;) (declaration "int *piVar24;" primitive_type (pointer_declarator "*piVar24" * identifier) ;) (declaration "uint *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "uint *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "uint *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "uint *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "float unaff_s7;" primitive_type identifier ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "undefined *puVar29;" type_identifier (pointer_declarator "*puVar29" * identifier) ;) (declaration "code *pcVar30;" type_identifier (pointer_declarator "*pcVar30" * identifier) ;) (declaration "code *pcVar31;" type_identifier (pointer_declarator "*pcVar31" * identifier) ;) (declaration "code *pcVar32;" type_identifier (pointer_declarator "*pcVar32" * identifier) ;) (declaration "float unaff_s8;" primitive_type identifier ;) (declaration "code *pcVar33;" type_identifier (pointer_declarator "*pcVar33" * identifier) ;) (declaration "float fVar34;" primitive_type identifier ;) (declaration "uint uVar35;" type_identifier identifier ;) (declaration "uint uVar36;" type_identifier identifier ;) (declaration "uint uVar37;" type_identifier identifier ;) (declaration "uint uVar38;" type_identifier identifier ;) (declaration "float fVar39;" primitive_type identifier ;) (declaration "uint uVar40;" type_identifier identifier ;) (declaration "uint uVar41;" type_identifier identifier ;) (declaration "float fVar42;" primitive_type identifier ;) (declaration "float fVar43;" primitive_type identifier ;) (declaration "undefined8 in_f20_21;" type_identifier identifier ;) (declaration "double in_f22_23;" primitive_type identifier ;) (declaration "double dVar44;" primitive_type identifier ;) (declaration "double dVar45;" primitive_type identifier ;) (declaration "undefined8 uVar46;" type_identifier identifier ;) (declaration "uint uStack_248;" type_identifier identifier ;) (declaration "float fStack_22c;" primitive_type identifier ;) (declaration "byte abStack_228 [4];" type_identifier (array_declarator "abStack_228 [4]" identifier [ number_literal ]) ;) (declaration "byte abStack_224 [8];" type_identifier (array_declarator "abStack_224 [8]" identifier [ number_literal ]) ;) (declaration "int iStack_21c;" primitive_type identifier ;) (declaration "float *pfStack_218;" primitive_type (pointer_declarator "*pfStack_218" * identifier) ;) (declaration "float *pfStack_214;" primitive_type (pointer_declarator "*pfStack_214" * identifier) ;) (declaration "float *pfStack_210;" primitive_type (pointer_declarator "*pfStack_210" * identifier) ;) (declaration "int *piStack_20c;" primitive_type (pointer_declarator "*piStack_20c" * identifier) ;) (declaration "uint *puStack_208;" type_identifier (pointer_declarator "*puStack_208" * identifier) ;) (declaration "uint *puStack_204;" type_identifier (pointer_declarator "*puStack_204" * identifier) ;) (declaration "uint *puStack_200;" type_identifier (pointer_declarator "*puStack_200" * identifier) ;) (declaration "float fStack_1fc;" primitive_type identifier ;) (declaration "float fStack_1f8;" primitive_type identifier ;) (declaration "code *pcStack_1f4;" type_identifier (pointer_declarator "*pcStack_1f4" * identifier) ;) (declaration "undefined8 uStack_1f0;" type_identifier identifier ;) (declaration "double dStack_1e8;" primitive_type identifier ;) (declaration "uint uStack_1d0;" type_identifier identifier ;) (declaration "float *pfStack_1cc;" primitive_type (pointer_declarator "*pfStack_1cc" * identifier) ;) (declaration "code *pcStack_1c8;" type_identifier (pointer_declarator "*pcStack_1c8" * identifier) ;) (declaration "uint uStack_1bc;" type_identifier identifier ;) (declaration "int *piStack_1b8;" primitive_type (pointer_declarator "*piStack_1b8" * identifier) ;) (declaration "float *pfStack_1b4;" primitive_type (pointer_declarator "*pfStack_1b4" * identifier) ;) (declaration "uint uStack_1b0;" type_identifier identifier ;) (declaration "undefined4 uStack_1ac;" type_identifier identifier ;) (declaration "float *pfStack_1a8;" primitive_type (pointer_declarator "*pfStack_1a8" * identifier) ;) (declaration "int *piStack_1a4;" primitive_type (pointer_declarator "*piStack_1a4" * identifier) ;) (declaration "float fStack_19c;" primitive_type identifier ;) (declaration "byte abStack_198 [4];" type_identifier (array_declarator "abStack_198 [4]" identifier [ number_literal ]) ;) (declaration "byte abStack_194 [8];" type_identifier (array_declarator "abStack_194 [8]" identifier [ number_literal ]) ;) (declaration "int iStack_18c;" primitive_type identifier ;) (declaration "float *pfStack_188;" primitive_type (pointer_declarator "*pfStack_188" * identifier) ;) (declaration "float *pfStack_184;" primitive_type (pointer_declarator "*pfStack_184" * identifier) ;) (declaration "float *pfStack_180;" primitive_type (pointer_declarator "*pfStack_180" * identifier) ;) (declaration "int *piStack_17c;" primitive_type (pointer_declarator "*piStack_17c" * identifier) ;) (declaration "uint *puStack_178;" type_identifier (pointer_declarator "*puStack_178" * identifier) ;) (declaration "uint *puStack_174;" type_identifier (pointer_declarator "*puStack_174" * identifier) ;) (declaration "uint *puStack_170;" type_identifier (pointer_declarator "*puStack_170" * identifier) ;) (declaration "float fStack_16c;" primitive_type identifier ;) (declaration "float fStack_168;" primitive_type identifier ;) (declaration "code *pcStack_164;" type_identifier (pointer_declarator "*pcStack_164" * identifier) ;) (declaration "float *pfStack_140;" primitive_type (pointer_declarator "*pfStack_140" * identifier) ;) (declaration "float *pfStack_13c;" primitive_type (pointer_declarator "*pfStack_13c" * identifier) ;) (declaration "int iStack_138;" primitive_type identifier ;) (declaration "float *pfStack_134;" primitive_type (pointer_declarator "*pfStack_134" * identifier) ;) (declaration "code *pcStack_130;" type_identifier (pointer_declarator "*pcStack_130" * identifier) ;) (declaration "code *pcStack_128;" type_identifier (pointer_declarator "*pcStack_128" * identifier) ;) (declaration "uint uStack_124;" type_identifier identifier ;) (declaration "uint uStack_120;" type_identifier identifier ;) (declaration "float fStack_11c;" primitive_type identifier ;) (declaration "float fStack_118;" primitive_type identifier ;) (declaration "undefined4 uStack_114;" type_identifier identifier ;) (declaration "uint *puStack_110;" type_identifier (pointer_declarator "*puStack_110" * identifier) ;) (declaration "undefined4 uStack_10c;" type_identifier identifier ;) (declaration "undefined4 uStack_108;" type_identifier identifier ;) (declaration "uint uStack_104;" type_identifier identifier ;) (declaration "uint uStack_100;" type_identifier identifier ;) (declaration "int iStack_fc;" primitive_type identifier ;) (declaration "undefined4 uStack_f8;" type_identifier identifier ;) (declaration "undefined4 uStack_f4;" type_identifier identifier ;) (declaration "undefined4 uStack_f0;" type_identifier identifier ;) (declaration "undefined4 uStack_ec;" type_identifier identifier ;) (declaration "undefined4 uStack_e8;" type_identifier identifier ;) (declaration "int iStack_e4;" primitive_type identifier ;) (declaration "float *pfStack_e0;" primitive_type (pointer_declarator "*pfStack_e0" * identifier) ;) (declaration "float *pfStack_dc;" primitive_type (pointer_declarator "*pfStack_dc" * identifier) ;) (declaration "float *pfStack_d8;" primitive_type (pointer_declarator "*pfStack_d8" * identifier) ;) (declaration "float *pfStack_d4;" primitive_type (pointer_declarator "*pfStack_d4" * identifier) ;) (declaration "uint *puStack_d0;" type_identifier (pointer_declarator "*puStack_d0" * identifier) ;) (declaration "uint *puStack_cc;" type_identifier (pointer_declarator "*puStack_cc" * identifier) ;) (declaration "undefined4 uStack_9c;" type_identifier identifier ;) (declaration "float afStack_8c [2];" primitive_type (array_declarator "afStack_8c [2]" identifier [ number_literal ]) ;) (declaration "float local_54;" primitive_type identifier ;) (declaration "float local_50;" primitive_type identifier ;) (declaration "byte *local_4c [16];" type_identifier (pointer_declarator "*local_4c [16]" * (array_declarator "local_4c [16]" identifier [ number_literal ])) ;) (declaration "float *local_c;" primitive_type (pointer_declarator "*local_c" * identifier) ;) (expression_statement "puVar29 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar29 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "pfVar18 = (float *)(param_8 + param_9 * 0x10);" (assignment_expression "pfVar18 = (float *)(param_8 + param_9 * 0x10)" identifier = (cast_expression "(float *)(param_8 + param_9 * 0x10)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + param_9 * 0x10)" ( (binary_expression "param_8 + param_9 * 0x10" identifier + (binary_expression "param_9 * 0x10" identifier * number_literal)) )))) ;) (expression_statement "local_c = *(float **)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_c = *(float **)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(float **)PTR___stack_chk_guard_003a9230" * (cast_expression "(float **)PTR___stack_chk_guard_003a9230" ( (type_descriptor "float **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (param_1 < 1) {\n    fVar34 = 1.4013e-45;\n    if (0 < param_9) goto LAB_00212794;\n    *param_7 = 0.0;\n    param_7[1] = 0.0;\n    param_7[2] = 0.0;\n    param_7[3] = 0.0;\n  }\n  else {\n    pfVar3 = (float *)local_4c;\n    iVar8 = 0;\n    pfVar19 = param_2;\n    pfVar23 = pfVar3;\n    pfVar9 = pfVar18;\n    do {\n      fVar42 = pfVar19[1];\n      pfVar16 = (float *)((int)pfVar9 + 1);\n      pfVar11 = pfVar23 + 1;\n      fVar39 = *pfVar19;\n      fVar34 = pfVar19[2];\n      *(byte *)pfVar9 = (byte)iVar8;\n      iVar8 = iVar8 + 1;\n      *pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;\n      pfVar19 = pfVar19 + 4;\n      pfVar23 = pfVar11;\n      pfVar9 = pfVar16;\n    } while (iVar8 != param_1);\n    pfVar19 = (float *)((int)pfVar18 + -1);\n    do {\n      if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }\n      pfVar19 = (float *)((int)pfVar19 + 1);\n      pfVar3 = pfVar3 + 1;\n    } while ((float *)((int)pfVar18 + param_1 + -1) != pfVar19);\n    param_3 = pfVar11;\n    param_4 = pfVar16;\n    if (param_9 < 1) {\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\nLAB_00212818:\n      iVar8 = 0;\n      do {\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      } while (param_3 != (float *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);\n      iVar8 = 0;\n      pfVar16 = param_4;\n      do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\n      param_4 = pfVar16;\n      if (0 < param_1) goto LAB_00212818;\n    }\n    fVar34 = 1.4013e-45;\n  }" if (parenthesized_expression "(param_1 < 1)" ( (binary_expression "param_1 < 1" identifier < number_literal) )) (compound_statement "{\n    fVar34 = 1.4013e-45;\n    if (0 < param_9) goto LAB_00212794;\n    *param_7 = 0.0;\n    param_7[1] = 0.0;\n    param_7[2] = 0.0;\n    param_7[3] = 0.0;\n  }" { (expression_statement "fVar34 = 1.4013e-45;" (assignment_expression "fVar34 = 1.4013e-45" identifier = number_literal) ;) (if_statement "if (0 < param_9) goto LAB_00212794;" if (parenthesized_expression "(0 < param_9)" ( (binary_expression "0 < param_9" number_literal < identifier) )) (goto_statement "goto LAB_00212794;" goto statement_identifier ;)) (expression_statement "*param_7 = 0.0;" (assignment_expression "*param_7 = 0.0" (pointer_expression "*param_7" * identifier) = number_literal) ;) (expression_statement "param_7[1] = 0.0;" (assignment_expression "param_7[1] = 0.0" (subscript_expression "param_7[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_7[2] = 0.0;" (assignment_expression "param_7[2] = 0.0" (subscript_expression "param_7[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_7[3] = 0.0;" (assignment_expression "param_7[3] = 0.0" (subscript_expression "param_7[3]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n    pfVar3 = (float *)local_4c;\n    iVar8 = 0;\n    pfVar19 = param_2;\n    pfVar23 = pfVar3;\n    pfVar9 = pfVar18;\n    do {\n      fVar42 = pfVar19[1];\n      pfVar16 = (float *)((int)pfVar9 + 1);\n      pfVar11 = pfVar23 + 1;\n      fVar39 = *pfVar19;\n      fVar34 = pfVar19[2];\n      *(byte *)pfVar9 = (byte)iVar8;\n      iVar8 = iVar8 + 1;\n      *pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;\n      pfVar19 = pfVar19 + 4;\n      pfVar23 = pfVar11;\n      pfVar9 = pfVar16;\n    } while (iVar8 != param_1);\n    pfVar19 = (float *)((int)pfVar18 + -1);\n    do {\n      if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }\n      pfVar19 = (float *)((int)pfVar19 + 1);\n      pfVar3 = pfVar3 + 1;\n    } while ((float *)((int)pfVar18 + param_1 + -1) != pfVar19);\n    param_3 = pfVar11;\n    param_4 = pfVar16;\n    if (param_9 < 1) {\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\nLAB_00212818:\n      iVar8 = 0;\n      do {\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      } while (param_3 != (float *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);\n      iVar8 = 0;\n      pfVar16 = param_4;\n      do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\n      param_4 = pfVar16;\n      if (0 < param_1) goto LAB_00212818;\n    }\n    fVar34 = 1.4013e-45;\n  }" else (compound_statement "{\n    pfVar3 = (float *)local_4c;\n    iVar8 = 0;\n    pfVar19 = param_2;\n    pfVar23 = pfVar3;\n    pfVar9 = pfVar18;\n    do {\n      fVar42 = pfVar19[1];\n      pfVar16 = (float *)((int)pfVar9 + 1);\n      pfVar11 = pfVar23 + 1;\n      fVar39 = *pfVar19;\n      fVar34 = pfVar19[2];\n      *(byte *)pfVar9 = (byte)iVar8;\n      iVar8 = iVar8 + 1;\n      *pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;\n      pfVar19 = pfVar19 + 4;\n      pfVar23 = pfVar11;\n      pfVar9 = pfVar16;\n    } while (iVar8 != param_1);\n    pfVar19 = (float *)((int)pfVar18 + -1);\n    do {\n      if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }\n      pfVar19 = (float *)((int)pfVar19 + 1);\n      pfVar3 = pfVar3 + 1;\n    } while ((float *)((int)pfVar18 + param_1 + -1) != pfVar19);\n    param_3 = pfVar11;\n    param_4 = pfVar16;\n    if (param_9 < 1) {\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\nLAB_00212818:\n      iVar8 = 0;\n      do {\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      } while (param_3 != (float *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);\n      iVar8 = 0;\n      pfVar16 = param_4;\n      do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\n      param_4 = pfVar16;\n      if (0 < param_1) goto LAB_00212818;\n    }\n    fVar34 = 1.4013e-45;\n  }" { (expression_statement "pfVar3 = (float *)local_4c;" (assignment_expression "pfVar3 = (float *)local_4c" identifier = (cast_expression "(float *)local_4c" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar19 = param_2;" (assignment_expression "pfVar19 = param_2" identifier = identifier) ;) (expression_statement "pfVar23 = pfVar3;" (assignment_expression "pfVar23 = pfVar3" identifier = identifier) ;) (expression_statement "pfVar9 = pfVar18;" (assignment_expression "pfVar9 = pfVar18" identifier = identifier) ;) (do_statement "do {\n      fVar42 = pfVar19[1];\n      pfVar16 = (float *)((int)pfVar9 + 1);\n      pfVar11 = pfVar23 + 1;\n      fVar39 = *pfVar19;\n      fVar34 = pfVar19[2];\n      *(byte *)pfVar9 = (byte)iVar8;\n      iVar8 = iVar8 + 1;\n      *pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;\n      pfVar19 = pfVar19 + 4;\n      pfVar23 = pfVar11;\n      pfVar9 = pfVar16;\n    } while (iVar8 != param_1);" do (compound_statement "{\n      fVar42 = pfVar19[1];\n      pfVar16 = (float *)((int)pfVar9 + 1);\n      pfVar11 = pfVar23 + 1;\n      fVar39 = *pfVar19;\n      fVar34 = pfVar19[2];\n      *(byte *)pfVar9 = (byte)iVar8;\n      iVar8 = iVar8 + 1;\n      *pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;\n      pfVar19 = pfVar19 + 4;\n      pfVar23 = pfVar11;\n      pfVar9 = pfVar16;\n    }" { (expression_statement "fVar42 = pfVar19[1];" (assignment_expression "fVar42 = pfVar19[1]" identifier = (subscript_expression "pfVar19[1]" identifier [ number_literal ])) ;) (expression_statement "pfVar16 = (float *)((int)pfVar9 + 1);" (assignment_expression "pfVar16 = (float *)((int)pfVar9 + 1)" identifier = (cast_expression "(float *)((int)pfVar9 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar9 + 1)" ( (binary_expression "(int)pfVar9 + 1" (cast_expression "(int)pfVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pfVar11 = pfVar23 + 1;" (assignment_expression "pfVar11 = pfVar23 + 1" identifier = (binary_expression "pfVar23 + 1" identifier + number_literal)) ;) (expression_statement "fVar39 = *pfVar19;" (assignment_expression "fVar39 = *pfVar19" identifier = (pointer_expression "*pfVar19" * identifier)) ;) (expression_statement "fVar34 = pfVar19[2];" (assignment_expression "fVar34 = pfVar19[2]" identifier = (subscript_expression "pfVar19[2]" identifier [ number_literal ])) ;) (expression_statement "*(byte *)pfVar9 = (byte)iVar8;" (assignment_expression "*(byte *)pfVar9 = (byte)iVar8" (pointer_expression "*(byte *)pfVar9" * (cast_expression "(byte *)pfVar9" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(byte)iVar8" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "*pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;" (assignment_expression "*pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42" (pointer_expression "*pfVar23" * identifier) = (binary_expression "param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42" (binary_expression "param_5 * fVar34 + (float)param_3 * fVar39" (binary_expression "param_5 * fVar34" identifier * identifier) + (binary_expression "(float)param_3 * fVar39" (cast_expression "(float)param_3" ( (type_descriptor "float" primitive_type) ) identifier) * identifier)) + (binary_expression "(float)param_4 * fVar42" (cast_expression "(float)param_4" ( (type_descriptor "float" primitive_type) ) identifier) * identifier))) ;) (expression_statement "pfVar19 = pfVar19 + 4;" (assignment_expression "pfVar19 = pfVar19 + 4" identifier = (binary_expression "pfVar19 + 4" identifier + number_literal)) ;) (expression_statement "pfVar23 = pfVar11;" (assignment_expression "pfVar23 = pfVar11" identifier = identifier) ;) (expression_statement "pfVar9 = pfVar16;" (assignment_expression "pfVar9 = pfVar16" identifier = identifier) ;) }) while (parenthesized_expression "(iVar8 != param_1)" ( (binary_expression "iVar8 != param_1" identifier != identifier) )) ;) (expression_statement "pfVar19 = (float *)((int)pfVar18 + -1);" (assignment_expression "pfVar19 = (float *)((int)pfVar18 + -1)" identifier = (cast_expression "(float *)((int)pfVar18 + -1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar18 + -1)" ( (binary_expression "(int)pfVar18 + -1" (cast_expression "(int)pfVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n      if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }\n      pfVar19 = (float *)((int)pfVar19 + 1);\n      pfVar3 = pfVar3 + 1;\n    } while ((float *)((int)pfVar18 + param_1 + -1) != pfVar19);" do (compound_statement "{\n      if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }\n      pfVar19 = (float *)((int)pfVar19 + 1);\n      pfVar3 = pfVar3 + 1;\n    }" { (if_statement "if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }" if (parenthesized_expression "((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0)" ( (binary_expression "(byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0" (cast_expression "(byte *)((1 - (int)pfVar18) + (int)pfVar19)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((1 - (int)pfVar18) + (int)pfVar19)" ( (binary_expression "(1 - (int)pfVar18) + (int)pfVar19" (parenthesized_expression "(1 - (int)pfVar18)" ( (binary_expression "1 - (int)pfVar18" number_literal - (cast_expression "(int)pfVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )) + (cast_expression "(int)pfVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ))) != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }" { (expression_statement "fVar39 = *pfVar3;" (assignment_expression "fVar39 = *pfVar3" identifier = (pointer_expression "*pfVar3" * identifier)) ;) (expression_statement "fVar34 = pfVar3[-1];" (assignment_expression "fVar34 = pfVar3[-1]" identifier = (subscript_expression "pfVar3[-1]" identifier [ number_literal ])) ;) (if_statement "if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }" if (parenthesized_expression "(fVar39 < fVar34)" ( (binary_expression "fVar39 < fVar34" identifier < identifier) )) (compound_statement "{\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }" { (expression_statement "bVar2 = *(byte *)((int)pfVar19 + 1);" (assignment_expression "bVar2 = *(byte *)((int)pfVar19 + 1)" identifier = (pointer_expression "*(byte *)((int)pfVar19 + 1)" * (cast_expression "(byte *)((int)pfVar19 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar19 + 1)" ( (binary_expression "(int)pfVar19 + 1" (cast_expression "(int)pfVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pfVar16 = (float *)(uint)bVar2;" (assignment_expression "pfVar16 = (float *)(uint)bVar2" identifier = (cast_expression "(float *)(uint)bVar2" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pfVar23 = pfVar19;" (assignment_expression "pfVar23 = pfVar19" identifier = identifier) ;) (expression_statement "pfVar9 = pfVar3;" (assignment_expression "pfVar9 = pfVar3" identifier = identifier) ;) (do_statement "do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);" do (compound_statement "{\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          }" { (expression_statement "bVar1 = *(byte *)pfVar23;" (assignment_expression "bVar1 = *(byte *)pfVar23" identifier = (pointer_expression "*(byte *)pfVar23" * (cast_expression "(byte *)pfVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pfVar11 = (float *)(uint)bVar1;" (assignment_expression "pfVar11 = (float *)(uint)bVar1" identifier = (cast_expression "(float *)(uint)bVar1" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "*pfVar9 = fVar34;" (assignment_expression "*pfVar9 = fVar34" (pointer_expression "*pfVar9" * identifier) = identifier) ;) (expression_statement "*(byte *)pfVar23 = bVar2;" (assignment_expression "*(byte *)pfVar23 = bVar2" (pointer_expression "*(byte *)pfVar23" * (cast_expression "(byte *)pfVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "pfVar9[-1] = fVar39;" (assignment_expression "pfVar9[-1] = fVar39" (subscript_expression "pfVar9[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(byte *)((int)pfVar23 + 1) = bVar1;" (assignment_expression "*(byte *)((int)pfVar23 + 1) = bVar1" (pointer_expression "*(byte *)((int)pfVar23 + 1)" * (cast_expression "(byte *)((int)pfVar23 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar23 + 1)" ( (binary_expression "(int)pfVar23 + 1" (cast_expression "(int)pfVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (pfVar18 == pfVar23) break;" if (parenthesized_expression "(pfVar18 == pfVar23)" ( (binary_expression "pfVar18 == pfVar23" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "fVar34 = pfVar9[-2];" (assignment_expression "fVar34 = pfVar9[-2]" identifier = (subscript_expression "pfVar9[-2]" identifier [ number_literal ])) ;) (expression_statement "pfVar23 = (float *)((int)pfVar23 + -1);" (assignment_expression "pfVar23 = (float *)((int)pfVar23 + -1)" identifier = (cast_expression "(float *)((int)pfVar23 + -1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar23 + -1)" ( (binary_expression "(int)pfVar23 + -1" (cast_expression "(int)pfVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pfVar9 = pfVar9 + -1;" (assignment_expression "pfVar9 = pfVar9 + -1" identifier = (binary_expression "pfVar9 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(fVar39 < fVar34)" ( (binary_expression "fVar39 < fVar34" identifier < identifier) )) ;) })) })) (expression_statement "pfVar19 = (float *)((int)pfVar19 + 1);" (assignment_expression "pfVar19 = (float *)((int)pfVar19 + 1)" identifier = (cast_expression "(float *)((int)pfVar19 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar19 + 1)" ( (binary_expression "(int)pfVar19 + 1" (cast_expression "(int)pfVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pfVar3 = pfVar3 + 1;" (assignment_expression "pfVar3 = pfVar3 + 1" identifier = (binary_expression "pfVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((float *)((int)pfVar18 + param_1 + -1) != pfVar19)" ( (binary_expression "(float *)((int)pfVar18 + param_1 + -1) != pfVar19" (cast_expression "(float *)((int)pfVar18 + param_1 + -1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar18 + param_1 + -1)" ( (binary_expression "(int)pfVar18 + param_1 + -1" (binary_expression "(int)pfVar18 + param_1" (cast_expression "(int)pfVar18" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))) != identifier) )) ;) (expression_statement "param_3 = pfVar11;" (assignment_expression "param_3 = pfVar11" identifier = identifier) ;) (expression_statement "param_4 = pfVar16;" (assignment_expression "param_4 = pfVar16" identifier = identifier) ;) (if_statement "if (param_9 < 1) {\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\nLAB_00212818:\n      iVar8 = 0;\n      do {\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      } while (param_3 != (float *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);\n      iVar8 = 0;\n      pfVar16 = param_4;\n      do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\n      param_4 = pfVar16;\n      if (0 < param_1) goto LAB_00212818;\n    }" if (parenthesized_expression "(param_9 < 1)" ( (binary_expression "param_9 < 1" identifier < number_literal) )) (compound_statement "{\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\nLAB_00212818:\n      iVar8 = 0;\n      do {\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      } while (param_3 != (float *)0x0);\n    }" { (expression_statement "*param_7 = 0.0;" (assignment_expression "*param_7 = 0.0" (pointer_expression "*param_7" * identifier) = number_literal) ;) (expression_statement "param_7[1] = 0.0;" (assignment_expression "param_7[1] = 0.0" (subscript_expression "param_7[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_7[2] = 0.0;" (assignment_expression "param_7[2] = 0.0" (subscript_expression "param_7[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_7[3] = 0.0;" (assignment_expression "param_7[3] = 0.0" (subscript_expression "param_7[3]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_00212818:\n      iVar8 = 0;" statement_identifier : (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;)) (do_statement "do {\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      } while (param_3 != (float *)0x0);" do (compound_statement "{\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      }" { (expression_statement "bVar2 = *(byte *)pfVar18;" (assignment_expression "bVar2 = *(byte *)pfVar18" identifier = (pointer_expression "*(byte *)pfVar18" * (cast_expression "(byte *)pfVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pfVar18 = (float *)((int)pfVar18 + 1);" (assignment_expression "pfVar18 = (float *)((int)pfVar18 + 1)" identifier = (cast_expression "(float *)((int)pfVar18 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar18 + 1)" ( (binary_expression "(int)pfVar18 + 1" (cast_expression "(int)pfVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "param_3 = (float *)(uint)(iVar8 < param_1);" (assignment_expression "param_3 = (float *)(uint)(iVar8 < param_1)" identifier = (cast_expression "(float *)(uint)(iVar8 < param_1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(iVar8 < param_1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar8 < param_1)" ( (binary_expression "iVar8 < param_1" identifier < identifier) ))))) ;) (expression_statement "pfVar3 = param_2 + (uint)bVar2 * 4;" (assignment_expression "pfVar3 = param_2 + (uint)bVar2 * 4" identifier = (binary_expression "param_2 + (uint)bVar2 * 4" identifier + (binary_expression "(uint)bVar2 * 4" (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal))) ;) (expression_statement "fVar34 = pfVar3[3];" (assignment_expression "fVar34 = pfVar3[3]" identifier = (subscript_expression "pfVar3[3]" identifier [ number_literal ])) ;) (expression_statement "fVar43 = *pfVar3;" (assignment_expression "fVar43 = *pfVar3" identifier = (pointer_expression "*pfVar3" * identifier)) ;) (expression_statement "fVar42 = pfVar3[1];" (assignment_expression "fVar42 = pfVar3[1]" identifier = (subscript_expression "pfVar3[1]" identifier [ number_literal ])) ;) (expression_statement "fVar39 = pfVar3[2];" (assignment_expression "fVar39 = pfVar3[2]" identifier = (subscript_expression "pfVar3[2]" identifier [ number_literal ])) ;) (expression_statement "param_6[3] = fVar34;" (assignment_expression "param_6[3] = fVar34" (subscript_expression "param_6[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*param_6 = fVar34 * fVar43;" (assignment_expression "*param_6 = fVar34 * fVar43" (pointer_expression "*param_6" * identifier) = (binary_expression "fVar34 * fVar43" identifier * identifier)) ;) (expression_statement "param_6[1] = fVar34 * fVar42;" (assignment_expression "param_6[1] = fVar34 * fVar42" (subscript_expression "param_6[1]" identifier [ number_literal ]) = (binary_expression "fVar34 * fVar42" identifier * identifier)) ;) (expression_statement "param_6[2] = fVar34 * fVar39;" (assignment_expression "param_6[2] = fVar34 * fVar39" (subscript_expression "param_6[2]" identifier [ number_literal ]) = (binary_expression "fVar34 * fVar39" identifier * identifier)) ;) (expression_statement "param_7[1] = fVar34 * fVar42 + param_7[1];" (assignment_expression "param_7[1] = fVar34 * fVar42 + param_7[1]" (subscript_expression "param_7[1]" identifier [ number_literal ]) = (binary_expression "fVar34 * fVar42 + param_7[1]" (binary_expression "fVar34 * fVar42" identifier * identifier) + (subscript_expression "param_7[1]" identifier [ number_literal ]))) ;) (expression_statement "param_7[2] = fVar34 * fVar39 + param_7[2];" (assignment_expression "param_7[2] = fVar34 * fVar39 + param_7[2]" (subscript_expression "param_7[2]" identifier [ number_literal ]) = (binary_expression "fVar34 * fVar39 + param_7[2]" (binary_expression "fVar34 * fVar39" identifier * identifier) + (subscript_expression "param_7[2]" identifier [ number_literal ]))) ;) (expression_statement "param_7[3] = fVar34 + param_7[3];" (assignment_expression "param_7[3] = fVar34 + param_7[3]" (subscript_expression "param_7[3]" identifier [ number_literal ]) = (binary_expression "fVar34 + param_7[3]" identifier + (subscript_expression "param_7[3]" identifier [ number_literal ]))) ;) (expression_statement "*param_7 = *param_7 + fVar34 * fVar43;" (assignment_expression "*param_7 = *param_7 + fVar34 * fVar43" (pointer_expression "*param_7" * identifier) = (binary_expression "*param_7 + fVar34 * fVar43" (pointer_expression "*param_7" * identifier) + (binary_expression "fVar34 * fVar43" identifier * identifier))) ;) (expression_statement "param_4 = pfVar16;" (assignment_expression "param_4 = pfVar16" identifier = identifier) ;) (expression_statement "param_6 = param_6 + 4;" (assignment_expression "param_6 = param_6 + 4" identifier = (binary_expression "param_6 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(param_3 != (float *)0x0)" ( (binary_expression "param_3 != (float *)0x0" identifier != (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }) (else_clause "else {\nLAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);\n      iVar8 = 0;\n      pfVar16 = param_4;\n      do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\n      param_4 = pfVar16;\n      if (0 < param_1) goto LAB_00212818;\n    }" else (compound_statement "{\nLAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);\n      iVar8 = 0;\n      pfVar16 = param_4;\n      do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\n      param_4 = pfVar16;\n      if (0 < param_1) goto LAB_00212818;\n    }" { (labeled_statement "LAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);" statement_identifier : (expression_statement "pbVar20 = (byte *)(param_8 + 1);" (assignment_expression "pbVar20 = (byte *)(param_8 + 1)" identifier = (cast_expression "(byte *)(param_8 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 1)" ( (binary_expression "param_8 + 1" identifier + number_literal) )))) ;)) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar16 = param_4;" (assignment_expression "pfVar16 = param_4" identifier = identifier) ;) (do_statement "do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);" do (compound_statement "{\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      }" { (expression_statement "fVar34 = 0.0;" (assignment_expression "fVar34 = 0.0" identifier = number_literal) ;) (expression_statement "param_4 = pfVar16;" (assignment_expression "param_4 = pfVar16" identifier = identifier) ;) (if_statement "if (param_1 == 0) goto LAB_002127dc;" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002127dc;" goto statement_identifier ;)) (expression_statement "pbVar10 = pbVar20;" (assignment_expression "pbVar10 = pbVar20" identifier = identifier) ;) (expression_statement "pfVar3 = pfVar18;" (assignment_expression "pfVar3 = pfVar18" identifier = identifier) ;) (if_statement "if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }" if (parenthesized_expression "(pbVar20[-1] == *(byte *)pfVar18)" ( (binary_expression "pbVar20[-1] == *(byte *)pfVar18" (subscript_expression "pbVar20[-1]" identifier [ number_literal ]) == (pointer_expression "*(byte *)pfVar18" * (cast_expression "(byte *)pfVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }" { (do_statement "do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);" do (compound_statement "{\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          }" { (expression_statement "pfVar3 = (float *)((int)pfVar3 + 1);" (assignment_expression "pfVar3 = (float *)((int)pfVar3 + 1)" identifier = (cast_expression "(float *)((int)pfVar3 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar3 + 1)" ( (binary_expression "(int)pfVar3 + 1" (cast_expression "(int)pfVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }" if (parenthesized_expression "((float *)((int)pfVar18 + param_1) == pfVar3)" ( (binary_expression "(float *)((int)pfVar18 + param_1) == pfVar3" (cast_expression "(float *)((int)pfVar18 + param_1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar18 + param_1)" ( (binary_expression "(int)pfVar18 + param_1" (cast_expression "(int)pfVar18" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) == identifier) )) (compound_statement "{\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }" { (expression_statement "fVar34 = 0.0;" (assignment_expression "fVar34 = 0.0" identifier = number_literal) ;) (expression_statement "param_4 = pfVar16;" (assignment_expression "param_4 = pfVar16" identifier = identifier) ;) (goto_statement "goto LAB_002127dc;" goto statement_identifier ;) })) (expression_statement "pfVar16 = (float *)(uint)*(byte *)pfVar3;" (assignment_expression "pfVar16 = (float *)(uint)*(byte *)pfVar3" identifier = (binary_expression "(float *)(uint)*(byte *)pfVar3" (cast_expression "(float *)(uint)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)pfVar3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "param_3 = (float *)(uint)*pbVar10;" (assignment_expression "param_3 = (float *)(uint)*pbVar10" identifier = (binary_expression "(float *)(uint)*pbVar10" (cast_expression "(float *)(uint)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier)) ;) (expression_statement "pbVar10 = pbVar10 + 1;" (assignment_expression "pbVar10 = pbVar10 + 1" identifier = (binary_expression "pbVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pfVar16 == param_3)" ( (binary_expression "pfVar16 == param_3" identifier == identifier) )) ;) })) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + 0x10;" (assignment_expression "pbVar20 = pbVar20 + 0x10" identifier = (binary_expression "pbVar20 + 0x10" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar8 < param_9)" ( (binary_expression "iVar8 < param_9" identifier < identifier) )) ;) (expression_statement "*param_7 = 0.0;" (assignment_expression "*param_7 = 0.0" (pointer_expression "*param_7" * identifier) = number_literal) ;) (expression_statement "param_7[1] = 0.0;" (assignment_expression "param_7[1] = 0.0" (subscript_expression "param_7[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_7[2] = 0.0;" (assignment_expression "param_7[2] = 0.0" (subscript_expression "param_7[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_7[3] = 0.0;" (assignment_expression "param_7[3] = 0.0" (subscript_expression "param_7[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_4 = pfVar16;" (assignment_expression "param_4 = pfVar16" identifier = identifier) ;) (if_statement "if (0 < param_1) goto LAB_00212818;" if (parenthesized_expression "(0 < param_1)" ( (binary_expression "0 < param_1" number_literal < identifier) )) (goto_statement "goto LAB_00212818;" goto statement_identifier ;)) }))) (expression_statement "fVar34 = 1.4013e-45;" (assignment_expression "fVar34 = 1.4013e-45" identifier = number_literal) ;) }))) (labeled_statement "LAB_002127dc:\n  if (local_c == *(float **)puVar29) {\n    return fVar34;\n  }" statement_identifier : (if_statement "if (local_c == *(float **)puVar29) {\n    return fVar34;\n  }" if (parenthesized_expression "(local_c == *(float **)puVar29)" ( (binary_expression "local_c == *(float **)puVar29" identifier == (pointer_expression "*(float **)puVar29" * (cast_expression "(float **)puVar29" ( (type_descriptor "float **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return fVar34;\n  }" { (return_statement "return fVar34;" return identifier ;) }))) (expression_statement "pfVar18 = local_c;" (assignment_expression "pfVar18 = local_c" identifier = identifier) ;) (expression_statement "puVar29 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar29 = PTR___stack_chk_fail_003a9064" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "fVar34 = *(float *)(*(int *)(puVar29 + 0x196010) + -0xe34);" (assignment_expression "fVar34 = *(float *)(*(int *)(puVar29 + 0x196010) + -0xe34)" identifier = (pointer_expression "*(float *)(*(int *)(puVar29 + 0x196010) + -0xe34)" * (cast_expression "(float *)(*(int *)(puVar29 + 0x196010) + -0xe34)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar29 + 0x196010) + -0xe34)" ( (binary_expression "*(int *)(puVar29 + 0x196010) + -0xe34" (pointer_expression "*(int *)(puVar29 + 0x196010)" * (cast_expression "(int *)(puVar29 + 0x196010)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0x196010)" ( (binary_expression "puVar29 + 0x196010" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "fVar39 = *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e70);" (assignment_expression "fVar39 = *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e70)" identifier = (pointer_expression "*(float *)(*(int *)(puVar29 + 0x196074) + -0x1e70)" * (cast_expression "(float *)(*(int *)(puVar29 + 0x196074) + -0x1e70)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar29 + 0x196074) + -0x1e70)" ( (binary_expression "*(int *)(puVar29 + 0x196074) + -0x1e70" (pointer_expression "*(int *)(puVar29 + 0x196074)" * (cast_expression "(int *)(puVar29 + 0x196074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0x196074)" ( (binary_expression "puVar29 + 0x196074" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "pfVar3 = *(float **)(puVar29 + 0x196954);" (assignment_expression "pfVar3 = *(float **)(puVar29 + 0x196954)" identifier = (pointer_expression "*(float **)(puVar29 + 0x196954)" * (cast_expression "(float **)(puVar29 + 0x196954)" ( (type_descriptor "float **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x196954)" ( (binary_expression "puVar29 + 0x196954" identifier + number_literal) ))))) ;) (expression_statement "afStack_8c[0] = *pfVar3;" (assignment_expression "afStack_8c[0] = *pfVar3" (subscript_expression "afStack_8c[0]" identifier [ number_literal ]) = (pointer_expression "*pfVar3" * identifier)) ;) (expression_statement "uVar40 = (uint)((float)param_2 * fVar39 + fVar34);" (assignment_expression "uVar40 = (uint)((float)param_2 * fVar39 + fVar34)" identifier = (call_expression "(uint)((float)param_2 * fVar39 + fVar34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((float)param_2 * fVar39 + fVar34)" ( (binary_expression "(float)param_2 * fVar39 + fVar34" (binary_expression "(float)param_2 * fVar39" (cast_expression "(float)param_2" ( (type_descriptor "float" primitive_type) ) identifier) * identifier) + identifier) )))) ;) (expression_statement "uVar41 = (uint)((float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34);" (assignment_expression "uVar41 = (uint)((float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34)" identifier = (call_expression "(uint)((float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34)" ( (binary_expression "(float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34" (binary_expression "(float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c)" (cast_expression "(float)param_3" ( (type_descriptor "float" primitive_type) ) identifier) * (pointer_expression "*(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c)" * (cast_expression "(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar29 + 0x196074) + -0x1e6c)" ( (binary_expression "*(int *)(puVar29 + 0x196074) + -0x1e6c" (pointer_expression "*(int *)(puVar29 + 0x196074)" * (cast_expression "(int *)(puVar29 + 0x196074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0x196074)" ( (binary_expression "puVar29 + 0x196074" identifier + number_literal) )))) + number_literal) ))))) + identifier) )))) ;) (if_statement "if (0x1f < uVar40) {\n    uVar40 = 0x1f;\n  }" if (parenthesized_expression "(0x1f < uVar40)" ( (binary_expression "0x1f < uVar40" number_literal < identifier) )) (compound_statement "{\n    uVar40 = 0x1f;\n  }" { (expression_statement "uVar40 = 0x1f;" (assignment_expression "uVar40 = 0x1f" identifier = number_literal) ;) })) (expression_statement "uVar35 = (uint)(fVar39 * 5.421411e-39 + fVar34);" (assignment_expression "uVar35 = (uint)(fVar39 * 5.421411e-39 + fVar34)" identifier = (call_expression "(uint)(fVar39 * 5.421411e-39 + fVar34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(fVar39 * 5.421411e-39 + fVar34)" ( (binary_expression "fVar39 * 5.421411e-39 + fVar34" (binary_expression "fVar39 * 5.421411e-39" identifier * number_literal) + identifier) )))) ;) (if_statement "if (0x3f < uVar41) {\n    uVar41 = 0x3f;\n  }" if (parenthesized_expression "(0x3f < uVar41)" ( (binary_expression "0x3f < uVar41" number_literal < identifier) )) (compound_statement "{\n    uVar41 = 0x3f;\n  }" { (expression_statement "uVar41 = 0x3f;" (assignment_expression "uVar41 = 0x3f" identifier = number_literal) ;) })) (expression_statement "uVar36 = (uint)(local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34);" (assignment_expression "uVar36 = (uint)(local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34)" identifier = (call_expression "(uint)(local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34)" ( (binary_expression "local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34" (binary_expression "local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c)" identifier * (pointer_expression "*(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c)" * (cast_expression "(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar29 + 0x196074) + -0x1e6c)" ( (binary_expression "*(int *)(puVar29 + 0x196074) + -0x1e6c" (pointer_expression "*(int *)(puVar29 + 0x196074)" * (cast_expression "(int *)(puVar29 + 0x196074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0x196074)" ( (binary_expression "puVar29 + 0x196074" identifier + number_literal) )))) + number_literal) ))))) + identifier) )))) ;) (if_statement "if (0x1f < uVar35) {\n    uVar35 = 0x1f;\n  }" if (parenthesized_expression "(0x1f < uVar35)" ( (binary_expression "0x1f < uVar35" number_literal < identifier) )) (compound_statement "{\n    uVar35 = 0x1f;\n  }" { (expression_statement "uVar35 = 0x1f;" (assignment_expression "uVar35 = 0x1f" identifier = number_literal) ;) })) (expression_statement "uVar37 = (uint)((float)param_4 * fVar39 + fVar34);" (assignment_expression "uVar37 = (uint)((float)param_4 * fVar39 + fVar34)" identifier = (call_expression "(uint)((float)param_4 * fVar39 + fVar34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((float)param_4 * fVar39 + fVar34)" ( (binary_expression "(float)param_4 * fVar39 + fVar34" (binary_expression "(float)param_4 * fVar39" (cast_expression "(float)param_4" ( (type_descriptor "float" primitive_type) ) identifier) * identifier) + identifier) )))) ;) (if_statement "if (0x3f < uVar36) {\n    uVar36 = 0x3f;\n  }" if (parenthesized_expression "(0x3f < uVar36)" ( (binary_expression "0x3f < uVar36" number_literal < identifier) )) (compound_statement "{\n    uVar36 = 0x3f;\n  }" { (expression_statement "uVar36 = 0x3f;" (assignment_expression "uVar36 = 0x3f" identifier = number_literal) ;) })) (expression_statement "uVar38 = (uint)(local_50 * fVar39 + fVar34);" (assignment_expression "uVar38 = (uint)(local_50 * fVar39 + fVar34)" identifier = (call_expression "(uint)(local_50 * fVar39 + fVar34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_50 * fVar39 + fVar34)" ( (binary_expression "local_50 * fVar39 + fVar34" (binary_expression "local_50 * fVar39" identifier * identifier) + identifier) )))) ;) (if_statement "if (0x1f < uVar37) {\n    uVar37 = 0x1f;\n  }" if (parenthesized_expression "(0x1f < uVar37)" ( (binary_expression "0x1f < uVar37" number_literal < identifier) )) (compound_statement "{\n    uVar37 = 0x1f;\n  }" { (expression_statement "uVar37 = 0x1f;" (assignment_expression "uVar37 = 0x1f" identifier = number_literal) ;) })) (expression_statement "puVar27 = (uint *)(uVar40 << 0xb | uVar41 << 5 | uVar37);" (assignment_expression "puVar27 = (uint *)(uVar40 << 0xb | uVar41 << 5 | uVar37)" identifier = (cast_expression "(uint *)(uVar40 << 0xb | uVar41 << 5 | uVar37)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar40 << 0xb | uVar41 << 5 | uVar37)" ( (binary_expression "uVar40 << 0xb | uVar41 << 5 | uVar37" (binary_expression "uVar40 << 0xb | uVar41 << 5" (binary_expression "uVar40 << 0xb" identifier << number_literal) | (binary_expression "uVar41 << 5" identifier << number_literal)) | identifier) )))) ;) (if_statement "if (0x1f < uVar38) {\n    uVar38 = 0x1f;\n  }" if (parenthesized_expression "(0x1f < uVar38)" ( (binary_expression "0x1f < uVar38" number_literal < identifier) )) (compound_statement "{\n    uVar38 = 0x1f;\n  }" { (expression_statement "uVar38 = 0x1f;" (assignment_expression "uVar38 = 0x1f" identifier = number_literal) ;) })) (expression_statement "puVar25 = (uint *)(uVar35 << 0xb | uVar36 << 5 | uVar38);" (assignment_expression "puVar25 = (uint *)(uVar35 << 0xb | uVar36 << 5 | uVar38)" identifier = (cast_expression "(uint *)(uVar35 << 0xb | uVar36 << 5 | uVar38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar35 << 0xb | uVar36 << 5 | uVar38)" ( (binary_expression "uVar35 << 0xb | uVar36 << 5 | uVar38" (binary_expression "uVar35 << 0xb | uVar36 << 5" (binary_expression "uVar35 << 0xb" identifier << number_literal) | (binary_expression "uVar36 << 5" identifier << number_literal)) | identifier) )))) ;) (expression_statement "pfVar19 = (float *)&uStack_9c;" (assignment_expression "pfVar19 = (float *)&uStack_9c" identifier = (cast_expression "(float *)&uStack_9c" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_9c" & identifier))) ;) (do_statement "do {\n    if (puVar27 < puVar25) {\n      *(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3;\n    }\n    else {\n      while (puVar25 != puVar27) {\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }\n      *(byte *)pfVar19 = 0;\n    }\n    pfVar23 = (float *)((int)pfVar19 + 1);\n    local_4c[0] = local_4c[0] + 1;\n    pfVar19 = pfVar23;\n  } while (afStack_8c != pfVar23);" do (compound_statement "{\n    if (puVar27 < puVar25) {\n      *(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3;\n    }\n    else {\n      while (puVar25 != puVar27) {\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }\n      *(byte *)pfVar19 = 0;\n    }\n    pfVar23 = (float *)((int)pfVar19 + 1);\n    local_4c[0] = local_4c[0] + 1;\n    pfVar19 = pfVar23;\n  }" { (if_statement "if (puVar27 < puVar25) {\n      *(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3;\n    }\n    else {\n      while (puVar25 != puVar27) {\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }\n      *(byte *)pfVar19 = 0;\n    }" if (parenthesized_expression "(puVar27 < puVar25)" ( (binary_expression "puVar27 < puVar25" identifier < identifier) )) (compound_statement "{\n      *(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3;\n    }" { (expression_statement "*(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3;" (assignment_expression "*(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3" (pointer_expression "*(byte *)pfVar19" * (cast_expression "(byte *)pfVar19" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(*local_4c[0] ^ 1) & 3" (parenthesized_expression "(*local_4c[0] ^ 1)" ( (binary_expression "*local_4c[0] ^ 1" (pointer_expression "*local_4c[0]" * (subscript_expression "local_4c[0]" identifier [ number_literal ])) ^ number_literal) )) & number_literal)) ;) }) (else_clause "else {\n      while (puVar25 != puVar27) {\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }\n      *(byte *)pfVar19 = 0;\n    }" else (compound_statement "{\n      while (puVar25 != puVar27) {\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }\n      *(byte *)pfVar19 = 0;\n    }" { (while_statement "while (puVar25 != puVar27) {\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }" while (parenthesized_expression "(puVar25 != puVar27)" ( (binary_expression "puVar25 != puVar27" identifier != identifier) )) (compound_statement "{\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }" { (expression_statement "bVar2 = *local_4c[0];" (assignment_expression "bVar2 = *local_4c[0]" identifier = (pointer_expression "*local_4c[0]" * (subscript_expression "local_4c[0]" identifier [ number_literal ]))) ;) (expression_statement "pfVar23 = (float *)((int)pfVar19 + 1);" (assignment_expression "pfVar23 = (float *)((int)pfVar19 + 1)" identifier = (cast_expression "(float *)((int)pfVar19 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar19 + 1)" ( (binary_expression "(int)pfVar19 + 1" (cast_expression "(int)pfVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_4c[0] = local_4c[0] + 1;" (assignment_expression "local_4c[0] = local_4c[0] + 1" (subscript_expression "local_4c[0]" identifier [ number_literal ]) = (binary_expression "local_4c[0] + 1" (subscript_expression "local_4c[0]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "*(byte *)pfVar19 = bVar2;" (assignment_expression "*(byte *)pfVar19 = bVar2" (pointer_expression "*(byte *)pfVar19" * (cast_expression "(byte *)pfVar19" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "pfVar19 = pfVar23;" (assignment_expression "pfVar19 = pfVar23" identifier = identifier) ;) (if_statement "if (afStack_8c == pfVar23) goto LAB_00212a50;" if (parenthesized_expression "(afStack_8c == pfVar23)" ( (binary_expression "afStack_8c == pfVar23" identifier == identifier) )) (goto_statement "goto LAB_00212a50;" goto statement_identifier ;)) })) (expression_statement "*(byte *)pfVar19 = 0;" (assignment_expression "*(byte *)pfVar19 = 0" (pointer_expression "*(byte *)pfVar19" * (cast_expression "(byte *)pfVar19" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) }))) (expression_statement "pfVar23 = (float *)((int)pfVar19 + 1);" (assignment_expression "pfVar23 = (float *)((int)pfVar19 + 1)" identifier = (cast_expression "(float *)((int)pfVar19 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar19 + 1)" ( (binary_expression "(int)pfVar19 + 1" (cast_expression "(int)pfVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_4c[0] = local_4c[0] + 1;" (assignment_expression "local_4c[0] = local_4c[0] + 1" (subscript_expression "local_4c[0]" identifier [ number_literal ]) = (binary_expression "local_4c[0] + 1" (subscript_expression "local_4c[0]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "pfVar19 = pfVar23;" (assignment_expression "pfVar19 = pfVar23" identifier = identifier) ;) }) while (parenthesized_expression "(afStack_8c != pfVar23)" ( (binary_expression "afStack_8c != pfVar23" identifier != identifier) )) ;) (labeled_statement "LAB_00212a50:\n  puVar26 = puVar25;" statement_identifier : (expression_statement "puVar26 = puVar25;" (assignment_expression "puVar26 = puVar25" identifier = identifier) ;)) (if_statement "if (puVar27 < puVar25) {\n    puVar26 = puVar27;\n    puVar27 = puVar25;\n  }" if (parenthesized_expression "(puVar27 < puVar25)" ( (binary_expression "puVar27 < puVar25" identifier < identifier) )) (compound_statement "{\n    puVar26 = puVar27;\n    puVar27 = puVar25;\n  }" { (expression_statement "puVar26 = puVar27;" (assignment_expression "puVar26 = puVar27" identifier = identifier) ;) (expression_statement "puVar27 = puVar25;" (assignment_expression "puVar27 = puVar25" identifier = identifier) ;) })) (expression_statement "(**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar27 & 0xff);" (call_expression "(**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar27 & 0xff)" (parenthesized_expression "(**(code **)(puVar29 + 0x196700))" ( (pointer_expression "**(code **)(puVar29 + 0x196700)" * (pointer_expression "*(code **)(puVar29 + 0x196700)" * (cast_expression "(code **)(puVar29 + 0x196700)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x196700)" ( (binary_expression "puVar29 + 0x196700" identifier + number_literal) ))))) )) (argument_list "(pfVar18,(uint)puVar27 & 0xff)" ( identifier , (binary_expression "(uint)puVar27 & 0xff" (cast_expression "(uint)puVar27" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) ;) (expression_statement "(**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar27 << 0x10) >> 0x18);" (call_expression "(**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar27 << 0x10) >> 0x18)" (parenthesized_expression "(**(code **)(puVar29 + 0x196700))" ( (pointer_expression "**(code **)(puVar29 + 0x196700)" * (pointer_expression "*(code **)(puVar29 + 0x196700)" * (cast_expression "(code **)(puVar29 + 0x196700)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x196700)" ( (binary_expression "puVar29 + 0x196700" identifier + number_literal) ))))) )) (argument_list "(pfVar18,(uint)((int)puVar27 << 0x10) >> 0x18)" ( identifier , (binary_expression "(uint)((int)puVar27 << 0x10) >> 0x18" (call_expression "(uint)((int)puVar27 << 0x10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar27 << 0x10)" ( (binary_expression "(int)puVar27 << 0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) ))) >> number_literal) ))) ;) (expression_statement "(**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar26 & 0xff);" (call_expression "(**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar26 & 0xff)" (parenthesized_expression "(**(code **)(puVar29 + 0x196700))" ( (pointer_expression "**(code **)(puVar29 + 0x196700)" * (pointer_expression "*(code **)(puVar29 + 0x196700)" * (cast_expression "(code **)(puVar29 + 0x196700)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x196700)" ( (binary_expression "puVar29 + 0x196700" identifier + number_literal) ))))) )) (argument_list "(pfVar18,(uint)puVar26 & 0xff)" ( identifier , (binary_expression "(uint)puVar26 & 0xff" (cast_expression "(uint)puVar26" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) ;) (expression_statement "(**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar26 << 0x10) >> 0x18);" (call_expression "(**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar26 << 0x10) >> 0x18)" (parenthesized_expression "(**(code **)(puVar29 + 0x196700))" ( (pointer_expression "**(code **)(puVar29 + 0x196700)" * (pointer_expression "*(code **)(puVar29 + 0x196700)" * (cast_expression "(code **)(puVar29 + 0x196700)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x196700)" ( (binary_expression "puVar29 + 0x196700" identifier + number_literal) ))))) )) (argument_list "(pfVar18,(uint)((int)puVar26 << 0x10) >> 0x18)" ( identifier , (binary_expression "(uint)((int)puVar26 << 0x10) >> 0x18" (call_expression "(uint)((int)puVar26 << 0x10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar26 << 0x10)" ( (binary_expression "(int)puVar26 << 0x10" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) ))) >> number_literal) ))) ;) (expression_statement "pfVar19 = (float *)&uStack_9c;" (assignment_expression "pfVar19 = (float *)&uStack_9c" identifier = (cast_expression "(float *)&uStack_9c" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_9c" & identifier))) ;) (do_statement "do {\n    pfVar11 = pfVar19 + 1;\n    pfVar16 = (float *)(((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff);\n    pfVar9 = pfVar18;\n    (**(code **)(puVar29 + 0x196700))();\n    pfVar19 = pfVar11;\n  } while (pfVar23 != pfVar11);" do (compound_statement "{\n    pfVar11 = pfVar19 + 1;\n    pfVar16 = (float *)(((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff);\n    pfVar9 = pfVar18;\n    (**(code **)(puVar29 + 0x196700))();\n    pfVar19 = pfVar11;\n  }" { (expression_statement "pfVar11 = pfVar19 + 1;" (assignment_expression "pfVar11 = pfVar19 + 1" identifier = (binary_expression "pfVar19 + 1" identifier + number_literal)) ;) (expression_statement "pfVar16 = (float *)(((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff);" (assignment_expression "pfVar16 = (float *)(((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff)" identifier = (cast_expression "(float *)(((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff)" ( (binary_expression "((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff" (parenthesized_expression "((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6)" ( (binary_expression "(uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6" (binary_expression "(uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19" (binary_expression "(uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4" (binary_expression "(uint)*(byte *)((int)pfVar19 + 1) << 2" (binary_expression "(uint)*(byte *)((int)pfVar19 + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pfVar19 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar19 + 1)" ( (binary_expression "(int)pfVar19 + 1" (cast_expression "(int)pfVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal) | (binary_expression "(uint)*(byte *)((int)pfVar19 + 2) << 4" (binary_expression "(uint)*(byte *)((int)pfVar19 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pfVar19 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar19 + 2)" ( (binary_expression "(int)pfVar19 + 2" (cast_expression "(int)pfVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal)) | (binary_expression "(uint)*(byte *)pfVar19" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)pfVar19" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) | (binary_expression "(uint)*(byte *)((int)pfVar19 + 3) << 6" (binary_expression "(uint)*(byte *)((int)pfVar19 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pfVar19 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar19 + 3)" ( (binary_expression "(int)pfVar19 + 3" (cast_expression "(int)pfVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal)) )) & number_literal) )))) ;) (expression_statement "pfVar9 = pfVar18;" (assignment_expression "pfVar9 = pfVar18" identifier = identifier) ;) (expression_statement "(**(code **)(puVar29 + 0x196700))();" (call_expression "(**(code **)(puVar29 + 0x196700))()" (parenthesized_expression "(**(code **)(puVar29 + 0x196700))" ( (pointer_expression "**(code **)(puVar29 + 0x196700)" * (pointer_expression "*(code **)(puVar29 + 0x196700)" * (cast_expression "(code **)(puVar29 + 0x196700)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x196700)" ( (binary_expression "puVar29 + 0x196700" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pfVar19 = pfVar11;" (assignment_expression "pfVar19 = pfVar11" identifier = identifier) ;) }) while (parenthesized_expression "(pfVar23 != pfVar11)" ( (binary_expression "pfVar23 != pfVar11" identifier != identifier) )) ;) (if_statement "if (afStack_8c[0] == *pfVar3) {\n    return *pfVar3;\n  }" if (parenthesized_expression "(afStack_8c[0] == *pfVar3)" ( (binary_expression "afStack_8c[0] == *pfVar3" (subscript_expression "afStack_8c[0]" identifier [ number_literal ]) == (pointer_expression "*pfVar3" * identifier)) )) (compound_statement "{\n    return *pfVar3;\n  }" { (return_statement "return *pfVar3;" return (pointer_expression "*pfVar3" * identifier) ;) })) (expression_statement "pcVar30 = *(code **)(puVar29 + 0x196788);" (assignment_expression "pcVar30 = *(code **)(puVar29 + 0x196788)" identifier = (pointer_expression "*(code **)(puVar29 + 0x196788)" * (cast_expression "(code **)(puVar29 + 0x196788)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x196788)" ( (binary_expression "puVar29 + 0x196788" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar30)();" (call_expression "(*pcVar30)()" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar32 = pcVar30 + 0x19dd78;" (assignment_expression "pcVar32 = pcVar30 + 0x19dd78" identifier = (binary_expression "pcVar30 + 0x19dd78" identifier + number_literal)) ;) (expression_statement "piVar24 = *(int **)(pcVar30 + 0x1966f8);" (assignment_expression "piVar24 = *(int **)(pcVar30 + 0x1966f8)" identifier = (pointer_expression "*(int **)(pcVar30 + 0x1966f8)" * (cast_expression "(int **)(pcVar30 + 0x1966f8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x1966f8)" ( (binary_expression "pcVar30 + 0x1966f8" identifier + number_literal) ))))) ;) (expression_statement "iStack_e4 = *piVar24;" (assignment_expression "iStack_e4 = *piVar24" identifier = (pointer_expression "*piVar24" * identifier)) ;) (expression_statement "pcStack_130 = pcVar32;" (assignment_expression "pcStack_130 = pcVar32" identifier = identifier) ;) (expression_statement "pfStack_e0 = pfVar23;" (assignment_expression "pfStack_e0 = pfVar23" identifier = identifier) ;) (expression_statement "pfStack_dc = pfVar18;" (assignment_expression "pfStack_dc = pfVar18" identifier = identifier) ;) (expression_statement "pfStack_d8 = pfVar3;" (assignment_expression "pfStack_d8 = pfVar3" identifier = identifier) ;) (expression_statement "pfStack_d4 = pfVar11;" (assignment_expression "pfStack_d4 = pfVar11" identifier = identifier) ;) (expression_statement "puStack_d0 = puVar26;" (assignment_expression "puStack_d0 = puVar26" identifier = identifier) ;) (expression_statement "puStack_cc = puVar27;" (assignment_expression "puStack_cc = puVar27" identifier = identifier) ;) (if_statement "if (pfVar9 == (float *)0x0) {\nLAB_00213360:\n    pfVar9 = pfVar18;\n    (**(code **)(pcVar32 + -0x72a8))\n              (*(int *)(pcVar32 + -0x7fd0) + 0xd78,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n  }\n  else {\n    if (pfVar9[0xc85] != -1.2269538e-12) goto LAB_00213390;\n    if (pfVar9[0xc84] != 0.0) {\n      pfStack_13c = pfVar9 + 0x884;\n      pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);\n    }\n    pcVar32 = pcStack_130;\n    pfVar3 = pfVar16;\n    if (pfVar16 == (float *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n      pfVar18 = pfVar9;\n      goto LAB_00213360;\n    }\n    if (pfVar16[7] != -1.2269538e-12) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }\n    pfVar23 = (float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16);\n    iVar8 = (**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16);\n    if (iVar8 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      fVar34 = 0.0;\n      goto LAB_00212c9c;\n    }\n    pfStack_140 = (float *)0x0;\n    (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n    iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n    if ((iVar8 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar26 = (uint *)0x1;\n      fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      if (iVar8 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      puVar26 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pfStack_140 = (float *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = 0.0;\n      unaff_s7 = 2.24208e-44;\n      pcStack_128 = (code *)(puVar27 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar26 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar26 = (uint *)0x1;\nLAB_00212ed8:\n      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);\n      puVar27 = puVar26;\n      if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }\n      else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar8 = (*pcVar32)(0xb);\n      if (iVar8 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar27 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);\n      uStack_124 = (uint)(iVar8 != 0);\n      while( true ) {\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n      fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n    }\n    else {\nLAB_00212c24:\n      uVar17 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar15 = *(int *)(pcStack_130 + -0x7f60);\n      iVar8 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar32 = *(code **)(pcStack_130 + -0x7990);\n      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;\n      iStack_138 = iStack_138 + 0x3e28;\n      pfStack_140 = (float *)&DAT_000001a9;\n      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);\n      if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }\n      fVar34 = 0.0;\n      pfVar9 = pfVar9 + 0x884;\n    }\nLAB_00212c9c:\n    pcVar32 = pcStack_130;\n    if (iStack_e4 == *piVar24) {\n      return fVar34;\n    }\n  }" if (parenthesized_expression "(pfVar9 == (float *)0x0)" ( (binary_expression "pfVar9 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00213360:\n    pfVar9 = pfVar18;\n    (**(code **)(pcVar32 + -0x72a8))\n              (*(int *)(pcVar32 + -0x7fd0) + 0xd78,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n  }" { (labeled_statement "LAB_00213360:\n    pfVar9 = pfVar18;" statement_identifier : (expression_statement "pfVar9 = pfVar18;" (assignment_expression "pfVar9 = pfVar18" identifier = identifier) ;)) (expression_statement "(**(code **)(pcVar32 + -0x72a8))\n              (*(int *)(pcVar32 + -0x7fd0) + 0xd78,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar32 + -0x7f60) + -0x2ab4);" (call_expression "(**(code **)(pcVar32 + -0x72a8))\n              (*(int *)(pcVar32 + -0x7fd0) + 0xd78,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar32 + -0x7f60) + -0x2ab4)" (parenthesized_expression "(**(code **)(pcVar32 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar32 + -0x72a8)" * (pointer_expression "*(code **)(pcVar32 + -0x72a8)" * (cast_expression "(code **)(pcVar32 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + -0x72a8)" ( (binary_expression "pcVar32 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar32 + -0x7fd0) + 0xd78,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar32 + -0x7f60) + -0x2ab4)" ( (binary_expression "*(int *)(pcVar32 + -0x7fd0) + 0xd78" (pointer_expression "*(int *)(pcVar32 + -0x7fd0)" * (cast_expression "(int *)(pcVar32 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + -0x7fd0)" ( (binary_expression "pcVar32 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar32 + -0x7f60) + -0x2c20" (pointer_expression "*(int *)(pcVar32 + -0x7f60)" * (cast_expression "(int *)(pcVar32 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + -0x7f60)" ( (binary_expression "pcVar32 + -0x7f60" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar32 + -0x7f60) + -0x2ab4" (pointer_expression "*(int *)(pcVar32 + -0x7f60)" * (cast_expression "(int *)(pcVar32 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + -0x7f60)" ( (binary_expression "pcVar32 + -0x7f60" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    if (pfVar9[0xc85] != -1.2269538e-12) goto LAB_00213390;\n    if (pfVar9[0xc84] != 0.0) {\n      pfStack_13c = pfVar9 + 0x884;\n      pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);\n    }\n    pcVar32 = pcStack_130;\n    pfVar3 = pfVar16;\n    if (pfVar16 == (float *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n      pfVar18 = pfVar9;\n      goto LAB_00213360;\n    }\n    if (pfVar16[7] != -1.2269538e-12) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }\n    pfVar23 = (float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16);\n    iVar8 = (**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16);\n    if (iVar8 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      fVar34 = 0.0;\n      goto LAB_00212c9c;\n    }\n    pfStack_140 = (float *)0x0;\n    (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n    iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n    if ((iVar8 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar26 = (uint *)0x1;\n      fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      if (iVar8 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      puVar26 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pfStack_140 = (float *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = 0.0;\n      unaff_s7 = 2.24208e-44;\n      pcStack_128 = (code *)(puVar27 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar26 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar26 = (uint *)0x1;\nLAB_00212ed8:\n      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);\n      puVar27 = puVar26;\n      if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }\n      else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar8 = (*pcVar32)(0xb);\n      if (iVar8 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar27 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);\n      uStack_124 = (uint)(iVar8 != 0);\n      while( true ) {\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n      fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n    }\n    else {\nLAB_00212c24:\n      uVar17 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar15 = *(int *)(pcStack_130 + -0x7f60);\n      iVar8 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar32 = *(code **)(pcStack_130 + -0x7990);\n      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;\n      iStack_138 = iStack_138 + 0x3e28;\n      pfStack_140 = (float *)&DAT_000001a9;\n      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);\n      if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }\n      fVar34 = 0.0;\n      pfVar9 = pfVar9 + 0x884;\n    }\nLAB_00212c9c:\n    pcVar32 = pcStack_130;\n    if (iStack_e4 == *piVar24) {\n      return fVar34;\n    }\n  }" else (compound_statement "{\n    if (pfVar9[0xc85] != -1.2269538e-12) goto LAB_00213390;\n    if (pfVar9[0xc84] != 0.0) {\n      pfStack_13c = pfVar9 + 0x884;\n      pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);\n    }\n    pcVar32 = pcStack_130;\n    pfVar3 = pfVar16;\n    if (pfVar16 == (float *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n      pfVar18 = pfVar9;\n      goto LAB_00213360;\n    }\n    if (pfVar16[7] != -1.2269538e-12) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }\n    pfVar23 = (float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16);\n    iVar8 = (**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16);\n    if (iVar8 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      fVar34 = 0.0;\n      goto LAB_00212c9c;\n    }\n    pfStack_140 = (float *)0x0;\n    (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n    iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n    if ((iVar8 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar26 = (uint *)0x1;\n      fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      if (iVar8 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      puVar26 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pfStack_140 = (float *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = 0.0;\n      unaff_s7 = 2.24208e-44;\n      pcStack_128 = (code *)(puVar27 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar26 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar26 = (uint *)0x1;\nLAB_00212ed8:\n      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);\n      puVar27 = puVar26;\n      if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }\n      else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar8 = (*pcVar32)(0xb);\n      if (iVar8 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar27 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);\n      uStack_124 = (uint)(iVar8 != 0);\n      while( true ) {\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n      fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n    }\n    else {\nLAB_00212c24:\n      uVar17 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar15 = *(int *)(pcStack_130 + -0x7f60);\n      iVar8 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar32 = *(code **)(pcStack_130 + -0x7990);\n      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;\n      iStack_138 = iStack_138 + 0x3e28;\n      pfStack_140 = (float *)&DAT_000001a9;\n      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);\n      if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }\n      fVar34 = 0.0;\n      pfVar9 = pfVar9 + 0x884;\n    }\nLAB_00212c9c:\n    pcVar32 = pcStack_130;\n    if (iStack_e4 == *piVar24) {\n      return fVar34;\n    }\n  }" { (if_statement "if (pfVar9[0xc85] != -1.2269538e-12) goto LAB_00213390;" if (parenthesized_expression "(pfVar9[0xc85] != -1.2269538e-12)" ( (binary_expression "pfVar9[0xc85] != -1.2269538e-12" (subscript_expression "pfVar9[0xc85]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_00213390;" goto statement_identifier ;)) (if_statement "if (pfVar9[0xc84] != 0.0) {\n      pfStack_13c = pfVar9 + 0x884;\n      pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);\n    }" if (parenthesized_expression "(pfVar9[0xc84] != 0.0)" ( (binary_expression "pfVar9[0xc84] != 0.0" (subscript_expression "pfVar9[0xc84]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      pfStack_13c = pfVar9 + 0x884;\n      pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);\n    }" { (expression_statement "pfStack_13c = pfVar9 + 0x884;" (assignment_expression "pfStack_13c = pfVar9 + 0x884" identifier = (binary_expression "pfVar9 + 0x884" identifier + number_literal)) ;) (expression_statement "pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);" (assignment_expression "pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac)" identifier = (cast_expression "(float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar30 + 0x195dac) + -0x62ac)" ( (binary_expression "*(int *)(pcVar30 + 0x195dac) + -0x62ac" (pointer_expression "*(int *)(pcVar30 + 0x195dac)" * (cast_expression "(int *)(pcVar30 + 0x195dac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x195dac)" ( (binary_expression "pcVar30 + 0x195dac" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);" (call_expression "(**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca)" (parenthesized_expression "(**(code **)(pcVar30 + 0x1966a8))" ( (pointer_expression "**(code **)(pcVar30 + 0x1966a8)" * (pointer_expression "*(code **)(pcVar30 + 0x1966a8)" * (cast_expression "(code **)(pcVar30 + 0x1966a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x1966a8)" ( (binary_expression "pcVar30 + 0x1966a8" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca)" ( number_literal , (binary_expression "*(int *)(pcVar30 + 0x195e18) + -0x2c20" (pointer_expression "*(int *)(pcVar30 + 0x195e18)" * (cast_expression "(int *)(pcVar30 + 0x195e18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x195e18)" ( (binary_expression "pcVar30 + 0x195e18" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar30 + 0x195e18) + -0x2ac4" (pointer_expression "*(int *)(pcVar30 + 0x195e18)" * (cast_expression "(int *)(pcVar30 + 0x195e18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x195e18)" ( (binary_expression "pcVar30 + 0x195e18" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "pcVar32 = pcStack_130;" (assignment_expression "pcVar32 = pcStack_130" identifier = identifier) ;) (expression_statement "pfVar3 = pfVar16;" (assignment_expression "pfVar3 = pfVar16" identifier = identifier) ;) (if_statement "if (pfVar16 == (float *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n      pfVar18 = pfVar9;\n      goto LAB_00213360;\n    }" if (parenthesized_expression "(pfVar16 == (float *)0x0)" ( (binary_expression "pfVar16 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0021333c:\n      (**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n      pfVar18 = pfVar9;\n      goto LAB_00213360;\n    }" { (labeled_statement "LAB_0021333c:\n      (**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);" statement_identifier : (expression_statement "(**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);" (call_expression "(**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4)" (parenthesized_expression "(**(code **)(pcVar32 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar32 + -0x72a8)" * (pointer_expression "*(code **)(pcVar32 + -0x72a8)" * (cast_expression "(code **)(pcVar32 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + -0x72a8)" ( (binary_expression "pcVar32 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4)" ( (binary_expression "*(int *)(pcVar32 + -0x7fd0) + 0x1cac" (pointer_expression "*(int *)(pcVar32 + -0x7fd0)" * (cast_expression "(int *)(pcVar32 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + -0x7fd0)" ( (binary_expression "pcVar32 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar32 + -0x7f60) + -0x2c20" (pointer_expression "*(int *)(pcVar32 + -0x7f60)" * (cast_expression "(int *)(pcVar32 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + -0x7f60)" ( (binary_expression "pcVar32 + -0x7f60" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar32 + -0x7f60) + -0x2ab4" (pointer_expression "*(int *)(pcVar32 + -0x7f60)" * (cast_expression "(int *)(pcVar32 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + -0x7f60)" ( (binary_expression "pcVar32 + -0x7f60" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "pfVar18 = pfVar9;" (assignment_expression "pfVar18 = pfVar9" identifier = identifier) ;) (goto_statement "goto LAB_00213360;" goto statement_identifier ;) })) (if_statement "if (pfVar16[7] != -1.2269538e-12) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }" if (parenthesized_expression "(pfVar16[7] != -1.2269538e-12)" ( (binary_expression "pfVar16[7] != -1.2269538e-12" (subscript_expression "pfVar16[7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }" { (expression_statement "(**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);" (call_expression "(**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x72a8))" ( (pointer_expression "**(code **)(pcStack_130 + -0x72a8)" * (pointer_expression "*(code **)(pcStack_130 + -0x72a8)" * (cast_expression "(code **)(pcStack_130 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x72a8)" ( (binary_expression "pcStack_130 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4)" ( (binary_expression "*(int *)(pcStack_130 + -0x7fd0) + 0x294c" (pointer_expression "*(int *)(pcStack_130 + -0x7fd0)" * (cast_expression "(int *)(pcStack_130 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7fd0)" ( (binary_expression "pcStack_130 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2c20" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2ab4" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_0021333c;" goto statement_identifier ;) })) (expression_statement "pfVar23 = (float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16);" (assignment_expression "pfVar23 = (float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16)" identifier = (cast_expression "(float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x72a4))" ( (pointer_expression "**(code **)(pcStack_130 + -0x72a4)" * (pointer_expression "*(code **)(pcStack_130 + -0x72a4)" * (cast_expression "(code **)(pcStack_130 + -0x72a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x72a4)" ( (binary_expression "pcStack_130 + -0x72a4" identifier + number_literal) ))))) )) (argument_list "(pfVar9,pfVar16)" ( identifier , identifier ))))) ;) (expression_statement "iVar8 = (**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16);" (assignment_expression "iVar8 = (**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7664))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7664)" * (pointer_expression "*(code **)(pcStack_130 + -0x7664)" * (cast_expression "(code **)(pcStack_130 + -0x7664)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7664)" ( (binary_expression "pcStack_130 + -0x7664" identifier + number_literal) ))))) )) (argument_list "(pfVar9,pfVar23,2,pfVar16)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar8 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      fVar34 = 0.0;\n      goto LAB_00212c9c;\n    }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n      (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      fVar34 = 0.0;\n      goto LAB_00212c9c;\n    }" { (expression_statement "(**(code **)(pcStack_130 + -0x73a0))(pfVar23);" (call_expression "(**(code **)(pcStack_130 + -0x73a0))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x73a0))" ( (pointer_expression "**(code **)(pcStack_130 + -0x73a0)" * (pointer_expression "*(code **)(pcStack_130 + -0x73a0)" * (cast_expression "(code **)(pcStack_130 + -0x73a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x73a0)" ( (binary_expression "pcStack_130 + -0x73a0" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))) ;) (expression_statement "fVar34 = 0.0;" (assignment_expression "fVar34 = 0.0" identifier = number_literal) ;) (goto_statement "goto LAB_00212c9c;" goto statement_identifier ;) })) (expression_statement "pfStack_140 = (float *)0x0;" (assignment_expression "pfStack_140 = (float *)0x0" identifier = (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcStack_130 + -0x7588))(pfVar23);" (call_expression "(**(code **)(pcStack_130 + -0x7588))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7588))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7588)" * (pointer_expression "*(code **)(pcStack_130 + -0x7588)" * (cast_expression "(code **)(pcStack_130 + -0x7588)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7588)" ( (binary_expression "pcStack_130 + -0x7588" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))) ;) (expression_statement "iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (if_statement "if ((iVar8 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar26 = (uint *)0x1;\n      fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      if (iVar8 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      puVar26 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pfStack_140 = (float *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = 0.0;\n      unaff_s7 = 2.24208e-44;\n      pcStack_128 = (code *)(puVar27 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar26 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar26 = (uint *)0x1;\nLAB_00212ed8:\n      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);\n      puVar27 = puVar26;\n      if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }\n      else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar8 = (*pcVar32)(0xb);\n      if (iVar8 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar27 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);\n      uStack_124 = (uint)(iVar8 != 0);\n      while( true ) {\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n      fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n    }\n    else {\nLAB_00212c24:\n      uVar17 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar15 = *(int *)(pcStack_130 + -0x7f60);\n      iVar8 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar32 = *(code **)(pcStack_130 + -0x7990);\n      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;\n      iStack_138 = iStack_138 + 0x3e28;\n      pfStack_140 = (float *)&DAT_000001a9;\n      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);\n      if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }\n      fVar34 = 0.0;\n      pfVar9 = pfVar9 + 0x884;\n    }" if (parenthesized_expression "((iVar8 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)\n       )" ( (binary_expression "(iVar8 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)" (parenthesized_expression "(iVar8 == 0x7c)" ( (binary_expression "iVar8 == 0x7c" identifier == number_literal) )) && (parenthesized_expression "(uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)" ( (comma_expression "uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006" (assignment_expression "uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) , (binary_expression "(uStack_120 & 0x1006) == 0x1006" (parenthesized_expression "(uStack_120 & 0x1006)" ( (binary_expression "uStack_120 & 0x1006" identifier & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n      puVar26 = (uint *)0x1;\n      fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      if (iVar8 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      puVar26 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pfStack_140 = (float *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = 0.0;\n      unaff_s7 = 2.24208e-44;\n      pcStack_128 = (code *)(puVar27 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar26 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar26 = (uint *)0x1;\nLAB_00212ed8:\n      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);\n      puVar27 = puVar26;\n      if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }\n      else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar8 = (*pcVar32)(0xb);\n      if (iVar8 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar27 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);\n      uStack_124 = (uint)(iVar8 != 0);\n      while( true ) {\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n      fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n    }" { (expression_statement "puVar26 = (uint *)0x1;" (assignment_expression "puVar26 = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (cast_expression "(float)(**(code **)(pcStack_130 + -0x7844))(pfVar23)" ( (type_descriptor "float" primitive_type) ) (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))))) ;) (expression_statement "fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (cast_expression "(float)(**(code **)(pcStack_130 + -0x7844))(pfVar23)" ( (type_descriptor "float" primitive_type) ) (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))))) ;) (expression_statement "uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (expression_statement "puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (cast_expression "(uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))))) ;) (expression_statement "uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (expression_statement "pfStack_140 = (float *)0x1;" (assignment_expression "pfStack_140 = (float *)0x1" identifier = (cast_expression "(float *)0x1" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcStack_130 + -0x7588))(pfVar23);" (call_expression "(**(code **)(pcStack_130 + -0x7588))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7588))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7588)" * (pointer_expression "*(code **)(pcStack_130 + -0x7588)" * (cast_expression "(code **)(pcStack_130 + -0x7588)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7588)" ( (binary_expression "pcStack_130 + -0x7588" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))) ;) (expression_statement "iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (if_statement "if (iVar8 != 0x20) goto LAB_00212c24;" if (parenthesized_expression "(iVar8 != 0x20)" ( (binary_expression "iVar8 != 0x20" identifier != number_literal) )) (goto_statement "goto LAB_00212c24;" goto statement_identifier ;)) (expression_statement "uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (expression_statement "iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (expression_statement "uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (expression_statement "uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (expression_statement "uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (expression_statement "uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (expression_statement "uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (expression_statement "uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (expression_statement "uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (expression_statement "pfStack_140 = (float *)0x1;" (assignment_expression "pfStack_140 = (float *)0x1" identifier = (cast_expression "(float *)0x1" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcStack_130 + -0x7588))(pfVar23);" (call_expression "(**(code **)(pcStack_130 + -0x7588))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7588))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7588)" * (pointer_expression "*(code **)(pcStack_130 + -0x7588)" * (cast_expression "(code **)(pcStack_130 + -0x7588)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7588)" ( (binary_expression "pcStack_130 + -0x7588" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))) ;) (expression_statement "puVar26 = (uint *)(uStack_104 & 0x200);" (assignment_expression "puVar26 = (uint *)(uStack_104 & 0x200)" identifier = (cast_expression "(uint *)(uStack_104 & 0x200)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_104 & 0x200)" ( (binary_expression "uStack_104 & 0x200" identifier & number_literal) )))) ;) (if_statement "if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }" if (parenthesized_expression "((int)(uStack_104 << 10) < 0)" ( (binary_expression "(int)(uStack_104 << 10) < 0" (cast_expression "(int)(uStack_104 << 10)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uStack_104 << 10)" ( (binary_expression "uStack_104 << 10" identifier << number_literal) ))) < number_literal) )) (compound_statement "{\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }" { (expression_statement "unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);" (assignment_expression "unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0)" identifier = (cast_expression "(uint *)(uint)(puStack_110 != (uint *)0x0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(puStack_110 != (uint *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puStack_110 != (uint *)0x0)" ( (binary_expression "puStack_110 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) ;) }) (else_clause "else {\n        unaff_s6 = (uint *)0x0;\n      }" else (compound_statement "{\n        unaff_s6 = (uint *)0x0;\n      }" { (expression_statement "unaff_s6 = (uint *)0x0;" (assignment_expression "unaff_s6 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "pfStack_140 = (float *)0x0;" (assignment_expression "pfStack_140 = (float *)0x0" identifier = (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcStack_130 + -0x7588))(pfVar23);" (call_expression "(**(code **)(pcStack_130 + -0x7588))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7588))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7588)" * (pointer_expression "*(code **)(pcStack_130 + -0x7588)" * (cast_expression "(code **)(pcStack_130 + -0x7588)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7588)" ( (binary_expression "pcStack_130 + -0x7588" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))) ;) (if_statement "if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }" if (parenthesized_expression "((uStack_100 & 0x40) == 0)" ( (binary_expression "(uStack_100 & 0x40) == 0" (parenthesized_expression "(uStack_100 & 0x40)" ( (binary_expression "uStack_100 & 0x40" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }" { (if_statement "if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }" if (parenthesized_expression "(-1 < (int)(uStack_100 << 0xe))" ( (binary_expression "-1 < (int)(uStack_100 << 0xe)" number_literal < (cast_expression "(int)(uStack_100 << 0xe)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uStack_100 << 0xe)" ( (binary_expression "uStack_100 << 0xe" identifier << number_literal) )))) )) (compound_statement "{\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }" { (if_statement "if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }" if (parenthesized_expression "((uStack_100 & 4) == 0)" ( (binary_expression "(uStack_100 & 4) == 0" (parenthesized_expression "(uStack_100 & 4)" ( (binary_expression "uStack_100 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }" { (expression_statement "uVar17 = 0x729;" (assignment_expression "uVar17 = 0x729" identifier = number_literal) ;) (goto_statement "goto LAB_002130b8;" goto statement_identifier ;) })) (if_statement "if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }" if (parenthesized_expression "(iStack_fc == 0x33545844)" ( (binary_expression "iStack_fc == 0x33545844" identifier == number_literal) )) (compound_statement "{\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }" { (expression_statement "puVar27 = *(uint **)(pcStack_130 + -0x7cec);" (assignment_expression "puVar27 = *(uint **)(pcStack_130 + -0x7cec)" identifier = (pointer_expression "*(uint **)(pcStack_130 + -0x7cec)" * (cast_expression "(uint **)(pcStack_130 + -0x7cec)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7cec)" ( (binary_expression "pcStack_130 + -0x7cec" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8 = 5.60519e-45;" (assignment_expression "unaff_s8 = 5.60519e-45" identifier = number_literal) ;) (expression_statement "unaff_s7 = 7.00649e-45;" (assignment_expression "unaff_s7 = 7.00649e-45" identifier = number_literal) ;) (expression_statement "pcStack_128 = (code *)(puVar27 + 0x1678);" (assignment_expression "pcStack_128 = (code *)(puVar27 + 0x1678)" identifier = (cast_expression "(code *)(puVar27 + 0x1678)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + 0x1678)" ( (binary_expression "puVar27 + 0x1678" identifier + number_literal) )))) ;) }) (else_clause "else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }" else (if_statement "if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }" if (parenthesized_expression "(iStack_fc == 0x35545844)" ( (binary_expression "iStack_fc == 0x35545844" identifier == number_literal) )) (compound_statement "{\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }" { (expression_statement "puVar27 = *(uint **)(pcStack_130 + -0x7cec);" (assignment_expression "puVar27 = *(uint **)(pcStack_130 + -0x7cec)" identifier = (pointer_expression "*(uint **)(pcStack_130 + -0x7cec)" * (cast_expression "(uint **)(pcStack_130 + -0x7cec)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7cec)" ( (binary_expression "pcStack_130 + -0x7cec" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8 = 5.60519e-45;" (assignment_expression "unaff_s8 = 5.60519e-45" identifier = number_literal) ;) (expression_statement "unaff_s7 = 8.40779e-45;" (assignment_expression "unaff_s7 = 8.40779e-45" identifier = number_literal) ;) (expression_statement "pcStack_128 = (code *)(puVar27 + 0x1635);" (assignment_expression "pcStack_128 = (code *)(puVar27 + 0x1635)" identifier = (cast_expression "(code *)(puVar27 + 0x1635)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + 0x1635)" ( (binary_expression "puVar27 + 0x1635" identifier + number_literal) )))) ;) }) (else_clause "else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }" else (compound_statement "{\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }" { (expression_statement "uVar17 = 0x722;" (assignment_expression "uVar17 = 0x722" identifier = number_literal) ;) (if_statement "if (iStack_fc != 0x31545844) goto LAB_002130b8;" if (parenthesized_expression "(iStack_fc != 0x31545844)" ( (binary_expression "iStack_fc != 0x31545844" identifier != number_literal) )) (goto_statement "goto LAB_002130b8;" goto statement_identifier ;)) (expression_statement "puVar27 = *(uint **)(pcStack_130 + -0x7cec);" (assignment_expression "puVar27 = *(uint **)(pcStack_130 + -0x7cec)" identifier = (pointer_expression "*(uint **)(pcStack_130 + -0x7cec)" * (cast_expression "(uint **)(pcStack_130 + -0x7cec)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7cec)" ( (binary_expression "pcStack_130 + -0x7cec" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8 = 0.0;" (assignment_expression "unaff_s8 = 0.0" identifier = number_literal) ;) (expression_statement "unaff_s7 = 5.60519e-45;" (assignment_expression "unaff_s7 = 5.60519e-45" identifier = number_literal) ;) (expression_statement "pcStack_128 = (code *)(puVar27 + 0x16bb);" (assignment_expression "pcStack_128 = (code *)(puVar27 + 0x16bb)" identifier = (cast_expression "(code *)(puVar27 + 0x16bb)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + 0x16bb)" ( (binary_expression "puVar27 + 0x16bb" identifier + number_literal) )))) ;) }))))) (goto_statement "goto joined_r0x00212ec0;" goto statement_identifier ;) })) (expression_statement "puVar27 = *(uint **)(pcStack_130 + -0x7cec);" (assignment_expression "puVar27 = *(uint **)(pcStack_130 + -0x7cec)" identifier = (pointer_expression "*(uint **)(pcStack_130 + -0x7cec)" * (cast_expression "(uint **)(pcStack_130 + -0x7cec)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7cec)" ( (binary_expression "pcStack_130 + -0x7cec" identifier + number_literal) ))))) ;) (if_statement "if ((uStack_100 & 1) == 0) goto LAB_00212fe4;" if (parenthesized_expression "((uStack_100 & 1) == 0)" ( (binary_expression "(uStack_100 & 1) == 0" (parenthesized_expression "(uStack_100 & 1)" ( (binary_expression "uStack_100 & 1" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00212fe4;" goto statement_identifier ;)) (expression_statement "uVar17 = 0x6fe;" (assignment_expression "uVar17 = 0x6fe" identifier = number_literal) ;) (labeled_statement "LAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);" statement_identifier : (expression_statement "iStack_138 = *(int *)(pcStack_130 + -0x7fd0);" (assignment_expression "iStack_138 = *(int *)(pcStack_130 + -0x7fd0)" identifier = (pointer_expression "*(int *)(pcStack_130 + -0x7fd0)" * (cast_expression "(int *)(pcStack_130 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7fd0)" ( (binary_expression "pcStack_130 + -0x7fd0" identifier + number_literal) ))))) ;)) (expression_statement "iVar15 = *(int *)(pcStack_130 + -0x7f60);" (assignment_expression "iVar15 = *(int *)(pcStack_130 + -0x7f60)" identifier = (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(pcStack_130 + -0x7f60);" (assignment_expression "iVar8 = *(int *)(pcStack_130 + -0x7f60)" identifier = (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) ))))) ;) (expression_statement "pcVar32 = *(code **)(pcStack_130 + -0x7990);" (assignment_expression "pcVar32 = *(code **)(pcStack_130 + -0x7990)" identifier = (pointer_expression "*(code **)(pcStack_130 + -0x7990)" * (cast_expression "(code **)(pcStack_130 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7990)" ( (binary_expression "pcStack_130 + -0x7990" identifier + number_literal) ))))) ;) (expression_statement "pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);" (assignment_expression "pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10)" identifier = (cast_expression "(float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_130 + -0x7f60) + -0x2c10)" ( (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2c10" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_00212c58;" goto statement_identifier ;) })) (expression_statement "puVar27 = *(uint **)(pcStack_130 + -0x7cec);" (assignment_expression "puVar27 = *(uint **)(pcStack_130 + -0x7cec)" identifier = (pointer_expression "*(uint **)(pcStack_130 + -0x7cec)" * (cast_expression "(uint **)(pcStack_130 + -0x7cec)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7cec)" ( (binary_expression "pcStack_130 + -0x7cec" identifier + number_literal) ))))) ;) (if_statement "if ((uStack_100 & 1) != 0) {\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }" if (parenthesized_expression "((uStack_100 & 1) != 0)" ( (binary_expression "(uStack_100 & 1) != 0" (parenthesized_expression "(uStack_100 & 1)" ( (binary_expression "uStack_100 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }" { (expression_statement "puVar27 = *(uint **)(pcStack_130 + -0x7cec);" (assignment_expression "puVar27 = *(uint **)(pcStack_130 + -0x7cec)" identifier = (pointer_expression "*(uint **)(pcStack_130 + -0x7cec)" * (cast_expression "(uint **)(pcStack_130 + -0x7cec)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7cec)" ( (binary_expression "pcStack_130 + -0x7cec" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8 = 5.60519e-45;" (assignment_expression "unaff_s8 = 5.60519e-45" identifier = number_literal) ;) (expression_statement "unaff_s7 = 2.24208e-44;" (assignment_expression "unaff_s7 = 2.24208e-44" identifier = number_literal) ;) (expression_statement "pcStack_128 = (code *)(puVar27 + 0x16fe);" (assignment_expression "pcStack_128 = (code *)(puVar27 + 0x16fe)" identifier = (cast_expression "(code *)(puVar27 + 0x16fe)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + 0x16fe)" ( (binary_expression "puVar27 + 0x16fe" identifier + number_literal) )))) ;) (goto_statement "goto joined_r0x00212ec0;" goto statement_identifier ;) })) (labeled_statement "LAB_00212fe4:\n      unaff_s8 = 0.0;" statement_identifier : (expression_statement "unaff_s8 = 0.0;" (assignment_expression "unaff_s8 = 0.0" identifier = number_literal) ;)) (expression_statement "unaff_s7 = 2.24208e-44;" (assignment_expression "unaff_s7 = 2.24208e-44" identifier = number_literal) ;) (expression_statement "pcStack_128 = (code *)(puVar27 + 0x1285);" (assignment_expression "pcStack_128 = (code *)(puVar27 + 0x1285)" identifier = (cast_expression "(code *)(puVar27 + 0x1285)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + 0x1285)" ( (binary_expression "puVar27 + 0x1285" identifier + number_literal) )))) ;) (labeled_statement "joined_r0x00212ec0:\n      if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }" statement_identifier : (if_statement "if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }" if (parenthesized_expression "(puVar26 != (uint *)0x0)" ( (binary_expression "puVar26 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }" { (expression_statement "puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);" (assignment_expression "puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f)" identifier = (cast_expression "(uint *)-((int)(uStack_104 << 0x15) >> 0x1f)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (unary_expression "-((int)(uStack_104 << 0x15) >> 0x1f)" - (parenthesized_expression "((int)(uStack_104 << 0x15) >> 0x1f)" ( (binary_expression "(int)(uStack_104 << 0x15) >> 0x1f" (cast_expression "(int)(uStack_104 << 0x15)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uStack_104 << 0x15)" ( (binary_expression "uStack_104 << 0x15" identifier << number_literal) ))) >> number_literal) ))))) ;) (if_statement "if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }" if (parenthesized_expression "((uStack_104 & 0x800) != 0)" ( (binary_expression "(uStack_104 & 0x800) != 0" (parenthesized_expression "(uStack_104 & 0x800)" ( (binary_expression "uStack_104 & 0x800" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }" { (expression_statement "puVar26 = (uint *)((int)puVar26 + 1);" (assignment_expression "puVar26 = (uint *)((int)puVar26 + 1)" identifier = (cast_expression "(uint *)((int)puVar26 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar26 + 1)" ( (binary_expression "(int)puVar26 + 1" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }" if (parenthesized_expression "((uStack_104 & 0x1000) != 0)" ( (binary_expression "(uStack_104 & 0x1000) != 0" (parenthesized_expression "(uStack_104 & 0x1000)" ( (binary_expression "uStack_104 & 0x1000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }" { (expression_statement "puVar26 = (uint *)((int)puVar26 + 1);" (assignment_expression "puVar26 = (uint *)((int)puVar26 + 1)" identifier = (cast_expression "(uint *)((int)puVar26 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar26 + 1)" ( (binary_expression "(int)puVar26 + 1" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }" if (parenthesized_expression "((uStack_104 & 0x2000) != 0)" ( (binary_expression "(uStack_104 & 0x2000) != 0" (parenthesized_expression "(uStack_104 & 0x2000)" ( (binary_expression "uStack_104 & 0x2000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }" { (expression_statement "puVar26 = (uint *)((int)puVar26 + 1);" (assignment_expression "puVar26 = (uint *)((int)puVar26 + 1)" identifier = (cast_expression "(uint *)((int)puVar26 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar26 + 1)" ( (binary_expression "(int)puVar26 + 1" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }" if (parenthesized_expression "((uStack_104 & 0x4000) != 0)" ( (binary_expression "(uStack_104 & 0x4000) != 0" (parenthesized_expression "(uStack_104 & 0x4000)" ( (binary_expression "uStack_104 & 0x4000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }" { (expression_statement "puVar26 = (uint *)((int)puVar26 + 1);" (assignment_expression "puVar26 = (uint *)((int)puVar26 + 1)" identifier = (cast_expression "(uint *)((int)puVar26 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar26 + 1)" ( (binary_expression "(int)puVar26 + 1" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }" if (parenthesized_expression "((uStack_104 & 0x8000) == 0)" ( (binary_expression "(uStack_104 & 0x8000) == 0" (parenthesized_expression "(uStack_104 & 0x8000)" ( (binary_expression "uStack_104 & 0x8000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }" { (if_statement "if (unaff_s6 == (uint *)0x0) goto LAB_00213068;" if (parenthesized_expression "(unaff_s6 == (uint *)0x0)" ( (binary_expression "unaff_s6 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00213068;" goto statement_identifier ;)) }) (else_clause "else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }" else (compound_statement "{\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }" { (expression_statement "puVar26 = (uint *)((int)puVar26 + 1);" (assignment_expression "puVar26 = (uint *)((int)puVar26 + 1)" identifier = (cast_expression "(uint *)((int)puVar26 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar26 + 1)" ( (binary_expression "(int)puVar26 + 1" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;" if (parenthesized_expression "(unaff_s6 == (uint *)0x0)" ( (binary_expression "unaff_s6 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00212ed8;" goto statement_identifier ;)) }))) (expression_statement "puVar26 = puStack_110;" (assignment_expression "puVar26 = puStack_110" identifier = identifier) ;) (labeled_statement "LAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }" statement_identifier : (if_statement "if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }" if (parenthesized_expression "(puVar26 != (uint *)0x0)" ( (binary_expression "puVar26 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }" { (expression_statement "unaff_s6 = (uint *)0x0;" (assignment_expression "unaff_s6 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00212ed8;" goto statement_identifier ;) }))) (labeled_statement "LAB_00212efc:\n        uVar17 = 0x73f;" statement_identifier : (expression_statement "uVar17 = 0x73f;" (assignment_expression "uVar17 = 0x73f" identifier = number_literal) ;)) (goto_statement "goto LAB_00212c2c;" goto statement_identifier ;) }))) (expression_statement "puVar26 = puStack_110;" (assignment_expression "puVar26 = puStack_110" identifier = identifier) ;) (if_statement "if (unaff_s6 != (uint *)0x0) goto LAB_00213068;" if (parenthesized_expression "(unaff_s6 != (uint *)0x0)" ( (binary_expression "unaff_s6 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00213068;" goto statement_identifier ;)) (expression_statement "puVar26 = (uint *)0x1;" (assignment_expression "puVar26 = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00212ed8:\n      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);" statement_identifier : (expression_statement "uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);" (assignment_expression "uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x73f8))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x73f8))" ( (pointer_expression "**(code **)(pcStack_130 + -0x73f8)" * (pointer_expression "*(code **)(pcStack_130 + -0x73f8)" * (cast_expression "(code **)(pcStack_130 + -0x73f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x73f8)" ( (binary_expression "pcStack_130 + -0x73f8" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;)) (expression_statement "puVar27 = puVar26;" (assignment_expression "puVar27 = puVar26" identifier = identifier) ;) (if_statement "if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }\n      else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }" if (parenthesized_expression "(unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20))" ( (binary_expression "unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)" identifier == (cast_expression "(uint *)((ulonglong)uVar46 >> 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar46 >> 0x20)" ( (binary_expression "(ulonglong)uVar46 >> 0x20" (cast_expression "(ulonglong)uVar46" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) )) (compound_statement "{\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }" { (expression_statement "pcVar32 = *(code **)(pcStack_130 + -0x7094);" (assignment_expression "pcVar32 = *(code **)(pcStack_130 + -0x7094)" identifier = (pointer_expression "*(code **)(pcStack_130 + -0x7094)" * (cast_expression "(code **)(pcStack_130 + -0x7094)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7094)" ( (binary_expression "pcStack_130 + -0x7094" identifier + number_literal) ))))) ;) (if_statement "if ((uint *)uVar46 < puVar26) goto LAB_00212efc;" if (parenthesized_expression "((uint *)uVar46 < puVar26)" ( (binary_expression "(uint *)uVar46 < puVar26" (cast_expression "(uint *)uVar46" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < identifier) )) (goto_statement "goto LAB_00212efc;" goto statement_identifier ;)) }) (else_clause "else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }" else (compound_statement "{\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }" { (expression_statement "pcVar32 = *(code **)(pcStack_130 + -0x7094);" (assignment_expression "pcVar32 = *(code **)(pcStack_130 + -0x7094)" identifier = (pointer_expression "*(code **)(pcStack_130 + -0x7094)" * (cast_expression "(code **)(pcStack_130 + -0x7094)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7094)" ( (binary_expression "pcStack_130 + -0x7094" identifier + number_literal) ))))) ;) }))) (expression_statement "iVar8 = (*pcVar32)(0xb);" (assignment_expression "iVar8 = (*pcVar32)(0xb)" identifier = (call_expression "(*pcVar32)(0xb)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(0xb)" ( number_literal )))) ;) (if_statement "if (iVar8 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }" { (expression_statement "iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;" (assignment_expression "iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28" identifier = (binary_expression "*(int *)(pcStack_130 + -0x7fd0) + 0x3e28" (pointer_expression "*(int *)(pcStack_130 + -0x7fd0)" * (cast_expression "(int *)(pcStack_130 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7fd0)" ( (binary_expression "pcStack_130 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);" (assignment_expression "pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4)" identifier = (cast_expression "(float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4)" ( (binary_expression "*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4" (pointer_expression "*(int *)(pcStack_130 + -0x7fd0)" * (cast_expression "(int *)(pcStack_130 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7fd0)" ( (binary_expression "pcStack_130 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pfStack_140 = (float *)0x190;" (assignment_expression "pfStack_140 = (float *)0x190" identifier = (cast_expression "(float *)0x190" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfStack_134 = pfVar9 + 0x884;" (assignment_expression "pfStack_134 = pfVar9 + 0x884" identifier = (binary_expression "pfVar9 + 0x884" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);" (call_expression "(**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7990))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7990)" * (pointer_expression "*(code **)(pcStack_130 + -0x7990)" * (cast_expression "(code **)(pcStack_130 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7990)" ( (binary_expression "pcStack_130 + -0x7990" identifier + number_literal) ))))) )) (argument_list "(pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742)" ( identifier , (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2c20" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2ac4" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (if_statement "if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }" if (parenthesized_expression "(pfVar23 == (float *)0x0)" ( (binary_expression "pfVar23 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }" { (expression_statement "fVar34 = 0.0;" (assignment_expression "fVar34 = 0.0" identifier = number_literal) ;) (expression_statement "pfVar9 = pfVar9 + 0x884;" (assignment_expression "pfVar9 = pfVar9 + 0x884" identifier = (binary_expression "pfVar9 + 0x884" identifier + number_literal)) ;) (goto_statement "goto LAB_00212c9c;" goto statement_identifier ;) })) (goto_statement "goto LAB_00212c74;" goto statement_identifier ;) })) (expression_statement "puVar27 = &uStack_120;" (assignment_expression "puVar27 = &uStack_120" identifier = (pointer_expression "&uStack_120" & identifier)) ;) (expression_statement "unaff_s6 = (uint *)0x0;" (assignment_expression "unaff_s6 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);" (assignment_expression "uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7748))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7748)" * (pointer_expression "*(code **)(pcStack_130 + -0x7748)" * (cast_expression "(code **)(pcStack_130 + -0x7748)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7748)" ( (binary_expression "pcStack_130 + -0x7748" identifier + number_literal) ))))) )) (argument_list "(pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8)" ( identifier , (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2bf8" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);" (assignment_expression "iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7694))(uVar17)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7694))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7694)" * (pointer_expression "*(code **)(pcStack_130 + -0x7694)" * (cast_expression "(code **)(pcStack_130 + -0x7694)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7694)" ( (binary_expression "pcStack_130 + -0x7694" identifier + number_literal) ))))) )) (argument_list "(uVar17)" ( identifier )))) ;) (expression_statement "uStack_124 = (uint)(iVar8 != 0);" (assignment_expression "uStack_124 = (uint)(iVar8 != 0)" identifier = (call_expression "(uint)(iVar8 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )))) ;) (while_statement "while( true ) {\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }" { (expression_statement "fVar34 = pfVar9[0x77];" (assignment_expression "fVar34 = pfVar9[0x77]" identifier = (subscript_expression "pfVar9[0x77]" identifier [ number_literal ])) ;) (expression_statement "pfVar23[0x97] = 1.4013e-45;" (assignment_expression "pfVar23[0x97] = 1.4013e-45" (subscript_expression "pfVar23[0x97]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*pfVar23 = 1.4013e-45;" (assignment_expression "*pfVar23 = 1.4013e-45" (pointer_expression "*pfVar23" * identifier) = number_literal) ;) (expression_statement "pfVar23[0xaf] = unaff_s8;" (assignment_expression "pfVar23[0xaf] = unaff_s8" (subscript_expression "pfVar23[0xaf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pfVar23[2] = unaff_s7;" (assignment_expression "pfVar23[2] = unaff_s7" (subscript_expression "pfVar23[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pfVar23[6] = fStack_118;" (assignment_expression "pfVar23[6] = fStack_118" (subscript_expression "pfVar23[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pfVar23[7] = fStack_11c;" (assignment_expression "pfVar23[7] = fStack_11c" (subscript_expression "pfVar23[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pfVar23[8] = 1.12104e-44;" (assignment_expression "pfVar23[8] = 1.12104e-44" (subscript_expression "pfVar23[8]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (fVar34 != 0.0) break;" if (parenthesized_expression "(fVar34 != 0.0)" ( (binary_expression "fVar34 != 0.0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);" (assignment_expression "iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7404))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7404)" * (pointer_expression "*(code **)(pcStack_130 + -0x7404)" * (cast_expression "(code **)(pcStack_130 + -0x7404)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7404)" ( (binary_expression "pcStack_130 + -0x7404" identifier + number_literal) ))))) )) (argument_list "(pfVar23,fStack_118,fStack_11c,pfVar16)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }" { (labeled_statement "LAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);" statement_identifier : (expression_statement "fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);" (assignment_expression "fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23)" identifier = (cast_expression "(float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23)" ( (type_descriptor "float" primitive_type) ) (call_expression "(**(code **)(pcStack_130 + -0x73a0))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x73a0))" ( (pointer_expression "**(code **)(pcStack_130 + -0x73a0)" * (pointer_expression "*(code **)(pcStack_130 + -0x73a0)" * (cast_expression "(code **)(pcStack_130 + -0x73a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x73a0)" ( (binary_expression "pcStack_130 + -0x73a0" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))))) ;)) (goto_statement "goto LAB_00212c9c;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);" (call_expression "(**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7a20))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7a20)" * (pointer_expression "*(code **)(pcStack_130 + -0x7a20)" * (cast_expression "(code **)(pcStack_130 + -0x7a20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7a20)" ( (binary_expression "pcStack_130 + -0x7a20" identifier + number_literal) ))))) )) (argument_list "(pfVar23,pfVar16)" ( identifier , identifier ))) ;) (expression_statement "pfStack_140 = pfVar16;" (assignment_expression "pfStack_140 = pfVar16" identifier = identifier) ;) (expression_statement "iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);" (assignment_expression "iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124)" identifier = (call_expression "(*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124)" (parenthesized_expression "(*pcStack_128)" ( (pointer_expression "*pcStack_128" * identifier) )) (argument_list "(pfVar9,pfVar23,puVar27,uStack_124)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }" { (expression_statement "(**(code **)(pcStack_130 + -0x7228))(pfVar23);" (call_expression "(**(code **)(pcStack_130 + -0x7228))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7228))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7228)" * (pointer_expression "*(code **)(pcStack_130 + -0x7228)" * (cast_expression "(code **)(pcStack_130 + -0x7228)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7228)" ( (binary_expression "pcStack_130 + -0x7228" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))) ;) (if_statement "if (unaff_s6 == (uint *)0x0) goto LAB_00213284;" if (parenthesized_expression "(unaff_s6 == (uint *)0x0)" ( (binary_expression "unaff_s6 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00213284;" goto statement_identifier ;)) (expression_statement "fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);" (assignment_expression "fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23)" identifier = (cast_expression "(float)(**(code **)(pcStack_130 + -0x7464))(pfVar23)" ( (type_descriptor "float" primitive_type) ) (call_expression "(**(code **)(pcStack_130 + -0x7464))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7464))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7464)" * (pointer_expression "*(code **)(pcStack_130 + -0x7464)" * (cast_expression "(code **)(pcStack_130 + -0x7464)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7464)" ( (binary_expression "pcStack_130 + -0x7464" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))))) ;) (goto_statement "goto LAB_00212c9c;" goto statement_identifier ;) })) (expression_statement "unaff_s6 = (uint *)((int)unaff_s6 + 1);" (assignment_expression "unaff_s6 = (uint *)((int)unaff_s6 + 1)" identifier = (cast_expression "(uint *)((int)unaff_s6 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + 1)" ( (binary_expression "(int)unaff_s6 + 1" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (unaff_s6 == puVar26) break;" if (parenthesized_expression "(unaff_s6 == puVar26)" ( (binary_expression "unaff_s6 == puVar26" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);" (assignment_expression "iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7168))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7168))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7168)" * (pointer_expression "*(code **)(pcStack_130 + -0x7168)" * (cast_expression "(code **)(pcStack_130 + -0x7168)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7168)" ( (binary_expression "pcStack_130 + -0x7168" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (if_statement "if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }" { (expression_statement "pfStack_134 = pfVar9 + 0x884;" (assignment_expression "pfStack_134 = pfVar9 + 0x884" identifier = (binary_expression "pfVar9 + 0x884" identifier + number_literal)) ;) (expression_statement "iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;" (assignment_expression "iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28" identifier = (binary_expression "*(int *)(pcStack_130 + -0x7fd0) + 0x3e28" (pointer_expression "*(int *)(pcStack_130 + -0x7fd0)" * (cast_expression "(int *)(pcStack_130 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7fd0)" ( (binary_expression "pcStack_130 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);" (assignment_expression "pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c)" identifier = (cast_expression "(float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_130 + -0x7fc4) + -0x17c)" ( (binary_expression "*(int *)(pcStack_130 + -0x7fc4) + -0x17c" (pointer_expression "*(int *)(pcStack_130 + -0x7fc4)" * (cast_expression "(int *)(pcStack_130 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7fc4)" ( (binary_expression "pcStack_130 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pfStack_140 = (float *)&DAT_000001a9;" (assignment_expression "pfStack_140 = (float *)&DAT_000001a9" identifier = (cast_expression "(float *)&DAT_000001a9" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000001a9" & identifier))) ;) (expression_statement "(**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);" (call_expression "(**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7990))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7990)" * (pointer_expression "*(code **)(pcStack_130 + -0x7990)" * (cast_expression "(code **)(pcStack_130 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7990)" ( (binary_expression "pcStack_130 + -0x7990" identifier + number_literal) ))))) )) (argument_list "(pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e)" ( identifier , (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2c20" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2ac4" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "pcVar32 = *(code **)(pcStack_130 + -0x7228);" (assignment_expression "pcVar32 = *(code **)(pcStack_130 + -0x7228)" identifier = (pointer_expression "*(code **)(pcStack_130 + -0x7228)" * (cast_expression "(code **)(pcStack_130 + -0x7228)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7228)" ( (binary_expression "pcStack_130 + -0x7228" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00212c7c;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);" (call_expression "(**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7920))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7920)" * (pointer_expression "*(code **)(pcStack_130 + -0x7920)" * (cast_expression "(code **)(pcStack_130 + -0x7920)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7920)" ( (binary_expression "pcStack_130 + -0x7920" identifier + number_literal) ))))) )) (argument_list "(pfVar9,pfVar23,pfVar16)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);" (assignment_expression "iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7440))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7440))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7440)" * (pointer_expression "*(code **)(pcStack_130 + -0x7440)" * (cast_expression "(code **)(pcStack_130 + -0x7440)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7440)" ( (binary_expression "pcStack_130 + -0x7440" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (if_statement "if (iVar8 == 0) goto LAB_00213284;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00213284;" goto statement_identifier ;)) (expression_statement "pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);" (assignment_expression "pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23)" identifier = (cast_expression "(float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_130 + -0x74a8))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x74a8))" ( (pointer_expression "**(code **)(pcStack_130 + -0x74a8)" * (pointer_expression "*(code **)(pcStack_130 + -0x74a8)" * (cast_expression "(code **)(pcStack_130 + -0x74a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x74a8)" ( (binary_expression "pcStack_130 + -0x74a8" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))))) ;) })) (expression_statement "(**(code **)(pcStack_130 + -0x7228))(pfVar23);" (call_expression "(**(code **)(pcStack_130 + -0x7228))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7228))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7228)" * (pointer_expression "*(code **)(pcStack_130 + -0x7228)" * (cast_expression "(code **)(pcStack_130 + -0x7228)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7228)" ( (binary_expression "pcStack_130 + -0x7228" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))) ;) (expression_statement "fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);" (assignment_expression "fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23)" identifier = (cast_expression "(float)(**(code **)(pcStack_130 + -0x7464))(pfVar23)" ( (type_descriptor "float" primitive_type) ) (call_expression "(**(code **)(pcStack_130 + -0x7464))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7464))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7464)" * (pointer_expression "*(code **)(pcStack_130 + -0x7464)" * (cast_expression "(code **)(pcStack_130 + -0x7464)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7464)" ( (binary_expression "pcStack_130 + -0x7464" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))))) ;) }) (else_clause "else {\nLAB_00212c24:\n      uVar17 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar15 = *(int *)(pcStack_130 + -0x7f60);\n      iVar8 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar32 = *(code **)(pcStack_130 + -0x7990);\n      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;\n      iStack_138 = iStack_138 + 0x3e28;\n      pfStack_140 = (float *)&DAT_000001a9;\n      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);\n      if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }\n      fVar34 = 0.0;\n      pfVar9 = pfVar9 + 0x884;\n    }" else (compound_statement "{\nLAB_00212c24:\n      uVar17 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar15 = *(int *)(pcStack_130 + -0x7f60);\n      iVar8 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar32 = *(code **)(pcStack_130 + -0x7990);\n      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;\n      iStack_138 = iStack_138 + 0x3e28;\n      pfStack_140 = (float *)&DAT_000001a9;\n      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);\n      if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }\n      fVar34 = 0.0;\n      pfVar9 = pfVar9 + 0x884;\n    }" { (labeled_statement "LAB_00212c24:\n      uVar17 = 0x6dd;" statement_identifier : (expression_statement "uVar17 = 0x6dd;" (assignment_expression "uVar17 = 0x6dd" identifier = number_literal) ;)) (labeled_statement "LAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);" statement_identifier : (expression_statement "iStack_138 = *(int *)(pcStack_130 + -0x7fd0);" (assignment_expression "iStack_138 = *(int *)(pcStack_130 + -0x7fd0)" identifier = (pointer_expression "*(int *)(pcStack_130 + -0x7fd0)" * (cast_expression "(int *)(pcStack_130 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7fd0)" ( (binary_expression "pcStack_130 + -0x7fd0" identifier + number_literal) ))))) ;)) (expression_statement "iVar15 = *(int *)(pcStack_130 + -0x7f60);" (assignment_expression "iVar15 = *(int *)(pcStack_130 + -0x7f60)" identifier = (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(pcStack_130 + -0x7f60);" (assignment_expression "iVar8 = *(int *)(pcStack_130 + -0x7f60)" identifier = (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) ))))) ;) (expression_statement "pcVar32 = *(code **)(pcStack_130 + -0x7990);" (assignment_expression "pcVar32 = *(code **)(pcStack_130 + -0x7990)" identifier = (pointer_expression "*(code **)(pcStack_130 + -0x7990)" * (cast_expression "(code **)(pcStack_130 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7990)" ( (binary_expression "pcStack_130 + -0x7990" identifier + number_literal) ))))) ;) (expression_statement "pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);" (assignment_expression "pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400)" identifier = (cast_expression "(float *)(*(int *)(pcStack_130 + -0x7fc4) + -400)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_130 + -0x7fc4) + -400)" ( (binary_expression "*(int *)(pcStack_130 + -0x7fc4) + -400" (pointer_expression "*(int *)(pcStack_130 + -0x7fc4)" * (cast_expression "(int *)(pcStack_130 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7fc4)" ( (binary_expression "pcStack_130 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;" statement_identifier : (expression_statement "pfStack_134 = pfVar9 + 0x884;" (assignment_expression "pfStack_134 = pfVar9 + 0x884" identifier = (binary_expression "pfVar9 + 0x884" identifier + number_literal)) ;)) (expression_statement "iStack_138 = iStack_138 + 0x3e28;" (assignment_expression "iStack_138 = iStack_138 + 0x3e28" identifier = (binary_expression "iStack_138 + 0x3e28" identifier + number_literal)) ;) (expression_statement "pfStack_140 = (float *)&DAT_000001a9;" (assignment_expression "pfStack_140 = (float *)&DAT_000001a9" identifier = (cast_expression "(float *)&DAT_000001a9" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000001a9" & identifier))) ;) (expression_statement "(*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);" (call_expression "(*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17)" ( identifier , (binary_expression "iVar8 + -0x2c20" identifier + number_literal) , (binary_expression "iVar15 + -0x2ac4" identifier + number_literal) , identifier ))) ;) (if_statement "if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }" if (parenthesized_expression "(pfVar23 != (float *)0x0)" ( (binary_expression "pfVar23 != (float *)0x0" identifier != (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }" { (labeled_statement "LAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);" statement_identifier : (expression_statement "pcVar32 = *(code **)(pcStack_130 + -0x7228);" (assignment_expression "pcVar32 = *(code **)(pcStack_130 + -0x7228)" identifier = (pointer_expression "*(code **)(pcStack_130 + -0x7228)" * (cast_expression "(code **)(pcStack_130 + -0x7228)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7228)" ( (binary_expression "pcStack_130 + -0x7228" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_00212c7c:\n        (*pcVar32)(pfVar23);" statement_identifier : (expression_statement "(*pcVar32)(pfVar23);" (call_expression "(*pcVar32)(pfVar23)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(pfVar23)" ( identifier ))) ;)) (expression_statement "(**(code **)(pcStack_130 + -0x73a0))(pfVar23);" (call_expression "(**(code **)(pcStack_130 + -0x73a0))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x73a0))" ( (pointer_expression "**(code **)(pcStack_130 + -0x73a0)" * (pointer_expression "*(code **)(pcStack_130 + -0x73a0)" * (cast_expression "(code **)(pcStack_130 + -0x73a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x73a0)" ( (binary_expression "pcStack_130 + -0x73a0" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))) ;) })) (expression_statement "fVar34 = 0.0;" (assignment_expression "fVar34 = 0.0" identifier = number_literal) ;) (expression_statement "pfVar9 = pfVar9 + 0x884;" (assignment_expression "pfVar9 = pfVar9 + 0x884" identifier = (binary_expression "pfVar9 + 0x884" identifier + number_literal)) ;) }))) (labeled_statement "LAB_00212c9c:\n    pcVar32 = pcStack_130;" statement_identifier : (expression_statement "pcVar32 = pcStack_130;" (assignment_expression "pcVar32 = pcStack_130" identifier = identifier) ;)) (if_statement "if (iStack_e4 == *piVar24) {\n      return fVar34;\n    }" if (parenthesized_expression "(iStack_e4 == *piVar24)" ( (binary_expression "iStack_e4 == *piVar24" identifier == (pointer_expression "*piVar24" * identifier)) )) (compound_statement "{\n      return fVar34;\n    }" { (return_statement "return fVar34;" return identifier ;) })) }))) (expression_statement "(**(code **)(pcVar32 + -0x784c))();" (call_expression "(**(code **)(pcVar32 + -0x784c))()" (parenthesized_expression "(**(code **)(pcVar32 + -0x784c))" ( (pointer_expression "**(code **)(pcVar32 + -0x784c)" * (pointer_expression "*(code **)(pcVar32 + -0x784c)" * (cast_expression "(code **)(pcVar32 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + -0x784c)" ( (binary_expression "pcVar32 + -0x784c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_00213390:\n  pfVar19 = (float *)0x6c8;" statement_identifier : (expression_statement "pfVar19 = (float *)0x6c8;" (assignment_expression "pfVar19 = (float *)0x6c8" identifier = (cast_expression "(float *)0x6c8" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pcVar31 = *(code **)(pcVar32 + -0x72a8);" (assignment_expression "pcVar31 = *(code **)(pcVar32 + -0x72a8)" identifier = (pointer_expression "*(code **)(pcVar32 + -0x72a8)" * (cast_expression "(code **)(pcVar32 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + -0x72a8)" ( (binary_expression "pcVar32 + -0x72a8" identifier + number_literal) ))))) ;) (expression_statement "pcVar30 = (code *)(*(int *)(pcVar32 + -0x7f60) + -0x2ab4);" (assignment_expression "pcVar30 = (code *)(*(int *)(pcVar32 + -0x7f60) + -0x2ab4)" identifier = (cast_expression "(code *)(*(int *)(pcVar32 + -0x7f60) + -0x2ab4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar32 + -0x7f60) + -0x2ab4)" ( (binary_expression "*(int *)(pcVar32 + -0x7f60) + -0x2ab4" (pointer_expression "*(int *)(pcVar32 + -0x7f60)" * (cast_expression "(int *)(pcVar32 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + -0x7f60)" ( (binary_expression "pcVar32 + -0x7f60" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pfVar18 = (float *)(*(int *)(pcVar32 + -0x7f60) + -0x2c20);" (assignment_expression "pfVar18 = (float *)(*(int *)(pcVar32 + -0x7f60) + -0x2c20)" identifier = (cast_expression "(float *)(*(int *)(pcVar32 + -0x7f60) + -0x2c20)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar32 + -0x7f60) + -0x2c20)" ( (binary_expression "*(int *)(pcVar32 + -0x7f60) + -0x2c20" (pointer_expression "*(int *)(pcVar32 + -0x7f60)" * (cast_expression "(int *)(pcVar32 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + -0x7f60)" ( (binary_expression "pcVar32 + -0x7f60" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar33 = FUN_002133b4;" (assignment_expression "pcVar33 = FUN_002133b4" identifier = identifier) ;) (expression_statement "puVar25 = (uint *)(*(int *)(pcVar32 + -0x7fd0) + 0xda0);" (assignment_expression "puVar25 = (uint *)(*(int *)(pcVar32 + -0x7fd0) + 0xda0)" identifier = (cast_expression "(uint *)(*(int *)(pcVar32 + -0x7fd0) + 0xda0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar32 + -0x7fd0) + 0xda0)" ( (binary_expression "*(int *)(pcVar32 + -0x7fd0) + 0xda0" (pointer_expression "*(int *)(pcVar32 + -0x7fd0)" * (cast_expression "(int *)(pcVar32 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + -0x7fd0)" ( (binary_expression "pcVar32 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar31)();" (call_expression "(*pcVar31)()" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_1c8 = pcVar31 + 0x19d4fc;" (assignment_expression "pcStack_1c8 = pcVar31 + 0x19d4fc" identifier = (binary_expression "pcVar31 + 0x19d4fc" identifier + number_literal)) ;) (expression_statement "piStack_1a4 = *(int **)(pcVar31 + 0x195e7c);" (assignment_expression "piStack_1a4 = *(int **)(pcVar31 + 0x195e7c)" identifier = (pointer_expression "*(int **)(pcVar31 + 0x195e7c)" * (cast_expression "(int **)(pcVar31 + 0x195e7c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x195e7c)" ( (binary_expression "pcVar31 + 0x195e7c" identifier + number_literal) ))))) ;) (expression_statement "pfStack_1a8 = (float *)0x0;" (assignment_expression "pfStack_1a8 = (float *)0x0" identifier = (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_18c = *piStack_1a4;" (assignment_expression "iStack_18c = *piStack_1a4" identifier = (pointer_expression "*piStack_1a4" * identifier)) ;) (expression_statement "uVar40 = puVar25[7];" (assignment_expression "uVar40 = puVar25[7]" identifier = (subscript_expression "puVar25[7]" identifier [ number_literal ])) ;) (expression_statement "pfStack_1b4 = pfVar19;" (assignment_expression "pfStack_1b4 = pfVar19" identifier = identifier) ;) (expression_statement "pfStack_188 = pfVar23;" (assignment_expression "pfStack_188 = pfVar23" identifier = identifier) ;) (expression_statement "pfStack_184 = pfVar9;" (assignment_expression "pfStack_184 = pfVar9" identifier = identifier) ;) (expression_statement "pfStack_180 = pfVar3;" (assignment_expression "pfStack_180 = pfVar3" identifier = identifier) ;) (expression_statement "piStack_17c = piVar24;" (assignment_expression "piStack_17c = piVar24" identifier = identifier) ;) (expression_statement "puStack_178 = puVar26;" (assignment_expression "puStack_178 = puVar26" identifier = identifier) ;) (expression_statement "puStack_174 = puVar27;" (assignment_expression "puStack_174 = puVar27" identifier = identifier) ;) (expression_statement "puStack_170 = unaff_s6;" (assignment_expression "puStack_170 = unaff_s6" identifier = identifier) ;) (expression_statement "fStack_16c = unaff_s7;" (assignment_expression "fStack_16c = unaff_s7" identifier = identifier) ;) (expression_statement "fStack_168 = unaff_s8;" (assignment_expression "fStack_168 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_164 = pcVar33;" (assignment_expression "pcStack_164 = pcVar33" identifier = identifier) ;) (if_statement "if (0 < (int)uVar40) {\n    in_f22_23 = *(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0);\n    in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50));\n    do {\n      pfVar16 = pfStack_1a8;\n      pcVar30 = (code *)puVar25[6];\n      pfVar3 = (float *)0x0;\n      if (0 < (int)pcVar30) {\n        do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );\n      }\n      pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar8 = (*pcVar32)(puVar25);\n      if (iVar8 != 0) {\nLAB_002137bc:\n        fVar34 = 0.0;\n        goto LAB_002137c0;\n      }\n      uVar40 = puVar25[7];\n      pfStack_1a8 = pfStack_1a8 + 1;\n      puVar26 = puVar25;\n    } while ((int)pfStack_1a8 < (int)uVar40);\n  }" if (parenthesized_expression "(0 < (int)uVar40)" ( (binary_expression "0 < (int)uVar40" number_literal < (cast_expression "(int)uVar40" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    in_f22_23 = *(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0);\n    in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50));\n    do {\n      pfVar16 = pfStack_1a8;\n      pcVar30 = (code *)puVar25[6];\n      pfVar3 = (float *)0x0;\n      if (0 < (int)pcVar30) {\n        do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );\n      }\n      pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar8 = (*pcVar32)(puVar25);\n      if (iVar8 != 0) {\nLAB_002137bc:\n        fVar34 = 0.0;\n        goto LAB_002137c0;\n      }\n      uVar40 = puVar25[7];\n      pfStack_1a8 = pfStack_1a8 + 1;\n      puVar26 = puVar25;\n    } while ((int)pfStack_1a8 < (int)uVar40);\n  }" { (expression_statement "in_f22_23 = *(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0);" (assignment_expression "in_f22_23 = *(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0)" * (cast_expression "(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0x195534) + -0x5af0)" ( (binary_expression "*(int *)(pcVar31 + 0x195534) + -0x5af0" (pointer_expression "*(int *)(pcVar31 + 0x195534)" * (cast_expression "(int *)(pcVar31 + 0x195534)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x195534)" ( (binary_expression "pcVar31 + 0x195534" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50));" (assignment_expression "in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50))" identifier = (call_expression "CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50))" identifier (argument_list "((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50))" ( (cast_expression "(int)((ulonglong)in_f20_21 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)in_f20_21 >> 0x20)" ( (binary_expression "(ulonglong)in_f20_21 >> 0x20" (cast_expression "(ulonglong)in_f20_21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (pointer_expression "*(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50)" * (cast_expression "(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0x19552c) + 0x1a50)" ( (binary_expression "*(int *)(pcVar31 + 0x19552c) + 0x1a50" (pointer_expression "*(int *)(pcVar31 + 0x19552c)" * (cast_expression "(int *)(pcVar31 + 0x19552c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x19552c)" ( (binary_expression "pcVar31 + 0x19552c" identifier + number_literal) )))) + number_literal) )))) )))) ;) (do_statement "do {\n      pfVar16 = pfStack_1a8;\n      pcVar30 = (code *)puVar25[6];\n      pfVar3 = (float *)0x0;\n      if (0 < (int)pcVar30) {\n        do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );\n      }\n      pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar8 = (*pcVar32)(puVar25);\n      if (iVar8 != 0) {\nLAB_002137bc:\n        fVar34 = 0.0;\n        goto LAB_002137c0;\n      }\n      uVar40 = puVar25[7];\n      pfStack_1a8 = pfStack_1a8 + 1;\n      puVar26 = puVar25;\n    } while ((int)pfStack_1a8 < (int)uVar40);" do (compound_statement "{\n      pfVar16 = pfStack_1a8;\n      pcVar30 = (code *)puVar25[6];\n      pfVar3 = (float *)0x0;\n      if (0 < (int)pcVar30) {\n        do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );\n      }\n      pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar8 = (*pcVar32)(puVar25);\n      if (iVar8 != 0) {\nLAB_002137bc:\n        fVar34 = 0.0;\n        goto LAB_002137c0;\n      }\n      uVar40 = puVar25[7];\n      pfStack_1a8 = pfStack_1a8 + 1;\n      puVar26 = puVar25;\n    }" { (expression_statement "pfVar16 = pfStack_1a8;" (assignment_expression "pfVar16 = pfStack_1a8" identifier = identifier) ;) (expression_statement "pcVar30 = (code *)puVar25[6];" (assignment_expression "pcVar30 = (code *)puVar25[6]" identifier = (cast_expression "(code *)puVar25[6]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[6]" identifier [ number_literal ]))) ;) (expression_statement "pfVar3 = (float *)0x0;" (assignment_expression "pfVar3 = (float *)0x0" identifier = (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0 < (int)pcVar30) {\n        do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );\n      }" if (parenthesized_expression "(0 < (int)pcVar30)" ( (binary_expression "0 < (int)pcVar30" number_literal < (cast_expression "(int)pcVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );\n      }" { (do_statement "do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );" do (compound_statement "{\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        }" { (expression_statement "pcVar32 = pcVar30 + -(int)pfVar3;" (assignment_expression "pcVar32 = pcVar30 + -(int)pfVar3" identifier = (binary_expression "pcVar30 + -(int)pfVar3" identifier + (unary_expression "-(int)pfVar3" - (cast_expression "(int)pfVar3" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (expression_statement "uStack_1d0 = uVar40 - (int)pfVar16;" (assignment_expression "uStack_1d0 = uVar40 - (int)pfVar16" identifier = (binary_expression "uVar40 - (int)pfVar16" identifier - (cast_expression "(int)pfVar16" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pfStack_1cc = pfStack_1b4;" (assignment_expression "pfStack_1cc = pfStack_1b4" identifier = identifier) ;) (if_statement "if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }" if (parenthesized_expression "(4 < uStack_1d0)" ( (binary_expression "4 < uStack_1d0" number_literal < identifier) )) (compound_statement "{\n            uStack_1d0 = 4;\n          }" { (expression_statement "uStack_1d0 = 4;" (assignment_expression "uStack_1d0 = 4" identifier = number_literal) ;) })) (expression_statement "pcVar30 = (code *)&DAT_00000004;" (assignment_expression "pcVar30 = (code *)&DAT_00000004" identifier = (cast_expression "(code *)&DAT_00000004" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000004" & identifier))) ;) (if_statement "if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }" if (parenthesized_expression "(pcVar32 < &DAT_00000005)" ( (binary_expression "pcVar32 < &DAT_00000005" identifier < (pointer_expression "&DAT_00000005" & identifier)) )) (compound_statement "{\n            pcVar30 = pcVar32;\n          }" { (expression_statement "pcVar30 = pcVar32;" (assignment_expression "pcVar30 = pcVar32" identifier = identifier) ;) })) (expression_statement "pfVar18 = pfVar3;" (assignment_expression "pfVar18 = pfVar3" identifier = identifier) ;) (expression_statement "pfVar19 = pfVar16;" (assignment_expression "pfVar19 = pfVar16" identifier = identifier) ;) (expression_statement "pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);" (assignment_expression "pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25)" identifier = (cast_expression "(float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_1c8 + -0x798c))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x798c))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x798c)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x798c)" * (cast_expression "(code **)(pcStack_1c8 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x798c)" ( (binary_expression "pcStack_1c8 + -0x798c" identifier + number_literal) ))))) )) (argument_list "(puVar25)" ( identifier ))))) ;) (expression_statement "pfVar9 = pfVar16;" (assignment_expression "pfVar9 = pfVar16" identifier = identifier) ;) (if_statement "if (pfVar23 == (float *)0x0) goto LAB_002137bc;" if (parenthesized_expression "(pfVar23 == (float *)0x0)" ( (binary_expression "pfVar23 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002137bc;" goto statement_identifier ;)) (expression_statement "uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);" (assignment_expression "uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25)" identifier = (call_expression "(**(code **)(pcStack_1c8 + -0x70c0))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x70c0))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x70c0)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x70c0)" * (cast_expression "(code **)(pcStack_1c8 + -0x70c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x70c0)" ( (binary_expression "pcStack_1c8 + -0x70c0" identifier + number_literal) ))))) )) (argument_list "(puVar25)" ( identifier )))) ;) (expression_statement "piStack_1b8 = (int *)(uStack_1b0 & 0xff);" (assignment_expression "piStack_1b8 = (int *)(uStack_1b0 & 0xff)" identifier = (cast_expression "(int *)(uStack_1b0 & 0xff)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_1b0 & 0xff)" ( (binary_expression "uStack_1b0 & 0xff" identifier & number_literal) )))) ;) (expression_statement "puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);" (assignment_expression "puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25)" identifier = (cast_expression "(uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_1c8 + -0x70c0))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x70c0))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x70c0)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x70c0)" * (cast_expression "(code **)(pcStack_1c8 + -0x70c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x70c0)" ( (binary_expression "pcStack_1c8 + -0x70c0" identifier + number_literal) ))))) )) (argument_list "(puVar25)" ( identifier ))))) ;) (expression_statement "piVar24 = (int *)((uint)puVar27 & 0xff);" (assignment_expression "piVar24 = (int *)((uint)puVar27 & 0xff)" identifier = (cast_expression "(int *)((uint)puVar27 & 0xff)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar27 & 0xff)" ( (binary_expression "(uint)puVar27 & 0xff" (cast_expression "(uint)puVar27" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);" (assignment_expression "unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25)" identifier = (cast_expression "(float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25)" ( (type_descriptor "float" primitive_type) ) (call_expression "(**(code **)(pcStack_1c8 + -0x7844))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x7844)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x7844)" * (cast_expression "(code **)(pcStack_1c8 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x7844)" ( (binary_expression "pcStack_1c8 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(puVar25)" ( identifier ))))) ;) (expression_statement "unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);" (assignment_expression "unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25)" identifier = (cast_expression "(uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_1c8 + -0x71b4))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x71b4))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x71b4)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x71b4)" * (cast_expression "(code **)(pcStack_1c8 + -0x71b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x71b4)" ( (binary_expression "pcStack_1c8 + -0x71b4" identifier + number_literal) ))))) )) (argument_list "(puVar25)" ( identifier ))))) ;) (expression_statement "uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);" (assignment_expression "uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25)" identifier = (call_expression "(**(code **)(pcStack_1c8 + -0x71b4))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x71b4))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x71b4)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x71b4)" * (cast_expression "(code **)(pcStack_1c8 + -0x71b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x71b4)" ( (binary_expression "pcStack_1c8 + -0x71b4" identifier + number_literal) ))))) )) (argument_list "(puVar25)" ( identifier )))) ;) (expression_statement "pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);" (assignment_expression "pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25)" identifier = (cast_expression "(float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_1c8 + -0x71b4))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x71b4))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x71b4)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x71b4)" * (cast_expression "(code **)(pcStack_1c8 + -0x71b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x71b4)" ( (binary_expression "pcStack_1c8 + -0x71b4" identifier + number_literal) ))))) )) (argument_list "(puVar25)" ( identifier ))))) ;) (expression_statement "unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);" (assignment_expression "unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25)" identifier = (cast_expression "(float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25)" ( (type_descriptor "float" primitive_type) ) (call_expression "(**(code **)(pcStack_1c8 + -0x7844))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x7844)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x7844)" * (cast_expression "(code **)(pcStack_1c8 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x7844)" ( (binary_expression "pcStack_1c8 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(puVar25)" ( identifier ))))) ;) (expression_statement "pcVar30 = (code *)0x1;" (assignment_expression "pcVar30 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfVar19 = &fStack_19c;" (assignment_expression "pfVar19 = &fStack_19c" identifier = (pointer_expression "&fStack_19c" & identifier)) ;) (expression_statement "FUN_00212408(uStack_1bc);" (call_expression "FUN_00212408(uStack_1bc)" identifier (argument_list "(uStack_1bc)" ( identifier ))) ;) (expression_statement "iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);" (assignment_expression "iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25)" identifier = (call_expression "(**(code **)(pcStack_1c8 + -0x7168))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x7168))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x7168)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x7168)" * (cast_expression "(code **)(pcStack_1c8 + -0x7168)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x7168)" ( (binary_expression "pcStack_1c8 + -0x7168" identifier + number_literal) ))))) )) (argument_list "(puVar25)" ( identifier )))) ;) (if_statement "if (iVar8 != 0) goto LAB_002137bc;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002137bc;" goto statement_identifier ;)) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "uVar40 = puVar25[6];" (assignment_expression "uVar40 = puVar25[6]" identifier = (subscript_expression "puVar25[6]" identifier [ number_literal ])) ;) (expression_statement "piVar24 = (int *)(uint)(piVar24 < piStack_1b8);" (assignment_expression "piVar24 = (int *)(uint)(piVar24 < piStack_1b8)" identifier = (cast_expression "(int *)(uint)(piVar24 < piStack_1b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(piVar24 < piStack_1b8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar24 < piStack_1b8)" ( (binary_expression "piVar24 < piStack_1b8" identifier < identifier) ))))) ;) (expression_statement "uStack_1bc = uStack_1b0 & 0xff;" (assignment_expression "uStack_1bc = uStack_1b0 & 0xff" identifier = (binary_expression "uStack_1b0 & 0xff" identifier & number_literal)) ;) (expression_statement "piStack_1b8 = (int *)((uint)puVar27 & 0xff);" (assignment_expression "piStack_1b8 = (int *)((uint)puVar27 & 0xff)" identifier = (cast_expression "(int *)((uint)puVar27 & 0xff)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar27 & 0xff)" ( (binary_expression "(uint)puVar27 & 0xff" (cast_expression "(uint)puVar27" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uStack_1ac = 0xcccccccd;" (assignment_expression "uStack_1ac = 0xcccccccd" identifier = number_literal) ;) (expression_statement "uStack_1b0 = 0x24924925;" (assignment_expression "uStack_1b0 = 0x24924925" identifier = number_literal) ;) (expression_statement "pfVar18 = pfVar16;" (assignment_expression "pfVar18 = pfVar16" identifier = identifier) ;) (do_statement "do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);" do (compound_statement "{\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          }" { (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "puVar27 = (uint *)&DAT_00000007;" (assignment_expression "puVar27 = (uint *)&DAT_00000007" identifier = (cast_expression "(uint *)&DAT_00000007" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (expression_statement "pfVar11 = pfVar3;" (assignment_expression "pfVar11 = pfVar3" identifier = identifier) ;) (do_statement "do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);" do (compound_statement "{\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            }" { (if_statement "if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }" if (parenthesized_expression "(((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7]))" ( (binary_expression "((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])" (parenthesized_expression "((int)pfVar11 < (int)uVar40)" ( (binary_expression "(int)pfVar11 < (int)uVar40" (cast_expression "(int)pfVar11" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar40" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "((int)pfVar18 < (int)puVar25[7])" ( (binary_expression "(int)pfVar18 < (int)puVar25[7]" (cast_expression "(int)pfVar18" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)puVar25[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar25[7]" identifier [ number_literal ]))) ))) )) (compound_statement "{\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }" { (expression_statement "uVar37 = puVar25[0xb4];" (assignment_expression "uVar37 = puVar25[0xb4]" identifier = (subscript_expression "puVar25[0xb4]" identifier [ number_literal ])) ;) (expression_statement "uVar41 = (iVar8 + iVar15) * 3;" (assignment_expression "uVar41 = (iVar8 + iVar15) * 3" identifier = (binary_expression "(iVar8 + iVar15) * 3" (parenthesized_expression "(iVar8 + iVar15)" ( (binary_expression "iVar8 + iVar15" identifier + identifier) )) * number_literal)) ;) (expression_statement "uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;" (assignment_expression "uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3" identifier = (binary_expression "(uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3" (binary_expression "(uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU)" (cast_expression "(uint)unaff_s8" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "((iVar8 + iVar15) * 2 & 0x1fU)" ( (binary_expression "(iVar8 + iVar15) * 2 & 0x1fU" (binary_expression "(iVar8 + iVar15) * 2" (parenthesized_expression "(iVar8 + iVar15)" ( (binary_expression "iVar8 + iVar15" identifier + identifier) )) * number_literal) & number_literal) ))) & number_literal)) ;) (expression_statement "uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);" (assignment_expression "uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f)" identifier = (binary_expression "((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f)" (binary_expression "((int)unaff_s6 << 1) << (~uVar41 & 0x1f)" (parenthesized_expression "((int)unaff_s6 << 1)" ( (binary_expression "(int)unaff_s6 << 1" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )) << (parenthesized_expression "(~uVar41 & 0x1f)" ( (binary_expression "~uVar41 & 0x1f" (unary_expression "~uVar41" ~ identifier) & number_literal) ))) | (binary_expression "(uint)unaff_s7 >> (uVar41 & 0x1f)" (cast_expression "(uint)unaff_s7" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "(uVar41 & 0x1f)" ( (binary_expression "uVar41 & 0x1f" identifier & number_literal) ))))) ;) (if_statement "if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }" if (parenthesized_expression "((uVar41 & 0x20) != 0)" ( (binary_expression "(uVar41 & 0x20) != 0" (parenthesized_expression "(uVar41 & 0x20)" ( (binary_expression "uVar41 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }" { (expression_statement "uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);" (assignment_expression "uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f)" identifier = (binary_expression "(uint)unaff_s6 >> (uVar41 & 0x1f)" (cast_expression "(uint)unaff_s6" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "(uVar41 & 0x1f)" ( (binary_expression "uVar41 & 0x1f" identifier & number_literal) )))) ;) })) (expression_statement "iVar13 = *(int *)(uVar37 + 0x20);" (assignment_expression "iVar13 = *(int *)(uVar37 + 0x20)" identifier = (pointer_expression "*(int *)(uVar37 + 0x20)" * (cast_expression "(int *)(uVar37 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar37 + 0x20)" ( (binary_expression "uVar37 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);" (assignment_expression "pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14)" identifier = (binary_expression "pfVar23 + *(int *)(uVar37 + 0x14)" identifier + (pointer_expression "*(int *)(uVar37 + 0x14)" * (cast_expression "(int *)(uVar37 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar37 + 0x14)" ( (binary_expression "uVar37 + 0x14" identifier + number_literal) )))))) ;) (expression_statement "uVar35 = uVar35 & 7;" (assignment_expression "uVar35 = uVar35 & 7" identifier = (binary_expression "uVar35 & 7" identifier & number_literal)) ;) (expression_statement "pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);" (assignment_expression "pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23)" (subscript_expression "pfVar23[*(int *)(uVar37 + 8)]" identifier [ (pointer_expression "*(int *)(uVar37 + 8)" * (cast_expression "(int *)(uVar37 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar37 + 8)" ( (binary_expression "uVar37 + 8" identifier + number_literal) )))) ]) = (cast_expression "(float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23)" ( (binary_expression "(double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23" (cast_expression "(double)*(byte *)((int)&fStack_19c + uVar36)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(byte *)((int)&fStack_19c + uVar36)" * (cast_expression "(byte *)((int)&fStack_19c + uVar36)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fStack_19c + uVar36)" ( (binary_expression "(int)&fStack_19c + uVar36" (cast_expression "(int)&fStack_19c" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fStack_19c" & identifier)) + identifier) ))))) * identifier) )))) ;) (expression_statement "pcVar30 = (code *)(uint)abStack_198[uVar36];" (assignment_expression "pcVar30 = (code *)(uint)abStack_198[uVar36]" identifier = (cast_expression "(code *)(uint)abStack_198[uVar36]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)abStack_198[uVar36]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "abStack_198[uVar36]" identifier [ identifier ])))) ;) (expression_statement "*pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);" (assignment_expression "*pfVar19 = (float)((double)(int)pcVar30 * in_f22_23)" (pointer_expression "*pfVar19" * identifier) = (cast_expression "(float)((double)(int)pcVar30 * in_f22_23)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)(int)pcVar30 * in_f22_23)" ( (binary_expression "(double)(int)pcVar30 * in_f22_23" (cast_expression "(double)(int)pcVar30" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)pcVar30" ( (type_descriptor "int" primitive_type) ) identifier)) * identifier) )))) ;) (expression_statement "pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);" (assignment_expression "pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23)" (subscript_expression "pfVar23[iVar13]" identifier [ identifier ]) = (cast_expression "(float)((double)abStack_194[uVar36] * in_f22_23)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)abStack_194[uVar36] * in_f22_23)" ( (binary_expression "(double)abStack_194[uVar36] * in_f22_23" (cast_expression "(double)abStack_194[uVar36]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "abStack_194[uVar36]" identifier [ identifier ])) * identifier) )))) ;) (if_statement "if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }" if (parenthesized_expression "(uVar35 == 0)" ( (binary_expression "uVar35 == 0" identifier == number_literal) )) (compound_statement "{\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }" { (expression_statement "fVar34 = (float)((double)uStack_1bc * in_f22_23);" (assignment_expression "fVar34 = (float)((double)uStack_1bc * in_f22_23)" identifier = (cast_expression "(float)((double)uStack_1bc * in_f22_23)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)uStack_1bc * in_f22_23)" ( (binary_expression "(double)uStack_1bc * in_f22_23" (cast_expression "(double)uStack_1bc" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) )))) ;) }) (else_clause "else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }" else (if_statement "if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }" if (parenthesized_expression "(uVar35 == 1)" ( (binary_expression "uVar35 == 1" identifier == number_literal) )) (compound_statement "{\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }" { (expression_statement "fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);" (assignment_expression "fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23)" identifier = (cast_expression "(float)((double)(int)piStack_1b8 * in_f22_23)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)(int)piStack_1b8 * in_f22_23)" ( (binary_expression "(double)(int)piStack_1b8 * in_f22_23" (cast_expression "(double)(int)piStack_1b8" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)piStack_1b8" ( (type_descriptor "int" primitive_type) ) identifier)) * identifier) )))) ;) }) (else_clause "else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }" else (if_statement "if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }" if (parenthesized_expression "(piVar24 == (int *)0x0)" ( (binary_expression "piVar24 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }" { (expression_statement "fVar34 = 0.0;" (assignment_expression "fVar34 = 0.0" identifier = number_literal) ;) (if_statement "if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }" if (parenthesized_expression "(uVar35 != 6)" ( (binary_expression "uVar35 != 6" identifier != number_literal) )) (compound_statement "{\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }" { (if_statement "if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }" if (parenthesized_expression "(uVar35 != 7)" ( (binary_expression "uVar35 != 7" identifier != number_literal) )) (compound_statement "{\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }" { (expression_statement "uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);" (assignment_expression "uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20)" identifier = (call_expression "(uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20)" ( (binary_expression "(ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20" (binary_expression "(ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd" (call_expression "(ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)" ( (binary_expression "(uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc" (binary_expression "(uVar35 - 1) * (int)piStack_1b8" (parenthesized_expression "(uVar35 - 1)" ( (binary_expression "uVar35 - 1" identifier - number_literal) )) * (cast_expression "(int)piStack_1b8" ( (type_descriptor "int" primitive_type) ) identifier)) + (binary_expression "(6 - uVar35) * uStack_1bc" (parenthesized_expression "(6 - uVar35)" ( (binary_expression "6 - uVar35" number_literal - identifier) )) * identifier)) ))) * number_literal) >> number_literal) )))) ;) (goto_statement "goto LAB_00213750;" goto statement_identifier ;) })) (expression_statement "fVar34 = (float)in_f20_21;" (assignment_expression "fVar34 = (float)in_f20_21" identifier = (cast_expression "(float)in_f20_21" ( (type_descriptor "float" primitive_type) ) identifier)) ;) })) }) (else_clause "else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }" else (compound_statement "{\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }" { (expression_statement "uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);" (assignment_expression "uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21)" identifier = (call_expression "(uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21)" ( (binary_expression "(ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21" (binary_expression "(ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925" (call_expression "(ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc)" ( (binary_expression "(uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc" (binary_expression "(uVar35 - 1) * (int)piStack_1b8" (parenthesized_expression "(uVar35 - 1)" ( (binary_expression "uVar35 - 1" identifier - number_literal) )) * (cast_expression "(int)piStack_1b8" ( (type_descriptor "int" primitive_type) ) identifier)) + (binary_expression "(8 - uVar35) * uStack_1bc" (parenthesized_expression "(8 - uVar35)" ( (binary_expression "8 - uVar35" number_literal - identifier) )) * identifier)) ))) * number_literal) >> number_literal) )))) ;) (labeled_statement "LAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);" statement_identifier : (expression_statement "fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);" (assignment_expression "fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23)" identifier = (cast_expression "(float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)((uVar41 << 0x16) >> 0x18) * in_f22_23)" ( (binary_expression "(double)((uVar41 << 0x16) >> 0x18) * in_f22_23" (cast_expression "(double)((uVar41 << 0x16) >> 0x18)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((uVar41 << 0x16) >> 0x18)" ( (binary_expression "(uVar41 << 0x16) >> 0x18" (parenthesized_expression "(uVar41 << 0x16)" ( (binary_expression "uVar41 << 0x16" identifier << number_literal) )) >> number_literal) ))) * identifier) )))) ;)) }))))))) (if_statement "if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }" if (parenthesized_expression "(*(int *)(uVar37 + 0x34) != 0)" ( (binary_expression "*(int *)(uVar37 + 0x34) != 0" (pointer_expression "*(int *)(uVar37 + 0x34)" * (cast_expression "(int *)(uVar37 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar37 + 0x34)" ( (binary_expression "uVar37 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }" { (expression_statement "pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;" (assignment_expression "pfVar23[*(int *)(uVar37 + 0x38)] = fVar34" (subscript_expression "pfVar23[*(int *)(uVar37 + 0x38)]" identifier [ (pointer_expression "*(int *)(uVar37 + 0x38)" * (cast_expression "(int *)(uVar37 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar37 + 0x38)" ( (binary_expression "uVar37 + 0x38" identifier + number_literal) )))) ]) = identifier) ;) })) (expression_statement "pfVar23 = pfVar23 + puVar25[0xb0];" (assignment_expression "pfVar23 = pfVar23 + puVar25[0xb0]" identifier = (binary_expression "pfVar23 + puVar25[0xb0]" identifier + (subscript_expression "puVar25[0xb0]" identifier [ number_literal ]))) ;) })) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (expression_statement "pfVar11 = (float *)((int)pfVar3 + iVar15);" (assignment_expression "pfVar11 = (float *)((int)pfVar3 + iVar15)" identifier = (cast_expression "(float *)((int)pfVar3 + iVar15)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar3 + iVar15)" ( (binary_expression "(int)pfVar3 + iVar15" (cast_expression "(int)pfVar3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) while (parenthesized_expression "(iVar15 != 4)" ( (binary_expression "iVar15 != 4" identifier != number_literal) )) ;) (expression_statement "iVar8 = iVar8 + 4;" (assignment_expression "iVar8 = iVar8 + 4" identifier = (binary_expression "iVar8 + 4" identifier + number_literal)) ;) (expression_statement "pfVar18 = (float *)((int)pfVar18 + 1);" (assignment_expression "pfVar18 = (float *)((int)pfVar18 + 1)" identifier = (cast_expression "(float *)((int)pfVar18 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar18 + 1)" ( (binary_expression "(int)pfVar18 + 1" (cast_expression "(int)pfVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(iVar8 != 0x10)" ( (binary_expression "iVar8 != 0x10" identifier != number_literal) )) ;) (expression_statement "pfVar18 = pfStack_1b4;" (assignment_expression "pfVar18 = pfStack_1b4" identifier = identifier) ;) (expression_statement "iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);" (assignment_expression "iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25)" identifier = (call_expression "(**(code **)(pcStack_1c8 + -0x76cc))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x76cc))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x76cc)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x76cc)" * (cast_expression "(code **)(pcStack_1c8 + -0x76cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x76cc)" ( (binary_expression "pcStack_1c8 + -0x76cc" identifier + number_literal) ))))) )) (argument_list "(puVar25)" ( identifier )))) ;) (if_statement "if (iVar8 == 0) goto LAB_002137bc;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002137bc;" goto statement_identifier ;)) (expression_statement "pcVar30 = (code *)puVar25[6];" (assignment_expression "pcVar30 = (code *)puVar25[6]" identifier = (cast_expression "(code *)puVar25[6]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[6]" identifier [ number_literal ]))) ;) (expression_statement "pfVar3 = pfVar3 + 1;" (assignment_expression "pfVar3 = pfVar3 + 1" identifier = (binary_expression "pfVar3 + 1" identifier + number_literal)) ;) (expression_statement "pcVar32 = *(code **)(pcStack_1c8 + -0x7168);" (assignment_expression "pcVar32 = *(code **)(pcStack_1c8 + -0x7168)" identifier = (pointer_expression "*(code **)(pcStack_1c8 + -0x7168)" * (cast_expression "(code **)(pcStack_1c8 + -0x7168)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x7168)" ( (binary_expression "pcStack_1c8 + -0x7168" identifier + number_literal) ))))) ;) (if_statement "if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;" if (parenthesized_expression "((int)pcVar30 <= (int)pfVar3)" ( (binary_expression "(int)pcVar30 <= (int)pfVar3" (cast_expression "(int)pcVar30" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pfVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0021380c;" goto statement_identifier ;)) (expression_statement "uVar40 = puVar25[7];" (assignment_expression "uVar40 = puVar25[7]" identifier = (subscript_expression "puVar25[7]" identifier [ number_literal ])) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "pcVar32 = *(code **)(pcStack_1c8 + -0x7168);" (assignment_expression "pcVar32 = *(code **)(pcStack_1c8 + -0x7168)" identifier = (pointer_expression "*(code **)(pcStack_1c8 + -0x7168)" * (cast_expression "(code **)(pcStack_1c8 + -0x7168)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x7168)" ( (binary_expression "pcStack_1c8 + -0x7168" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0021380c:\n      iVar8 = (*pcVar32)(puVar25);" statement_identifier : (expression_statement "iVar8 = (*pcVar32)(puVar25);" (assignment_expression "iVar8 = (*pcVar32)(puVar25)" identifier = (call_expression "(*pcVar32)(puVar25)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(puVar25)" ( identifier )))) ;)) (if_statement "if (iVar8 != 0) {\nLAB_002137bc:\n        fVar34 = 0.0;\n        goto LAB_002137c0;\n      }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_002137bc:\n        fVar34 = 0.0;\n        goto LAB_002137c0;\n      }" { (labeled_statement "LAB_002137bc:\n        fVar34 = 0.0;" statement_identifier : (expression_statement "fVar34 = 0.0;" (assignment_expression "fVar34 = 0.0" identifier = number_literal) ;)) (goto_statement "goto LAB_002137c0;" goto statement_identifier ;) })) (expression_statement "uVar40 = puVar25[7];" (assignment_expression "uVar40 = puVar25[7]" identifier = (subscript_expression "puVar25[7]" identifier [ number_literal ])) ;) (expression_statement "pfStack_1a8 = pfStack_1a8 + 1;" (assignment_expression "pfStack_1a8 = pfStack_1a8 + 1" identifier = (binary_expression "pfStack_1a8 + 1" identifier + number_literal)) ;) (expression_statement "puVar26 = puVar25;" (assignment_expression "puVar26 = puVar25" identifier = identifier) ;) }) while (parenthesized_expression "((int)pfStack_1a8 < (int)uVar40)" ( (binary_expression "(int)pfStack_1a8 < (int)uVar40" (cast_expression "(int)pfStack_1a8" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar40" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "fVar34 = 1.4013e-45;" (assignment_expression "fVar34 = 1.4013e-45" identifier = number_literal) ;) (expression_statement "puVar25 = puVar26;" (assignment_expression "puVar25 = puVar26" identifier = identifier) ;) (labeled_statement "LAB_002137c0:\n  if (iStack_18c == *piStack_1a4) {\n    return fVar34;\n  }" statement_identifier : (if_statement "if (iStack_18c == *piStack_1a4) {\n    return fVar34;\n  }" if (parenthesized_expression "(iStack_18c == *piStack_1a4)" ( (binary_expression "iStack_18c == *piStack_1a4" identifier == (pointer_expression "*piStack_1a4" * identifier)) )) (compound_statement "{\n    return fVar34;\n  }" { (return_statement "return fVar34;" return identifier ;) }))) (expression_statement "pcVar32 = *(code **)(pcStack_1c8 + -0x784c);" (assignment_expression "pcVar32 = *(code **)(pcStack_1c8 + -0x784c)" identifier = (pointer_expression "*(code **)(pcStack_1c8 + -0x784c)" * (cast_expression "(code **)(pcStack_1c8 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x784c)" ( (binary_expression "pcStack_1c8 + -0x784c" identifier + number_literal) ))))) ;) (expression_statement "pcVar31 = FUN_0021384c;" (assignment_expression "pcVar31 = FUN_0021384c" identifier = identifier) ;) (expression_statement "iVar8 = iStack_18c;" (assignment_expression "iVar8 = iStack_18c" identifier = identifier) ;) (expression_statement "(*pcVar32)();" (call_expression "(*pcVar32)()" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar4 = *(int **)(pcVar32 + 0x1959e4);" (assignment_expression "piVar4 = *(int **)(pcVar32 + 0x1959e4)" identifier = (pointer_expression "*(int **)(pcVar32 + 0x1959e4)" * (cast_expression "(int **)(pcVar32 + 0x1959e4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1959e4)" ( (binary_expression "pcVar32 + 0x1959e4" identifier + number_literal) ))))) ;) (expression_statement "iStack_21c = *piVar4;" (assignment_expression "iStack_21c = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (expression_statement "iVar15 = *(int *)(iVar8 + 0x1c);" (assignment_expression "iVar15 = *(int *)(iVar8 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar8 + 0x1c)" * (cast_expression "(int *)(iVar8 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1c)" ( (binary_expression "iVar8 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "pfVar16 = pfVar19;" (assignment_expression "pfVar16 = pfVar19" identifier = identifier) ;) (expression_statement "pfStack_218 = pfVar23;" (assignment_expression "pfStack_218 = pfVar23" identifier = identifier) ;) (expression_statement "pfStack_214 = pfVar9;" (assignment_expression "pfStack_214 = pfVar9" identifier = identifier) ;) (expression_statement "pfStack_210 = pfVar3;" (assignment_expression "pfStack_210 = pfVar3" identifier = identifier) ;) (expression_statement "piStack_20c = piVar24;" (assignment_expression "piStack_20c = piVar24" identifier = identifier) ;) (expression_statement "puStack_208 = puVar25;" (assignment_expression "puStack_208 = puVar25" identifier = identifier) ;) (expression_statement "puStack_204 = puVar27;" (assignment_expression "puStack_204 = puVar27" identifier = identifier) ;) (expression_statement "puStack_200 = unaff_s6;" (assignment_expression "puStack_200 = unaff_s6" identifier = identifier) ;) (expression_statement "fStack_1fc = unaff_s7;" (assignment_expression "fStack_1fc = unaff_s7" identifier = identifier) ;) (expression_statement "fStack_1f8 = unaff_s8;" (assignment_expression "fStack_1f8 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_1f4 = pcVar31;" (assignment_expression "pcStack_1f4 = pcVar31" identifier = identifier) ;) (expression_statement "uStack_1f0 = in_f20_21;" (assignment_expression "uStack_1f0 = in_f20_21" identifier = identifier) ;) (expression_statement "dStack_1e8 = in_f22_23;" (assignment_expression "dStack_1e8 = in_f22_23" identifier = identifier) ;) (if_statement "if (0 < iVar15) {\n    pfVar3 = (float *)0x0;\n    iVar13 = *(int *)(pcVar32 + 0x195378);\n    dVar44 = *(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0);\n    dVar45 = dVar44;\n    do {\n      pcVar30 = *(code **)(iVar8 + 0x18);\n      pfVar23 = (float *)0x0;\n      if ((int)pcVar30 < 1) {\n        pcVar31 = *(code **)(pcVar32 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }\n      iVar15 = (*pcVar31)(iVar8);\n      if (iVar15 != 0) {\nLAB_00213b34:\n        fVar34 = 0.0;\n        goto LAB_00213b38;\n      }\n      iVar15 = *(int *)(iVar8 + 0x1c);\n      pfVar3 = pfVar3 + 1;\n    } while ((int)pfVar3 < iVar15);\n  }" if (parenthesized_expression "(0 < iVar15)" ( (binary_expression "0 < iVar15" number_literal < identifier) )) (compound_statement "{\n    pfVar3 = (float *)0x0;\n    iVar13 = *(int *)(pcVar32 + 0x195378);\n    dVar44 = *(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0);\n    dVar45 = dVar44;\n    do {\n      pcVar30 = *(code **)(iVar8 + 0x18);\n      pfVar23 = (float *)0x0;\n      if ((int)pcVar30 < 1) {\n        pcVar31 = *(code **)(pcVar32 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }\n      iVar15 = (*pcVar31)(iVar8);\n      if (iVar15 != 0) {\nLAB_00213b34:\n        fVar34 = 0.0;\n        goto LAB_00213b38;\n      }\n      iVar15 = *(int *)(iVar8 + 0x1c);\n      pfVar3 = pfVar3 + 1;\n    } while ((int)pfVar3 < iVar15);\n  }" { (expression_statement "pfVar3 = (float *)0x0;" (assignment_expression "pfVar3 = (float *)0x0" identifier = (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar13 = *(int *)(pcVar32 + 0x195378);" (assignment_expression "iVar13 = *(int *)(pcVar32 + 0x195378)" identifier = (pointer_expression "*(int *)(pcVar32 + 0x195378)" * (cast_expression "(int *)(pcVar32 + 0x195378)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x195378)" ( (binary_expression "pcVar32 + 0x195378" identifier + number_literal) ))))) ;) (expression_statement "dVar44 = *(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0);" (assignment_expression "dVar44 = *(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0)" * (cast_expression "(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar32 + 0x19509c) + -0x5af0)" ( (binary_expression "*(int *)(pcVar32 + 0x19509c) + -0x5af0" (pointer_expression "*(int *)(pcVar32 + 0x19509c)" * (cast_expression "(int *)(pcVar32 + 0x19509c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x19509c)" ( (binary_expression "pcVar32 + 0x19509c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar45 = dVar44;" (assignment_expression "dVar45 = dVar44" identifier = identifier) ;) (do_statement "do {\n      pcVar30 = *(code **)(iVar8 + 0x18);\n      pfVar23 = (float *)0x0;\n      if ((int)pcVar30 < 1) {\n        pcVar31 = *(code **)(pcVar32 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }\n      iVar15 = (*pcVar31)(iVar8);\n      if (iVar15 != 0) {\nLAB_00213b34:\n        fVar34 = 0.0;\n        goto LAB_00213b38;\n      }\n      iVar15 = *(int *)(iVar8 + 0x1c);\n      pfVar3 = pfVar3 + 1;\n    } while ((int)pfVar3 < iVar15);" do (compound_statement "{\n      pcVar30 = *(code **)(iVar8 + 0x18);\n      pfVar23 = (float *)0x0;\n      if ((int)pcVar30 < 1) {\n        pcVar31 = *(code **)(pcVar32 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }\n      iVar15 = (*pcVar31)(iVar8);\n      if (iVar15 != 0) {\nLAB_00213b34:\n        fVar34 = 0.0;\n        goto LAB_00213b38;\n      }\n      iVar15 = *(int *)(iVar8 + 0x1c);\n      pfVar3 = pfVar3 + 1;\n    }" { (expression_statement "pcVar30 = *(code **)(iVar8 + 0x18);" (assignment_expression "pcVar30 = *(code **)(iVar8 + 0x18)" identifier = (pointer_expression "*(code **)(iVar8 + 0x18)" * (cast_expression "(code **)(iVar8 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x18)" ( (binary_expression "iVar8 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "pfVar23 = (float *)0x0;" (assignment_expression "pfVar23 = (float *)0x0" identifier = (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((int)pcVar30 < 1) {\n        pcVar31 = *(code **)(pcVar32 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }" if (parenthesized_expression "((int)pcVar30 < 1)" ( (binary_expression "(int)pcVar30 < 1" (cast_expression "(int)pcVar30" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        pcVar31 = *(code **)(pcVar32 + 0x195efc);\n      }" { (expression_statement "pcVar31 = *(code **)(pcVar32 + 0x195efc);" (assignment_expression "pcVar31 = *(code **)(pcVar32 + 0x195efc)" identifier = (pointer_expression "*(code **)(pcVar32 + 0x195efc)" * (cast_expression "(code **)(pcVar32 + 0x195efc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195efc)" ( (binary_expression "pcVar32 + 0x195efc" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }" else (compound_statement "{\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }" { (while_statement "while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }" { (expression_statement "uStack_248 = iVar15 - (int)pfVar3;" (assignment_expression "uStack_248 = iVar15 - (int)pfVar3" identifier = (binary_expression "iVar15 - (int)pfVar3" identifier - (cast_expression "(int)pfVar3" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar30 = pcVar30 + -(int)pfVar23;" (assignment_expression "pcVar30 = pcVar30 + -(int)pfVar23" identifier = (binary_expression "pcVar30 + -(int)pfVar23" identifier + (unary_expression "-(int)pfVar23" - (cast_expression "(int)pfVar23" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (if_statement "if (4 < uStack_248) {\n            uStack_248 = 4;\n          }" if (parenthesized_expression "(4 < uStack_248)" ( (binary_expression "4 < uStack_248" number_literal < identifier) )) (compound_statement "{\n            uStack_248 = 4;\n          }" { (expression_statement "uStack_248 = 4;" (assignment_expression "uStack_248 = 4" identifier = number_literal) ;) })) (if_statement "if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }" if (parenthesized_expression "(&DAT_00000004 < pcVar30)" ( (binary_expression "&DAT_00000004 < pcVar30" (pointer_expression "&DAT_00000004" & identifier) < identifier) )) (compound_statement "{\n            pcVar30 = (code *)&DAT_00000004;\n          }" { (expression_statement "pcVar30 = (code *)&DAT_00000004;" (assignment_expression "pcVar30 = (code *)&DAT_00000004" identifier = (cast_expression "(code *)&DAT_00000004" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000004" & identifier))) ;) })) (expression_statement "pfVar18 = pfVar23;" (assignment_expression "pfVar18 = pfVar23" identifier = identifier) ;) (expression_statement "pfVar16 = pfVar3;" (assignment_expression "pfVar16 = pfVar3" identifier = identifier) ;) (expression_statement "iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);" (assignment_expression "iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8)" identifier = (call_expression "(**(code **)(pcVar32 + 0x1956d8))(iVar8)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1956d8))" ( (pointer_expression "**(code **)(pcVar32 + 0x1956d8)" * (pointer_expression "*(code **)(pcVar32 + 0x1956d8)" * (cast_expression "(code **)(pcVar32 + 0x1956d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1956d8)" ( (binary_expression "pcVar32 + 0x1956d8" identifier + number_literal) ))))) )) (argument_list "(iVar8)" ( identifier )))) ;) (if_statement "if (iVar15 == 0) goto LAB_00213b34;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00213b34;" goto statement_identifier ;)) (expression_statement "uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);" (assignment_expression "uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8)" identifier = (call_expression "(**(code **)(pcVar32 + 0x195820))(iVar8)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195820))" ( (pointer_expression "**(code **)(pcVar32 + 0x195820)" * (pointer_expression "*(code **)(pcVar32 + 0x195820)" * (cast_expression "(code **)(pcVar32 + 0x195820)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195820)" ( (binary_expression "pcVar32 + 0x195820" identifier + number_literal) ))))) )) (argument_list "(iVar8)" ( identifier )))) ;) (expression_statement "uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);" (assignment_expression "uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8)" identifier = (call_expression "(**(code **)(pcVar32 + 0x195820))(iVar8)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195820))" ( (pointer_expression "**(code **)(pcVar32 + 0x195820)" * (pointer_expression "*(code **)(pcVar32 + 0x195820)" * (cast_expression "(code **)(pcVar32 + 0x195820)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195820)" ( (binary_expression "pcVar32 + 0x195820" identifier + number_literal) ))))) )) (argument_list "(iVar8)" ( identifier )))) ;) (expression_statement "uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);" (assignment_expression "uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8)" identifier = (call_expression "(**(code **)(pcVar32 + 0x195eb0))(iVar8)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195eb0))" ( (pointer_expression "**(code **)(pcVar32 + 0x195eb0)" * (pointer_expression "*(code **)(pcVar32 + 0x195eb0)" * (cast_expression "(code **)(pcVar32 + 0x195eb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195eb0)" ( (binary_expression "pcVar32 + 0x195eb0" identifier + number_literal) ))))) )) (argument_list "(iVar8)" ( identifier )))) ;) (expression_statement "pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);" (assignment_expression "pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8)" identifier = (cast_expression "(float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar32 + 0x195eb0))(iVar8)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195eb0))" ( (pointer_expression "**(code **)(pcVar32 + 0x195eb0)" * (pointer_expression "*(code **)(pcVar32 + 0x195eb0)" * (cast_expression "(code **)(pcVar32 + 0x195eb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195eb0)" ( (binary_expression "pcVar32 + 0x195eb0" identifier + number_literal) ))))) )) (argument_list "(iVar8)" ( identifier ))))) ;) (expression_statement "uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);" (assignment_expression "uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8)" identifier = (call_expression "(**(code **)(pcVar32 + 0x195820))(iVar8)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195820))" ( (pointer_expression "**(code **)(pcVar32 + 0x195820)" * (pointer_expression "*(code **)(pcVar32 + 0x195820)" * (cast_expression "(code **)(pcVar32 + 0x195820)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195820)" ( (binary_expression "pcVar32 + 0x195820" identifier + number_literal) ))))) )) (argument_list "(iVar8)" ( identifier )))) ;) (expression_statement "pcVar30 = (code *)0x1;" (assignment_expression "pcVar30 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfVar16 = &fStack_22c;" (assignment_expression "pfVar16 = &fStack_22c" identifier = (pointer_expression "&fStack_22c" & identifier)) ;) (expression_statement "(*(code *)(iVar13 + 0x2408))(uVar17);" (call_expression "(*(code *)(iVar13 + 0x2408))(uVar17)" (parenthesized_expression "(*(code *)(iVar13 + 0x2408))" ( (pointer_expression "*(code *)(iVar13 + 0x2408)" * (cast_expression "(code *)(iVar13 + 0x2408)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2408)" ( (binary_expression "iVar13 + 0x2408" identifier + number_literal) )))) )) (argument_list "(uVar17)" ( identifier ))) ;) (expression_statement "iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);" (assignment_expression "iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8)" identifier = (call_expression "(**(code **)(pcVar32 + 0x195efc))(iVar8)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195efc))" ( (pointer_expression "**(code **)(pcVar32 + 0x195efc)" * (pointer_expression "*(code **)(pcVar32 + 0x195efc)" * (cast_expression "(code **)(pcVar32 + 0x195efc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195efc)" ( (binary_expression "pcVar32 + 0x195efc" identifier + number_literal) ))))) )) (argument_list "(iVar8)" ( identifier )))) ;) (if_statement "if (iVar5 != 0) goto LAB_00213b34;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00213b34;" goto statement_identifier ;)) (expression_statement "pcVar30 = *(code **)(iVar8 + 0x18);" (assignment_expression "pcVar30 = *(code **)(iVar8 + 0x18)" identifier = (pointer_expression "*(code **)(iVar8 + 0x18)" * (cast_expression "(code **)(iVar8 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x18)" ( (binary_expression "iVar8 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "pfVar16 = pfVar3;" (assignment_expression "pfVar16 = pfVar3" identifier = identifier) ;) (do_statement "do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);" do (compound_statement "{\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "pfVar18 = pfVar23;" (assignment_expression "pfVar18 = pfVar23" identifier = identifier) ;) (do_statement "do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);" do (compound_statement "{\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            }" { (if_statement "if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }" if (parenthesized_expression "(((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c)))" ( (binary_expression "((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))" (parenthesized_expression "((int)pfVar18 < (int)pcVar30)" ( (binary_expression "(int)pfVar18 < (int)pcVar30" (cast_expression "(int)pfVar18" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pcVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))" ( (comma_expression "iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c)" (assignment_expression "iVar12 = iVar6 + iVar14 * 4" identifier = (binary_expression "iVar6 + iVar14 * 4" identifier + (binary_expression "iVar14 * 4" identifier * number_literal))) , (binary_expression "(int)pfVar16 < *(int *)(iVar8 + 0x1c)" (cast_expression "(int)pfVar16" ( (type_descriptor "int" primitive_type) ) identifier) < (pointer_expression "*(int *)(iVar8 + 0x1c)" * (cast_expression "(int *)(iVar8 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1c)" ( (binary_expression "iVar8 + 0x1c" identifier + number_literal) )))))) ))) )) (compound_statement "{\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }" { (expression_statement "iVar21 = *(int *)(iVar8 + 0x2d0);" (assignment_expression "iVar21 = *(int *)(iVar8 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar8 + 0x2d0)" * (cast_expression "(int *)(iVar8 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x2d0)" ( (binary_expression "iVar8 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "iVar28 = *(int *)(iVar21 + 0x14);" (assignment_expression "iVar28 = *(int *)(iVar21 + 0x14)" identifier = (pointer_expression "*(int *)(iVar21 + 0x14)" * (cast_expression "(int *)(iVar21 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x14)" ( (binary_expression "iVar21 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;" (assignment_expression "uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3" identifier = (binary_expression "uVar35 >> (iVar12 * 2 & 0x1fU) & 3" (binary_expression "uVar35 >> (iVar12 * 2 & 0x1fU)" identifier >> (parenthesized_expression "(iVar12 * 2 & 0x1fU)" ( (binary_expression "iVar12 * 2 & 0x1fU" (binary_expression "iVar12 * 2" identifier * number_literal) & number_literal) ))) & number_literal)) ;) (expression_statement "iVar22 = *(int *)(iVar21 + 0x20);" (assignment_expression "iVar22 = *(int *)(iVar21 + 0x20)" identifier = (pointer_expression "*(int *)(iVar21 + 0x20)" * (cast_expression "(int *)(iVar21 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x20)" ( (binary_expression "iVar21 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);" (assignment_expression "*(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45)" (pointer_expression "*(float *)(iVar15 + *(int *)(iVar21 + 8) * 4)" * (cast_expression "(float *)(iVar15 + *(int *)(iVar21 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + *(int *)(iVar21 + 8) * 4)" ( (binary_expression "iVar15 + *(int *)(iVar21 + 8) * 4" identifier + (binary_expression "*(int *)(iVar21 + 8) * 4" (pointer_expression "*(int *)(iVar21 + 8)" * (cast_expression "(int *)(iVar21 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 8)" ( (binary_expression "iVar21 + 8" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45)" ( (binary_expression "(double)*(byte *)((int)&fStack_22c + uVar36) * dVar45" (cast_expression "(double)*(byte *)((int)&fStack_22c + uVar36)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(byte *)((int)&fStack_22c + uVar36)" * (cast_expression "(byte *)((int)&fStack_22c + uVar36)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fStack_22c + uVar36)" ( (binary_expression "(int)&fStack_22c + uVar36" (cast_expression "(int)&fStack_22c" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fStack_22c" & identifier)) + identifier) ))))) * identifier) )))) ;) (expression_statement "*(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);" (assignment_expression "*(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45)" (pointer_expression "*(float *)(iVar15 + iVar28 * 4)" * (cast_expression "(float *)(iVar15 + iVar28 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + iVar28 * 4)" ( (binary_expression "iVar15 + iVar28 * 4" identifier + (binary_expression "iVar28 * 4" identifier * number_literal)) )))) = (cast_expression "(float)((double)abStack_228[uVar36] * dVar45)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)abStack_228[uVar36] * dVar45)" ( (binary_expression "(double)abStack_228[uVar36] * dVar45" (cast_expression "(double)abStack_228[uVar36]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "abStack_228[uVar36]" identifier [ identifier ])) * identifier) )))) ;) (expression_statement "*(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);" (assignment_expression "*(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45)" (pointer_expression "*(float *)(iVar15 + iVar22 * 4)" * (cast_expression "(float *)(iVar15 + iVar22 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + iVar22 * 4)" ( (binary_expression "iVar15 + iVar22 * 4" identifier + (binary_expression "iVar22 * 4" identifier * number_literal)) )))) = (cast_expression "(float)((double)abStack_224[uVar36] * dVar45)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)abStack_224[uVar36] * dVar45)" ( (binary_expression "(double)abStack_224[uVar36] * dVar45" (cast_expression "(double)abStack_224[uVar36]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "abStack_224[uVar36]" identifier [ identifier ])) * identifier) )))) ;) (if_statement "if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }" if (parenthesized_expression "(iVar14 < 2)" ( (binary_expression "iVar14 < 2" identifier < number_literal) )) (compound_statement "{\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }" { (expression_statement "uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);" (assignment_expression "uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU)" identifier = (binary_expression "uVar40 >> (iVar12 * 4 & 0x1fU)" identifier >> (parenthesized_expression "(iVar12 * 4 & 0x1fU)" ( (binary_expression "iVar12 * 4 & 0x1fU" (binary_expression "iVar12 * 4" identifier * number_literal) & number_literal) )))) ;) }) (else_clause "else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }" else (compound_statement "{\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }" { (expression_statement "uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);" (assignment_expression "uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU)" identifier = (binary_expression "uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU)" identifier >> (parenthesized_expression "((iVar5 + iVar6) * 4 & 0x1fU)" ( (binary_expression "(iVar5 + iVar6) * 4 & 0x1fU" (binary_expression "(iVar5 + iVar6) * 4" (parenthesized_expression "(iVar5 + iVar6)" ( (binary_expression "iVar5 + iVar6" identifier + identifier) )) * number_literal) & number_literal) )))) ;) }))) (if_statement "if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }" if (parenthesized_expression "(*(int *)(iVar21 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar21 + 0x34) != 0" (pointer_expression "*(int *)(iVar21 + 0x34)" * (cast_expression "(int *)(iVar21 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x34)" ( (binary_expression "iVar21 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }" { (expression_statement "*(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);" (assignment_expression "*(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44)" (pointer_expression "*(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4)" * (cast_expression "(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + *(int *)(iVar21 + 0x38) * 4)" ( (binary_expression "iVar15 + *(int *)(iVar21 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar21 + 0x38) * 4" (pointer_expression "*(int *)(iVar21 + 0x38)" * (cast_expression "(int *)(iVar21 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x38)" ( (binary_expression "iVar21 + 0x38" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44)" ( (binary_expression "(double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44" (cast_expression "(double)((uVar36 & 0xf) * 0x11 & 0xff)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((uVar36 & 0xf) * 0x11 & 0xff)" ( (binary_expression "(uVar36 & 0xf) * 0x11 & 0xff" (binary_expression "(uVar36 & 0xf) * 0x11" (parenthesized_expression "(uVar36 & 0xf)" ( (binary_expression "uVar36 & 0xf" identifier & number_literal) )) * number_literal) & number_literal) ))) * identifier) )))) ;) })) (expression_statement "iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;" (assignment_expression "iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4" identifier = (binary_expression "iVar15 + *(int *)(iVar8 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar8 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar8 + 0x2c0)" * (cast_expression "(int *)(iVar8 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x2c0)" ( (binary_expression "iVar8 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "pfVar18 = (float *)((int)pfVar23 + iVar6);" (assignment_expression "pfVar18 = (float *)((int)pfVar23 + iVar6)" identifier = (cast_expression "(float *)((int)pfVar23 + iVar6)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar23 + iVar6)" ( (binary_expression "(int)pfVar23 + iVar6" (cast_expression "(int)pfVar23" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) while (parenthesized_expression "(iVar6 != 4)" ( (binary_expression "iVar6 != 4" identifier != number_literal) )) ;) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) (expression_statement "pfVar16 = (float *)((int)pfVar16 + 1);" (assignment_expression "pfVar16 = (float *)((int)pfVar16 + 1)" identifier = (cast_expression "(float *)((int)pfVar16 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar16 + 1)" ( (binary_expression "(int)pfVar16 + 1" (cast_expression "(int)pfVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar5 = iVar5 + 4;" (assignment_expression "iVar5 = iVar5 + 4" identifier = (binary_expression "iVar5 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar14 != 4)" ( (binary_expression "iVar14 != 4" identifier != number_literal) )) ;) (expression_statement "pfVar18 = pfVar19;" (assignment_expression "pfVar18 = pfVar19" identifier = identifier) ;) (expression_statement "iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);" (assignment_expression "iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8)" identifier = (call_expression "(**(code **)(pcVar32 + 0x195998))(iVar8)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195998))" ( (pointer_expression "**(code **)(pcVar32 + 0x195998)" * (pointer_expression "*(code **)(pcVar32 + 0x195998)" * (cast_expression "(code **)(pcVar32 + 0x195998)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195998)" ( (binary_expression "pcVar32 + 0x195998" identifier + number_literal) ))))) )) (argument_list "(iVar8)" ( identifier )))) ;) (if_statement "if (iVar15 == 0) goto LAB_00213b34;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00213b34;" goto statement_identifier ;)) (expression_statement "pcVar30 = *(code **)(iVar8 + 0x18);" (assignment_expression "pcVar30 = *(code **)(iVar8 + 0x18)" identifier = (pointer_expression "*(code **)(iVar8 + 0x18)" * (cast_expression "(code **)(iVar8 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x18)" ( (binary_expression "iVar8 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "pfVar23 = pfVar23 + 1;" (assignment_expression "pfVar23 = pfVar23 + 1" identifier = (binary_expression "pfVar23 + 1" identifier + number_literal)) ;) (expression_statement "pcVar31 = *(code **)(pcVar32 + 0x195efc);" (assignment_expression "pcVar31 = *(code **)(pcVar32 + 0x195efc)" identifier = (pointer_expression "*(code **)(pcVar32 + 0x195efc)" * (cast_expression "(code **)(pcVar32 + 0x195efc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195efc)" ( (binary_expression "pcVar32 + 0x195efc" identifier + number_literal) ))))) ;) (if_statement "if ((int)pcVar30 <= (int)pfVar23) break;" if (parenthesized_expression "((int)pcVar30 <= (int)pfVar23)" ( (binary_expression "(int)pcVar30 <= (int)pfVar23" (cast_expression "(int)pcVar30" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pfVar23" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "iVar15 = *(int *)(iVar8 + 0x1c);" (assignment_expression "iVar15 = *(int *)(iVar8 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar8 + 0x1c)" * (cast_expression "(int *)(iVar8 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1c)" ( (binary_expression "iVar8 + 0x1c" identifier + number_literal) ))))) ;) })) }))) (expression_statement "iVar15 = (*pcVar31)(iVar8);" (assignment_expression "iVar15 = (*pcVar31)(iVar8)" identifier = (call_expression "(*pcVar31)(iVar8)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(iVar8)" ( identifier )))) ;) (if_statement "if (iVar15 != 0) {\nLAB_00213b34:\n        fVar34 = 0.0;\n        goto LAB_00213b38;\n      }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00213b34:\n        fVar34 = 0.0;\n        goto LAB_00213b38;\n      }" { (labeled_statement "LAB_00213b34:\n        fVar34 = 0.0;" statement_identifier : (expression_statement "fVar34 = 0.0;" (assignment_expression "fVar34 = 0.0" identifier = number_literal) ;)) (goto_statement "goto LAB_00213b38;" goto statement_identifier ;) })) (expression_statement "iVar15 = *(int *)(iVar8 + 0x1c);" (assignment_expression "iVar15 = *(int *)(iVar8 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar8 + 0x1c)" * (cast_expression "(int *)(iVar8 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1c)" ( (binary_expression "iVar8 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "pfVar3 = pfVar3 + 1;" (assignment_expression "pfVar3 = pfVar3 + 1" identifier = (binary_expression "pfVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)pfVar3 < iVar15)" ( (binary_expression "(int)pfVar3 < iVar15" (cast_expression "(int)pfVar3" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) })) (expression_statement "fVar34 = 1.4013e-45;" (assignment_expression "fVar34 = 1.4013e-45" identifier = number_literal) ;) (labeled_statement "LAB_00213b38:\n  if (iStack_21c == *piVar4) {\n    return fVar34;\n  }" statement_identifier : (if_statement "if (iStack_21c == *piVar4) {\n    return fVar34;\n  }" if (parenthesized_expression "(iStack_21c == *piVar4)" ( (binary_expression "iStack_21c == *piVar4" identifier == (pointer_expression "*piVar4" * identifier)) )) (compound_statement "{\n    return fVar34;\n  }" { (return_statement "return fVar34;" return identifier ;) }))) (expression_statement "pcVar32 = *(code **)(pcVar32 + 0x195818);" (assignment_expression "pcVar32 = *(code **)(pcVar32 + 0x195818)" identifier = (pointer_expression "*(code **)(pcVar32 + 0x195818)" * (cast_expression "(code **)(pcVar32 + 0x195818)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195818)" ( (binary_expression "pcVar32 + 0x195818" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = iStack_21c;" (assignment_expression "iVar8 = iStack_21c" identifier = identifier) ;) (expression_statement "(*pcVar32)();" (call_expression "(*pcVar32)()" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar15 = (**(code **)(pcVar32 + 0x195b8c))(pfVar18);" (assignment_expression "iVar15 = (**(code **)(pcVar32 + 0x195b8c))(pfVar18)" identifier = (call_expression "(**(code **)(pcVar32 + 0x195b8c))(pfVar18)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195b8c))" ( (pointer_expression "**(code **)(pcVar32 + 0x195b8c)" * (pointer_expression "*(code **)(pcVar32 + 0x195b8c)" * (cast_expression "(code **)(pcVar32 + 0x195b8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195b8c)" ( (binary_expression "pcVar32 + 0x195b8c" identifier + number_literal) ))))) )) (argument_list "(pfVar18)" ( identifier )))) ;) (if_statement "if (iVar15 != 0) {\n    puVar7 = (undefined4 *)(**(code **)(pcVar32 + 0x195df4))();\n    uVar17 = (**(code **)(pcVar32 + 0x195830))(*puVar7);\n    (**(code **)(pcVar32 + 0x195364))\n              (uStack_248,*(int *)(pcVar32 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar32 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar32 + 0x194d30) + -0x17c,*(int *)(pcVar32 + 0x194d24) + 0xe78,\n               pfVar18 + 0xd0,uVar17);\n    (**(code **)(pcVar32 + 0x1954b8))(uVar17);\n    return 0.0;\n  }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n    puVar7 = (undefined4 *)(**(code **)(pcVar32 + 0x195df4))();\n    uVar17 = (**(code **)(pcVar32 + 0x195830))(*puVar7);\n    (**(code **)(pcVar32 + 0x195364))\n              (uStack_248,*(int *)(pcVar32 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar32 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar32 + 0x194d30) + -0x17c,*(int *)(pcVar32 + 0x194d24) + 0xe78,\n               pfVar18 + 0xd0,uVar17);\n    (**(code **)(pcVar32 + 0x1954b8))(uVar17);\n    return 0.0;\n  }" { (expression_statement "puVar7 = (undefined4 *)(**(code **)(pcVar32 + 0x195df4))();" (assignment_expression "puVar7 = (undefined4 *)(**(code **)(pcVar32 + 0x195df4))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar32 + 0x195df4))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar32 + 0x195df4))()" (parenthesized_expression "(**(code **)(pcVar32 + 0x195df4))" ( (pointer_expression "**(code **)(pcVar32 + 0x195df4)" * (pointer_expression "*(code **)(pcVar32 + 0x195df4)" * (cast_expression "(code **)(pcVar32 + 0x195df4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195df4)" ( (binary_expression "pcVar32 + 0x195df4" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar17 = (**(code **)(pcVar32 + 0x195830))(*puVar7);" (assignment_expression "uVar17 = (**(code **)(pcVar32 + 0x195830))(*puVar7)" identifier = (call_expression "(**(code **)(pcVar32 + 0x195830))(*puVar7)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195830))" ( (pointer_expression "**(code **)(pcVar32 + 0x195830)" * (pointer_expression "*(code **)(pcVar32 + 0x195830)" * (cast_expression "(code **)(pcVar32 + 0x195830)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195830)" ( (binary_expression "pcVar32 + 0x195830" identifier + number_literal) ))))) )) (argument_list "(*puVar7)" ( (pointer_expression "*puVar7" * identifier) )))) ;) (expression_statement "(**(code **)(pcVar32 + 0x195364))\n              (uStack_248,*(int *)(pcVar32 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar32 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar32 + 0x194d30) + -0x17c,*(int *)(pcVar32 + 0x194d24) + 0xe78,\n               pfVar18 + 0xd0,uVar17);" (call_expression "(**(code **)(pcVar32 + 0x195364))\n              (uStack_248,*(int *)(pcVar32 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar32 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar32 + 0x194d30) + -0x17c,*(int *)(pcVar32 + 0x194d24) + 0xe78,\n               pfVar18 + 0xd0,uVar17)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195364))" ( (pointer_expression "**(code **)(pcVar32 + 0x195364)" * (pointer_expression "*(code **)(pcVar32 + 0x195364)" * (cast_expression "(code **)(pcVar32 + 0x195364)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195364)" ( (binary_expression "pcVar32 + 0x195364" identifier + number_literal) ))))) )) (argument_list "(uStack_248,*(int *)(pcVar32 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar32 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar32 + 0x194d30) + -0x17c,*(int *)(pcVar32 + 0x194d24) + 0xe78,\n               pfVar18 + 0xd0,uVar17)" ( identifier , (binary_expression "*(int *)(pcVar32 + 0x194d94) + -0x2c20" (pointer_expression "*(int *)(pcVar32 + 0x194d94)" * (cast_expression "(int *)(pcVar32 + 0x194d94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x194d94)" ( (binary_expression "pcVar32 + 0x194d94" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar32 + 0x194d94) + -0x2ad0" (pointer_expression "*(int *)(pcVar32 + 0x194d94)" * (cast_expression "(int *)(pcVar32 + 0x194d94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x194d94)" ( (binary_expression "pcVar32 + 0x194d94" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(pcVar32 + 0x194d30) + -0x17c" (pointer_expression "*(int *)(pcVar32 + 0x194d30)" * (cast_expression "(int *)(pcVar32 + 0x194d30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x194d30)" ( (binary_expression "pcVar32 + 0x194d30" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar32 + 0x194d24) + 0xe78" (pointer_expression "*(int *)(pcVar32 + 0x194d24)" * (cast_expression "(int *)(pcVar32 + 0x194d24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x194d24)" ( (binary_expression "pcVar32 + 0x194d24" identifier + number_literal) )))) + number_literal) , (binary_expression "pfVar18 + 0xd0" identifier + number_literal) , identifier ))) ;) (expression_statement "(**(code **)(pcVar32 + 0x1954b8))(uVar17);" (call_expression "(**(code **)(pcVar32 + 0x1954b8))(uVar17)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1954b8))" ( (pointer_expression "**(code **)(pcVar32 + 0x1954b8)" * (pointer_expression "*(code **)(pcVar32 + 0x1954b8)" * (cast_expression "(code **)(pcVar32 + 0x1954b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1954b8)" ( (binary_expression "pcVar32 + 0x1954b8" identifier + number_literal) ))))) )) (argument_list "(uVar17)" ( identifier ))) ;) (return_statement "return 0.0;" return number_literal ;) })) (if_statement "if (-1 < (int)pfVar16[6] << 9) {\n    return 1.4013e-45;\n  }" if (parenthesized_expression "(-1 < (int)pfVar16[6] << 9)" ( (binary_expression "-1 < (int)pfVar16[6] << 9" number_literal < (binary_expression "(int)pfVar16[6] << 9" (cast_expression "(int)pfVar16[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar16[6]" identifier [ number_literal ])) << number_literal)) )) (compound_statement "{\n    return 1.4013e-45;\n  }" { (return_statement "return 1.4013e-45;" return number_literal ;) })) (if_statement "if ((((uint)pfVar16[6] & 0x1000) == 0) && (((uint)pfVar16[7] & 0x200) == 0)) {\n    return 1.4013e-45;\n  }" if (parenthesized_expression "((((uint)pfVar16[6] & 0x1000) == 0) && (((uint)pfVar16[7] & 0x200) == 0))" ( (binary_expression "(((uint)pfVar16[6] & 0x1000) == 0) && (((uint)pfVar16[7] & 0x200) == 0)" (parenthesized_expression "(((uint)pfVar16[6] & 0x1000) == 0)" ( (binary_expression "((uint)pfVar16[6] & 0x1000) == 0" (parenthesized_expression "((uint)pfVar16[6] & 0x1000)" ( (binary_expression "(uint)pfVar16[6] & 0x1000" (cast_expression "(uint)pfVar16[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pfVar16[6]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) && (parenthesized_expression "(((uint)pfVar16[7] & 0x200) == 0)" ( (binary_expression "((uint)pfVar16[7] & 0x200) == 0" (parenthesized_expression "((uint)pfVar16[7] & 0x200)" ( (binary_expression "(uint)pfVar16[7] & 0x200" (cast_expression "(uint)pfVar16[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pfVar16[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n    return 1.4013e-45;\n  }" { (return_statement "return 1.4013e-45;" return number_literal ;) })) (if_statement "if ((uint)pfVar16[2] < 2) {\n    fVar34 = pfVar16[1];\n    uVar40 = 1;\n  }\n  else {\n    fVar34 = pfVar16[1];\n    uVar40 = (uint)pfVar16[2] >> 1;\n  }" if (parenthesized_expression "((uint)pfVar16[2] < 2)" ( (binary_expression "(uint)pfVar16[2] < 2" (cast_expression "(uint)pfVar16[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pfVar16[2]" identifier [ number_literal ])) < number_literal) )) (compound_statement "{\n    fVar34 = pfVar16[1];\n    uVar40 = 1;\n  }" { (expression_statement "fVar34 = pfVar16[1];" (assignment_expression "fVar34 = pfVar16[1]" identifier = (subscript_expression "pfVar16[1]" identifier [ number_literal ])) ;) (expression_statement "uVar40 = 1;" (assignment_expression "uVar40 = 1" identifier = number_literal) ;) }) (else_clause "else {\n    fVar34 = pfVar16[1];\n    uVar40 = (uint)pfVar16[2] >> 1;\n  }" else (compound_statement "{\n    fVar34 = pfVar16[1];\n    uVar40 = (uint)pfVar16[2] >> 1;\n  }" { (expression_statement "fVar34 = pfVar16[1];" (assignment_expression "fVar34 = pfVar16[1]" identifier = (subscript_expression "pfVar16[1]" identifier [ number_literal ])) ;) (expression_statement "uVar40 = (uint)pfVar16[2] >> 1;" (assignment_expression "uVar40 = (uint)pfVar16[2] >> 1" identifier = (binary_expression "(uint)pfVar16[2] >> 1" (cast_expression "(uint)pfVar16[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pfVar16[2]" identifier [ number_literal ])) >> number_literal)) ;) }))) (if_statement "if ((uint)fVar34 < 2) {\n    uVar41 = 1;\n  }\n  else {\n    uVar41 = (uint)fVar34 >> 1;\n  }" if (parenthesized_expression "((uint)fVar34 < 2)" ( (binary_expression "(uint)fVar34 < 2" (cast_expression "(uint)fVar34" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n    uVar41 = 1;\n  }" { (expression_statement "uVar41 = 1;" (assignment_expression "uVar41 = 1" identifier = number_literal) ;) }) (else_clause "else {\n    uVar41 = (uint)fVar34 >> 1;\n  }" else (compound_statement "{\n    uVar41 = (uint)fVar34 >> 1;\n  }" { (expression_statement "uVar41 = (uint)fVar34 >> 1;" (assignment_expression "uVar41 = (uint)fVar34 >> 1" identifier = (binary_expression "(uint)fVar34 >> 1" (cast_expression "(uint)fVar34" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;) }))) (expression_statement "iVar15 = 1;" (assignment_expression "iVar15 = 1" identifier = number_literal) ;) (if_statement "if ((int)pfVar16[5] < 2) {\n    return 1.4013e-45;\n  }" if (parenthesized_expression "((int)pfVar16[5] < 2)" ( (binary_expression "(int)pfVar16[5] < 2" (cast_expression "(int)pfVar16[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar16[5]" identifier [ number_literal ])) < number_literal) )) (compound_statement "{\n    return 1.4013e-45;\n  }" { (return_statement "return 1.4013e-45;" return number_literal ;) })) (do_statement "do {\n    (**(code **)(pcVar32 + 0x1953d4))(iVar8,pfVar18,uStack_248);\n    iVar15 = iVar15 + 1;\n    pcVar31 = *(code **)(pcVar32 + 0x19584c);\n    if (pfVar18[0xcda] == 0.0) {\n      return 0.0;\n    }\n    *(float *)((int)pfVar18[0xcda] + 700) = pfVar18[0xaf];\n    pfVar18 = (float *)(*pcVar31)(pfVar18);\n    iVar13 = (**(code **)(pcVar32 + 0x1958f0))(pfVar18,uVar40,uVar41,uStack_248);\n    if (iVar13 == 0) {\n      return 0.0;\n    }\n    fVar34 = (float)(*pcVar30)(pfVar18,pfVar16,uStack_248);\n    if (fVar34 == 0.0) {\n      return 0.0;\n    }\n    if (uVar40 == 1) {\n      if (uVar41 == 1) {\n        return fVar34;\n      }\nLAB_00213d14:\n      uVar41 = uVar41 >> 1;\n    }\n    else {\n      uVar40 = uVar40 >> 1;\n      if (uVar41 != 1) goto LAB_00213d14;\n    }\n    if ((int)pfVar16[5] <= iVar15) {\n      return fVar34;\n    }\n  } while( true );" do (compound_statement "{\n    (**(code **)(pcVar32 + 0x1953d4))(iVar8,pfVar18,uStack_248);\n    iVar15 = iVar15 + 1;\n    pcVar31 = *(code **)(pcVar32 + 0x19584c);\n    if (pfVar18[0xcda] == 0.0) {\n      return 0.0;\n    }\n    *(float *)((int)pfVar18[0xcda] + 700) = pfVar18[0xaf];\n    pfVar18 = (float *)(*pcVar31)(pfVar18);\n    iVar13 = (**(code **)(pcVar32 + 0x1958f0))(pfVar18,uVar40,uVar41,uStack_248);\n    if (iVar13 == 0) {\n      return 0.0;\n    }\n    fVar34 = (float)(*pcVar30)(pfVar18,pfVar16,uStack_248);\n    if (fVar34 == 0.0) {\n      return 0.0;\n    }\n    if (uVar40 == 1) {\n      if (uVar41 == 1) {\n        return fVar34;\n      }\nLAB_00213d14:\n      uVar41 = uVar41 >> 1;\n    }\n    else {\n      uVar40 = uVar40 >> 1;\n      if (uVar41 != 1) goto LAB_00213d14;\n    }\n    if ((int)pfVar16[5] <= iVar15) {\n      return fVar34;\n    }\n  }" { (expression_statement "(**(code **)(pcVar32 + 0x1953d4))(iVar8,pfVar18,uStack_248);" (call_expression "(**(code **)(pcVar32 + 0x1953d4))(iVar8,pfVar18,uStack_248)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1953d4))" ( (pointer_expression "**(code **)(pcVar32 + 0x1953d4)" * (pointer_expression "*(code **)(pcVar32 + 0x1953d4)" * (cast_expression "(code **)(pcVar32 + 0x1953d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1953d4)" ( (binary_expression "pcVar32 + 0x1953d4" identifier + number_literal) ))))) )) (argument_list "(iVar8,pfVar18,uStack_248)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (expression_statement "pcVar31 = *(code **)(pcVar32 + 0x19584c);" (assignment_expression "pcVar31 = *(code **)(pcVar32 + 0x19584c)" identifier = (pointer_expression "*(code **)(pcVar32 + 0x19584c)" * (cast_expression "(code **)(pcVar32 + 0x19584c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x19584c)" ( (binary_expression "pcVar32 + 0x19584c" identifier + number_literal) ))))) ;) (if_statement "if (pfVar18[0xcda] == 0.0) {\n      return 0.0;\n    }" if (parenthesized_expression "(pfVar18[0xcda] == 0.0)" ( (binary_expression "pfVar18[0xcda] == 0.0" (subscript_expression "pfVar18[0xcda]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      return 0.0;\n    }" { (return_statement "return 0.0;" return number_literal ;) })) (expression_statement "*(float *)((int)pfVar18[0xcda] + 700) = pfVar18[0xaf];" (assignment_expression "*(float *)((int)pfVar18[0xcda] + 700) = pfVar18[0xaf]" (pointer_expression "*(float *)((int)pfVar18[0xcda] + 700)" * (cast_expression "(float *)((int)pfVar18[0xcda] + 700)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar18[0xcda] + 700)" ( (binary_expression "(int)pfVar18[0xcda] + 700" (cast_expression "(int)pfVar18[0xcda]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar18[0xcda]" identifier [ number_literal ])) + number_literal) )))) = (subscript_expression "pfVar18[0xaf]" identifier [ number_literal ])) ;) (expression_statement "pfVar18 = (float *)(*pcVar31)(pfVar18);" (assignment_expression "pfVar18 = (float *)(*pcVar31)(pfVar18)" identifier = (cast_expression "(float *)(*pcVar31)(pfVar18)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar31)(pfVar18)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(pfVar18)" ( identifier ))))) ;) (expression_statement "iVar13 = (**(code **)(pcVar32 + 0x1958f0))(pfVar18,uVar40,uVar41,uStack_248);" (assignment_expression "iVar13 = (**(code **)(pcVar32 + 0x1958f0))(pfVar18,uVar40,uVar41,uStack_248)" identifier = (call_expression "(**(code **)(pcVar32 + 0x1958f0))(pfVar18,uVar40,uVar41,uStack_248)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1958f0))" ( (pointer_expression "**(code **)(pcVar32 + 0x1958f0)" * (pointer_expression "*(code **)(pcVar32 + 0x1958f0)" * (cast_expression "(code **)(pcVar32 + 0x1958f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1958f0)" ( (binary_expression "pcVar32 + 0x1958f0" identifier + number_literal) ))))) )) (argument_list "(pfVar18,uVar40,uVar41,uStack_248)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar13 == 0) {\n      return 0.0;\n    }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0.0;\n    }" { (return_statement "return 0.0;" return number_literal ;) })) (expression_statement "fVar34 = (float)(*pcVar30)(pfVar18,pfVar16,uStack_248);" (assignment_expression "fVar34 = (float)(*pcVar30)(pfVar18,pfVar16,uStack_248)" identifier = (cast_expression "(float)(*pcVar30)(pfVar18,pfVar16,uStack_248)" ( (type_descriptor "float" primitive_type) ) (call_expression "(*pcVar30)(pfVar18,pfVar16,uStack_248)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(pfVar18,pfVar16,uStack_248)" ( identifier , identifier , identifier ))))) ;) (if_statement "if (fVar34 == 0.0) {\n      return 0.0;\n    }" if (parenthesized_expression "(fVar34 == 0.0)" ( (binary_expression "fVar34 == 0.0" identifier == number_literal) )) (compound_statement "{\n      return 0.0;\n    }" { (return_statement "return 0.0;" return number_literal ;) })) (if_statement "if (uVar40 == 1) {\n      if (uVar41 == 1) {\n        return fVar34;\n      }\nLAB_00213d14:\n      uVar41 = uVar41 >> 1;\n    }\n    else {\n      uVar40 = uVar40 >> 1;\n      if (uVar41 != 1) goto LAB_00213d14;\n    }" if (parenthesized_expression "(uVar40 == 1)" ( (binary_expression "uVar40 == 1" identifier == number_literal) )) (compound_statement "{\n      if (uVar41 == 1) {\n        return fVar34;\n      }\nLAB_00213d14:\n      uVar41 = uVar41 >> 1;\n    }" { (if_statement "if (uVar41 == 1) {\n        return fVar34;\n      }" if (parenthesized_expression "(uVar41 == 1)" ( (binary_expression "uVar41 == 1" identifier == number_literal) )) (compound_statement "{\n        return fVar34;\n      }" { (return_statement "return fVar34;" return identifier ;) })) (labeled_statement "LAB_00213d14:\n      uVar41 = uVar41 >> 1;" statement_identifier : (expression_statement "uVar41 = uVar41 >> 1;" (assignment_expression "uVar41 = uVar41 >> 1" identifier = (binary_expression "uVar41 >> 1" identifier >> number_literal)) ;)) }) (else_clause "else {\n      uVar40 = uVar40 >> 1;\n      if (uVar41 != 1) goto LAB_00213d14;\n    }" else (compound_statement "{\n      uVar40 = uVar40 >> 1;\n      if (uVar41 != 1) goto LAB_00213d14;\n    }" { (expression_statement "uVar40 = uVar40 >> 1;" (assignment_expression "uVar40 = uVar40 >> 1" identifier = (binary_expression "uVar40 >> 1" identifier >> number_literal)) ;) (if_statement "if (uVar41 != 1) goto LAB_00213d14;" if (parenthesized_expression "(uVar41 != 1)" ( (binary_expression "uVar41 != 1" identifier != number_literal) )) (goto_statement "goto LAB_00213d14;" goto statement_identifier ;)) }))) (if_statement "if ((int)pfVar16[5] <= iVar15) {\n      return fVar34;\n    }" if (parenthesized_expression "((int)pfVar16[5] <= iVar15)" ( (binary_expression "(int)pfVar16[5] <= iVar15" (cast_expression "(int)pfVar16[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar16[5]" identifier [ number_literal ])) <= identifier) )) (compound_statement "{\n      return fVar34;\n    }" { (return_statement "return fVar34;" return identifier ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "PixelChannel": Some values do not have unique names */\n/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n\nMagickBooleanType\nConstructOrdering(size_t count,DDSVector4 *points,DDSVector3 axis,DDSVector4 *pointsWeights,\n                 DDSVector4 *xSumwSum,uchar *order,size_t iteration)\n\n{\n  byte bVar1;\n  byte bVar2;\n  undefined1 uVar3;\n  DDSColors *pDVar4;\n  DDSVector4 *pDVar5;\n  DDSVector4 *pDVar6;\n  MagickBooleanType MVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  undefined4 *puVar11;\n  size_t sVar12;\n  float *pfVar13;\n  byte *pbVar14;\n  DDSColors *pDVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  DDSColors *pDVar19;\n  DDSVector4 *pDVar20;\n  int iVar21;\n  DDSColors *pDVar22;\n  DDSVector4 *pDVar23;\n  undefined4 uVar24;\n  DDSVector4 *pDVar25;\n  float *pfVar26;\n  byte *pbVar27;\n  int iVar28;\n  int iVar29;\n  int iVar30;\n  MagickBooleanType *pMVar31;\n  MagickBooleanType *pMVar32;\n  DDSColors *pDVar33;\n  MagickBooleanType *pMVar34;\n  int *piVar35;\n  uint *puVar36;\n  uint *puVar37;\n  uint *puVar38;\n  uint *unaff_s6;\n  DDSColors *pDVar39;\n  MagickBooleanType unaff_s7;\n  int iVar40;\n  undefined *puVar41;\n  code *pcVar42;\n  code *pcVar43;\n  code *pcVar44;\n  MagickBooleanType unaff_s8;\n  code *pcVar45;\n  float fVar46;\n  uint uVar47;\n  uint uVar48;\n  uint uVar49;\n  uint uVar50;\n  float fVar51;\n  uint uVar52;\n  uint uVar53;\n  float fVar54;\n  float fVar55;\n  undefined8 in_f20_21;\n  double in_f22_23;\n  double dVar56;\n  double dVar57;\n  undefined8 uVar58;\n  uint uStack_248;\n  DDSColors DStack_22c;\n  int iStack_21c;\n  MagickBooleanType *pMStack_218;\n  DDSColors *pDStack_214;\n  DDSColors *pDStack_210;\n  int *piStack_20c;\n  uint *puStack_208;\n  uint *puStack_204;\n  uint *puStack_200;\n  MagickBooleanType MStack_1fc;\n  MagickBooleanType MStack_1f8;\n  code *pcStack_1f4;\n  undefined8 uStack_1f0;\n  double dStack_1e8;\n  uint uStack_1d0;\n  DDSColors *pDStack_1cc;\n  code *pcStack_1c8;\n  uint uStack_1bc;\n  int *piStack_1b8;\n  DDSColors *pDStack_1b4;\n  uint uStack_1b0;\n  undefined4 uStack_1ac;\n  DDSColors *pDStack_1a8;\n  int *piStack_1a4;\n  DDSColors DStack_19c;\n  int iStack_18c;\n  MagickBooleanType *pMStack_188;\n  DDSColors *pDStack_184;\n  DDSColors *pDStack_180;\n  int *piStack_17c;\n  uint *puStack_178;\n  uint *puStack_174;\n  uint *puStack_170;\n  MagickBooleanType MStack_16c;\n  MagickBooleanType MStack_168;\n  code *pcStack_164;\n  DDSColors *pDStack_140;\n  DDSColors *pDStack_13c;\n  int iStack_138;\n  DDSColors *pDStack_134;\n  code *pcStack_130;\n  code *pcStack_128;\n  uint uStack_124;\n  uint uStack_120;\n  MagickBooleanType MStack_11c;\n  MagickBooleanType MStack_118;\n  undefined4 uStack_114;\n  uint *puStack_110;\n  undefined4 uStack_10c;\n  undefined4 uStack_108;\n  uint uStack_104;\n  uint uStack_100;\n  int iStack_fc;\n  undefined4 uStack_f8;\n  undefined4 uStack_f4;\n  undefined4 uStack_f0;\n  undefined4 uStack_ec;\n  undefined4 uStack_e8;\n  int iStack_e4;\n  MagickBooleanType *pMStack_e0;\n  DDSColors *pDStack_dc;\n  DDSColors *pDStack_d8;\n  MagickBooleanType *pMStack_d4;\n  uint *puStack_d0;\n  uint *puStack_cc;\n  undefined4 uStack_9c;\n  MagickBooleanType aMStack_8c [2];\n  float local_54;\n  float local_50;\n  float dps [16];\n  \n  puVar41 = PTR___stack_chk_guard_003a9230;\n  pDVar4 = *(DDSColors **)PTR___stack_chk_guard_003a9230;\n  pDVar25 = (DDSVector4 *)(order + iteration * 0x10);\n  if ((int)count < 1) {\n    MVar7 = MagickTrue;\n    if (0 < (int)iteration) goto LAB_00212794;\n    *(undefined4 *)axis.z = 0;\n    *(undefined4 *)((int)axis.z + 4) = 0;\n    *(undefined4 *)((int)axis.z + 8) = 0;\n    *(undefined4 *)((int)axis.z + 0xc) = 0;\n  }\n  else {\n    pfVar26 = dps;\n    sVar12 = 0;\n    pDVar5 = points;\n    pfVar13 = pfVar26;\n    pDVar6 = pDVar25;\n    do {\n      fVar54 = pDVar5->y;\n      pDVar23 = (DDSVector4 *)((int)&pDVar6->x + 1);\n      pDVar20 = (DDSVector4 *)(pfVar13 + 1);\n      fVar51 = pDVar5->x;\n      fVar46 = pDVar5->z;\n      *(char *)&pDVar6->x = (char)sVar12;\n      sVar12 = sVar12 + 1;\n      *pfVar13 = axis.x * fVar46 + (float)pointsWeights * fVar51 + (float)xSumwSum * fVar54;\n      pDVar5 = pDVar5 + 1;\n      pfVar13 = (float *)pDVar20;\n      pDVar6 = pDVar23;\n    } while (sVar12 != count);\n    pDVar5 = (DDSVector4 *)((int)&pDVar25[-1].w + 3);\n    do {\n      if ((1 - (int)pDVar25) + (int)pDVar5 != 0) {\n        fVar51 = *pfVar26;\n        fVar46 = pfVar26[-1];\n        if (fVar51 < fVar46) {\n          bVar1 = *(byte *)((int)&pDVar5->x + 1);\n          pDVar23 = (DDSVector4 *)(uint)bVar1;\n          pDVar6 = pDVar5;\n          pfVar13 = pfVar26;\n          do {\n            bVar2 = *(byte *)&pDVar6->x;\n            pDVar20 = (DDSVector4 *)(uint)bVar2;\n            *pfVar13 = fVar46;\n            *(byte *)&pDVar6->x = bVar1;\n            pfVar13[-1] = fVar51;\n            *(byte *)((int)&pDVar6->x + 1) = bVar2;\n            if (pDVar25 == pDVar6) break;\n            fVar46 = pfVar13[-2];\n            pDVar6 = (DDSVector4 *)((int)&pDVar6[-1].w + 3);\n            pfVar13 = pfVar13 + -1;\n          } while (fVar51 < fVar46);\n        }\n      }\n      pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);\n      pfVar26 = pfVar26 + 1;\n    } while ((DDSVector4 *)((int)pDVar25 + (count - 1)) != pDVar5);\n    pointsWeights = pDVar20;\n    xSumwSum = pDVar23;\n    if ((int)iteration < 1) {\n      *(undefined4 *)axis.z = 0;\n      *(undefined4 *)((int)axis.z + 4) = 0;\n      *(undefined4 *)((int)axis.z + 8) = 0;\n      *(undefined4 *)((int)axis.z + 0xc) = 0;\nLAB_00212818:\n      iVar29 = 0;\n      do {\n        pfVar13 = &pDVar25->x;\n        iVar29 = iVar29 + 1;\n        pDVar25 = (DDSVector4 *)((int)&pDVar25->x + 1);\n        pointsWeights = (DDSVector4 *)(uint)(iVar29 < (int)count);\n        pDVar5 = points + *(byte *)pfVar13;\n        fVar46 = pDVar5->w;\n        fVar55 = pDVar5->x;\n        fVar54 = pDVar5->y;\n        fVar51 = pDVar5->z;\n        *(float *)((int)axis.y + 0xc) = fVar46;\n        fVar55 = fVar46 * fVar55;\n        fVar54 = fVar46 * fVar54;\n        fVar51 = fVar46 * fVar51;\n        *(float *)axis.y = fVar55;\n        *(float *)((int)axis.y + 4) = fVar54;\n        *(float *)((int)axis.y + 8) = fVar51;\n        *(float *)((int)axis.z + 4) = fVar54 + *(float *)((int)axis.z + 4);\n        *(float *)((int)axis.z + 8) = fVar51 + *(float *)((int)axis.z + 8);\n        *(float *)((int)axis.z + 0xc) = fVar46 + *(float *)((int)axis.z + 0xc);\n        *(float *)axis.z = *(float *)axis.z + fVar55;\n        xSumwSum = pDVar23;\n        axis.y = (float)((int)axis.y + 0x10);\n      } while (pointsWeights != (DDSVector4 *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar27 = order + 1;\n      iVar29 = 0;\n      pDVar23 = xSumwSum;\n      do {\n        MVar7 = MagickFalse;\n        xSumwSum = pDVar23;\n        if (count == 0) goto LAB_002127dc;\n        pbVar14 = pbVar27;\n        pDVar5 = pDVar25;\n        if (pbVar27[-1] == *(byte *)&pDVar25->x) {\n          do {\n            pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);\n            if ((DDSVector4 *)((int)&pDVar25->x + count) == pDVar5) {\n              MVar7 = MagickFalse;\n              xSumwSum = pDVar23;\n              goto LAB_002127dc;\n            }\n            pDVar23 = (DDSVector4 *)(uint)*(byte *)&pDVar5->x;\n            pointsWeights = (DDSVector4 *)(uint)*pbVar14;\n            pbVar14 = pbVar14 + 1;\n          } while (pDVar23 == pointsWeights);\n        }\n        iVar29 = iVar29 + 1;\n        pbVar27 = pbVar27 + 0x10;\n      } while (iVar29 < (int)iteration);\n      *(undefined4 *)axis.z = 0;\n      *(undefined4 *)((int)axis.z + 4) = 0;\n      *(undefined4 *)((int)axis.z + 8) = 0;\n      *(undefined4 *)((int)axis.z + 0xc) = 0;\n      xSumwSum = pDVar23;\n      if (0 < (int)count) goto LAB_00212818;\n    }\n    MVar7 = MagickTrue;\n  }\nLAB_002127dc:\n  if (pDVar4 == *(DDSColors **)puVar41) {\n    return MVar7;\n  }\n  puVar41 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  fVar46 = *(float *)(*(int *)(puVar41 + 0x196010) + -0xe34);\n  fVar51 = *(float *)(*(int *)(puVar41 + 0x196074) + -0x1e70);\n  pDVar33 = *(DDSColors **)(puVar41 + 0x196954);\n  aMStack_8c[0] = *(MagickBooleanType *)pDVar33->r;\n  uVar52 = (uint)((float)points * fVar51 + fVar46);\n  uVar53 = (uint)((float)pointsWeights * *(float *)(*(int *)(puVar41 + 0x196074) + -0x1e6c) + fVar46\n                 );\n  if (0x1f < uVar52) {\n    uVar52 = 0x1f;\n  }\n  uVar47 = (uint)(fVar51 * 5.421411e-39 + fVar46);\n  if (0x3f < uVar53) {\n    uVar53 = 0x3f;\n  }\n  uVar48 = (uint)(local_54 * *(float *)(*(int *)(puVar41 + 0x196074) + -0x1e6c) + fVar46);\n  if (0x1f < uVar47) {\n    uVar47 = 0x1f;\n  }\n  uVar49 = (uint)((float)xSumwSum * fVar51 + fVar46);\n  if (0x3f < uVar48) {\n    uVar48 = 0x3f;\n  }\n  uVar50 = (uint)(local_50 * fVar51 + fVar46);\n  if (0x1f < uVar49) {\n    uVar49 = 0x1f;\n  }\n  puVar38 = (uint *)(uVar52 << 0xb | uVar53 << 5 | uVar49);\n  if (0x1f < uVar50) {\n    uVar50 = 0x1f;\n  }\n  puVar36 = (uint *)(uVar47 << 0xb | uVar48 << 5 | uVar50);\n  pMVar31 = &uStack_9c;\n  do {\n    if (puVar38 < puVar36) {\n      *(undefined1 *)pMVar31 = (*(undefined1 *)dps[0] ^ MagickTrue) & 3;\n    }\n    else {\n      while (puVar36 != puVar38) {\n        uVar3 = *(undefined1 *)dps[0];\n        pMVar32 = (MagickBooleanType *)((int)pMVar31 + 1);\n        dps[0] = (float)((int)dps[0] + 1);\n        *(undefined1 *)pMVar31 = uVar3;\n        pMVar31 = pMVar32;\n        if (aMStack_8c == pMVar32) goto LAB_00212a50;\n      }\n      *(undefined1 *)pMVar31 = MagickFalse;\n    }\n    pMVar32 = (MagickBooleanType *)((int)pMVar31 + 1);\n    dps[0] = (float)((int)dps[0] + 1);\n    pMVar31 = pMVar32;\n  } while (aMStack_8c != pMVar32);\nLAB_00212a50:\n  puVar37 = puVar36;\n  if (puVar38 < puVar36) {\n    puVar37 = puVar38;\n    puVar38 = puVar36;\n  }\n  (**(code **)(puVar41 + 0x196700))(pDVar4,(uint)puVar38 & 0xff);\n  (**(code **)(puVar41 + 0x196700))(pDVar4,(uint)((int)puVar38 << 0x10) >> 0x18);\n  (**(code **)(puVar41 + 0x196700))(pDVar4,(uint)puVar37 & 0xff);\n  (**(code **)(puVar41 + 0x196700))(pDVar4,(uint)((int)puVar37 << 0x10) >> 0x18);\n  pMVar31 = &uStack_9c;\n  do {\n    pMVar34 = pMVar31 + 1;\n    pDVar19 = (DDSColors *)\n              (((uint)*(byte *)((int)pMVar31 + 1) << 2 | (uint)*(byte *)((int)pMVar31 + 2) << 4 |\n                (uint)(byte)*(undefined1 *)pMVar31 | (uint)(byte)*pMVar31 << 6) & 0xff);\n    pDVar39 = pDVar4;\n    (**(code **)(puVar41 + 0x196700))();\n    pMVar31 = pMVar34;\n  } while (pMVar32 != pMVar34);\n  if (aMStack_8c[0] == *(MagickBooleanType *)pDVar33->r) {\n    return *(MagickBooleanType *)pDVar33->r;\n  }\n  pcVar42 = *(code **)(puVar41 + 0x196788);\n  (*pcVar42)();\n  pcVar44 = pcVar42 + 0x19dd78;\n  piVar35 = *(int **)(pcVar42 + 0x1966f8);\n  iStack_e4 = *piVar35;\n  pcStack_130 = pcVar44;\n  pMStack_e0 = pMVar32;\n  pDStack_dc = pDVar4;\n  pDStack_d8 = pDVar33;\n  pMStack_d4 = pMVar34;\n  puStack_d0 = puVar37;\n  puStack_cc = puVar38;\n  if (pDVar39 == (DDSColors *)0x0) {\nLAB_00213360:\n    pDVar39 = pDVar4;\n    (**(code **)(pcVar44 + -0x72a8))\n              (*(int *)(pcVar44 + -0x7fd0) + 0xd78,*(int *)(pcVar44 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar44 + -0x7f60) + -0x2ab4);\n  }\n  else {\n    if (*(int *)pDVar39[0x321].g != -0x54535255) goto LAB_00213390;\n    if (*(int *)pDVar39[0x321].r != 0) {\n      pDStack_13c = pDVar39 + 0x221;\n      pDStack_140 = (DDSColors *)(*(int *)(pcVar42 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar42 + 0x1966a8))\n                (0x8000,*(int *)(pcVar42 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar42 + 0x195e18) + -0x2ac4,0x6ca);\n    }\n    pcVar44 = pcStack_130;\n    pDVar33 = pDVar19;\n    if (pDVar19 == (DDSColors *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar44 + -0x72a8))\n                (*(int *)(pcVar44 + -0x7fd0) + 0x1cac,*(int *)(pcVar44 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar44 + -0x7f60) + -0x2ab4);\n      pDVar4 = pDVar39;\n      goto LAB_00213360;\n    }\n    if (*(int *)pDVar19[1].a != -0x54535255) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }\n    pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_130 + -0x72a4))(pDVar39,pDVar19);\n    iVar29 = (**(code **)(pcStack_130 + -0x7664))(pDVar39,pMVar32,2,pDVar19);\n    if (iVar29 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n      MVar7 = MagickFalse;\n      goto LAB_00212c9c;\n    }\n    pDStack_140 = (DDSColors *)0x0;\n    (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n    iVar29 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n    if ((iVar29 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pMVar32), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar37 = (uint *)0x1;\n      MStack_11c = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      MStack_118 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      pDStack_140 = (DDSColors *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n      iVar29 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      if (iVar29 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      pDStack_140 = (DDSColors *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n      puVar37 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pDStack_140 = (DDSColors *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar24 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 5;\n            pcStack_128 = (code *)(puVar38 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 6;\n            pcStack_128 = (code *)(puVar38 + 0x1635);\n          }\n          else {\n            uVar24 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = MagickFalse;\n            unaff_s7 = 4;\n            pcStack_128 = (code *)(puVar38 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar24 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar21 = *(int *)(pcStack_130 + -0x7f60);\n        iVar29 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar44 = *(code **)(pcStack_130 + -0x7990);\n        pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 4;\n        unaff_s7 = 0x10;\n        pcStack_128 = (code *)(puVar38 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = MagickFalse;\n      unaff_s7 = 0x10;\n      pcStack_128 = (code *)(puVar38 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar37 != (uint *)0x0) {\n        puVar37 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar37 = (uint *)((int)puVar37 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar37 = puStack_110;\nLAB_00213068:\n        if (puVar37 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar24 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar37 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar37 = (uint *)0x1;\nLAB_00212ed8:\n      uVar58 = (**(code **)(pcStack_130 + -0x73f8))(pMVar32);\n      puVar38 = puVar37;\n      if (unaff_s6 == (uint *)((ulonglong)uVar58 >> 0x20)) {\n        pcVar44 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar58 < puVar37) goto LAB_00212efc;\n      }\n      else {\n        pcVar44 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar29 = (*pcVar44)(0xb);\n      if (iVar29 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pDStack_140 = (DDSColors *)0x190;\n        pDStack_134 = pDVar39 + 0x221;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pMVar32 == (MagickBooleanType *)0x0) {\n          MVar7 = MagickFalse;\n          pDVar39 = pDVar39 + 0x221;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar38 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar24 = (**(code **)(pcStack_130 + -0x7748))\n                         (pDVar39,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar29 = (**(code **)(pcStack_130 + -0x7694))(uVar24);\n      uStack_124 = (uint)(iVar29 != 0);\n      while( true ) {\n        iVar29 = *(int *)pDVar39[0x1d].a;\n        pMVar32[0x97] = MagickTrue;\n        *pMVar32 = MagickTrue;\n        pMVar32[0xaf] = unaff_s8;\n        pMVar32[2] = unaff_s7;\n        pMVar32[6] = MStack_118;\n        pMVar32[7] = MStack_11c;\n        pMVar32[8] = 8;\n        if (iVar29 != 0) break;\n        iVar29 = (**(code **)(pcStack_130 + -0x7404))(pMVar32,MStack_118,MStack_11c,pDVar19);\n        if (iVar29 == 0) {\nLAB_00213284:\n          MVar7 = (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pMVar32,pDVar19);\n        pDStack_140 = pDVar19;\n        iVar29 = (*pcStack_128)(pDVar39,pMVar32,puVar38,uStack_124);\n        if (iVar29 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pMVar32);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          MVar7 = (**(code **)(pcStack_130 + -0x7464))(pMVar32);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar37) break;\n        iVar29 = (**(code **)(pcStack_130 + -0x7168))(pMVar32);\n        if (iVar29 != 0) {\n          pDStack_134 = pDVar39 + 0x221;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pDStack_140 = (DDSColors *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar44 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pDVar39,pMVar32,pDVar19);\n        iVar29 = (**(code **)(pcStack_130 + -0x7440))(pMVar32);\n        if (iVar29 == 0) goto LAB_00213284;\n        pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_130 + -0x74a8))(pMVar32);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pMVar32);\n      MVar7 = (**(code **)(pcStack_130 + -0x7464))(pMVar32);\n    }\n    else {\nLAB_00212c24:\n      uVar24 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar21 = *(int *)(pcStack_130 + -0x7f60);\n      iVar29 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar44 = *(code **)(pcStack_130 + -0x7990);\n      pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pDStack_134 = pDVar39 + 0x221;\n      iStack_138 = iStack_138 + 0x3e28;\n      pDStack_140 = (DDSColors *)&DAT_000001a9;\n      (*pcVar44)(pDVar19,iVar29 + -0x2c20,iVar21 + -0x2ac4,uVar24);\n      if (pMVar32 != (MagickBooleanType *)0x0) {\nLAB_00212c74:\n        pcVar44 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar44)(pMVar32);\n        (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n      }\n      MVar7 = MagickFalse;\n      pDVar39 = pDVar39 + 0x221;\n    }\nLAB_00212c9c:\n    pcVar44 = pcStack_130;\n    if (iStack_e4 == *piVar35) {\n      return MVar7;\n    }\n  }\n  (**(code **)(pcVar44 + -0x784c))();\nLAB_00213390:\n  pDVar19 = (DDSColors *)0x6c8;\n  pcVar43 = *(code **)(pcVar44 + -0x72a8);\n  pcVar42 = (code *)(*(int *)(pcVar44 + -0x7f60) + -0x2ab4);\n  pDVar4 = (DDSColors *)(*(int *)(pcVar44 + -0x7f60) + -0x2c20);\n  pcVar45 = ReadDXT5Pixels;\n  puVar36 = (uint *)(*(int *)(pcVar44 + -0x7fd0) + 0xda0);\n  (*pcVar43)();\n  pcStack_1c8 = pcVar43 + 0x19d4fc;\n  piStack_1a4 = *(int **)(pcVar43 + 0x195e7c);\n  pDStack_1a8 = (DDSColors *)0x0;\n  iStack_18c = *piStack_1a4;\n  uVar52 = puVar36[7];\n  pDStack_1b4 = pDVar19;\n  pMStack_188 = pMVar32;\n  pDStack_184 = pDVar39;\n  pDStack_180 = pDVar33;\n  piStack_17c = piVar35;\n  puStack_178 = puVar37;\n  puStack_174 = puVar38;\n  puStack_170 = unaff_s6;\n  MStack_16c = unaff_s7;\n  MStack_168 = unaff_s8;\n  pcStack_164 = pcVar45;\n  if (0 < (int)uVar52) {\n    in_f22_23 = *(double *)(*(int *)(pcVar43 + 0x195534) + -0x5af0);\n    in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar43 + 0x19552c) + 0x1a50));\n    do {\n      pDVar22 = pDStack_1a8;\n      pcVar42 = (code *)puVar36[6];\n      pDVar33 = (DDSColors *)0x0;\n      if (0 < (int)pcVar42) {\n        do {\n          pcVar44 = pcVar42 + -(int)pDVar33;\n          uStack_1d0 = uVar52 - (int)pDVar22;\n          pDStack_1cc = pDStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar42 = (code *)&DAT_00000004;\n          if (pcVar44 < &DAT_00000005) {\n            pcVar42 = pcVar44;\n          }\n          pDVar4 = pDVar33;\n          pDVar19 = pDVar22;\n          pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_1c8 + -0x798c))(puVar36);\n          pDVar39 = pDVar22;\n          if (pMVar32 == (MagickBooleanType *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar36);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar38 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar36);\n          piVar35 = (int *)((uint)puVar38 & 0xff);\n          unaff_s7 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          pDVar4 = (DDSColors *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          unaff_s8 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36);\n          pcVar42 = (code *)0x1;\n          pDVar19 = &DStack_19c;\n          CalculateColors((ushort)uStack_1bc,(ushort)pDVar4,pDVar19,MagickTrue);\n          iVar29 = (**(code **)(pcStack_1c8 + -0x7168))(puVar36);\n          if (iVar29 != 0) goto LAB_002137bc;\n          iVar29 = 0;\n          uVar52 = puVar36[6];\n          piVar35 = (int *)(uint)(piVar35 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar38 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pDVar4 = pDVar22;\n          do {\n            iVar21 = 0;\n            puVar38 = (uint *)&DAT_00000007;\n            pDVar15 = pDVar33;\n            do {\n              if (((int)pDVar15 < (int)uVar52) && ((int)pDVar4 < (int)puVar36[7])) {\n                uVar49 = puVar36[0xb4];\n                uVar53 = (iVar29 + iVar21) * 3;\n                uVar48 = unaff_s8 >> ((iVar29 + iVar21) * 2 & 0x1fU) & 3;\n                uVar47 = ((int)unaff_s6 << 1) << (~uVar53 & 0x1f) | unaff_s7 >> (uVar53 & 0x1f);\n                if ((uVar53 & 0x20) != 0) {\n                  uVar47 = (uint)unaff_s6 >> (uVar53 & 0x1f);\n                }\n                iVar17 = *(int *)(uVar49 + 0x20);\n                pDVar19 = (DDSColors *)(pMVar32 + *(int *)(uVar49 + 0x14));\n                uVar47 = uVar47 & 7;\n                pMVar32[*(int *)(uVar49 + 8)] =\n                     (MagickBooleanType)(float)((double)DStack_19c.r[uVar48] * in_f22_23);\n                pcVar42 = (code *)(uint)DStack_19c.g[uVar48];\n                *(float *)pDVar19->r = (float)((double)(int)pcVar42 * in_f22_23);\n                pMVar32[iVar17] =\n                     (MagickBooleanType)(float)((double)DStack_19c.b[uVar48] * in_f22_23);\n                if (uVar47 == 0) {\n                  fVar46 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar47 == 1) {\n                  fVar46 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar35 == (int *)0x0) {\n                  fVar46 = 0.0;\n                  if (uVar47 != 6) {\n                    if (uVar47 != 7) {\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar46 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar53 = (uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar49 + 0x34) != 0) {\n                  pMVar32[*(int *)(uVar49 + 0x38)] = (MagickBooleanType)fVar46;\n                }\n                pMVar32 = pMVar32 + puVar36[0xb0];\n              }\n              iVar21 = iVar21 + 1;\n              pDVar15 = (DDSColors *)(pDVar33->r + iVar21);\n            } while (iVar21 != 4);\n            iVar29 = iVar29 + 4;\n            pDVar4 = (DDSColors *)(pDVar4->r + 1);\n          } while (iVar29 != 0x10);\n          pDVar4 = pDStack_1b4;\n          iVar29 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar36);\n          if (iVar29 == 0) goto LAB_002137bc;\n          pcVar42 = (code *)puVar36[6];\n          pDVar33 = (DDSColors *)pDVar33->g;\n          pcVar44 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar42 <= (int)pDVar33) goto LAB_0021380c;\n          uVar52 = puVar36[7];\n        } while( true );\n      }\n      pcVar44 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar29 = (*pcVar44)(puVar36);\n      if (iVar29 != 0) {\nLAB_002137bc:\n        MVar7 = MagickFalse;\n        goto LAB_002137c0;\n      }\n      uVar52 = puVar36[7];\n      pDStack_1a8 = (DDSColors *)pDStack_1a8->g;\n      puVar37 = puVar36;\n    } while ((int)pDStack_1a8 < (int)uVar52);\n  }\n  MVar7 = MagickTrue;\n  puVar36 = puVar37;\nLAB_002137c0:\n  if (iStack_18c == *piStack_1a4) {\n    return MVar7;\n  }\n  pcVar44 = *(code **)(pcStack_1c8 + -0x784c);\n  pcVar43 = ReadDXT3Pixels;\n  iVar29 = iStack_18c;\n  (*pcVar44)();\n  piVar8 = *(int **)(pcVar44 + 0x1959e4);\n  iStack_21c = *piVar8;\n  iVar21 = *(int *)(iVar29 + 0x1c);\n  pDVar22 = pDVar19;\n  pMStack_218 = pMVar32;\n  pDStack_214 = pDVar39;\n  pDStack_210 = pDVar33;\n  piStack_20c = piVar35;\n  puStack_208 = puVar36;\n  puStack_204 = puVar38;\n  puStack_200 = unaff_s6;\n  MStack_1fc = unaff_s7;\n  MStack_1f8 = unaff_s8;\n  pcStack_1f4 = pcVar43;\n  uStack_1f0 = in_f20_21;\n  dStack_1e8 = in_f22_23;\n  if (0 < iVar21) {\n    pDVar33 = (DDSColors *)0x0;\n    iVar17 = *(int *)(pcVar44 + 0x195378);\n    dVar56 = *(double *)(*(int *)(pcVar44 + 0x19509c) + -0x5af0);\n    dVar57 = dVar56;\n    do {\n      pcVar42 = *(code **)(iVar29 + 0x18);\n      pDVar39 = (DDSColors *)0x0;\n      if ((int)pcVar42 < 1) {\n        pcVar43 = *(code **)(pcVar44 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar21 - (int)pDVar33;\n          pcVar42 = pcVar42 + -(int)pDVar39;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar42) {\n            pcVar42 = (code *)&DAT_00000004;\n          }\n          pDVar4 = pDVar39;\n          pDVar22 = pDVar33;\n          iVar21 = (**(code **)(pcVar44 + 0x1956d8))(iVar29);\n          if (iVar21 == 0) goto LAB_00213b34;\n          uVar52 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          uVar53 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          uVar24 = (**(code **)(pcVar44 + 0x195eb0))(iVar29);\n          pDVar4 = (DDSColors *)(**(code **)(pcVar44 + 0x195eb0))(iVar29);\n          uVar47 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          pcVar42 = (code *)0x1;\n          pDVar22 = &DStack_22c;\n          (*(code *)(iVar17 + 0x2408))(uVar24);\n          iVar9 = (**(code **)(pcVar44 + 0x195efc))(iVar29);\n          if (iVar9 != 0) goto LAB_00213b34;\n          pcVar42 = *(code **)(iVar29 + 0x18);\n          iVar18 = 0;\n          iVar9 = 0;\n          pDVar22 = pDVar33;\n          do {\n            iVar10 = 0;\n            pDVar4 = pDVar39;\n            do {\n              if (((int)pDVar4 < (int)pcVar42) &&\n                 (iVar16 = iVar10 + iVar18 * 4, (int)pDVar22 < *(int *)(iVar29 + 0x1c))) {\n                iVar28 = *(int *)(iVar29 + 0x2d0);\n                iVar40 = *(int *)(iVar28 + 0x14);\n                uVar48 = uVar47 >> (iVar16 * 2 & 0x1fU) & 3;\n                iVar30 = *(int *)(iVar28 + 0x20);\n                *(float *)(iVar21 + *(int *)(iVar28 + 8) * 4) =\n                     (float)((double)DStack_22c.r[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar40 * 4) = (float)((double)DStack_22c.g[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar30 * 4) = (float)((double)DStack_22c.b[uVar48] * dVar57);\n                if (iVar18 < 2) {\n                  uVar48 = uVar52 >> (iVar16 * 4 & 0x1fU);\n                }\n                else {\n                  uVar48 = uVar53 >> ((iVar9 + iVar10) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar28 + 0x34) != 0) {\n                  *(float *)(iVar21 + *(int *)(iVar28 + 0x38) * 4) =\n                       (float)((double)((uVar48 & 0xf) * 0x11 & 0xff) * dVar56);\n                }\n                iVar21 = iVar21 + *(int *)(iVar29 + 0x2c0) * 4;\n              }\n              iVar10 = iVar10 + 1;\n              pDVar4 = (DDSColors *)(pDVar39->r + iVar10);\n            } while (iVar10 != 4);\n            iVar18 = iVar18 + 1;\n            pDVar22 = (DDSColors *)(pDVar22->r + 1);\n            iVar9 = iVar9 + 4;\n          } while (iVar18 != 4);\n          pDVar4 = pDVar19;\n          iVar21 = (**(code **)(pcVar44 + 0x195998))(iVar29);\n          if (iVar21 == 0) goto LAB_00213b34;\n          pcVar42 = *(code **)(iVar29 + 0x18);\n          pDVar39 = (DDSColors *)pDVar39->g;\n          pcVar43 = *(code **)(pcVar44 + 0x195efc);\n          if ((int)pcVar42 <= (int)pDVar39) break;\n          iVar21 = *(int *)(iVar29 + 0x1c);\n        }\n      }\n      iVar21 = (*pcVar43)(iVar29);\n      if (iVar21 != 0) {\nLAB_00213b34:\n        MVar7 = MagickFalse;\n        goto LAB_00213b38;\n      }\n      iVar21 = *(int *)(iVar29 + 0x1c);\n      pDVar33 = (DDSColors *)pDVar33->g;\n    } while ((int)pDVar33 < iVar21);\n  }\n  MVar7 = MagickTrue;\nLAB_00213b38:\n  if (iStack_21c == *piVar8) {\n    return MVar7;\n  }\n  pcVar44 = *(code **)(pcVar44 + 0x195818);\n  iVar29 = iStack_21c;\n  (*pcVar44)();\n  iVar21 = (**(code **)(pcVar44 + 0x195b8c))(pDVar4);\n  if (iVar21 != 0) {\n    puVar11 = (undefined4 *)(**(code **)(pcVar44 + 0x195df4))();\n    uVar24 = (**(code **)(pcVar44 + 0x195830))(*puVar11);\n    (**(code **)(pcVar44 + 0x195364))\n              (uStack_248,*(int *)(pcVar44 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar44 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar44 + 0x194d30) + -0x17c,*(int *)(pcVar44 + 0x194d24) + 0xe78,\n               pDVar4 + 0x34,uVar24);\n    (**(code **)(pcVar44 + 0x1954b8))(uVar24);\n    return MagickFalse;\n  }\n  if (-1 < (int)(*(uint *)pDVar22[1].b << 9)) {\n    return MagickTrue;\n  }\n  if (((*(uint *)pDVar22[1].b & 0x1000) == 0) && ((*(uint *)pDVar22[1].a & 0x200) == 0)) {\n    return MagickTrue;\n  }\n  if (*(uint *)pDVar22->b < 2) {\n    uVar52 = *(uint *)pDVar22->g;\n    uVar53 = 1;\n  }\n  else {\n    uVar52 = *(uint *)pDVar22->g;\n    uVar53 = *(uint *)pDVar22->b >> 1;\n  }\n  if (uVar52 < 2) {\n    uVar52 = 1;\n  }\n  else {\n    uVar52 = uVar52 >> 1;\n  }\n  iVar21 = 1;\n  if (*(int *)pDVar22[1].g < 2) {\n    return MagickTrue;\n  }\n  do {\n    (**(code **)(pcVar44 + 0x1953d4))(iVar29,pDVar4,uStack_248);\n    iVar21 = iVar21 + 1;\n    pcVar43 = *(code **)(pcVar44 + 0x19584c);\n    if (*(int *)pDVar4[0x336].b == 0) {\n      return MagickFalse;\n    }\n    *(undefined4 *)(*(int *)pDVar4[0x336].b + 700) = *(undefined4 *)pDVar4[0x2b].a;\n    pDVar4 = (DDSColors *)(*pcVar43)(pDVar4);\n    iVar17 = (**(code **)(pcVar44 + 0x1958f0))(pDVar4,uVar53,uVar52,uStack_248);\n    if (iVar17 == 0) {\n      return MagickFalse;\n    }\n    MVar7 = (*pcVar42)(pDVar4,pDVar22,uStack_248);\n    if (MVar7 == MagickFalse) {\n      return MagickFalse;\n    }\n    if (uVar53 == 1) {\n      if (uVar52 == 1) {\n        return MVar7;\n      }\nLAB_00213d14:\n      uVar52 = uVar52 >> 1;\n    }\n    else {\n      uVar53 = uVar53 >> 1;\n      if (uVar52 != 1) goto LAB_00213d14;\n    }\n    if (*(int *)pDVar22[1].g <= iVar21) {\n      return MVar7;\n    }\n  } while( true );\n}\n\n" comment comment comment comment comment comment (function_definition "MagickBooleanType\nConstructOrdering(size_t count,DDSVector4 *points,DDSVector3 axis,DDSVector4 *pointsWeights,\n                 DDSVector4 *xSumwSum,uchar *order,size_t iteration)\n\n{\n  byte bVar1;\n  byte bVar2;\n  undefined1 uVar3;\n  DDSColors *pDVar4;\n  DDSVector4 *pDVar5;\n  DDSVector4 *pDVar6;\n  MagickBooleanType MVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  undefined4 *puVar11;\n  size_t sVar12;\n  float *pfVar13;\n  byte *pbVar14;\n  DDSColors *pDVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  DDSColors *pDVar19;\n  DDSVector4 *pDVar20;\n  int iVar21;\n  DDSColors *pDVar22;\n  DDSVector4 *pDVar23;\n  undefined4 uVar24;\n  DDSVector4 *pDVar25;\n  float *pfVar26;\n  byte *pbVar27;\n  int iVar28;\n  int iVar29;\n  int iVar30;\n  MagickBooleanType *pMVar31;\n  MagickBooleanType *pMVar32;\n  DDSColors *pDVar33;\n  MagickBooleanType *pMVar34;\n  int *piVar35;\n  uint *puVar36;\n  uint *puVar37;\n  uint *puVar38;\n  uint *unaff_s6;\n  DDSColors *pDVar39;\n  MagickBooleanType unaff_s7;\n  int iVar40;\n  undefined *puVar41;\n  code *pcVar42;\n  code *pcVar43;\n  code *pcVar44;\n  MagickBooleanType unaff_s8;\n  code *pcVar45;\n  float fVar46;\n  uint uVar47;\n  uint uVar48;\n  uint uVar49;\n  uint uVar50;\n  float fVar51;\n  uint uVar52;\n  uint uVar53;\n  float fVar54;\n  float fVar55;\n  undefined8 in_f20_21;\n  double in_f22_23;\n  double dVar56;\n  double dVar57;\n  undefined8 uVar58;\n  uint uStack_248;\n  DDSColors DStack_22c;\n  int iStack_21c;\n  MagickBooleanType *pMStack_218;\n  DDSColors *pDStack_214;\n  DDSColors *pDStack_210;\n  int *piStack_20c;\n  uint *puStack_208;\n  uint *puStack_204;\n  uint *puStack_200;\n  MagickBooleanType MStack_1fc;\n  MagickBooleanType MStack_1f8;\n  code *pcStack_1f4;\n  undefined8 uStack_1f0;\n  double dStack_1e8;\n  uint uStack_1d0;\n  DDSColors *pDStack_1cc;\n  code *pcStack_1c8;\n  uint uStack_1bc;\n  int *piStack_1b8;\n  DDSColors *pDStack_1b4;\n  uint uStack_1b0;\n  undefined4 uStack_1ac;\n  DDSColors *pDStack_1a8;\n  int *piStack_1a4;\n  DDSColors DStack_19c;\n  int iStack_18c;\n  MagickBooleanType *pMStack_188;\n  DDSColors *pDStack_184;\n  DDSColors *pDStack_180;\n  int *piStack_17c;\n  uint *puStack_178;\n  uint *puStack_174;\n  uint *puStack_170;\n  MagickBooleanType MStack_16c;\n  MagickBooleanType MStack_168;\n  code *pcStack_164;\n  DDSColors *pDStack_140;\n  DDSColors *pDStack_13c;\n  int iStack_138;\n  DDSColors *pDStack_134;\n  code *pcStack_130;\n  code *pcStack_128;\n  uint uStack_124;\n  uint uStack_120;\n  MagickBooleanType MStack_11c;\n  MagickBooleanType MStack_118;\n  undefined4 uStack_114;\n  uint *puStack_110;\n  undefined4 uStack_10c;\n  undefined4 uStack_108;\n  uint uStack_104;\n  uint uStack_100;\n  int iStack_fc;\n  undefined4 uStack_f8;\n  undefined4 uStack_f4;\n  undefined4 uStack_f0;\n  undefined4 uStack_ec;\n  undefined4 uStack_e8;\n  int iStack_e4;\n  MagickBooleanType *pMStack_e0;\n  DDSColors *pDStack_dc;\n  DDSColors *pDStack_d8;\n  MagickBooleanType *pMStack_d4;\n  uint *puStack_d0;\n  uint *puStack_cc;\n  undefined4 uStack_9c;\n  MagickBooleanType aMStack_8c [2];\n  float local_54;\n  float local_50;\n  float dps [16];\n  \n  puVar41 = PTR___stack_chk_guard_003a9230;\n  pDVar4 = *(DDSColors **)PTR___stack_chk_guard_003a9230;\n  pDVar25 = (DDSVector4 *)(order + iteration * 0x10);\n  if ((int)count < 1) {\n    MVar7 = MagickTrue;\n    if (0 < (int)iteration) goto LAB_00212794;\n    *(undefined4 *)axis.z = 0;\n    *(undefined4 *)((int)axis.z + 4) = 0;\n    *(undefined4 *)((int)axis.z + 8) = 0;\n    *(undefined4 *)((int)axis.z + 0xc) = 0;\n  }\n  else {\n    pfVar26 = dps;\n    sVar12 = 0;\n    pDVar5 = points;\n    pfVar13 = pfVar26;\n    pDVar6 = pDVar25;\n    do {\n      fVar54 = pDVar5->y;\n      pDVar23 = (DDSVector4 *)((int)&pDVar6->x + 1);\n      pDVar20 = (DDSVector4 *)(pfVar13 + 1);\n      fVar51 = pDVar5->x;\n      fVar46 = pDVar5->z;\n      *(char *)&pDVar6->x = (char)sVar12;\n      sVar12 = sVar12 + 1;\n      *pfVar13 = axis.x * fVar46 + (float)pointsWeights * fVar51 + (float)xSumwSum * fVar54;\n      pDVar5 = pDVar5 + 1;\n      pfVar13 = (float *)pDVar20;\n      pDVar6 = pDVar23;\n    } while (sVar12 != count);\n    pDVar5 = (DDSVector4 *)((int)&pDVar25[-1].w + 3);\n    do {\n      if ((1 - (int)pDVar25) + (int)pDVar5 != 0) {\n        fVar51 = *pfVar26;\n        fVar46 = pfVar26[-1];\n        if (fVar51 < fVar46) {\n          bVar1 = *(byte *)((int)&pDVar5->x + 1);\n          pDVar23 = (DDSVector4 *)(uint)bVar1;\n          pDVar6 = pDVar5;\n          pfVar13 = pfVar26;\n          do {\n            bVar2 = *(byte *)&pDVar6->x;\n            pDVar20 = (DDSVector4 *)(uint)bVar2;\n            *pfVar13 = fVar46;\n            *(byte *)&pDVar6->x = bVar1;\n            pfVar13[-1] = fVar51;\n            *(byte *)((int)&pDVar6->x + 1) = bVar2;\n            if (pDVar25 == pDVar6) break;\n            fVar46 = pfVar13[-2];\n            pDVar6 = (DDSVector4 *)((int)&pDVar6[-1].w + 3);\n            pfVar13 = pfVar13 + -1;\n          } while (fVar51 < fVar46);\n        }\n      }\n      pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);\n      pfVar26 = pfVar26 + 1;\n    } while ((DDSVector4 *)((int)pDVar25 + (count - 1)) != pDVar5);\n    pointsWeights = pDVar20;\n    xSumwSum = pDVar23;\n    if ((int)iteration < 1) {\n      *(undefined4 *)axis.z = 0;\n      *(undefined4 *)((int)axis.z + 4) = 0;\n      *(undefined4 *)((int)axis.z + 8) = 0;\n      *(undefined4 *)((int)axis.z + 0xc) = 0;\nLAB_00212818:\n      iVar29 = 0;\n      do {\n        pfVar13 = &pDVar25->x;\n        iVar29 = iVar29 + 1;\n        pDVar25 = (DDSVector4 *)((int)&pDVar25->x + 1);\n        pointsWeights = (DDSVector4 *)(uint)(iVar29 < (int)count);\n        pDVar5 = points + *(byte *)pfVar13;\n        fVar46 = pDVar5->w;\n        fVar55 = pDVar5->x;\n        fVar54 = pDVar5->y;\n        fVar51 = pDVar5->z;\n        *(float *)((int)axis.y + 0xc) = fVar46;\n        fVar55 = fVar46 * fVar55;\n        fVar54 = fVar46 * fVar54;\n        fVar51 = fVar46 * fVar51;\n        *(float *)axis.y = fVar55;\n        *(float *)((int)axis.y + 4) = fVar54;\n        *(float *)((int)axis.y + 8) = fVar51;\n        *(float *)((int)axis.z + 4) = fVar54 + *(float *)((int)axis.z + 4);\n        *(float *)((int)axis.z + 8) = fVar51 + *(float *)((int)axis.z + 8);\n        *(float *)((int)axis.z + 0xc) = fVar46 + *(float *)((int)axis.z + 0xc);\n        *(float *)axis.z = *(float *)axis.z + fVar55;\n        xSumwSum = pDVar23;\n        axis.y = (float)((int)axis.y + 0x10);\n      } while (pointsWeights != (DDSVector4 *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar27 = order + 1;\n      iVar29 = 0;\n      pDVar23 = xSumwSum;\n      do {\n        MVar7 = MagickFalse;\n        xSumwSum = pDVar23;\n        if (count == 0) goto LAB_002127dc;\n        pbVar14 = pbVar27;\n        pDVar5 = pDVar25;\n        if (pbVar27[-1] == *(byte *)&pDVar25->x) {\n          do {\n            pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);\n            if ((DDSVector4 *)((int)&pDVar25->x + count) == pDVar5) {\n              MVar7 = MagickFalse;\n              xSumwSum = pDVar23;\n              goto LAB_002127dc;\n            }\n            pDVar23 = (DDSVector4 *)(uint)*(byte *)&pDVar5->x;\n            pointsWeights = (DDSVector4 *)(uint)*pbVar14;\n            pbVar14 = pbVar14 + 1;\n          } while (pDVar23 == pointsWeights);\n        }\n        iVar29 = iVar29 + 1;\n        pbVar27 = pbVar27 + 0x10;\n      } while (iVar29 < (int)iteration);\n      *(undefined4 *)axis.z = 0;\n      *(undefined4 *)((int)axis.z + 4) = 0;\n      *(undefined4 *)((int)axis.z + 8) = 0;\n      *(undefined4 *)((int)axis.z + 0xc) = 0;\n      xSumwSum = pDVar23;\n      if (0 < (int)count) goto LAB_00212818;\n    }\n    MVar7 = MagickTrue;\n  }\nLAB_002127dc:\n  if (pDVar4 == *(DDSColors **)puVar41) {\n    return MVar7;\n  }\n  puVar41 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  fVar46 = *(float *)(*(int *)(puVar41 + 0x196010) + -0xe34);\n  fVar51 = *(float *)(*(int *)(puVar41 + 0x196074) + -0x1e70);\n  pDVar33 = *(DDSColors **)(puVar41 + 0x196954);\n  aMStack_8c[0] = *(MagickBooleanType *)pDVar33->r;\n  uVar52 = (uint)((float)points * fVar51 + fVar46);\n  uVar53 = (uint)((float)pointsWeights * *(float *)(*(int *)(puVar41 + 0x196074) + -0x1e6c) + fVar46\n                 );\n  if (0x1f < uVar52) {\n    uVar52 = 0x1f;\n  }\n  uVar47 = (uint)(fVar51 * 5.421411e-39 + fVar46);\n  if (0x3f < uVar53) {\n    uVar53 = 0x3f;\n  }\n  uVar48 = (uint)(local_54 * *(float *)(*(int *)(puVar41 + 0x196074) + -0x1e6c) + fVar46);\n  if (0x1f < uVar47) {\n    uVar47 = 0x1f;\n  }\n  uVar49 = (uint)((float)xSumwSum * fVar51 + fVar46);\n  if (0x3f < uVar48) {\n    uVar48 = 0x3f;\n  }\n  uVar50 = (uint)(local_50 * fVar51 + fVar46);\n  if (0x1f < uVar49) {\n    uVar49 = 0x1f;\n  }\n  puVar38 = (uint *)(uVar52 << 0xb | uVar53 << 5 | uVar49);\n  if (0x1f < uVar50) {\n    uVar50 = 0x1f;\n  }\n  puVar36 = (uint *)(uVar47 << 0xb | uVar48 << 5 | uVar50);\n  pMVar31 = &uStack_9c;\n  do {\n    if (puVar38 < puVar36) {\n      *(undefined1 *)pMVar31 = (*(undefined1 *)dps[0] ^ MagickTrue) & 3;\n    }\n    else {\n      while (puVar36 != puVar38) {\n        uVar3 = *(undefined1 *)dps[0];\n        pMVar32 = (MagickBooleanType *)((int)pMVar31 + 1);\n        dps[0] = (float)((int)dps[0] + 1);\n        *(undefined1 *)pMVar31 = uVar3;\n        pMVar31 = pMVar32;\n        if (aMStack_8c == pMVar32) goto LAB_00212a50;\n      }\n      *(undefined1 *)pMVar31 = MagickFalse;\n    }\n    pMVar32 = (MagickBooleanType *)((int)pMVar31 + 1);\n    dps[0] = (float)((int)dps[0] + 1);\n    pMVar31 = pMVar32;\n  } while (aMStack_8c != pMVar32);\nLAB_00212a50:\n  puVar37 = puVar36;\n  if (puVar38 < puVar36) {\n    puVar37 = puVar38;\n    puVar38 = puVar36;\n  }\n  (**(code **)(puVar41 + 0x196700))(pDVar4,(uint)puVar38 & 0xff);\n  (**(code **)(puVar41 + 0x196700))(pDVar4,(uint)((int)puVar38 << 0x10) >> 0x18);\n  (**(code **)(puVar41 + 0x196700))(pDVar4,(uint)puVar37 & 0xff);\n  (**(code **)(puVar41 + 0x196700))(pDVar4,(uint)((int)puVar37 << 0x10) >> 0x18);\n  pMVar31 = &uStack_9c;\n  do {\n    pMVar34 = pMVar31 + 1;\n    pDVar19 = (DDSColors *)\n              (((uint)*(byte *)((int)pMVar31 + 1) << 2 | (uint)*(byte *)((int)pMVar31 + 2) << 4 |\n                (uint)(byte)*(undefined1 *)pMVar31 | (uint)(byte)*pMVar31 << 6) & 0xff);\n    pDVar39 = pDVar4;\n    (**(code **)(puVar41 + 0x196700))();\n    pMVar31 = pMVar34;\n  } while (pMVar32 != pMVar34);\n  if (aMStack_8c[0] == *(MagickBooleanType *)pDVar33->r) {\n    return *(MagickBooleanType *)pDVar33->r;\n  }\n  pcVar42 = *(code **)(puVar41 + 0x196788);\n  (*pcVar42)();\n  pcVar44 = pcVar42 + 0x19dd78;\n  piVar35 = *(int **)(pcVar42 + 0x1966f8);\n  iStack_e4 = *piVar35;\n  pcStack_130 = pcVar44;\n  pMStack_e0 = pMVar32;\n  pDStack_dc = pDVar4;\n  pDStack_d8 = pDVar33;\n  pMStack_d4 = pMVar34;\n  puStack_d0 = puVar37;\n  puStack_cc = puVar38;\n  if (pDVar39 == (DDSColors *)0x0) {\nLAB_00213360:\n    pDVar39 = pDVar4;\n    (**(code **)(pcVar44 + -0x72a8))\n              (*(int *)(pcVar44 + -0x7fd0) + 0xd78,*(int *)(pcVar44 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar44 + -0x7f60) + -0x2ab4);\n  }\n  else {\n    if (*(int *)pDVar39[0x321].g != -0x54535255) goto LAB_00213390;\n    if (*(int *)pDVar39[0x321].r != 0) {\n      pDStack_13c = pDVar39 + 0x221;\n      pDStack_140 = (DDSColors *)(*(int *)(pcVar42 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar42 + 0x1966a8))\n                (0x8000,*(int *)(pcVar42 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar42 + 0x195e18) + -0x2ac4,0x6ca);\n    }\n    pcVar44 = pcStack_130;\n    pDVar33 = pDVar19;\n    if (pDVar19 == (DDSColors *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar44 + -0x72a8))\n                (*(int *)(pcVar44 + -0x7fd0) + 0x1cac,*(int *)(pcVar44 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar44 + -0x7f60) + -0x2ab4);\n      pDVar4 = pDVar39;\n      goto LAB_00213360;\n    }\n    if (*(int *)pDVar19[1].a != -0x54535255) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }\n    pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_130 + -0x72a4))(pDVar39,pDVar19);\n    iVar29 = (**(code **)(pcStack_130 + -0x7664))(pDVar39,pMVar32,2,pDVar19);\n    if (iVar29 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n      MVar7 = MagickFalse;\n      goto LAB_00212c9c;\n    }\n    pDStack_140 = (DDSColors *)0x0;\n    (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n    iVar29 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n    if ((iVar29 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pMVar32), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar37 = (uint *)0x1;\n      MStack_11c = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      MStack_118 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      pDStack_140 = (DDSColors *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n      iVar29 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      if (iVar29 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      pDStack_140 = (DDSColors *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n      puVar37 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pDStack_140 = (DDSColors *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar24 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 5;\n            pcStack_128 = (code *)(puVar38 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 6;\n            pcStack_128 = (code *)(puVar38 + 0x1635);\n          }\n          else {\n            uVar24 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = MagickFalse;\n            unaff_s7 = 4;\n            pcStack_128 = (code *)(puVar38 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar24 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar21 = *(int *)(pcStack_130 + -0x7f60);\n        iVar29 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar44 = *(code **)(pcStack_130 + -0x7990);\n        pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 4;\n        unaff_s7 = 0x10;\n        pcStack_128 = (code *)(puVar38 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = MagickFalse;\n      unaff_s7 = 0x10;\n      pcStack_128 = (code *)(puVar38 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar37 != (uint *)0x0) {\n        puVar37 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar37 = (uint *)((int)puVar37 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar37 = puStack_110;\nLAB_00213068:\n        if (puVar37 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar24 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar37 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar37 = (uint *)0x1;\nLAB_00212ed8:\n      uVar58 = (**(code **)(pcStack_130 + -0x73f8))(pMVar32);\n      puVar38 = puVar37;\n      if (unaff_s6 == (uint *)((ulonglong)uVar58 >> 0x20)) {\n        pcVar44 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar58 < puVar37) goto LAB_00212efc;\n      }\n      else {\n        pcVar44 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar29 = (*pcVar44)(0xb);\n      if (iVar29 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pDStack_140 = (DDSColors *)0x190;\n        pDStack_134 = pDVar39 + 0x221;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pMVar32 == (MagickBooleanType *)0x0) {\n          MVar7 = MagickFalse;\n          pDVar39 = pDVar39 + 0x221;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar38 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar24 = (**(code **)(pcStack_130 + -0x7748))\n                         (pDVar39,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar29 = (**(code **)(pcStack_130 + -0x7694))(uVar24);\n      uStack_124 = (uint)(iVar29 != 0);\n      while( true ) {\n        iVar29 = *(int *)pDVar39[0x1d].a;\n        pMVar32[0x97] = MagickTrue;\n        *pMVar32 = MagickTrue;\n        pMVar32[0xaf] = unaff_s8;\n        pMVar32[2] = unaff_s7;\n        pMVar32[6] = MStack_118;\n        pMVar32[7] = MStack_11c;\n        pMVar32[8] = 8;\n        if (iVar29 != 0) break;\n        iVar29 = (**(code **)(pcStack_130 + -0x7404))(pMVar32,MStack_118,MStack_11c,pDVar19);\n        if (iVar29 == 0) {\nLAB_00213284:\n          MVar7 = (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pMVar32,pDVar19);\n        pDStack_140 = pDVar19;\n        iVar29 = (*pcStack_128)(pDVar39,pMVar32,puVar38,uStack_124);\n        if (iVar29 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pMVar32);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          MVar7 = (**(code **)(pcStack_130 + -0x7464))(pMVar32);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar37) break;\n        iVar29 = (**(code **)(pcStack_130 + -0x7168))(pMVar32);\n        if (iVar29 != 0) {\n          pDStack_134 = pDVar39 + 0x221;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pDStack_140 = (DDSColors *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar44 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pDVar39,pMVar32,pDVar19);\n        iVar29 = (**(code **)(pcStack_130 + -0x7440))(pMVar32);\n        if (iVar29 == 0) goto LAB_00213284;\n        pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_130 + -0x74a8))(pMVar32);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pMVar32);\n      MVar7 = (**(code **)(pcStack_130 + -0x7464))(pMVar32);\n    }\n    else {\nLAB_00212c24:\n      uVar24 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar21 = *(int *)(pcStack_130 + -0x7f60);\n      iVar29 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar44 = *(code **)(pcStack_130 + -0x7990);\n      pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pDStack_134 = pDVar39 + 0x221;\n      iStack_138 = iStack_138 + 0x3e28;\n      pDStack_140 = (DDSColors *)&DAT_000001a9;\n      (*pcVar44)(pDVar19,iVar29 + -0x2c20,iVar21 + -0x2ac4,uVar24);\n      if (pMVar32 != (MagickBooleanType *)0x0) {\nLAB_00212c74:\n        pcVar44 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar44)(pMVar32);\n        (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n      }\n      MVar7 = MagickFalse;\n      pDVar39 = pDVar39 + 0x221;\n    }\nLAB_00212c9c:\n    pcVar44 = pcStack_130;\n    if (iStack_e4 == *piVar35) {\n      return MVar7;\n    }\n  }\n  (**(code **)(pcVar44 + -0x784c))();\nLAB_00213390:\n  pDVar19 = (DDSColors *)0x6c8;\n  pcVar43 = *(code **)(pcVar44 + -0x72a8);\n  pcVar42 = (code *)(*(int *)(pcVar44 + -0x7f60) + -0x2ab4);\n  pDVar4 = (DDSColors *)(*(int *)(pcVar44 + -0x7f60) + -0x2c20);\n  pcVar45 = ReadDXT5Pixels;\n  puVar36 = (uint *)(*(int *)(pcVar44 + -0x7fd0) + 0xda0);\n  (*pcVar43)();\n  pcStack_1c8 = pcVar43 + 0x19d4fc;\n  piStack_1a4 = *(int **)(pcVar43 + 0x195e7c);\n  pDStack_1a8 = (DDSColors *)0x0;\n  iStack_18c = *piStack_1a4;\n  uVar52 = puVar36[7];\n  pDStack_1b4 = pDVar19;\n  pMStack_188 = pMVar32;\n  pDStack_184 = pDVar39;\n  pDStack_180 = pDVar33;\n  piStack_17c = piVar35;\n  puStack_178 = puVar37;\n  puStack_174 = puVar38;\n  puStack_170 = unaff_s6;\n  MStack_16c = unaff_s7;\n  MStack_168 = unaff_s8;\n  pcStack_164 = pcVar45;\n  if (0 < (int)uVar52) {\n    in_f22_23 = *(double *)(*(int *)(pcVar43 + 0x195534) + -0x5af0);\n    in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar43 + 0x19552c) + 0x1a50));\n    do {\n      pDVar22 = pDStack_1a8;\n      pcVar42 = (code *)puVar36[6];\n      pDVar33 = (DDSColors *)0x0;\n      if (0 < (int)pcVar42) {\n        do {\n          pcVar44 = pcVar42 + -(int)pDVar33;\n          uStack_1d0 = uVar52 - (int)pDVar22;\n          pDStack_1cc = pDStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar42 = (code *)&DAT_00000004;\n          if (pcVar44 < &DAT_00000005) {\n            pcVar42 = pcVar44;\n          }\n          pDVar4 = pDVar33;\n          pDVar19 = pDVar22;\n          pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_1c8 + -0x798c))(puVar36);\n          pDVar39 = pDVar22;\n          if (pMVar32 == (MagickBooleanType *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar36);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar38 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar36);\n          piVar35 = (int *)((uint)puVar38 & 0xff);\n          unaff_s7 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          pDVar4 = (DDSColors *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          unaff_s8 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36);\n          pcVar42 = (code *)0x1;\n          pDVar19 = &DStack_19c;\n          CalculateColors((ushort)uStack_1bc,(ushort)pDVar4,pDVar19,MagickTrue);\n          iVar29 = (**(code **)(pcStack_1c8 + -0x7168))(puVar36);\n          if (iVar29 != 0) goto LAB_002137bc;\n          iVar29 = 0;\n          uVar52 = puVar36[6];\n          piVar35 = (int *)(uint)(piVar35 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar38 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pDVar4 = pDVar22;\n          do {\n            iVar21 = 0;\n            puVar38 = (uint *)&DAT_00000007;\n            pDVar15 = pDVar33;\n            do {\n              if (((int)pDVar15 < (int)uVar52) && ((int)pDVar4 < (int)puVar36[7])) {\n                uVar49 = puVar36[0xb4];\n                uVar53 = (iVar29 + iVar21) * 3;\n                uVar48 = unaff_s8 >> ((iVar29 + iVar21) * 2 & 0x1fU) & 3;\n                uVar47 = ((int)unaff_s6 << 1) << (~uVar53 & 0x1f) | unaff_s7 >> (uVar53 & 0x1f);\n                if ((uVar53 & 0x20) != 0) {\n                  uVar47 = (uint)unaff_s6 >> (uVar53 & 0x1f);\n                }\n                iVar17 = *(int *)(uVar49 + 0x20);\n                pDVar19 = (DDSColors *)(pMVar32 + *(int *)(uVar49 + 0x14));\n                uVar47 = uVar47 & 7;\n                pMVar32[*(int *)(uVar49 + 8)] =\n                     (MagickBooleanType)(float)((double)DStack_19c.r[uVar48] * in_f22_23);\n                pcVar42 = (code *)(uint)DStack_19c.g[uVar48];\n                *(float *)pDVar19->r = (float)((double)(int)pcVar42 * in_f22_23);\n                pMVar32[iVar17] =\n                     (MagickBooleanType)(float)((double)DStack_19c.b[uVar48] * in_f22_23);\n                if (uVar47 == 0) {\n                  fVar46 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar47 == 1) {\n                  fVar46 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar35 == (int *)0x0) {\n                  fVar46 = 0.0;\n                  if (uVar47 != 6) {\n                    if (uVar47 != 7) {\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar46 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar53 = (uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar49 + 0x34) != 0) {\n                  pMVar32[*(int *)(uVar49 + 0x38)] = (MagickBooleanType)fVar46;\n                }\n                pMVar32 = pMVar32 + puVar36[0xb0];\n              }\n              iVar21 = iVar21 + 1;\n              pDVar15 = (DDSColors *)(pDVar33->r + iVar21);\n            } while (iVar21 != 4);\n            iVar29 = iVar29 + 4;\n            pDVar4 = (DDSColors *)(pDVar4->r + 1);\n          } while (iVar29 != 0x10);\n          pDVar4 = pDStack_1b4;\n          iVar29 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar36);\n          if (iVar29 == 0) goto LAB_002137bc;\n          pcVar42 = (code *)puVar36[6];\n          pDVar33 = (DDSColors *)pDVar33->g;\n          pcVar44 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar42 <= (int)pDVar33) goto LAB_0021380c;\n          uVar52 = puVar36[7];\n        } while( true );\n      }\n      pcVar44 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar29 = (*pcVar44)(puVar36);\n      if (iVar29 != 0) {\nLAB_002137bc:\n        MVar7 = MagickFalse;\n        goto LAB_002137c0;\n      }\n      uVar52 = puVar36[7];\n      pDStack_1a8 = (DDSColors *)pDStack_1a8->g;\n      puVar37 = puVar36;\n    } while ((int)pDStack_1a8 < (int)uVar52);\n  }\n  MVar7 = MagickTrue;\n  puVar36 = puVar37;\nLAB_002137c0:\n  if (iStack_18c == *piStack_1a4) {\n    return MVar7;\n  }\n  pcVar44 = *(code **)(pcStack_1c8 + -0x784c);\n  pcVar43 = ReadDXT3Pixels;\n  iVar29 = iStack_18c;\n  (*pcVar44)();\n  piVar8 = *(int **)(pcVar44 + 0x1959e4);\n  iStack_21c = *piVar8;\n  iVar21 = *(int *)(iVar29 + 0x1c);\n  pDVar22 = pDVar19;\n  pMStack_218 = pMVar32;\n  pDStack_214 = pDVar39;\n  pDStack_210 = pDVar33;\n  piStack_20c = piVar35;\n  puStack_208 = puVar36;\n  puStack_204 = puVar38;\n  puStack_200 = unaff_s6;\n  MStack_1fc = unaff_s7;\n  MStack_1f8 = unaff_s8;\n  pcStack_1f4 = pcVar43;\n  uStack_1f0 = in_f20_21;\n  dStack_1e8 = in_f22_23;\n  if (0 < iVar21) {\n    pDVar33 = (DDSColors *)0x0;\n    iVar17 = *(int *)(pcVar44 + 0x195378);\n    dVar56 = *(double *)(*(int *)(pcVar44 + 0x19509c) + -0x5af0);\n    dVar57 = dVar56;\n    do {\n      pcVar42 = *(code **)(iVar29 + 0x18);\n      pDVar39 = (DDSColors *)0x0;\n      if ((int)pcVar42 < 1) {\n        pcVar43 = *(code **)(pcVar44 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar21 - (int)pDVar33;\n          pcVar42 = pcVar42 + -(int)pDVar39;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar42) {\n            pcVar42 = (code *)&DAT_00000004;\n          }\n          pDVar4 = pDVar39;\n          pDVar22 = pDVar33;\n          iVar21 = (**(code **)(pcVar44 + 0x1956d8))(iVar29);\n          if (iVar21 == 0) goto LAB_00213b34;\n          uVar52 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          uVar53 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          uVar24 = (**(code **)(pcVar44 + 0x195eb0))(iVar29);\n          pDVar4 = (DDSColors *)(**(code **)(pcVar44 + 0x195eb0))(iVar29);\n          uVar47 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          pcVar42 = (code *)0x1;\n          pDVar22 = &DStack_22c;\n          (*(code *)(iVar17 + 0x2408))(uVar24);\n          iVar9 = (**(code **)(pcVar44 + 0x195efc))(iVar29);\n          if (iVar9 != 0) goto LAB_00213b34;\n          pcVar42 = *(code **)(iVar29 + 0x18);\n          iVar18 = 0;\n          iVar9 = 0;\n          pDVar22 = pDVar33;\n          do {\n            iVar10 = 0;\n            pDVar4 = pDVar39;\n            do {\n              if (((int)pDVar4 < (int)pcVar42) &&\n                 (iVar16 = iVar10 + iVar18 * 4, (int)pDVar22 < *(int *)(iVar29 + 0x1c))) {\n                iVar28 = *(int *)(iVar29 + 0x2d0);\n                iVar40 = *(int *)(iVar28 + 0x14);\n                uVar48 = uVar47 >> (iVar16 * 2 & 0x1fU) & 3;\n                iVar30 = *(int *)(iVar28 + 0x20);\n                *(float *)(iVar21 + *(int *)(iVar28 + 8) * 4) =\n                     (float)((double)DStack_22c.r[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar40 * 4) = (float)((double)DStack_22c.g[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar30 * 4) = (float)((double)DStack_22c.b[uVar48] * dVar57);\n                if (iVar18 < 2) {\n                  uVar48 = uVar52 >> (iVar16 * 4 & 0x1fU);\n                }\n                else {\n                  uVar48 = uVar53 >> ((iVar9 + iVar10) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar28 + 0x34) != 0) {\n                  *(float *)(iVar21 + *(int *)(iVar28 + 0x38) * 4) =\n                       (float)((double)((uVar48 & 0xf) * 0x11 & 0xff) * dVar56);\n                }\n                iVar21 = iVar21 + *(int *)(iVar29 + 0x2c0) * 4;\n              }\n              iVar10 = iVar10 + 1;\n              pDVar4 = (DDSColors *)(pDVar39->r + iVar10);\n            } while (iVar10 != 4);\n            iVar18 = iVar18 + 1;\n            pDVar22 = (DDSColors *)(pDVar22->r + 1);\n            iVar9 = iVar9 + 4;\n          } while (iVar18 != 4);\n          pDVar4 = pDVar19;\n          iVar21 = (**(code **)(pcVar44 + 0x195998))(iVar29);\n          if (iVar21 == 0) goto LAB_00213b34;\n          pcVar42 = *(code **)(iVar29 + 0x18);\n          pDVar39 = (DDSColors *)pDVar39->g;\n          pcVar43 = *(code **)(pcVar44 + 0x195efc);\n          if ((int)pcVar42 <= (int)pDVar39) break;\n          iVar21 = *(int *)(iVar29 + 0x1c);\n        }\n      }\n      iVar21 = (*pcVar43)(iVar29);\n      if (iVar21 != 0) {\nLAB_00213b34:\n        MVar7 = MagickFalse;\n        goto LAB_00213b38;\n      }\n      iVar21 = *(int *)(iVar29 + 0x1c);\n      pDVar33 = (DDSColors *)pDVar33->g;\n    } while ((int)pDVar33 < iVar21);\n  }\n  MVar7 = MagickTrue;\nLAB_00213b38:\n  if (iStack_21c == *piVar8) {\n    return MVar7;\n  }\n  pcVar44 = *(code **)(pcVar44 + 0x195818);\n  iVar29 = iStack_21c;\n  (*pcVar44)();\n  iVar21 = (**(code **)(pcVar44 + 0x195b8c))(pDVar4);\n  if (iVar21 != 0) {\n    puVar11 = (undefined4 *)(**(code **)(pcVar44 + 0x195df4))();\n    uVar24 = (**(code **)(pcVar44 + 0x195830))(*puVar11);\n    (**(code **)(pcVar44 + 0x195364))\n              (uStack_248,*(int *)(pcVar44 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar44 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar44 + 0x194d30) + -0x17c,*(int *)(pcVar44 + 0x194d24) + 0xe78,\n               pDVar4 + 0x34,uVar24);\n    (**(code **)(pcVar44 + 0x1954b8))(uVar24);\n    return MagickFalse;\n  }\n  if (-1 < (int)(*(uint *)pDVar22[1].b << 9)) {\n    return MagickTrue;\n  }\n  if (((*(uint *)pDVar22[1].b & 0x1000) == 0) && ((*(uint *)pDVar22[1].a & 0x200) == 0)) {\n    return MagickTrue;\n  }\n  if (*(uint *)pDVar22->b < 2) {\n    uVar52 = *(uint *)pDVar22->g;\n    uVar53 = 1;\n  }\n  else {\n    uVar52 = *(uint *)pDVar22->g;\n    uVar53 = *(uint *)pDVar22->b >> 1;\n  }\n  if (uVar52 < 2) {\n    uVar52 = 1;\n  }\n  else {\n    uVar52 = uVar52 >> 1;\n  }\n  iVar21 = 1;\n  if (*(int *)pDVar22[1].g < 2) {\n    return MagickTrue;\n  }\n  do {\n    (**(code **)(pcVar44 + 0x1953d4))(iVar29,pDVar4,uStack_248);\n    iVar21 = iVar21 + 1;\n    pcVar43 = *(code **)(pcVar44 + 0x19584c);\n    if (*(int *)pDVar4[0x336].b == 0) {\n      return MagickFalse;\n    }\n    *(undefined4 *)(*(int *)pDVar4[0x336].b + 700) = *(undefined4 *)pDVar4[0x2b].a;\n    pDVar4 = (DDSColors *)(*pcVar43)(pDVar4);\n    iVar17 = (**(code **)(pcVar44 + 0x1958f0))(pDVar4,uVar53,uVar52,uStack_248);\n    if (iVar17 == 0) {\n      return MagickFalse;\n    }\n    MVar7 = (*pcVar42)(pDVar4,pDVar22,uStack_248);\n    if (MVar7 == MagickFalse) {\n      return MagickFalse;\n    }\n    if (uVar53 == 1) {\n      if (uVar52 == 1) {\n        return MVar7;\n      }\nLAB_00213d14:\n      uVar52 = uVar52 >> 1;\n    }\n    else {\n      uVar53 = uVar53 >> 1;\n      if (uVar52 != 1) goto LAB_00213d14;\n    }\n    if (*(int *)pDVar22[1].g <= iVar21) {\n      return MVar7;\n    }\n  } while( true );\n}" type_identifier (function_declarator "ConstructOrdering(size_t count,DDSVector4 *points,DDSVector3 axis,DDSVector4 *pointsWeights,\n                 DDSVector4 *xSumwSum,uchar *order,size_t iteration)" identifier (parameter_list "(size_t count,DDSVector4 *points,DDSVector3 axis,DDSVector4 *pointsWeights,\n                 DDSVector4 *xSumwSum,uchar *order,size_t iteration)" ( (parameter_declaration "size_t count" primitive_type identifier) , (parameter_declaration "DDSVector4 *points" type_identifier (pointer_declarator "*points" * identifier)) , (parameter_declaration "DDSVector3 axis" type_identifier identifier) , (parameter_declaration "DDSVector4 *pointsWeights" type_identifier (pointer_declarator "*pointsWeights" * identifier)) , (parameter_declaration "DDSVector4 *xSumwSum" type_identifier (pointer_declarator "*xSumwSum" * identifier)) , (parameter_declaration "uchar *order" type_identifier (pointer_declarator "*order" * identifier)) , (parameter_declaration "size_t iteration" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  byte bVar2;\n  undefined1 uVar3;\n  DDSColors *pDVar4;\n  DDSVector4 *pDVar5;\n  DDSVector4 *pDVar6;\n  MagickBooleanType MVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  undefined4 *puVar11;\n  size_t sVar12;\n  float *pfVar13;\n  byte *pbVar14;\n  DDSColors *pDVar15;\n  int iVar16;\n  int iVar17;\n  int iVar18;\n  DDSColors *pDVar19;\n  DDSVector4 *pDVar20;\n  int iVar21;\n  DDSColors *pDVar22;\n  DDSVector4 *pDVar23;\n  undefined4 uVar24;\n  DDSVector4 *pDVar25;\n  float *pfVar26;\n  byte *pbVar27;\n  int iVar28;\n  int iVar29;\n  int iVar30;\n  MagickBooleanType *pMVar31;\n  MagickBooleanType *pMVar32;\n  DDSColors *pDVar33;\n  MagickBooleanType *pMVar34;\n  int *piVar35;\n  uint *puVar36;\n  uint *puVar37;\n  uint *puVar38;\n  uint *unaff_s6;\n  DDSColors *pDVar39;\n  MagickBooleanType unaff_s7;\n  int iVar40;\n  undefined *puVar41;\n  code *pcVar42;\n  code *pcVar43;\n  code *pcVar44;\n  MagickBooleanType unaff_s8;\n  code *pcVar45;\n  float fVar46;\n  uint uVar47;\n  uint uVar48;\n  uint uVar49;\n  uint uVar50;\n  float fVar51;\n  uint uVar52;\n  uint uVar53;\n  float fVar54;\n  float fVar55;\n  undefined8 in_f20_21;\n  double in_f22_23;\n  double dVar56;\n  double dVar57;\n  undefined8 uVar58;\n  uint uStack_248;\n  DDSColors DStack_22c;\n  int iStack_21c;\n  MagickBooleanType *pMStack_218;\n  DDSColors *pDStack_214;\n  DDSColors *pDStack_210;\n  int *piStack_20c;\n  uint *puStack_208;\n  uint *puStack_204;\n  uint *puStack_200;\n  MagickBooleanType MStack_1fc;\n  MagickBooleanType MStack_1f8;\n  code *pcStack_1f4;\n  undefined8 uStack_1f0;\n  double dStack_1e8;\n  uint uStack_1d0;\n  DDSColors *pDStack_1cc;\n  code *pcStack_1c8;\n  uint uStack_1bc;\n  int *piStack_1b8;\n  DDSColors *pDStack_1b4;\n  uint uStack_1b0;\n  undefined4 uStack_1ac;\n  DDSColors *pDStack_1a8;\n  int *piStack_1a4;\n  DDSColors DStack_19c;\n  int iStack_18c;\n  MagickBooleanType *pMStack_188;\n  DDSColors *pDStack_184;\n  DDSColors *pDStack_180;\n  int *piStack_17c;\n  uint *puStack_178;\n  uint *puStack_174;\n  uint *puStack_170;\n  MagickBooleanType MStack_16c;\n  MagickBooleanType MStack_168;\n  code *pcStack_164;\n  DDSColors *pDStack_140;\n  DDSColors *pDStack_13c;\n  int iStack_138;\n  DDSColors *pDStack_134;\n  code *pcStack_130;\n  code *pcStack_128;\n  uint uStack_124;\n  uint uStack_120;\n  MagickBooleanType MStack_11c;\n  MagickBooleanType MStack_118;\n  undefined4 uStack_114;\n  uint *puStack_110;\n  undefined4 uStack_10c;\n  undefined4 uStack_108;\n  uint uStack_104;\n  uint uStack_100;\n  int iStack_fc;\n  undefined4 uStack_f8;\n  undefined4 uStack_f4;\n  undefined4 uStack_f0;\n  undefined4 uStack_ec;\n  undefined4 uStack_e8;\n  int iStack_e4;\n  MagickBooleanType *pMStack_e0;\n  DDSColors *pDStack_dc;\n  DDSColors *pDStack_d8;\n  MagickBooleanType *pMStack_d4;\n  uint *puStack_d0;\n  uint *puStack_cc;\n  undefined4 uStack_9c;\n  MagickBooleanType aMStack_8c [2];\n  float local_54;\n  float local_50;\n  float dps [16];\n  \n  puVar41 = PTR___stack_chk_guard_003a9230;\n  pDVar4 = *(DDSColors **)PTR___stack_chk_guard_003a9230;\n  pDVar25 = (DDSVector4 *)(order + iteration * 0x10);\n  if ((int)count < 1) {\n    MVar7 = MagickTrue;\n    if (0 < (int)iteration) goto LAB_00212794;\n    *(undefined4 *)axis.z = 0;\n    *(undefined4 *)((int)axis.z + 4) = 0;\n    *(undefined4 *)((int)axis.z + 8) = 0;\n    *(undefined4 *)((int)axis.z + 0xc) = 0;\n  }\n  else {\n    pfVar26 = dps;\n    sVar12 = 0;\n    pDVar5 = points;\n    pfVar13 = pfVar26;\n    pDVar6 = pDVar25;\n    do {\n      fVar54 = pDVar5->y;\n      pDVar23 = (DDSVector4 *)((int)&pDVar6->x + 1);\n      pDVar20 = (DDSVector4 *)(pfVar13 + 1);\n      fVar51 = pDVar5->x;\n      fVar46 = pDVar5->z;\n      *(char *)&pDVar6->x = (char)sVar12;\n      sVar12 = sVar12 + 1;\n      *pfVar13 = axis.x * fVar46 + (float)pointsWeights * fVar51 + (float)xSumwSum * fVar54;\n      pDVar5 = pDVar5 + 1;\n      pfVar13 = (float *)pDVar20;\n      pDVar6 = pDVar23;\n    } while (sVar12 != count);\n    pDVar5 = (DDSVector4 *)((int)&pDVar25[-1].w + 3);\n    do {\n      if ((1 - (int)pDVar25) + (int)pDVar5 != 0) {\n        fVar51 = *pfVar26;\n        fVar46 = pfVar26[-1];\n        if (fVar51 < fVar46) {\n          bVar1 = *(byte *)((int)&pDVar5->x + 1);\n          pDVar23 = (DDSVector4 *)(uint)bVar1;\n          pDVar6 = pDVar5;\n          pfVar13 = pfVar26;\n          do {\n            bVar2 = *(byte *)&pDVar6->x;\n            pDVar20 = (DDSVector4 *)(uint)bVar2;\n            *pfVar13 = fVar46;\n            *(byte *)&pDVar6->x = bVar1;\n            pfVar13[-1] = fVar51;\n            *(byte *)((int)&pDVar6->x + 1) = bVar2;\n            if (pDVar25 == pDVar6) break;\n            fVar46 = pfVar13[-2];\n            pDVar6 = (DDSVector4 *)((int)&pDVar6[-1].w + 3);\n            pfVar13 = pfVar13 + -1;\n          } while (fVar51 < fVar46);\n        }\n      }\n      pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);\n      pfVar26 = pfVar26 + 1;\n    } while ((DDSVector4 *)((int)pDVar25 + (count - 1)) != pDVar5);\n    pointsWeights = pDVar20;\n    xSumwSum = pDVar23;\n    if ((int)iteration < 1) {\n      *(undefined4 *)axis.z = 0;\n      *(undefined4 *)((int)axis.z + 4) = 0;\n      *(undefined4 *)((int)axis.z + 8) = 0;\n      *(undefined4 *)((int)axis.z + 0xc) = 0;\nLAB_00212818:\n      iVar29 = 0;\n      do {\n        pfVar13 = &pDVar25->x;\n        iVar29 = iVar29 + 1;\n        pDVar25 = (DDSVector4 *)((int)&pDVar25->x + 1);\n        pointsWeights = (DDSVector4 *)(uint)(iVar29 < (int)count);\n        pDVar5 = points + *(byte *)pfVar13;\n        fVar46 = pDVar5->w;\n        fVar55 = pDVar5->x;\n        fVar54 = pDVar5->y;\n        fVar51 = pDVar5->z;\n        *(float *)((int)axis.y + 0xc) = fVar46;\n        fVar55 = fVar46 * fVar55;\n        fVar54 = fVar46 * fVar54;\n        fVar51 = fVar46 * fVar51;\n        *(float *)axis.y = fVar55;\n        *(float *)((int)axis.y + 4) = fVar54;\n        *(float *)((int)axis.y + 8) = fVar51;\n        *(float *)((int)axis.z + 4) = fVar54 + *(float *)((int)axis.z + 4);\n        *(float *)((int)axis.z + 8) = fVar51 + *(float *)((int)axis.z + 8);\n        *(float *)((int)axis.z + 0xc) = fVar46 + *(float *)((int)axis.z + 0xc);\n        *(float *)axis.z = *(float *)axis.z + fVar55;\n        xSumwSum = pDVar23;\n        axis.y = (float)((int)axis.y + 0x10);\n      } while (pointsWeights != (DDSVector4 *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar27 = order + 1;\n      iVar29 = 0;\n      pDVar23 = xSumwSum;\n      do {\n        MVar7 = MagickFalse;\n        xSumwSum = pDVar23;\n        if (count == 0) goto LAB_002127dc;\n        pbVar14 = pbVar27;\n        pDVar5 = pDVar25;\n        if (pbVar27[-1] == *(byte *)&pDVar25->x) {\n          do {\n            pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);\n            if ((DDSVector4 *)((int)&pDVar25->x + count) == pDVar5) {\n              MVar7 = MagickFalse;\n              xSumwSum = pDVar23;\n              goto LAB_002127dc;\n            }\n            pDVar23 = (DDSVector4 *)(uint)*(byte *)&pDVar5->x;\n            pointsWeights = (DDSVector4 *)(uint)*pbVar14;\n            pbVar14 = pbVar14 + 1;\n          } while (pDVar23 == pointsWeights);\n        }\n        iVar29 = iVar29 + 1;\n        pbVar27 = pbVar27 + 0x10;\n      } while (iVar29 < (int)iteration);\n      *(undefined4 *)axis.z = 0;\n      *(undefined4 *)((int)axis.z + 4) = 0;\n      *(undefined4 *)((int)axis.z + 8) = 0;\n      *(undefined4 *)((int)axis.z + 0xc) = 0;\n      xSumwSum = pDVar23;\n      if (0 < (int)count) goto LAB_00212818;\n    }\n    MVar7 = MagickTrue;\n  }\nLAB_002127dc:\n  if (pDVar4 == *(DDSColors **)puVar41) {\n    return MVar7;\n  }\n  puVar41 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  fVar46 = *(float *)(*(int *)(puVar41 + 0x196010) + -0xe34);\n  fVar51 = *(float *)(*(int *)(puVar41 + 0x196074) + -0x1e70);\n  pDVar33 = *(DDSColors **)(puVar41 + 0x196954);\n  aMStack_8c[0] = *(MagickBooleanType *)pDVar33->r;\n  uVar52 = (uint)((float)points * fVar51 + fVar46);\n  uVar53 = (uint)((float)pointsWeights * *(float *)(*(int *)(puVar41 + 0x196074) + -0x1e6c) + fVar46\n                 );\n  if (0x1f < uVar52) {\n    uVar52 = 0x1f;\n  }\n  uVar47 = (uint)(fVar51 * 5.421411e-39 + fVar46);\n  if (0x3f < uVar53) {\n    uVar53 = 0x3f;\n  }\n  uVar48 = (uint)(local_54 * *(float *)(*(int *)(puVar41 + 0x196074) + -0x1e6c) + fVar46);\n  if (0x1f < uVar47) {\n    uVar47 = 0x1f;\n  }\n  uVar49 = (uint)((float)xSumwSum * fVar51 + fVar46);\n  if (0x3f < uVar48) {\n    uVar48 = 0x3f;\n  }\n  uVar50 = (uint)(local_50 * fVar51 + fVar46);\n  if (0x1f < uVar49) {\n    uVar49 = 0x1f;\n  }\n  puVar38 = (uint *)(uVar52 << 0xb | uVar53 << 5 | uVar49);\n  if (0x1f < uVar50) {\n    uVar50 = 0x1f;\n  }\n  puVar36 = (uint *)(uVar47 << 0xb | uVar48 << 5 | uVar50);\n  pMVar31 = &uStack_9c;\n  do {\n    if (puVar38 < puVar36) {\n      *(undefined1 *)pMVar31 = (*(undefined1 *)dps[0] ^ MagickTrue) & 3;\n    }\n    else {\n      while (puVar36 != puVar38) {\n        uVar3 = *(undefined1 *)dps[0];\n        pMVar32 = (MagickBooleanType *)((int)pMVar31 + 1);\n        dps[0] = (float)((int)dps[0] + 1);\n        *(undefined1 *)pMVar31 = uVar3;\n        pMVar31 = pMVar32;\n        if (aMStack_8c == pMVar32) goto LAB_00212a50;\n      }\n      *(undefined1 *)pMVar31 = MagickFalse;\n    }\n    pMVar32 = (MagickBooleanType *)((int)pMVar31 + 1);\n    dps[0] = (float)((int)dps[0] + 1);\n    pMVar31 = pMVar32;\n  } while (aMStack_8c != pMVar32);\nLAB_00212a50:\n  puVar37 = puVar36;\n  if (puVar38 < puVar36) {\n    puVar37 = puVar38;\n    puVar38 = puVar36;\n  }\n  (**(code **)(puVar41 + 0x196700))(pDVar4,(uint)puVar38 & 0xff);\n  (**(code **)(puVar41 + 0x196700))(pDVar4,(uint)((int)puVar38 << 0x10) >> 0x18);\n  (**(code **)(puVar41 + 0x196700))(pDVar4,(uint)puVar37 & 0xff);\n  (**(code **)(puVar41 + 0x196700))(pDVar4,(uint)((int)puVar37 << 0x10) >> 0x18);\n  pMVar31 = &uStack_9c;\n  do {\n    pMVar34 = pMVar31 + 1;\n    pDVar19 = (DDSColors *)\n              (((uint)*(byte *)((int)pMVar31 + 1) << 2 | (uint)*(byte *)((int)pMVar31 + 2) << 4 |\n                (uint)(byte)*(undefined1 *)pMVar31 | (uint)(byte)*pMVar31 << 6) & 0xff);\n    pDVar39 = pDVar4;\n    (**(code **)(puVar41 + 0x196700))();\n    pMVar31 = pMVar34;\n  } while (pMVar32 != pMVar34);\n  if (aMStack_8c[0] == *(MagickBooleanType *)pDVar33->r) {\n    return *(MagickBooleanType *)pDVar33->r;\n  }\n  pcVar42 = *(code **)(puVar41 + 0x196788);\n  (*pcVar42)();\n  pcVar44 = pcVar42 + 0x19dd78;\n  piVar35 = *(int **)(pcVar42 + 0x1966f8);\n  iStack_e4 = *piVar35;\n  pcStack_130 = pcVar44;\n  pMStack_e0 = pMVar32;\n  pDStack_dc = pDVar4;\n  pDStack_d8 = pDVar33;\n  pMStack_d4 = pMVar34;\n  puStack_d0 = puVar37;\n  puStack_cc = puVar38;\n  if (pDVar39 == (DDSColors *)0x0) {\nLAB_00213360:\n    pDVar39 = pDVar4;\n    (**(code **)(pcVar44 + -0x72a8))\n              (*(int *)(pcVar44 + -0x7fd0) + 0xd78,*(int *)(pcVar44 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar44 + -0x7f60) + -0x2ab4);\n  }\n  else {\n    if (*(int *)pDVar39[0x321].g != -0x54535255) goto LAB_00213390;\n    if (*(int *)pDVar39[0x321].r != 0) {\n      pDStack_13c = pDVar39 + 0x221;\n      pDStack_140 = (DDSColors *)(*(int *)(pcVar42 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar42 + 0x1966a8))\n                (0x8000,*(int *)(pcVar42 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar42 + 0x195e18) + -0x2ac4,0x6ca);\n    }\n    pcVar44 = pcStack_130;\n    pDVar33 = pDVar19;\n    if (pDVar19 == (DDSColors *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar44 + -0x72a8))\n                (*(int *)(pcVar44 + -0x7fd0) + 0x1cac,*(int *)(pcVar44 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar44 + -0x7f60) + -0x2ab4);\n      pDVar4 = pDVar39;\n      goto LAB_00213360;\n    }\n    if (*(int *)pDVar19[1].a != -0x54535255) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }\n    pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_130 + -0x72a4))(pDVar39,pDVar19);\n    iVar29 = (**(code **)(pcStack_130 + -0x7664))(pDVar39,pMVar32,2,pDVar19);\n    if (iVar29 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n      MVar7 = MagickFalse;\n      goto LAB_00212c9c;\n    }\n    pDStack_140 = (DDSColors *)0x0;\n    (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n    iVar29 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n    if ((iVar29 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pMVar32), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar37 = (uint *)0x1;\n      MStack_11c = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      MStack_118 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      pDStack_140 = (DDSColors *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n      iVar29 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      if (iVar29 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      pDStack_140 = (DDSColors *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n      puVar37 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pDStack_140 = (DDSColors *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar24 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 5;\n            pcStack_128 = (code *)(puVar38 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 6;\n            pcStack_128 = (code *)(puVar38 + 0x1635);\n          }\n          else {\n            uVar24 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = MagickFalse;\n            unaff_s7 = 4;\n            pcStack_128 = (code *)(puVar38 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar24 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar21 = *(int *)(pcStack_130 + -0x7f60);\n        iVar29 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar44 = *(code **)(pcStack_130 + -0x7990);\n        pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 4;\n        unaff_s7 = 0x10;\n        pcStack_128 = (code *)(puVar38 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = MagickFalse;\n      unaff_s7 = 0x10;\n      pcStack_128 = (code *)(puVar38 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar37 != (uint *)0x0) {\n        puVar37 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar37 = (uint *)((int)puVar37 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar37 = puStack_110;\nLAB_00213068:\n        if (puVar37 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar24 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar37 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar37 = (uint *)0x1;\nLAB_00212ed8:\n      uVar58 = (**(code **)(pcStack_130 + -0x73f8))(pMVar32);\n      puVar38 = puVar37;\n      if (unaff_s6 == (uint *)((ulonglong)uVar58 >> 0x20)) {\n        pcVar44 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar58 < puVar37) goto LAB_00212efc;\n      }\n      else {\n        pcVar44 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar29 = (*pcVar44)(0xb);\n      if (iVar29 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pDStack_140 = (DDSColors *)0x190;\n        pDStack_134 = pDVar39 + 0x221;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pMVar32 == (MagickBooleanType *)0x0) {\n          MVar7 = MagickFalse;\n          pDVar39 = pDVar39 + 0x221;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar38 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar24 = (**(code **)(pcStack_130 + -0x7748))\n                         (pDVar39,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar29 = (**(code **)(pcStack_130 + -0x7694))(uVar24);\n      uStack_124 = (uint)(iVar29 != 0);\n      while( true ) {\n        iVar29 = *(int *)pDVar39[0x1d].a;\n        pMVar32[0x97] = MagickTrue;\n        *pMVar32 = MagickTrue;\n        pMVar32[0xaf] = unaff_s8;\n        pMVar32[2] = unaff_s7;\n        pMVar32[6] = MStack_118;\n        pMVar32[7] = MStack_11c;\n        pMVar32[8] = 8;\n        if (iVar29 != 0) break;\n        iVar29 = (**(code **)(pcStack_130 + -0x7404))(pMVar32,MStack_118,MStack_11c,pDVar19);\n        if (iVar29 == 0) {\nLAB_00213284:\n          MVar7 = (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pMVar32,pDVar19);\n        pDStack_140 = pDVar19;\n        iVar29 = (*pcStack_128)(pDVar39,pMVar32,puVar38,uStack_124);\n        if (iVar29 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pMVar32);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          MVar7 = (**(code **)(pcStack_130 + -0x7464))(pMVar32);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar37) break;\n        iVar29 = (**(code **)(pcStack_130 + -0x7168))(pMVar32);\n        if (iVar29 != 0) {\n          pDStack_134 = pDVar39 + 0x221;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pDStack_140 = (DDSColors *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar44 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pDVar39,pMVar32,pDVar19);\n        iVar29 = (**(code **)(pcStack_130 + -0x7440))(pMVar32);\n        if (iVar29 == 0) goto LAB_00213284;\n        pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_130 + -0x74a8))(pMVar32);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pMVar32);\n      MVar7 = (**(code **)(pcStack_130 + -0x7464))(pMVar32);\n    }\n    else {\nLAB_00212c24:\n      uVar24 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar21 = *(int *)(pcStack_130 + -0x7f60);\n      iVar29 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar44 = *(code **)(pcStack_130 + -0x7990);\n      pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pDStack_134 = pDVar39 + 0x221;\n      iStack_138 = iStack_138 + 0x3e28;\n      pDStack_140 = (DDSColors *)&DAT_000001a9;\n      (*pcVar44)(pDVar19,iVar29 + -0x2c20,iVar21 + -0x2ac4,uVar24);\n      if (pMVar32 != (MagickBooleanType *)0x0) {\nLAB_00212c74:\n        pcVar44 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar44)(pMVar32);\n        (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n      }\n      MVar7 = MagickFalse;\n      pDVar39 = pDVar39 + 0x221;\n    }\nLAB_00212c9c:\n    pcVar44 = pcStack_130;\n    if (iStack_e4 == *piVar35) {\n      return MVar7;\n    }\n  }\n  (**(code **)(pcVar44 + -0x784c))();\nLAB_00213390:\n  pDVar19 = (DDSColors *)0x6c8;\n  pcVar43 = *(code **)(pcVar44 + -0x72a8);\n  pcVar42 = (code *)(*(int *)(pcVar44 + -0x7f60) + -0x2ab4);\n  pDVar4 = (DDSColors *)(*(int *)(pcVar44 + -0x7f60) + -0x2c20);\n  pcVar45 = ReadDXT5Pixels;\n  puVar36 = (uint *)(*(int *)(pcVar44 + -0x7fd0) + 0xda0);\n  (*pcVar43)();\n  pcStack_1c8 = pcVar43 + 0x19d4fc;\n  piStack_1a4 = *(int **)(pcVar43 + 0x195e7c);\n  pDStack_1a8 = (DDSColors *)0x0;\n  iStack_18c = *piStack_1a4;\n  uVar52 = puVar36[7];\n  pDStack_1b4 = pDVar19;\n  pMStack_188 = pMVar32;\n  pDStack_184 = pDVar39;\n  pDStack_180 = pDVar33;\n  piStack_17c = piVar35;\n  puStack_178 = puVar37;\n  puStack_174 = puVar38;\n  puStack_170 = unaff_s6;\n  MStack_16c = unaff_s7;\n  MStack_168 = unaff_s8;\n  pcStack_164 = pcVar45;\n  if (0 < (int)uVar52) {\n    in_f22_23 = *(double *)(*(int *)(pcVar43 + 0x195534) + -0x5af0);\n    in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar43 + 0x19552c) + 0x1a50));\n    do {\n      pDVar22 = pDStack_1a8;\n      pcVar42 = (code *)puVar36[6];\n      pDVar33 = (DDSColors *)0x0;\n      if (0 < (int)pcVar42) {\n        do {\n          pcVar44 = pcVar42 + -(int)pDVar33;\n          uStack_1d0 = uVar52 - (int)pDVar22;\n          pDStack_1cc = pDStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar42 = (code *)&DAT_00000004;\n          if (pcVar44 < &DAT_00000005) {\n            pcVar42 = pcVar44;\n          }\n          pDVar4 = pDVar33;\n          pDVar19 = pDVar22;\n          pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_1c8 + -0x798c))(puVar36);\n          pDVar39 = pDVar22;\n          if (pMVar32 == (MagickBooleanType *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar36);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar38 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar36);\n          piVar35 = (int *)((uint)puVar38 & 0xff);\n          unaff_s7 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          pDVar4 = (DDSColors *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          unaff_s8 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36);\n          pcVar42 = (code *)0x1;\n          pDVar19 = &DStack_19c;\n          CalculateColors((ushort)uStack_1bc,(ushort)pDVar4,pDVar19,MagickTrue);\n          iVar29 = (**(code **)(pcStack_1c8 + -0x7168))(puVar36);\n          if (iVar29 != 0) goto LAB_002137bc;\n          iVar29 = 0;\n          uVar52 = puVar36[6];\n          piVar35 = (int *)(uint)(piVar35 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar38 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pDVar4 = pDVar22;\n          do {\n            iVar21 = 0;\n            puVar38 = (uint *)&DAT_00000007;\n            pDVar15 = pDVar33;\n            do {\n              if (((int)pDVar15 < (int)uVar52) && ((int)pDVar4 < (int)puVar36[7])) {\n                uVar49 = puVar36[0xb4];\n                uVar53 = (iVar29 + iVar21) * 3;\n                uVar48 = unaff_s8 >> ((iVar29 + iVar21) * 2 & 0x1fU) & 3;\n                uVar47 = ((int)unaff_s6 << 1) << (~uVar53 & 0x1f) | unaff_s7 >> (uVar53 & 0x1f);\n                if ((uVar53 & 0x20) != 0) {\n                  uVar47 = (uint)unaff_s6 >> (uVar53 & 0x1f);\n                }\n                iVar17 = *(int *)(uVar49 + 0x20);\n                pDVar19 = (DDSColors *)(pMVar32 + *(int *)(uVar49 + 0x14));\n                uVar47 = uVar47 & 7;\n                pMVar32[*(int *)(uVar49 + 8)] =\n                     (MagickBooleanType)(float)((double)DStack_19c.r[uVar48] * in_f22_23);\n                pcVar42 = (code *)(uint)DStack_19c.g[uVar48];\n                *(float *)pDVar19->r = (float)((double)(int)pcVar42 * in_f22_23);\n                pMVar32[iVar17] =\n                     (MagickBooleanType)(float)((double)DStack_19c.b[uVar48] * in_f22_23);\n                if (uVar47 == 0) {\n                  fVar46 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar47 == 1) {\n                  fVar46 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar35 == (int *)0x0) {\n                  fVar46 = 0.0;\n                  if (uVar47 != 6) {\n                    if (uVar47 != 7) {\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar46 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar53 = (uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar49 + 0x34) != 0) {\n                  pMVar32[*(int *)(uVar49 + 0x38)] = (MagickBooleanType)fVar46;\n                }\n                pMVar32 = pMVar32 + puVar36[0xb0];\n              }\n              iVar21 = iVar21 + 1;\n              pDVar15 = (DDSColors *)(pDVar33->r + iVar21);\n            } while (iVar21 != 4);\n            iVar29 = iVar29 + 4;\n            pDVar4 = (DDSColors *)(pDVar4->r + 1);\n          } while (iVar29 != 0x10);\n          pDVar4 = pDStack_1b4;\n          iVar29 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar36);\n          if (iVar29 == 0) goto LAB_002137bc;\n          pcVar42 = (code *)puVar36[6];\n          pDVar33 = (DDSColors *)pDVar33->g;\n          pcVar44 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar42 <= (int)pDVar33) goto LAB_0021380c;\n          uVar52 = puVar36[7];\n        } while( true );\n      }\n      pcVar44 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar29 = (*pcVar44)(puVar36);\n      if (iVar29 != 0) {\nLAB_002137bc:\n        MVar7 = MagickFalse;\n        goto LAB_002137c0;\n      }\n      uVar52 = puVar36[7];\n      pDStack_1a8 = (DDSColors *)pDStack_1a8->g;\n      puVar37 = puVar36;\n    } while ((int)pDStack_1a8 < (int)uVar52);\n  }\n  MVar7 = MagickTrue;\n  puVar36 = puVar37;\nLAB_002137c0:\n  if (iStack_18c == *piStack_1a4) {\n    return MVar7;\n  }\n  pcVar44 = *(code **)(pcStack_1c8 + -0x784c);\n  pcVar43 = ReadDXT3Pixels;\n  iVar29 = iStack_18c;\n  (*pcVar44)();\n  piVar8 = *(int **)(pcVar44 + 0x1959e4);\n  iStack_21c = *piVar8;\n  iVar21 = *(int *)(iVar29 + 0x1c);\n  pDVar22 = pDVar19;\n  pMStack_218 = pMVar32;\n  pDStack_214 = pDVar39;\n  pDStack_210 = pDVar33;\n  piStack_20c = piVar35;\n  puStack_208 = puVar36;\n  puStack_204 = puVar38;\n  puStack_200 = unaff_s6;\n  MStack_1fc = unaff_s7;\n  MStack_1f8 = unaff_s8;\n  pcStack_1f4 = pcVar43;\n  uStack_1f0 = in_f20_21;\n  dStack_1e8 = in_f22_23;\n  if (0 < iVar21) {\n    pDVar33 = (DDSColors *)0x0;\n    iVar17 = *(int *)(pcVar44 + 0x195378);\n    dVar56 = *(double *)(*(int *)(pcVar44 + 0x19509c) + -0x5af0);\n    dVar57 = dVar56;\n    do {\n      pcVar42 = *(code **)(iVar29 + 0x18);\n      pDVar39 = (DDSColors *)0x0;\n      if ((int)pcVar42 < 1) {\n        pcVar43 = *(code **)(pcVar44 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar21 - (int)pDVar33;\n          pcVar42 = pcVar42 + -(int)pDVar39;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar42) {\n            pcVar42 = (code *)&DAT_00000004;\n          }\n          pDVar4 = pDVar39;\n          pDVar22 = pDVar33;\n          iVar21 = (**(code **)(pcVar44 + 0x1956d8))(iVar29);\n          if (iVar21 == 0) goto LAB_00213b34;\n          uVar52 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          uVar53 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          uVar24 = (**(code **)(pcVar44 + 0x195eb0))(iVar29);\n          pDVar4 = (DDSColors *)(**(code **)(pcVar44 + 0x195eb0))(iVar29);\n          uVar47 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          pcVar42 = (code *)0x1;\n          pDVar22 = &DStack_22c;\n          (*(code *)(iVar17 + 0x2408))(uVar24);\n          iVar9 = (**(code **)(pcVar44 + 0x195efc))(iVar29);\n          if (iVar9 != 0) goto LAB_00213b34;\n          pcVar42 = *(code **)(iVar29 + 0x18);\n          iVar18 = 0;\n          iVar9 = 0;\n          pDVar22 = pDVar33;\n          do {\n            iVar10 = 0;\n            pDVar4 = pDVar39;\n            do {\n              if (((int)pDVar4 < (int)pcVar42) &&\n                 (iVar16 = iVar10 + iVar18 * 4, (int)pDVar22 < *(int *)(iVar29 + 0x1c))) {\n                iVar28 = *(int *)(iVar29 + 0x2d0);\n                iVar40 = *(int *)(iVar28 + 0x14);\n                uVar48 = uVar47 >> (iVar16 * 2 & 0x1fU) & 3;\n                iVar30 = *(int *)(iVar28 + 0x20);\n                *(float *)(iVar21 + *(int *)(iVar28 + 8) * 4) =\n                     (float)((double)DStack_22c.r[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar40 * 4) = (float)((double)DStack_22c.g[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar30 * 4) = (float)((double)DStack_22c.b[uVar48] * dVar57);\n                if (iVar18 < 2) {\n                  uVar48 = uVar52 >> (iVar16 * 4 & 0x1fU);\n                }\n                else {\n                  uVar48 = uVar53 >> ((iVar9 + iVar10) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar28 + 0x34) != 0) {\n                  *(float *)(iVar21 + *(int *)(iVar28 + 0x38) * 4) =\n                       (float)((double)((uVar48 & 0xf) * 0x11 & 0xff) * dVar56);\n                }\n                iVar21 = iVar21 + *(int *)(iVar29 + 0x2c0) * 4;\n              }\n              iVar10 = iVar10 + 1;\n              pDVar4 = (DDSColors *)(pDVar39->r + iVar10);\n            } while (iVar10 != 4);\n            iVar18 = iVar18 + 1;\n            pDVar22 = (DDSColors *)(pDVar22->r + 1);\n            iVar9 = iVar9 + 4;\n          } while (iVar18 != 4);\n          pDVar4 = pDVar19;\n          iVar21 = (**(code **)(pcVar44 + 0x195998))(iVar29);\n          if (iVar21 == 0) goto LAB_00213b34;\n          pcVar42 = *(code **)(iVar29 + 0x18);\n          pDVar39 = (DDSColors *)pDVar39->g;\n          pcVar43 = *(code **)(pcVar44 + 0x195efc);\n          if ((int)pcVar42 <= (int)pDVar39) break;\n          iVar21 = *(int *)(iVar29 + 0x1c);\n        }\n      }\n      iVar21 = (*pcVar43)(iVar29);\n      if (iVar21 != 0) {\nLAB_00213b34:\n        MVar7 = MagickFalse;\n        goto LAB_00213b38;\n      }\n      iVar21 = *(int *)(iVar29 + 0x1c);\n      pDVar33 = (DDSColors *)pDVar33->g;\n    } while ((int)pDVar33 < iVar21);\n  }\n  MVar7 = MagickTrue;\nLAB_00213b38:\n  if (iStack_21c == *piVar8) {\n    return MVar7;\n  }\n  pcVar44 = *(code **)(pcVar44 + 0x195818);\n  iVar29 = iStack_21c;\n  (*pcVar44)();\n  iVar21 = (**(code **)(pcVar44 + 0x195b8c))(pDVar4);\n  if (iVar21 != 0) {\n    puVar11 = (undefined4 *)(**(code **)(pcVar44 + 0x195df4))();\n    uVar24 = (**(code **)(pcVar44 + 0x195830))(*puVar11);\n    (**(code **)(pcVar44 + 0x195364))\n              (uStack_248,*(int *)(pcVar44 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar44 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar44 + 0x194d30) + -0x17c,*(int *)(pcVar44 + 0x194d24) + 0xe78,\n               pDVar4 + 0x34,uVar24);\n    (**(code **)(pcVar44 + 0x1954b8))(uVar24);\n    return MagickFalse;\n  }\n  if (-1 < (int)(*(uint *)pDVar22[1].b << 9)) {\n    return MagickTrue;\n  }\n  if (((*(uint *)pDVar22[1].b & 0x1000) == 0) && ((*(uint *)pDVar22[1].a & 0x200) == 0)) {\n    return MagickTrue;\n  }\n  if (*(uint *)pDVar22->b < 2) {\n    uVar52 = *(uint *)pDVar22->g;\n    uVar53 = 1;\n  }\n  else {\n    uVar52 = *(uint *)pDVar22->g;\n    uVar53 = *(uint *)pDVar22->b >> 1;\n  }\n  if (uVar52 < 2) {\n    uVar52 = 1;\n  }\n  else {\n    uVar52 = uVar52 >> 1;\n  }\n  iVar21 = 1;\n  if (*(int *)pDVar22[1].g < 2) {\n    return MagickTrue;\n  }\n  do {\n    (**(code **)(pcVar44 + 0x1953d4))(iVar29,pDVar4,uStack_248);\n    iVar21 = iVar21 + 1;\n    pcVar43 = *(code **)(pcVar44 + 0x19584c);\n    if (*(int *)pDVar4[0x336].b == 0) {\n      return MagickFalse;\n    }\n    *(undefined4 *)(*(int *)pDVar4[0x336].b + 700) = *(undefined4 *)pDVar4[0x2b].a;\n    pDVar4 = (DDSColors *)(*pcVar43)(pDVar4);\n    iVar17 = (**(code **)(pcVar44 + 0x1958f0))(pDVar4,uVar53,uVar52,uStack_248);\n    if (iVar17 == 0) {\n      return MagickFalse;\n    }\n    MVar7 = (*pcVar42)(pDVar4,pDVar22,uStack_248);\n    if (MVar7 == MagickFalse) {\n      return MagickFalse;\n    }\n    if (uVar53 == 1) {\n      if (uVar52 == 1) {\n        return MVar7;\n      }\nLAB_00213d14:\n      uVar52 = uVar52 >> 1;\n    }\n    else {\n      uVar53 = uVar53 >> 1;\n      if (uVar52 != 1) goto LAB_00213d14;\n    }\n    if (*(int *)pDVar22[1].g <= iVar21) {\n      return MVar7;\n    }\n  } while( true );\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "undefined1 uVar3;" type_identifier identifier ;) (declaration "DDSColors *pDVar4;" type_identifier (pointer_declarator "*pDVar4" * identifier) ;) (declaration "DDSVector4 *pDVar5;" type_identifier (pointer_declarator "*pDVar5" * identifier) ;) (declaration "DDSVector4 *pDVar6;" type_identifier (pointer_declarator "*pDVar6" * identifier) ;) (declaration "MagickBooleanType MVar7;" type_identifier identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "size_t sVar12;" primitive_type identifier ;) (declaration "float *pfVar13;" primitive_type (pointer_declarator "*pfVar13" * identifier) ;) (declaration "byte *pbVar14;" type_identifier (pointer_declarator "*pbVar14" * identifier) ;) (declaration "DDSColors *pDVar15;" type_identifier (pointer_declarator "*pDVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "DDSColors *pDVar19;" type_identifier (pointer_declarator "*pDVar19" * identifier) ;) (declaration "DDSVector4 *pDVar20;" type_identifier (pointer_declarator "*pDVar20" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "DDSColors *pDVar22;" type_identifier (pointer_declarator "*pDVar22" * identifier) ;) (declaration "DDSVector4 *pDVar23;" type_identifier (pointer_declarator "*pDVar23" * identifier) ;) (declaration "undefined4 uVar24;" type_identifier identifier ;) (declaration "DDSVector4 *pDVar25;" type_identifier (pointer_declarator "*pDVar25" * identifier) ;) (declaration "float *pfVar26;" primitive_type (pointer_declarator "*pfVar26" * identifier) ;) (declaration "byte *pbVar27;" type_identifier (pointer_declarator "*pbVar27" * identifier) ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "int iVar30;" primitive_type identifier ;) (declaration "MagickBooleanType *pMVar31;" type_identifier (pointer_declarator "*pMVar31" * identifier) ;) (declaration "MagickBooleanType *pMVar32;" type_identifier (pointer_declarator "*pMVar32" * identifier) ;) (declaration "DDSColors *pDVar33;" type_identifier (pointer_declarator "*pDVar33" * identifier) ;) (declaration "MagickBooleanType *pMVar34;" type_identifier (pointer_declarator "*pMVar34" * identifier) ;) (declaration "int *piVar35;" primitive_type (pointer_declarator "*piVar35" * identifier) ;) (declaration "uint *puVar36;" type_identifier (pointer_declarator "*puVar36" * identifier) ;) (declaration "uint *puVar37;" type_identifier (pointer_declarator "*puVar37" * identifier) ;) (declaration "uint *puVar38;" type_identifier (pointer_declarator "*puVar38" * identifier) ;) (declaration "uint *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "DDSColors *pDVar39;" type_identifier (pointer_declarator "*pDVar39" * identifier) ;) (declaration "MagickBooleanType unaff_s7;" type_identifier identifier ;) (declaration "int iVar40;" primitive_type identifier ;) (declaration "undefined *puVar41;" type_identifier (pointer_declarator "*puVar41" * identifier) ;) (declaration "code *pcVar42;" type_identifier (pointer_declarator "*pcVar42" * identifier) ;) (declaration "code *pcVar43;" type_identifier (pointer_declarator "*pcVar43" * identifier) ;) (declaration "code *pcVar44;" type_identifier (pointer_declarator "*pcVar44" * identifier) ;) (declaration "MagickBooleanType unaff_s8;" type_identifier identifier ;) (declaration "code *pcVar45;" type_identifier (pointer_declarator "*pcVar45" * identifier) ;) (declaration "float fVar46;" primitive_type identifier ;) (declaration "uint uVar47;" type_identifier identifier ;) (declaration "uint uVar48;" type_identifier identifier ;) (declaration "uint uVar49;" type_identifier identifier ;) (declaration "uint uVar50;" type_identifier identifier ;) (declaration "float fVar51;" primitive_type identifier ;) (declaration "uint uVar52;" type_identifier identifier ;) (declaration "uint uVar53;" type_identifier identifier ;) (declaration "float fVar54;" primitive_type identifier ;) (declaration "float fVar55;" primitive_type identifier ;) (declaration "undefined8 in_f20_21;" type_identifier identifier ;) (declaration "double in_f22_23;" primitive_type identifier ;) (declaration "double dVar56;" primitive_type identifier ;) (declaration "double dVar57;" primitive_type identifier ;) (declaration "undefined8 uVar58;" type_identifier identifier ;) (declaration "uint uStack_248;" type_identifier identifier ;) (declaration "DDSColors DStack_22c;" type_identifier identifier ;) (declaration "int iStack_21c;" primitive_type identifier ;) (declaration "MagickBooleanType *pMStack_218;" type_identifier (pointer_declarator "*pMStack_218" * identifier) ;) (declaration "DDSColors *pDStack_214;" type_identifier (pointer_declarator "*pDStack_214" * identifier) ;) (declaration "DDSColors *pDStack_210;" type_identifier (pointer_declarator "*pDStack_210" * identifier) ;) (declaration "int *piStack_20c;" primitive_type (pointer_declarator "*piStack_20c" * identifier) ;) (declaration "uint *puStack_208;" type_identifier (pointer_declarator "*puStack_208" * identifier) ;) (declaration "uint *puStack_204;" type_identifier (pointer_declarator "*puStack_204" * identifier) ;) (declaration "uint *puStack_200;" type_identifier (pointer_declarator "*puStack_200" * identifier) ;) (declaration "MagickBooleanType MStack_1fc;" type_identifier identifier ;) (declaration "MagickBooleanType MStack_1f8;" type_identifier identifier ;) (declaration "code *pcStack_1f4;" type_identifier (pointer_declarator "*pcStack_1f4" * identifier) ;) (declaration "undefined8 uStack_1f0;" type_identifier identifier ;) (declaration "double dStack_1e8;" primitive_type identifier ;) (declaration "uint uStack_1d0;" type_identifier identifier ;) (declaration "DDSColors *pDStack_1cc;" type_identifier (pointer_declarator "*pDStack_1cc" * identifier) ;) (declaration "code *pcStack_1c8;" type_identifier (pointer_declarator "*pcStack_1c8" * identifier) ;) (declaration "uint uStack_1bc;" type_identifier identifier ;) (declaration "int *piStack_1b8;" primitive_type (pointer_declarator "*piStack_1b8" * identifier) ;) (declaration "DDSColors *pDStack_1b4;" type_identifier (pointer_declarator "*pDStack_1b4" * identifier) ;) (declaration "uint uStack_1b0;" type_identifier identifier ;) (declaration "undefined4 uStack_1ac;" type_identifier identifier ;) (declaration "DDSColors *pDStack_1a8;" type_identifier (pointer_declarator "*pDStack_1a8" * identifier) ;) (declaration "int *piStack_1a4;" primitive_type (pointer_declarator "*piStack_1a4" * identifier) ;) (declaration "DDSColors DStack_19c;" type_identifier identifier ;) (declaration "int iStack_18c;" primitive_type identifier ;) (declaration "MagickBooleanType *pMStack_188;" type_identifier (pointer_declarator "*pMStack_188" * identifier) ;) (declaration "DDSColors *pDStack_184;" type_identifier (pointer_declarator "*pDStack_184" * identifier) ;) (declaration "DDSColors *pDStack_180;" type_identifier (pointer_declarator "*pDStack_180" * identifier) ;) (declaration "int *piStack_17c;" primitive_type (pointer_declarator "*piStack_17c" * identifier) ;) (declaration "uint *puStack_178;" type_identifier (pointer_declarator "*puStack_178" * identifier) ;) (declaration "uint *puStack_174;" type_identifier (pointer_declarator "*puStack_174" * identifier) ;) (declaration "uint *puStack_170;" type_identifier (pointer_declarator "*puStack_170" * identifier) ;) (declaration "MagickBooleanType MStack_16c;" type_identifier identifier ;) (declaration "MagickBooleanType MStack_168;" type_identifier identifier ;) (declaration "code *pcStack_164;" type_identifier (pointer_declarator "*pcStack_164" * identifier) ;) (declaration "DDSColors *pDStack_140;" type_identifier (pointer_declarator "*pDStack_140" * identifier) ;) (declaration "DDSColors *pDStack_13c;" type_identifier (pointer_declarator "*pDStack_13c" * identifier) ;) (declaration "int iStack_138;" primitive_type identifier ;) (declaration "DDSColors *pDStack_134;" type_identifier (pointer_declarator "*pDStack_134" * identifier) ;) (declaration "code *pcStack_130;" type_identifier (pointer_declarator "*pcStack_130" * identifier) ;) (declaration "code *pcStack_128;" type_identifier (pointer_declarator "*pcStack_128" * identifier) ;) (declaration "uint uStack_124;" type_identifier identifier ;) (declaration "uint uStack_120;" type_identifier identifier ;) (declaration "MagickBooleanType MStack_11c;" type_identifier identifier ;) (declaration "MagickBooleanType MStack_118;" type_identifier identifier ;) (declaration "undefined4 uStack_114;" type_identifier identifier ;) (declaration "uint *puStack_110;" type_identifier (pointer_declarator "*puStack_110" * identifier) ;) (declaration "undefined4 uStack_10c;" type_identifier identifier ;) (declaration "undefined4 uStack_108;" type_identifier identifier ;) (declaration "uint uStack_104;" type_identifier identifier ;) (declaration "uint uStack_100;" type_identifier identifier ;) (declaration "int iStack_fc;" primitive_type identifier ;) (declaration "undefined4 uStack_f8;" type_identifier identifier ;) (declaration "undefined4 uStack_f4;" type_identifier identifier ;) (declaration "undefined4 uStack_f0;" type_identifier identifier ;) (declaration "undefined4 uStack_ec;" type_identifier identifier ;) (declaration "undefined4 uStack_e8;" type_identifier identifier ;) (declaration "int iStack_e4;" primitive_type identifier ;) (declaration "MagickBooleanType *pMStack_e0;" type_identifier (pointer_declarator "*pMStack_e0" * identifier) ;) (declaration "DDSColors *pDStack_dc;" type_identifier (pointer_declarator "*pDStack_dc" * identifier) ;) (declaration "DDSColors *pDStack_d8;" type_identifier (pointer_declarator "*pDStack_d8" * identifier) ;) (declaration "MagickBooleanType *pMStack_d4;" type_identifier (pointer_declarator "*pMStack_d4" * identifier) ;) (declaration "uint *puStack_d0;" type_identifier (pointer_declarator "*puStack_d0" * identifier) ;) (declaration "uint *puStack_cc;" type_identifier (pointer_declarator "*puStack_cc" * identifier) ;) (declaration "undefined4 uStack_9c;" type_identifier identifier ;) (declaration "MagickBooleanType aMStack_8c [2];" type_identifier (array_declarator "aMStack_8c [2]" identifier [ number_literal ]) ;) (declaration "float local_54;" primitive_type identifier ;) (declaration "float local_50;" primitive_type identifier ;) (declaration "float dps [16];" primitive_type (array_declarator "dps [16]" identifier [ number_literal ]) ;) (expression_statement "puVar41 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar41 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "pDVar4 = *(DDSColors **)PTR___stack_chk_guard_003a9230;" (assignment_expression "pDVar4 = *(DDSColors **)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(DDSColors **)PTR___stack_chk_guard_003a9230" * (cast_expression "(DDSColors **)PTR___stack_chk_guard_003a9230" ( (type_descriptor "DDSColors **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pDVar25 = (DDSVector4 *)(order + iteration * 0x10);" (assignment_expression "pDVar25 = (DDSVector4 *)(order + iteration * 0x10)" identifier = (cast_expression "(DDSVector4 *)(order + iteration * 0x10)" ( (type_descriptor "DDSVector4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(order + iteration * 0x10)" ( (binary_expression "order + iteration * 0x10" identifier + (binary_expression "iteration * 0x10" identifier * number_literal)) )))) ;) (if_statement "if ((int)count < 1) {\n    MVar7 = MagickTrue;\n    if (0 < (int)iteration) goto LAB_00212794;\n    *(undefined4 *)axis.z = 0;\n    *(undefined4 *)((int)axis.z + 4) = 0;\n    *(undefined4 *)((int)axis.z + 8) = 0;\n    *(undefined4 *)((int)axis.z + 0xc) = 0;\n  }\n  else {\n    pfVar26 = dps;\n    sVar12 = 0;\n    pDVar5 = points;\n    pfVar13 = pfVar26;\n    pDVar6 = pDVar25;\n    do {\n      fVar54 = pDVar5->y;\n      pDVar23 = (DDSVector4 *)((int)&pDVar6->x + 1);\n      pDVar20 = (DDSVector4 *)(pfVar13 + 1);\n      fVar51 = pDVar5->x;\n      fVar46 = pDVar5->z;\n      *(char *)&pDVar6->x = (char)sVar12;\n      sVar12 = sVar12 + 1;\n      *pfVar13 = axis.x * fVar46 + (float)pointsWeights * fVar51 + (float)xSumwSum * fVar54;\n      pDVar5 = pDVar5 + 1;\n      pfVar13 = (float *)pDVar20;\n      pDVar6 = pDVar23;\n    } while (sVar12 != count);\n    pDVar5 = (DDSVector4 *)((int)&pDVar25[-1].w + 3);\n    do {\n      if ((1 - (int)pDVar25) + (int)pDVar5 != 0) {\n        fVar51 = *pfVar26;\n        fVar46 = pfVar26[-1];\n        if (fVar51 < fVar46) {\n          bVar1 = *(byte *)((int)&pDVar5->x + 1);\n          pDVar23 = (DDSVector4 *)(uint)bVar1;\n          pDVar6 = pDVar5;\n          pfVar13 = pfVar26;\n          do {\n            bVar2 = *(byte *)&pDVar6->x;\n            pDVar20 = (DDSVector4 *)(uint)bVar2;\n            *pfVar13 = fVar46;\n            *(byte *)&pDVar6->x = bVar1;\n            pfVar13[-1] = fVar51;\n            *(byte *)((int)&pDVar6->x + 1) = bVar2;\n            if (pDVar25 == pDVar6) break;\n            fVar46 = pfVar13[-2];\n            pDVar6 = (DDSVector4 *)((int)&pDVar6[-1].w + 3);\n            pfVar13 = pfVar13 + -1;\n          } while (fVar51 < fVar46);\n        }\n      }\n      pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);\n      pfVar26 = pfVar26 + 1;\n    } while ((DDSVector4 *)((int)pDVar25 + (count - 1)) != pDVar5);\n    pointsWeights = pDVar20;\n    xSumwSum = pDVar23;\n    if ((int)iteration < 1) {\n      *(undefined4 *)axis.z = 0;\n      *(undefined4 *)((int)axis.z + 4) = 0;\n      *(undefined4 *)((int)axis.z + 8) = 0;\n      *(undefined4 *)((int)axis.z + 0xc) = 0;\nLAB_00212818:\n      iVar29 = 0;\n      do {\n        pfVar13 = &pDVar25->x;\n        iVar29 = iVar29 + 1;\n        pDVar25 = (DDSVector4 *)((int)&pDVar25->x + 1);\n        pointsWeights = (DDSVector4 *)(uint)(iVar29 < (int)count);\n        pDVar5 = points + *(byte *)pfVar13;\n        fVar46 = pDVar5->w;\n        fVar55 = pDVar5->x;\n        fVar54 = pDVar5->y;\n        fVar51 = pDVar5->z;\n        *(float *)((int)axis.y + 0xc) = fVar46;\n        fVar55 = fVar46 * fVar55;\n        fVar54 = fVar46 * fVar54;\n        fVar51 = fVar46 * fVar51;\n        *(float *)axis.y = fVar55;\n        *(float *)((int)axis.y + 4) = fVar54;\n        *(float *)((int)axis.y + 8) = fVar51;\n        *(float *)((int)axis.z + 4) = fVar54 + *(float *)((int)axis.z + 4);\n        *(float *)((int)axis.z + 8) = fVar51 + *(float *)((int)axis.z + 8);\n        *(float *)((int)axis.z + 0xc) = fVar46 + *(float *)((int)axis.z + 0xc);\n        *(float *)axis.z = *(float *)axis.z + fVar55;\n        xSumwSum = pDVar23;\n        axis.y = (float)((int)axis.y + 0x10);\n      } while (pointsWeights != (DDSVector4 *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar27 = order + 1;\n      iVar29 = 0;\n      pDVar23 = xSumwSum;\n      do {\n        MVar7 = MagickFalse;\n        xSumwSum = pDVar23;\n        if (count == 0) goto LAB_002127dc;\n        pbVar14 = pbVar27;\n        pDVar5 = pDVar25;\n        if (pbVar27[-1] == *(byte *)&pDVar25->x) {\n          do {\n            pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);\n            if ((DDSVector4 *)((int)&pDVar25->x + count) == pDVar5) {\n              MVar7 = MagickFalse;\n              xSumwSum = pDVar23;\n              goto LAB_002127dc;\n            }\n            pDVar23 = (DDSVector4 *)(uint)*(byte *)&pDVar5->x;\n            pointsWeights = (DDSVector4 *)(uint)*pbVar14;\n            pbVar14 = pbVar14 + 1;\n          } while (pDVar23 == pointsWeights);\n        }\n        iVar29 = iVar29 + 1;\n        pbVar27 = pbVar27 + 0x10;\n      } while (iVar29 < (int)iteration);\n      *(undefined4 *)axis.z = 0;\n      *(undefined4 *)((int)axis.z + 4) = 0;\n      *(undefined4 *)((int)axis.z + 8) = 0;\n      *(undefined4 *)((int)axis.z + 0xc) = 0;\n      xSumwSum = pDVar23;\n      if (0 < (int)count) goto LAB_00212818;\n    }\n    MVar7 = MagickTrue;\n  }" if (parenthesized_expression "((int)count < 1)" ( (binary_expression "(int)count < 1" (cast_expression "(int)count" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    MVar7 = MagickTrue;\n    if (0 < (int)iteration) goto LAB_00212794;\n    *(undefined4 *)axis.z = 0;\n    *(undefined4 *)((int)axis.z + 4) = 0;\n    *(undefined4 *)((int)axis.z + 8) = 0;\n    *(undefined4 *)((int)axis.z + 0xc) = 0;\n  }" { (expression_statement "MVar7 = MagickTrue;" (assignment_expression "MVar7 = MagickTrue" identifier = identifier) ;) (if_statement "if (0 < (int)iteration) goto LAB_00212794;" if (parenthesized_expression "(0 < (int)iteration)" ( (binary_expression "0 < (int)iteration" number_literal < (cast_expression "(int)iteration" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00212794;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)axis.z = 0;" (assignment_expression "*(undefined4 *)axis.z = 0" (pointer_expression "*(undefined4 *)axis.z" * (cast_expression "(undefined4 *)axis.z" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "axis.z" identifier . field_identifier))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)axis.z + 4) = 0;" (assignment_expression "*(undefined4 *)((int)axis.z + 4) = 0" (pointer_expression "*(undefined4 *)((int)axis.z + 4)" * (cast_expression "(undefined4 *)((int)axis.z + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)axis.z + 4)" ( (binary_expression "(int)axis.z + 4" (cast_expression "(int)axis.z" ( (type_descriptor "int" primitive_type) ) (field_expression "axis.z" identifier . field_identifier)) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)axis.z + 8) = 0;" (assignment_expression "*(undefined4 *)((int)axis.z + 8) = 0" (pointer_expression "*(undefined4 *)((int)axis.z + 8)" * (cast_expression "(undefined4 *)((int)axis.z + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)axis.z + 8)" ( (binary_expression "(int)axis.z + 8" (cast_expression "(int)axis.z" ( (type_descriptor "int" primitive_type) ) (field_expression "axis.z" identifier . field_identifier)) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)axis.z + 0xc) = 0;" (assignment_expression "*(undefined4 *)((int)axis.z + 0xc) = 0" (pointer_expression "*(undefined4 *)((int)axis.z + 0xc)" * (cast_expression "(undefined4 *)((int)axis.z + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)axis.z + 0xc)" ( (binary_expression "(int)axis.z + 0xc" (cast_expression "(int)axis.z" ( (type_descriptor "int" primitive_type) ) (field_expression "axis.z" identifier . field_identifier)) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n    pfVar26 = dps;\n    sVar12 = 0;\n    pDVar5 = points;\n    pfVar13 = pfVar26;\n    pDVar6 = pDVar25;\n    do {\n      fVar54 = pDVar5->y;\n      pDVar23 = (DDSVector4 *)((int)&pDVar6->x + 1);\n      pDVar20 = (DDSVector4 *)(pfVar13 + 1);\n      fVar51 = pDVar5->x;\n      fVar46 = pDVar5->z;\n      *(char *)&pDVar6->x = (char)sVar12;\n      sVar12 = sVar12 + 1;\n      *pfVar13 = axis.x * fVar46 + (float)pointsWeights * fVar51 + (float)xSumwSum * fVar54;\n      pDVar5 = pDVar5 + 1;\n      pfVar13 = (float *)pDVar20;\n      pDVar6 = pDVar23;\n    } while (sVar12 != count);\n    pDVar5 = (DDSVector4 *)((int)&pDVar25[-1].w + 3);\n    do {\n      if ((1 - (int)pDVar25) + (int)pDVar5 != 0) {\n        fVar51 = *pfVar26;\n        fVar46 = pfVar26[-1];\n        if (fVar51 < fVar46) {\n          bVar1 = *(byte *)((int)&pDVar5->x + 1);\n          pDVar23 = (DDSVector4 *)(uint)bVar1;\n          pDVar6 = pDVar5;\n          pfVar13 = pfVar26;\n          do {\n            bVar2 = *(byte *)&pDVar6->x;\n            pDVar20 = (DDSVector4 *)(uint)bVar2;\n            *pfVar13 = fVar46;\n            *(byte *)&pDVar6->x = bVar1;\n            pfVar13[-1] = fVar51;\n            *(byte *)((int)&pDVar6->x + 1) = bVar2;\n            if (pDVar25 == pDVar6) break;\n            fVar46 = pfVar13[-2];\n            pDVar6 = (DDSVector4 *)((int)&pDVar6[-1].w + 3);\n            pfVar13 = pfVar13 + -1;\n          } while (fVar51 < fVar46);\n        }\n      }\n      pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);\n      pfVar26 = pfVar26 + 1;\n    } while ((DDSVector4 *)((int)pDVar25 + (count - 1)) != pDVar5);\n    pointsWeights = pDVar20;\n    xSumwSum = pDVar23;\n    if ((int)iteration < 1) {\n      *(undefined4 *)axis.z = 0;\n      *(undefined4 *)((int)axis.z + 4) = 0;\n      *(undefined4 *)((int)axis.z + 8) = 0;\n      *(undefined4 *)((int)axis.z + 0xc) = 0;\nLAB_00212818:\n      iVar29 = 0;\n      do {\n        pfVar13 = &pDVar25->x;\n        iVar29 = iVar29 + 1;\n        pDVar25 = (DDSVector4 *)((int)&pDVar25->x + 1);\n        pointsWeights = (DDSVector4 *)(uint)(iVar29 < (int)count);\n        pDVar5 = points + *(byte *)pfVar13;\n        fVar46 = pDVar5->w;\n        fVar55 = pDVar5->x;\n        fVar54 = pDVar5->y;\n        fVar51 = pDVar5->z;\n        *(float *)((int)axis.y + 0xc) = fVar46;\n        fVar55 = fVar46 * fVar55;\n        fVar54 = fVar46 * fVar54;\n        fVar51 = fVar46 * fVar51;\n        *(float *)axis.y = fVar55;\n        *(float *)((int)axis.y + 4) = fVar54;\n        *(float *)((int)axis.y + 8) = fVar51;\n        *(float *)((int)axis.z + 4) = fVar54 + *(float *)((int)axis.z + 4);\n        *(float *)((int)axis.z + 8) = fVar51 + *(float *)((int)axis.z + 8);\n        *(float *)((int)axis.z + 0xc) = fVar46 + *(float *)((int)axis.z + 0xc);\n        *(float *)axis.z = *(float *)axis.z + fVar55;\n        xSumwSum = pDVar23;\n        axis.y = (float)((int)axis.y + 0x10);\n      } while (pointsWeights != (DDSVector4 *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar27 = order + 1;\n      iVar29 = 0;\n      pDVar23 = xSumwSum;\n      do {\n        MVar7 = MagickFalse;\n        xSumwSum = pDVar23;\n        if (count == 0) goto LAB_002127dc;\n        pbVar14 = pbVar27;\n        pDVar5 = pDVar25;\n        if (pbVar27[-1] == *(byte *)&pDVar25->x) {\n          do {\n            pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);\n            if ((DDSVector4 *)((int)&pDVar25->x + count) == pDVar5) {\n              MVar7 = MagickFalse;\n              xSumwSum = pDVar23;\n              goto LAB_002127dc;\n            }\n            pDVar23 = (DDSVector4 *)(uint)*(byte *)&pDVar5->x;\n            pointsWeights = (DDSVector4 *)(uint)*pbVar14;\n            pbVar14 = pbVar14 + 1;\n          } while (pDVar23 == pointsWeights);\n        }\n        iVar29 = iVar29 + 1;\n        pbVar27 = pbVar27 + 0x10;\n      } while (iVar29 < (int)iteration);\n      *(undefined4 *)axis.z = 0;\n      *(undefined4 *)((int)axis.z + 4) = 0;\n      *(undefined4 *)((int)axis.z + 8) = 0;\n      *(undefined4 *)((int)axis.z + 0xc) = 0;\n      xSumwSum = pDVar23;\n      if (0 < (int)count) goto LAB_00212818;\n    }\n    MVar7 = MagickTrue;\n  }" else (compound_statement "{\n    pfVar26 = dps;\n    sVar12 = 0;\n    pDVar5 = points;\n    pfVar13 = pfVar26;\n    pDVar6 = pDVar25;\n    do {\n      fVar54 = pDVar5->y;\n      pDVar23 = (DDSVector4 *)((int)&pDVar6->x + 1);\n      pDVar20 = (DDSVector4 *)(pfVar13 + 1);\n      fVar51 = pDVar5->x;\n      fVar46 = pDVar5->z;\n      *(char *)&pDVar6->x = (char)sVar12;\n      sVar12 = sVar12 + 1;\n      *pfVar13 = axis.x * fVar46 + (float)pointsWeights * fVar51 + (float)xSumwSum * fVar54;\n      pDVar5 = pDVar5 + 1;\n      pfVar13 = (float *)pDVar20;\n      pDVar6 = pDVar23;\n    } while (sVar12 != count);\n    pDVar5 = (DDSVector4 *)((int)&pDVar25[-1].w + 3);\n    do {\n      if ((1 - (int)pDVar25) + (int)pDVar5 != 0) {\n        fVar51 = *pfVar26;\n        fVar46 = pfVar26[-1];\n        if (fVar51 < fVar46) {\n          bVar1 = *(byte *)((int)&pDVar5->x + 1);\n          pDVar23 = (DDSVector4 *)(uint)bVar1;\n          pDVar6 = pDVar5;\n          pfVar13 = pfVar26;\n          do {\n            bVar2 = *(byte *)&pDVar6->x;\n            pDVar20 = (DDSVector4 *)(uint)bVar2;\n            *pfVar13 = fVar46;\n            *(byte *)&pDVar6->x = bVar1;\n            pfVar13[-1] = fVar51;\n            *(byte *)((int)&pDVar6->x + 1) = bVar2;\n            if (pDVar25 == pDVar6) break;\n            fVar46 = pfVar13[-2];\n            pDVar6 = (DDSVector4 *)((int)&pDVar6[-1].w + 3);\n            pfVar13 = pfVar13 + -1;\n          } while (fVar51 < fVar46);\n        }\n      }\n      pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);\n      pfVar26 = pfVar26 + 1;\n    } while ((DDSVector4 *)((int)pDVar25 + (count - 1)) != pDVar5);\n    pointsWeights = pDVar20;\n    xSumwSum = pDVar23;\n    if ((int)iteration < 1) {\n      *(undefined4 *)axis.z = 0;\n      *(undefined4 *)((int)axis.z + 4) = 0;\n      *(undefined4 *)((int)axis.z + 8) = 0;\n      *(undefined4 *)((int)axis.z + 0xc) = 0;\nLAB_00212818:\n      iVar29 = 0;\n      do {\n        pfVar13 = &pDVar25->x;\n        iVar29 = iVar29 + 1;\n        pDVar25 = (DDSVector4 *)((int)&pDVar25->x + 1);\n        pointsWeights = (DDSVector4 *)(uint)(iVar29 < (int)count);\n        pDVar5 = points + *(byte *)pfVar13;\n        fVar46 = pDVar5->w;\n        fVar55 = pDVar5->x;\n        fVar54 = pDVar5->y;\n        fVar51 = pDVar5->z;\n        *(float *)((int)axis.y + 0xc) = fVar46;\n        fVar55 = fVar46 * fVar55;\n        fVar54 = fVar46 * fVar54;\n        fVar51 = fVar46 * fVar51;\n        *(float *)axis.y = fVar55;\n        *(float *)((int)axis.y + 4) = fVar54;\n        *(float *)((int)axis.y + 8) = fVar51;\n        *(float *)((int)axis.z + 4) = fVar54 + *(float *)((int)axis.z + 4);\n        *(float *)((int)axis.z + 8) = fVar51 + *(float *)((int)axis.z + 8);\n        *(float *)((int)axis.z + 0xc) = fVar46 + *(float *)((int)axis.z + 0xc);\n        *(float *)axis.z = *(float *)axis.z + fVar55;\n        xSumwSum = pDVar23;\n        axis.y = (float)((int)axis.y + 0x10);\n      } while (pointsWeights != (DDSVector4 *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar27 = order + 1;\n      iVar29 = 0;\n      pDVar23 = xSumwSum;\n      do {\n        MVar7 = MagickFalse;\n        xSumwSum = pDVar23;\n        if (count == 0) goto LAB_002127dc;\n        pbVar14 = pbVar27;\n        pDVar5 = pDVar25;\n        if (pbVar27[-1] == *(byte *)&pDVar25->x) {\n          do {\n            pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);\n            if ((DDSVector4 *)((int)&pDVar25->x + count) == pDVar5) {\n              MVar7 = MagickFalse;\n              xSumwSum = pDVar23;\n              goto LAB_002127dc;\n            }\n            pDVar23 = (DDSVector4 *)(uint)*(byte *)&pDVar5->x;\n            pointsWeights = (DDSVector4 *)(uint)*pbVar14;\n            pbVar14 = pbVar14 + 1;\n          } while (pDVar23 == pointsWeights);\n        }\n        iVar29 = iVar29 + 1;\n        pbVar27 = pbVar27 + 0x10;\n      } while (iVar29 < (int)iteration);\n      *(undefined4 *)axis.z = 0;\n      *(undefined4 *)((int)axis.z + 4) = 0;\n      *(undefined4 *)((int)axis.z + 8) = 0;\n      *(undefined4 *)((int)axis.z + 0xc) = 0;\n      xSumwSum = pDVar23;\n      if (0 < (int)count) goto LAB_00212818;\n    }\n    MVar7 = MagickTrue;\n  }" { (expression_statement "pfVar26 = dps;" (assignment_expression "pfVar26 = dps" identifier = identifier) ;) (expression_statement "sVar12 = 0;" (assignment_expression "sVar12 = 0" identifier = number_literal) ;) (expression_statement "pDVar5 = points;" (assignment_expression "pDVar5 = points" identifier = identifier) ;) (expression_statement "pfVar13 = pfVar26;" (assignment_expression "pfVar13 = pfVar26" identifier = identifier) ;) (expression_statement "pDVar6 = pDVar25;" (assignment_expression "pDVar6 = pDVar25" identifier = identifier) ;) (do_statement "do {\n      fVar54 = pDVar5->y;\n      pDVar23 = (DDSVector4 *)((int)&pDVar6->x + 1);\n      pDVar20 = (DDSVector4 *)(pfVar13 + 1);\n      fVar51 = pDVar5->x;\n      fVar46 = pDVar5->z;\n      *(char *)&pDVar6->x = (char)sVar12;\n      sVar12 = sVar12 + 1;\n      *pfVar13 = axis.x * fVar46 + (float)pointsWeights * fVar51 + (float)xSumwSum * fVar54;\n      pDVar5 = pDVar5 + 1;\n      pfVar13 = (float *)pDVar20;\n      pDVar6 = pDVar23;\n    } while (sVar12 != count);" do (compound_statement "{\n      fVar54 = pDVar5->y;\n      pDVar23 = (DDSVector4 *)((int)&pDVar6->x + 1);\n      pDVar20 = (DDSVector4 *)(pfVar13 + 1);\n      fVar51 = pDVar5->x;\n      fVar46 = pDVar5->z;\n      *(char *)&pDVar6->x = (char)sVar12;\n      sVar12 = sVar12 + 1;\n      *pfVar13 = axis.x * fVar46 + (float)pointsWeights * fVar51 + (float)xSumwSum * fVar54;\n      pDVar5 = pDVar5 + 1;\n      pfVar13 = (float *)pDVar20;\n      pDVar6 = pDVar23;\n    }" { (expression_statement "fVar54 = pDVar5->y;" (assignment_expression "fVar54 = pDVar5->y" identifier = (field_expression "pDVar5->y" identifier -> field_identifier)) ;) (expression_statement "pDVar23 = (DDSVector4 *)((int)&pDVar6->x + 1);" (assignment_expression "pDVar23 = (DDSVector4 *)((int)&pDVar6->x + 1)" identifier = (cast_expression "(DDSVector4 *)((int)&pDVar6->x + 1)" ( (type_descriptor "DDSVector4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pDVar6->x + 1)" ( (binary_expression "(int)&pDVar6->x + 1" (cast_expression "(int)&pDVar6->x" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pDVar6->x" & (field_expression "pDVar6->x" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pDVar20 = (DDSVector4 *)(pfVar13 + 1);" (assignment_expression "pDVar20 = (DDSVector4 *)(pfVar13 + 1)" identifier = (cast_expression "(DDSVector4 *)(pfVar13 + 1)" ( (type_descriptor "DDSVector4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pfVar13 + 1)" ( (binary_expression "pfVar13 + 1" identifier + number_literal) )))) ;) (expression_statement "fVar51 = pDVar5->x;" (assignment_expression "fVar51 = pDVar5->x" identifier = (field_expression "pDVar5->x" identifier -> field_identifier)) ;) (expression_statement "fVar46 = pDVar5->z;" (assignment_expression "fVar46 = pDVar5->z" identifier = (field_expression "pDVar5->z" identifier -> field_identifier)) ;) (expression_statement "*(char *)&pDVar6->x = (char)sVar12;" (assignment_expression "*(char *)&pDVar6->x = (char)sVar12" (pointer_expression "*(char *)&pDVar6->x" * (cast_expression "(char *)&pDVar6->x" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pDVar6->x" & (field_expression "pDVar6->x" identifier -> field_identifier)))) = (cast_expression "(char)sVar12" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "sVar12 = sVar12 + 1;" (assignment_expression "sVar12 = sVar12 + 1" identifier = (binary_expression "sVar12 + 1" identifier + number_literal)) ;) (expression_statement "*pfVar13 = axis.x * fVar46 + (float)pointsWeights * fVar51 + (float)xSumwSum * fVar54;" (assignment_expression "*pfVar13 = axis.x * fVar46 + (float)pointsWeights * fVar51 + (float)xSumwSum * fVar54" (pointer_expression "*pfVar13" * identifier) = (binary_expression "axis.x * fVar46 + (float)pointsWeights * fVar51 + (float)xSumwSum * fVar54" (binary_expression "axis.x * fVar46 + (float)pointsWeights * fVar51" (binary_expression "axis.x * fVar46" (field_expression "axis.x" identifier . field_identifier) * identifier) + (binary_expression "(float)pointsWeights * fVar51" (cast_expression "(float)pointsWeights" ( (type_descriptor "float" primitive_type) ) identifier) * identifier)) + (binary_expression "(float)xSumwSum * fVar54" (cast_expression "(float)xSumwSum" ( (type_descriptor "float" primitive_type) ) identifier) * identifier))) ;) (expression_statement "pDVar5 = pDVar5 + 1;" (assignment_expression "pDVar5 = pDVar5 + 1" identifier = (binary_expression "pDVar5 + 1" identifier + number_literal)) ;) (expression_statement "pfVar13 = (float *)pDVar20;" (assignment_expression "pfVar13 = (float *)pDVar20" identifier = (cast_expression "(float *)pDVar20" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pDVar6 = pDVar23;" (assignment_expression "pDVar6 = pDVar23" identifier = identifier) ;) }) while (parenthesized_expression "(sVar12 != count)" ( (binary_expression "sVar12 != count" identifier != identifier) )) ;) (expression_statement "pDVar5 = (DDSVector4 *)((int)&pDVar25[-1].w + 3);" (assignment_expression "pDVar5 = (DDSVector4 *)((int)&pDVar25[-1].w + 3)" identifier = (cast_expression "(DDSVector4 *)((int)&pDVar25[-1].w + 3)" ( (type_descriptor "DDSVector4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pDVar25[-1].w + 3)" ( (binary_expression "(int)&pDVar25[-1].w + 3" (cast_expression "(int)&pDVar25[-1].w" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pDVar25[-1].w" & (field_expression "pDVar25[-1].w" (subscript_expression "pDVar25[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (do_statement "do {\n      if ((1 - (int)pDVar25) + (int)pDVar5 != 0) {\n        fVar51 = *pfVar26;\n        fVar46 = pfVar26[-1];\n        if (fVar51 < fVar46) {\n          bVar1 = *(byte *)((int)&pDVar5->x + 1);\n          pDVar23 = (DDSVector4 *)(uint)bVar1;\n          pDVar6 = pDVar5;\n          pfVar13 = pfVar26;\n          do {\n            bVar2 = *(byte *)&pDVar6->x;\n            pDVar20 = (DDSVector4 *)(uint)bVar2;\n            *pfVar13 = fVar46;\n            *(byte *)&pDVar6->x = bVar1;\n            pfVar13[-1] = fVar51;\n            *(byte *)((int)&pDVar6->x + 1) = bVar2;\n            if (pDVar25 == pDVar6) break;\n            fVar46 = pfVar13[-2];\n            pDVar6 = (DDSVector4 *)((int)&pDVar6[-1].w + 3);\n            pfVar13 = pfVar13 + -1;\n          } while (fVar51 < fVar46);\n        }\n      }\n      pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);\n      pfVar26 = pfVar26 + 1;\n    } while ((DDSVector4 *)((int)pDVar25 + (count - 1)) != pDVar5);" do (compound_statement "{\n      if ((1 - (int)pDVar25) + (int)pDVar5 != 0) {\n        fVar51 = *pfVar26;\n        fVar46 = pfVar26[-1];\n        if (fVar51 < fVar46) {\n          bVar1 = *(byte *)((int)&pDVar5->x + 1);\n          pDVar23 = (DDSVector4 *)(uint)bVar1;\n          pDVar6 = pDVar5;\n          pfVar13 = pfVar26;\n          do {\n            bVar2 = *(byte *)&pDVar6->x;\n            pDVar20 = (DDSVector4 *)(uint)bVar2;\n            *pfVar13 = fVar46;\n            *(byte *)&pDVar6->x = bVar1;\n            pfVar13[-1] = fVar51;\n            *(byte *)((int)&pDVar6->x + 1) = bVar2;\n            if (pDVar25 == pDVar6) break;\n            fVar46 = pfVar13[-2];\n            pDVar6 = (DDSVector4 *)((int)&pDVar6[-1].w + 3);\n            pfVar13 = pfVar13 + -1;\n          } while (fVar51 < fVar46);\n        }\n      }\n      pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);\n      pfVar26 = pfVar26 + 1;\n    }" { (if_statement "if ((1 - (int)pDVar25) + (int)pDVar5 != 0) {\n        fVar51 = *pfVar26;\n        fVar46 = pfVar26[-1];\n        if (fVar51 < fVar46) {\n          bVar1 = *(byte *)((int)&pDVar5->x + 1);\n          pDVar23 = (DDSVector4 *)(uint)bVar1;\n          pDVar6 = pDVar5;\n          pfVar13 = pfVar26;\n          do {\n            bVar2 = *(byte *)&pDVar6->x;\n            pDVar20 = (DDSVector4 *)(uint)bVar2;\n            *pfVar13 = fVar46;\n            *(byte *)&pDVar6->x = bVar1;\n            pfVar13[-1] = fVar51;\n            *(byte *)((int)&pDVar6->x + 1) = bVar2;\n            if (pDVar25 == pDVar6) break;\n            fVar46 = pfVar13[-2];\n            pDVar6 = (DDSVector4 *)((int)&pDVar6[-1].w + 3);\n            pfVar13 = pfVar13 + -1;\n          } while (fVar51 < fVar46);\n        }\n      }" if (parenthesized_expression "((1 - (int)pDVar25) + (int)pDVar5 != 0)" ( (binary_expression "(1 - (int)pDVar25) + (int)pDVar5 != 0" (binary_expression "(1 - (int)pDVar25) + (int)pDVar5" (parenthesized_expression "(1 - (int)pDVar25)" ( (binary_expression "1 - (int)pDVar25" number_literal - (cast_expression "(int)pDVar25" ( (type_descriptor "int" primitive_type) ) identifier)) )) + (cast_expression "(int)pDVar5" ( (type_descriptor "int" primitive_type) ) identifier)) != number_literal) )) (compound_statement "{\n        fVar51 = *pfVar26;\n        fVar46 = pfVar26[-1];\n        if (fVar51 < fVar46) {\n          bVar1 = *(byte *)((int)&pDVar5->x + 1);\n          pDVar23 = (DDSVector4 *)(uint)bVar1;\n          pDVar6 = pDVar5;\n          pfVar13 = pfVar26;\n          do {\n            bVar2 = *(byte *)&pDVar6->x;\n            pDVar20 = (DDSVector4 *)(uint)bVar2;\n            *pfVar13 = fVar46;\n            *(byte *)&pDVar6->x = bVar1;\n            pfVar13[-1] = fVar51;\n            *(byte *)((int)&pDVar6->x + 1) = bVar2;\n            if (pDVar25 == pDVar6) break;\n            fVar46 = pfVar13[-2];\n            pDVar6 = (DDSVector4 *)((int)&pDVar6[-1].w + 3);\n            pfVar13 = pfVar13 + -1;\n          } while (fVar51 < fVar46);\n        }\n      }" { (expression_statement "fVar51 = *pfVar26;" (assignment_expression "fVar51 = *pfVar26" identifier = (pointer_expression "*pfVar26" * identifier)) ;) (expression_statement "fVar46 = pfVar26[-1];" (assignment_expression "fVar46 = pfVar26[-1]" identifier = (subscript_expression "pfVar26[-1]" identifier [ number_literal ])) ;) (if_statement "if (fVar51 < fVar46) {\n          bVar1 = *(byte *)((int)&pDVar5->x + 1);\n          pDVar23 = (DDSVector4 *)(uint)bVar1;\n          pDVar6 = pDVar5;\n          pfVar13 = pfVar26;\n          do {\n            bVar2 = *(byte *)&pDVar6->x;\n            pDVar20 = (DDSVector4 *)(uint)bVar2;\n            *pfVar13 = fVar46;\n            *(byte *)&pDVar6->x = bVar1;\n            pfVar13[-1] = fVar51;\n            *(byte *)((int)&pDVar6->x + 1) = bVar2;\n            if (pDVar25 == pDVar6) break;\n            fVar46 = pfVar13[-2];\n            pDVar6 = (DDSVector4 *)((int)&pDVar6[-1].w + 3);\n            pfVar13 = pfVar13 + -1;\n          } while (fVar51 < fVar46);\n        }" if (parenthesized_expression "(fVar51 < fVar46)" ( (binary_expression "fVar51 < fVar46" identifier < identifier) )) (compound_statement "{\n          bVar1 = *(byte *)((int)&pDVar5->x + 1);\n          pDVar23 = (DDSVector4 *)(uint)bVar1;\n          pDVar6 = pDVar5;\n          pfVar13 = pfVar26;\n          do {\n            bVar2 = *(byte *)&pDVar6->x;\n            pDVar20 = (DDSVector4 *)(uint)bVar2;\n            *pfVar13 = fVar46;\n            *(byte *)&pDVar6->x = bVar1;\n            pfVar13[-1] = fVar51;\n            *(byte *)((int)&pDVar6->x + 1) = bVar2;\n            if (pDVar25 == pDVar6) break;\n            fVar46 = pfVar13[-2];\n            pDVar6 = (DDSVector4 *)((int)&pDVar6[-1].w + 3);\n            pfVar13 = pfVar13 + -1;\n          } while (fVar51 < fVar46);\n        }" { (expression_statement "bVar1 = *(byte *)((int)&pDVar5->x + 1);" (assignment_expression "bVar1 = *(byte *)((int)&pDVar5->x + 1)" identifier = (pointer_expression "*(byte *)((int)&pDVar5->x + 1)" * (cast_expression "(byte *)((int)&pDVar5->x + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pDVar5->x + 1)" ( (binary_expression "(int)&pDVar5->x + 1" (cast_expression "(int)&pDVar5->x" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pDVar5->x" & (field_expression "pDVar5->x" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "pDVar23 = (DDSVector4 *)(uint)bVar1;" (assignment_expression "pDVar23 = (DDSVector4 *)(uint)bVar1" identifier = (cast_expression "(DDSVector4 *)(uint)bVar1" ( (type_descriptor "DDSVector4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pDVar6 = pDVar5;" (assignment_expression "pDVar6 = pDVar5" identifier = identifier) ;) (expression_statement "pfVar13 = pfVar26;" (assignment_expression "pfVar13 = pfVar26" identifier = identifier) ;) (do_statement "do {\n            bVar2 = *(byte *)&pDVar6->x;\n            pDVar20 = (DDSVector4 *)(uint)bVar2;\n            *pfVar13 = fVar46;\n            *(byte *)&pDVar6->x = bVar1;\n            pfVar13[-1] = fVar51;\n            *(byte *)((int)&pDVar6->x + 1) = bVar2;\n            if (pDVar25 == pDVar6) break;\n            fVar46 = pfVar13[-2];\n            pDVar6 = (DDSVector4 *)((int)&pDVar6[-1].w + 3);\n            pfVar13 = pfVar13 + -1;\n          } while (fVar51 < fVar46);" do (compound_statement "{\n            bVar2 = *(byte *)&pDVar6->x;\n            pDVar20 = (DDSVector4 *)(uint)bVar2;\n            *pfVar13 = fVar46;\n            *(byte *)&pDVar6->x = bVar1;\n            pfVar13[-1] = fVar51;\n            *(byte *)((int)&pDVar6->x + 1) = bVar2;\n            if (pDVar25 == pDVar6) break;\n            fVar46 = pfVar13[-2];\n            pDVar6 = (DDSVector4 *)((int)&pDVar6[-1].w + 3);\n            pfVar13 = pfVar13 + -1;\n          }" { (expression_statement "bVar2 = *(byte *)&pDVar6->x;" (assignment_expression "bVar2 = *(byte *)&pDVar6->x" identifier = (pointer_expression "*(byte *)&pDVar6->x" * (cast_expression "(byte *)&pDVar6->x" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pDVar6->x" & (field_expression "pDVar6->x" identifier -> field_identifier))))) ;) (expression_statement "pDVar20 = (DDSVector4 *)(uint)bVar2;" (assignment_expression "pDVar20 = (DDSVector4 *)(uint)bVar2" identifier = (cast_expression "(DDSVector4 *)(uint)bVar2" ( (type_descriptor "DDSVector4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "*pfVar13 = fVar46;" (assignment_expression "*pfVar13 = fVar46" (pointer_expression "*pfVar13" * identifier) = identifier) ;) (expression_statement "*(byte *)&pDVar6->x = bVar1;" (assignment_expression "*(byte *)&pDVar6->x = bVar1" (pointer_expression "*(byte *)&pDVar6->x" * (cast_expression "(byte *)&pDVar6->x" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pDVar6->x" & (field_expression "pDVar6->x" identifier -> field_identifier)))) = identifier) ;) (expression_statement "pfVar13[-1] = fVar51;" (assignment_expression "pfVar13[-1] = fVar51" (subscript_expression "pfVar13[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(byte *)((int)&pDVar6->x + 1) = bVar2;" (assignment_expression "*(byte *)((int)&pDVar6->x + 1) = bVar2" (pointer_expression "*(byte *)((int)&pDVar6->x + 1)" * (cast_expression "(byte *)((int)&pDVar6->x + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pDVar6->x + 1)" ( (binary_expression "(int)&pDVar6->x + 1" (cast_expression "(int)&pDVar6->x" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pDVar6->x" & (field_expression "pDVar6->x" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (if_statement "if (pDVar25 == pDVar6) break;" if (parenthesized_expression "(pDVar25 == pDVar6)" ( (binary_expression "pDVar25 == pDVar6" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "fVar46 = pfVar13[-2];" (assignment_expression "fVar46 = pfVar13[-2]" identifier = (subscript_expression "pfVar13[-2]" identifier [ number_literal ])) ;) (expression_statement "pDVar6 = (DDSVector4 *)((int)&pDVar6[-1].w + 3);" (assignment_expression "pDVar6 = (DDSVector4 *)((int)&pDVar6[-1].w + 3)" identifier = (cast_expression "(DDSVector4 *)((int)&pDVar6[-1].w + 3)" ( (type_descriptor "DDSVector4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pDVar6[-1].w + 3)" ( (binary_expression "(int)&pDVar6[-1].w + 3" (cast_expression "(int)&pDVar6[-1].w" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pDVar6[-1].w" & (field_expression "pDVar6[-1].w" (subscript_expression "pDVar6[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pfVar13 = pfVar13 + -1;" (assignment_expression "pfVar13 = pfVar13 + -1" identifier = (binary_expression "pfVar13 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(fVar51 < fVar46)" ( (binary_expression "fVar51 < fVar46" identifier < identifier) )) ;) })) })) (expression_statement "pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);" (assignment_expression "pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1)" identifier = (cast_expression "(DDSVector4 *)((int)&pDVar5->x + 1)" ( (type_descriptor "DDSVector4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pDVar5->x + 1)" ( (binary_expression "(int)&pDVar5->x + 1" (cast_expression "(int)&pDVar5->x" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pDVar5->x" & (field_expression "pDVar5->x" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pfVar26 = pfVar26 + 1;" (assignment_expression "pfVar26 = pfVar26 + 1" identifier = (binary_expression "pfVar26 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((DDSVector4 *)((int)pDVar25 + (count - 1)) != pDVar5)" ( (binary_expression "(DDSVector4 *)((int)pDVar25 + (count - 1)) != pDVar5" (cast_expression "(DDSVector4 *)((int)pDVar25 + (count - 1))" ( (type_descriptor "DDSVector4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pDVar25 + (count - 1))" ( (binary_expression "(int)pDVar25 + (count - 1)" (cast_expression "(int)pDVar25" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(count - 1)" ( (binary_expression "count - 1" identifier - number_literal) ))) ))) != identifier) )) ;) (expression_statement "pointsWeights = pDVar20;" (assignment_expression "pointsWeights = pDVar20" identifier = identifier) ;) (expression_statement "xSumwSum = pDVar23;" (assignment_expression "xSumwSum = pDVar23" identifier = identifier) ;) (if_statement "if ((int)iteration < 1) {\n      *(undefined4 *)axis.z = 0;\n      *(undefined4 *)((int)axis.z + 4) = 0;\n      *(undefined4 *)((int)axis.z + 8) = 0;\n      *(undefined4 *)((int)axis.z + 0xc) = 0;\nLAB_00212818:\n      iVar29 = 0;\n      do {\n        pfVar13 = &pDVar25->x;\n        iVar29 = iVar29 + 1;\n        pDVar25 = (DDSVector4 *)((int)&pDVar25->x + 1);\n        pointsWeights = (DDSVector4 *)(uint)(iVar29 < (int)count);\n        pDVar5 = points + *(byte *)pfVar13;\n        fVar46 = pDVar5->w;\n        fVar55 = pDVar5->x;\n        fVar54 = pDVar5->y;\n        fVar51 = pDVar5->z;\n        *(float *)((int)axis.y + 0xc) = fVar46;\n        fVar55 = fVar46 * fVar55;\n        fVar54 = fVar46 * fVar54;\n        fVar51 = fVar46 * fVar51;\n        *(float *)axis.y = fVar55;\n        *(float *)((int)axis.y + 4) = fVar54;\n        *(float *)((int)axis.y + 8) = fVar51;\n        *(float *)((int)axis.z + 4) = fVar54 + *(float *)((int)axis.z + 4);\n        *(float *)((int)axis.z + 8) = fVar51 + *(float *)((int)axis.z + 8);\n        *(float *)((int)axis.z + 0xc) = fVar46 + *(float *)((int)axis.z + 0xc);\n        *(float *)axis.z = *(float *)axis.z + fVar55;\n        xSumwSum = pDVar23;\n        axis.y = (float)((int)axis.y + 0x10);\n      } while (pointsWeights != (DDSVector4 *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar27 = order + 1;\n      iVar29 = 0;\n      pDVar23 = xSumwSum;\n      do {\n        MVar7 = MagickFalse;\n        xSumwSum = pDVar23;\n        if (count == 0) goto LAB_002127dc;\n        pbVar14 = pbVar27;\n        pDVar5 = pDVar25;\n        if (pbVar27[-1] == *(byte *)&pDVar25->x) {\n          do {\n            pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);\n            if ((DDSVector4 *)((int)&pDVar25->x + count) == pDVar5) {\n              MVar7 = MagickFalse;\n              xSumwSum = pDVar23;\n              goto LAB_002127dc;\n            }\n            pDVar23 = (DDSVector4 *)(uint)*(byte *)&pDVar5->x;\n            pointsWeights = (DDSVector4 *)(uint)*pbVar14;\n            pbVar14 = pbVar14 + 1;\n          } while (pDVar23 == pointsWeights);\n        }\n        iVar29 = iVar29 + 1;\n        pbVar27 = pbVar27 + 0x10;\n      } while (iVar29 < (int)iteration);\n      *(undefined4 *)axis.z = 0;\n      *(undefined4 *)((int)axis.z + 4) = 0;\n      *(undefined4 *)((int)axis.z + 8) = 0;\n      *(undefined4 *)((int)axis.z + 0xc) = 0;\n      xSumwSum = pDVar23;\n      if (0 < (int)count) goto LAB_00212818;\n    }" if (parenthesized_expression "((int)iteration < 1)" ( (binary_expression "(int)iteration < 1" (cast_expression "(int)iteration" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      *(undefined4 *)axis.z = 0;\n      *(undefined4 *)((int)axis.z + 4) = 0;\n      *(undefined4 *)((int)axis.z + 8) = 0;\n      *(undefined4 *)((int)axis.z + 0xc) = 0;\nLAB_00212818:\n      iVar29 = 0;\n      do {\n        pfVar13 = &pDVar25->x;\n        iVar29 = iVar29 + 1;\n        pDVar25 = (DDSVector4 *)((int)&pDVar25->x + 1);\n        pointsWeights = (DDSVector4 *)(uint)(iVar29 < (int)count);\n        pDVar5 = points + *(byte *)pfVar13;\n        fVar46 = pDVar5->w;\n        fVar55 = pDVar5->x;\n        fVar54 = pDVar5->y;\n        fVar51 = pDVar5->z;\n        *(float *)((int)axis.y + 0xc) = fVar46;\n        fVar55 = fVar46 * fVar55;\n        fVar54 = fVar46 * fVar54;\n        fVar51 = fVar46 * fVar51;\n        *(float *)axis.y = fVar55;\n        *(float *)((int)axis.y + 4) = fVar54;\n        *(float *)((int)axis.y + 8) = fVar51;\n        *(float *)((int)axis.z + 4) = fVar54 + *(float *)((int)axis.z + 4);\n        *(float *)((int)axis.z + 8) = fVar51 + *(float *)((int)axis.z + 8);\n        *(float *)((int)axis.z + 0xc) = fVar46 + *(float *)((int)axis.z + 0xc);\n        *(float *)axis.z = *(float *)axis.z + fVar55;\n        xSumwSum = pDVar23;\n        axis.y = (float)((int)axis.y + 0x10);\n      } while (pointsWeights != (DDSVector4 *)0x0);\n    }" { (expression_statement "*(undefined4 *)axis.z = 0;" (assignment_expression "*(undefined4 *)axis.z = 0" (pointer_expression "*(undefined4 *)axis.z" * (cast_expression "(undefined4 *)axis.z" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "axis.z" identifier . field_identifier))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)axis.z + 4) = 0;" (assignment_expression "*(undefined4 *)((int)axis.z + 4) = 0" (pointer_expression "*(undefined4 *)((int)axis.z + 4)" * (cast_expression "(undefined4 *)((int)axis.z + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)axis.z + 4)" ( (binary_expression "(int)axis.z + 4" (cast_expression "(int)axis.z" ( (type_descriptor "int" primitive_type) ) (field_expression "axis.z" identifier . field_identifier)) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)axis.z + 8) = 0;" (assignment_expression "*(undefined4 *)((int)axis.z + 8) = 0" (pointer_expression "*(undefined4 *)((int)axis.z + 8)" * (cast_expression "(undefined4 *)((int)axis.z + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)axis.z + 8)" ( (binary_expression "(int)axis.z + 8" (cast_expression "(int)axis.z" ( (type_descriptor "int" primitive_type) ) (field_expression "axis.z" identifier . field_identifier)) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)axis.z + 0xc) = 0;" (assignment_expression "*(undefined4 *)((int)axis.z + 0xc) = 0" (pointer_expression "*(undefined4 *)((int)axis.z + 0xc)" * (cast_expression "(undefined4 *)((int)axis.z + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)axis.z + 0xc)" ( (binary_expression "(int)axis.z + 0xc" (cast_expression "(int)axis.z" ( (type_descriptor "int" primitive_type) ) (field_expression "axis.z" identifier . field_identifier)) + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_00212818:\n      iVar29 = 0;" statement_identifier : (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;)) (do_statement "do {\n        pfVar13 = &pDVar25->x;\n        iVar29 = iVar29 + 1;\n        pDVar25 = (DDSVector4 *)((int)&pDVar25->x + 1);\n        pointsWeights = (DDSVector4 *)(uint)(iVar29 < (int)count);\n        pDVar5 = points + *(byte *)pfVar13;\n        fVar46 = pDVar5->w;\n        fVar55 = pDVar5->x;\n        fVar54 = pDVar5->y;\n        fVar51 = pDVar5->z;\n        *(float *)((int)axis.y + 0xc) = fVar46;\n        fVar55 = fVar46 * fVar55;\n        fVar54 = fVar46 * fVar54;\n        fVar51 = fVar46 * fVar51;\n        *(float *)axis.y = fVar55;\n        *(float *)((int)axis.y + 4) = fVar54;\n        *(float *)((int)axis.y + 8) = fVar51;\n        *(float *)((int)axis.z + 4) = fVar54 + *(float *)((int)axis.z + 4);\n        *(float *)((int)axis.z + 8) = fVar51 + *(float *)((int)axis.z + 8);\n        *(float *)((int)axis.z + 0xc) = fVar46 + *(float *)((int)axis.z + 0xc);\n        *(float *)axis.z = *(float *)axis.z + fVar55;\n        xSumwSum = pDVar23;\n        axis.y = (float)((int)axis.y + 0x10);\n      } while (pointsWeights != (DDSVector4 *)0x0);" do (compound_statement "{\n        pfVar13 = &pDVar25->x;\n        iVar29 = iVar29 + 1;\n        pDVar25 = (DDSVector4 *)((int)&pDVar25->x + 1);\n        pointsWeights = (DDSVector4 *)(uint)(iVar29 < (int)count);\n        pDVar5 = points + *(byte *)pfVar13;\n        fVar46 = pDVar5->w;\n        fVar55 = pDVar5->x;\n        fVar54 = pDVar5->y;\n        fVar51 = pDVar5->z;\n        *(float *)((int)axis.y + 0xc) = fVar46;\n        fVar55 = fVar46 * fVar55;\n        fVar54 = fVar46 * fVar54;\n        fVar51 = fVar46 * fVar51;\n        *(float *)axis.y = fVar55;\n        *(float *)((int)axis.y + 4) = fVar54;\n        *(float *)((int)axis.y + 8) = fVar51;\n        *(float *)((int)axis.z + 4) = fVar54 + *(float *)((int)axis.z + 4);\n        *(float *)((int)axis.z + 8) = fVar51 + *(float *)((int)axis.z + 8);\n        *(float *)((int)axis.z + 0xc) = fVar46 + *(float *)((int)axis.z + 0xc);\n        *(float *)axis.z = *(float *)axis.z + fVar55;\n        xSumwSum = pDVar23;\n        axis.y = (float)((int)axis.y + 0x10);\n      }" { (expression_statement "pfVar13 = &pDVar25->x;" (assignment_expression "pfVar13 = &pDVar25->x" identifier = (pointer_expression "&pDVar25->x" & (field_expression "pDVar25->x" identifier -> field_identifier))) ;) (expression_statement "iVar29 = iVar29 + 1;" (assignment_expression "iVar29 = iVar29 + 1" identifier = (binary_expression "iVar29 + 1" identifier + number_literal)) ;) (expression_statement "pDVar25 = (DDSVector4 *)((int)&pDVar25->x + 1);" (assignment_expression "pDVar25 = (DDSVector4 *)((int)&pDVar25->x + 1)" identifier = (cast_expression "(DDSVector4 *)((int)&pDVar25->x + 1)" ( (type_descriptor "DDSVector4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pDVar25->x + 1)" ( (binary_expression "(int)&pDVar25->x + 1" (cast_expression "(int)&pDVar25->x" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pDVar25->x" & (field_expression "pDVar25->x" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pointsWeights = (DDSVector4 *)(uint)(iVar29 < (int)count);" (assignment_expression "pointsWeights = (DDSVector4 *)(uint)(iVar29 < (int)count)" identifier = (cast_expression "(DDSVector4 *)(uint)(iVar29 < (int)count)" ( (type_descriptor "DDSVector4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(iVar29 < (int)count)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar29 < (int)count)" ( (binary_expression "iVar29 < (int)count" identifier < (cast_expression "(int)count" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "pDVar5 = points + *(byte *)pfVar13;" (assignment_expression "pDVar5 = points + *(byte *)pfVar13" identifier = (binary_expression "points + *(byte *)pfVar13" identifier + (pointer_expression "*(byte *)pfVar13" * (cast_expression "(byte *)pfVar13" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "fVar46 = pDVar5->w;" (assignment_expression "fVar46 = pDVar5->w" identifier = (field_expression "pDVar5->w" identifier -> field_identifier)) ;) (expression_statement "fVar55 = pDVar5->x;" (assignment_expression "fVar55 = pDVar5->x" identifier = (field_expression "pDVar5->x" identifier -> field_identifier)) ;) (expression_statement "fVar54 = pDVar5->y;" (assignment_expression "fVar54 = pDVar5->y" identifier = (field_expression "pDVar5->y" identifier -> field_identifier)) ;) (expression_statement "fVar51 = pDVar5->z;" (assignment_expression "fVar51 = pDVar5->z" identifier = (field_expression "pDVar5->z" identifier -> field_identifier)) ;) (expression_statement "*(float *)((int)axis.y + 0xc) = fVar46;" (assignment_expression "*(float *)((int)axis.y + 0xc) = fVar46" (pointer_expression "*(float *)((int)axis.y + 0xc)" * (cast_expression "(float *)((int)axis.y + 0xc)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)axis.y + 0xc)" ( (binary_expression "(int)axis.y + 0xc" (cast_expression "(int)axis.y" ( (type_descriptor "int" primitive_type) ) (field_expression "axis.y" identifier . field_identifier)) + number_literal) )))) = identifier) ;) (expression_statement "fVar55 = fVar46 * fVar55;" (assignment_expression "fVar55 = fVar46 * fVar55" identifier = (binary_expression "fVar46 * fVar55" identifier * identifier)) ;) (expression_statement "fVar54 = fVar46 * fVar54;" (assignment_expression "fVar54 = fVar46 * fVar54" identifier = (binary_expression "fVar46 * fVar54" identifier * identifier)) ;) (expression_statement "fVar51 = fVar46 * fVar51;" (assignment_expression "fVar51 = fVar46 * fVar51" identifier = (binary_expression "fVar46 * fVar51" identifier * identifier)) ;) (expression_statement "*(float *)axis.y = fVar55;" (assignment_expression "*(float *)axis.y = fVar55" (pointer_expression "*(float *)axis.y" * (cast_expression "(float *)axis.y" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "axis.y" identifier . field_identifier))) = identifier) ;) (expression_statement "*(float *)((int)axis.y + 4) = fVar54;" (assignment_expression "*(float *)((int)axis.y + 4) = fVar54" (pointer_expression "*(float *)((int)axis.y + 4)" * (cast_expression "(float *)((int)axis.y + 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)axis.y + 4)" ( (binary_expression "(int)axis.y + 4" (cast_expression "(int)axis.y" ( (type_descriptor "int" primitive_type) ) (field_expression "axis.y" identifier . field_identifier)) + number_literal) )))) = identifier) ;) (expression_statement "*(float *)((int)axis.y + 8) = fVar51;" (assignment_expression "*(float *)((int)axis.y + 8) = fVar51" (pointer_expression "*(float *)((int)axis.y + 8)" * (cast_expression "(float *)((int)axis.y + 8)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)axis.y + 8)" ( (binary_expression "(int)axis.y + 8" (cast_expression "(int)axis.y" ( (type_descriptor "int" primitive_type) ) (field_expression "axis.y" identifier . field_identifier)) + number_literal) )))) = identifier) ;) (expression_statement "*(float *)((int)axis.z + 4) = fVar54 + *(float *)((int)axis.z + 4);" (assignment_expression "*(float *)((int)axis.z + 4) = fVar54 + *(float *)((int)axis.z + 4)" (pointer_expression "*(float *)((int)axis.z + 4)" * (cast_expression "(float *)((int)axis.z + 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)axis.z + 4)" ( (binary_expression "(int)axis.z + 4" (cast_expression "(int)axis.z" ( (type_descriptor "int" primitive_type) ) (field_expression "axis.z" identifier . field_identifier)) + number_literal) )))) = (binary_expression "fVar54 + *(float *)((int)axis.z + 4)" identifier + (pointer_expression "*(float *)((int)axis.z + 4)" * (cast_expression "(float *)((int)axis.z + 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)axis.z + 4)" ( (binary_expression "(int)axis.z + 4" (cast_expression "(int)axis.z" ( (type_descriptor "int" primitive_type) ) (field_expression "axis.z" identifier . field_identifier)) + number_literal) )))))) ;) (expression_statement "*(float *)((int)axis.z + 8) = fVar51 + *(float *)((int)axis.z + 8);" (assignment_expression "*(float *)((int)axis.z + 8) = fVar51 + *(float *)((int)axis.z + 8)" (pointer_expression "*(float *)((int)axis.z + 8)" * (cast_expression "(float *)((int)axis.z + 8)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)axis.z + 8)" ( (binary_expression "(int)axis.z + 8" (cast_expression "(int)axis.z" ( (type_descriptor "int" primitive_type) ) (field_expression "axis.z" identifier . field_identifier)) + number_literal) )))) = (binary_expression "fVar51 + *(float *)((int)axis.z + 8)" identifier + (pointer_expression "*(float *)((int)axis.z + 8)" * (cast_expression "(float *)((int)axis.z + 8)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)axis.z + 8)" ( (binary_expression "(int)axis.z + 8" (cast_expression "(int)axis.z" ( (type_descriptor "int" primitive_type) ) (field_expression "axis.z" identifier . field_identifier)) + number_literal) )))))) ;) (expression_statement "*(float *)((int)axis.z + 0xc) = fVar46 + *(float *)((int)axis.z + 0xc);" (assignment_expression "*(float *)((int)axis.z + 0xc) = fVar46 + *(float *)((int)axis.z + 0xc)" (pointer_expression "*(float *)((int)axis.z + 0xc)" * (cast_expression "(float *)((int)axis.z + 0xc)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)axis.z + 0xc)" ( (binary_expression "(int)axis.z + 0xc" (cast_expression "(int)axis.z" ( (type_descriptor "int" primitive_type) ) (field_expression "axis.z" identifier . field_identifier)) + number_literal) )))) = (binary_expression "fVar46 + *(float *)((int)axis.z + 0xc)" identifier + (pointer_expression "*(float *)((int)axis.z + 0xc)" * (cast_expression "(float *)((int)axis.z + 0xc)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)axis.z + 0xc)" ( (binary_expression "(int)axis.z + 0xc" (cast_expression "(int)axis.z" ( (type_descriptor "int" primitive_type) ) (field_expression "axis.z" identifier . field_identifier)) + number_literal) )))))) ;) (expression_statement "*(float *)axis.z = *(float *)axis.z + fVar55;" (assignment_expression "*(float *)axis.z = *(float *)axis.z + fVar55" (pointer_expression "*(float *)axis.z" * (cast_expression "(float *)axis.z" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "axis.z" identifier . field_identifier))) = (binary_expression "*(float *)axis.z + fVar55" (pointer_expression "*(float *)axis.z" * (cast_expression "(float *)axis.z" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "axis.z" identifier . field_identifier))) + identifier)) ;) (expression_statement "xSumwSum = pDVar23;" (assignment_expression "xSumwSum = pDVar23" identifier = identifier) ;) (expression_statement "axis.y = (float)((int)axis.y + 0x10);" (assignment_expression "axis.y = (float)((int)axis.y + 0x10)" (field_expression "axis.y" identifier . field_identifier) = (cast_expression "(float)((int)axis.y + 0x10)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((int)axis.y + 0x10)" ( (binary_expression "(int)axis.y + 0x10" (cast_expression "(int)axis.y" ( (type_descriptor "int" primitive_type) ) (field_expression "axis.y" identifier . field_identifier)) + number_literal) )))) ;) }) while (parenthesized_expression "(pointsWeights != (DDSVector4 *)0x0)" ( (binary_expression "pointsWeights != (DDSVector4 *)0x0" identifier != (cast_expression "(DDSVector4 *)0x0" ( (type_descriptor "DDSVector4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }) (else_clause "else {\nLAB_00212794:\n      pbVar27 = order + 1;\n      iVar29 = 0;\n      pDVar23 = xSumwSum;\n      do {\n        MVar7 = MagickFalse;\n        xSumwSum = pDVar23;\n        if (count == 0) goto LAB_002127dc;\n        pbVar14 = pbVar27;\n        pDVar5 = pDVar25;\n        if (pbVar27[-1] == *(byte *)&pDVar25->x) {\n          do {\n            pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);\n            if ((DDSVector4 *)((int)&pDVar25->x + count) == pDVar5) {\n              MVar7 = MagickFalse;\n              xSumwSum = pDVar23;\n              goto LAB_002127dc;\n            }\n            pDVar23 = (DDSVector4 *)(uint)*(byte *)&pDVar5->x;\n            pointsWeights = (DDSVector4 *)(uint)*pbVar14;\n            pbVar14 = pbVar14 + 1;\n          } while (pDVar23 == pointsWeights);\n        }\n        iVar29 = iVar29 + 1;\n        pbVar27 = pbVar27 + 0x10;\n      } while (iVar29 < (int)iteration);\n      *(undefined4 *)axis.z = 0;\n      *(undefined4 *)((int)axis.z + 4) = 0;\n      *(undefined4 *)((int)axis.z + 8) = 0;\n      *(undefined4 *)((int)axis.z + 0xc) = 0;\n      xSumwSum = pDVar23;\n      if (0 < (int)count) goto LAB_00212818;\n    }" else (compound_statement "{\nLAB_00212794:\n      pbVar27 = order + 1;\n      iVar29 = 0;\n      pDVar23 = xSumwSum;\n      do {\n        MVar7 = MagickFalse;\n        xSumwSum = pDVar23;\n        if (count == 0) goto LAB_002127dc;\n        pbVar14 = pbVar27;\n        pDVar5 = pDVar25;\n        if (pbVar27[-1] == *(byte *)&pDVar25->x) {\n          do {\n            pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);\n            if ((DDSVector4 *)((int)&pDVar25->x + count) == pDVar5) {\n              MVar7 = MagickFalse;\n              xSumwSum = pDVar23;\n              goto LAB_002127dc;\n            }\n            pDVar23 = (DDSVector4 *)(uint)*(byte *)&pDVar5->x;\n            pointsWeights = (DDSVector4 *)(uint)*pbVar14;\n            pbVar14 = pbVar14 + 1;\n          } while (pDVar23 == pointsWeights);\n        }\n        iVar29 = iVar29 + 1;\n        pbVar27 = pbVar27 + 0x10;\n      } while (iVar29 < (int)iteration);\n      *(undefined4 *)axis.z = 0;\n      *(undefined4 *)((int)axis.z + 4) = 0;\n      *(undefined4 *)((int)axis.z + 8) = 0;\n      *(undefined4 *)((int)axis.z + 0xc) = 0;\n      xSumwSum = pDVar23;\n      if (0 < (int)count) goto LAB_00212818;\n    }" { (labeled_statement "LAB_00212794:\n      pbVar27 = order + 1;" statement_identifier : (expression_statement "pbVar27 = order + 1;" (assignment_expression "pbVar27 = order + 1" identifier = (binary_expression "order + 1" identifier + number_literal)) ;)) (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;) (expression_statement "pDVar23 = xSumwSum;" (assignment_expression "pDVar23 = xSumwSum" identifier = identifier) ;) (do_statement "do {\n        MVar7 = MagickFalse;\n        xSumwSum = pDVar23;\n        if (count == 0) goto LAB_002127dc;\n        pbVar14 = pbVar27;\n        pDVar5 = pDVar25;\n        if (pbVar27[-1] == *(byte *)&pDVar25->x) {\n          do {\n            pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);\n            if ((DDSVector4 *)((int)&pDVar25->x + count) == pDVar5) {\n              MVar7 = MagickFalse;\n              xSumwSum = pDVar23;\n              goto LAB_002127dc;\n            }\n            pDVar23 = (DDSVector4 *)(uint)*(byte *)&pDVar5->x;\n            pointsWeights = (DDSVector4 *)(uint)*pbVar14;\n            pbVar14 = pbVar14 + 1;\n          } while (pDVar23 == pointsWeights);\n        }\n        iVar29 = iVar29 + 1;\n        pbVar27 = pbVar27 + 0x10;\n      } while (iVar29 < (int)iteration);" do (compound_statement "{\n        MVar7 = MagickFalse;\n        xSumwSum = pDVar23;\n        if (count == 0) goto LAB_002127dc;\n        pbVar14 = pbVar27;\n        pDVar5 = pDVar25;\n        if (pbVar27[-1] == *(byte *)&pDVar25->x) {\n          do {\n            pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);\n            if ((DDSVector4 *)((int)&pDVar25->x + count) == pDVar5) {\n              MVar7 = MagickFalse;\n              xSumwSum = pDVar23;\n              goto LAB_002127dc;\n            }\n            pDVar23 = (DDSVector4 *)(uint)*(byte *)&pDVar5->x;\n            pointsWeights = (DDSVector4 *)(uint)*pbVar14;\n            pbVar14 = pbVar14 + 1;\n          } while (pDVar23 == pointsWeights);\n        }\n        iVar29 = iVar29 + 1;\n        pbVar27 = pbVar27 + 0x10;\n      }" { (expression_statement "MVar7 = MagickFalse;" (assignment_expression "MVar7 = MagickFalse" identifier = identifier) ;) (expression_statement "xSumwSum = pDVar23;" (assignment_expression "xSumwSum = pDVar23" identifier = identifier) ;) (if_statement "if (count == 0) goto LAB_002127dc;" if (parenthesized_expression "(count == 0)" ( (binary_expression "count == 0" identifier == number_literal) )) (goto_statement "goto LAB_002127dc;" goto statement_identifier ;)) (expression_statement "pbVar14 = pbVar27;" (assignment_expression "pbVar14 = pbVar27" identifier = identifier) ;) (expression_statement "pDVar5 = pDVar25;" (assignment_expression "pDVar5 = pDVar25" identifier = identifier) ;) (if_statement "if (pbVar27[-1] == *(byte *)&pDVar25->x) {\n          do {\n            pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);\n            if ((DDSVector4 *)((int)&pDVar25->x + count) == pDVar5) {\n              MVar7 = MagickFalse;\n              xSumwSum = pDVar23;\n              goto LAB_002127dc;\n            }\n            pDVar23 = (DDSVector4 *)(uint)*(byte *)&pDVar5->x;\n            pointsWeights = (DDSVector4 *)(uint)*pbVar14;\n            pbVar14 = pbVar14 + 1;\n          } while (pDVar23 == pointsWeights);\n        }" if (parenthesized_expression "(pbVar27[-1] == *(byte *)&pDVar25->x)" ( (binary_expression "pbVar27[-1] == *(byte *)&pDVar25->x" (subscript_expression "pbVar27[-1]" identifier [ number_literal ]) == (pointer_expression "*(byte *)&pDVar25->x" * (cast_expression "(byte *)&pDVar25->x" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pDVar25->x" & (field_expression "pDVar25->x" identifier -> field_identifier))))) )) (compound_statement "{\n          do {\n            pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);\n            if ((DDSVector4 *)((int)&pDVar25->x + count) == pDVar5) {\n              MVar7 = MagickFalse;\n              xSumwSum = pDVar23;\n              goto LAB_002127dc;\n            }\n            pDVar23 = (DDSVector4 *)(uint)*(byte *)&pDVar5->x;\n            pointsWeights = (DDSVector4 *)(uint)*pbVar14;\n            pbVar14 = pbVar14 + 1;\n          } while (pDVar23 == pointsWeights);\n        }" { (do_statement "do {\n            pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);\n            if ((DDSVector4 *)((int)&pDVar25->x + count) == pDVar5) {\n              MVar7 = MagickFalse;\n              xSumwSum = pDVar23;\n              goto LAB_002127dc;\n            }\n            pDVar23 = (DDSVector4 *)(uint)*(byte *)&pDVar5->x;\n            pointsWeights = (DDSVector4 *)(uint)*pbVar14;\n            pbVar14 = pbVar14 + 1;\n          } while (pDVar23 == pointsWeights);" do (compound_statement "{\n            pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);\n            if ((DDSVector4 *)((int)&pDVar25->x + count) == pDVar5) {\n              MVar7 = MagickFalse;\n              xSumwSum = pDVar23;\n              goto LAB_002127dc;\n            }\n            pDVar23 = (DDSVector4 *)(uint)*(byte *)&pDVar5->x;\n            pointsWeights = (DDSVector4 *)(uint)*pbVar14;\n            pbVar14 = pbVar14 + 1;\n          }" { (expression_statement "pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1);" (assignment_expression "pDVar5 = (DDSVector4 *)((int)&pDVar5->x + 1)" identifier = (cast_expression "(DDSVector4 *)((int)&pDVar5->x + 1)" ( (type_descriptor "DDSVector4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pDVar5->x + 1)" ( (binary_expression "(int)&pDVar5->x + 1" (cast_expression "(int)&pDVar5->x" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pDVar5->x" & (field_expression "pDVar5->x" identifier -> field_identifier))) + number_literal) )))) ;) (if_statement "if ((DDSVector4 *)((int)&pDVar25->x + count) == pDVar5) {\n              MVar7 = MagickFalse;\n              xSumwSum = pDVar23;\n              goto LAB_002127dc;\n            }" if (parenthesized_expression "((DDSVector4 *)((int)&pDVar25->x + count) == pDVar5)" ( (binary_expression "(DDSVector4 *)((int)&pDVar25->x + count) == pDVar5" (cast_expression "(DDSVector4 *)((int)&pDVar25->x + count)" ( (type_descriptor "DDSVector4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pDVar25->x + count)" ( (binary_expression "(int)&pDVar25->x + count" (cast_expression "(int)&pDVar25->x" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pDVar25->x" & (field_expression "pDVar25->x" identifier -> field_identifier))) + identifier) ))) == identifier) )) (compound_statement "{\n              MVar7 = MagickFalse;\n              xSumwSum = pDVar23;\n              goto LAB_002127dc;\n            }" { (expression_statement "MVar7 = MagickFalse;" (assignment_expression "MVar7 = MagickFalse" identifier = identifier) ;) (expression_statement "xSumwSum = pDVar23;" (assignment_expression "xSumwSum = pDVar23" identifier = identifier) ;) (goto_statement "goto LAB_002127dc;" goto statement_identifier ;) })) (expression_statement "pDVar23 = (DDSVector4 *)(uint)*(byte *)&pDVar5->x;" (assignment_expression "pDVar23 = (DDSVector4 *)(uint)*(byte *)&pDVar5->x" identifier = (binary_expression "(DDSVector4 *)(uint)*(byte *)&pDVar5->x" (cast_expression "(DDSVector4 *)(uint)" ( (type_descriptor "DDSVector4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)&pDVar5->x" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pDVar5->x" & (field_expression "pDVar5->x" identifier -> field_identifier))))) ;) (expression_statement "pointsWeights = (DDSVector4 *)(uint)*pbVar14;" (assignment_expression "pointsWeights = (DDSVector4 *)(uint)*pbVar14" identifier = (binary_expression "(DDSVector4 *)(uint)*pbVar14" (cast_expression "(DDSVector4 *)(uint)" ( (type_descriptor "DDSVector4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier)) ;) (expression_statement "pbVar14 = pbVar14 + 1;" (assignment_expression "pbVar14 = pbVar14 + 1" identifier = (binary_expression "pbVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pDVar23 == pointsWeights)" ( (binary_expression "pDVar23 == pointsWeights" identifier == identifier) )) ;) })) (expression_statement "iVar29 = iVar29 + 1;" (assignment_expression "iVar29 = iVar29 + 1" identifier = (binary_expression "iVar29 + 1" identifier + number_literal)) ;) (expression_statement "pbVar27 = pbVar27 + 0x10;" (assignment_expression "pbVar27 = pbVar27 + 0x10" identifier = (binary_expression "pbVar27 + 0x10" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar29 < (int)iteration)" ( (binary_expression "iVar29 < (int)iteration" identifier < (cast_expression "(int)iteration" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "*(undefined4 *)axis.z = 0;" (assignment_expression "*(undefined4 *)axis.z = 0" (pointer_expression "*(undefined4 *)axis.z" * (cast_expression "(undefined4 *)axis.z" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "axis.z" identifier . field_identifier))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)axis.z + 4) = 0;" (assignment_expression "*(undefined4 *)((int)axis.z + 4) = 0" (pointer_expression "*(undefined4 *)((int)axis.z + 4)" * (cast_expression "(undefined4 *)((int)axis.z + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)axis.z + 4)" ( (binary_expression "(int)axis.z + 4" (cast_expression "(int)axis.z" ( (type_descriptor "int" primitive_type) ) (field_expression "axis.z" identifier . field_identifier)) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)axis.z + 8) = 0;" (assignment_expression "*(undefined4 *)((int)axis.z + 8) = 0" (pointer_expression "*(undefined4 *)((int)axis.z + 8)" * (cast_expression "(undefined4 *)((int)axis.z + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)axis.z + 8)" ( (binary_expression "(int)axis.z + 8" (cast_expression "(int)axis.z" ( (type_descriptor "int" primitive_type) ) (field_expression "axis.z" identifier . field_identifier)) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)axis.z + 0xc) = 0;" (assignment_expression "*(undefined4 *)((int)axis.z + 0xc) = 0" (pointer_expression "*(undefined4 *)((int)axis.z + 0xc)" * (cast_expression "(undefined4 *)((int)axis.z + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)axis.z + 0xc)" ( (binary_expression "(int)axis.z + 0xc" (cast_expression "(int)axis.z" ( (type_descriptor "int" primitive_type) ) (field_expression "axis.z" identifier . field_identifier)) + number_literal) )))) = number_literal) ;) (expression_statement "xSumwSum = pDVar23;" (assignment_expression "xSumwSum = pDVar23" identifier = identifier) ;) (if_statement "if (0 < (int)count) goto LAB_00212818;" if (parenthesized_expression "(0 < (int)count)" ( (binary_expression "0 < (int)count" number_literal < (cast_expression "(int)count" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00212818;" goto statement_identifier ;)) }))) (expression_statement "MVar7 = MagickTrue;" (assignment_expression "MVar7 = MagickTrue" identifier = identifier) ;) }))) (labeled_statement "LAB_002127dc:\n  if (pDVar4 == *(DDSColors **)puVar41) {\n    return MVar7;\n  }" statement_identifier : (if_statement "if (pDVar4 == *(DDSColors **)puVar41) {\n    return MVar7;\n  }" if (parenthesized_expression "(pDVar4 == *(DDSColors **)puVar41)" ( (binary_expression "pDVar4 == *(DDSColors **)puVar41" identifier == (pointer_expression "*(DDSColors **)puVar41" * (cast_expression "(DDSColors **)puVar41" ( (type_descriptor "DDSColors **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return MVar7;\n  }" { (return_statement "return MVar7;" return identifier ;) }))) (expression_statement "puVar41 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar41 = PTR___stack_chk_fail_003a9064" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "fVar46 = *(float *)(*(int *)(puVar41 + 0x196010) + -0xe34);" (assignment_expression "fVar46 = *(float *)(*(int *)(puVar41 + 0x196010) + -0xe34)" identifier = (pointer_expression "*(float *)(*(int *)(puVar41 + 0x196010) + -0xe34)" * (cast_expression "(float *)(*(int *)(puVar41 + 0x196010) + -0xe34)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar41 + 0x196010) + -0xe34)" ( (binary_expression "*(int *)(puVar41 + 0x196010) + -0xe34" (pointer_expression "*(int *)(puVar41 + 0x196010)" * (cast_expression "(int *)(puVar41 + 0x196010)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar41 + 0x196010)" ( (binary_expression "puVar41 + 0x196010" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "fVar51 = *(float *)(*(int *)(puVar41 + 0x196074) + -0x1e70);" (assignment_expression "fVar51 = *(float *)(*(int *)(puVar41 + 0x196074) + -0x1e70)" identifier = (pointer_expression "*(float *)(*(int *)(puVar41 + 0x196074) + -0x1e70)" * (cast_expression "(float *)(*(int *)(puVar41 + 0x196074) + -0x1e70)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar41 + 0x196074) + -0x1e70)" ( (binary_expression "*(int *)(puVar41 + 0x196074) + -0x1e70" (pointer_expression "*(int *)(puVar41 + 0x196074)" * (cast_expression "(int *)(puVar41 + 0x196074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar41 + 0x196074)" ( (binary_expression "puVar41 + 0x196074" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "pDVar33 = *(DDSColors **)(puVar41 + 0x196954);" (assignment_expression "pDVar33 = *(DDSColors **)(puVar41 + 0x196954)" identifier = (pointer_expression "*(DDSColors **)(puVar41 + 0x196954)" * (cast_expression "(DDSColors **)(puVar41 + 0x196954)" ( (type_descriptor "DDSColors **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar41 + 0x196954)" ( (binary_expression "puVar41 + 0x196954" identifier + number_literal) ))))) ;) (expression_statement "aMStack_8c[0] = *(MagickBooleanType *)pDVar33->r;" (assignment_expression "aMStack_8c[0] = *(MagickBooleanType *)pDVar33->r" (subscript_expression "aMStack_8c[0]" identifier [ number_literal ]) = (pointer_expression "*(MagickBooleanType *)pDVar33->r" * (cast_expression "(MagickBooleanType *)pDVar33->r" ( (type_descriptor "MagickBooleanType *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar33->r" identifier -> field_identifier)))) ;) (expression_statement "uVar52 = (uint)((float)points * fVar51 + fVar46);" (assignment_expression "uVar52 = (uint)((float)points * fVar51 + fVar46)" identifier = (call_expression "(uint)((float)points * fVar51 + fVar46)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((float)points * fVar51 + fVar46)" ( (binary_expression "(float)points * fVar51 + fVar46" (binary_expression "(float)points * fVar51" (cast_expression "(float)points" ( (type_descriptor "float" primitive_type) ) identifier) * identifier) + identifier) )))) ;) (expression_statement "uVar53 = (uint)((float)pointsWeights * *(float *)(*(int *)(puVar41 + 0x196074) + -0x1e6c) + fVar46\n                 );" (assignment_expression "uVar53 = (uint)((float)pointsWeights * *(float *)(*(int *)(puVar41 + 0x196074) + -0x1e6c) + fVar46\n                 )" identifier = (call_expression "(uint)((float)pointsWeights * *(float *)(*(int *)(puVar41 + 0x196074) + -0x1e6c) + fVar46\n                 )" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((float)pointsWeights * *(float *)(*(int *)(puVar41 + 0x196074) + -0x1e6c) + fVar46\n                 )" ( (binary_expression "(float)pointsWeights * *(float *)(*(int *)(puVar41 + 0x196074) + -0x1e6c) + fVar46" (binary_expression "(float)pointsWeights * *(float *)(*(int *)(puVar41 + 0x196074) + -0x1e6c)" (cast_expression "(float)pointsWeights" ( (type_descriptor "float" primitive_type) ) identifier) * (pointer_expression "*(float *)(*(int *)(puVar41 + 0x196074) + -0x1e6c)" * (cast_expression "(float *)(*(int *)(puVar41 + 0x196074) + -0x1e6c)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar41 + 0x196074) + -0x1e6c)" ( (binary_expression "*(int *)(puVar41 + 0x196074) + -0x1e6c" (pointer_expression "*(int *)(puVar41 + 0x196074)" * (cast_expression "(int *)(puVar41 + 0x196074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar41 + 0x196074)" ( (binary_expression "puVar41 + 0x196074" identifier + number_literal) )))) + number_literal) ))))) + identifier) )))) ;) (if_statement "if (0x1f < uVar52) {\n    uVar52 = 0x1f;\n  }" if (parenthesized_expression "(0x1f < uVar52)" ( (binary_expression "0x1f < uVar52" number_literal < identifier) )) (compound_statement "{\n    uVar52 = 0x1f;\n  }" { (expression_statement "uVar52 = 0x1f;" (assignment_expression "uVar52 = 0x1f" identifier = number_literal) ;) })) (expression_statement "uVar47 = (uint)(fVar51 * 5.421411e-39 + fVar46);" (assignment_expression "uVar47 = (uint)(fVar51 * 5.421411e-39 + fVar46)" identifier = (call_expression "(uint)(fVar51 * 5.421411e-39 + fVar46)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(fVar51 * 5.421411e-39 + fVar46)" ( (binary_expression "fVar51 * 5.421411e-39 + fVar46" (binary_expression "fVar51 * 5.421411e-39" identifier * number_literal) + identifier) )))) ;) (if_statement "if (0x3f < uVar53) {\n    uVar53 = 0x3f;\n  }" if (parenthesized_expression "(0x3f < uVar53)" ( (binary_expression "0x3f < uVar53" number_literal < identifier) )) (compound_statement "{\n    uVar53 = 0x3f;\n  }" { (expression_statement "uVar53 = 0x3f;" (assignment_expression "uVar53 = 0x3f" identifier = number_literal) ;) })) (expression_statement "uVar48 = (uint)(local_54 * *(float *)(*(int *)(puVar41 + 0x196074) + -0x1e6c) + fVar46);" (assignment_expression "uVar48 = (uint)(local_54 * *(float *)(*(int *)(puVar41 + 0x196074) + -0x1e6c) + fVar46)" identifier = (call_expression "(uint)(local_54 * *(float *)(*(int *)(puVar41 + 0x196074) + -0x1e6c) + fVar46)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_54 * *(float *)(*(int *)(puVar41 + 0x196074) + -0x1e6c) + fVar46)" ( (binary_expression "local_54 * *(float *)(*(int *)(puVar41 + 0x196074) + -0x1e6c) + fVar46" (binary_expression "local_54 * *(float *)(*(int *)(puVar41 + 0x196074) + -0x1e6c)" identifier * (pointer_expression "*(float *)(*(int *)(puVar41 + 0x196074) + -0x1e6c)" * (cast_expression "(float *)(*(int *)(puVar41 + 0x196074) + -0x1e6c)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar41 + 0x196074) + -0x1e6c)" ( (binary_expression "*(int *)(puVar41 + 0x196074) + -0x1e6c" (pointer_expression "*(int *)(puVar41 + 0x196074)" * (cast_expression "(int *)(puVar41 + 0x196074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar41 + 0x196074)" ( (binary_expression "puVar41 + 0x196074" identifier + number_literal) )))) + number_literal) ))))) + identifier) )))) ;) (if_statement "if (0x1f < uVar47) {\n    uVar47 = 0x1f;\n  }" if (parenthesized_expression "(0x1f < uVar47)" ( (binary_expression "0x1f < uVar47" number_literal < identifier) )) (compound_statement "{\n    uVar47 = 0x1f;\n  }" { (expression_statement "uVar47 = 0x1f;" (assignment_expression "uVar47 = 0x1f" identifier = number_literal) ;) })) (expression_statement "uVar49 = (uint)((float)xSumwSum * fVar51 + fVar46);" (assignment_expression "uVar49 = (uint)((float)xSumwSum * fVar51 + fVar46)" identifier = (call_expression "(uint)((float)xSumwSum * fVar51 + fVar46)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((float)xSumwSum * fVar51 + fVar46)" ( (binary_expression "(float)xSumwSum * fVar51 + fVar46" (binary_expression "(float)xSumwSum * fVar51" (cast_expression "(float)xSumwSum" ( (type_descriptor "float" primitive_type) ) identifier) * identifier) + identifier) )))) ;) (if_statement "if (0x3f < uVar48) {\n    uVar48 = 0x3f;\n  }" if (parenthesized_expression "(0x3f < uVar48)" ( (binary_expression "0x3f < uVar48" number_literal < identifier) )) (compound_statement "{\n    uVar48 = 0x3f;\n  }" { (expression_statement "uVar48 = 0x3f;" (assignment_expression "uVar48 = 0x3f" identifier = number_literal) ;) })) (expression_statement "uVar50 = (uint)(local_50 * fVar51 + fVar46);" (assignment_expression "uVar50 = (uint)(local_50 * fVar51 + fVar46)" identifier = (call_expression "(uint)(local_50 * fVar51 + fVar46)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_50 * fVar51 + fVar46)" ( (binary_expression "local_50 * fVar51 + fVar46" (binary_expression "local_50 * fVar51" identifier * identifier) + identifier) )))) ;) (if_statement "if (0x1f < uVar49) {\n    uVar49 = 0x1f;\n  }" if (parenthesized_expression "(0x1f < uVar49)" ( (binary_expression "0x1f < uVar49" number_literal < identifier) )) (compound_statement "{\n    uVar49 = 0x1f;\n  }" { (expression_statement "uVar49 = 0x1f;" (assignment_expression "uVar49 = 0x1f" identifier = number_literal) ;) })) (expression_statement "puVar38 = (uint *)(uVar52 << 0xb | uVar53 << 5 | uVar49);" (assignment_expression "puVar38 = (uint *)(uVar52 << 0xb | uVar53 << 5 | uVar49)" identifier = (cast_expression "(uint *)(uVar52 << 0xb | uVar53 << 5 | uVar49)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar52 << 0xb | uVar53 << 5 | uVar49)" ( (binary_expression "uVar52 << 0xb | uVar53 << 5 | uVar49" (binary_expression "uVar52 << 0xb | uVar53 << 5" (binary_expression "uVar52 << 0xb" identifier << number_literal) | (binary_expression "uVar53 << 5" identifier << number_literal)) | identifier) )))) ;) (if_statement "if (0x1f < uVar50) {\n    uVar50 = 0x1f;\n  }" if (parenthesized_expression "(0x1f < uVar50)" ( (binary_expression "0x1f < uVar50" number_literal < identifier) )) (compound_statement "{\n    uVar50 = 0x1f;\n  }" { (expression_statement "uVar50 = 0x1f;" (assignment_expression "uVar50 = 0x1f" identifier = number_literal) ;) })) (expression_statement "puVar36 = (uint *)(uVar47 << 0xb | uVar48 << 5 | uVar50);" (assignment_expression "puVar36 = (uint *)(uVar47 << 0xb | uVar48 << 5 | uVar50)" identifier = (cast_expression "(uint *)(uVar47 << 0xb | uVar48 << 5 | uVar50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar47 << 0xb | uVar48 << 5 | uVar50)" ( (binary_expression "uVar47 << 0xb | uVar48 << 5 | uVar50" (binary_expression "uVar47 << 0xb | uVar48 << 5" (binary_expression "uVar47 << 0xb" identifier << number_literal) | (binary_expression "uVar48 << 5" identifier << number_literal)) | identifier) )))) ;) (expression_statement "pMVar31 = &uStack_9c;" (assignment_expression "pMVar31 = &uStack_9c" identifier = (pointer_expression "&uStack_9c" & identifier)) ;) (do_statement "do {\n    if (puVar38 < puVar36) {\n      *(undefined1 *)pMVar31 = (*(undefined1 *)dps[0] ^ MagickTrue) & 3;\n    }\n    else {\n      while (puVar36 != puVar38) {\n        uVar3 = *(undefined1 *)dps[0];\n        pMVar32 = (MagickBooleanType *)((int)pMVar31 + 1);\n        dps[0] = (float)((int)dps[0] + 1);\n        *(undefined1 *)pMVar31 = uVar3;\n        pMVar31 = pMVar32;\n        if (aMStack_8c == pMVar32) goto LAB_00212a50;\n      }\n      *(undefined1 *)pMVar31 = MagickFalse;\n    }\n    pMVar32 = (MagickBooleanType *)((int)pMVar31 + 1);\n    dps[0] = (float)((int)dps[0] + 1);\n    pMVar31 = pMVar32;\n  } while (aMStack_8c != pMVar32);" do (compound_statement "{\n    if (puVar38 < puVar36) {\n      *(undefined1 *)pMVar31 = (*(undefined1 *)dps[0] ^ MagickTrue) & 3;\n    }\n    else {\n      while (puVar36 != puVar38) {\n        uVar3 = *(undefined1 *)dps[0];\n        pMVar32 = (MagickBooleanType *)((int)pMVar31 + 1);\n        dps[0] = (float)((int)dps[0] + 1);\n        *(undefined1 *)pMVar31 = uVar3;\n        pMVar31 = pMVar32;\n        if (aMStack_8c == pMVar32) goto LAB_00212a50;\n      }\n      *(undefined1 *)pMVar31 = MagickFalse;\n    }\n    pMVar32 = (MagickBooleanType *)((int)pMVar31 + 1);\n    dps[0] = (float)((int)dps[0] + 1);\n    pMVar31 = pMVar32;\n  }" { (if_statement "if (puVar38 < puVar36) {\n      *(undefined1 *)pMVar31 = (*(undefined1 *)dps[0] ^ MagickTrue) & 3;\n    }\n    else {\n      while (puVar36 != puVar38) {\n        uVar3 = *(undefined1 *)dps[0];\n        pMVar32 = (MagickBooleanType *)((int)pMVar31 + 1);\n        dps[0] = (float)((int)dps[0] + 1);\n        *(undefined1 *)pMVar31 = uVar3;\n        pMVar31 = pMVar32;\n        if (aMStack_8c == pMVar32) goto LAB_00212a50;\n      }\n      *(undefined1 *)pMVar31 = MagickFalse;\n    }" if (parenthesized_expression "(puVar38 < puVar36)" ( (binary_expression "puVar38 < puVar36" identifier < identifier) )) (compound_statement "{\n      *(undefined1 *)pMVar31 = (*(undefined1 *)dps[0] ^ MagickTrue) & 3;\n    }" { (expression_statement "*(undefined1 *)pMVar31 = (*(undefined1 *)dps[0] ^ MagickTrue) & 3;" (assignment_expression "*(undefined1 *)pMVar31 = (*(undefined1 *)dps[0] ^ MagickTrue) & 3" (pointer_expression "*(undefined1 *)pMVar31" * (cast_expression "(undefined1 *)pMVar31" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(*(undefined1 *)dps[0] ^ MagickTrue) & 3" (parenthesized_expression "(*(undefined1 *)dps[0] ^ MagickTrue)" ( (binary_expression "*(undefined1 *)dps[0] ^ MagickTrue" (pointer_expression "*(undefined1 *)dps[0]" * (cast_expression "(undefined1 *)dps[0]" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "dps[0]" identifier [ number_literal ]))) ^ identifier) )) & number_literal)) ;) }) (else_clause "else {\n      while (puVar36 != puVar38) {\n        uVar3 = *(undefined1 *)dps[0];\n        pMVar32 = (MagickBooleanType *)((int)pMVar31 + 1);\n        dps[0] = (float)((int)dps[0] + 1);\n        *(undefined1 *)pMVar31 = uVar3;\n        pMVar31 = pMVar32;\n        if (aMStack_8c == pMVar32) goto LAB_00212a50;\n      }\n      *(undefined1 *)pMVar31 = MagickFalse;\n    }" else (compound_statement "{\n      while (puVar36 != puVar38) {\n        uVar3 = *(undefined1 *)dps[0];\n        pMVar32 = (MagickBooleanType *)((int)pMVar31 + 1);\n        dps[0] = (float)((int)dps[0] + 1);\n        *(undefined1 *)pMVar31 = uVar3;\n        pMVar31 = pMVar32;\n        if (aMStack_8c == pMVar32) goto LAB_00212a50;\n      }\n      *(undefined1 *)pMVar31 = MagickFalse;\n    }" { (while_statement "while (puVar36 != puVar38) {\n        uVar3 = *(undefined1 *)dps[0];\n        pMVar32 = (MagickBooleanType *)((int)pMVar31 + 1);\n        dps[0] = (float)((int)dps[0] + 1);\n        *(undefined1 *)pMVar31 = uVar3;\n        pMVar31 = pMVar32;\n        if (aMStack_8c == pMVar32) goto LAB_00212a50;\n      }" while (parenthesized_expression "(puVar36 != puVar38)" ( (binary_expression "puVar36 != puVar38" identifier != identifier) )) (compound_statement "{\n        uVar3 = *(undefined1 *)dps[0];\n        pMVar32 = (MagickBooleanType *)((int)pMVar31 + 1);\n        dps[0] = (float)((int)dps[0] + 1);\n        *(undefined1 *)pMVar31 = uVar3;\n        pMVar31 = pMVar32;\n        if (aMStack_8c == pMVar32) goto LAB_00212a50;\n      }" { (expression_statement "uVar3 = *(undefined1 *)dps[0];" (assignment_expression "uVar3 = *(undefined1 *)dps[0]" identifier = (pointer_expression "*(undefined1 *)dps[0]" * (cast_expression "(undefined1 *)dps[0]" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "dps[0]" identifier [ number_literal ])))) ;) (expression_statement "pMVar32 = (MagickBooleanType *)((int)pMVar31 + 1);" (assignment_expression "pMVar32 = (MagickBooleanType *)((int)pMVar31 + 1)" identifier = (cast_expression "(MagickBooleanType *)((int)pMVar31 + 1)" ( (type_descriptor "MagickBooleanType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pMVar31 + 1)" ( (binary_expression "(int)pMVar31 + 1" (cast_expression "(int)pMVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "dps[0] = (float)((int)dps[0] + 1);" (assignment_expression "dps[0] = (float)((int)dps[0] + 1)" (subscript_expression "dps[0]" identifier [ number_literal ]) = (cast_expression "(float)((int)dps[0] + 1)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((int)dps[0] + 1)" ( (binary_expression "(int)dps[0] + 1" (cast_expression "(int)dps[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "dps[0]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "*(undefined1 *)pMVar31 = uVar3;" (assignment_expression "*(undefined1 *)pMVar31 = uVar3" (pointer_expression "*(undefined1 *)pMVar31" * (cast_expression "(undefined1 *)pMVar31" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "pMVar31 = pMVar32;" (assignment_expression "pMVar31 = pMVar32" identifier = identifier) ;) (if_statement "if (aMStack_8c == pMVar32) goto LAB_00212a50;" if (parenthesized_expression "(aMStack_8c == pMVar32)" ( (binary_expression "aMStack_8c == pMVar32" identifier == identifier) )) (goto_statement "goto LAB_00212a50;" goto statement_identifier ;)) })) (expression_statement "*(undefined1 *)pMVar31 = MagickFalse;" (assignment_expression "*(undefined1 *)pMVar31 = MagickFalse" (pointer_expression "*(undefined1 *)pMVar31" * (cast_expression "(undefined1 *)pMVar31" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }))) (expression_statement "pMVar32 = (MagickBooleanType *)((int)pMVar31 + 1);" (assignment_expression "pMVar32 = (MagickBooleanType *)((int)pMVar31 + 1)" identifier = (cast_expression "(MagickBooleanType *)((int)pMVar31 + 1)" ( (type_descriptor "MagickBooleanType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pMVar31 + 1)" ( (binary_expression "(int)pMVar31 + 1" (cast_expression "(int)pMVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "dps[0] = (float)((int)dps[0] + 1);" (assignment_expression "dps[0] = (float)((int)dps[0] + 1)" (subscript_expression "dps[0]" identifier [ number_literal ]) = (cast_expression "(float)((int)dps[0] + 1)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((int)dps[0] + 1)" ( (binary_expression "(int)dps[0] + 1" (cast_expression "(int)dps[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "dps[0]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "pMVar31 = pMVar32;" (assignment_expression "pMVar31 = pMVar32" identifier = identifier) ;) }) while (parenthesized_expression "(aMStack_8c != pMVar32)" ( (binary_expression "aMStack_8c != pMVar32" identifier != identifier) )) ;) (labeled_statement "LAB_00212a50:\n  puVar37 = puVar36;" statement_identifier : (expression_statement "puVar37 = puVar36;" (assignment_expression "puVar37 = puVar36" identifier = identifier) ;)) (if_statement "if (puVar38 < puVar36) {\n    puVar37 = puVar38;\n    puVar38 = puVar36;\n  }" if (parenthesized_expression "(puVar38 < puVar36)" ( (binary_expression "puVar38 < puVar36" identifier < identifier) )) (compound_statement "{\n    puVar37 = puVar38;\n    puVar38 = puVar36;\n  }" { (expression_statement "puVar37 = puVar38;" (assignment_expression "puVar37 = puVar38" identifier = identifier) ;) (expression_statement "puVar38 = puVar36;" (assignment_expression "puVar38 = puVar36" identifier = identifier) ;) })) (expression_statement "(**(code **)(puVar41 + 0x196700))(pDVar4,(uint)puVar38 & 0xff);" (call_expression "(**(code **)(puVar41 + 0x196700))(pDVar4,(uint)puVar38 & 0xff)" (parenthesized_expression "(**(code **)(puVar41 + 0x196700))" ( (pointer_expression "**(code **)(puVar41 + 0x196700)" * (pointer_expression "*(code **)(puVar41 + 0x196700)" * (cast_expression "(code **)(puVar41 + 0x196700)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar41 + 0x196700)" ( (binary_expression "puVar41 + 0x196700" identifier + number_literal) ))))) )) (argument_list "(pDVar4,(uint)puVar38 & 0xff)" ( identifier , (binary_expression "(uint)puVar38 & 0xff" (cast_expression "(uint)puVar38" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) ;) (expression_statement "(**(code **)(puVar41 + 0x196700))(pDVar4,(uint)((int)puVar38 << 0x10) >> 0x18);" (call_expression "(**(code **)(puVar41 + 0x196700))(pDVar4,(uint)((int)puVar38 << 0x10) >> 0x18)" (parenthesized_expression "(**(code **)(puVar41 + 0x196700))" ( (pointer_expression "**(code **)(puVar41 + 0x196700)" * (pointer_expression "*(code **)(puVar41 + 0x196700)" * (cast_expression "(code **)(puVar41 + 0x196700)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar41 + 0x196700)" ( (binary_expression "puVar41 + 0x196700" identifier + number_literal) ))))) )) (argument_list "(pDVar4,(uint)((int)puVar38 << 0x10) >> 0x18)" ( identifier , (binary_expression "(uint)((int)puVar38 << 0x10) >> 0x18" (call_expression "(uint)((int)puVar38 << 0x10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar38 << 0x10)" ( (binary_expression "(int)puVar38 << 0x10" (cast_expression "(int)puVar38" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) ))) >> number_literal) ))) ;) (expression_statement "(**(code **)(puVar41 + 0x196700))(pDVar4,(uint)puVar37 & 0xff);" (call_expression "(**(code **)(puVar41 + 0x196700))(pDVar4,(uint)puVar37 & 0xff)" (parenthesized_expression "(**(code **)(puVar41 + 0x196700))" ( (pointer_expression "**(code **)(puVar41 + 0x196700)" * (pointer_expression "*(code **)(puVar41 + 0x196700)" * (cast_expression "(code **)(puVar41 + 0x196700)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar41 + 0x196700)" ( (binary_expression "puVar41 + 0x196700" identifier + number_literal) ))))) )) (argument_list "(pDVar4,(uint)puVar37 & 0xff)" ( identifier , (binary_expression "(uint)puVar37 & 0xff" (cast_expression "(uint)puVar37" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) ;) (expression_statement "(**(code **)(puVar41 + 0x196700))(pDVar4,(uint)((int)puVar37 << 0x10) >> 0x18);" (call_expression "(**(code **)(puVar41 + 0x196700))(pDVar4,(uint)((int)puVar37 << 0x10) >> 0x18)" (parenthesized_expression "(**(code **)(puVar41 + 0x196700))" ( (pointer_expression "**(code **)(puVar41 + 0x196700)" * (pointer_expression "*(code **)(puVar41 + 0x196700)" * (cast_expression "(code **)(puVar41 + 0x196700)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar41 + 0x196700)" ( (binary_expression "puVar41 + 0x196700" identifier + number_literal) ))))) )) (argument_list "(pDVar4,(uint)((int)puVar37 << 0x10) >> 0x18)" ( identifier , (binary_expression "(uint)((int)puVar37 << 0x10) >> 0x18" (call_expression "(uint)((int)puVar37 << 0x10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar37 << 0x10)" ( (binary_expression "(int)puVar37 << 0x10" (cast_expression "(int)puVar37" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) ))) >> number_literal) ))) ;) (expression_statement "pMVar31 = &uStack_9c;" (assignment_expression "pMVar31 = &uStack_9c" identifier = (pointer_expression "&uStack_9c" & identifier)) ;) (do_statement "do {\n    pMVar34 = pMVar31 + 1;\n    pDVar19 = (DDSColors *)\n              (((uint)*(byte *)((int)pMVar31 + 1) << 2 | (uint)*(byte *)((int)pMVar31 + 2) << 4 |\n                (uint)(byte)*(undefined1 *)pMVar31 | (uint)(byte)*pMVar31 << 6) & 0xff);\n    pDVar39 = pDVar4;\n    (**(code **)(puVar41 + 0x196700))();\n    pMVar31 = pMVar34;\n  } while (pMVar32 != pMVar34);" do (compound_statement "{\n    pMVar34 = pMVar31 + 1;\n    pDVar19 = (DDSColors *)\n              (((uint)*(byte *)((int)pMVar31 + 1) << 2 | (uint)*(byte *)((int)pMVar31 + 2) << 4 |\n                (uint)(byte)*(undefined1 *)pMVar31 | (uint)(byte)*pMVar31 << 6) & 0xff);\n    pDVar39 = pDVar4;\n    (**(code **)(puVar41 + 0x196700))();\n    pMVar31 = pMVar34;\n  }" { (expression_statement "pMVar34 = pMVar31 + 1;" (assignment_expression "pMVar34 = pMVar31 + 1" identifier = (binary_expression "pMVar31 + 1" identifier + number_literal)) ;) (expression_statement "pDVar19 = (DDSColors *)\n              (((uint)*(byte *)((int)pMVar31 + 1) << 2 | (uint)*(byte *)((int)pMVar31 + 2) << 4 |\n                (uint)(byte)*(undefined1 *)pMVar31 | (uint)(byte)*pMVar31 << 6) & 0xff);" (assignment_expression "pDVar19 = (DDSColors *)\n              (((uint)*(byte *)((int)pMVar31 + 1) << 2 | (uint)*(byte *)((int)pMVar31 + 2) << 4 |\n                (uint)(byte)*(undefined1 *)pMVar31 | (uint)(byte)*pMVar31 << 6) & 0xff)" identifier = (cast_expression "(DDSColors *)\n              (((uint)*(byte *)((int)pMVar31 + 1) << 2 | (uint)*(byte *)((int)pMVar31 + 2) << 4 |\n                (uint)(byte)*(undefined1 *)pMVar31 | (uint)(byte)*pMVar31 << 6) & 0xff)" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)*(byte *)((int)pMVar31 + 1) << 2 | (uint)*(byte *)((int)pMVar31 + 2) << 4 |\n                (uint)(byte)*(undefined1 *)pMVar31 | (uint)(byte)*pMVar31 << 6) & 0xff)" ( (binary_expression "((uint)*(byte *)((int)pMVar31 + 1) << 2 | (uint)*(byte *)((int)pMVar31 + 2) << 4 |\n                (uint)(byte)*(undefined1 *)pMVar31 | (uint)(byte)*pMVar31 << 6) & 0xff" (parenthesized_expression "((uint)*(byte *)((int)pMVar31 + 1) << 2 | (uint)*(byte *)((int)pMVar31 + 2) << 4 |\n                (uint)(byte)*(undefined1 *)pMVar31 | (uint)(byte)*pMVar31 << 6)" ( (binary_expression "(uint)*(byte *)((int)pMVar31 + 1) << 2 | (uint)*(byte *)((int)pMVar31 + 2) << 4 |\n                (uint)(byte)*(undefined1 *)pMVar31 | (uint)(byte)*pMVar31 << 6" (binary_expression "(uint)*(byte *)((int)pMVar31 + 1) << 2 | (uint)*(byte *)((int)pMVar31 + 2) << 4 |\n                (uint)(byte)*(undefined1 *)pMVar31" (binary_expression "(uint)*(byte *)((int)pMVar31 + 1) << 2 | (uint)*(byte *)((int)pMVar31 + 2) << 4" (binary_expression "(uint)*(byte *)((int)pMVar31 + 1) << 2" (binary_expression "(uint)*(byte *)((int)pMVar31 + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pMVar31 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pMVar31 + 1)" ( (binary_expression "(int)pMVar31 + 1" (cast_expression "(int)pMVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal) | (binary_expression "(uint)*(byte *)((int)pMVar31 + 2) << 4" (binary_expression "(uint)*(byte *)((int)pMVar31 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pMVar31 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pMVar31 + 2)" ( (binary_expression "(int)pMVar31 + 2" (cast_expression "(int)pMVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal)) | (binary_expression "(uint)(byte)*(undefined1 *)pMVar31" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * (cast_expression "(undefined1 *)pMVar31" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) | (binary_expression "(uint)(byte)*pMVar31 << 6" (binary_expression "(uint)(byte)*pMVar31" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier) << number_literal)) )) & number_literal) )))) ;) (expression_statement "pDVar39 = pDVar4;" (assignment_expression "pDVar39 = pDVar4" identifier = identifier) ;) (expression_statement "(**(code **)(puVar41 + 0x196700))();" (call_expression "(**(code **)(puVar41 + 0x196700))()" (parenthesized_expression "(**(code **)(puVar41 + 0x196700))" ( (pointer_expression "**(code **)(puVar41 + 0x196700)" * (pointer_expression "*(code **)(puVar41 + 0x196700)" * (cast_expression "(code **)(puVar41 + 0x196700)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar41 + 0x196700)" ( (binary_expression "puVar41 + 0x196700" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pMVar31 = pMVar34;" (assignment_expression "pMVar31 = pMVar34" identifier = identifier) ;) }) while (parenthesized_expression "(pMVar32 != pMVar34)" ( (binary_expression "pMVar32 != pMVar34" identifier != identifier) )) ;) (if_statement "if (aMStack_8c[0] == *(MagickBooleanType *)pDVar33->r) {\n    return *(MagickBooleanType *)pDVar33->r;\n  }" if (parenthesized_expression "(aMStack_8c[0] == *(MagickBooleanType *)pDVar33->r)" ( (binary_expression "aMStack_8c[0] == *(MagickBooleanType *)pDVar33->r" (subscript_expression "aMStack_8c[0]" identifier [ number_literal ]) == (pointer_expression "*(MagickBooleanType *)pDVar33->r" * (cast_expression "(MagickBooleanType *)pDVar33->r" ( (type_descriptor "MagickBooleanType *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar33->r" identifier -> field_identifier)))) )) (compound_statement "{\n    return *(MagickBooleanType *)pDVar33->r;\n  }" { (return_statement "return *(MagickBooleanType *)pDVar33->r;" return (pointer_expression "*(MagickBooleanType *)pDVar33->r" * (cast_expression "(MagickBooleanType *)pDVar33->r" ( (type_descriptor "MagickBooleanType *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar33->r" identifier -> field_identifier))) ;) })) (expression_statement "pcVar42 = *(code **)(puVar41 + 0x196788);" (assignment_expression "pcVar42 = *(code **)(puVar41 + 0x196788)" identifier = (pointer_expression "*(code **)(puVar41 + 0x196788)" * (cast_expression "(code **)(puVar41 + 0x196788)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar41 + 0x196788)" ( (binary_expression "puVar41 + 0x196788" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar42)();" (call_expression "(*pcVar42)()" (parenthesized_expression "(*pcVar42)" ( (pointer_expression "*pcVar42" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar44 = pcVar42 + 0x19dd78;" (assignment_expression "pcVar44 = pcVar42 + 0x19dd78" identifier = (binary_expression "pcVar42 + 0x19dd78" identifier + number_literal)) ;) (expression_statement "piVar35 = *(int **)(pcVar42 + 0x1966f8);" (assignment_expression "piVar35 = *(int **)(pcVar42 + 0x1966f8)" identifier = (pointer_expression "*(int **)(pcVar42 + 0x1966f8)" * (cast_expression "(int **)(pcVar42 + 0x1966f8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x1966f8)" ( (binary_expression "pcVar42 + 0x1966f8" identifier + number_literal) ))))) ;) (expression_statement "iStack_e4 = *piVar35;" (assignment_expression "iStack_e4 = *piVar35" identifier = (pointer_expression "*piVar35" * identifier)) ;) (expression_statement "pcStack_130 = pcVar44;" (assignment_expression "pcStack_130 = pcVar44" identifier = identifier) ;) (expression_statement "pMStack_e0 = pMVar32;" (assignment_expression "pMStack_e0 = pMVar32" identifier = identifier) ;) (expression_statement "pDStack_dc = pDVar4;" (assignment_expression "pDStack_dc = pDVar4" identifier = identifier) ;) (expression_statement "pDStack_d8 = pDVar33;" (assignment_expression "pDStack_d8 = pDVar33" identifier = identifier) ;) (expression_statement "pMStack_d4 = pMVar34;" (assignment_expression "pMStack_d4 = pMVar34" identifier = identifier) ;) (expression_statement "puStack_d0 = puVar37;" (assignment_expression "puStack_d0 = puVar37" identifier = identifier) ;) (expression_statement "puStack_cc = puVar38;" (assignment_expression "puStack_cc = puVar38" identifier = identifier) ;) (if_statement "if (pDVar39 == (DDSColors *)0x0) {\nLAB_00213360:\n    pDVar39 = pDVar4;\n    (**(code **)(pcVar44 + -0x72a8))\n              (*(int *)(pcVar44 + -0x7fd0) + 0xd78,*(int *)(pcVar44 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar44 + -0x7f60) + -0x2ab4);\n  }\n  else {\n    if (*(int *)pDVar39[0x321].g != -0x54535255) goto LAB_00213390;\n    if (*(int *)pDVar39[0x321].r != 0) {\n      pDStack_13c = pDVar39 + 0x221;\n      pDStack_140 = (DDSColors *)(*(int *)(pcVar42 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar42 + 0x1966a8))\n                (0x8000,*(int *)(pcVar42 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar42 + 0x195e18) + -0x2ac4,0x6ca);\n    }\n    pcVar44 = pcStack_130;\n    pDVar33 = pDVar19;\n    if (pDVar19 == (DDSColors *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar44 + -0x72a8))\n                (*(int *)(pcVar44 + -0x7fd0) + 0x1cac,*(int *)(pcVar44 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar44 + -0x7f60) + -0x2ab4);\n      pDVar4 = pDVar39;\n      goto LAB_00213360;\n    }\n    if (*(int *)pDVar19[1].a != -0x54535255) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }\n    pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_130 + -0x72a4))(pDVar39,pDVar19);\n    iVar29 = (**(code **)(pcStack_130 + -0x7664))(pDVar39,pMVar32,2,pDVar19);\n    if (iVar29 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n      MVar7 = MagickFalse;\n      goto LAB_00212c9c;\n    }\n    pDStack_140 = (DDSColors *)0x0;\n    (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n    iVar29 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n    if ((iVar29 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pMVar32), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar37 = (uint *)0x1;\n      MStack_11c = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      MStack_118 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      pDStack_140 = (DDSColors *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n      iVar29 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      if (iVar29 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      pDStack_140 = (DDSColors *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n      puVar37 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pDStack_140 = (DDSColors *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar24 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 5;\n            pcStack_128 = (code *)(puVar38 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 6;\n            pcStack_128 = (code *)(puVar38 + 0x1635);\n          }\n          else {\n            uVar24 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = MagickFalse;\n            unaff_s7 = 4;\n            pcStack_128 = (code *)(puVar38 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar24 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar21 = *(int *)(pcStack_130 + -0x7f60);\n        iVar29 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar44 = *(code **)(pcStack_130 + -0x7990);\n        pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 4;\n        unaff_s7 = 0x10;\n        pcStack_128 = (code *)(puVar38 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = MagickFalse;\n      unaff_s7 = 0x10;\n      pcStack_128 = (code *)(puVar38 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar37 != (uint *)0x0) {\n        puVar37 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar37 = (uint *)((int)puVar37 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar37 = puStack_110;\nLAB_00213068:\n        if (puVar37 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar24 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar37 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar37 = (uint *)0x1;\nLAB_00212ed8:\n      uVar58 = (**(code **)(pcStack_130 + -0x73f8))(pMVar32);\n      puVar38 = puVar37;\n      if (unaff_s6 == (uint *)((ulonglong)uVar58 >> 0x20)) {\n        pcVar44 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar58 < puVar37) goto LAB_00212efc;\n      }\n      else {\n        pcVar44 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar29 = (*pcVar44)(0xb);\n      if (iVar29 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pDStack_140 = (DDSColors *)0x190;\n        pDStack_134 = pDVar39 + 0x221;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pMVar32 == (MagickBooleanType *)0x0) {\n          MVar7 = MagickFalse;\n          pDVar39 = pDVar39 + 0x221;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar38 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar24 = (**(code **)(pcStack_130 + -0x7748))\n                         (pDVar39,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar29 = (**(code **)(pcStack_130 + -0x7694))(uVar24);\n      uStack_124 = (uint)(iVar29 != 0);\n      while( true ) {\n        iVar29 = *(int *)pDVar39[0x1d].a;\n        pMVar32[0x97] = MagickTrue;\n        *pMVar32 = MagickTrue;\n        pMVar32[0xaf] = unaff_s8;\n        pMVar32[2] = unaff_s7;\n        pMVar32[6] = MStack_118;\n        pMVar32[7] = MStack_11c;\n        pMVar32[8] = 8;\n        if (iVar29 != 0) break;\n        iVar29 = (**(code **)(pcStack_130 + -0x7404))(pMVar32,MStack_118,MStack_11c,pDVar19);\n        if (iVar29 == 0) {\nLAB_00213284:\n          MVar7 = (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pMVar32,pDVar19);\n        pDStack_140 = pDVar19;\n        iVar29 = (*pcStack_128)(pDVar39,pMVar32,puVar38,uStack_124);\n        if (iVar29 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pMVar32);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          MVar7 = (**(code **)(pcStack_130 + -0x7464))(pMVar32);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar37) break;\n        iVar29 = (**(code **)(pcStack_130 + -0x7168))(pMVar32);\n        if (iVar29 != 0) {\n          pDStack_134 = pDVar39 + 0x221;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pDStack_140 = (DDSColors *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar44 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pDVar39,pMVar32,pDVar19);\n        iVar29 = (**(code **)(pcStack_130 + -0x7440))(pMVar32);\n        if (iVar29 == 0) goto LAB_00213284;\n        pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_130 + -0x74a8))(pMVar32);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pMVar32);\n      MVar7 = (**(code **)(pcStack_130 + -0x7464))(pMVar32);\n    }\n    else {\nLAB_00212c24:\n      uVar24 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar21 = *(int *)(pcStack_130 + -0x7f60);\n      iVar29 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar44 = *(code **)(pcStack_130 + -0x7990);\n      pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pDStack_134 = pDVar39 + 0x221;\n      iStack_138 = iStack_138 + 0x3e28;\n      pDStack_140 = (DDSColors *)&DAT_000001a9;\n      (*pcVar44)(pDVar19,iVar29 + -0x2c20,iVar21 + -0x2ac4,uVar24);\n      if (pMVar32 != (MagickBooleanType *)0x0) {\nLAB_00212c74:\n        pcVar44 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar44)(pMVar32);\n        (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n      }\n      MVar7 = MagickFalse;\n      pDVar39 = pDVar39 + 0x221;\n    }\nLAB_00212c9c:\n    pcVar44 = pcStack_130;\n    if (iStack_e4 == *piVar35) {\n      return MVar7;\n    }\n  }" if (parenthesized_expression "(pDVar39 == (DDSColors *)0x0)" ( (binary_expression "pDVar39 == (DDSColors *)0x0" identifier == (cast_expression "(DDSColors *)0x0" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00213360:\n    pDVar39 = pDVar4;\n    (**(code **)(pcVar44 + -0x72a8))\n              (*(int *)(pcVar44 + -0x7fd0) + 0xd78,*(int *)(pcVar44 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar44 + -0x7f60) + -0x2ab4);\n  }" { (labeled_statement "LAB_00213360:\n    pDVar39 = pDVar4;" statement_identifier : (expression_statement "pDVar39 = pDVar4;" (assignment_expression "pDVar39 = pDVar4" identifier = identifier) ;)) (expression_statement "(**(code **)(pcVar44 + -0x72a8))\n              (*(int *)(pcVar44 + -0x7fd0) + 0xd78,*(int *)(pcVar44 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar44 + -0x7f60) + -0x2ab4);" (call_expression "(**(code **)(pcVar44 + -0x72a8))\n              (*(int *)(pcVar44 + -0x7fd0) + 0xd78,*(int *)(pcVar44 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar44 + -0x7f60) + -0x2ab4)" (parenthesized_expression "(**(code **)(pcVar44 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar44 + -0x72a8)" * (pointer_expression "*(code **)(pcVar44 + -0x72a8)" * (cast_expression "(code **)(pcVar44 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + -0x72a8)" ( (binary_expression "pcVar44 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar44 + -0x7fd0) + 0xd78,*(int *)(pcVar44 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar44 + -0x7f60) + -0x2ab4)" ( (binary_expression "*(int *)(pcVar44 + -0x7fd0) + 0xd78" (pointer_expression "*(int *)(pcVar44 + -0x7fd0)" * (cast_expression "(int *)(pcVar44 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + -0x7fd0)" ( (binary_expression "pcVar44 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar44 + -0x7f60) + -0x2c20" (pointer_expression "*(int *)(pcVar44 + -0x7f60)" * (cast_expression "(int *)(pcVar44 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + -0x7f60)" ( (binary_expression "pcVar44 + -0x7f60" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar44 + -0x7f60) + -0x2ab4" (pointer_expression "*(int *)(pcVar44 + -0x7f60)" * (cast_expression "(int *)(pcVar44 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + -0x7f60)" ( (binary_expression "pcVar44 + -0x7f60" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    if (*(int *)pDVar39[0x321].g != -0x54535255) goto LAB_00213390;\n    if (*(int *)pDVar39[0x321].r != 0) {\n      pDStack_13c = pDVar39 + 0x221;\n      pDStack_140 = (DDSColors *)(*(int *)(pcVar42 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar42 + 0x1966a8))\n                (0x8000,*(int *)(pcVar42 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar42 + 0x195e18) + -0x2ac4,0x6ca);\n    }\n    pcVar44 = pcStack_130;\n    pDVar33 = pDVar19;\n    if (pDVar19 == (DDSColors *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar44 + -0x72a8))\n                (*(int *)(pcVar44 + -0x7fd0) + 0x1cac,*(int *)(pcVar44 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar44 + -0x7f60) + -0x2ab4);\n      pDVar4 = pDVar39;\n      goto LAB_00213360;\n    }\n    if (*(int *)pDVar19[1].a != -0x54535255) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }\n    pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_130 + -0x72a4))(pDVar39,pDVar19);\n    iVar29 = (**(code **)(pcStack_130 + -0x7664))(pDVar39,pMVar32,2,pDVar19);\n    if (iVar29 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n      MVar7 = MagickFalse;\n      goto LAB_00212c9c;\n    }\n    pDStack_140 = (DDSColors *)0x0;\n    (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n    iVar29 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n    if ((iVar29 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pMVar32), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar37 = (uint *)0x1;\n      MStack_11c = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      MStack_118 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      pDStack_140 = (DDSColors *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n      iVar29 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      if (iVar29 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      pDStack_140 = (DDSColors *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n      puVar37 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pDStack_140 = (DDSColors *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar24 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 5;\n            pcStack_128 = (code *)(puVar38 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 6;\n            pcStack_128 = (code *)(puVar38 + 0x1635);\n          }\n          else {\n            uVar24 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = MagickFalse;\n            unaff_s7 = 4;\n            pcStack_128 = (code *)(puVar38 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar24 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar21 = *(int *)(pcStack_130 + -0x7f60);\n        iVar29 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar44 = *(code **)(pcStack_130 + -0x7990);\n        pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 4;\n        unaff_s7 = 0x10;\n        pcStack_128 = (code *)(puVar38 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = MagickFalse;\n      unaff_s7 = 0x10;\n      pcStack_128 = (code *)(puVar38 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar37 != (uint *)0x0) {\n        puVar37 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar37 = (uint *)((int)puVar37 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar37 = puStack_110;\nLAB_00213068:\n        if (puVar37 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar24 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar37 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar37 = (uint *)0x1;\nLAB_00212ed8:\n      uVar58 = (**(code **)(pcStack_130 + -0x73f8))(pMVar32);\n      puVar38 = puVar37;\n      if (unaff_s6 == (uint *)((ulonglong)uVar58 >> 0x20)) {\n        pcVar44 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar58 < puVar37) goto LAB_00212efc;\n      }\n      else {\n        pcVar44 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar29 = (*pcVar44)(0xb);\n      if (iVar29 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pDStack_140 = (DDSColors *)0x190;\n        pDStack_134 = pDVar39 + 0x221;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pMVar32 == (MagickBooleanType *)0x0) {\n          MVar7 = MagickFalse;\n          pDVar39 = pDVar39 + 0x221;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar38 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar24 = (**(code **)(pcStack_130 + -0x7748))\n                         (pDVar39,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar29 = (**(code **)(pcStack_130 + -0x7694))(uVar24);\n      uStack_124 = (uint)(iVar29 != 0);\n      while( true ) {\n        iVar29 = *(int *)pDVar39[0x1d].a;\n        pMVar32[0x97] = MagickTrue;\n        *pMVar32 = MagickTrue;\n        pMVar32[0xaf] = unaff_s8;\n        pMVar32[2] = unaff_s7;\n        pMVar32[6] = MStack_118;\n        pMVar32[7] = MStack_11c;\n        pMVar32[8] = 8;\n        if (iVar29 != 0) break;\n        iVar29 = (**(code **)(pcStack_130 + -0x7404))(pMVar32,MStack_118,MStack_11c,pDVar19);\n        if (iVar29 == 0) {\nLAB_00213284:\n          MVar7 = (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pMVar32,pDVar19);\n        pDStack_140 = pDVar19;\n        iVar29 = (*pcStack_128)(pDVar39,pMVar32,puVar38,uStack_124);\n        if (iVar29 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pMVar32);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          MVar7 = (**(code **)(pcStack_130 + -0x7464))(pMVar32);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar37) break;\n        iVar29 = (**(code **)(pcStack_130 + -0x7168))(pMVar32);\n        if (iVar29 != 0) {\n          pDStack_134 = pDVar39 + 0x221;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pDStack_140 = (DDSColors *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar44 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pDVar39,pMVar32,pDVar19);\n        iVar29 = (**(code **)(pcStack_130 + -0x7440))(pMVar32);\n        if (iVar29 == 0) goto LAB_00213284;\n        pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_130 + -0x74a8))(pMVar32);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pMVar32);\n      MVar7 = (**(code **)(pcStack_130 + -0x7464))(pMVar32);\n    }\n    else {\nLAB_00212c24:\n      uVar24 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar21 = *(int *)(pcStack_130 + -0x7f60);\n      iVar29 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar44 = *(code **)(pcStack_130 + -0x7990);\n      pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pDStack_134 = pDVar39 + 0x221;\n      iStack_138 = iStack_138 + 0x3e28;\n      pDStack_140 = (DDSColors *)&DAT_000001a9;\n      (*pcVar44)(pDVar19,iVar29 + -0x2c20,iVar21 + -0x2ac4,uVar24);\n      if (pMVar32 != (MagickBooleanType *)0x0) {\nLAB_00212c74:\n        pcVar44 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar44)(pMVar32);\n        (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n      }\n      MVar7 = MagickFalse;\n      pDVar39 = pDVar39 + 0x221;\n    }\nLAB_00212c9c:\n    pcVar44 = pcStack_130;\n    if (iStack_e4 == *piVar35) {\n      return MVar7;\n    }\n  }" else (compound_statement "{\n    if (*(int *)pDVar39[0x321].g != -0x54535255) goto LAB_00213390;\n    if (*(int *)pDVar39[0x321].r != 0) {\n      pDStack_13c = pDVar39 + 0x221;\n      pDStack_140 = (DDSColors *)(*(int *)(pcVar42 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar42 + 0x1966a8))\n                (0x8000,*(int *)(pcVar42 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar42 + 0x195e18) + -0x2ac4,0x6ca);\n    }\n    pcVar44 = pcStack_130;\n    pDVar33 = pDVar19;\n    if (pDVar19 == (DDSColors *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar44 + -0x72a8))\n                (*(int *)(pcVar44 + -0x7fd0) + 0x1cac,*(int *)(pcVar44 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar44 + -0x7f60) + -0x2ab4);\n      pDVar4 = pDVar39;\n      goto LAB_00213360;\n    }\n    if (*(int *)pDVar19[1].a != -0x54535255) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }\n    pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_130 + -0x72a4))(pDVar39,pDVar19);\n    iVar29 = (**(code **)(pcStack_130 + -0x7664))(pDVar39,pMVar32,2,pDVar19);\n    if (iVar29 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n      MVar7 = MagickFalse;\n      goto LAB_00212c9c;\n    }\n    pDStack_140 = (DDSColors *)0x0;\n    (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n    iVar29 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n    if ((iVar29 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pMVar32), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar37 = (uint *)0x1;\n      MStack_11c = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      MStack_118 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      pDStack_140 = (DDSColors *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n      iVar29 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      if (iVar29 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      pDStack_140 = (DDSColors *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n      puVar37 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pDStack_140 = (DDSColors *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar24 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 5;\n            pcStack_128 = (code *)(puVar38 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 6;\n            pcStack_128 = (code *)(puVar38 + 0x1635);\n          }\n          else {\n            uVar24 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = MagickFalse;\n            unaff_s7 = 4;\n            pcStack_128 = (code *)(puVar38 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar24 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar21 = *(int *)(pcStack_130 + -0x7f60);\n        iVar29 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar44 = *(code **)(pcStack_130 + -0x7990);\n        pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 4;\n        unaff_s7 = 0x10;\n        pcStack_128 = (code *)(puVar38 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = MagickFalse;\n      unaff_s7 = 0x10;\n      pcStack_128 = (code *)(puVar38 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar37 != (uint *)0x0) {\n        puVar37 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar37 = (uint *)((int)puVar37 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar37 = puStack_110;\nLAB_00213068:\n        if (puVar37 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar24 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar37 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar37 = (uint *)0x1;\nLAB_00212ed8:\n      uVar58 = (**(code **)(pcStack_130 + -0x73f8))(pMVar32);\n      puVar38 = puVar37;\n      if (unaff_s6 == (uint *)((ulonglong)uVar58 >> 0x20)) {\n        pcVar44 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar58 < puVar37) goto LAB_00212efc;\n      }\n      else {\n        pcVar44 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar29 = (*pcVar44)(0xb);\n      if (iVar29 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pDStack_140 = (DDSColors *)0x190;\n        pDStack_134 = pDVar39 + 0x221;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pMVar32 == (MagickBooleanType *)0x0) {\n          MVar7 = MagickFalse;\n          pDVar39 = pDVar39 + 0x221;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar38 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar24 = (**(code **)(pcStack_130 + -0x7748))\n                         (pDVar39,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar29 = (**(code **)(pcStack_130 + -0x7694))(uVar24);\n      uStack_124 = (uint)(iVar29 != 0);\n      while( true ) {\n        iVar29 = *(int *)pDVar39[0x1d].a;\n        pMVar32[0x97] = MagickTrue;\n        *pMVar32 = MagickTrue;\n        pMVar32[0xaf] = unaff_s8;\n        pMVar32[2] = unaff_s7;\n        pMVar32[6] = MStack_118;\n        pMVar32[7] = MStack_11c;\n        pMVar32[8] = 8;\n        if (iVar29 != 0) break;\n        iVar29 = (**(code **)(pcStack_130 + -0x7404))(pMVar32,MStack_118,MStack_11c,pDVar19);\n        if (iVar29 == 0) {\nLAB_00213284:\n          MVar7 = (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pMVar32,pDVar19);\n        pDStack_140 = pDVar19;\n        iVar29 = (*pcStack_128)(pDVar39,pMVar32,puVar38,uStack_124);\n        if (iVar29 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pMVar32);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          MVar7 = (**(code **)(pcStack_130 + -0x7464))(pMVar32);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar37) break;\n        iVar29 = (**(code **)(pcStack_130 + -0x7168))(pMVar32);\n        if (iVar29 != 0) {\n          pDStack_134 = pDVar39 + 0x221;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pDStack_140 = (DDSColors *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar44 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pDVar39,pMVar32,pDVar19);\n        iVar29 = (**(code **)(pcStack_130 + -0x7440))(pMVar32);\n        if (iVar29 == 0) goto LAB_00213284;\n        pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_130 + -0x74a8))(pMVar32);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pMVar32);\n      MVar7 = (**(code **)(pcStack_130 + -0x7464))(pMVar32);\n    }\n    else {\nLAB_00212c24:\n      uVar24 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar21 = *(int *)(pcStack_130 + -0x7f60);\n      iVar29 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar44 = *(code **)(pcStack_130 + -0x7990);\n      pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pDStack_134 = pDVar39 + 0x221;\n      iStack_138 = iStack_138 + 0x3e28;\n      pDStack_140 = (DDSColors *)&DAT_000001a9;\n      (*pcVar44)(pDVar19,iVar29 + -0x2c20,iVar21 + -0x2ac4,uVar24);\n      if (pMVar32 != (MagickBooleanType *)0x0) {\nLAB_00212c74:\n        pcVar44 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar44)(pMVar32);\n        (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n      }\n      MVar7 = MagickFalse;\n      pDVar39 = pDVar39 + 0x221;\n    }\nLAB_00212c9c:\n    pcVar44 = pcStack_130;\n    if (iStack_e4 == *piVar35) {\n      return MVar7;\n    }\n  }" { (if_statement "if (*(int *)pDVar39[0x321].g != -0x54535255) goto LAB_00213390;" if (parenthesized_expression "(*(int *)pDVar39[0x321].g != -0x54535255)" ( (binary_expression "*(int *)pDVar39[0x321].g != -0x54535255" (pointer_expression "*(int *)pDVar39[0x321].g" * (cast_expression "(int *)pDVar39[0x321].g" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar39[0x321].g" (subscript_expression "pDVar39[0x321]" identifier [ number_literal ]) . field_identifier))) != number_literal) )) (goto_statement "goto LAB_00213390;" goto statement_identifier ;)) (if_statement "if (*(int *)pDVar39[0x321].r != 0) {\n      pDStack_13c = pDVar39 + 0x221;\n      pDStack_140 = (DDSColors *)(*(int *)(pcVar42 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar42 + 0x1966a8))\n                (0x8000,*(int *)(pcVar42 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar42 + 0x195e18) + -0x2ac4,0x6ca);\n    }" if (parenthesized_expression "(*(int *)pDVar39[0x321].r != 0)" ( (binary_expression "*(int *)pDVar39[0x321].r != 0" (pointer_expression "*(int *)pDVar39[0x321].r" * (cast_expression "(int *)pDVar39[0x321].r" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar39[0x321].r" (subscript_expression "pDVar39[0x321]" identifier [ number_literal ]) . field_identifier))) != number_literal) )) (compound_statement "{\n      pDStack_13c = pDVar39 + 0x221;\n      pDStack_140 = (DDSColors *)(*(int *)(pcVar42 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar42 + 0x1966a8))\n                (0x8000,*(int *)(pcVar42 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar42 + 0x195e18) + -0x2ac4,0x6ca);\n    }" { (expression_statement "pDStack_13c = pDVar39 + 0x221;" (assignment_expression "pDStack_13c = pDVar39 + 0x221" identifier = (binary_expression "pDVar39 + 0x221" identifier + number_literal)) ;) (expression_statement "pDStack_140 = (DDSColors *)(*(int *)(pcVar42 + 0x195dac) + -0x62ac);" (assignment_expression "pDStack_140 = (DDSColors *)(*(int *)(pcVar42 + 0x195dac) + -0x62ac)" identifier = (cast_expression "(DDSColors *)(*(int *)(pcVar42 + 0x195dac) + -0x62ac)" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar42 + 0x195dac) + -0x62ac)" ( (binary_expression "*(int *)(pcVar42 + 0x195dac) + -0x62ac" (pointer_expression "*(int *)(pcVar42 + 0x195dac)" * (cast_expression "(int *)(pcVar42 + 0x195dac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x195dac)" ( (binary_expression "pcVar42 + 0x195dac" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar42 + 0x1966a8))\n                (0x8000,*(int *)(pcVar42 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar42 + 0x195e18) + -0x2ac4,0x6ca);" (call_expression "(**(code **)(pcVar42 + 0x1966a8))\n                (0x8000,*(int *)(pcVar42 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar42 + 0x195e18) + -0x2ac4,0x6ca)" (parenthesized_expression "(**(code **)(pcVar42 + 0x1966a8))" ( (pointer_expression "**(code **)(pcVar42 + 0x1966a8)" * (pointer_expression "*(code **)(pcVar42 + 0x1966a8)" * (cast_expression "(code **)(pcVar42 + 0x1966a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar42 + 0x1966a8)" ( (binary_expression "pcVar42 + 0x1966a8" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar42 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar42 + 0x195e18) + -0x2ac4,0x6ca)" ( number_literal , (binary_expression "*(int *)(pcVar42 + 0x195e18) + -0x2c20" (pointer_expression "*(int *)(pcVar42 + 0x195e18)" * (cast_expression "(int *)(pcVar42 + 0x195e18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x195e18)" ( (binary_expression "pcVar42 + 0x195e18" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar42 + 0x195e18) + -0x2ac4" (pointer_expression "*(int *)(pcVar42 + 0x195e18)" * (cast_expression "(int *)(pcVar42 + 0x195e18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar42 + 0x195e18)" ( (binary_expression "pcVar42 + 0x195e18" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "pcVar44 = pcStack_130;" (assignment_expression "pcVar44 = pcStack_130" identifier = identifier) ;) (expression_statement "pDVar33 = pDVar19;" (assignment_expression "pDVar33 = pDVar19" identifier = identifier) ;) (if_statement "if (pDVar19 == (DDSColors *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar44 + -0x72a8))\n                (*(int *)(pcVar44 + -0x7fd0) + 0x1cac,*(int *)(pcVar44 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar44 + -0x7f60) + -0x2ab4);\n      pDVar4 = pDVar39;\n      goto LAB_00213360;\n    }" if (parenthesized_expression "(pDVar19 == (DDSColors *)0x0)" ( (binary_expression "pDVar19 == (DDSColors *)0x0" identifier == (cast_expression "(DDSColors *)0x0" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0021333c:\n      (**(code **)(pcVar44 + -0x72a8))\n                (*(int *)(pcVar44 + -0x7fd0) + 0x1cac,*(int *)(pcVar44 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar44 + -0x7f60) + -0x2ab4);\n      pDVar4 = pDVar39;\n      goto LAB_00213360;\n    }" { (labeled_statement "LAB_0021333c:\n      (**(code **)(pcVar44 + -0x72a8))\n                (*(int *)(pcVar44 + -0x7fd0) + 0x1cac,*(int *)(pcVar44 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar44 + -0x7f60) + -0x2ab4);" statement_identifier : (expression_statement "(**(code **)(pcVar44 + -0x72a8))\n                (*(int *)(pcVar44 + -0x7fd0) + 0x1cac,*(int *)(pcVar44 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar44 + -0x7f60) + -0x2ab4);" (call_expression "(**(code **)(pcVar44 + -0x72a8))\n                (*(int *)(pcVar44 + -0x7fd0) + 0x1cac,*(int *)(pcVar44 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar44 + -0x7f60) + -0x2ab4)" (parenthesized_expression "(**(code **)(pcVar44 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar44 + -0x72a8)" * (pointer_expression "*(code **)(pcVar44 + -0x72a8)" * (cast_expression "(code **)(pcVar44 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + -0x72a8)" ( (binary_expression "pcVar44 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar44 + -0x7fd0) + 0x1cac,*(int *)(pcVar44 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar44 + -0x7f60) + -0x2ab4)" ( (binary_expression "*(int *)(pcVar44 + -0x7fd0) + 0x1cac" (pointer_expression "*(int *)(pcVar44 + -0x7fd0)" * (cast_expression "(int *)(pcVar44 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + -0x7fd0)" ( (binary_expression "pcVar44 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar44 + -0x7f60) + -0x2c20" (pointer_expression "*(int *)(pcVar44 + -0x7f60)" * (cast_expression "(int *)(pcVar44 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + -0x7f60)" ( (binary_expression "pcVar44 + -0x7f60" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar44 + -0x7f60) + -0x2ab4" (pointer_expression "*(int *)(pcVar44 + -0x7f60)" * (cast_expression "(int *)(pcVar44 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + -0x7f60)" ( (binary_expression "pcVar44 + -0x7f60" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "pDVar4 = pDVar39;" (assignment_expression "pDVar4 = pDVar39" identifier = identifier) ;) (goto_statement "goto LAB_00213360;" goto statement_identifier ;) })) (if_statement "if (*(int *)pDVar19[1].a != -0x54535255) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }" if (parenthesized_expression "(*(int *)pDVar19[1].a != -0x54535255)" ( (binary_expression "*(int *)pDVar19[1].a != -0x54535255" (pointer_expression "*(int *)pDVar19[1].a" * (cast_expression "(int *)pDVar19[1].a" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar19[1].a" (subscript_expression "pDVar19[1]" identifier [ number_literal ]) . field_identifier))) != number_literal) )) (compound_statement "{\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }" { (expression_statement "(**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);" (call_expression "(**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x72a8))" ( (pointer_expression "**(code **)(pcStack_130 + -0x72a8)" * (pointer_expression "*(code **)(pcStack_130 + -0x72a8)" * (cast_expression "(code **)(pcStack_130 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x72a8)" ( (binary_expression "pcStack_130 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4)" ( (binary_expression "*(int *)(pcStack_130 + -0x7fd0) + 0x294c" (pointer_expression "*(int *)(pcStack_130 + -0x7fd0)" * (cast_expression "(int *)(pcStack_130 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7fd0)" ( (binary_expression "pcStack_130 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2c20" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2ab4" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_0021333c;" goto statement_identifier ;) })) (expression_statement "pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_130 + -0x72a4))(pDVar39,pDVar19);" (assignment_expression "pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_130 + -0x72a4))(pDVar39,pDVar19)" identifier = (cast_expression "(MagickBooleanType *)(**(code **)(pcStack_130 + -0x72a4))(pDVar39,pDVar19)" ( (type_descriptor "MagickBooleanType *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_130 + -0x72a4))(pDVar39,pDVar19)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x72a4))" ( (pointer_expression "**(code **)(pcStack_130 + -0x72a4)" * (pointer_expression "*(code **)(pcStack_130 + -0x72a4)" * (cast_expression "(code **)(pcStack_130 + -0x72a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x72a4)" ( (binary_expression "pcStack_130 + -0x72a4" identifier + number_literal) ))))) )) (argument_list "(pDVar39,pDVar19)" ( identifier , identifier ))))) ;) (expression_statement "iVar29 = (**(code **)(pcStack_130 + -0x7664))(pDVar39,pMVar32,2,pDVar19);" (assignment_expression "iVar29 = (**(code **)(pcStack_130 + -0x7664))(pDVar39,pMVar32,2,pDVar19)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7664))(pDVar39,pMVar32,2,pDVar19)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7664))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7664)" * (pointer_expression "*(code **)(pcStack_130 + -0x7664)" * (cast_expression "(code **)(pcStack_130 + -0x7664)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7664)" ( (binary_expression "pcStack_130 + -0x7664" identifier + number_literal) ))))) )) (argument_list "(pDVar39,pMVar32,2,pDVar19)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar29 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n      MVar7 = MagickFalse;\n      goto LAB_00212c9c;\n    }" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (compound_statement "{\n      (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n      MVar7 = MagickFalse;\n      goto LAB_00212c9c;\n    }" { (expression_statement "(**(code **)(pcStack_130 + -0x73a0))(pMVar32);" (call_expression "(**(code **)(pcStack_130 + -0x73a0))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x73a0))" ( (pointer_expression "**(code **)(pcStack_130 + -0x73a0)" * (pointer_expression "*(code **)(pcStack_130 + -0x73a0)" * (cast_expression "(code **)(pcStack_130 + -0x73a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x73a0)" ( (binary_expression "pcStack_130 + -0x73a0" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier ))) ;) (expression_statement "MVar7 = MagickFalse;" (assignment_expression "MVar7 = MagickFalse" identifier = identifier) ;) (goto_statement "goto LAB_00212c9c;" goto statement_identifier ;) })) (expression_statement "pDStack_140 = (DDSColors *)0x0;" (assignment_expression "pDStack_140 = (DDSColors *)0x0" identifier = (cast_expression "(DDSColors *)0x0" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcStack_130 + -0x7588))(pMVar32);" (call_expression "(**(code **)(pcStack_130 + -0x7588))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7588))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7588)" * (pointer_expression "*(code **)(pcStack_130 + -0x7588)" * (cast_expression "(code **)(pcStack_130 + -0x7588)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7588)" ( (binary_expression "pcStack_130 + -0x7588" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier ))) ;) (expression_statement "iVar29 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);" (assignment_expression "iVar29 = (**(code **)(pcStack_130 + -0x7844))(pMVar32)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier )))) ;) (if_statement "if ((iVar29 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pMVar32), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar37 = (uint *)0x1;\n      MStack_11c = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      MStack_118 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      pDStack_140 = (DDSColors *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n      iVar29 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      if (iVar29 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      pDStack_140 = (DDSColors *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n      puVar37 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pDStack_140 = (DDSColors *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar24 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 5;\n            pcStack_128 = (code *)(puVar38 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 6;\n            pcStack_128 = (code *)(puVar38 + 0x1635);\n          }\n          else {\n            uVar24 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = MagickFalse;\n            unaff_s7 = 4;\n            pcStack_128 = (code *)(puVar38 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar24 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar21 = *(int *)(pcStack_130 + -0x7f60);\n        iVar29 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar44 = *(code **)(pcStack_130 + -0x7990);\n        pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 4;\n        unaff_s7 = 0x10;\n        pcStack_128 = (code *)(puVar38 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = MagickFalse;\n      unaff_s7 = 0x10;\n      pcStack_128 = (code *)(puVar38 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar37 != (uint *)0x0) {\n        puVar37 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar37 = (uint *)((int)puVar37 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar37 = puStack_110;\nLAB_00213068:\n        if (puVar37 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar24 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar37 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar37 = (uint *)0x1;\nLAB_00212ed8:\n      uVar58 = (**(code **)(pcStack_130 + -0x73f8))(pMVar32);\n      puVar38 = puVar37;\n      if (unaff_s6 == (uint *)((ulonglong)uVar58 >> 0x20)) {\n        pcVar44 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar58 < puVar37) goto LAB_00212efc;\n      }\n      else {\n        pcVar44 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar29 = (*pcVar44)(0xb);\n      if (iVar29 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pDStack_140 = (DDSColors *)0x190;\n        pDStack_134 = pDVar39 + 0x221;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pMVar32 == (MagickBooleanType *)0x0) {\n          MVar7 = MagickFalse;\n          pDVar39 = pDVar39 + 0x221;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar38 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar24 = (**(code **)(pcStack_130 + -0x7748))\n                         (pDVar39,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar29 = (**(code **)(pcStack_130 + -0x7694))(uVar24);\n      uStack_124 = (uint)(iVar29 != 0);\n      while( true ) {\n        iVar29 = *(int *)pDVar39[0x1d].a;\n        pMVar32[0x97] = MagickTrue;\n        *pMVar32 = MagickTrue;\n        pMVar32[0xaf] = unaff_s8;\n        pMVar32[2] = unaff_s7;\n        pMVar32[6] = MStack_118;\n        pMVar32[7] = MStack_11c;\n        pMVar32[8] = 8;\n        if (iVar29 != 0) break;\n        iVar29 = (**(code **)(pcStack_130 + -0x7404))(pMVar32,MStack_118,MStack_11c,pDVar19);\n        if (iVar29 == 0) {\nLAB_00213284:\n          MVar7 = (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pMVar32,pDVar19);\n        pDStack_140 = pDVar19;\n        iVar29 = (*pcStack_128)(pDVar39,pMVar32,puVar38,uStack_124);\n        if (iVar29 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pMVar32);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          MVar7 = (**(code **)(pcStack_130 + -0x7464))(pMVar32);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar37) break;\n        iVar29 = (**(code **)(pcStack_130 + -0x7168))(pMVar32);\n        if (iVar29 != 0) {\n          pDStack_134 = pDVar39 + 0x221;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pDStack_140 = (DDSColors *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar44 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pDVar39,pMVar32,pDVar19);\n        iVar29 = (**(code **)(pcStack_130 + -0x7440))(pMVar32);\n        if (iVar29 == 0) goto LAB_00213284;\n        pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_130 + -0x74a8))(pMVar32);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pMVar32);\n      MVar7 = (**(code **)(pcStack_130 + -0x7464))(pMVar32);\n    }\n    else {\nLAB_00212c24:\n      uVar24 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar21 = *(int *)(pcStack_130 + -0x7f60);\n      iVar29 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar44 = *(code **)(pcStack_130 + -0x7990);\n      pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pDStack_134 = pDVar39 + 0x221;\n      iStack_138 = iStack_138 + 0x3e28;\n      pDStack_140 = (DDSColors *)&DAT_000001a9;\n      (*pcVar44)(pDVar19,iVar29 + -0x2c20,iVar21 + -0x2ac4,uVar24);\n      if (pMVar32 != (MagickBooleanType *)0x0) {\nLAB_00212c74:\n        pcVar44 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar44)(pMVar32);\n        (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n      }\n      MVar7 = MagickFalse;\n      pDVar39 = pDVar39 + 0x221;\n    }" if (parenthesized_expression "((iVar29 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pMVar32), (uStack_120 & 0x1006) == 0x1006)\n       )" ( (binary_expression "(iVar29 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pMVar32), (uStack_120 & 0x1006) == 0x1006)" (parenthesized_expression "(iVar29 == 0x7c)" ( (binary_expression "iVar29 == 0x7c" identifier == number_literal) )) && (parenthesized_expression "(uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pMVar32), (uStack_120 & 0x1006) == 0x1006)" ( (comma_expression "uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pMVar32), (uStack_120 & 0x1006) == 0x1006" (assignment_expression "uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pMVar32)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier )))) , (binary_expression "(uStack_120 & 0x1006) == 0x1006" (parenthesized_expression "(uStack_120 & 0x1006)" ( (binary_expression "uStack_120 & 0x1006" identifier & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n      puVar37 = (uint *)0x1;\n      MStack_11c = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      MStack_118 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      pDStack_140 = (DDSColors *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n      iVar29 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      if (iVar29 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);\n      pDStack_140 = (DDSColors *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n      puVar37 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pDStack_140 = (DDSColors *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pMVar32);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar24 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 5;\n            pcStack_128 = (code *)(puVar38 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 6;\n            pcStack_128 = (code *)(puVar38 + 0x1635);\n          }\n          else {\n            uVar24 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = MagickFalse;\n            unaff_s7 = 4;\n            pcStack_128 = (code *)(puVar38 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar24 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar21 = *(int *)(pcStack_130 + -0x7f60);\n        iVar29 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar44 = *(code **)(pcStack_130 + -0x7990);\n        pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 4;\n        unaff_s7 = 0x10;\n        pcStack_128 = (code *)(puVar38 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = MagickFalse;\n      unaff_s7 = 0x10;\n      pcStack_128 = (code *)(puVar38 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar37 != (uint *)0x0) {\n        puVar37 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar37 = (uint *)((int)puVar37 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar37 = puStack_110;\nLAB_00213068:\n        if (puVar37 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar24 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar37 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar37 = (uint *)0x1;\nLAB_00212ed8:\n      uVar58 = (**(code **)(pcStack_130 + -0x73f8))(pMVar32);\n      puVar38 = puVar37;\n      if (unaff_s6 == (uint *)((ulonglong)uVar58 >> 0x20)) {\n        pcVar44 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar58 < puVar37) goto LAB_00212efc;\n      }\n      else {\n        pcVar44 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar29 = (*pcVar44)(0xb);\n      if (iVar29 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pDStack_140 = (DDSColors *)0x190;\n        pDStack_134 = pDVar39 + 0x221;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pMVar32 == (MagickBooleanType *)0x0) {\n          MVar7 = MagickFalse;\n          pDVar39 = pDVar39 + 0x221;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar38 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar24 = (**(code **)(pcStack_130 + -0x7748))\n                         (pDVar39,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar29 = (**(code **)(pcStack_130 + -0x7694))(uVar24);\n      uStack_124 = (uint)(iVar29 != 0);\n      while( true ) {\n        iVar29 = *(int *)pDVar39[0x1d].a;\n        pMVar32[0x97] = MagickTrue;\n        *pMVar32 = MagickTrue;\n        pMVar32[0xaf] = unaff_s8;\n        pMVar32[2] = unaff_s7;\n        pMVar32[6] = MStack_118;\n        pMVar32[7] = MStack_11c;\n        pMVar32[8] = 8;\n        if (iVar29 != 0) break;\n        iVar29 = (**(code **)(pcStack_130 + -0x7404))(pMVar32,MStack_118,MStack_11c,pDVar19);\n        if (iVar29 == 0) {\nLAB_00213284:\n          MVar7 = (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pMVar32,pDVar19);\n        pDStack_140 = pDVar19;\n        iVar29 = (*pcStack_128)(pDVar39,pMVar32,puVar38,uStack_124);\n        if (iVar29 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pMVar32);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          MVar7 = (**(code **)(pcStack_130 + -0x7464))(pMVar32);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar37) break;\n        iVar29 = (**(code **)(pcStack_130 + -0x7168))(pMVar32);\n        if (iVar29 != 0) {\n          pDStack_134 = pDVar39 + 0x221;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pDStack_140 = (DDSColors *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar44 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pDVar39,pMVar32,pDVar19);\n        iVar29 = (**(code **)(pcStack_130 + -0x7440))(pMVar32);\n        if (iVar29 == 0) goto LAB_00213284;\n        pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_130 + -0x74a8))(pMVar32);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pMVar32);\n      MVar7 = (**(code **)(pcStack_130 + -0x7464))(pMVar32);\n    }" { (expression_statement "puVar37 = (uint *)0x1;" (assignment_expression "puVar37 = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "MStack_11c = (**(code **)(pcStack_130 + -0x7844))(pMVar32);" (assignment_expression "MStack_11c = (**(code **)(pcStack_130 + -0x7844))(pMVar32)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier )))) ;) (expression_statement "MStack_118 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);" (assignment_expression "MStack_118 = (**(code **)(pcStack_130 + -0x7844))(pMVar32)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier )))) ;) (expression_statement "uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);" (assignment_expression "uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pMVar32)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier )))) ;) (expression_statement "puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pMVar32);" (assignment_expression "puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pMVar32)" identifier = (cast_expression "(uint *)(**(code **)(pcStack_130 + -0x7844))(pMVar32)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_130 + -0x7844))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier ))))) ;) (expression_statement "uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pMVar32);" (assignment_expression "uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pMVar32)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier )))) ;) (expression_statement "pDStack_140 = (DDSColors *)0x1;" (assignment_expression "pDStack_140 = (DDSColors *)0x1" identifier = (cast_expression "(DDSColors *)0x1" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcStack_130 + -0x7588))(pMVar32);" (call_expression "(**(code **)(pcStack_130 + -0x7588))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7588))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7588)" * (pointer_expression "*(code **)(pcStack_130 + -0x7588)" * (cast_expression "(code **)(pcStack_130 + -0x7588)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7588)" ( (binary_expression "pcStack_130 + -0x7588" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier ))) ;) (expression_statement "iVar29 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);" (assignment_expression "iVar29 = (**(code **)(pcStack_130 + -0x7844))(pMVar32)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier )))) ;) (if_statement "if (iVar29 != 0x20) goto LAB_00212c24;" if (parenthesized_expression "(iVar29 != 0x20)" ( (binary_expression "iVar29 != 0x20" identifier != number_literal) )) (goto_statement "goto LAB_00212c24;" goto statement_identifier ;)) (expression_statement "uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);" (assignment_expression "uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pMVar32)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier )))) ;) (expression_statement "iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pMVar32);" (assignment_expression "iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pMVar32)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier )))) ;) (expression_statement "uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);" (assignment_expression "uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pMVar32)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier )))) ;) (expression_statement "uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);" (assignment_expression "uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pMVar32)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier )))) ;) (expression_statement "uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);" (assignment_expression "uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pMVar32)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier )))) ;) (expression_statement "uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pMVar32);" (assignment_expression "uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pMVar32)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier )))) ;) (expression_statement "uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);" (assignment_expression "uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pMVar32)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier )))) ;) (expression_statement "uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);" (assignment_expression "uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pMVar32)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier )))) ;) (expression_statement "uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pMVar32);" (assignment_expression "uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pMVar32)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier )))) ;) (expression_statement "pDStack_140 = (DDSColors *)0x1;" (assignment_expression "pDStack_140 = (DDSColors *)0x1" identifier = (cast_expression "(DDSColors *)0x1" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcStack_130 + -0x7588))(pMVar32);" (call_expression "(**(code **)(pcStack_130 + -0x7588))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7588))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7588)" * (pointer_expression "*(code **)(pcStack_130 + -0x7588)" * (cast_expression "(code **)(pcStack_130 + -0x7588)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7588)" ( (binary_expression "pcStack_130 + -0x7588" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier ))) ;) (expression_statement "puVar37 = (uint *)(uStack_104 & 0x200);" (assignment_expression "puVar37 = (uint *)(uStack_104 & 0x200)" identifier = (cast_expression "(uint *)(uStack_104 & 0x200)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_104 & 0x200)" ( (binary_expression "uStack_104 & 0x200" identifier & number_literal) )))) ;) (if_statement "if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }" if (parenthesized_expression "((int)(uStack_104 << 10) < 0)" ( (binary_expression "(int)(uStack_104 << 10) < 0" (cast_expression "(int)(uStack_104 << 10)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uStack_104 << 10)" ( (binary_expression "uStack_104 << 10" identifier << number_literal) ))) < number_literal) )) (compound_statement "{\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }" { (expression_statement "unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);" (assignment_expression "unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0)" identifier = (cast_expression "(uint *)(uint)(puStack_110 != (uint *)0x0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(puStack_110 != (uint *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puStack_110 != (uint *)0x0)" ( (binary_expression "puStack_110 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) ;) }) (else_clause "else {\n        unaff_s6 = (uint *)0x0;\n      }" else (compound_statement "{\n        unaff_s6 = (uint *)0x0;\n      }" { (expression_statement "unaff_s6 = (uint *)0x0;" (assignment_expression "unaff_s6 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "pDStack_140 = (DDSColors *)0x0;" (assignment_expression "pDStack_140 = (DDSColors *)0x0" identifier = (cast_expression "(DDSColors *)0x0" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcStack_130 + -0x7588))(pMVar32);" (call_expression "(**(code **)(pcStack_130 + -0x7588))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7588))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7588)" * (pointer_expression "*(code **)(pcStack_130 + -0x7588)" * (cast_expression "(code **)(pcStack_130 + -0x7588)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7588)" ( (binary_expression "pcStack_130 + -0x7588" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier ))) ;) (if_statement "if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar24 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 5;\n            pcStack_128 = (code *)(puVar38 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 6;\n            pcStack_128 = (code *)(puVar38 + 0x1635);\n          }\n          else {\n            uVar24 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = MagickFalse;\n            unaff_s7 = 4;\n            pcStack_128 = (code *)(puVar38 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar24 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar21 = *(int *)(pcStack_130 + -0x7f60);\n        iVar29 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar44 = *(code **)(pcStack_130 + -0x7990);\n        pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }" if (parenthesized_expression "((uStack_100 & 0x40) == 0)" ( (binary_expression "(uStack_100 & 0x40) == 0" (parenthesized_expression "(uStack_100 & 0x40)" ( (binary_expression "uStack_100 & 0x40" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar24 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 5;\n            pcStack_128 = (code *)(puVar38 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 6;\n            pcStack_128 = (code *)(puVar38 + 0x1635);\n          }\n          else {\n            uVar24 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = MagickFalse;\n            unaff_s7 = 4;\n            pcStack_128 = (code *)(puVar38 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar24 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar21 = *(int *)(pcStack_130 + -0x7f60);\n        iVar29 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar44 = *(code **)(pcStack_130 + -0x7990);\n        pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }" { (if_statement "if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar24 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 5;\n            pcStack_128 = (code *)(puVar38 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 6;\n            pcStack_128 = (code *)(puVar38 + 0x1635);\n          }\n          else {\n            uVar24 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = MagickFalse;\n            unaff_s7 = 4;\n            pcStack_128 = (code *)(puVar38 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }" if (parenthesized_expression "(-1 < (int)(uStack_100 << 0xe))" ( (binary_expression "-1 < (int)(uStack_100 << 0xe)" number_literal < (cast_expression "(int)(uStack_100 << 0xe)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uStack_100 << 0xe)" ( (binary_expression "uStack_100 << 0xe" identifier << number_literal) )))) )) (compound_statement "{\n          if ((uStack_100 & 4) == 0) {\n            uVar24 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 5;\n            pcStack_128 = (code *)(puVar38 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 6;\n            pcStack_128 = (code *)(puVar38 + 0x1635);\n          }\n          else {\n            uVar24 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = MagickFalse;\n            unaff_s7 = 4;\n            pcStack_128 = (code *)(puVar38 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }" { (if_statement "if ((uStack_100 & 4) == 0) {\n            uVar24 = 0x729;\n            goto LAB_002130b8;\n          }" if (parenthesized_expression "((uStack_100 & 4) == 0)" ( (binary_expression "(uStack_100 & 4) == 0" (parenthesized_expression "(uStack_100 & 4)" ( (binary_expression "uStack_100 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar24 = 0x729;\n            goto LAB_002130b8;\n          }" { (expression_statement "uVar24 = 0x729;" (assignment_expression "uVar24 = 0x729" identifier = number_literal) ;) (goto_statement "goto LAB_002130b8;" goto statement_identifier ;) })) (if_statement "if (iStack_fc == 0x33545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 5;\n            pcStack_128 = (code *)(puVar38 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 6;\n            pcStack_128 = (code *)(puVar38 + 0x1635);\n          }\n          else {\n            uVar24 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = MagickFalse;\n            unaff_s7 = 4;\n            pcStack_128 = (code *)(puVar38 + 0x16bb);\n          }" if (parenthesized_expression "(iStack_fc == 0x33545844)" ( (binary_expression "iStack_fc == 0x33545844" identifier == number_literal) )) (compound_statement "{\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 5;\n            pcStack_128 = (code *)(puVar38 + 0x1678);\n          }" { (expression_statement "puVar38 = *(uint **)(pcStack_130 + -0x7cec);" (assignment_expression "puVar38 = *(uint **)(pcStack_130 + -0x7cec)" identifier = (pointer_expression "*(uint **)(pcStack_130 + -0x7cec)" * (cast_expression "(uint **)(pcStack_130 + -0x7cec)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7cec)" ( (binary_expression "pcStack_130 + -0x7cec" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8 = 4;" (assignment_expression "unaff_s8 = 4" identifier = number_literal) ;) (expression_statement "unaff_s7 = 5;" (assignment_expression "unaff_s7 = 5" identifier = number_literal) ;) (expression_statement "pcStack_128 = (code *)(puVar38 + 0x1678);" (assignment_expression "pcStack_128 = (code *)(puVar38 + 0x1678)" identifier = (cast_expression "(code *)(puVar38 + 0x1678)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + 0x1678)" ( (binary_expression "puVar38 + 0x1678" identifier + number_literal) )))) ;) }) (else_clause "else if (iStack_fc == 0x35545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 6;\n            pcStack_128 = (code *)(puVar38 + 0x1635);\n          }\n          else {\n            uVar24 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = MagickFalse;\n            unaff_s7 = 4;\n            pcStack_128 = (code *)(puVar38 + 0x16bb);\n          }" else (if_statement "if (iStack_fc == 0x35545844) {\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 6;\n            pcStack_128 = (code *)(puVar38 + 0x1635);\n          }\n          else {\n            uVar24 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = MagickFalse;\n            unaff_s7 = 4;\n            pcStack_128 = (code *)(puVar38 + 0x16bb);\n          }" if (parenthesized_expression "(iStack_fc == 0x35545844)" ( (binary_expression "iStack_fc == 0x35545844" identifier == number_literal) )) (compound_statement "{\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 4;\n            unaff_s7 = 6;\n            pcStack_128 = (code *)(puVar38 + 0x1635);\n          }" { (expression_statement "puVar38 = *(uint **)(pcStack_130 + -0x7cec);" (assignment_expression "puVar38 = *(uint **)(pcStack_130 + -0x7cec)" identifier = (pointer_expression "*(uint **)(pcStack_130 + -0x7cec)" * (cast_expression "(uint **)(pcStack_130 + -0x7cec)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7cec)" ( (binary_expression "pcStack_130 + -0x7cec" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8 = 4;" (assignment_expression "unaff_s8 = 4" identifier = number_literal) ;) (expression_statement "unaff_s7 = 6;" (assignment_expression "unaff_s7 = 6" identifier = number_literal) ;) (expression_statement "pcStack_128 = (code *)(puVar38 + 0x1635);" (assignment_expression "pcStack_128 = (code *)(puVar38 + 0x1635)" identifier = (cast_expression "(code *)(puVar38 + 0x1635)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + 0x1635)" ( (binary_expression "puVar38 + 0x1635" identifier + number_literal) )))) ;) }) (else_clause "else {\n            uVar24 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = MagickFalse;\n            unaff_s7 = 4;\n            pcStack_128 = (code *)(puVar38 + 0x16bb);\n          }" else (compound_statement "{\n            uVar24 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = MagickFalse;\n            unaff_s7 = 4;\n            pcStack_128 = (code *)(puVar38 + 0x16bb);\n          }" { (expression_statement "uVar24 = 0x722;" (assignment_expression "uVar24 = 0x722" identifier = number_literal) ;) (if_statement "if (iStack_fc != 0x31545844) goto LAB_002130b8;" if (parenthesized_expression "(iStack_fc != 0x31545844)" ( (binary_expression "iStack_fc != 0x31545844" identifier != number_literal) )) (goto_statement "goto LAB_002130b8;" goto statement_identifier ;)) (expression_statement "puVar38 = *(uint **)(pcStack_130 + -0x7cec);" (assignment_expression "puVar38 = *(uint **)(pcStack_130 + -0x7cec)" identifier = (pointer_expression "*(uint **)(pcStack_130 + -0x7cec)" * (cast_expression "(uint **)(pcStack_130 + -0x7cec)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7cec)" ( (binary_expression "pcStack_130 + -0x7cec" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8 = MagickFalse;" (assignment_expression "unaff_s8 = MagickFalse" identifier = identifier) ;) (expression_statement "unaff_s7 = 4;" (assignment_expression "unaff_s7 = 4" identifier = number_literal) ;) (expression_statement "pcStack_128 = (code *)(puVar38 + 0x16bb);" (assignment_expression "pcStack_128 = (code *)(puVar38 + 0x16bb)" identifier = (cast_expression "(code *)(puVar38 + 0x16bb)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + 0x16bb)" ( (binary_expression "puVar38 + 0x16bb" identifier + number_literal) )))) ;) }))))) (goto_statement "goto joined_r0x00212ec0;" goto statement_identifier ;) })) (expression_statement "puVar38 = *(uint **)(pcStack_130 + -0x7cec);" (assignment_expression "puVar38 = *(uint **)(pcStack_130 + -0x7cec)" identifier = (pointer_expression "*(uint **)(pcStack_130 + -0x7cec)" * (cast_expression "(uint **)(pcStack_130 + -0x7cec)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7cec)" ( (binary_expression "pcStack_130 + -0x7cec" identifier + number_literal) ))))) ;) (if_statement "if ((uStack_100 & 1) == 0) goto LAB_00212fe4;" if (parenthesized_expression "((uStack_100 & 1) == 0)" ( (binary_expression "(uStack_100 & 1) == 0" (parenthesized_expression "(uStack_100 & 1)" ( (binary_expression "uStack_100 & 1" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00212fe4;" goto statement_identifier ;)) (expression_statement "uVar24 = 0x6fe;" (assignment_expression "uVar24 = 0x6fe" identifier = number_literal) ;) (labeled_statement "LAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);" statement_identifier : (expression_statement "iStack_138 = *(int *)(pcStack_130 + -0x7fd0);" (assignment_expression "iStack_138 = *(int *)(pcStack_130 + -0x7fd0)" identifier = (pointer_expression "*(int *)(pcStack_130 + -0x7fd0)" * (cast_expression "(int *)(pcStack_130 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7fd0)" ( (binary_expression "pcStack_130 + -0x7fd0" identifier + number_literal) ))))) ;)) (expression_statement "iVar21 = *(int *)(pcStack_130 + -0x7f60);" (assignment_expression "iVar21 = *(int *)(pcStack_130 + -0x7f60)" identifier = (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) ))))) ;) (expression_statement "iVar29 = *(int *)(pcStack_130 + -0x7f60);" (assignment_expression "iVar29 = *(int *)(pcStack_130 + -0x7f60)" identifier = (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) ))))) ;) (expression_statement "pcVar44 = *(code **)(pcStack_130 + -0x7990);" (assignment_expression "pcVar44 = *(code **)(pcStack_130 + -0x7990)" identifier = (pointer_expression "*(code **)(pcStack_130 + -0x7990)" * (cast_expression "(code **)(pcStack_130 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7990)" ( (binary_expression "pcStack_130 + -0x7990" identifier + number_literal) ))))) ;) (expression_statement "pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);" (assignment_expression "pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10)" identifier = (cast_expression "(DDSColors *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10)" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_130 + -0x7f60) + -0x2c10)" ( (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2c10" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_00212c58;" goto statement_identifier ;) })) (expression_statement "puVar38 = *(uint **)(pcStack_130 + -0x7cec);" (assignment_expression "puVar38 = *(uint **)(pcStack_130 + -0x7cec)" identifier = (pointer_expression "*(uint **)(pcStack_130 + -0x7cec)" * (cast_expression "(uint **)(pcStack_130 + -0x7cec)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7cec)" ( (binary_expression "pcStack_130 + -0x7cec" identifier + number_literal) ))))) ;) (if_statement "if ((uStack_100 & 1) != 0) {\n        puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 4;\n        unaff_s7 = 0x10;\n        pcStack_128 = (code *)(puVar38 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }" if (parenthesized_expression "((uStack_100 & 1) != 0)" ( (binary_expression "(uStack_100 & 1) != 0" (parenthesized_expression "(uStack_100 & 1)" ( (binary_expression "uStack_100 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        puVar38 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 4;\n        unaff_s7 = 0x10;\n        pcStack_128 = (code *)(puVar38 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }" { (expression_statement "puVar38 = *(uint **)(pcStack_130 + -0x7cec);" (assignment_expression "puVar38 = *(uint **)(pcStack_130 + -0x7cec)" identifier = (pointer_expression "*(uint **)(pcStack_130 + -0x7cec)" * (cast_expression "(uint **)(pcStack_130 + -0x7cec)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7cec)" ( (binary_expression "pcStack_130 + -0x7cec" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8 = 4;" (assignment_expression "unaff_s8 = 4" identifier = number_literal) ;) (expression_statement "unaff_s7 = 0x10;" (assignment_expression "unaff_s7 = 0x10" identifier = number_literal) ;) (expression_statement "pcStack_128 = (code *)(puVar38 + 0x16fe);" (assignment_expression "pcStack_128 = (code *)(puVar38 + 0x16fe)" identifier = (cast_expression "(code *)(puVar38 + 0x16fe)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + 0x16fe)" ( (binary_expression "puVar38 + 0x16fe" identifier + number_literal) )))) ;) (goto_statement "goto joined_r0x00212ec0;" goto statement_identifier ;) })) (labeled_statement "LAB_00212fe4:\n      unaff_s8 = MagickFalse;" statement_identifier : (expression_statement "unaff_s8 = MagickFalse;" (assignment_expression "unaff_s8 = MagickFalse" identifier = identifier) ;)) (expression_statement "unaff_s7 = 0x10;" (assignment_expression "unaff_s7 = 0x10" identifier = number_literal) ;) (expression_statement "pcStack_128 = (code *)(puVar38 + 0x1285);" (assignment_expression "pcStack_128 = (code *)(puVar38 + 0x1285)" identifier = (cast_expression "(code *)(puVar38 + 0x1285)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + 0x1285)" ( (binary_expression "puVar38 + 0x1285" identifier + number_literal) )))) ;) (labeled_statement "joined_r0x00212ec0:\n      if (puVar37 != (uint *)0x0) {\n        puVar37 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar37 = (uint *)((int)puVar37 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar37 = puStack_110;\nLAB_00213068:\n        if (puVar37 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar24 = 0x73f;\n        goto LAB_00212c2c;\n      }" statement_identifier : (if_statement "if (puVar37 != (uint *)0x0) {\n        puVar37 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar37 = (uint *)((int)puVar37 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar37 = puStack_110;\nLAB_00213068:\n        if (puVar37 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar24 = 0x73f;\n        goto LAB_00212c2c;\n      }" if (parenthesized_expression "(puVar37 != (uint *)0x0)" ( (binary_expression "puVar37 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        puVar37 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar37 = (uint *)((int)puVar37 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar37 = puStack_110;\nLAB_00213068:\n        if (puVar37 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar24 = 0x73f;\n        goto LAB_00212c2c;\n      }" { (expression_statement "puVar37 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);" (assignment_expression "puVar37 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f)" identifier = (cast_expression "(uint *)-((int)(uStack_104 << 0x15) >> 0x1f)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (unary_expression "-((int)(uStack_104 << 0x15) >> 0x1f)" - (parenthesized_expression "((int)(uStack_104 << 0x15) >> 0x1f)" ( (binary_expression "(int)(uStack_104 << 0x15) >> 0x1f" (cast_expression "(int)(uStack_104 << 0x15)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uStack_104 << 0x15)" ( (binary_expression "uStack_104 << 0x15" identifier << number_literal) ))) >> number_literal) ))))) ;) (if_statement "if ((uStack_104 & 0x800) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }" if (parenthesized_expression "((uStack_104 & 0x800) != 0)" ( (binary_expression "(uStack_104 & 0x800) != 0" (parenthesized_expression "(uStack_104 & 0x800)" ( (binary_expression "uStack_104 & 0x800" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }" { (expression_statement "puVar37 = (uint *)((int)puVar37 + 1);" (assignment_expression "puVar37 = (uint *)((int)puVar37 + 1)" identifier = (cast_expression "(uint *)((int)puVar37 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar37 + 1)" ( (binary_expression "(int)puVar37 + 1" (cast_expression "(int)puVar37" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((uStack_104 & 0x1000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }" if (parenthesized_expression "((uStack_104 & 0x1000) != 0)" ( (binary_expression "(uStack_104 & 0x1000) != 0" (parenthesized_expression "(uStack_104 & 0x1000)" ( (binary_expression "uStack_104 & 0x1000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }" { (expression_statement "puVar37 = (uint *)((int)puVar37 + 1);" (assignment_expression "puVar37 = (uint *)((int)puVar37 + 1)" identifier = (cast_expression "(uint *)((int)puVar37 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar37 + 1)" ( (binary_expression "(int)puVar37 + 1" (cast_expression "(int)puVar37" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((uStack_104 & 0x2000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }" if (parenthesized_expression "((uStack_104 & 0x2000) != 0)" ( (binary_expression "(uStack_104 & 0x2000) != 0" (parenthesized_expression "(uStack_104 & 0x2000)" ( (binary_expression "uStack_104 & 0x2000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }" { (expression_statement "puVar37 = (uint *)((int)puVar37 + 1);" (assignment_expression "puVar37 = (uint *)((int)puVar37 + 1)" identifier = (cast_expression "(uint *)((int)puVar37 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar37 + 1)" ( (binary_expression "(int)puVar37 + 1" (cast_expression "(int)puVar37" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((uStack_104 & 0x4000) != 0) {\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }" if (parenthesized_expression "((uStack_104 & 0x4000) != 0)" ( (binary_expression "(uStack_104 & 0x4000) != 0" (parenthesized_expression "(uStack_104 & 0x4000)" ( (binary_expression "uStack_104 & 0x4000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          puVar37 = (uint *)((int)puVar37 + 1);\n        }" { (expression_statement "puVar37 = (uint *)((int)puVar37 + 1);" (assignment_expression "puVar37 = (uint *)((int)puVar37 + 1)" identifier = (cast_expression "(uint *)((int)puVar37 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar37 + 1)" ( (binary_expression "(int)puVar37 + 1" (cast_expression "(int)puVar37" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar37 = (uint *)((int)puVar37 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }" if (parenthesized_expression "((uStack_104 & 0x8000) == 0)" ( (binary_expression "(uStack_104 & 0x8000) == 0" (parenthesized_expression "(uStack_104 & 0x8000)" ( (binary_expression "uStack_104 & 0x8000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }" { (if_statement "if (unaff_s6 == (uint *)0x0) goto LAB_00213068;" if (parenthesized_expression "(unaff_s6 == (uint *)0x0)" ( (binary_expression "unaff_s6 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00213068;" goto statement_identifier ;)) }) (else_clause "else {\n          puVar37 = (uint *)((int)puVar37 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }" else (compound_statement "{\n          puVar37 = (uint *)((int)puVar37 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }" { (expression_statement "puVar37 = (uint *)((int)puVar37 + 1);" (assignment_expression "puVar37 = (uint *)((int)puVar37 + 1)" identifier = (cast_expression "(uint *)((int)puVar37 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar37 + 1)" ( (binary_expression "(int)puVar37 + 1" (cast_expression "(int)puVar37" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;" if (parenthesized_expression "(unaff_s6 == (uint *)0x0)" ( (binary_expression "unaff_s6 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00212ed8;" goto statement_identifier ;)) }))) (expression_statement "puVar37 = puStack_110;" (assignment_expression "puVar37 = puStack_110" identifier = identifier) ;) (labeled_statement "LAB_00213068:\n        if (puVar37 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }" statement_identifier : (if_statement "if (puVar37 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }" if (parenthesized_expression "(puVar37 != (uint *)0x0)" ( (binary_expression "puVar37 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }" { (expression_statement "unaff_s6 = (uint *)0x0;" (assignment_expression "unaff_s6 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00212ed8;" goto statement_identifier ;) }))) (labeled_statement "LAB_00212efc:\n        uVar24 = 0x73f;" statement_identifier : (expression_statement "uVar24 = 0x73f;" (assignment_expression "uVar24 = 0x73f" identifier = number_literal) ;)) (goto_statement "goto LAB_00212c2c;" goto statement_identifier ;) }))) (expression_statement "puVar37 = puStack_110;" (assignment_expression "puVar37 = puStack_110" identifier = identifier) ;) (if_statement "if (unaff_s6 != (uint *)0x0) goto LAB_00213068;" if (parenthesized_expression "(unaff_s6 != (uint *)0x0)" ( (binary_expression "unaff_s6 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00213068;" goto statement_identifier ;)) (expression_statement "puVar37 = (uint *)0x1;" (assignment_expression "puVar37 = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00212ed8:\n      uVar58 = (**(code **)(pcStack_130 + -0x73f8))(pMVar32);" statement_identifier : (expression_statement "uVar58 = (**(code **)(pcStack_130 + -0x73f8))(pMVar32);" (assignment_expression "uVar58 = (**(code **)(pcStack_130 + -0x73f8))(pMVar32)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x73f8))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x73f8))" ( (pointer_expression "**(code **)(pcStack_130 + -0x73f8)" * (pointer_expression "*(code **)(pcStack_130 + -0x73f8)" * (cast_expression "(code **)(pcStack_130 + -0x73f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x73f8)" ( (binary_expression "pcStack_130 + -0x73f8" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier )))) ;)) (expression_statement "puVar38 = puVar37;" (assignment_expression "puVar38 = puVar37" identifier = identifier) ;) (if_statement "if (unaff_s6 == (uint *)((ulonglong)uVar58 >> 0x20)) {\n        pcVar44 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar58 < puVar37) goto LAB_00212efc;\n      }\n      else {\n        pcVar44 = *(code **)(pcStack_130 + -0x7094);\n      }" if (parenthesized_expression "(unaff_s6 == (uint *)((ulonglong)uVar58 >> 0x20))" ( (binary_expression "unaff_s6 == (uint *)((ulonglong)uVar58 >> 0x20)" identifier == (cast_expression "(uint *)((ulonglong)uVar58 >> 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar58 >> 0x20)" ( (binary_expression "(ulonglong)uVar58 >> 0x20" (cast_expression "(ulonglong)uVar58" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) )) (compound_statement "{\n        pcVar44 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar58 < puVar37) goto LAB_00212efc;\n      }" { (expression_statement "pcVar44 = *(code **)(pcStack_130 + -0x7094);" (assignment_expression "pcVar44 = *(code **)(pcStack_130 + -0x7094)" identifier = (pointer_expression "*(code **)(pcStack_130 + -0x7094)" * (cast_expression "(code **)(pcStack_130 + -0x7094)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7094)" ( (binary_expression "pcStack_130 + -0x7094" identifier + number_literal) ))))) ;) (if_statement "if ((uint *)uVar58 < puVar37) goto LAB_00212efc;" if (parenthesized_expression "((uint *)uVar58 < puVar37)" ( (binary_expression "(uint *)uVar58 < puVar37" (cast_expression "(uint *)uVar58" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < identifier) )) (goto_statement "goto LAB_00212efc;" goto statement_identifier ;)) }) (else_clause "else {\n        pcVar44 = *(code **)(pcStack_130 + -0x7094);\n      }" else (compound_statement "{\n        pcVar44 = *(code **)(pcStack_130 + -0x7094);\n      }" { (expression_statement "pcVar44 = *(code **)(pcStack_130 + -0x7094);" (assignment_expression "pcVar44 = *(code **)(pcStack_130 + -0x7094)" identifier = (pointer_expression "*(code **)(pcStack_130 + -0x7094)" * (cast_expression "(code **)(pcStack_130 + -0x7094)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7094)" ( (binary_expression "pcStack_130 + -0x7094" identifier + number_literal) ))))) ;) }))) (expression_statement "iVar29 = (*pcVar44)(0xb);" (assignment_expression "iVar29 = (*pcVar44)(0xb)" identifier = (call_expression "(*pcVar44)(0xb)" (parenthesized_expression "(*pcVar44)" ( (pointer_expression "*pcVar44" * identifier) )) (argument_list "(0xb)" ( number_literal )))) ;) (if_statement "if (iVar29 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pDStack_140 = (DDSColors *)0x190;\n        pDStack_134 = pDVar39 + 0x221;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pMVar32 == (MagickBooleanType *)0x0) {\n          MVar7 = MagickFalse;\n          pDVar39 = pDVar39 + 0x221;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (compound_statement "{\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pDStack_140 = (DDSColors *)0x190;\n        pDStack_134 = pDVar39 + 0x221;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pMVar32 == (MagickBooleanType *)0x0) {\n          MVar7 = MagickFalse;\n          pDVar39 = pDVar39 + 0x221;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }" { (expression_statement "iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;" (assignment_expression "iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28" identifier = (binary_expression "*(int *)(pcStack_130 + -0x7fd0) + 0x3e28" (pointer_expression "*(int *)(pcStack_130 + -0x7fd0)" * (cast_expression "(int *)(pcStack_130 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7fd0)" ( (binary_expression "pcStack_130 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);" (assignment_expression "pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4)" identifier = (cast_expression "(DDSColors *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4)" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4)" ( (binary_expression "*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4" (pointer_expression "*(int *)(pcStack_130 + -0x7fd0)" * (cast_expression "(int *)(pcStack_130 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7fd0)" ( (binary_expression "pcStack_130 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pDStack_140 = (DDSColors *)0x190;" (assignment_expression "pDStack_140 = (DDSColors *)0x190" identifier = (cast_expression "(DDSColors *)0x190" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pDStack_134 = pDVar39 + 0x221;" (assignment_expression "pDStack_134 = pDVar39 + 0x221" identifier = (binary_expression "pDVar39 + 0x221" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcStack_130 + -0x7990))\n                  (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);" (call_expression "(**(code **)(pcStack_130 + -0x7990))\n                  (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7990))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7990)" * (pointer_expression "*(code **)(pcStack_130 + -0x7990)" * (cast_expression "(code **)(pcStack_130 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7990)" ( (binary_expression "pcStack_130 + -0x7990" identifier + number_literal) ))))) )) (argument_list "(pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742)" ( identifier , (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2c20" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2ac4" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (if_statement "if (pMVar32 == (MagickBooleanType *)0x0) {\n          MVar7 = MagickFalse;\n          pDVar39 = pDVar39 + 0x221;\n          goto LAB_00212c9c;\n        }" if (parenthesized_expression "(pMVar32 == (MagickBooleanType *)0x0)" ( (binary_expression "pMVar32 == (MagickBooleanType *)0x0" identifier == (cast_expression "(MagickBooleanType *)0x0" ( (type_descriptor "MagickBooleanType *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          MVar7 = MagickFalse;\n          pDVar39 = pDVar39 + 0x221;\n          goto LAB_00212c9c;\n        }" { (expression_statement "MVar7 = MagickFalse;" (assignment_expression "MVar7 = MagickFalse" identifier = identifier) ;) (expression_statement "pDVar39 = pDVar39 + 0x221;" (assignment_expression "pDVar39 = pDVar39 + 0x221" identifier = (binary_expression "pDVar39 + 0x221" identifier + number_literal)) ;) (goto_statement "goto LAB_00212c9c;" goto statement_identifier ;) })) (goto_statement "goto LAB_00212c74;" goto statement_identifier ;) })) (expression_statement "puVar38 = &uStack_120;" (assignment_expression "puVar38 = &uStack_120" identifier = (pointer_expression "&uStack_120" & identifier)) ;) (expression_statement "unaff_s6 = (uint *)0x0;" (assignment_expression "unaff_s6 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar24 = (**(code **)(pcStack_130 + -0x7748))\n                         (pDVar39,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);" (assignment_expression "uVar24 = (**(code **)(pcStack_130 + -0x7748))\n                         (pDVar39,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7748))\n                         (pDVar39,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7748))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7748)" * (pointer_expression "*(code **)(pcStack_130 + -0x7748)" * (cast_expression "(code **)(pcStack_130 + -0x7748)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7748)" ( (binary_expression "pcStack_130 + -0x7748" identifier + number_literal) ))))) )) (argument_list "(pDVar39,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8)" ( identifier , (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2bf8" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar29 = (**(code **)(pcStack_130 + -0x7694))(uVar24);" (assignment_expression "iVar29 = (**(code **)(pcStack_130 + -0x7694))(uVar24)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7694))(uVar24)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7694))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7694)" * (pointer_expression "*(code **)(pcStack_130 + -0x7694)" * (cast_expression "(code **)(pcStack_130 + -0x7694)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7694)" ( (binary_expression "pcStack_130 + -0x7694" identifier + number_literal) ))))) )) (argument_list "(uVar24)" ( identifier )))) ;) (expression_statement "uStack_124 = (uint)(iVar29 != 0);" (assignment_expression "uStack_124 = (uint)(iVar29 != 0)" identifier = (call_expression "(uint)(iVar29 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar29 != 0)" ( (binary_expression "iVar29 != 0" identifier != number_literal) )))) ;) (while_statement "while( true ) {\n        iVar29 = *(int *)pDVar39[0x1d].a;\n        pMVar32[0x97] = MagickTrue;\n        *pMVar32 = MagickTrue;\n        pMVar32[0xaf] = unaff_s8;\n        pMVar32[2] = unaff_s7;\n        pMVar32[6] = MStack_118;\n        pMVar32[7] = MStack_11c;\n        pMVar32[8] = 8;\n        if (iVar29 != 0) break;\n        iVar29 = (**(code **)(pcStack_130 + -0x7404))(pMVar32,MStack_118,MStack_11c,pDVar19);\n        if (iVar29 == 0) {\nLAB_00213284:\n          MVar7 = (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pMVar32,pDVar19);\n        pDStack_140 = pDVar19;\n        iVar29 = (*pcStack_128)(pDVar39,pMVar32,puVar38,uStack_124);\n        if (iVar29 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pMVar32);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          MVar7 = (**(code **)(pcStack_130 + -0x7464))(pMVar32);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar37) break;\n        iVar29 = (**(code **)(pcStack_130 + -0x7168))(pMVar32);\n        if (iVar29 != 0) {\n          pDStack_134 = pDVar39 + 0x221;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pDStack_140 = (DDSColors *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar44 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pDVar39,pMVar32,pDVar19);\n        iVar29 = (**(code **)(pcStack_130 + -0x7440))(pMVar32);\n        if (iVar29 == 0) goto LAB_00213284;\n        pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_130 + -0x74a8))(pMVar32);\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        iVar29 = *(int *)pDVar39[0x1d].a;\n        pMVar32[0x97] = MagickTrue;\n        *pMVar32 = MagickTrue;\n        pMVar32[0xaf] = unaff_s8;\n        pMVar32[2] = unaff_s7;\n        pMVar32[6] = MStack_118;\n        pMVar32[7] = MStack_11c;\n        pMVar32[8] = 8;\n        if (iVar29 != 0) break;\n        iVar29 = (**(code **)(pcStack_130 + -0x7404))(pMVar32,MStack_118,MStack_11c,pDVar19);\n        if (iVar29 == 0) {\nLAB_00213284:\n          MVar7 = (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pMVar32,pDVar19);\n        pDStack_140 = pDVar19;\n        iVar29 = (*pcStack_128)(pDVar39,pMVar32,puVar38,uStack_124);\n        if (iVar29 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pMVar32);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          MVar7 = (**(code **)(pcStack_130 + -0x7464))(pMVar32);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar37) break;\n        iVar29 = (**(code **)(pcStack_130 + -0x7168))(pMVar32);\n        if (iVar29 != 0) {\n          pDStack_134 = pDVar39 + 0x221;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pDStack_140 = (DDSColors *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar44 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pDVar39,pMVar32,pDVar19);\n        iVar29 = (**(code **)(pcStack_130 + -0x7440))(pMVar32);\n        if (iVar29 == 0) goto LAB_00213284;\n        pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_130 + -0x74a8))(pMVar32);\n      }" { (expression_statement "iVar29 = *(int *)pDVar39[0x1d].a;" (assignment_expression "iVar29 = *(int *)pDVar39[0x1d].a" identifier = (pointer_expression "*(int *)pDVar39[0x1d].a" * (cast_expression "(int *)pDVar39[0x1d].a" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar39[0x1d].a" (subscript_expression "pDVar39[0x1d]" identifier [ number_literal ]) . field_identifier)))) ;) (expression_statement "pMVar32[0x97] = MagickTrue;" (assignment_expression "pMVar32[0x97] = MagickTrue" (subscript_expression "pMVar32[0x97]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*pMVar32 = MagickTrue;" (assignment_expression "*pMVar32 = MagickTrue" (pointer_expression "*pMVar32" * identifier) = identifier) ;) (expression_statement "pMVar32[0xaf] = unaff_s8;" (assignment_expression "pMVar32[0xaf] = unaff_s8" (subscript_expression "pMVar32[0xaf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pMVar32[2] = unaff_s7;" (assignment_expression "pMVar32[2] = unaff_s7" (subscript_expression "pMVar32[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pMVar32[6] = MStack_118;" (assignment_expression "pMVar32[6] = MStack_118" (subscript_expression "pMVar32[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pMVar32[7] = MStack_11c;" (assignment_expression "pMVar32[7] = MStack_11c" (subscript_expression "pMVar32[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pMVar32[8] = 8;" (assignment_expression "pMVar32[8] = 8" (subscript_expression "pMVar32[8]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar29 != 0) break;" if (parenthesized_expression "(iVar29 != 0)" ( (binary_expression "iVar29 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar29 = (**(code **)(pcStack_130 + -0x7404))(pMVar32,MStack_118,MStack_11c,pDVar19);" (assignment_expression "iVar29 = (**(code **)(pcStack_130 + -0x7404))(pMVar32,MStack_118,MStack_11c,pDVar19)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7404))(pMVar32,MStack_118,MStack_11c,pDVar19)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7404))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7404)" * (pointer_expression "*(code **)(pcStack_130 + -0x7404)" * (cast_expression "(code **)(pcStack_130 + -0x7404)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7404)" ( (binary_expression "pcStack_130 + -0x7404" identifier + number_literal) ))))) )) (argument_list "(pMVar32,MStack_118,MStack_11c,pDVar19)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar29 == 0) {\nLAB_00213284:\n          MVar7 = (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n          goto LAB_00212c9c;\n        }" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00213284:\n          MVar7 = (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n          goto LAB_00212c9c;\n        }" { (labeled_statement "LAB_00213284:\n          MVar7 = (**(code **)(pcStack_130 + -0x73a0))(pMVar32);" statement_identifier : (expression_statement "MVar7 = (**(code **)(pcStack_130 + -0x73a0))(pMVar32);" (assignment_expression "MVar7 = (**(code **)(pcStack_130 + -0x73a0))(pMVar32)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x73a0))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x73a0))" ( (pointer_expression "**(code **)(pcStack_130 + -0x73a0)" * (pointer_expression "*(code **)(pcStack_130 + -0x73a0)" * (cast_expression "(code **)(pcStack_130 + -0x73a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x73a0)" ( (binary_expression "pcStack_130 + -0x73a0" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier )))) ;)) (goto_statement "goto LAB_00212c9c;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcStack_130 + -0x7a20))(pMVar32,pDVar19);" (call_expression "(**(code **)(pcStack_130 + -0x7a20))(pMVar32,pDVar19)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7a20))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7a20)" * (pointer_expression "*(code **)(pcStack_130 + -0x7a20)" * (cast_expression "(code **)(pcStack_130 + -0x7a20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7a20)" ( (binary_expression "pcStack_130 + -0x7a20" identifier + number_literal) ))))) )) (argument_list "(pMVar32,pDVar19)" ( identifier , identifier ))) ;) (expression_statement "pDStack_140 = pDVar19;" (assignment_expression "pDStack_140 = pDVar19" identifier = identifier) ;) (expression_statement "iVar29 = (*pcStack_128)(pDVar39,pMVar32,puVar38,uStack_124);" (assignment_expression "iVar29 = (*pcStack_128)(pDVar39,pMVar32,puVar38,uStack_124)" identifier = (call_expression "(*pcStack_128)(pDVar39,pMVar32,puVar38,uStack_124)" (parenthesized_expression "(*pcStack_128)" ( (pointer_expression "*pcStack_128" * identifier) )) (argument_list "(pDVar39,pMVar32,puVar38,uStack_124)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar29 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pMVar32);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          MVar7 = (**(code **)(pcStack_130 + -0x7464))(pMVar32);\n          goto LAB_00212c9c;\n        }" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (compound_statement "{\n          (**(code **)(pcStack_130 + -0x7228))(pMVar32);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          MVar7 = (**(code **)(pcStack_130 + -0x7464))(pMVar32);\n          goto LAB_00212c9c;\n        }" { (expression_statement "(**(code **)(pcStack_130 + -0x7228))(pMVar32);" (call_expression "(**(code **)(pcStack_130 + -0x7228))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7228))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7228)" * (pointer_expression "*(code **)(pcStack_130 + -0x7228)" * (cast_expression "(code **)(pcStack_130 + -0x7228)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7228)" ( (binary_expression "pcStack_130 + -0x7228" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier ))) ;) (if_statement "if (unaff_s6 == (uint *)0x0) goto LAB_00213284;" if (parenthesized_expression "(unaff_s6 == (uint *)0x0)" ( (binary_expression "unaff_s6 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00213284;" goto statement_identifier ;)) (expression_statement "MVar7 = (**(code **)(pcStack_130 + -0x7464))(pMVar32);" (assignment_expression "MVar7 = (**(code **)(pcStack_130 + -0x7464))(pMVar32)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7464))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7464))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7464)" * (pointer_expression "*(code **)(pcStack_130 + -0x7464)" * (cast_expression "(code **)(pcStack_130 + -0x7464)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7464)" ( (binary_expression "pcStack_130 + -0x7464" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier )))) ;) (goto_statement "goto LAB_00212c9c;" goto statement_identifier ;) })) (expression_statement "unaff_s6 = (uint *)((int)unaff_s6 + 1);" (assignment_expression "unaff_s6 = (uint *)((int)unaff_s6 + 1)" identifier = (cast_expression "(uint *)((int)unaff_s6 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + 1)" ( (binary_expression "(int)unaff_s6 + 1" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (unaff_s6 == puVar37) break;" if (parenthesized_expression "(unaff_s6 == puVar37)" ( (binary_expression "unaff_s6 == puVar37" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar29 = (**(code **)(pcStack_130 + -0x7168))(pMVar32);" (assignment_expression "iVar29 = (**(code **)(pcStack_130 + -0x7168))(pMVar32)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7168))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7168))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7168)" * (pointer_expression "*(code **)(pcStack_130 + -0x7168)" * (cast_expression "(code **)(pcStack_130 + -0x7168)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7168)" ( (binary_expression "pcStack_130 + -0x7168" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier )))) ;) (if_statement "if (iVar29 != 0) {\n          pDStack_134 = pDVar39 + 0x221;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pDStack_140 = (DDSColors *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar44 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }" if (parenthesized_expression "(iVar29 != 0)" ( (binary_expression "iVar29 != 0" identifier != number_literal) )) (compound_statement "{\n          pDStack_134 = pDVar39 + 0x221;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pDStack_140 = (DDSColors *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar44 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }" { (expression_statement "pDStack_134 = pDVar39 + 0x221;" (assignment_expression "pDStack_134 = pDVar39 + 0x221" identifier = (binary_expression "pDVar39 + 0x221" identifier + number_literal)) ;) (expression_statement "iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;" (assignment_expression "iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28" identifier = (binary_expression "*(int *)(pcStack_130 + -0x7fd0) + 0x3e28" (pointer_expression "*(int *)(pcStack_130 + -0x7fd0)" * (cast_expression "(int *)(pcStack_130 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7fd0)" ( (binary_expression "pcStack_130 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);" (assignment_expression "pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c)" identifier = (cast_expression "(DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c)" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_130 + -0x7fc4) + -0x17c)" ( (binary_expression "*(int *)(pcStack_130 + -0x7fc4) + -0x17c" (pointer_expression "*(int *)(pcStack_130 + -0x7fc4)" * (cast_expression "(int *)(pcStack_130 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7fc4)" ( (binary_expression "pcStack_130 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pDStack_140 = (DDSColors *)&DAT_000001a9;" (assignment_expression "pDStack_140 = (DDSColors *)&DAT_000001a9" identifier = (cast_expression "(DDSColors *)&DAT_000001a9" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000001a9" & identifier))) ;) (expression_statement "(**(code **)(pcStack_130 + -0x7990))\n                    (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);" (call_expression "(**(code **)(pcStack_130 + -0x7990))\n                    (pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7990))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7990)" * (pointer_expression "*(code **)(pcStack_130 + -0x7990)" * (cast_expression "(code **)(pcStack_130 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7990)" ( (binary_expression "pcStack_130 + -0x7990" identifier + number_literal) ))))) )) (argument_list "(pDVar19,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e)" ( identifier , (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2c20" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2ac4" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "pcVar44 = *(code **)(pcStack_130 + -0x7228);" (assignment_expression "pcVar44 = *(code **)(pcStack_130 + -0x7228)" identifier = (pointer_expression "*(code **)(pcStack_130 + -0x7228)" * (cast_expression "(code **)(pcStack_130 + -0x7228)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7228)" ( (binary_expression "pcStack_130 + -0x7228" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00212c7c;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcStack_130 + -0x7920))(pDVar39,pMVar32,pDVar19);" (call_expression "(**(code **)(pcStack_130 + -0x7920))(pDVar39,pMVar32,pDVar19)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7920))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7920)" * (pointer_expression "*(code **)(pcStack_130 + -0x7920)" * (cast_expression "(code **)(pcStack_130 + -0x7920)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7920)" ( (binary_expression "pcStack_130 + -0x7920" identifier + number_literal) ))))) )) (argument_list "(pDVar39,pMVar32,pDVar19)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar29 = (**(code **)(pcStack_130 + -0x7440))(pMVar32);" (assignment_expression "iVar29 = (**(code **)(pcStack_130 + -0x7440))(pMVar32)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7440))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7440))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7440)" * (pointer_expression "*(code **)(pcStack_130 + -0x7440)" * (cast_expression "(code **)(pcStack_130 + -0x7440)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7440)" ( (binary_expression "pcStack_130 + -0x7440" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier )))) ;) (if_statement "if (iVar29 == 0) goto LAB_00213284;" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00213284;" goto statement_identifier ;)) (expression_statement "pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_130 + -0x74a8))(pMVar32);" (assignment_expression "pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_130 + -0x74a8))(pMVar32)" identifier = (cast_expression "(MagickBooleanType *)(**(code **)(pcStack_130 + -0x74a8))(pMVar32)" ( (type_descriptor "MagickBooleanType *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_130 + -0x74a8))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x74a8))" ( (pointer_expression "**(code **)(pcStack_130 + -0x74a8)" * (pointer_expression "*(code **)(pcStack_130 + -0x74a8)" * (cast_expression "(code **)(pcStack_130 + -0x74a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x74a8)" ( (binary_expression "pcStack_130 + -0x74a8" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier ))))) ;) })) (expression_statement "(**(code **)(pcStack_130 + -0x7228))(pMVar32);" (call_expression "(**(code **)(pcStack_130 + -0x7228))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7228))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7228)" * (pointer_expression "*(code **)(pcStack_130 + -0x7228)" * (cast_expression "(code **)(pcStack_130 + -0x7228)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7228)" ( (binary_expression "pcStack_130 + -0x7228" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier ))) ;) (expression_statement "MVar7 = (**(code **)(pcStack_130 + -0x7464))(pMVar32);" (assignment_expression "MVar7 = (**(code **)(pcStack_130 + -0x7464))(pMVar32)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7464))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7464))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7464)" * (pointer_expression "*(code **)(pcStack_130 + -0x7464)" * (cast_expression "(code **)(pcStack_130 + -0x7464)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7464)" ( (binary_expression "pcStack_130 + -0x7464" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier )))) ;) }) (else_clause "else {\nLAB_00212c24:\n      uVar24 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar21 = *(int *)(pcStack_130 + -0x7f60);\n      iVar29 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar44 = *(code **)(pcStack_130 + -0x7990);\n      pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pDStack_134 = pDVar39 + 0x221;\n      iStack_138 = iStack_138 + 0x3e28;\n      pDStack_140 = (DDSColors *)&DAT_000001a9;\n      (*pcVar44)(pDVar19,iVar29 + -0x2c20,iVar21 + -0x2ac4,uVar24);\n      if (pMVar32 != (MagickBooleanType *)0x0) {\nLAB_00212c74:\n        pcVar44 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar44)(pMVar32);\n        (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n      }\n      MVar7 = MagickFalse;\n      pDVar39 = pDVar39 + 0x221;\n    }" else (compound_statement "{\nLAB_00212c24:\n      uVar24 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar21 = *(int *)(pcStack_130 + -0x7f60);\n      iVar29 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar44 = *(code **)(pcStack_130 + -0x7990);\n      pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pDStack_134 = pDVar39 + 0x221;\n      iStack_138 = iStack_138 + 0x3e28;\n      pDStack_140 = (DDSColors *)&DAT_000001a9;\n      (*pcVar44)(pDVar19,iVar29 + -0x2c20,iVar21 + -0x2ac4,uVar24);\n      if (pMVar32 != (MagickBooleanType *)0x0) {\nLAB_00212c74:\n        pcVar44 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar44)(pMVar32);\n        (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n      }\n      MVar7 = MagickFalse;\n      pDVar39 = pDVar39 + 0x221;\n    }" { (labeled_statement "LAB_00212c24:\n      uVar24 = 0x6dd;" statement_identifier : (expression_statement "uVar24 = 0x6dd;" (assignment_expression "uVar24 = 0x6dd" identifier = number_literal) ;)) (labeled_statement "LAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);" statement_identifier : (expression_statement "iStack_138 = *(int *)(pcStack_130 + -0x7fd0);" (assignment_expression "iStack_138 = *(int *)(pcStack_130 + -0x7fd0)" identifier = (pointer_expression "*(int *)(pcStack_130 + -0x7fd0)" * (cast_expression "(int *)(pcStack_130 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7fd0)" ( (binary_expression "pcStack_130 + -0x7fd0" identifier + number_literal) ))))) ;)) (expression_statement "iVar21 = *(int *)(pcStack_130 + -0x7f60);" (assignment_expression "iVar21 = *(int *)(pcStack_130 + -0x7f60)" identifier = (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) ))))) ;) (expression_statement "iVar29 = *(int *)(pcStack_130 + -0x7f60);" (assignment_expression "iVar29 = *(int *)(pcStack_130 + -0x7f60)" identifier = (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) ))))) ;) (expression_statement "pcVar44 = *(code **)(pcStack_130 + -0x7990);" (assignment_expression "pcVar44 = *(code **)(pcStack_130 + -0x7990)" identifier = (pointer_expression "*(code **)(pcStack_130 + -0x7990)" * (cast_expression "(code **)(pcStack_130 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7990)" ( (binary_expression "pcStack_130 + -0x7990" identifier + number_literal) ))))) ;) (expression_statement "pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -400);" (assignment_expression "pDStack_13c = (DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -400)" identifier = (cast_expression "(DDSColors *)(*(int *)(pcStack_130 + -0x7fc4) + -400)" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_130 + -0x7fc4) + -400)" ( (binary_expression "*(int *)(pcStack_130 + -0x7fc4) + -400" (pointer_expression "*(int *)(pcStack_130 + -0x7fc4)" * (cast_expression "(int *)(pcStack_130 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7fc4)" ( (binary_expression "pcStack_130 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_00212c58:\n      pDStack_134 = pDVar39 + 0x221;" statement_identifier : (expression_statement "pDStack_134 = pDVar39 + 0x221;" (assignment_expression "pDStack_134 = pDVar39 + 0x221" identifier = (binary_expression "pDVar39 + 0x221" identifier + number_literal)) ;)) (expression_statement "iStack_138 = iStack_138 + 0x3e28;" (assignment_expression "iStack_138 = iStack_138 + 0x3e28" identifier = (binary_expression "iStack_138 + 0x3e28" identifier + number_literal)) ;) (expression_statement "pDStack_140 = (DDSColors *)&DAT_000001a9;" (assignment_expression "pDStack_140 = (DDSColors *)&DAT_000001a9" identifier = (cast_expression "(DDSColors *)&DAT_000001a9" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000001a9" & identifier))) ;) (expression_statement "(*pcVar44)(pDVar19,iVar29 + -0x2c20,iVar21 + -0x2ac4,uVar24);" (call_expression "(*pcVar44)(pDVar19,iVar29 + -0x2c20,iVar21 + -0x2ac4,uVar24)" (parenthesized_expression "(*pcVar44)" ( (pointer_expression "*pcVar44" * identifier) )) (argument_list "(pDVar19,iVar29 + -0x2c20,iVar21 + -0x2ac4,uVar24)" ( identifier , (binary_expression "iVar29 + -0x2c20" identifier + number_literal) , (binary_expression "iVar21 + -0x2ac4" identifier + number_literal) , identifier ))) ;) (if_statement "if (pMVar32 != (MagickBooleanType *)0x0) {\nLAB_00212c74:\n        pcVar44 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar44)(pMVar32);\n        (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n      }" if (parenthesized_expression "(pMVar32 != (MagickBooleanType *)0x0)" ( (binary_expression "pMVar32 != (MagickBooleanType *)0x0" identifier != (cast_expression "(MagickBooleanType *)0x0" ( (type_descriptor "MagickBooleanType *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00212c74:\n        pcVar44 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar44)(pMVar32);\n        (**(code **)(pcStack_130 + -0x73a0))(pMVar32);\n      }" { (labeled_statement "LAB_00212c74:\n        pcVar44 = *(code **)(pcStack_130 + -0x7228);" statement_identifier : (expression_statement "pcVar44 = *(code **)(pcStack_130 + -0x7228);" (assignment_expression "pcVar44 = *(code **)(pcStack_130 + -0x7228)" identifier = (pointer_expression "*(code **)(pcStack_130 + -0x7228)" * (cast_expression "(code **)(pcStack_130 + -0x7228)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7228)" ( (binary_expression "pcStack_130 + -0x7228" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_00212c7c:\n        (*pcVar44)(pMVar32);" statement_identifier : (expression_statement "(*pcVar44)(pMVar32);" (call_expression "(*pcVar44)(pMVar32)" (parenthesized_expression "(*pcVar44)" ( (pointer_expression "*pcVar44" * identifier) )) (argument_list "(pMVar32)" ( identifier ))) ;)) (expression_statement "(**(code **)(pcStack_130 + -0x73a0))(pMVar32);" (call_expression "(**(code **)(pcStack_130 + -0x73a0))(pMVar32)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x73a0))" ( (pointer_expression "**(code **)(pcStack_130 + -0x73a0)" * (pointer_expression "*(code **)(pcStack_130 + -0x73a0)" * (cast_expression "(code **)(pcStack_130 + -0x73a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x73a0)" ( (binary_expression "pcStack_130 + -0x73a0" identifier + number_literal) ))))) )) (argument_list "(pMVar32)" ( identifier ))) ;) })) (expression_statement "MVar7 = MagickFalse;" (assignment_expression "MVar7 = MagickFalse" identifier = identifier) ;) (expression_statement "pDVar39 = pDVar39 + 0x221;" (assignment_expression "pDVar39 = pDVar39 + 0x221" identifier = (binary_expression "pDVar39 + 0x221" identifier + number_literal)) ;) }))) (labeled_statement "LAB_00212c9c:\n    pcVar44 = pcStack_130;" statement_identifier : (expression_statement "pcVar44 = pcStack_130;" (assignment_expression "pcVar44 = pcStack_130" identifier = identifier) ;)) (if_statement "if (iStack_e4 == *piVar35) {\n      return MVar7;\n    }" if (parenthesized_expression "(iStack_e4 == *piVar35)" ( (binary_expression "iStack_e4 == *piVar35" identifier == (pointer_expression "*piVar35" * identifier)) )) (compound_statement "{\n      return MVar7;\n    }" { (return_statement "return MVar7;" return identifier ;) })) }))) (expression_statement "(**(code **)(pcVar44 + -0x784c))();" (call_expression "(**(code **)(pcVar44 + -0x784c))()" (parenthesized_expression "(**(code **)(pcVar44 + -0x784c))" ( (pointer_expression "**(code **)(pcVar44 + -0x784c)" * (pointer_expression "*(code **)(pcVar44 + -0x784c)" * (cast_expression "(code **)(pcVar44 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + -0x784c)" ( (binary_expression "pcVar44 + -0x784c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_00213390:\n  pDVar19 = (DDSColors *)0x6c8;" statement_identifier : (expression_statement "pDVar19 = (DDSColors *)0x6c8;" (assignment_expression "pDVar19 = (DDSColors *)0x6c8" identifier = (cast_expression "(DDSColors *)0x6c8" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pcVar43 = *(code **)(pcVar44 + -0x72a8);" (assignment_expression "pcVar43 = *(code **)(pcVar44 + -0x72a8)" identifier = (pointer_expression "*(code **)(pcVar44 + -0x72a8)" * (cast_expression "(code **)(pcVar44 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + -0x72a8)" ( (binary_expression "pcVar44 + -0x72a8" identifier + number_literal) ))))) ;) (expression_statement "pcVar42 = (code *)(*(int *)(pcVar44 + -0x7f60) + -0x2ab4);" (assignment_expression "pcVar42 = (code *)(*(int *)(pcVar44 + -0x7f60) + -0x2ab4)" identifier = (cast_expression "(code *)(*(int *)(pcVar44 + -0x7f60) + -0x2ab4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + -0x7f60) + -0x2ab4)" ( (binary_expression "*(int *)(pcVar44 + -0x7f60) + -0x2ab4" (pointer_expression "*(int *)(pcVar44 + -0x7f60)" * (cast_expression "(int *)(pcVar44 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + -0x7f60)" ( (binary_expression "pcVar44 + -0x7f60" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pDVar4 = (DDSColors *)(*(int *)(pcVar44 + -0x7f60) + -0x2c20);" (assignment_expression "pDVar4 = (DDSColors *)(*(int *)(pcVar44 + -0x7f60) + -0x2c20)" identifier = (cast_expression "(DDSColors *)(*(int *)(pcVar44 + -0x7f60) + -0x2c20)" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + -0x7f60) + -0x2c20)" ( (binary_expression "*(int *)(pcVar44 + -0x7f60) + -0x2c20" (pointer_expression "*(int *)(pcVar44 + -0x7f60)" * (cast_expression "(int *)(pcVar44 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + -0x7f60)" ( (binary_expression "pcVar44 + -0x7f60" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar45 = ReadDXT5Pixels;" (assignment_expression "pcVar45 = ReadDXT5Pixels" identifier = identifier) ;) (expression_statement "puVar36 = (uint *)(*(int *)(pcVar44 + -0x7fd0) + 0xda0);" (assignment_expression "puVar36 = (uint *)(*(int *)(pcVar44 + -0x7fd0) + 0xda0)" identifier = (cast_expression "(uint *)(*(int *)(pcVar44 + -0x7fd0) + 0xda0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + -0x7fd0) + 0xda0)" ( (binary_expression "*(int *)(pcVar44 + -0x7fd0) + 0xda0" (pointer_expression "*(int *)(pcVar44 + -0x7fd0)" * (cast_expression "(int *)(pcVar44 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + -0x7fd0)" ( (binary_expression "pcVar44 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar43)();" (call_expression "(*pcVar43)()" (parenthesized_expression "(*pcVar43)" ( (pointer_expression "*pcVar43" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_1c8 = pcVar43 + 0x19d4fc;" (assignment_expression "pcStack_1c8 = pcVar43 + 0x19d4fc" identifier = (binary_expression "pcVar43 + 0x19d4fc" identifier + number_literal)) ;) (expression_statement "piStack_1a4 = *(int **)(pcVar43 + 0x195e7c);" (assignment_expression "piStack_1a4 = *(int **)(pcVar43 + 0x195e7c)" identifier = (pointer_expression "*(int **)(pcVar43 + 0x195e7c)" * (cast_expression "(int **)(pcVar43 + 0x195e7c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar43 + 0x195e7c)" ( (binary_expression "pcVar43 + 0x195e7c" identifier + number_literal) ))))) ;) (expression_statement "pDStack_1a8 = (DDSColors *)0x0;" (assignment_expression "pDStack_1a8 = (DDSColors *)0x0" identifier = (cast_expression "(DDSColors *)0x0" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_18c = *piStack_1a4;" (assignment_expression "iStack_18c = *piStack_1a4" identifier = (pointer_expression "*piStack_1a4" * identifier)) ;) (expression_statement "uVar52 = puVar36[7];" (assignment_expression "uVar52 = puVar36[7]" identifier = (subscript_expression "puVar36[7]" identifier [ number_literal ])) ;) (expression_statement "pDStack_1b4 = pDVar19;" (assignment_expression "pDStack_1b4 = pDVar19" identifier = identifier) ;) (expression_statement "pMStack_188 = pMVar32;" (assignment_expression "pMStack_188 = pMVar32" identifier = identifier) ;) (expression_statement "pDStack_184 = pDVar39;" (assignment_expression "pDStack_184 = pDVar39" identifier = identifier) ;) (expression_statement "pDStack_180 = pDVar33;" (assignment_expression "pDStack_180 = pDVar33" identifier = identifier) ;) (expression_statement "piStack_17c = piVar35;" (assignment_expression "piStack_17c = piVar35" identifier = identifier) ;) (expression_statement "puStack_178 = puVar37;" (assignment_expression "puStack_178 = puVar37" identifier = identifier) ;) (expression_statement "puStack_174 = puVar38;" (assignment_expression "puStack_174 = puVar38" identifier = identifier) ;) (expression_statement "puStack_170 = unaff_s6;" (assignment_expression "puStack_170 = unaff_s6" identifier = identifier) ;) (expression_statement "MStack_16c = unaff_s7;" (assignment_expression "MStack_16c = unaff_s7" identifier = identifier) ;) (expression_statement "MStack_168 = unaff_s8;" (assignment_expression "MStack_168 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_164 = pcVar45;" (assignment_expression "pcStack_164 = pcVar45" identifier = identifier) ;) (if_statement "if (0 < (int)uVar52) {\n    in_f22_23 = *(double *)(*(int *)(pcVar43 + 0x195534) + -0x5af0);\n    in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar43 + 0x19552c) + 0x1a50));\n    do {\n      pDVar22 = pDStack_1a8;\n      pcVar42 = (code *)puVar36[6];\n      pDVar33 = (DDSColors *)0x0;\n      if (0 < (int)pcVar42) {\n        do {\n          pcVar44 = pcVar42 + -(int)pDVar33;\n          uStack_1d0 = uVar52 - (int)pDVar22;\n          pDStack_1cc = pDStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar42 = (code *)&DAT_00000004;\n          if (pcVar44 < &DAT_00000005) {\n            pcVar42 = pcVar44;\n          }\n          pDVar4 = pDVar33;\n          pDVar19 = pDVar22;\n          pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_1c8 + -0x798c))(puVar36);\n          pDVar39 = pDVar22;\n          if (pMVar32 == (MagickBooleanType *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar36);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar38 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar36);\n          piVar35 = (int *)((uint)puVar38 & 0xff);\n          unaff_s7 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          pDVar4 = (DDSColors *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          unaff_s8 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36);\n          pcVar42 = (code *)0x1;\n          pDVar19 = &DStack_19c;\n          CalculateColors((ushort)uStack_1bc,(ushort)pDVar4,pDVar19,MagickTrue);\n          iVar29 = (**(code **)(pcStack_1c8 + -0x7168))(puVar36);\n          if (iVar29 != 0) goto LAB_002137bc;\n          iVar29 = 0;\n          uVar52 = puVar36[6];\n          piVar35 = (int *)(uint)(piVar35 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar38 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pDVar4 = pDVar22;\n          do {\n            iVar21 = 0;\n            puVar38 = (uint *)&DAT_00000007;\n            pDVar15 = pDVar33;\n            do {\n              if (((int)pDVar15 < (int)uVar52) && ((int)pDVar4 < (int)puVar36[7])) {\n                uVar49 = puVar36[0xb4];\n                uVar53 = (iVar29 + iVar21) * 3;\n                uVar48 = unaff_s8 >> ((iVar29 + iVar21) * 2 & 0x1fU) & 3;\n                uVar47 = ((int)unaff_s6 << 1) << (~uVar53 & 0x1f) | unaff_s7 >> (uVar53 & 0x1f);\n                if ((uVar53 & 0x20) != 0) {\n                  uVar47 = (uint)unaff_s6 >> (uVar53 & 0x1f);\n                }\n                iVar17 = *(int *)(uVar49 + 0x20);\n                pDVar19 = (DDSColors *)(pMVar32 + *(int *)(uVar49 + 0x14));\n                uVar47 = uVar47 & 7;\n                pMVar32[*(int *)(uVar49 + 8)] =\n                     (MagickBooleanType)(float)((double)DStack_19c.r[uVar48] * in_f22_23);\n                pcVar42 = (code *)(uint)DStack_19c.g[uVar48];\n                *(float *)pDVar19->r = (float)((double)(int)pcVar42 * in_f22_23);\n                pMVar32[iVar17] =\n                     (MagickBooleanType)(float)((double)DStack_19c.b[uVar48] * in_f22_23);\n                if (uVar47 == 0) {\n                  fVar46 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar47 == 1) {\n                  fVar46 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar35 == (int *)0x0) {\n                  fVar46 = 0.0;\n                  if (uVar47 != 6) {\n                    if (uVar47 != 7) {\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar46 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar53 = (uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar49 + 0x34) != 0) {\n                  pMVar32[*(int *)(uVar49 + 0x38)] = (MagickBooleanType)fVar46;\n                }\n                pMVar32 = pMVar32 + puVar36[0xb0];\n              }\n              iVar21 = iVar21 + 1;\n              pDVar15 = (DDSColors *)(pDVar33->r + iVar21);\n            } while (iVar21 != 4);\n            iVar29 = iVar29 + 4;\n            pDVar4 = (DDSColors *)(pDVar4->r + 1);\n          } while (iVar29 != 0x10);\n          pDVar4 = pDStack_1b4;\n          iVar29 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar36);\n          if (iVar29 == 0) goto LAB_002137bc;\n          pcVar42 = (code *)puVar36[6];\n          pDVar33 = (DDSColors *)pDVar33->g;\n          pcVar44 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar42 <= (int)pDVar33) goto LAB_0021380c;\n          uVar52 = puVar36[7];\n        } while( true );\n      }\n      pcVar44 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar29 = (*pcVar44)(puVar36);\n      if (iVar29 != 0) {\nLAB_002137bc:\n        MVar7 = MagickFalse;\n        goto LAB_002137c0;\n      }\n      uVar52 = puVar36[7];\n      pDStack_1a8 = (DDSColors *)pDStack_1a8->g;\n      puVar37 = puVar36;\n    } while ((int)pDStack_1a8 < (int)uVar52);\n  }" if (parenthesized_expression "(0 < (int)uVar52)" ( (binary_expression "0 < (int)uVar52" number_literal < (cast_expression "(int)uVar52" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    in_f22_23 = *(double *)(*(int *)(pcVar43 + 0x195534) + -0x5af0);\n    in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar43 + 0x19552c) + 0x1a50));\n    do {\n      pDVar22 = pDStack_1a8;\n      pcVar42 = (code *)puVar36[6];\n      pDVar33 = (DDSColors *)0x0;\n      if (0 < (int)pcVar42) {\n        do {\n          pcVar44 = pcVar42 + -(int)pDVar33;\n          uStack_1d0 = uVar52 - (int)pDVar22;\n          pDStack_1cc = pDStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar42 = (code *)&DAT_00000004;\n          if (pcVar44 < &DAT_00000005) {\n            pcVar42 = pcVar44;\n          }\n          pDVar4 = pDVar33;\n          pDVar19 = pDVar22;\n          pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_1c8 + -0x798c))(puVar36);\n          pDVar39 = pDVar22;\n          if (pMVar32 == (MagickBooleanType *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar36);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar38 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar36);\n          piVar35 = (int *)((uint)puVar38 & 0xff);\n          unaff_s7 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          pDVar4 = (DDSColors *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          unaff_s8 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36);\n          pcVar42 = (code *)0x1;\n          pDVar19 = &DStack_19c;\n          CalculateColors((ushort)uStack_1bc,(ushort)pDVar4,pDVar19,MagickTrue);\n          iVar29 = (**(code **)(pcStack_1c8 + -0x7168))(puVar36);\n          if (iVar29 != 0) goto LAB_002137bc;\n          iVar29 = 0;\n          uVar52 = puVar36[6];\n          piVar35 = (int *)(uint)(piVar35 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar38 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pDVar4 = pDVar22;\n          do {\n            iVar21 = 0;\n            puVar38 = (uint *)&DAT_00000007;\n            pDVar15 = pDVar33;\n            do {\n              if (((int)pDVar15 < (int)uVar52) && ((int)pDVar4 < (int)puVar36[7])) {\n                uVar49 = puVar36[0xb4];\n                uVar53 = (iVar29 + iVar21) * 3;\n                uVar48 = unaff_s8 >> ((iVar29 + iVar21) * 2 & 0x1fU) & 3;\n                uVar47 = ((int)unaff_s6 << 1) << (~uVar53 & 0x1f) | unaff_s7 >> (uVar53 & 0x1f);\n                if ((uVar53 & 0x20) != 0) {\n                  uVar47 = (uint)unaff_s6 >> (uVar53 & 0x1f);\n                }\n                iVar17 = *(int *)(uVar49 + 0x20);\n                pDVar19 = (DDSColors *)(pMVar32 + *(int *)(uVar49 + 0x14));\n                uVar47 = uVar47 & 7;\n                pMVar32[*(int *)(uVar49 + 8)] =\n                     (MagickBooleanType)(float)((double)DStack_19c.r[uVar48] * in_f22_23);\n                pcVar42 = (code *)(uint)DStack_19c.g[uVar48];\n                *(float *)pDVar19->r = (float)((double)(int)pcVar42 * in_f22_23);\n                pMVar32[iVar17] =\n                     (MagickBooleanType)(float)((double)DStack_19c.b[uVar48] * in_f22_23);\n                if (uVar47 == 0) {\n                  fVar46 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar47 == 1) {\n                  fVar46 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar35 == (int *)0x0) {\n                  fVar46 = 0.0;\n                  if (uVar47 != 6) {\n                    if (uVar47 != 7) {\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar46 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar53 = (uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar49 + 0x34) != 0) {\n                  pMVar32[*(int *)(uVar49 + 0x38)] = (MagickBooleanType)fVar46;\n                }\n                pMVar32 = pMVar32 + puVar36[0xb0];\n              }\n              iVar21 = iVar21 + 1;\n              pDVar15 = (DDSColors *)(pDVar33->r + iVar21);\n            } while (iVar21 != 4);\n            iVar29 = iVar29 + 4;\n            pDVar4 = (DDSColors *)(pDVar4->r + 1);\n          } while (iVar29 != 0x10);\n          pDVar4 = pDStack_1b4;\n          iVar29 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar36);\n          if (iVar29 == 0) goto LAB_002137bc;\n          pcVar42 = (code *)puVar36[6];\n          pDVar33 = (DDSColors *)pDVar33->g;\n          pcVar44 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar42 <= (int)pDVar33) goto LAB_0021380c;\n          uVar52 = puVar36[7];\n        } while( true );\n      }\n      pcVar44 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar29 = (*pcVar44)(puVar36);\n      if (iVar29 != 0) {\nLAB_002137bc:\n        MVar7 = MagickFalse;\n        goto LAB_002137c0;\n      }\n      uVar52 = puVar36[7];\n      pDStack_1a8 = (DDSColors *)pDStack_1a8->g;\n      puVar37 = puVar36;\n    } while ((int)pDStack_1a8 < (int)uVar52);\n  }" { (expression_statement "in_f22_23 = *(double *)(*(int *)(pcVar43 + 0x195534) + -0x5af0);" (assignment_expression "in_f22_23 = *(double *)(*(int *)(pcVar43 + 0x195534) + -0x5af0)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar43 + 0x195534) + -0x5af0)" * (cast_expression "(double *)(*(int *)(pcVar43 + 0x195534) + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar43 + 0x195534) + -0x5af0)" ( (binary_expression "*(int *)(pcVar43 + 0x195534) + -0x5af0" (pointer_expression "*(int *)(pcVar43 + 0x195534)" * (cast_expression "(int *)(pcVar43 + 0x195534)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x195534)" ( (binary_expression "pcVar43 + 0x195534" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar43 + 0x19552c) + 0x1a50));" (assignment_expression "in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar43 + 0x19552c) + 0x1a50))" identifier = (call_expression "CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar43 + 0x19552c) + 0x1a50))" identifier (argument_list "((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar43 + 0x19552c) + 0x1a50))" ( (cast_expression "(int)((ulonglong)in_f20_21 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)in_f20_21 >> 0x20)" ( (binary_expression "(ulonglong)in_f20_21 >> 0x20" (cast_expression "(ulonglong)in_f20_21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (pointer_expression "*(undefined4 *)(*(int *)(pcVar43 + 0x19552c) + 0x1a50)" * (cast_expression "(undefined4 *)(*(int *)(pcVar43 + 0x19552c) + 0x1a50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar43 + 0x19552c) + 0x1a50)" ( (binary_expression "*(int *)(pcVar43 + 0x19552c) + 0x1a50" (pointer_expression "*(int *)(pcVar43 + 0x19552c)" * (cast_expression "(int *)(pcVar43 + 0x19552c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar43 + 0x19552c)" ( (binary_expression "pcVar43 + 0x19552c" identifier + number_literal) )))) + number_literal) )))) )))) ;) (do_statement "do {\n      pDVar22 = pDStack_1a8;\n      pcVar42 = (code *)puVar36[6];\n      pDVar33 = (DDSColors *)0x0;\n      if (0 < (int)pcVar42) {\n        do {\n          pcVar44 = pcVar42 + -(int)pDVar33;\n          uStack_1d0 = uVar52 - (int)pDVar22;\n          pDStack_1cc = pDStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar42 = (code *)&DAT_00000004;\n          if (pcVar44 < &DAT_00000005) {\n            pcVar42 = pcVar44;\n          }\n          pDVar4 = pDVar33;\n          pDVar19 = pDVar22;\n          pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_1c8 + -0x798c))(puVar36);\n          pDVar39 = pDVar22;\n          if (pMVar32 == (MagickBooleanType *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar36);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar38 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar36);\n          piVar35 = (int *)((uint)puVar38 & 0xff);\n          unaff_s7 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          pDVar4 = (DDSColors *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          unaff_s8 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36);\n          pcVar42 = (code *)0x1;\n          pDVar19 = &DStack_19c;\n          CalculateColors((ushort)uStack_1bc,(ushort)pDVar4,pDVar19,MagickTrue);\n          iVar29 = (**(code **)(pcStack_1c8 + -0x7168))(puVar36);\n          if (iVar29 != 0) goto LAB_002137bc;\n          iVar29 = 0;\n          uVar52 = puVar36[6];\n          piVar35 = (int *)(uint)(piVar35 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar38 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pDVar4 = pDVar22;\n          do {\n            iVar21 = 0;\n            puVar38 = (uint *)&DAT_00000007;\n            pDVar15 = pDVar33;\n            do {\n              if (((int)pDVar15 < (int)uVar52) && ((int)pDVar4 < (int)puVar36[7])) {\n                uVar49 = puVar36[0xb4];\n                uVar53 = (iVar29 + iVar21) * 3;\n                uVar48 = unaff_s8 >> ((iVar29 + iVar21) * 2 & 0x1fU) & 3;\n                uVar47 = ((int)unaff_s6 << 1) << (~uVar53 & 0x1f) | unaff_s7 >> (uVar53 & 0x1f);\n                if ((uVar53 & 0x20) != 0) {\n                  uVar47 = (uint)unaff_s6 >> (uVar53 & 0x1f);\n                }\n                iVar17 = *(int *)(uVar49 + 0x20);\n                pDVar19 = (DDSColors *)(pMVar32 + *(int *)(uVar49 + 0x14));\n                uVar47 = uVar47 & 7;\n                pMVar32[*(int *)(uVar49 + 8)] =\n                     (MagickBooleanType)(float)((double)DStack_19c.r[uVar48] * in_f22_23);\n                pcVar42 = (code *)(uint)DStack_19c.g[uVar48];\n                *(float *)pDVar19->r = (float)((double)(int)pcVar42 * in_f22_23);\n                pMVar32[iVar17] =\n                     (MagickBooleanType)(float)((double)DStack_19c.b[uVar48] * in_f22_23);\n                if (uVar47 == 0) {\n                  fVar46 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar47 == 1) {\n                  fVar46 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar35 == (int *)0x0) {\n                  fVar46 = 0.0;\n                  if (uVar47 != 6) {\n                    if (uVar47 != 7) {\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar46 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar53 = (uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar49 + 0x34) != 0) {\n                  pMVar32[*(int *)(uVar49 + 0x38)] = (MagickBooleanType)fVar46;\n                }\n                pMVar32 = pMVar32 + puVar36[0xb0];\n              }\n              iVar21 = iVar21 + 1;\n              pDVar15 = (DDSColors *)(pDVar33->r + iVar21);\n            } while (iVar21 != 4);\n            iVar29 = iVar29 + 4;\n            pDVar4 = (DDSColors *)(pDVar4->r + 1);\n          } while (iVar29 != 0x10);\n          pDVar4 = pDStack_1b4;\n          iVar29 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar36);\n          if (iVar29 == 0) goto LAB_002137bc;\n          pcVar42 = (code *)puVar36[6];\n          pDVar33 = (DDSColors *)pDVar33->g;\n          pcVar44 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar42 <= (int)pDVar33) goto LAB_0021380c;\n          uVar52 = puVar36[7];\n        } while( true );\n      }\n      pcVar44 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar29 = (*pcVar44)(puVar36);\n      if (iVar29 != 0) {\nLAB_002137bc:\n        MVar7 = MagickFalse;\n        goto LAB_002137c0;\n      }\n      uVar52 = puVar36[7];\n      pDStack_1a8 = (DDSColors *)pDStack_1a8->g;\n      puVar37 = puVar36;\n    } while ((int)pDStack_1a8 < (int)uVar52);" do (compound_statement "{\n      pDVar22 = pDStack_1a8;\n      pcVar42 = (code *)puVar36[6];\n      pDVar33 = (DDSColors *)0x0;\n      if (0 < (int)pcVar42) {\n        do {\n          pcVar44 = pcVar42 + -(int)pDVar33;\n          uStack_1d0 = uVar52 - (int)pDVar22;\n          pDStack_1cc = pDStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar42 = (code *)&DAT_00000004;\n          if (pcVar44 < &DAT_00000005) {\n            pcVar42 = pcVar44;\n          }\n          pDVar4 = pDVar33;\n          pDVar19 = pDVar22;\n          pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_1c8 + -0x798c))(puVar36);\n          pDVar39 = pDVar22;\n          if (pMVar32 == (MagickBooleanType *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar36);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar38 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar36);\n          piVar35 = (int *)((uint)puVar38 & 0xff);\n          unaff_s7 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          pDVar4 = (DDSColors *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          unaff_s8 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36);\n          pcVar42 = (code *)0x1;\n          pDVar19 = &DStack_19c;\n          CalculateColors((ushort)uStack_1bc,(ushort)pDVar4,pDVar19,MagickTrue);\n          iVar29 = (**(code **)(pcStack_1c8 + -0x7168))(puVar36);\n          if (iVar29 != 0) goto LAB_002137bc;\n          iVar29 = 0;\n          uVar52 = puVar36[6];\n          piVar35 = (int *)(uint)(piVar35 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar38 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pDVar4 = pDVar22;\n          do {\n            iVar21 = 0;\n            puVar38 = (uint *)&DAT_00000007;\n            pDVar15 = pDVar33;\n            do {\n              if (((int)pDVar15 < (int)uVar52) && ((int)pDVar4 < (int)puVar36[7])) {\n                uVar49 = puVar36[0xb4];\n                uVar53 = (iVar29 + iVar21) * 3;\n                uVar48 = unaff_s8 >> ((iVar29 + iVar21) * 2 & 0x1fU) & 3;\n                uVar47 = ((int)unaff_s6 << 1) << (~uVar53 & 0x1f) | unaff_s7 >> (uVar53 & 0x1f);\n                if ((uVar53 & 0x20) != 0) {\n                  uVar47 = (uint)unaff_s6 >> (uVar53 & 0x1f);\n                }\n                iVar17 = *(int *)(uVar49 + 0x20);\n                pDVar19 = (DDSColors *)(pMVar32 + *(int *)(uVar49 + 0x14));\n                uVar47 = uVar47 & 7;\n                pMVar32[*(int *)(uVar49 + 8)] =\n                     (MagickBooleanType)(float)((double)DStack_19c.r[uVar48] * in_f22_23);\n                pcVar42 = (code *)(uint)DStack_19c.g[uVar48];\n                *(float *)pDVar19->r = (float)((double)(int)pcVar42 * in_f22_23);\n                pMVar32[iVar17] =\n                     (MagickBooleanType)(float)((double)DStack_19c.b[uVar48] * in_f22_23);\n                if (uVar47 == 0) {\n                  fVar46 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar47 == 1) {\n                  fVar46 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar35 == (int *)0x0) {\n                  fVar46 = 0.0;\n                  if (uVar47 != 6) {\n                    if (uVar47 != 7) {\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar46 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar53 = (uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar49 + 0x34) != 0) {\n                  pMVar32[*(int *)(uVar49 + 0x38)] = (MagickBooleanType)fVar46;\n                }\n                pMVar32 = pMVar32 + puVar36[0xb0];\n              }\n              iVar21 = iVar21 + 1;\n              pDVar15 = (DDSColors *)(pDVar33->r + iVar21);\n            } while (iVar21 != 4);\n            iVar29 = iVar29 + 4;\n            pDVar4 = (DDSColors *)(pDVar4->r + 1);\n          } while (iVar29 != 0x10);\n          pDVar4 = pDStack_1b4;\n          iVar29 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar36);\n          if (iVar29 == 0) goto LAB_002137bc;\n          pcVar42 = (code *)puVar36[6];\n          pDVar33 = (DDSColors *)pDVar33->g;\n          pcVar44 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar42 <= (int)pDVar33) goto LAB_0021380c;\n          uVar52 = puVar36[7];\n        } while( true );\n      }\n      pcVar44 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar29 = (*pcVar44)(puVar36);\n      if (iVar29 != 0) {\nLAB_002137bc:\n        MVar7 = MagickFalse;\n        goto LAB_002137c0;\n      }\n      uVar52 = puVar36[7];\n      pDStack_1a8 = (DDSColors *)pDStack_1a8->g;\n      puVar37 = puVar36;\n    }" { (expression_statement "pDVar22 = pDStack_1a8;" (assignment_expression "pDVar22 = pDStack_1a8" identifier = identifier) ;) (expression_statement "pcVar42 = (code *)puVar36[6];" (assignment_expression "pcVar42 = (code *)puVar36[6]" identifier = (cast_expression "(code *)puVar36[6]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar36[6]" identifier [ number_literal ]))) ;) (expression_statement "pDVar33 = (DDSColors *)0x0;" (assignment_expression "pDVar33 = (DDSColors *)0x0" identifier = (cast_expression "(DDSColors *)0x0" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0 < (int)pcVar42) {\n        do {\n          pcVar44 = pcVar42 + -(int)pDVar33;\n          uStack_1d0 = uVar52 - (int)pDVar22;\n          pDStack_1cc = pDStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar42 = (code *)&DAT_00000004;\n          if (pcVar44 < &DAT_00000005) {\n            pcVar42 = pcVar44;\n          }\n          pDVar4 = pDVar33;\n          pDVar19 = pDVar22;\n          pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_1c8 + -0x798c))(puVar36);\n          pDVar39 = pDVar22;\n          if (pMVar32 == (MagickBooleanType *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar36);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar38 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar36);\n          piVar35 = (int *)((uint)puVar38 & 0xff);\n          unaff_s7 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          pDVar4 = (DDSColors *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          unaff_s8 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36);\n          pcVar42 = (code *)0x1;\n          pDVar19 = &DStack_19c;\n          CalculateColors((ushort)uStack_1bc,(ushort)pDVar4,pDVar19,MagickTrue);\n          iVar29 = (**(code **)(pcStack_1c8 + -0x7168))(puVar36);\n          if (iVar29 != 0) goto LAB_002137bc;\n          iVar29 = 0;\n          uVar52 = puVar36[6];\n          piVar35 = (int *)(uint)(piVar35 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar38 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pDVar4 = pDVar22;\n          do {\n            iVar21 = 0;\n            puVar38 = (uint *)&DAT_00000007;\n            pDVar15 = pDVar33;\n            do {\n              if (((int)pDVar15 < (int)uVar52) && ((int)pDVar4 < (int)puVar36[7])) {\n                uVar49 = puVar36[0xb4];\n                uVar53 = (iVar29 + iVar21) * 3;\n                uVar48 = unaff_s8 >> ((iVar29 + iVar21) * 2 & 0x1fU) & 3;\n                uVar47 = ((int)unaff_s6 << 1) << (~uVar53 & 0x1f) | unaff_s7 >> (uVar53 & 0x1f);\n                if ((uVar53 & 0x20) != 0) {\n                  uVar47 = (uint)unaff_s6 >> (uVar53 & 0x1f);\n                }\n                iVar17 = *(int *)(uVar49 + 0x20);\n                pDVar19 = (DDSColors *)(pMVar32 + *(int *)(uVar49 + 0x14));\n                uVar47 = uVar47 & 7;\n                pMVar32[*(int *)(uVar49 + 8)] =\n                     (MagickBooleanType)(float)((double)DStack_19c.r[uVar48] * in_f22_23);\n                pcVar42 = (code *)(uint)DStack_19c.g[uVar48];\n                *(float *)pDVar19->r = (float)((double)(int)pcVar42 * in_f22_23);\n                pMVar32[iVar17] =\n                     (MagickBooleanType)(float)((double)DStack_19c.b[uVar48] * in_f22_23);\n                if (uVar47 == 0) {\n                  fVar46 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar47 == 1) {\n                  fVar46 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar35 == (int *)0x0) {\n                  fVar46 = 0.0;\n                  if (uVar47 != 6) {\n                    if (uVar47 != 7) {\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar46 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar53 = (uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar49 + 0x34) != 0) {\n                  pMVar32[*(int *)(uVar49 + 0x38)] = (MagickBooleanType)fVar46;\n                }\n                pMVar32 = pMVar32 + puVar36[0xb0];\n              }\n              iVar21 = iVar21 + 1;\n              pDVar15 = (DDSColors *)(pDVar33->r + iVar21);\n            } while (iVar21 != 4);\n            iVar29 = iVar29 + 4;\n            pDVar4 = (DDSColors *)(pDVar4->r + 1);\n          } while (iVar29 != 0x10);\n          pDVar4 = pDStack_1b4;\n          iVar29 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar36);\n          if (iVar29 == 0) goto LAB_002137bc;\n          pcVar42 = (code *)puVar36[6];\n          pDVar33 = (DDSColors *)pDVar33->g;\n          pcVar44 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar42 <= (int)pDVar33) goto LAB_0021380c;\n          uVar52 = puVar36[7];\n        } while( true );\n      }" if (parenthesized_expression "(0 < (int)pcVar42)" ( (binary_expression "0 < (int)pcVar42" number_literal < (cast_expression "(int)pcVar42" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        do {\n          pcVar44 = pcVar42 + -(int)pDVar33;\n          uStack_1d0 = uVar52 - (int)pDVar22;\n          pDStack_1cc = pDStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar42 = (code *)&DAT_00000004;\n          if (pcVar44 < &DAT_00000005) {\n            pcVar42 = pcVar44;\n          }\n          pDVar4 = pDVar33;\n          pDVar19 = pDVar22;\n          pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_1c8 + -0x798c))(puVar36);\n          pDVar39 = pDVar22;\n          if (pMVar32 == (MagickBooleanType *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar36);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar38 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar36);\n          piVar35 = (int *)((uint)puVar38 & 0xff);\n          unaff_s7 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          pDVar4 = (DDSColors *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          unaff_s8 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36);\n          pcVar42 = (code *)0x1;\n          pDVar19 = &DStack_19c;\n          CalculateColors((ushort)uStack_1bc,(ushort)pDVar4,pDVar19,MagickTrue);\n          iVar29 = (**(code **)(pcStack_1c8 + -0x7168))(puVar36);\n          if (iVar29 != 0) goto LAB_002137bc;\n          iVar29 = 0;\n          uVar52 = puVar36[6];\n          piVar35 = (int *)(uint)(piVar35 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar38 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pDVar4 = pDVar22;\n          do {\n            iVar21 = 0;\n            puVar38 = (uint *)&DAT_00000007;\n            pDVar15 = pDVar33;\n            do {\n              if (((int)pDVar15 < (int)uVar52) && ((int)pDVar4 < (int)puVar36[7])) {\n                uVar49 = puVar36[0xb4];\n                uVar53 = (iVar29 + iVar21) * 3;\n                uVar48 = unaff_s8 >> ((iVar29 + iVar21) * 2 & 0x1fU) & 3;\n                uVar47 = ((int)unaff_s6 << 1) << (~uVar53 & 0x1f) | unaff_s7 >> (uVar53 & 0x1f);\n                if ((uVar53 & 0x20) != 0) {\n                  uVar47 = (uint)unaff_s6 >> (uVar53 & 0x1f);\n                }\n                iVar17 = *(int *)(uVar49 + 0x20);\n                pDVar19 = (DDSColors *)(pMVar32 + *(int *)(uVar49 + 0x14));\n                uVar47 = uVar47 & 7;\n                pMVar32[*(int *)(uVar49 + 8)] =\n                     (MagickBooleanType)(float)((double)DStack_19c.r[uVar48] * in_f22_23);\n                pcVar42 = (code *)(uint)DStack_19c.g[uVar48];\n                *(float *)pDVar19->r = (float)((double)(int)pcVar42 * in_f22_23);\n                pMVar32[iVar17] =\n                     (MagickBooleanType)(float)((double)DStack_19c.b[uVar48] * in_f22_23);\n                if (uVar47 == 0) {\n                  fVar46 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar47 == 1) {\n                  fVar46 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar35 == (int *)0x0) {\n                  fVar46 = 0.0;\n                  if (uVar47 != 6) {\n                    if (uVar47 != 7) {\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar46 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar53 = (uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar49 + 0x34) != 0) {\n                  pMVar32[*(int *)(uVar49 + 0x38)] = (MagickBooleanType)fVar46;\n                }\n                pMVar32 = pMVar32 + puVar36[0xb0];\n              }\n              iVar21 = iVar21 + 1;\n              pDVar15 = (DDSColors *)(pDVar33->r + iVar21);\n            } while (iVar21 != 4);\n            iVar29 = iVar29 + 4;\n            pDVar4 = (DDSColors *)(pDVar4->r + 1);\n          } while (iVar29 != 0x10);\n          pDVar4 = pDStack_1b4;\n          iVar29 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar36);\n          if (iVar29 == 0) goto LAB_002137bc;\n          pcVar42 = (code *)puVar36[6];\n          pDVar33 = (DDSColors *)pDVar33->g;\n          pcVar44 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar42 <= (int)pDVar33) goto LAB_0021380c;\n          uVar52 = puVar36[7];\n        } while( true );\n      }" { (do_statement "do {\n          pcVar44 = pcVar42 + -(int)pDVar33;\n          uStack_1d0 = uVar52 - (int)pDVar22;\n          pDStack_1cc = pDStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar42 = (code *)&DAT_00000004;\n          if (pcVar44 < &DAT_00000005) {\n            pcVar42 = pcVar44;\n          }\n          pDVar4 = pDVar33;\n          pDVar19 = pDVar22;\n          pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_1c8 + -0x798c))(puVar36);\n          pDVar39 = pDVar22;\n          if (pMVar32 == (MagickBooleanType *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar36);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar38 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar36);\n          piVar35 = (int *)((uint)puVar38 & 0xff);\n          unaff_s7 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          pDVar4 = (DDSColors *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          unaff_s8 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36);\n          pcVar42 = (code *)0x1;\n          pDVar19 = &DStack_19c;\n          CalculateColors((ushort)uStack_1bc,(ushort)pDVar4,pDVar19,MagickTrue);\n          iVar29 = (**(code **)(pcStack_1c8 + -0x7168))(puVar36);\n          if (iVar29 != 0) goto LAB_002137bc;\n          iVar29 = 0;\n          uVar52 = puVar36[6];\n          piVar35 = (int *)(uint)(piVar35 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar38 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pDVar4 = pDVar22;\n          do {\n            iVar21 = 0;\n            puVar38 = (uint *)&DAT_00000007;\n            pDVar15 = pDVar33;\n            do {\n              if (((int)pDVar15 < (int)uVar52) && ((int)pDVar4 < (int)puVar36[7])) {\n                uVar49 = puVar36[0xb4];\n                uVar53 = (iVar29 + iVar21) * 3;\n                uVar48 = unaff_s8 >> ((iVar29 + iVar21) * 2 & 0x1fU) & 3;\n                uVar47 = ((int)unaff_s6 << 1) << (~uVar53 & 0x1f) | unaff_s7 >> (uVar53 & 0x1f);\n                if ((uVar53 & 0x20) != 0) {\n                  uVar47 = (uint)unaff_s6 >> (uVar53 & 0x1f);\n                }\n                iVar17 = *(int *)(uVar49 + 0x20);\n                pDVar19 = (DDSColors *)(pMVar32 + *(int *)(uVar49 + 0x14));\n                uVar47 = uVar47 & 7;\n                pMVar32[*(int *)(uVar49 + 8)] =\n                     (MagickBooleanType)(float)((double)DStack_19c.r[uVar48] * in_f22_23);\n                pcVar42 = (code *)(uint)DStack_19c.g[uVar48];\n                *(float *)pDVar19->r = (float)((double)(int)pcVar42 * in_f22_23);\n                pMVar32[iVar17] =\n                     (MagickBooleanType)(float)((double)DStack_19c.b[uVar48] * in_f22_23);\n                if (uVar47 == 0) {\n                  fVar46 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar47 == 1) {\n                  fVar46 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar35 == (int *)0x0) {\n                  fVar46 = 0.0;\n                  if (uVar47 != 6) {\n                    if (uVar47 != 7) {\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar46 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar53 = (uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar49 + 0x34) != 0) {\n                  pMVar32[*(int *)(uVar49 + 0x38)] = (MagickBooleanType)fVar46;\n                }\n                pMVar32 = pMVar32 + puVar36[0xb0];\n              }\n              iVar21 = iVar21 + 1;\n              pDVar15 = (DDSColors *)(pDVar33->r + iVar21);\n            } while (iVar21 != 4);\n            iVar29 = iVar29 + 4;\n            pDVar4 = (DDSColors *)(pDVar4->r + 1);\n          } while (iVar29 != 0x10);\n          pDVar4 = pDStack_1b4;\n          iVar29 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar36);\n          if (iVar29 == 0) goto LAB_002137bc;\n          pcVar42 = (code *)puVar36[6];\n          pDVar33 = (DDSColors *)pDVar33->g;\n          pcVar44 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar42 <= (int)pDVar33) goto LAB_0021380c;\n          uVar52 = puVar36[7];\n        } while( true );" do (compound_statement "{\n          pcVar44 = pcVar42 + -(int)pDVar33;\n          uStack_1d0 = uVar52 - (int)pDVar22;\n          pDStack_1cc = pDStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar42 = (code *)&DAT_00000004;\n          if (pcVar44 < &DAT_00000005) {\n            pcVar42 = pcVar44;\n          }\n          pDVar4 = pDVar33;\n          pDVar19 = pDVar22;\n          pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_1c8 + -0x798c))(puVar36);\n          pDVar39 = pDVar22;\n          if (pMVar32 == (MagickBooleanType *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar36);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar38 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar36);\n          piVar35 = (int *)((uint)puVar38 & 0xff);\n          unaff_s7 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          pDVar4 = (DDSColors *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36);\n          unaff_s8 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36);\n          pcVar42 = (code *)0x1;\n          pDVar19 = &DStack_19c;\n          CalculateColors((ushort)uStack_1bc,(ushort)pDVar4,pDVar19,MagickTrue);\n          iVar29 = (**(code **)(pcStack_1c8 + -0x7168))(puVar36);\n          if (iVar29 != 0) goto LAB_002137bc;\n          iVar29 = 0;\n          uVar52 = puVar36[6];\n          piVar35 = (int *)(uint)(piVar35 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar38 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pDVar4 = pDVar22;\n          do {\n            iVar21 = 0;\n            puVar38 = (uint *)&DAT_00000007;\n            pDVar15 = pDVar33;\n            do {\n              if (((int)pDVar15 < (int)uVar52) && ((int)pDVar4 < (int)puVar36[7])) {\n                uVar49 = puVar36[0xb4];\n                uVar53 = (iVar29 + iVar21) * 3;\n                uVar48 = unaff_s8 >> ((iVar29 + iVar21) * 2 & 0x1fU) & 3;\n                uVar47 = ((int)unaff_s6 << 1) << (~uVar53 & 0x1f) | unaff_s7 >> (uVar53 & 0x1f);\n                if ((uVar53 & 0x20) != 0) {\n                  uVar47 = (uint)unaff_s6 >> (uVar53 & 0x1f);\n                }\n                iVar17 = *(int *)(uVar49 + 0x20);\n                pDVar19 = (DDSColors *)(pMVar32 + *(int *)(uVar49 + 0x14));\n                uVar47 = uVar47 & 7;\n                pMVar32[*(int *)(uVar49 + 8)] =\n                     (MagickBooleanType)(float)((double)DStack_19c.r[uVar48] * in_f22_23);\n                pcVar42 = (code *)(uint)DStack_19c.g[uVar48];\n                *(float *)pDVar19->r = (float)((double)(int)pcVar42 * in_f22_23);\n                pMVar32[iVar17] =\n                     (MagickBooleanType)(float)((double)DStack_19c.b[uVar48] * in_f22_23);\n                if (uVar47 == 0) {\n                  fVar46 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar47 == 1) {\n                  fVar46 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar35 == (int *)0x0) {\n                  fVar46 = 0.0;\n                  if (uVar47 != 6) {\n                    if (uVar47 != 7) {\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar46 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar53 = (uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar49 + 0x34) != 0) {\n                  pMVar32[*(int *)(uVar49 + 0x38)] = (MagickBooleanType)fVar46;\n                }\n                pMVar32 = pMVar32 + puVar36[0xb0];\n              }\n              iVar21 = iVar21 + 1;\n              pDVar15 = (DDSColors *)(pDVar33->r + iVar21);\n            } while (iVar21 != 4);\n            iVar29 = iVar29 + 4;\n            pDVar4 = (DDSColors *)(pDVar4->r + 1);\n          } while (iVar29 != 0x10);\n          pDVar4 = pDStack_1b4;\n          iVar29 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar36);\n          if (iVar29 == 0) goto LAB_002137bc;\n          pcVar42 = (code *)puVar36[6];\n          pDVar33 = (DDSColors *)pDVar33->g;\n          pcVar44 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar42 <= (int)pDVar33) goto LAB_0021380c;\n          uVar52 = puVar36[7];\n        }" { (expression_statement "pcVar44 = pcVar42 + -(int)pDVar33;" (assignment_expression "pcVar44 = pcVar42 + -(int)pDVar33" identifier = (binary_expression "pcVar42 + -(int)pDVar33" identifier + (unary_expression "-(int)pDVar33" - (cast_expression "(int)pDVar33" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (expression_statement "uStack_1d0 = uVar52 - (int)pDVar22;" (assignment_expression "uStack_1d0 = uVar52 - (int)pDVar22" identifier = (binary_expression "uVar52 - (int)pDVar22" identifier - (cast_expression "(int)pDVar22" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pDStack_1cc = pDStack_1b4;" (assignment_expression "pDStack_1cc = pDStack_1b4" identifier = identifier) ;) (if_statement "if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }" if (parenthesized_expression "(4 < uStack_1d0)" ( (binary_expression "4 < uStack_1d0" number_literal < identifier) )) (compound_statement "{\n            uStack_1d0 = 4;\n          }" { (expression_statement "uStack_1d0 = 4;" (assignment_expression "uStack_1d0 = 4" identifier = number_literal) ;) })) (expression_statement "pcVar42 = (code *)&DAT_00000004;" (assignment_expression "pcVar42 = (code *)&DAT_00000004" identifier = (cast_expression "(code *)&DAT_00000004" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000004" & identifier))) ;) (if_statement "if (pcVar44 < &DAT_00000005) {\n            pcVar42 = pcVar44;\n          }" if (parenthesized_expression "(pcVar44 < &DAT_00000005)" ( (binary_expression "pcVar44 < &DAT_00000005" identifier < (pointer_expression "&DAT_00000005" & identifier)) )) (compound_statement "{\n            pcVar42 = pcVar44;\n          }" { (expression_statement "pcVar42 = pcVar44;" (assignment_expression "pcVar42 = pcVar44" identifier = identifier) ;) })) (expression_statement "pDVar4 = pDVar33;" (assignment_expression "pDVar4 = pDVar33" identifier = identifier) ;) (expression_statement "pDVar19 = pDVar22;" (assignment_expression "pDVar19 = pDVar22" identifier = identifier) ;) (expression_statement "pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_1c8 + -0x798c))(puVar36);" (assignment_expression "pMVar32 = (MagickBooleanType *)(**(code **)(pcStack_1c8 + -0x798c))(puVar36)" identifier = (cast_expression "(MagickBooleanType *)(**(code **)(pcStack_1c8 + -0x798c))(puVar36)" ( (type_descriptor "MagickBooleanType *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_1c8 + -0x798c))(puVar36)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x798c))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x798c)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x798c)" * (cast_expression "(code **)(pcStack_1c8 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x798c)" ( (binary_expression "pcStack_1c8 + -0x798c" identifier + number_literal) ))))) )) (argument_list "(puVar36)" ( identifier ))))) ;) (expression_statement "pDVar39 = pDVar22;" (assignment_expression "pDVar39 = pDVar22" identifier = identifier) ;) (if_statement "if (pMVar32 == (MagickBooleanType *)0x0) goto LAB_002137bc;" if (parenthesized_expression "(pMVar32 == (MagickBooleanType *)0x0)" ( (binary_expression "pMVar32 == (MagickBooleanType *)0x0" identifier == (cast_expression "(MagickBooleanType *)0x0" ( (type_descriptor "MagickBooleanType *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002137bc;" goto statement_identifier ;)) (expression_statement "uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar36);" (assignment_expression "uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar36)" identifier = (call_expression "(**(code **)(pcStack_1c8 + -0x70c0))(puVar36)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x70c0))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x70c0)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x70c0)" * (cast_expression "(code **)(pcStack_1c8 + -0x70c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x70c0)" ( (binary_expression "pcStack_1c8 + -0x70c0" identifier + number_literal) ))))) )) (argument_list "(puVar36)" ( identifier )))) ;) (expression_statement "piStack_1b8 = (int *)(uStack_1b0 & 0xff);" (assignment_expression "piStack_1b8 = (int *)(uStack_1b0 & 0xff)" identifier = (cast_expression "(int *)(uStack_1b0 & 0xff)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_1b0 & 0xff)" ( (binary_expression "uStack_1b0 & 0xff" identifier & number_literal) )))) ;) (expression_statement "puVar38 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar36);" (assignment_expression "puVar38 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar36)" identifier = (cast_expression "(uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar36)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_1c8 + -0x70c0))(puVar36)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x70c0))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x70c0)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x70c0)" * (cast_expression "(code **)(pcStack_1c8 + -0x70c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x70c0)" ( (binary_expression "pcStack_1c8 + -0x70c0" identifier + number_literal) ))))) )) (argument_list "(puVar36)" ( identifier ))))) ;) (expression_statement "piVar35 = (int *)((uint)puVar38 & 0xff);" (assignment_expression "piVar35 = (int *)((uint)puVar38 & 0xff)" identifier = (cast_expression "(int *)((uint)puVar38 & 0xff)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar38 & 0xff)" ( (binary_expression "(uint)puVar38 & 0xff" (cast_expression "(uint)puVar38" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "unaff_s7 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36);" (assignment_expression "unaff_s7 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36)" identifier = (call_expression "(**(code **)(pcStack_1c8 + -0x7844))(puVar36)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x7844)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x7844)" * (cast_expression "(code **)(pcStack_1c8 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x7844)" ( (binary_expression "pcStack_1c8 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(puVar36)" ( identifier )))) ;) (expression_statement "unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36);" (assignment_expression "unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36)" identifier = (cast_expression "(uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_1c8 + -0x71b4))(puVar36)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x71b4))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x71b4)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x71b4)" * (cast_expression "(code **)(pcStack_1c8 + -0x71b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x71b4)" ( (binary_expression "pcStack_1c8 + -0x71b4" identifier + number_literal) ))))) )) (argument_list "(puVar36)" ( identifier ))))) ;) (expression_statement "uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar36);" (assignment_expression "uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar36)" identifier = (call_expression "(**(code **)(pcStack_1c8 + -0x71b4))(puVar36)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x71b4))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x71b4)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x71b4)" * (cast_expression "(code **)(pcStack_1c8 + -0x71b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x71b4)" ( (binary_expression "pcStack_1c8 + -0x71b4" identifier + number_literal) ))))) )) (argument_list "(puVar36)" ( identifier )))) ;) (expression_statement "pDVar4 = (DDSColors *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36);" (assignment_expression "pDVar4 = (DDSColors *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36)" identifier = (cast_expression "(DDSColors *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar36)" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_1c8 + -0x71b4))(puVar36)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x71b4))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x71b4)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x71b4)" * (cast_expression "(code **)(pcStack_1c8 + -0x71b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x71b4)" ( (binary_expression "pcStack_1c8 + -0x71b4" identifier + number_literal) ))))) )) (argument_list "(puVar36)" ( identifier ))))) ;) (expression_statement "unaff_s8 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36);" (assignment_expression "unaff_s8 = (**(code **)(pcStack_1c8 + -0x7844))(puVar36)" identifier = (call_expression "(**(code **)(pcStack_1c8 + -0x7844))(puVar36)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x7844)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x7844)" * (cast_expression "(code **)(pcStack_1c8 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x7844)" ( (binary_expression "pcStack_1c8 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(puVar36)" ( identifier )))) ;) (expression_statement "pcVar42 = (code *)0x1;" (assignment_expression "pcVar42 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pDVar19 = &DStack_19c;" (assignment_expression "pDVar19 = &DStack_19c" identifier = (pointer_expression "&DStack_19c" & identifier)) ;) (expression_statement "CalculateColors((ushort)uStack_1bc,(ushort)pDVar4,pDVar19,MagickTrue);" (call_expression "CalculateColors((ushort)uStack_1bc,(ushort)pDVar4,pDVar19,MagickTrue)" identifier (argument_list "((ushort)uStack_1bc,(ushort)pDVar4,pDVar19,MagickTrue)" ( (cast_expression "(ushort)uStack_1bc" ( (type_descriptor "ushort" type_identifier) ) identifier) , (cast_expression "(ushort)pDVar4" ( (type_descriptor "ushort" type_identifier) ) identifier) , identifier , identifier ))) ;) (expression_statement "iVar29 = (**(code **)(pcStack_1c8 + -0x7168))(puVar36);" (assignment_expression "iVar29 = (**(code **)(pcStack_1c8 + -0x7168))(puVar36)" identifier = (call_expression "(**(code **)(pcStack_1c8 + -0x7168))(puVar36)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x7168))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x7168)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x7168)" * (cast_expression "(code **)(pcStack_1c8 + -0x7168)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x7168)" ( (binary_expression "pcStack_1c8 + -0x7168" identifier + number_literal) ))))) )) (argument_list "(puVar36)" ( identifier )))) ;) (if_statement "if (iVar29 != 0) goto LAB_002137bc;" if (parenthesized_expression "(iVar29 != 0)" ( (binary_expression "iVar29 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002137bc;" goto statement_identifier ;)) (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;) (expression_statement "uVar52 = puVar36[6];" (assignment_expression "uVar52 = puVar36[6]" identifier = (subscript_expression "puVar36[6]" identifier [ number_literal ])) ;) (expression_statement "piVar35 = (int *)(uint)(piVar35 < piStack_1b8);" (assignment_expression "piVar35 = (int *)(uint)(piVar35 < piStack_1b8)" identifier = (cast_expression "(int *)(uint)(piVar35 < piStack_1b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(piVar35 < piStack_1b8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar35 < piStack_1b8)" ( (binary_expression "piVar35 < piStack_1b8" identifier < identifier) ))))) ;) (expression_statement "uStack_1bc = uStack_1b0 & 0xff;" (assignment_expression "uStack_1bc = uStack_1b0 & 0xff" identifier = (binary_expression "uStack_1b0 & 0xff" identifier & number_literal)) ;) (expression_statement "piStack_1b8 = (int *)((uint)puVar38 & 0xff);" (assignment_expression "piStack_1b8 = (int *)((uint)puVar38 & 0xff)" identifier = (cast_expression "(int *)((uint)puVar38 & 0xff)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar38 & 0xff)" ( (binary_expression "(uint)puVar38 & 0xff" (cast_expression "(uint)puVar38" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uStack_1ac = 0xcccccccd;" (assignment_expression "uStack_1ac = 0xcccccccd" identifier = number_literal) ;) (expression_statement "uStack_1b0 = 0x24924925;" (assignment_expression "uStack_1b0 = 0x24924925" identifier = number_literal) ;) (expression_statement "pDVar4 = pDVar22;" (assignment_expression "pDVar4 = pDVar22" identifier = identifier) ;) (do_statement "do {\n            iVar21 = 0;\n            puVar38 = (uint *)&DAT_00000007;\n            pDVar15 = pDVar33;\n            do {\n              if (((int)pDVar15 < (int)uVar52) && ((int)pDVar4 < (int)puVar36[7])) {\n                uVar49 = puVar36[0xb4];\n                uVar53 = (iVar29 + iVar21) * 3;\n                uVar48 = unaff_s8 >> ((iVar29 + iVar21) * 2 & 0x1fU) & 3;\n                uVar47 = ((int)unaff_s6 << 1) << (~uVar53 & 0x1f) | unaff_s7 >> (uVar53 & 0x1f);\n                if ((uVar53 & 0x20) != 0) {\n                  uVar47 = (uint)unaff_s6 >> (uVar53 & 0x1f);\n                }\n                iVar17 = *(int *)(uVar49 + 0x20);\n                pDVar19 = (DDSColors *)(pMVar32 + *(int *)(uVar49 + 0x14));\n                uVar47 = uVar47 & 7;\n                pMVar32[*(int *)(uVar49 + 8)] =\n                     (MagickBooleanType)(float)((double)DStack_19c.r[uVar48] * in_f22_23);\n                pcVar42 = (code *)(uint)DStack_19c.g[uVar48];\n                *(float *)pDVar19->r = (float)((double)(int)pcVar42 * in_f22_23);\n                pMVar32[iVar17] =\n                     (MagickBooleanType)(float)((double)DStack_19c.b[uVar48] * in_f22_23);\n                if (uVar47 == 0) {\n                  fVar46 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar47 == 1) {\n                  fVar46 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar35 == (int *)0x0) {\n                  fVar46 = 0.0;\n                  if (uVar47 != 6) {\n                    if (uVar47 != 7) {\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar46 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar53 = (uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar49 + 0x34) != 0) {\n                  pMVar32[*(int *)(uVar49 + 0x38)] = (MagickBooleanType)fVar46;\n                }\n                pMVar32 = pMVar32 + puVar36[0xb0];\n              }\n              iVar21 = iVar21 + 1;\n              pDVar15 = (DDSColors *)(pDVar33->r + iVar21);\n            } while (iVar21 != 4);\n            iVar29 = iVar29 + 4;\n            pDVar4 = (DDSColors *)(pDVar4->r + 1);\n          } while (iVar29 != 0x10);" do (compound_statement "{\n            iVar21 = 0;\n            puVar38 = (uint *)&DAT_00000007;\n            pDVar15 = pDVar33;\n            do {\n              if (((int)pDVar15 < (int)uVar52) && ((int)pDVar4 < (int)puVar36[7])) {\n                uVar49 = puVar36[0xb4];\n                uVar53 = (iVar29 + iVar21) * 3;\n                uVar48 = unaff_s8 >> ((iVar29 + iVar21) * 2 & 0x1fU) & 3;\n                uVar47 = ((int)unaff_s6 << 1) << (~uVar53 & 0x1f) | unaff_s7 >> (uVar53 & 0x1f);\n                if ((uVar53 & 0x20) != 0) {\n                  uVar47 = (uint)unaff_s6 >> (uVar53 & 0x1f);\n                }\n                iVar17 = *(int *)(uVar49 + 0x20);\n                pDVar19 = (DDSColors *)(pMVar32 + *(int *)(uVar49 + 0x14));\n                uVar47 = uVar47 & 7;\n                pMVar32[*(int *)(uVar49 + 8)] =\n                     (MagickBooleanType)(float)((double)DStack_19c.r[uVar48] * in_f22_23);\n                pcVar42 = (code *)(uint)DStack_19c.g[uVar48];\n                *(float *)pDVar19->r = (float)((double)(int)pcVar42 * in_f22_23);\n                pMVar32[iVar17] =\n                     (MagickBooleanType)(float)((double)DStack_19c.b[uVar48] * in_f22_23);\n                if (uVar47 == 0) {\n                  fVar46 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar47 == 1) {\n                  fVar46 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar35 == (int *)0x0) {\n                  fVar46 = 0.0;\n                  if (uVar47 != 6) {\n                    if (uVar47 != 7) {\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar46 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar53 = (uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar49 + 0x34) != 0) {\n                  pMVar32[*(int *)(uVar49 + 0x38)] = (MagickBooleanType)fVar46;\n                }\n                pMVar32 = pMVar32 + puVar36[0xb0];\n              }\n              iVar21 = iVar21 + 1;\n              pDVar15 = (DDSColors *)(pDVar33->r + iVar21);\n            } while (iVar21 != 4);\n            iVar29 = iVar29 + 4;\n            pDVar4 = (DDSColors *)(pDVar4->r + 1);\n          }" { (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (expression_statement "puVar38 = (uint *)&DAT_00000007;" (assignment_expression "puVar38 = (uint *)&DAT_00000007" identifier = (cast_expression "(uint *)&DAT_00000007" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (expression_statement "pDVar15 = pDVar33;" (assignment_expression "pDVar15 = pDVar33" identifier = identifier) ;) (do_statement "do {\n              if (((int)pDVar15 < (int)uVar52) && ((int)pDVar4 < (int)puVar36[7])) {\n                uVar49 = puVar36[0xb4];\n                uVar53 = (iVar29 + iVar21) * 3;\n                uVar48 = unaff_s8 >> ((iVar29 + iVar21) * 2 & 0x1fU) & 3;\n                uVar47 = ((int)unaff_s6 << 1) << (~uVar53 & 0x1f) | unaff_s7 >> (uVar53 & 0x1f);\n                if ((uVar53 & 0x20) != 0) {\n                  uVar47 = (uint)unaff_s6 >> (uVar53 & 0x1f);\n                }\n                iVar17 = *(int *)(uVar49 + 0x20);\n                pDVar19 = (DDSColors *)(pMVar32 + *(int *)(uVar49 + 0x14));\n                uVar47 = uVar47 & 7;\n                pMVar32[*(int *)(uVar49 + 8)] =\n                     (MagickBooleanType)(float)((double)DStack_19c.r[uVar48] * in_f22_23);\n                pcVar42 = (code *)(uint)DStack_19c.g[uVar48];\n                *(float *)pDVar19->r = (float)((double)(int)pcVar42 * in_f22_23);\n                pMVar32[iVar17] =\n                     (MagickBooleanType)(float)((double)DStack_19c.b[uVar48] * in_f22_23);\n                if (uVar47 == 0) {\n                  fVar46 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar47 == 1) {\n                  fVar46 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar35 == (int *)0x0) {\n                  fVar46 = 0.0;\n                  if (uVar47 != 6) {\n                    if (uVar47 != 7) {\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar46 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar53 = (uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar49 + 0x34) != 0) {\n                  pMVar32[*(int *)(uVar49 + 0x38)] = (MagickBooleanType)fVar46;\n                }\n                pMVar32 = pMVar32 + puVar36[0xb0];\n              }\n              iVar21 = iVar21 + 1;\n              pDVar15 = (DDSColors *)(pDVar33->r + iVar21);\n            } while (iVar21 != 4);" do (compound_statement "{\n              if (((int)pDVar15 < (int)uVar52) && ((int)pDVar4 < (int)puVar36[7])) {\n                uVar49 = puVar36[0xb4];\n                uVar53 = (iVar29 + iVar21) * 3;\n                uVar48 = unaff_s8 >> ((iVar29 + iVar21) * 2 & 0x1fU) & 3;\n                uVar47 = ((int)unaff_s6 << 1) << (~uVar53 & 0x1f) | unaff_s7 >> (uVar53 & 0x1f);\n                if ((uVar53 & 0x20) != 0) {\n                  uVar47 = (uint)unaff_s6 >> (uVar53 & 0x1f);\n                }\n                iVar17 = *(int *)(uVar49 + 0x20);\n                pDVar19 = (DDSColors *)(pMVar32 + *(int *)(uVar49 + 0x14));\n                uVar47 = uVar47 & 7;\n                pMVar32[*(int *)(uVar49 + 8)] =\n                     (MagickBooleanType)(float)((double)DStack_19c.r[uVar48] * in_f22_23);\n                pcVar42 = (code *)(uint)DStack_19c.g[uVar48];\n                *(float *)pDVar19->r = (float)((double)(int)pcVar42 * in_f22_23);\n                pMVar32[iVar17] =\n                     (MagickBooleanType)(float)((double)DStack_19c.b[uVar48] * in_f22_23);\n                if (uVar47 == 0) {\n                  fVar46 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar47 == 1) {\n                  fVar46 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar35 == (int *)0x0) {\n                  fVar46 = 0.0;\n                  if (uVar47 != 6) {\n                    if (uVar47 != 7) {\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar46 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar53 = (uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar49 + 0x34) != 0) {\n                  pMVar32[*(int *)(uVar49 + 0x38)] = (MagickBooleanType)fVar46;\n                }\n                pMVar32 = pMVar32 + puVar36[0xb0];\n              }\n              iVar21 = iVar21 + 1;\n              pDVar15 = (DDSColors *)(pDVar33->r + iVar21);\n            }" { (if_statement "if (((int)pDVar15 < (int)uVar52) && ((int)pDVar4 < (int)puVar36[7])) {\n                uVar49 = puVar36[0xb4];\n                uVar53 = (iVar29 + iVar21) * 3;\n                uVar48 = unaff_s8 >> ((iVar29 + iVar21) * 2 & 0x1fU) & 3;\n                uVar47 = ((int)unaff_s6 << 1) << (~uVar53 & 0x1f) | unaff_s7 >> (uVar53 & 0x1f);\n                if ((uVar53 & 0x20) != 0) {\n                  uVar47 = (uint)unaff_s6 >> (uVar53 & 0x1f);\n                }\n                iVar17 = *(int *)(uVar49 + 0x20);\n                pDVar19 = (DDSColors *)(pMVar32 + *(int *)(uVar49 + 0x14));\n                uVar47 = uVar47 & 7;\n                pMVar32[*(int *)(uVar49 + 8)] =\n                     (MagickBooleanType)(float)((double)DStack_19c.r[uVar48] * in_f22_23);\n                pcVar42 = (code *)(uint)DStack_19c.g[uVar48];\n                *(float *)pDVar19->r = (float)((double)(int)pcVar42 * in_f22_23);\n                pMVar32[iVar17] =\n                     (MagickBooleanType)(float)((double)DStack_19c.b[uVar48] * in_f22_23);\n                if (uVar47 == 0) {\n                  fVar46 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar47 == 1) {\n                  fVar46 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar35 == (int *)0x0) {\n                  fVar46 = 0.0;\n                  if (uVar47 != 6) {\n                    if (uVar47 != 7) {\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar46 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar53 = (uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar49 + 0x34) != 0) {\n                  pMVar32[*(int *)(uVar49 + 0x38)] = (MagickBooleanType)fVar46;\n                }\n                pMVar32 = pMVar32 + puVar36[0xb0];\n              }" if (parenthesized_expression "(((int)pDVar15 < (int)uVar52) && ((int)pDVar4 < (int)puVar36[7]))" ( (binary_expression "((int)pDVar15 < (int)uVar52) && ((int)pDVar4 < (int)puVar36[7])" (parenthesized_expression "((int)pDVar15 < (int)uVar52)" ( (binary_expression "(int)pDVar15 < (int)uVar52" (cast_expression "(int)pDVar15" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar52" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "((int)pDVar4 < (int)puVar36[7])" ( (binary_expression "(int)pDVar4 < (int)puVar36[7]" (cast_expression "(int)pDVar4" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)puVar36[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar36[7]" identifier [ number_literal ]))) ))) )) (compound_statement "{\n                uVar49 = puVar36[0xb4];\n                uVar53 = (iVar29 + iVar21) * 3;\n                uVar48 = unaff_s8 >> ((iVar29 + iVar21) * 2 & 0x1fU) & 3;\n                uVar47 = ((int)unaff_s6 << 1) << (~uVar53 & 0x1f) | unaff_s7 >> (uVar53 & 0x1f);\n                if ((uVar53 & 0x20) != 0) {\n                  uVar47 = (uint)unaff_s6 >> (uVar53 & 0x1f);\n                }\n                iVar17 = *(int *)(uVar49 + 0x20);\n                pDVar19 = (DDSColors *)(pMVar32 + *(int *)(uVar49 + 0x14));\n                uVar47 = uVar47 & 7;\n                pMVar32[*(int *)(uVar49 + 8)] =\n                     (MagickBooleanType)(float)((double)DStack_19c.r[uVar48] * in_f22_23);\n                pcVar42 = (code *)(uint)DStack_19c.g[uVar48];\n                *(float *)pDVar19->r = (float)((double)(int)pcVar42 * in_f22_23);\n                pMVar32[iVar17] =\n                     (MagickBooleanType)(float)((double)DStack_19c.b[uVar48] * in_f22_23);\n                if (uVar47 == 0) {\n                  fVar46 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar47 == 1) {\n                  fVar46 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar35 == (int *)0x0) {\n                  fVar46 = 0.0;\n                  if (uVar47 != 6) {\n                    if (uVar47 != 7) {\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar46 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar53 = (uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar49 + 0x34) != 0) {\n                  pMVar32[*(int *)(uVar49 + 0x38)] = (MagickBooleanType)fVar46;\n                }\n                pMVar32 = pMVar32 + puVar36[0xb0];\n              }" { (expression_statement "uVar49 = puVar36[0xb4];" (assignment_expression "uVar49 = puVar36[0xb4]" identifier = (subscript_expression "puVar36[0xb4]" identifier [ number_literal ])) ;) (expression_statement "uVar53 = (iVar29 + iVar21) * 3;" (assignment_expression "uVar53 = (iVar29 + iVar21) * 3" identifier = (binary_expression "(iVar29 + iVar21) * 3" (parenthesized_expression "(iVar29 + iVar21)" ( (binary_expression "iVar29 + iVar21" identifier + identifier) )) * number_literal)) ;) (expression_statement "uVar48 = unaff_s8 >> ((iVar29 + iVar21) * 2 & 0x1fU) & 3;" (assignment_expression "uVar48 = unaff_s8 >> ((iVar29 + iVar21) * 2 & 0x1fU) & 3" identifier = (binary_expression "unaff_s8 >> ((iVar29 + iVar21) * 2 & 0x1fU) & 3" (binary_expression "unaff_s8 >> ((iVar29 + iVar21) * 2 & 0x1fU)" identifier >> (parenthesized_expression "((iVar29 + iVar21) * 2 & 0x1fU)" ( (binary_expression "(iVar29 + iVar21) * 2 & 0x1fU" (binary_expression "(iVar29 + iVar21) * 2" (parenthesized_expression "(iVar29 + iVar21)" ( (binary_expression "iVar29 + iVar21" identifier + identifier) )) * number_literal) & number_literal) ))) & number_literal)) ;) (expression_statement "uVar47 = ((int)unaff_s6 << 1) << (~uVar53 & 0x1f) | unaff_s7 >> (uVar53 & 0x1f);" (assignment_expression "uVar47 = ((int)unaff_s6 << 1) << (~uVar53 & 0x1f) | unaff_s7 >> (uVar53 & 0x1f)" identifier = (binary_expression "((int)unaff_s6 << 1) << (~uVar53 & 0x1f) | unaff_s7 >> (uVar53 & 0x1f)" (binary_expression "((int)unaff_s6 << 1) << (~uVar53 & 0x1f)" (parenthesized_expression "((int)unaff_s6 << 1)" ( (binary_expression "(int)unaff_s6 << 1" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )) << (parenthesized_expression "(~uVar53 & 0x1f)" ( (binary_expression "~uVar53 & 0x1f" (unary_expression "~uVar53" ~ identifier) & number_literal) ))) | (binary_expression "unaff_s7 >> (uVar53 & 0x1f)" identifier >> (parenthesized_expression "(uVar53 & 0x1f)" ( (binary_expression "uVar53 & 0x1f" identifier & number_literal) ))))) ;) (if_statement "if ((uVar53 & 0x20) != 0) {\n                  uVar47 = (uint)unaff_s6 >> (uVar53 & 0x1f);\n                }" if (parenthesized_expression "((uVar53 & 0x20) != 0)" ( (binary_expression "(uVar53 & 0x20) != 0" (parenthesized_expression "(uVar53 & 0x20)" ( (binary_expression "uVar53 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                  uVar47 = (uint)unaff_s6 >> (uVar53 & 0x1f);\n                }" { (expression_statement "uVar47 = (uint)unaff_s6 >> (uVar53 & 0x1f);" (assignment_expression "uVar47 = (uint)unaff_s6 >> (uVar53 & 0x1f)" identifier = (binary_expression "(uint)unaff_s6 >> (uVar53 & 0x1f)" (cast_expression "(uint)unaff_s6" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "(uVar53 & 0x1f)" ( (binary_expression "uVar53 & 0x1f" identifier & number_literal) )))) ;) })) (expression_statement "iVar17 = *(int *)(uVar49 + 0x20);" (assignment_expression "iVar17 = *(int *)(uVar49 + 0x20)" identifier = (pointer_expression "*(int *)(uVar49 + 0x20)" * (cast_expression "(int *)(uVar49 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar49 + 0x20)" ( (binary_expression "uVar49 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "pDVar19 = (DDSColors *)(pMVar32 + *(int *)(uVar49 + 0x14));" (assignment_expression "pDVar19 = (DDSColors *)(pMVar32 + *(int *)(uVar49 + 0x14))" identifier = (cast_expression "(DDSColors *)(pMVar32 + *(int *)(uVar49 + 0x14))" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pMVar32 + *(int *)(uVar49 + 0x14))" ( (binary_expression "pMVar32 + *(int *)(uVar49 + 0x14)" identifier + (pointer_expression "*(int *)(uVar49 + 0x14)" * (cast_expression "(int *)(uVar49 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar49 + 0x14)" ( (binary_expression "uVar49 + 0x14" identifier + number_literal) ))))) )))) ;) (expression_statement "uVar47 = uVar47 & 7;" (assignment_expression "uVar47 = uVar47 & 7" identifier = (binary_expression "uVar47 & 7" identifier & number_literal)) ;) (expression_statement "pMVar32[*(int *)(uVar49 + 8)] =\n                     (MagickBooleanType)(float)((double)DStack_19c.r[uVar48] * in_f22_23);" (assignment_expression "pMVar32[*(int *)(uVar49 + 8)] =\n                     (MagickBooleanType)(float)((double)DStack_19c.r[uVar48] * in_f22_23)" (subscript_expression "pMVar32[*(int *)(uVar49 + 8)]" identifier [ (pointer_expression "*(int *)(uVar49 + 8)" * (cast_expression "(int *)(uVar49 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar49 + 8)" ( (binary_expression "uVar49 + 8" identifier + number_literal) )))) ]) = (call_expression "(MagickBooleanType)(float)((double)DStack_19c.r[uVar48] * in_f22_23)" (call_expression "(MagickBooleanType)(float)" (parenthesized_expression "(MagickBooleanType)" ( identifier )) (argument_list "(float)" ( identifier ))) (argument_list "((double)DStack_19c.r[uVar48] * in_f22_23)" ( (binary_expression "(double)DStack_19c.r[uVar48] * in_f22_23" (cast_expression "(double)DStack_19c.r[uVar48]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "DStack_19c.r[uVar48]" (field_expression "DStack_19c.r" identifier . field_identifier) [ identifier ])) * identifier) )))) ;) (expression_statement "pcVar42 = (code *)(uint)DStack_19c.g[uVar48];" (assignment_expression "pcVar42 = (code *)(uint)DStack_19c.g[uVar48]" identifier = (cast_expression "(code *)(uint)DStack_19c.g[uVar48]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)DStack_19c.g[uVar48]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "DStack_19c.g[uVar48]" (field_expression "DStack_19c.g" identifier . field_identifier) [ identifier ])))) ;) (expression_statement "*(float *)pDVar19->r = (float)((double)(int)pcVar42 * in_f22_23);" (assignment_expression "*(float *)pDVar19->r = (float)((double)(int)pcVar42 * in_f22_23)" (pointer_expression "*(float *)pDVar19->r" * (cast_expression "(float *)pDVar19->r" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar19->r" identifier -> field_identifier))) = (cast_expression "(float)((double)(int)pcVar42 * in_f22_23)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)(int)pcVar42 * in_f22_23)" ( (binary_expression "(double)(int)pcVar42 * in_f22_23" (cast_expression "(double)(int)pcVar42" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)pcVar42" ( (type_descriptor "int" primitive_type) ) identifier)) * identifier) )))) ;) (expression_statement "pMVar32[iVar17] =\n                     (MagickBooleanType)(float)((double)DStack_19c.b[uVar48] * in_f22_23);" (assignment_expression "pMVar32[iVar17] =\n                     (MagickBooleanType)(float)((double)DStack_19c.b[uVar48] * in_f22_23)" (subscript_expression "pMVar32[iVar17]" identifier [ identifier ]) = (call_expression "(MagickBooleanType)(float)((double)DStack_19c.b[uVar48] * in_f22_23)" (call_expression "(MagickBooleanType)(float)" (parenthesized_expression "(MagickBooleanType)" ( identifier )) (argument_list "(float)" ( identifier ))) (argument_list "((double)DStack_19c.b[uVar48] * in_f22_23)" ( (binary_expression "(double)DStack_19c.b[uVar48] * in_f22_23" (cast_expression "(double)DStack_19c.b[uVar48]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "DStack_19c.b[uVar48]" (field_expression "DStack_19c.b" identifier . field_identifier) [ identifier ])) * identifier) )))) ;) (if_statement "if (uVar47 == 0) {\n                  fVar46 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar47 == 1) {\n                  fVar46 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar35 == (int *)0x0) {\n                  fVar46 = 0.0;\n                  if (uVar47 != 6) {\n                    if (uVar47 != 7) {\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar46 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar53 = (uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);\n                }" if (parenthesized_expression "(uVar47 == 0)" ( (binary_expression "uVar47 == 0" identifier == number_literal) )) (compound_statement "{\n                  fVar46 = (float)((double)uStack_1bc * in_f22_23);\n                }" { (expression_statement "fVar46 = (float)((double)uStack_1bc * in_f22_23);" (assignment_expression "fVar46 = (float)((double)uStack_1bc * in_f22_23)" identifier = (cast_expression "(float)((double)uStack_1bc * in_f22_23)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)uStack_1bc * in_f22_23)" ( (binary_expression "(double)uStack_1bc * in_f22_23" (cast_expression "(double)uStack_1bc" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) )))) ;) }) (else_clause "else if (uVar47 == 1) {\n                  fVar46 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar35 == (int *)0x0) {\n                  fVar46 = 0.0;\n                  if (uVar47 != 6) {\n                    if (uVar47 != 7) {\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar46 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar53 = (uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);\n                }" else (if_statement "if (uVar47 == 1) {\n                  fVar46 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar35 == (int *)0x0) {\n                  fVar46 = 0.0;\n                  if (uVar47 != 6) {\n                    if (uVar47 != 7) {\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar46 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar53 = (uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);\n                }" if (parenthesized_expression "(uVar47 == 1)" ( (binary_expression "uVar47 == 1" identifier == number_literal) )) (compound_statement "{\n                  fVar46 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }" { (expression_statement "fVar46 = (float)((double)(int)piStack_1b8 * in_f22_23);" (assignment_expression "fVar46 = (float)((double)(int)piStack_1b8 * in_f22_23)" identifier = (cast_expression "(float)((double)(int)piStack_1b8 * in_f22_23)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)(int)piStack_1b8 * in_f22_23)" ( (binary_expression "(double)(int)piStack_1b8 * in_f22_23" (cast_expression "(double)(int)piStack_1b8" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)piStack_1b8" ( (type_descriptor "int" primitive_type) ) identifier)) * identifier) )))) ;) }) (else_clause "else if (piVar35 == (int *)0x0) {\n                  fVar46 = 0.0;\n                  if (uVar47 != 6) {\n                    if (uVar47 != 7) {\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar46 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar53 = (uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);\n                }" else (if_statement "if (piVar35 == (int *)0x0) {\n                  fVar46 = 0.0;\n                  if (uVar47 != 6) {\n                    if (uVar47 != 7) {\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar46 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar53 = (uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);\n                }" if (parenthesized_expression "(piVar35 == (int *)0x0)" ( (binary_expression "piVar35 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  fVar46 = 0.0;\n                  if (uVar47 != 6) {\n                    if (uVar47 != 7) {\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar46 = (float)in_f20_21;\n                  }\n                }" { (expression_statement "fVar46 = 0.0;" (assignment_expression "fVar46 = 0.0" identifier = number_literal) ;) (if_statement "if (uVar47 != 6) {\n                    if (uVar47 != 7) {\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar46 = (float)in_f20_21;\n                  }" if (parenthesized_expression "(uVar47 != 6)" ( (binary_expression "uVar47 != 6" identifier != number_literal) )) (compound_statement "{\n                    if (uVar47 != 7) {\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar46 = (float)in_f20_21;\n                  }" { (if_statement "if (uVar47 != 7) {\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }" if (parenthesized_expression "(uVar47 != 7)" ( (binary_expression "uVar47 != 7" identifier != number_literal) )) (compound_statement "{\n                      uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }" { (expression_statement "uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);" (assignment_expression "uVar53 = (uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20)" identifier = (call_expression "(uint)((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20)" ( (binary_expression "(ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20" (binary_expression "(ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)\n                                      * 0xcccccccd" (call_expression "(ulonglong)\n                                      ((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc)" ( (binary_expression "(uVar47 - 1) * (int)piStack_1b8 + (6 - uVar47) * uStack_1bc" (binary_expression "(uVar47 - 1) * (int)piStack_1b8" (parenthesized_expression "(uVar47 - 1)" ( (binary_expression "uVar47 - 1" identifier - number_literal) )) * (cast_expression "(int)piStack_1b8" ( (type_descriptor "int" primitive_type) ) identifier)) + (binary_expression "(6 - uVar47) * uStack_1bc" (parenthesized_expression "(6 - uVar47)" ( (binary_expression "6 - uVar47" number_literal - identifier) )) * identifier)) ))) * number_literal) >> number_literal) )))) ;) (goto_statement "goto LAB_00213750;" goto statement_identifier ;) })) (expression_statement "fVar46 = (float)in_f20_21;" (assignment_expression "fVar46 = (float)in_f20_21" identifier = (cast_expression "(float)in_f20_21" ( (type_descriptor "float" primitive_type) ) identifier)) ;) })) }) (else_clause "else {\n                  uVar53 = (uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);\n                }" else (compound_statement "{\n                  uVar53 = (uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);\n                }" { (expression_statement "uVar53 = (uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21);" (assignment_expression "uVar53 = (uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21)" identifier = (call_expression "(uint)((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21)" ( (binary_expression "(ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925 >> 0x21" (binary_expression "(ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc) *\n                                  0x124924925" (call_expression "(ulonglong)\n                                  ((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc)" ( (binary_expression "(uVar47 - 1) * (int)piStack_1b8 + (8 - uVar47) * uStack_1bc" (binary_expression "(uVar47 - 1) * (int)piStack_1b8" (parenthesized_expression "(uVar47 - 1)" ( (binary_expression "uVar47 - 1" identifier - number_literal) )) * (cast_expression "(int)piStack_1b8" ( (type_descriptor "int" primitive_type) ) identifier)) + (binary_expression "(8 - uVar47) * uStack_1bc" (parenthesized_expression "(8 - uVar47)" ( (binary_expression "8 - uVar47" number_literal - identifier) )) * identifier)) ))) * number_literal) >> number_literal) )))) ;) (labeled_statement "LAB_00213750:\n                  fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);" statement_identifier : (expression_statement "fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23);" (assignment_expression "fVar46 = (float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23)" identifier = (cast_expression "(float)((double)((uVar53 << 0x16) >> 0x18) * in_f22_23)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)((uVar53 << 0x16) >> 0x18) * in_f22_23)" ( (binary_expression "(double)((uVar53 << 0x16) >> 0x18) * in_f22_23" (cast_expression "(double)((uVar53 << 0x16) >> 0x18)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((uVar53 << 0x16) >> 0x18)" ( (binary_expression "(uVar53 << 0x16) >> 0x18" (parenthesized_expression "(uVar53 << 0x16)" ( (binary_expression "uVar53 << 0x16" identifier << number_literal) )) >> number_literal) ))) * identifier) )))) ;)) }))))))) (if_statement "if (*(int *)(uVar49 + 0x34) != 0) {\n                  pMVar32[*(int *)(uVar49 + 0x38)] = (MagickBooleanType)fVar46;\n                }" if (parenthesized_expression "(*(int *)(uVar49 + 0x34) != 0)" ( (binary_expression "*(int *)(uVar49 + 0x34) != 0" (pointer_expression "*(int *)(uVar49 + 0x34)" * (cast_expression "(int *)(uVar49 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar49 + 0x34)" ( (binary_expression "uVar49 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  pMVar32[*(int *)(uVar49 + 0x38)] = (MagickBooleanType)fVar46;\n                }" { (expression_statement "pMVar32[*(int *)(uVar49 + 0x38)] = (MagickBooleanType)fVar46;" (assignment_expression "pMVar32[*(int *)(uVar49 + 0x38)] = (MagickBooleanType)fVar46" (subscript_expression "pMVar32[*(int *)(uVar49 + 0x38)]" identifier [ (pointer_expression "*(int *)(uVar49 + 0x38)" * (cast_expression "(int *)(uVar49 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar49 + 0x38)" ( (binary_expression "uVar49 + 0x38" identifier + number_literal) )))) ]) = (cast_expression "(MagickBooleanType)fVar46" ( (type_descriptor "MagickBooleanType" type_identifier) ) identifier)) ;) })) (expression_statement "pMVar32 = pMVar32 + puVar36[0xb0];" (assignment_expression "pMVar32 = pMVar32 + puVar36[0xb0]" identifier = (binary_expression "pMVar32 + puVar36[0xb0]" identifier + (subscript_expression "puVar36[0xb0]" identifier [ number_literal ]))) ;) })) (expression_statement "iVar21 = iVar21 + 1;" (assignment_expression "iVar21 = iVar21 + 1" identifier = (binary_expression "iVar21 + 1" identifier + number_literal)) ;) (expression_statement "pDVar15 = (DDSColors *)(pDVar33->r + iVar21);" (assignment_expression "pDVar15 = (DDSColors *)(pDVar33->r + iVar21)" identifier = (cast_expression "(DDSColors *)(pDVar33->r + iVar21)" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar33->r + iVar21)" ( (binary_expression "pDVar33->r + iVar21" (field_expression "pDVar33->r" identifier -> field_identifier) + identifier) )))) ;) }) while (parenthesized_expression "(iVar21 != 4)" ( (binary_expression "iVar21 != 4" identifier != number_literal) )) ;) (expression_statement "iVar29 = iVar29 + 4;" (assignment_expression "iVar29 = iVar29 + 4" identifier = (binary_expression "iVar29 + 4" identifier + number_literal)) ;) (expression_statement "pDVar4 = (DDSColors *)(pDVar4->r + 1);" (assignment_expression "pDVar4 = (DDSColors *)(pDVar4->r + 1)" identifier = (cast_expression "(DDSColors *)(pDVar4->r + 1)" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar4->r + 1)" ( (binary_expression "pDVar4->r + 1" (field_expression "pDVar4->r" identifier -> field_identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(iVar29 != 0x10)" ( (binary_expression "iVar29 != 0x10" identifier != number_literal) )) ;) (expression_statement "pDVar4 = pDStack_1b4;" (assignment_expression "pDVar4 = pDStack_1b4" identifier = identifier) ;) (expression_statement "iVar29 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar36);" (assignment_expression "iVar29 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar36)" identifier = (call_expression "(**(code **)(pcStack_1c8 + -0x76cc))(puVar36)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x76cc))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x76cc)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x76cc)" * (cast_expression "(code **)(pcStack_1c8 + -0x76cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x76cc)" ( (binary_expression "pcStack_1c8 + -0x76cc" identifier + number_literal) ))))) )) (argument_list "(puVar36)" ( identifier )))) ;) (if_statement "if (iVar29 == 0) goto LAB_002137bc;" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002137bc;" goto statement_identifier ;)) (expression_statement "pcVar42 = (code *)puVar36[6];" (assignment_expression "pcVar42 = (code *)puVar36[6]" identifier = (cast_expression "(code *)puVar36[6]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar36[6]" identifier [ number_literal ]))) ;) (expression_statement "pDVar33 = (DDSColors *)pDVar33->g;" (assignment_expression "pDVar33 = (DDSColors *)pDVar33->g" identifier = (cast_expression "(DDSColors *)pDVar33->g" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar33->g" identifier -> field_identifier))) ;) (expression_statement "pcVar44 = *(code **)(pcStack_1c8 + -0x7168);" (assignment_expression "pcVar44 = *(code **)(pcStack_1c8 + -0x7168)" identifier = (pointer_expression "*(code **)(pcStack_1c8 + -0x7168)" * (cast_expression "(code **)(pcStack_1c8 + -0x7168)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x7168)" ( (binary_expression "pcStack_1c8 + -0x7168" identifier + number_literal) ))))) ;) (if_statement "if ((int)pcVar42 <= (int)pDVar33) goto LAB_0021380c;" if (parenthesized_expression "((int)pcVar42 <= (int)pDVar33)" ( (binary_expression "(int)pcVar42 <= (int)pDVar33" (cast_expression "(int)pcVar42" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pDVar33" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0021380c;" goto statement_identifier ;)) (expression_statement "uVar52 = puVar36[7];" (assignment_expression "uVar52 = puVar36[7]" identifier = (subscript_expression "puVar36[7]" identifier [ number_literal ])) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "pcVar44 = *(code **)(pcStack_1c8 + -0x7168);" (assignment_expression "pcVar44 = *(code **)(pcStack_1c8 + -0x7168)" identifier = (pointer_expression "*(code **)(pcStack_1c8 + -0x7168)" * (cast_expression "(code **)(pcStack_1c8 + -0x7168)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x7168)" ( (binary_expression "pcStack_1c8 + -0x7168" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0021380c:\n      iVar29 = (*pcVar44)(puVar36);" statement_identifier : (expression_statement "iVar29 = (*pcVar44)(puVar36);" (assignment_expression "iVar29 = (*pcVar44)(puVar36)" identifier = (call_expression "(*pcVar44)(puVar36)" (parenthesized_expression "(*pcVar44)" ( (pointer_expression "*pcVar44" * identifier) )) (argument_list "(puVar36)" ( identifier )))) ;)) (if_statement "if (iVar29 != 0) {\nLAB_002137bc:\n        MVar7 = MagickFalse;\n        goto LAB_002137c0;\n      }" if (parenthesized_expression "(iVar29 != 0)" ( (binary_expression "iVar29 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_002137bc:\n        MVar7 = MagickFalse;\n        goto LAB_002137c0;\n      }" { (labeled_statement "LAB_002137bc:\n        MVar7 = MagickFalse;" statement_identifier : (expression_statement "MVar7 = MagickFalse;" (assignment_expression "MVar7 = MagickFalse" identifier = identifier) ;)) (goto_statement "goto LAB_002137c0;" goto statement_identifier ;) })) (expression_statement "uVar52 = puVar36[7];" (assignment_expression "uVar52 = puVar36[7]" identifier = (subscript_expression "puVar36[7]" identifier [ number_literal ])) ;) (expression_statement "pDStack_1a8 = (DDSColors *)pDStack_1a8->g;" (assignment_expression "pDStack_1a8 = (DDSColors *)pDStack_1a8->g" identifier = (cast_expression "(DDSColors *)pDStack_1a8->g" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pDStack_1a8->g" identifier -> field_identifier))) ;) (expression_statement "puVar37 = puVar36;" (assignment_expression "puVar37 = puVar36" identifier = identifier) ;) }) while (parenthesized_expression "((int)pDStack_1a8 < (int)uVar52)" ( (binary_expression "(int)pDStack_1a8 < (int)uVar52" (cast_expression "(int)pDStack_1a8" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar52" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "MVar7 = MagickTrue;" (assignment_expression "MVar7 = MagickTrue" identifier = identifier) ;) (expression_statement "puVar36 = puVar37;" (assignment_expression "puVar36 = puVar37" identifier = identifier) ;) (labeled_statement "LAB_002137c0:\n  if (iStack_18c == *piStack_1a4) {\n    return MVar7;\n  }" statement_identifier : (if_statement "if (iStack_18c == *piStack_1a4) {\n    return MVar7;\n  }" if (parenthesized_expression "(iStack_18c == *piStack_1a4)" ( (binary_expression "iStack_18c == *piStack_1a4" identifier == (pointer_expression "*piStack_1a4" * identifier)) )) (compound_statement "{\n    return MVar7;\n  }" { (return_statement "return MVar7;" return identifier ;) }))) (expression_statement "pcVar44 = *(code **)(pcStack_1c8 + -0x784c);" (assignment_expression "pcVar44 = *(code **)(pcStack_1c8 + -0x784c)" identifier = (pointer_expression "*(code **)(pcStack_1c8 + -0x784c)" * (cast_expression "(code **)(pcStack_1c8 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x784c)" ( (binary_expression "pcStack_1c8 + -0x784c" identifier + number_literal) ))))) ;) (expression_statement "pcVar43 = ReadDXT3Pixels;" (assignment_expression "pcVar43 = ReadDXT3Pixels" identifier = identifier) ;) (expression_statement "iVar29 = iStack_18c;" (assignment_expression "iVar29 = iStack_18c" identifier = identifier) ;) (expression_statement "(*pcVar44)();" (call_expression "(*pcVar44)()" (parenthesized_expression "(*pcVar44)" ( (pointer_expression "*pcVar44" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar8 = *(int **)(pcVar44 + 0x1959e4);" (assignment_expression "piVar8 = *(int **)(pcVar44 + 0x1959e4)" identifier = (pointer_expression "*(int **)(pcVar44 + 0x1959e4)" * (cast_expression "(int **)(pcVar44 + 0x1959e4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x1959e4)" ( (binary_expression "pcVar44 + 0x1959e4" identifier + number_literal) ))))) ;) (expression_statement "iStack_21c = *piVar8;" (assignment_expression "iStack_21c = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "iVar21 = *(int *)(iVar29 + 0x1c);" (assignment_expression "iVar21 = *(int *)(iVar29 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar29 + 0x1c)" * (cast_expression "(int *)(iVar29 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x1c)" ( (binary_expression "iVar29 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "pDVar22 = pDVar19;" (assignment_expression "pDVar22 = pDVar19" identifier = identifier) ;) (expression_statement "pMStack_218 = pMVar32;" (assignment_expression "pMStack_218 = pMVar32" identifier = identifier) ;) (expression_statement "pDStack_214 = pDVar39;" (assignment_expression "pDStack_214 = pDVar39" identifier = identifier) ;) (expression_statement "pDStack_210 = pDVar33;" (assignment_expression "pDStack_210 = pDVar33" identifier = identifier) ;) (expression_statement "piStack_20c = piVar35;" (assignment_expression "piStack_20c = piVar35" identifier = identifier) ;) (expression_statement "puStack_208 = puVar36;" (assignment_expression "puStack_208 = puVar36" identifier = identifier) ;) (expression_statement "puStack_204 = puVar38;" (assignment_expression "puStack_204 = puVar38" identifier = identifier) ;) (expression_statement "puStack_200 = unaff_s6;" (assignment_expression "puStack_200 = unaff_s6" identifier = identifier) ;) (expression_statement "MStack_1fc = unaff_s7;" (assignment_expression "MStack_1fc = unaff_s7" identifier = identifier) ;) (expression_statement "MStack_1f8 = unaff_s8;" (assignment_expression "MStack_1f8 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_1f4 = pcVar43;" (assignment_expression "pcStack_1f4 = pcVar43" identifier = identifier) ;) (expression_statement "uStack_1f0 = in_f20_21;" (assignment_expression "uStack_1f0 = in_f20_21" identifier = identifier) ;) (expression_statement "dStack_1e8 = in_f22_23;" (assignment_expression "dStack_1e8 = in_f22_23" identifier = identifier) ;) (if_statement "if (0 < iVar21) {\n    pDVar33 = (DDSColors *)0x0;\n    iVar17 = *(int *)(pcVar44 + 0x195378);\n    dVar56 = *(double *)(*(int *)(pcVar44 + 0x19509c) + -0x5af0);\n    dVar57 = dVar56;\n    do {\n      pcVar42 = *(code **)(iVar29 + 0x18);\n      pDVar39 = (DDSColors *)0x0;\n      if ((int)pcVar42 < 1) {\n        pcVar43 = *(code **)(pcVar44 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar21 - (int)pDVar33;\n          pcVar42 = pcVar42 + -(int)pDVar39;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar42) {\n            pcVar42 = (code *)&DAT_00000004;\n          }\n          pDVar4 = pDVar39;\n          pDVar22 = pDVar33;\n          iVar21 = (**(code **)(pcVar44 + 0x1956d8))(iVar29);\n          if (iVar21 == 0) goto LAB_00213b34;\n          uVar52 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          uVar53 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          uVar24 = (**(code **)(pcVar44 + 0x195eb0))(iVar29);\n          pDVar4 = (DDSColors *)(**(code **)(pcVar44 + 0x195eb0))(iVar29);\n          uVar47 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          pcVar42 = (code *)0x1;\n          pDVar22 = &DStack_22c;\n          (*(code *)(iVar17 + 0x2408))(uVar24);\n          iVar9 = (**(code **)(pcVar44 + 0x195efc))(iVar29);\n          if (iVar9 != 0) goto LAB_00213b34;\n          pcVar42 = *(code **)(iVar29 + 0x18);\n          iVar18 = 0;\n          iVar9 = 0;\n          pDVar22 = pDVar33;\n          do {\n            iVar10 = 0;\n            pDVar4 = pDVar39;\n            do {\n              if (((int)pDVar4 < (int)pcVar42) &&\n                 (iVar16 = iVar10 + iVar18 * 4, (int)pDVar22 < *(int *)(iVar29 + 0x1c))) {\n                iVar28 = *(int *)(iVar29 + 0x2d0);\n                iVar40 = *(int *)(iVar28 + 0x14);\n                uVar48 = uVar47 >> (iVar16 * 2 & 0x1fU) & 3;\n                iVar30 = *(int *)(iVar28 + 0x20);\n                *(float *)(iVar21 + *(int *)(iVar28 + 8) * 4) =\n                     (float)((double)DStack_22c.r[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar40 * 4) = (float)((double)DStack_22c.g[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar30 * 4) = (float)((double)DStack_22c.b[uVar48] * dVar57);\n                if (iVar18 < 2) {\n                  uVar48 = uVar52 >> (iVar16 * 4 & 0x1fU);\n                }\n                else {\n                  uVar48 = uVar53 >> ((iVar9 + iVar10) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar28 + 0x34) != 0) {\n                  *(float *)(iVar21 + *(int *)(iVar28 + 0x38) * 4) =\n                       (float)((double)((uVar48 & 0xf) * 0x11 & 0xff) * dVar56);\n                }\n                iVar21 = iVar21 + *(int *)(iVar29 + 0x2c0) * 4;\n              }\n              iVar10 = iVar10 + 1;\n              pDVar4 = (DDSColors *)(pDVar39->r + iVar10);\n            } while (iVar10 != 4);\n            iVar18 = iVar18 + 1;\n            pDVar22 = (DDSColors *)(pDVar22->r + 1);\n            iVar9 = iVar9 + 4;\n          } while (iVar18 != 4);\n          pDVar4 = pDVar19;\n          iVar21 = (**(code **)(pcVar44 + 0x195998))(iVar29);\n          if (iVar21 == 0) goto LAB_00213b34;\n          pcVar42 = *(code **)(iVar29 + 0x18);\n          pDVar39 = (DDSColors *)pDVar39->g;\n          pcVar43 = *(code **)(pcVar44 + 0x195efc);\n          if ((int)pcVar42 <= (int)pDVar39) break;\n          iVar21 = *(int *)(iVar29 + 0x1c);\n        }\n      }\n      iVar21 = (*pcVar43)(iVar29);\n      if (iVar21 != 0) {\nLAB_00213b34:\n        MVar7 = MagickFalse;\n        goto LAB_00213b38;\n      }\n      iVar21 = *(int *)(iVar29 + 0x1c);\n      pDVar33 = (DDSColors *)pDVar33->g;\n    } while ((int)pDVar33 < iVar21);\n  }" if (parenthesized_expression "(0 < iVar21)" ( (binary_expression "0 < iVar21" number_literal < identifier) )) (compound_statement "{\n    pDVar33 = (DDSColors *)0x0;\n    iVar17 = *(int *)(pcVar44 + 0x195378);\n    dVar56 = *(double *)(*(int *)(pcVar44 + 0x19509c) + -0x5af0);\n    dVar57 = dVar56;\n    do {\n      pcVar42 = *(code **)(iVar29 + 0x18);\n      pDVar39 = (DDSColors *)0x0;\n      if ((int)pcVar42 < 1) {\n        pcVar43 = *(code **)(pcVar44 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar21 - (int)pDVar33;\n          pcVar42 = pcVar42 + -(int)pDVar39;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar42) {\n            pcVar42 = (code *)&DAT_00000004;\n          }\n          pDVar4 = pDVar39;\n          pDVar22 = pDVar33;\n          iVar21 = (**(code **)(pcVar44 + 0x1956d8))(iVar29);\n          if (iVar21 == 0) goto LAB_00213b34;\n          uVar52 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          uVar53 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          uVar24 = (**(code **)(pcVar44 + 0x195eb0))(iVar29);\n          pDVar4 = (DDSColors *)(**(code **)(pcVar44 + 0x195eb0))(iVar29);\n          uVar47 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          pcVar42 = (code *)0x1;\n          pDVar22 = &DStack_22c;\n          (*(code *)(iVar17 + 0x2408))(uVar24);\n          iVar9 = (**(code **)(pcVar44 + 0x195efc))(iVar29);\n          if (iVar9 != 0) goto LAB_00213b34;\n          pcVar42 = *(code **)(iVar29 + 0x18);\n          iVar18 = 0;\n          iVar9 = 0;\n          pDVar22 = pDVar33;\n          do {\n            iVar10 = 0;\n            pDVar4 = pDVar39;\n            do {\n              if (((int)pDVar4 < (int)pcVar42) &&\n                 (iVar16 = iVar10 + iVar18 * 4, (int)pDVar22 < *(int *)(iVar29 + 0x1c))) {\n                iVar28 = *(int *)(iVar29 + 0x2d0);\n                iVar40 = *(int *)(iVar28 + 0x14);\n                uVar48 = uVar47 >> (iVar16 * 2 & 0x1fU) & 3;\n                iVar30 = *(int *)(iVar28 + 0x20);\n                *(float *)(iVar21 + *(int *)(iVar28 + 8) * 4) =\n                     (float)((double)DStack_22c.r[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar40 * 4) = (float)((double)DStack_22c.g[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar30 * 4) = (float)((double)DStack_22c.b[uVar48] * dVar57);\n                if (iVar18 < 2) {\n                  uVar48 = uVar52 >> (iVar16 * 4 & 0x1fU);\n                }\n                else {\n                  uVar48 = uVar53 >> ((iVar9 + iVar10) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar28 + 0x34) != 0) {\n                  *(float *)(iVar21 + *(int *)(iVar28 + 0x38) * 4) =\n                       (float)((double)((uVar48 & 0xf) * 0x11 & 0xff) * dVar56);\n                }\n                iVar21 = iVar21 + *(int *)(iVar29 + 0x2c0) * 4;\n              }\n              iVar10 = iVar10 + 1;\n              pDVar4 = (DDSColors *)(pDVar39->r + iVar10);\n            } while (iVar10 != 4);\n            iVar18 = iVar18 + 1;\n            pDVar22 = (DDSColors *)(pDVar22->r + 1);\n            iVar9 = iVar9 + 4;\n          } while (iVar18 != 4);\n          pDVar4 = pDVar19;\n          iVar21 = (**(code **)(pcVar44 + 0x195998))(iVar29);\n          if (iVar21 == 0) goto LAB_00213b34;\n          pcVar42 = *(code **)(iVar29 + 0x18);\n          pDVar39 = (DDSColors *)pDVar39->g;\n          pcVar43 = *(code **)(pcVar44 + 0x195efc);\n          if ((int)pcVar42 <= (int)pDVar39) break;\n          iVar21 = *(int *)(iVar29 + 0x1c);\n        }\n      }\n      iVar21 = (*pcVar43)(iVar29);\n      if (iVar21 != 0) {\nLAB_00213b34:\n        MVar7 = MagickFalse;\n        goto LAB_00213b38;\n      }\n      iVar21 = *(int *)(iVar29 + 0x1c);\n      pDVar33 = (DDSColors *)pDVar33->g;\n    } while ((int)pDVar33 < iVar21);\n  }" { (expression_statement "pDVar33 = (DDSColors *)0x0;" (assignment_expression "pDVar33 = (DDSColors *)0x0" identifier = (cast_expression "(DDSColors *)0x0" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar17 = *(int *)(pcVar44 + 0x195378);" (assignment_expression "iVar17 = *(int *)(pcVar44 + 0x195378)" identifier = (pointer_expression "*(int *)(pcVar44 + 0x195378)" * (cast_expression "(int *)(pcVar44 + 0x195378)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x195378)" ( (binary_expression "pcVar44 + 0x195378" identifier + number_literal) ))))) ;) (expression_statement "dVar56 = *(double *)(*(int *)(pcVar44 + 0x19509c) + -0x5af0);" (assignment_expression "dVar56 = *(double *)(*(int *)(pcVar44 + 0x19509c) + -0x5af0)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar44 + 0x19509c) + -0x5af0)" * (cast_expression "(double *)(*(int *)(pcVar44 + 0x19509c) + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x19509c) + -0x5af0)" ( (binary_expression "*(int *)(pcVar44 + 0x19509c) + -0x5af0" (pointer_expression "*(int *)(pcVar44 + 0x19509c)" * (cast_expression "(int *)(pcVar44 + 0x19509c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x19509c)" ( (binary_expression "pcVar44 + 0x19509c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar57 = dVar56;" (assignment_expression "dVar57 = dVar56" identifier = identifier) ;) (do_statement "do {\n      pcVar42 = *(code **)(iVar29 + 0x18);\n      pDVar39 = (DDSColors *)0x0;\n      if ((int)pcVar42 < 1) {\n        pcVar43 = *(code **)(pcVar44 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar21 - (int)pDVar33;\n          pcVar42 = pcVar42 + -(int)pDVar39;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar42) {\n            pcVar42 = (code *)&DAT_00000004;\n          }\n          pDVar4 = pDVar39;\n          pDVar22 = pDVar33;\n          iVar21 = (**(code **)(pcVar44 + 0x1956d8))(iVar29);\n          if (iVar21 == 0) goto LAB_00213b34;\n          uVar52 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          uVar53 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          uVar24 = (**(code **)(pcVar44 + 0x195eb0))(iVar29);\n          pDVar4 = (DDSColors *)(**(code **)(pcVar44 + 0x195eb0))(iVar29);\n          uVar47 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          pcVar42 = (code *)0x1;\n          pDVar22 = &DStack_22c;\n          (*(code *)(iVar17 + 0x2408))(uVar24);\n          iVar9 = (**(code **)(pcVar44 + 0x195efc))(iVar29);\n          if (iVar9 != 0) goto LAB_00213b34;\n          pcVar42 = *(code **)(iVar29 + 0x18);\n          iVar18 = 0;\n          iVar9 = 0;\n          pDVar22 = pDVar33;\n          do {\n            iVar10 = 0;\n            pDVar4 = pDVar39;\n            do {\n              if (((int)pDVar4 < (int)pcVar42) &&\n                 (iVar16 = iVar10 + iVar18 * 4, (int)pDVar22 < *(int *)(iVar29 + 0x1c))) {\n                iVar28 = *(int *)(iVar29 + 0x2d0);\n                iVar40 = *(int *)(iVar28 + 0x14);\n                uVar48 = uVar47 >> (iVar16 * 2 & 0x1fU) & 3;\n                iVar30 = *(int *)(iVar28 + 0x20);\n                *(float *)(iVar21 + *(int *)(iVar28 + 8) * 4) =\n                     (float)((double)DStack_22c.r[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar40 * 4) = (float)((double)DStack_22c.g[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar30 * 4) = (float)((double)DStack_22c.b[uVar48] * dVar57);\n                if (iVar18 < 2) {\n                  uVar48 = uVar52 >> (iVar16 * 4 & 0x1fU);\n                }\n                else {\n                  uVar48 = uVar53 >> ((iVar9 + iVar10) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar28 + 0x34) != 0) {\n                  *(float *)(iVar21 + *(int *)(iVar28 + 0x38) * 4) =\n                       (float)((double)((uVar48 & 0xf) * 0x11 & 0xff) * dVar56);\n                }\n                iVar21 = iVar21 + *(int *)(iVar29 + 0x2c0) * 4;\n              }\n              iVar10 = iVar10 + 1;\n              pDVar4 = (DDSColors *)(pDVar39->r + iVar10);\n            } while (iVar10 != 4);\n            iVar18 = iVar18 + 1;\n            pDVar22 = (DDSColors *)(pDVar22->r + 1);\n            iVar9 = iVar9 + 4;\n          } while (iVar18 != 4);\n          pDVar4 = pDVar19;\n          iVar21 = (**(code **)(pcVar44 + 0x195998))(iVar29);\n          if (iVar21 == 0) goto LAB_00213b34;\n          pcVar42 = *(code **)(iVar29 + 0x18);\n          pDVar39 = (DDSColors *)pDVar39->g;\n          pcVar43 = *(code **)(pcVar44 + 0x195efc);\n          if ((int)pcVar42 <= (int)pDVar39) break;\n          iVar21 = *(int *)(iVar29 + 0x1c);\n        }\n      }\n      iVar21 = (*pcVar43)(iVar29);\n      if (iVar21 != 0) {\nLAB_00213b34:\n        MVar7 = MagickFalse;\n        goto LAB_00213b38;\n      }\n      iVar21 = *(int *)(iVar29 + 0x1c);\n      pDVar33 = (DDSColors *)pDVar33->g;\n    } while ((int)pDVar33 < iVar21);" do (compound_statement "{\n      pcVar42 = *(code **)(iVar29 + 0x18);\n      pDVar39 = (DDSColors *)0x0;\n      if ((int)pcVar42 < 1) {\n        pcVar43 = *(code **)(pcVar44 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar21 - (int)pDVar33;\n          pcVar42 = pcVar42 + -(int)pDVar39;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar42) {\n            pcVar42 = (code *)&DAT_00000004;\n          }\n          pDVar4 = pDVar39;\n          pDVar22 = pDVar33;\n          iVar21 = (**(code **)(pcVar44 + 0x1956d8))(iVar29);\n          if (iVar21 == 0) goto LAB_00213b34;\n          uVar52 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          uVar53 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          uVar24 = (**(code **)(pcVar44 + 0x195eb0))(iVar29);\n          pDVar4 = (DDSColors *)(**(code **)(pcVar44 + 0x195eb0))(iVar29);\n          uVar47 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          pcVar42 = (code *)0x1;\n          pDVar22 = &DStack_22c;\n          (*(code *)(iVar17 + 0x2408))(uVar24);\n          iVar9 = (**(code **)(pcVar44 + 0x195efc))(iVar29);\n          if (iVar9 != 0) goto LAB_00213b34;\n          pcVar42 = *(code **)(iVar29 + 0x18);\n          iVar18 = 0;\n          iVar9 = 0;\n          pDVar22 = pDVar33;\n          do {\n            iVar10 = 0;\n            pDVar4 = pDVar39;\n            do {\n              if (((int)pDVar4 < (int)pcVar42) &&\n                 (iVar16 = iVar10 + iVar18 * 4, (int)pDVar22 < *(int *)(iVar29 + 0x1c))) {\n                iVar28 = *(int *)(iVar29 + 0x2d0);\n                iVar40 = *(int *)(iVar28 + 0x14);\n                uVar48 = uVar47 >> (iVar16 * 2 & 0x1fU) & 3;\n                iVar30 = *(int *)(iVar28 + 0x20);\n                *(float *)(iVar21 + *(int *)(iVar28 + 8) * 4) =\n                     (float)((double)DStack_22c.r[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar40 * 4) = (float)((double)DStack_22c.g[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar30 * 4) = (float)((double)DStack_22c.b[uVar48] * dVar57);\n                if (iVar18 < 2) {\n                  uVar48 = uVar52 >> (iVar16 * 4 & 0x1fU);\n                }\n                else {\n                  uVar48 = uVar53 >> ((iVar9 + iVar10) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar28 + 0x34) != 0) {\n                  *(float *)(iVar21 + *(int *)(iVar28 + 0x38) * 4) =\n                       (float)((double)((uVar48 & 0xf) * 0x11 & 0xff) * dVar56);\n                }\n                iVar21 = iVar21 + *(int *)(iVar29 + 0x2c0) * 4;\n              }\n              iVar10 = iVar10 + 1;\n              pDVar4 = (DDSColors *)(pDVar39->r + iVar10);\n            } while (iVar10 != 4);\n            iVar18 = iVar18 + 1;\n            pDVar22 = (DDSColors *)(pDVar22->r + 1);\n            iVar9 = iVar9 + 4;\n          } while (iVar18 != 4);\n          pDVar4 = pDVar19;\n          iVar21 = (**(code **)(pcVar44 + 0x195998))(iVar29);\n          if (iVar21 == 0) goto LAB_00213b34;\n          pcVar42 = *(code **)(iVar29 + 0x18);\n          pDVar39 = (DDSColors *)pDVar39->g;\n          pcVar43 = *(code **)(pcVar44 + 0x195efc);\n          if ((int)pcVar42 <= (int)pDVar39) break;\n          iVar21 = *(int *)(iVar29 + 0x1c);\n        }\n      }\n      iVar21 = (*pcVar43)(iVar29);\n      if (iVar21 != 0) {\nLAB_00213b34:\n        MVar7 = MagickFalse;\n        goto LAB_00213b38;\n      }\n      iVar21 = *(int *)(iVar29 + 0x1c);\n      pDVar33 = (DDSColors *)pDVar33->g;\n    }" { (expression_statement "pcVar42 = *(code **)(iVar29 + 0x18);" (assignment_expression "pcVar42 = *(code **)(iVar29 + 0x18)" identifier = (pointer_expression "*(code **)(iVar29 + 0x18)" * (cast_expression "(code **)(iVar29 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x18)" ( (binary_expression "iVar29 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "pDVar39 = (DDSColors *)0x0;" (assignment_expression "pDVar39 = (DDSColors *)0x0" identifier = (cast_expression "(DDSColors *)0x0" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((int)pcVar42 < 1) {\n        pcVar43 = *(code **)(pcVar44 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar21 - (int)pDVar33;\n          pcVar42 = pcVar42 + -(int)pDVar39;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar42) {\n            pcVar42 = (code *)&DAT_00000004;\n          }\n          pDVar4 = pDVar39;\n          pDVar22 = pDVar33;\n          iVar21 = (**(code **)(pcVar44 + 0x1956d8))(iVar29);\n          if (iVar21 == 0) goto LAB_00213b34;\n          uVar52 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          uVar53 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          uVar24 = (**(code **)(pcVar44 + 0x195eb0))(iVar29);\n          pDVar4 = (DDSColors *)(**(code **)(pcVar44 + 0x195eb0))(iVar29);\n          uVar47 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          pcVar42 = (code *)0x1;\n          pDVar22 = &DStack_22c;\n          (*(code *)(iVar17 + 0x2408))(uVar24);\n          iVar9 = (**(code **)(pcVar44 + 0x195efc))(iVar29);\n          if (iVar9 != 0) goto LAB_00213b34;\n          pcVar42 = *(code **)(iVar29 + 0x18);\n          iVar18 = 0;\n          iVar9 = 0;\n          pDVar22 = pDVar33;\n          do {\n            iVar10 = 0;\n            pDVar4 = pDVar39;\n            do {\n              if (((int)pDVar4 < (int)pcVar42) &&\n                 (iVar16 = iVar10 + iVar18 * 4, (int)pDVar22 < *(int *)(iVar29 + 0x1c))) {\n                iVar28 = *(int *)(iVar29 + 0x2d0);\n                iVar40 = *(int *)(iVar28 + 0x14);\n                uVar48 = uVar47 >> (iVar16 * 2 & 0x1fU) & 3;\n                iVar30 = *(int *)(iVar28 + 0x20);\n                *(float *)(iVar21 + *(int *)(iVar28 + 8) * 4) =\n                     (float)((double)DStack_22c.r[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar40 * 4) = (float)((double)DStack_22c.g[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar30 * 4) = (float)((double)DStack_22c.b[uVar48] * dVar57);\n                if (iVar18 < 2) {\n                  uVar48 = uVar52 >> (iVar16 * 4 & 0x1fU);\n                }\n                else {\n                  uVar48 = uVar53 >> ((iVar9 + iVar10) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar28 + 0x34) != 0) {\n                  *(float *)(iVar21 + *(int *)(iVar28 + 0x38) * 4) =\n                       (float)((double)((uVar48 & 0xf) * 0x11 & 0xff) * dVar56);\n                }\n                iVar21 = iVar21 + *(int *)(iVar29 + 0x2c0) * 4;\n              }\n              iVar10 = iVar10 + 1;\n              pDVar4 = (DDSColors *)(pDVar39->r + iVar10);\n            } while (iVar10 != 4);\n            iVar18 = iVar18 + 1;\n            pDVar22 = (DDSColors *)(pDVar22->r + 1);\n            iVar9 = iVar9 + 4;\n          } while (iVar18 != 4);\n          pDVar4 = pDVar19;\n          iVar21 = (**(code **)(pcVar44 + 0x195998))(iVar29);\n          if (iVar21 == 0) goto LAB_00213b34;\n          pcVar42 = *(code **)(iVar29 + 0x18);\n          pDVar39 = (DDSColors *)pDVar39->g;\n          pcVar43 = *(code **)(pcVar44 + 0x195efc);\n          if ((int)pcVar42 <= (int)pDVar39) break;\n          iVar21 = *(int *)(iVar29 + 0x1c);\n        }\n      }" if (parenthesized_expression "((int)pcVar42 < 1)" ( (binary_expression "(int)pcVar42 < 1" (cast_expression "(int)pcVar42" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        pcVar43 = *(code **)(pcVar44 + 0x195efc);\n      }" { (expression_statement "pcVar43 = *(code **)(pcVar44 + 0x195efc);" (assignment_expression "pcVar43 = *(code **)(pcVar44 + 0x195efc)" identifier = (pointer_expression "*(code **)(pcVar44 + 0x195efc)" * (cast_expression "(code **)(pcVar44 + 0x195efc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x195efc)" ( (binary_expression "pcVar44 + 0x195efc" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        while( true ) {\n          uStack_248 = iVar21 - (int)pDVar33;\n          pcVar42 = pcVar42 + -(int)pDVar39;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar42) {\n            pcVar42 = (code *)&DAT_00000004;\n          }\n          pDVar4 = pDVar39;\n          pDVar22 = pDVar33;\n          iVar21 = (**(code **)(pcVar44 + 0x1956d8))(iVar29);\n          if (iVar21 == 0) goto LAB_00213b34;\n          uVar52 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          uVar53 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          uVar24 = (**(code **)(pcVar44 + 0x195eb0))(iVar29);\n          pDVar4 = (DDSColors *)(**(code **)(pcVar44 + 0x195eb0))(iVar29);\n          uVar47 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          pcVar42 = (code *)0x1;\n          pDVar22 = &DStack_22c;\n          (*(code *)(iVar17 + 0x2408))(uVar24);\n          iVar9 = (**(code **)(pcVar44 + 0x195efc))(iVar29);\n          if (iVar9 != 0) goto LAB_00213b34;\n          pcVar42 = *(code **)(iVar29 + 0x18);\n          iVar18 = 0;\n          iVar9 = 0;\n          pDVar22 = pDVar33;\n          do {\n            iVar10 = 0;\n            pDVar4 = pDVar39;\n            do {\n              if (((int)pDVar4 < (int)pcVar42) &&\n                 (iVar16 = iVar10 + iVar18 * 4, (int)pDVar22 < *(int *)(iVar29 + 0x1c))) {\n                iVar28 = *(int *)(iVar29 + 0x2d0);\n                iVar40 = *(int *)(iVar28 + 0x14);\n                uVar48 = uVar47 >> (iVar16 * 2 & 0x1fU) & 3;\n                iVar30 = *(int *)(iVar28 + 0x20);\n                *(float *)(iVar21 + *(int *)(iVar28 + 8) * 4) =\n                     (float)((double)DStack_22c.r[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar40 * 4) = (float)((double)DStack_22c.g[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar30 * 4) = (float)((double)DStack_22c.b[uVar48] * dVar57);\n                if (iVar18 < 2) {\n                  uVar48 = uVar52 >> (iVar16 * 4 & 0x1fU);\n                }\n                else {\n                  uVar48 = uVar53 >> ((iVar9 + iVar10) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar28 + 0x34) != 0) {\n                  *(float *)(iVar21 + *(int *)(iVar28 + 0x38) * 4) =\n                       (float)((double)((uVar48 & 0xf) * 0x11 & 0xff) * dVar56);\n                }\n                iVar21 = iVar21 + *(int *)(iVar29 + 0x2c0) * 4;\n              }\n              iVar10 = iVar10 + 1;\n              pDVar4 = (DDSColors *)(pDVar39->r + iVar10);\n            } while (iVar10 != 4);\n            iVar18 = iVar18 + 1;\n            pDVar22 = (DDSColors *)(pDVar22->r + 1);\n            iVar9 = iVar9 + 4;\n          } while (iVar18 != 4);\n          pDVar4 = pDVar19;\n          iVar21 = (**(code **)(pcVar44 + 0x195998))(iVar29);\n          if (iVar21 == 0) goto LAB_00213b34;\n          pcVar42 = *(code **)(iVar29 + 0x18);\n          pDVar39 = (DDSColors *)pDVar39->g;\n          pcVar43 = *(code **)(pcVar44 + 0x195efc);\n          if ((int)pcVar42 <= (int)pDVar39) break;\n          iVar21 = *(int *)(iVar29 + 0x1c);\n        }\n      }" else (compound_statement "{\n        while( true ) {\n          uStack_248 = iVar21 - (int)pDVar33;\n          pcVar42 = pcVar42 + -(int)pDVar39;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar42) {\n            pcVar42 = (code *)&DAT_00000004;\n          }\n          pDVar4 = pDVar39;\n          pDVar22 = pDVar33;\n          iVar21 = (**(code **)(pcVar44 + 0x1956d8))(iVar29);\n          if (iVar21 == 0) goto LAB_00213b34;\n          uVar52 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          uVar53 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          uVar24 = (**(code **)(pcVar44 + 0x195eb0))(iVar29);\n          pDVar4 = (DDSColors *)(**(code **)(pcVar44 + 0x195eb0))(iVar29);\n          uVar47 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          pcVar42 = (code *)0x1;\n          pDVar22 = &DStack_22c;\n          (*(code *)(iVar17 + 0x2408))(uVar24);\n          iVar9 = (**(code **)(pcVar44 + 0x195efc))(iVar29);\n          if (iVar9 != 0) goto LAB_00213b34;\n          pcVar42 = *(code **)(iVar29 + 0x18);\n          iVar18 = 0;\n          iVar9 = 0;\n          pDVar22 = pDVar33;\n          do {\n            iVar10 = 0;\n            pDVar4 = pDVar39;\n            do {\n              if (((int)pDVar4 < (int)pcVar42) &&\n                 (iVar16 = iVar10 + iVar18 * 4, (int)pDVar22 < *(int *)(iVar29 + 0x1c))) {\n                iVar28 = *(int *)(iVar29 + 0x2d0);\n                iVar40 = *(int *)(iVar28 + 0x14);\n                uVar48 = uVar47 >> (iVar16 * 2 & 0x1fU) & 3;\n                iVar30 = *(int *)(iVar28 + 0x20);\n                *(float *)(iVar21 + *(int *)(iVar28 + 8) * 4) =\n                     (float)((double)DStack_22c.r[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar40 * 4) = (float)((double)DStack_22c.g[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar30 * 4) = (float)((double)DStack_22c.b[uVar48] * dVar57);\n                if (iVar18 < 2) {\n                  uVar48 = uVar52 >> (iVar16 * 4 & 0x1fU);\n                }\n                else {\n                  uVar48 = uVar53 >> ((iVar9 + iVar10) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar28 + 0x34) != 0) {\n                  *(float *)(iVar21 + *(int *)(iVar28 + 0x38) * 4) =\n                       (float)((double)((uVar48 & 0xf) * 0x11 & 0xff) * dVar56);\n                }\n                iVar21 = iVar21 + *(int *)(iVar29 + 0x2c0) * 4;\n              }\n              iVar10 = iVar10 + 1;\n              pDVar4 = (DDSColors *)(pDVar39->r + iVar10);\n            } while (iVar10 != 4);\n            iVar18 = iVar18 + 1;\n            pDVar22 = (DDSColors *)(pDVar22->r + 1);\n            iVar9 = iVar9 + 4;\n          } while (iVar18 != 4);\n          pDVar4 = pDVar19;\n          iVar21 = (**(code **)(pcVar44 + 0x195998))(iVar29);\n          if (iVar21 == 0) goto LAB_00213b34;\n          pcVar42 = *(code **)(iVar29 + 0x18);\n          pDVar39 = (DDSColors *)pDVar39->g;\n          pcVar43 = *(code **)(pcVar44 + 0x195efc);\n          if ((int)pcVar42 <= (int)pDVar39) break;\n          iVar21 = *(int *)(iVar29 + 0x1c);\n        }\n      }" { (while_statement "while( true ) {\n          uStack_248 = iVar21 - (int)pDVar33;\n          pcVar42 = pcVar42 + -(int)pDVar39;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar42) {\n            pcVar42 = (code *)&DAT_00000004;\n          }\n          pDVar4 = pDVar39;\n          pDVar22 = pDVar33;\n          iVar21 = (**(code **)(pcVar44 + 0x1956d8))(iVar29);\n          if (iVar21 == 0) goto LAB_00213b34;\n          uVar52 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          uVar53 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          uVar24 = (**(code **)(pcVar44 + 0x195eb0))(iVar29);\n          pDVar4 = (DDSColors *)(**(code **)(pcVar44 + 0x195eb0))(iVar29);\n          uVar47 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          pcVar42 = (code *)0x1;\n          pDVar22 = &DStack_22c;\n          (*(code *)(iVar17 + 0x2408))(uVar24);\n          iVar9 = (**(code **)(pcVar44 + 0x195efc))(iVar29);\n          if (iVar9 != 0) goto LAB_00213b34;\n          pcVar42 = *(code **)(iVar29 + 0x18);\n          iVar18 = 0;\n          iVar9 = 0;\n          pDVar22 = pDVar33;\n          do {\n            iVar10 = 0;\n            pDVar4 = pDVar39;\n            do {\n              if (((int)pDVar4 < (int)pcVar42) &&\n                 (iVar16 = iVar10 + iVar18 * 4, (int)pDVar22 < *(int *)(iVar29 + 0x1c))) {\n                iVar28 = *(int *)(iVar29 + 0x2d0);\n                iVar40 = *(int *)(iVar28 + 0x14);\n                uVar48 = uVar47 >> (iVar16 * 2 & 0x1fU) & 3;\n                iVar30 = *(int *)(iVar28 + 0x20);\n                *(float *)(iVar21 + *(int *)(iVar28 + 8) * 4) =\n                     (float)((double)DStack_22c.r[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar40 * 4) = (float)((double)DStack_22c.g[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar30 * 4) = (float)((double)DStack_22c.b[uVar48] * dVar57);\n                if (iVar18 < 2) {\n                  uVar48 = uVar52 >> (iVar16 * 4 & 0x1fU);\n                }\n                else {\n                  uVar48 = uVar53 >> ((iVar9 + iVar10) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar28 + 0x34) != 0) {\n                  *(float *)(iVar21 + *(int *)(iVar28 + 0x38) * 4) =\n                       (float)((double)((uVar48 & 0xf) * 0x11 & 0xff) * dVar56);\n                }\n                iVar21 = iVar21 + *(int *)(iVar29 + 0x2c0) * 4;\n              }\n              iVar10 = iVar10 + 1;\n              pDVar4 = (DDSColors *)(pDVar39->r + iVar10);\n            } while (iVar10 != 4);\n            iVar18 = iVar18 + 1;\n            pDVar22 = (DDSColors *)(pDVar22->r + 1);\n            iVar9 = iVar9 + 4;\n          } while (iVar18 != 4);\n          pDVar4 = pDVar19;\n          iVar21 = (**(code **)(pcVar44 + 0x195998))(iVar29);\n          if (iVar21 == 0) goto LAB_00213b34;\n          pcVar42 = *(code **)(iVar29 + 0x18);\n          pDVar39 = (DDSColors *)pDVar39->g;\n          pcVar43 = *(code **)(pcVar44 + 0x195efc);\n          if ((int)pcVar42 <= (int)pDVar39) break;\n          iVar21 = *(int *)(iVar29 + 0x1c);\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          uStack_248 = iVar21 - (int)pDVar33;\n          pcVar42 = pcVar42 + -(int)pDVar39;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar42) {\n            pcVar42 = (code *)&DAT_00000004;\n          }\n          pDVar4 = pDVar39;\n          pDVar22 = pDVar33;\n          iVar21 = (**(code **)(pcVar44 + 0x1956d8))(iVar29);\n          if (iVar21 == 0) goto LAB_00213b34;\n          uVar52 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          uVar53 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          uVar24 = (**(code **)(pcVar44 + 0x195eb0))(iVar29);\n          pDVar4 = (DDSColors *)(**(code **)(pcVar44 + 0x195eb0))(iVar29);\n          uVar47 = (**(code **)(pcVar44 + 0x195820))(iVar29);\n          pcVar42 = (code *)0x1;\n          pDVar22 = &DStack_22c;\n          (*(code *)(iVar17 + 0x2408))(uVar24);\n          iVar9 = (**(code **)(pcVar44 + 0x195efc))(iVar29);\n          if (iVar9 != 0) goto LAB_00213b34;\n          pcVar42 = *(code **)(iVar29 + 0x18);\n          iVar18 = 0;\n          iVar9 = 0;\n          pDVar22 = pDVar33;\n          do {\n            iVar10 = 0;\n            pDVar4 = pDVar39;\n            do {\n              if (((int)pDVar4 < (int)pcVar42) &&\n                 (iVar16 = iVar10 + iVar18 * 4, (int)pDVar22 < *(int *)(iVar29 + 0x1c))) {\n                iVar28 = *(int *)(iVar29 + 0x2d0);\n                iVar40 = *(int *)(iVar28 + 0x14);\n                uVar48 = uVar47 >> (iVar16 * 2 & 0x1fU) & 3;\n                iVar30 = *(int *)(iVar28 + 0x20);\n                *(float *)(iVar21 + *(int *)(iVar28 + 8) * 4) =\n                     (float)((double)DStack_22c.r[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar40 * 4) = (float)((double)DStack_22c.g[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar30 * 4) = (float)((double)DStack_22c.b[uVar48] * dVar57);\n                if (iVar18 < 2) {\n                  uVar48 = uVar52 >> (iVar16 * 4 & 0x1fU);\n                }\n                else {\n                  uVar48 = uVar53 >> ((iVar9 + iVar10) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar28 + 0x34) != 0) {\n                  *(float *)(iVar21 + *(int *)(iVar28 + 0x38) * 4) =\n                       (float)((double)((uVar48 & 0xf) * 0x11 & 0xff) * dVar56);\n                }\n                iVar21 = iVar21 + *(int *)(iVar29 + 0x2c0) * 4;\n              }\n              iVar10 = iVar10 + 1;\n              pDVar4 = (DDSColors *)(pDVar39->r + iVar10);\n            } while (iVar10 != 4);\n            iVar18 = iVar18 + 1;\n            pDVar22 = (DDSColors *)(pDVar22->r + 1);\n            iVar9 = iVar9 + 4;\n          } while (iVar18 != 4);\n          pDVar4 = pDVar19;\n          iVar21 = (**(code **)(pcVar44 + 0x195998))(iVar29);\n          if (iVar21 == 0) goto LAB_00213b34;\n          pcVar42 = *(code **)(iVar29 + 0x18);\n          pDVar39 = (DDSColors *)pDVar39->g;\n          pcVar43 = *(code **)(pcVar44 + 0x195efc);\n          if ((int)pcVar42 <= (int)pDVar39) break;\n          iVar21 = *(int *)(iVar29 + 0x1c);\n        }" { (expression_statement "uStack_248 = iVar21 - (int)pDVar33;" (assignment_expression "uStack_248 = iVar21 - (int)pDVar33" identifier = (binary_expression "iVar21 - (int)pDVar33" identifier - (cast_expression "(int)pDVar33" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar42 = pcVar42 + -(int)pDVar39;" (assignment_expression "pcVar42 = pcVar42 + -(int)pDVar39" identifier = (binary_expression "pcVar42 + -(int)pDVar39" identifier + (unary_expression "-(int)pDVar39" - (cast_expression "(int)pDVar39" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (if_statement "if (4 < uStack_248) {\n            uStack_248 = 4;\n          }" if (parenthesized_expression "(4 < uStack_248)" ( (binary_expression "4 < uStack_248" number_literal < identifier) )) (compound_statement "{\n            uStack_248 = 4;\n          }" { (expression_statement "uStack_248 = 4;" (assignment_expression "uStack_248 = 4" identifier = number_literal) ;) })) (if_statement "if (&DAT_00000004 < pcVar42) {\n            pcVar42 = (code *)&DAT_00000004;\n          }" if (parenthesized_expression "(&DAT_00000004 < pcVar42)" ( (binary_expression "&DAT_00000004 < pcVar42" (pointer_expression "&DAT_00000004" & identifier) < identifier) )) (compound_statement "{\n            pcVar42 = (code *)&DAT_00000004;\n          }" { (expression_statement "pcVar42 = (code *)&DAT_00000004;" (assignment_expression "pcVar42 = (code *)&DAT_00000004" identifier = (cast_expression "(code *)&DAT_00000004" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000004" & identifier))) ;) })) (expression_statement "pDVar4 = pDVar39;" (assignment_expression "pDVar4 = pDVar39" identifier = identifier) ;) (expression_statement "pDVar22 = pDVar33;" (assignment_expression "pDVar22 = pDVar33" identifier = identifier) ;) (expression_statement "iVar21 = (**(code **)(pcVar44 + 0x1956d8))(iVar29);" (assignment_expression "iVar21 = (**(code **)(pcVar44 + 0x1956d8))(iVar29)" identifier = (call_expression "(**(code **)(pcVar44 + 0x1956d8))(iVar29)" (parenthesized_expression "(**(code **)(pcVar44 + 0x1956d8))" ( (pointer_expression "**(code **)(pcVar44 + 0x1956d8)" * (pointer_expression "*(code **)(pcVar44 + 0x1956d8)" * (cast_expression "(code **)(pcVar44 + 0x1956d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x1956d8)" ( (binary_expression "pcVar44 + 0x1956d8" identifier + number_literal) ))))) )) (argument_list "(iVar29)" ( identifier )))) ;) (if_statement "if (iVar21 == 0) goto LAB_00213b34;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00213b34;" goto statement_identifier ;)) (expression_statement "uVar52 = (**(code **)(pcVar44 + 0x195820))(iVar29);" (assignment_expression "uVar52 = (**(code **)(pcVar44 + 0x195820))(iVar29)" identifier = (call_expression "(**(code **)(pcVar44 + 0x195820))(iVar29)" (parenthesized_expression "(**(code **)(pcVar44 + 0x195820))" ( (pointer_expression "**(code **)(pcVar44 + 0x195820)" * (pointer_expression "*(code **)(pcVar44 + 0x195820)" * (cast_expression "(code **)(pcVar44 + 0x195820)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x195820)" ( (binary_expression "pcVar44 + 0x195820" identifier + number_literal) ))))) )) (argument_list "(iVar29)" ( identifier )))) ;) (expression_statement "uVar53 = (**(code **)(pcVar44 + 0x195820))(iVar29);" (assignment_expression "uVar53 = (**(code **)(pcVar44 + 0x195820))(iVar29)" identifier = (call_expression "(**(code **)(pcVar44 + 0x195820))(iVar29)" (parenthesized_expression "(**(code **)(pcVar44 + 0x195820))" ( (pointer_expression "**(code **)(pcVar44 + 0x195820)" * (pointer_expression "*(code **)(pcVar44 + 0x195820)" * (cast_expression "(code **)(pcVar44 + 0x195820)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x195820)" ( (binary_expression "pcVar44 + 0x195820" identifier + number_literal) ))))) )) (argument_list "(iVar29)" ( identifier )))) ;) (expression_statement "uVar24 = (**(code **)(pcVar44 + 0x195eb0))(iVar29);" (assignment_expression "uVar24 = (**(code **)(pcVar44 + 0x195eb0))(iVar29)" identifier = (call_expression "(**(code **)(pcVar44 + 0x195eb0))(iVar29)" (parenthesized_expression "(**(code **)(pcVar44 + 0x195eb0))" ( (pointer_expression "**(code **)(pcVar44 + 0x195eb0)" * (pointer_expression "*(code **)(pcVar44 + 0x195eb0)" * (cast_expression "(code **)(pcVar44 + 0x195eb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x195eb0)" ( (binary_expression "pcVar44 + 0x195eb0" identifier + number_literal) ))))) )) (argument_list "(iVar29)" ( identifier )))) ;) (expression_statement "pDVar4 = (DDSColors *)(**(code **)(pcVar44 + 0x195eb0))(iVar29);" (assignment_expression "pDVar4 = (DDSColors *)(**(code **)(pcVar44 + 0x195eb0))(iVar29)" identifier = (cast_expression "(DDSColors *)(**(code **)(pcVar44 + 0x195eb0))(iVar29)" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar44 + 0x195eb0))(iVar29)" (parenthesized_expression "(**(code **)(pcVar44 + 0x195eb0))" ( (pointer_expression "**(code **)(pcVar44 + 0x195eb0)" * (pointer_expression "*(code **)(pcVar44 + 0x195eb0)" * (cast_expression "(code **)(pcVar44 + 0x195eb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x195eb0)" ( (binary_expression "pcVar44 + 0x195eb0" identifier + number_literal) ))))) )) (argument_list "(iVar29)" ( identifier ))))) ;) (expression_statement "uVar47 = (**(code **)(pcVar44 + 0x195820))(iVar29);" (assignment_expression "uVar47 = (**(code **)(pcVar44 + 0x195820))(iVar29)" identifier = (call_expression "(**(code **)(pcVar44 + 0x195820))(iVar29)" (parenthesized_expression "(**(code **)(pcVar44 + 0x195820))" ( (pointer_expression "**(code **)(pcVar44 + 0x195820)" * (pointer_expression "*(code **)(pcVar44 + 0x195820)" * (cast_expression "(code **)(pcVar44 + 0x195820)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x195820)" ( (binary_expression "pcVar44 + 0x195820" identifier + number_literal) ))))) )) (argument_list "(iVar29)" ( identifier )))) ;) (expression_statement "pcVar42 = (code *)0x1;" (assignment_expression "pcVar42 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pDVar22 = &DStack_22c;" (assignment_expression "pDVar22 = &DStack_22c" identifier = (pointer_expression "&DStack_22c" & identifier)) ;) (expression_statement "(*(code *)(iVar17 + 0x2408))(uVar24);" (call_expression "(*(code *)(iVar17 + 0x2408))(uVar24)" (parenthesized_expression "(*(code *)(iVar17 + 0x2408))" ( (pointer_expression "*(code *)(iVar17 + 0x2408)" * (cast_expression "(code *)(iVar17 + 0x2408)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x2408)" ( (binary_expression "iVar17 + 0x2408" identifier + number_literal) )))) )) (argument_list "(uVar24)" ( identifier ))) ;) (expression_statement "iVar9 = (**(code **)(pcVar44 + 0x195efc))(iVar29);" (assignment_expression "iVar9 = (**(code **)(pcVar44 + 0x195efc))(iVar29)" identifier = (call_expression "(**(code **)(pcVar44 + 0x195efc))(iVar29)" (parenthesized_expression "(**(code **)(pcVar44 + 0x195efc))" ( (pointer_expression "**(code **)(pcVar44 + 0x195efc)" * (pointer_expression "*(code **)(pcVar44 + 0x195efc)" * (cast_expression "(code **)(pcVar44 + 0x195efc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x195efc)" ( (binary_expression "pcVar44 + 0x195efc" identifier + number_literal) ))))) )) (argument_list "(iVar29)" ( identifier )))) ;) (if_statement "if (iVar9 != 0) goto LAB_00213b34;" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00213b34;" goto statement_identifier ;)) (expression_statement "pcVar42 = *(code **)(iVar29 + 0x18);" (assignment_expression "pcVar42 = *(code **)(iVar29 + 0x18)" identifier = (pointer_expression "*(code **)(iVar29 + 0x18)" * (cast_expression "(code **)(iVar29 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x18)" ( (binary_expression "iVar29 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" identifier = number_literal) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (expression_statement "pDVar22 = pDVar33;" (assignment_expression "pDVar22 = pDVar33" identifier = identifier) ;) (do_statement "do {\n            iVar10 = 0;\n            pDVar4 = pDVar39;\n            do {\n              if (((int)pDVar4 < (int)pcVar42) &&\n                 (iVar16 = iVar10 + iVar18 * 4, (int)pDVar22 < *(int *)(iVar29 + 0x1c))) {\n                iVar28 = *(int *)(iVar29 + 0x2d0);\n                iVar40 = *(int *)(iVar28 + 0x14);\n                uVar48 = uVar47 >> (iVar16 * 2 & 0x1fU) & 3;\n                iVar30 = *(int *)(iVar28 + 0x20);\n                *(float *)(iVar21 + *(int *)(iVar28 + 8) * 4) =\n                     (float)((double)DStack_22c.r[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar40 * 4) = (float)((double)DStack_22c.g[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar30 * 4) = (float)((double)DStack_22c.b[uVar48] * dVar57);\n                if (iVar18 < 2) {\n                  uVar48 = uVar52 >> (iVar16 * 4 & 0x1fU);\n                }\n                else {\n                  uVar48 = uVar53 >> ((iVar9 + iVar10) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar28 + 0x34) != 0) {\n                  *(float *)(iVar21 + *(int *)(iVar28 + 0x38) * 4) =\n                       (float)((double)((uVar48 & 0xf) * 0x11 & 0xff) * dVar56);\n                }\n                iVar21 = iVar21 + *(int *)(iVar29 + 0x2c0) * 4;\n              }\n              iVar10 = iVar10 + 1;\n              pDVar4 = (DDSColors *)(pDVar39->r + iVar10);\n            } while (iVar10 != 4);\n            iVar18 = iVar18 + 1;\n            pDVar22 = (DDSColors *)(pDVar22->r + 1);\n            iVar9 = iVar9 + 4;\n          } while (iVar18 != 4);" do (compound_statement "{\n            iVar10 = 0;\n            pDVar4 = pDVar39;\n            do {\n              if (((int)pDVar4 < (int)pcVar42) &&\n                 (iVar16 = iVar10 + iVar18 * 4, (int)pDVar22 < *(int *)(iVar29 + 0x1c))) {\n                iVar28 = *(int *)(iVar29 + 0x2d0);\n                iVar40 = *(int *)(iVar28 + 0x14);\n                uVar48 = uVar47 >> (iVar16 * 2 & 0x1fU) & 3;\n                iVar30 = *(int *)(iVar28 + 0x20);\n                *(float *)(iVar21 + *(int *)(iVar28 + 8) * 4) =\n                     (float)((double)DStack_22c.r[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar40 * 4) = (float)((double)DStack_22c.g[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar30 * 4) = (float)((double)DStack_22c.b[uVar48] * dVar57);\n                if (iVar18 < 2) {\n                  uVar48 = uVar52 >> (iVar16 * 4 & 0x1fU);\n                }\n                else {\n                  uVar48 = uVar53 >> ((iVar9 + iVar10) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar28 + 0x34) != 0) {\n                  *(float *)(iVar21 + *(int *)(iVar28 + 0x38) * 4) =\n                       (float)((double)((uVar48 & 0xf) * 0x11 & 0xff) * dVar56);\n                }\n                iVar21 = iVar21 + *(int *)(iVar29 + 0x2c0) * 4;\n              }\n              iVar10 = iVar10 + 1;\n              pDVar4 = (DDSColors *)(pDVar39->r + iVar10);\n            } while (iVar10 != 4);\n            iVar18 = iVar18 + 1;\n            pDVar22 = (DDSColors *)(pDVar22->r + 1);\n            iVar9 = iVar9 + 4;\n          }" { (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (expression_statement "pDVar4 = pDVar39;" (assignment_expression "pDVar4 = pDVar39" identifier = identifier) ;) (do_statement "do {\n              if (((int)pDVar4 < (int)pcVar42) &&\n                 (iVar16 = iVar10 + iVar18 * 4, (int)pDVar22 < *(int *)(iVar29 + 0x1c))) {\n                iVar28 = *(int *)(iVar29 + 0x2d0);\n                iVar40 = *(int *)(iVar28 + 0x14);\n                uVar48 = uVar47 >> (iVar16 * 2 & 0x1fU) & 3;\n                iVar30 = *(int *)(iVar28 + 0x20);\n                *(float *)(iVar21 + *(int *)(iVar28 + 8) * 4) =\n                     (float)((double)DStack_22c.r[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar40 * 4) = (float)((double)DStack_22c.g[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar30 * 4) = (float)((double)DStack_22c.b[uVar48] * dVar57);\n                if (iVar18 < 2) {\n                  uVar48 = uVar52 >> (iVar16 * 4 & 0x1fU);\n                }\n                else {\n                  uVar48 = uVar53 >> ((iVar9 + iVar10) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar28 + 0x34) != 0) {\n                  *(float *)(iVar21 + *(int *)(iVar28 + 0x38) * 4) =\n                       (float)((double)((uVar48 & 0xf) * 0x11 & 0xff) * dVar56);\n                }\n                iVar21 = iVar21 + *(int *)(iVar29 + 0x2c0) * 4;\n              }\n              iVar10 = iVar10 + 1;\n              pDVar4 = (DDSColors *)(pDVar39->r + iVar10);\n            } while (iVar10 != 4);" do (compound_statement "{\n              if (((int)pDVar4 < (int)pcVar42) &&\n                 (iVar16 = iVar10 + iVar18 * 4, (int)pDVar22 < *(int *)(iVar29 + 0x1c))) {\n                iVar28 = *(int *)(iVar29 + 0x2d0);\n                iVar40 = *(int *)(iVar28 + 0x14);\n                uVar48 = uVar47 >> (iVar16 * 2 & 0x1fU) & 3;\n                iVar30 = *(int *)(iVar28 + 0x20);\n                *(float *)(iVar21 + *(int *)(iVar28 + 8) * 4) =\n                     (float)((double)DStack_22c.r[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar40 * 4) = (float)((double)DStack_22c.g[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar30 * 4) = (float)((double)DStack_22c.b[uVar48] * dVar57);\n                if (iVar18 < 2) {\n                  uVar48 = uVar52 >> (iVar16 * 4 & 0x1fU);\n                }\n                else {\n                  uVar48 = uVar53 >> ((iVar9 + iVar10) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar28 + 0x34) != 0) {\n                  *(float *)(iVar21 + *(int *)(iVar28 + 0x38) * 4) =\n                       (float)((double)((uVar48 & 0xf) * 0x11 & 0xff) * dVar56);\n                }\n                iVar21 = iVar21 + *(int *)(iVar29 + 0x2c0) * 4;\n              }\n              iVar10 = iVar10 + 1;\n              pDVar4 = (DDSColors *)(pDVar39->r + iVar10);\n            }" { (if_statement "if (((int)pDVar4 < (int)pcVar42) &&\n                 (iVar16 = iVar10 + iVar18 * 4, (int)pDVar22 < *(int *)(iVar29 + 0x1c))) {\n                iVar28 = *(int *)(iVar29 + 0x2d0);\n                iVar40 = *(int *)(iVar28 + 0x14);\n                uVar48 = uVar47 >> (iVar16 * 2 & 0x1fU) & 3;\n                iVar30 = *(int *)(iVar28 + 0x20);\n                *(float *)(iVar21 + *(int *)(iVar28 + 8) * 4) =\n                     (float)((double)DStack_22c.r[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar40 * 4) = (float)((double)DStack_22c.g[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar30 * 4) = (float)((double)DStack_22c.b[uVar48] * dVar57);\n                if (iVar18 < 2) {\n                  uVar48 = uVar52 >> (iVar16 * 4 & 0x1fU);\n                }\n                else {\n                  uVar48 = uVar53 >> ((iVar9 + iVar10) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar28 + 0x34) != 0) {\n                  *(float *)(iVar21 + *(int *)(iVar28 + 0x38) * 4) =\n                       (float)((double)((uVar48 & 0xf) * 0x11 & 0xff) * dVar56);\n                }\n                iVar21 = iVar21 + *(int *)(iVar29 + 0x2c0) * 4;\n              }" if (parenthesized_expression "(((int)pDVar4 < (int)pcVar42) &&\n                 (iVar16 = iVar10 + iVar18 * 4, (int)pDVar22 < *(int *)(iVar29 + 0x1c)))" ( (binary_expression "((int)pDVar4 < (int)pcVar42) &&\n                 (iVar16 = iVar10 + iVar18 * 4, (int)pDVar22 < *(int *)(iVar29 + 0x1c))" (parenthesized_expression "((int)pDVar4 < (int)pcVar42)" ( (binary_expression "(int)pDVar4 < (int)pcVar42" (cast_expression "(int)pDVar4" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pcVar42" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(iVar16 = iVar10 + iVar18 * 4, (int)pDVar22 < *(int *)(iVar29 + 0x1c))" ( (comma_expression "iVar16 = iVar10 + iVar18 * 4, (int)pDVar22 < *(int *)(iVar29 + 0x1c)" (assignment_expression "iVar16 = iVar10 + iVar18 * 4" identifier = (binary_expression "iVar10 + iVar18 * 4" identifier + (binary_expression "iVar18 * 4" identifier * number_literal))) , (binary_expression "(int)pDVar22 < *(int *)(iVar29 + 0x1c)" (cast_expression "(int)pDVar22" ( (type_descriptor "int" primitive_type) ) identifier) < (pointer_expression "*(int *)(iVar29 + 0x1c)" * (cast_expression "(int *)(iVar29 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x1c)" ( (binary_expression "iVar29 + 0x1c" identifier + number_literal) )))))) ))) )) (compound_statement "{\n                iVar28 = *(int *)(iVar29 + 0x2d0);\n                iVar40 = *(int *)(iVar28 + 0x14);\n                uVar48 = uVar47 >> (iVar16 * 2 & 0x1fU) & 3;\n                iVar30 = *(int *)(iVar28 + 0x20);\n                *(float *)(iVar21 + *(int *)(iVar28 + 8) * 4) =\n                     (float)((double)DStack_22c.r[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar40 * 4) = (float)((double)DStack_22c.g[uVar48] * dVar57);\n                *(float *)(iVar21 + iVar30 * 4) = (float)((double)DStack_22c.b[uVar48] * dVar57);\n                if (iVar18 < 2) {\n                  uVar48 = uVar52 >> (iVar16 * 4 & 0x1fU);\n                }\n                else {\n                  uVar48 = uVar53 >> ((iVar9 + iVar10) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar28 + 0x34) != 0) {\n                  *(float *)(iVar21 + *(int *)(iVar28 + 0x38) * 4) =\n                       (float)((double)((uVar48 & 0xf) * 0x11 & 0xff) * dVar56);\n                }\n                iVar21 = iVar21 + *(int *)(iVar29 + 0x2c0) * 4;\n              }" { (expression_statement "iVar28 = *(int *)(iVar29 + 0x2d0);" (assignment_expression "iVar28 = *(int *)(iVar29 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar29 + 0x2d0)" * (cast_expression "(int *)(iVar29 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x2d0)" ( (binary_expression "iVar29 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "iVar40 = *(int *)(iVar28 + 0x14);" (assignment_expression "iVar40 = *(int *)(iVar28 + 0x14)" identifier = (pointer_expression "*(int *)(iVar28 + 0x14)" * (cast_expression "(int *)(iVar28 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x14)" ( (binary_expression "iVar28 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar48 = uVar47 >> (iVar16 * 2 & 0x1fU) & 3;" (assignment_expression "uVar48 = uVar47 >> (iVar16 * 2 & 0x1fU) & 3" identifier = (binary_expression "uVar47 >> (iVar16 * 2 & 0x1fU) & 3" (binary_expression "uVar47 >> (iVar16 * 2 & 0x1fU)" identifier >> (parenthesized_expression "(iVar16 * 2 & 0x1fU)" ( (binary_expression "iVar16 * 2 & 0x1fU" (binary_expression "iVar16 * 2" identifier * number_literal) & number_literal) ))) & number_literal)) ;) (expression_statement "iVar30 = *(int *)(iVar28 + 0x20);" (assignment_expression "iVar30 = *(int *)(iVar28 + 0x20)" identifier = (pointer_expression "*(int *)(iVar28 + 0x20)" * (cast_expression "(int *)(iVar28 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x20)" ( (binary_expression "iVar28 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(float *)(iVar21 + *(int *)(iVar28 + 8) * 4) =\n                     (float)((double)DStack_22c.r[uVar48] * dVar57);" (assignment_expression "*(float *)(iVar21 + *(int *)(iVar28 + 8) * 4) =\n                     (float)((double)DStack_22c.r[uVar48] * dVar57)" (pointer_expression "*(float *)(iVar21 + *(int *)(iVar28 + 8) * 4)" * (cast_expression "(float *)(iVar21 + *(int *)(iVar28 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + *(int *)(iVar28 + 8) * 4)" ( (binary_expression "iVar21 + *(int *)(iVar28 + 8) * 4" identifier + (binary_expression "*(int *)(iVar28 + 8) * 4" (pointer_expression "*(int *)(iVar28 + 8)" * (cast_expression "(int *)(iVar28 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 8)" ( (binary_expression "iVar28 + 8" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)((double)DStack_22c.r[uVar48] * dVar57)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)DStack_22c.r[uVar48] * dVar57)" ( (binary_expression "(double)DStack_22c.r[uVar48] * dVar57" (cast_expression "(double)DStack_22c.r[uVar48]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "DStack_22c.r[uVar48]" (field_expression "DStack_22c.r" identifier . field_identifier) [ identifier ])) * identifier) )))) ;) (expression_statement "*(float *)(iVar21 + iVar40 * 4) = (float)((double)DStack_22c.g[uVar48] * dVar57);" (assignment_expression "*(float *)(iVar21 + iVar40 * 4) = (float)((double)DStack_22c.g[uVar48] * dVar57)" (pointer_expression "*(float *)(iVar21 + iVar40 * 4)" * (cast_expression "(float *)(iVar21 + iVar40 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + iVar40 * 4)" ( (binary_expression "iVar21 + iVar40 * 4" identifier + (binary_expression "iVar40 * 4" identifier * number_literal)) )))) = (cast_expression "(float)((double)DStack_22c.g[uVar48] * dVar57)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)DStack_22c.g[uVar48] * dVar57)" ( (binary_expression "(double)DStack_22c.g[uVar48] * dVar57" (cast_expression "(double)DStack_22c.g[uVar48]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "DStack_22c.g[uVar48]" (field_expression "DStack_22c.g" identifier . field_identifier) [ identifier ])) * identifier) )))) ;) (expression_statement "*(float *)(iVar21 + iVar30 * 4) = (float)((double)DStack_22c.b[uVar48] * dVar57);" (assignment_expression "*(float *)(iVar21 + iVar30 * 4) = (float)((double)DStack_22c.b[uVar48] * dVar57)" (pointer_expression "*(float *)(iVar21 + iVar30 * 4)" * (cast_expression "(float *)(iVar21 + iVar30 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + iVar30 * 4)" ( (binary_expression "iVar21 + iVar30 * 4" identifier + (binary_expression "iVar30 * 4" identifier * number_literal)) )))) = (cast_expression "(float)((double)DStack_22c.b[uVar48] * dVar57)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)DStack_22c.b[uVar48] * dVar57)" ( (binary_expression "(double)DStack_22c.b[uVar48] * dVar57" (cast_expression "(double)DStack_22c.b[uVar48]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "DStack_22c.b[uVar48]" (field_expression "DStack_22c.b" identifier . field_identifier) [ identifier ])) * identifier) )))) ;) (if_statement "if (iVar18 < 2) {\n                  uVar48 = uVar52 >> (iVar16 * 4 & 0x1fU);\n                }\n                else {\n                  uVar48 = uVar53 >> ((iVar9 + iVar10) * 4 & 0x1fU);\n                }" if (parenthesized_expression "(iVar18 < 2)" ( (binary_expression "iVar18 < 2" identifier < number_literal) )) (compound_statement "{\n                  uVar48 = uVar52 >> (iVar16 * 4 & 0x1fU);\n                }" { (expression_statement "uVar48 = uVar52 >> (iVar16 * 4 & 0x1fU);" (assignment_expression "uVar48 = uVar52 >> (iVar16 * 4 & 0x1fU)" identifier = (binary_expression "uVar52 >> (iVar16 * 4 & 0x1fU)" identifier >> (parenthesized_expression "(iVar16 * 4 & 0x1fU)" ( (binary_expression "iVar16 * 4 & 0x1fU" (binary_expression "iVar16 * 4" identifier * number_literal) & number_literal) )))) ;) }) (else_clause "else {\n                  uVar48 = uVar53 >> ((iVar9 + iVar10) * 4 & 0x1fU);\n                }" else (compound_statement "{\n                  uVar48 = uVar53 >> ((iVar9 + iVar10) * 4 & 0x1fU);\n                }" { (expression_statement "uVar48 = uVar53 >> ((iVar9 + iVar10) * 4 & 0x1fU);" (assignment_expression "uVar48 = uVar53 >> ((iVar9 + iVar10) * 4 & 0x1fU)" identifier = (binary_expression "uVar53 >> ((iVar9 + iVar10) * 4 & 0x1fU)" identifier >> (parenthesized_expression "((iVar9 + iVar10) * 4 & 0x1fU)" ( (binary_expression "(iVar9 + iVar10) * 4 & 0x1fU" (binary_expression "(iVar9 + iVar10) * 4" (parenthesized_expression "(iVar9 + iVar10)" ( (binary_expression "iVar9 + iVar10" identifier + identifier) )) * number_literal) & number_literal) )))) ;) }))) (if_statement "if (*(int *)(iVar28 + 0x34) != 0) {\n                  *(float *)(iVar21 + *(int *)(iVar28 + 0x38) * 4) =\n                       (float)((double)((uVar48 & 0xf) * 0x11 & 0xff) * dVar56);\n                }" if (parenthesized_expression "(*(int *)(iVar28 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar28 + 0x34) != 0" (pointer_expression "*(int *)(iVar28 + 0x34)" * (cast_expression "(int *)(iVar28 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x34)" ( (binary_expression "iVar28 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  *(float *)(iVar21 + *(int *)(iVar28 + 0x38) * 4) =\n                       (float)((double)((uVar48 & 0xf) * 0x11 & 0xff) * dVar56);\n                }" { (expression_statement "*(float *)(iVar21 + *(int *)(iVar28 + 0x38) * 4) =\n                       (float)((double)((uVar48 & 0xf) * 0x11 & 0xff) * dVar56);" (assignment_expression "*(float *)(iVar21 + *(int *)(iVar28 + 0x38) * 4) =\n                       (float)((double)((uVar48 & 0xf) * 0x11 & 0xff) * dVar56)" (pointer_expression "*(float *)(iVar21 + *(int *)(iVar28 + 0x38) * 4)" * (cast_expression "(float *)(iVar21 + *(int *)(iVar28 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + *(int *)(iVar28 + 0x38) * 4)" ( (binary_expression "iVar21 + *(int *)(iVar28 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar28 + 0x38) * 4" (pointer_expression "*(int *)(iVar28 + 0x38)" * (cast_expression "(int *)(iVar28 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0x38)" ( (binary_expression "iVar28 + 0x38" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)((double)((uVar48 & 0xf) * 0x11 & 0xff) * dVar56)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)((uVar48 & 0xf) * 0x11 & 0xff) * dVar56)" ( (binary_expression "(double)((uVar48 & 0xf) * 0x11 & 0xff) * dVar56" (cast_expression "(double)((uVar48 & 0xf) * 0x11 & 0xff)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((uVar48 & 0xf) * 0x11 & 0xff)" ( (binary_expression "(uVar48 & 0xf) * 0x11 & 0xff" (binary_expression "(uVar48 & 0xf) * 0x11" (parenthesized_expression "(uVar48 & 0xf)" ( (binary_expression "uVar48 & 0xf" identifier & number_literal) )) * number_literal) & number_literal) ))) * identifier) )))) ;) })) (expression_statement "iVar21 = iVar21 + *(int *)(iVar29 + 0x2c0) * 4;" (assignment_expression "iVar21 = iVar21 + *(int *)(iVar29 + 0x2c0) * 4" identifier = (binary_expression "iVar21 + *(int *)(iVar29 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar29 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar29 + 0x2c0)" * (cast_expression "(int *)(iVar29 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x2c0)" ( (binary_expression "iVar29 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) })) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "pDVar4 = (DDSColors *)(pDVar39->r + iVar10);" (assignment_expression "pDVar4 = (DDSColors *)(pDVar39->r + iVar10)" identifier = (cast_expression "(DDSColors *)(pDVar39->r + iVar10)" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar39->r + iVar10)" ( (binary_expression "pDVar39->r + iVar10" (field_expression "pDVar39->r" identifier -> field_identifier) + identifier) )))) ;) }) while (parenthesized_expression "(iVar10 != 4)" ( (binary_expression "iVar10 != 4" identifier != number_literal) )) ;) (expression_statement "iVar18 = iVar18 + 1;" (assignment_expression "iVar18 = iVar18 + 1" identifier = (binary_expression "iVar18 + 1" identifier + number_literal)) ;) (expression_statement "pDVar22 = (DDSColors *)(pDVar22->r + 1);" (assignment_expression "pDVar22 = (DDSColors *)(pDVar22->r + 1)" identifier = (cast_expression "(DDSColors *)(pDVar22->r + 1)" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar22->r + 1)" ( (binary_expression "pDVar22->r + 1" (field_expression "pDVar22->r" identifier -> field_identifier) + number_literal) )))) ;) (expression_statement "iVar9 = iVar9 + 4;" (assignment_expression "iVar9 = iVar9 + 4" identifier = (binary_expression "iVar9 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar18 != 4)" ( (binary_expression "iVar18 != 4" identifier != number_literal) )) ;) (expression_statement "pDVar4 = pDVar19;" (assignment_expression "pDVar4 = pDVar19" identifier = identifier) ;) (expression_statement "iVar21 = (**(code **)(pcVar44 + 0x195998))(iVar29);" (assignment_expression "iVar21 = (**(code **)(pcVar44 + 0x195998))(iVar29)" identifier = (call_expression "(**(code **)(pcVar44 + 0x195998))(iVar29)" (parenthesized_expression "(**(code **)(pcVar44 + 0x195998))" ( (pointer_expression "**(code **)(pcVar44 + 0x195998)" * (pointer_expression "*(code **)(pcVar44 + 0x195998)" * (cast_expression "(code **)(pcVar44 + 0x195998)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x195998)" ( (binary_expression "pcVar44 + 0x195998" identifier + number_literal) ))))) )) (argument_list "(iVar29)" ( identifier )))) ;) (if_statement "if (iVar21 == 0) goto LAB_00213b34;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00213b34;" goto statement_identifier ;)) (expression_statement "pcVar42 = *(code **)(iVar29 + 0x18);" (assignment_expression "pcVar42 = *(code **)(iVar29 + 0x18)" identifier = (pointer_expression "*(code **)(iVar29 + 0x18)" * (cast_expression "(code **)(iVar29 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x18)" ( (binary_expression "iVar29 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "pDVar39 = (DDSColors *)pDVar39->g;" (assignment_expression "pDVar39 = (DDSColors *)pDVar39->g" identifier = (cast_expression "(DDSColors *)pDVar39->g" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar39->g" identifier -> field_identifier))) ;) (expression_statement "pcVar43 = *(code **)(pcVar44 + 0x195efc);" (assignment_expression "pcVar43 = *(code **)(pcVar44 + 0x195efc)" identifier = (pointer_expression "*(code **)(pcVar44 + 0x195efc)" * (cast_expression "(code **)(pcVar44 + 0x195efc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x195efc)" ( (binary_expression "pcVar44 + 0x195efc" identifier + number_literal) ))))) ;) (if_statement "if ((int)pcVar42 <= (int)pDVar39) break;" if (parenthesized_expression "((int)pcVar42 <= (int)pDVar39)" ( (binary_expression "(int)pcVar42 <= (int)pDVar39" (cast_expression "(int)pcVar42" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pDVar39" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "iVar21 = *(int *)(iVar29 + 0x1c);" (assignment_expression "iVar21 = *(int *)(iVar29 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar29 + 0x1c)" * (cast_expression "(int *)(iVar29 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x1c)" ( (binary_expression "iVar29 + 0x1c" identifier + number_literal) ))))) ;) })) }))) (expression_statement "iVar21 = (*pcVar43)(iVar29);" (assignment_expression "iVar21 = (*pcVar43)(iVar29)" identifier = (call_expression "(*pcVar43)(iVar29)" (parenthesized_expression "(*pcVar43)" ( (pointer_expression "*pcVar43" * identifier) )) (argument_list "(iVar29)" ( identifier )))) ;) (if_statement "if (iVar21 != 0) {\nLAB_00213b34:\n        MVar7 = MagickFalse;\n        goto LAB_00213b38;\n      }" if (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00213b34:\n        MVar7 = MagickFalse;\n        goto LAB_00213b38;\n      }" { (labeled_statement "LAB_00213b34:\n        MVar7 = MagickFalse;" statement_identifier : (expression_statement "MVar7 = MagickFalse;" (assignment_expression "MVar7 = MagickFalse" identifier = identifier) ;)) (goto_statement "goto LAB_00213b38;" goto statement_identifier ;) })) (expression_statement "iVar21 = *(int *)(iVar29 + 0x1c);" (assignment_expression "iVar21 = *(int *)(iVar29 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar29 + 0x1c)" * (cast_expression "(int *)(iVar29 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x1c)" ( (binary_expression "iVar29 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "pDVar33 = (DDSColors *)pDVar33->g;" (assignment_expression "pDVar33 = (DDSColors *)pDVar33->g" identifier = (cast_expression "(DDSColors *)pDVar33->g" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar33->g" identifier -> field_identifier))) ;) }) while (parenthesized_expression "((int)pDVar33 < iVar21)" ( (binary_expression "(int)pDVar33 < iVar21" (cast_expression "(int)pDVar33" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) })) (expression_statement "MVar7 = MagickTrue;" (assignment_expression "MVar7 = MagickTrue" identifier = identifier) ;) (labeled_statement "LAB_00213b38:\n  if (iStack_21c == *piVar8) {\n    return MVar7;\n  }" statement_identifier : (if_statement "if (iStack_21c == *piVar8) {\n    return MVar7;\n  }" if (parenthesized_expression "(iStack_21c == *piVar8)" ( (binary_expression "iStack_21c == *piVar8" identifier == (pointer_expression "*piVar8" * identifier)) )) (compound_statement "{\n    return MVar7;\n  }" { (return_statement "return MVar7;" return identifier ;) }))) (expression_statement "pcVar44 = *(code **)(pcVar44 + 0x195818);" (assignment_expression "pcVar44 = *(code **)(pcVar44 + 0x195818)" identifier = (pointer_expression "*(code **)(pcVar44 + 0x195818)" * (cast_expression "(code **)(pcVar44 + 0x195818)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x195818)" ( (binary_expression "pcVar44 + 0x195818" identifier + number_literal) ))))) ;) (expression_statement "iVar29 = iStack_21c;" (assignment_expression "iVar29 = iStack_21c" identifier = identifier) ;) (expression_statement "(*pcVar44)();" (call_expression "(*pcVar44)()" (parenthesized_expression "(*pcVar44)" ( (pointer_expression "*pcVar44" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar21 = (**(code **)(pcVar44 + 0x195b8c))(pDVar4);" (assignment_expression "iVar21 = (**(code **)(pcVar44 + 0x195b8c))(pDVar4)" identifier = (call_expression "(**(code **)(pcVar44 + 0x195b8c))(pDVar4)" (parenthesized_expression "(**(code **)(pcVar44 + 0x195b8c))" ( (pointer_expression "**(code **)(pcVar44 + 0x195b8c)" * (pointer_expression "*(code **)(pcVar44 + 0x195b8c)" * (cast_expression "(code **)(pcVar44 + 0x195b8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x195b8c)" ( (binary_expression "pcVar44 + 0x195b8c" identifier + number_literal) ))))) )) (argument_list "(pDVar4)" ( identifier )))) ;) (if_statement "if (iVar21 != 0) {\n    puVar11 = (undefined4 *)(**(code **)(pcVar44 + 0x195df4))();\n    uVar24 = (**(code **)(pcVar44 + 0x195830))(*puVar11);\n    (**(code **)(pcVar44 + 0x195364))\n              (uStack_248,*(int *)(pcVar44 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar44 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar44 + 0x194d30) + -0x17c,*(int *)(pcVar44 + 0x194d24) + 0xe78,\n               pDVar4 + 0x34,uVar24);\n    (**(code **)(pcVar44 + 0x1954b8))(uVar24);\n    return MagickFalse;\n  }" if (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) (compound_statement "{\n    puVar11 = (undefined4 *)(**(code **)(pcVar44 + 0x195df4))();\n    uVar24 = (**(code **)(pcVar44 + 0x195830))(*puVar11);\n    (**(code **)(pcVar44 + 0x195364))\n              (uStack_248,*(int *)(pcVar44 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar44 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar44 + 0x194d30) + -0x17c,*(int *)(pcVar44 + 0x194d24) + 0xe78,\n               pDVar4 + 0x34,uVar24);\n    (**(code **)(pcVar44 + 0x1954b8))(uVar24);\n    return MagickFalse;\n  }" { (expression_statement "puVar11 = (undefined4 *)(**(code **)(pcVar44 + 0x195df4))();" (assignment_expression "puVar11 = (undefined4 *)(**(code **)(pcVar44 + 0x195df4))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar44 + 0x195df4))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar44 + 0x195df4))()" (parenthesized_expression "(**(code **)(pcVar44 + 0x195df4))" ( (pointer_expression "**(code **)(pcVar44 + 0x195df4)" * (pointer_expression "*(code **)(pcVar44 + 0x195df4)" * (cast_expression "(code **)(pcVar44 + 0x195df4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x195df4)" ( (binary_expression "pcVar44 + 0x195df4" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar24 = (**(code **)(pcVar44 + 0x195830))(*puVar11);" (assignment_expression "uVar24 = (**(code **)(pcVar44 + 0x195830))(*puVar11)" identifier = (call_expression "(**(code **)(pcVar44 + 0x195830))(*puVar11)" (parenthesized_expression "(**(code **)(pcVar44 + 0x195830))" ( (pointer_expression "**(code **)(pcVar44 + 0x195830)" * (pointer_expression "*(code **)(pcVar44 + 0x195830)" * (cast_expression "(code **)(pcVar44 + 0x195830)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x195830)" ( (binary_expression "pcVar44 + 0x195830" identifier + number_literal) ))))) )) (argument_list "(*puVar11)" ( (pointer_expression "*puVar11" * identifier) )))) ;) (expression_statement "(**(code **)(pcVar44 + 0x195364))\n              (uStack_248,*(int *)(pcVar44 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar44 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar44 + 0x194d30) + -0x17c,*(int *)(pcVar44 + 0x194d24) + 0xe78,\n               pDVar4 + 0x34,uVar24);" (call_expression "(**(code **)(pcVar44 + 0x195364))\n              (uStack_248,*(int *)(pcVar44 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar44 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar44 + 0x194d30) + -0x17c,*(int *)(pcVar44 + 0x194d24) + 0xe78,\n               pDVar4 + 0x34,uVar24)" (parenthesized_expression "(**(code **)(pcVar44 + 0x195364))" ( (pointer_expression "**(code **)(pcVar44 + 0x195364)" * (pointer_expression "*(code **)(pcVar44 + 0x195364)" * (cast_expression "(code **)(pcVar44 + 0x195364)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x195364)" ( (binary_expression "pcVar44 + 0x195364" identifier + number_literal) ))))) )) (argument_list "(uStack_248,*(int *)(pcVar44 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar44 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar44 + 0x194d30) + -0x17c,*(int *)(pcVar44 + 0x194d24) + 0xe78,\n               pDVar4 + 0x34,uVar24)" ( identifier , (binary_expression "*(int *)(pcVar44 + 0x194d94) + -0x2c20" (pointer_expression "*(int *)(pcVar44 + 0x194d94)" * (cast_expression "(int *)(pcVar44 + 0x194d94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x194d94)" ( (binary_expression "pcVar44 + 0x194d94" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar44 + 0x194d94) + -0x2ad0" (pointer_expression "*(int *)(pcVar44 + 0x194d94)" * (cast_expression "(int *)(pcVar44 + 0x194d94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x194d94)" ( (binary_expression "pcVar44 + 0x194d94" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(pcVar44 + 0x194d30) + -0x17c" (pointer_expression "*(int *)(pcVar44 + 0x194d30)" * (cast_expression "(int *)(pcVar44 + 0x194d30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x194d30)" ( (binary_expression "pcVar44 + 0x194d30" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar44 + 0x194d24) + 0xe78" (pointer_expression "*(int *)(pcVar44 + 0x194d24)" * (cast_expression "(int *)(pcVar44 + 0x194d24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x194d24)" ( (binary_expression "pcVar44 + 0x194d24" identifier + number_literal) )))) + number_literal) , (binary_expression "pDVar4 + 0x34" identifier + number_literal) , identifier ))) ;) (expression_statement "(**(code **)(pcVar44 + 0x1954b8))(uVar24);" (call_expression "(**(code **)(pcVar44 + 0x1954b8))(uVar24)" (parenthesized_expression "(**(code **)(pcVar44 + 0x1954b8))" ( (pointer_expression "**(code **)(pcVar44 + 0x1954b8)" * (pointer_expression "*(code **)(pcVar44 + 0x1954b8)" * (cast_expression "(code **)(pcVar44 + 0x1954b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x1954b8)" ( (binary_expression "pcVar44 + 0x1954b8" identifier + number_literal) ))))) )) (argument_list "(uVar24)" ( identifier ))) ;) (return_statement "return MagickFalse;" return identifier ;) })) (if_statement "if (-1 < (int)(*(uint *)pDVar22[1].b << 9)) {\n    return MagickTrue;\n  }" if (parenthesized_expression "(-1 < (int)(*(uint *)pDVar22[1].b << 9))" ( (binary_expression "-1 < (int)(*(uint *)pDVar22[1].b << 9)" number_literal < (cast_expression "(int)(*(uint *)pDVar22[1].b << 9)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(*(uint *)pDVar22[1].b << 9)" ( (binary_expression "*(uint *)pDVar22[1].b << 9" (pointer_expression "*(uint *)pDVar22[1].b" * (cast_expression "(uint *)pDVar22[1].b" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar22[1].b" (subscript_expression "pDVar22[1]" identifier [ number_literal ]) . field_identifier))) << number_literal) )))) )) (compound_statement "{\n    return MagickTrue;\n  }" { (return_statement "return MagickTrue;" return identifier ;) })) (if_statement "if (((*(uint *)pDVar22[1].b & 0x1000) == 0) && ((*(uint *)pDVar22[1].a & 0x200) == 0)) {\n    return MagickTrue;\n  }" if (parenthesized_expression "(((*(uint *)pDVar22[1].b & 0x1000) == 0) && ((*(uint *)pDVar22[1].a & 0x200) == 0))" ( (binary_expression "((*(uint *)pDVar22[1].b & 0x1000) == 0) && ((*(uint *)pDVar22[1].a & 0x200) == 0)" (parenthesized_expression "((*(uint *)pDVar22[1].b & 0x1000) == 0)" ( (binary_expression "(*(uint *)pDVar22[1].b & 0x1000) == 0" (parenthesized_expression "(*(uint *)pDVar22[1].b & 0x1000)" ( (binary_expression "*(uint *)pDVar22[1].b & 0x1000" (pointer_expression "*(uint *)pDVar22[1].b" * (cast_expression "(uint *)pDVar22[1].b" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar22[1].b" (subscript_expression "pDVar22[1]" identifier [ number_literal ]) . field_identifier))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(uint *)pDVar22[1].a & 0x200) == 0)" ( (binary_expression "(*(uint *)pDVar22[1].a & 0x200) == 0" (parenthesized_expression "(*(uint *)pDVar22[1].a & 0x200)" ( (binary_expression "*(uint *)pDVar22[1].a & 0x200" (pointer_expression "*(uint *)pDVar22[1].a" * (cast_expression "(uint *)pDVar22[1].a" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar22[1].a" (subscript_expression "pDVar22[1]" identifier [ number_literal ]) . field_identifier))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n    return MagickTrue;\n  }" { (return_statement "return MagickTrue;" return identifier ;) })) (if_statement "if (*(uint *)pDVar22->b < 2) {\n    uVar52 = *(uint *)pDVar22->g;\n    uVar53 = 1;\n  }\n  else {\n    uVar52 = *(uint *)pDVar22->g;\n    uVar53 = *(uint *)pDVar22->b >> 1;\n  }" if (parenthesized_expression "(*(uint *)pDVar22->b < 2)" ( (binary_expression "*(uint *)pDVar22->b < 2" (pointer_expression "*(uint *)pDVar22->b" * (cast_expression "(uint *)pDVar22->b" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar22->b" identifier -> field_identifier))) < number_literal) )) (compound_statement "{\n    uVar52 = *(uint *)pDVar22->g;\n    uVar53 = 1;\n  }" { (expression_statement "uVar52 = *(uint *)pDVar22->g;" (assignment_expression "uVar52 = *(uint *)pDVar22->g" identifier = (pointer_expression "*(uint *)pDVar22->g" * (cast_expression "(uint *)pDVar22->g" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar22->g" identifier -> field_identifier)))) ;) (expression_statement "uVar53 = 1;" (assignment_expression "uVar53 = 1" identifier = number_literal) ;) }) (else_clause "else {\n    uVar52 = *(uint *)pDVar22->g;\n    uVar53 = *(uint *)pDVar22->b >> 1;\n  }" else (compound_statement "{\n    uVar52 = *(uint *)pDVar22->g;\n    uVar53 = *(uint *)pDVar22->b >> 1;\n  }" { (expression_statement "uVar52 = *(uint *)pDVar22->g;" (assignment_expression "uVar52 = *(uint *)pDVar22->g" identifier = (pointer_expression "*(uint *)pDVar22->g" * (cast_expression "(uint *)pDVar22->g" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar22->g" identifier -> field_identifier)))) ;) (expression_statement "uVar53 = *(uint *)pDVar22->b >> 1;" (assignment_expression "uVar53 = *(uint *)pDVar22->b >> 1" identifier = (binary_expression "*(uint *)pDVar22->b >> 1" (pointer_expression "*(uint *)pDVar22->b" * (cast_expression "(uint *)pDVar22->b" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar22->b" identifier -> field_identifier))) >> number_literal)) ;) }))) (if_statement "if (uVar52 < 2) {\n    uVar52 = 1;\n  }\n  else {\n    uVar52 = uVar52 >> 1;\n  }" if (parenthesized_expression "(uVar52 < 2)" ( (binary_expression "uVar52 < 2" identifier < number_literal) )) (compound_statement "{\n    uVar52 = 1;\n  }" { (expression_statement "uVar52 = 1;" (assignment_expression "uVar52 = 1" identifier = number_literal) ;) }) (else_clause "else {\n    uVar52 = uVar52 >> 1;\n  }" else (compound_statement "{\n    uVar52 = uVar52 >> 1;\n  }" { (expression_statement "uVar52 = uVar52 >> 1;" (assignment_expression "uVar52 = uVar52 >> 1" identifier = (binary_expression "uVar52 >> 1" identifier >> number_literal)) ;) }))) (expression_statement "iVar21 = 1;" (assignment_expression "iVar21 = 1" identifier = number_literal) ;) (if_statement "if (*(int *)pDVar22[1].g < 2) {\n    return MagickTrue;\n  }" if (parenthesized_expression "(*(int *)pDVar22[1].g < 2)" ( (binary_expression "*(int *)pDVar22[1].g < 2" (pointer_expression "*(int *)pDVar22[1].g" * (cast_expression "(int *)pDVar22[1].g" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar22[1].g" (subscript_expression "pDVar22[1]" identifier [ number_literal ]) . field_identifier))) < number_literal) )) (compound_statement "{\n    return MagickTrue;\n  }" { (return_statement "return MagickTrue;" return identifier ;) })) (do_statement "do {\n    (**(code **)(pcVar44 + 0x1953d4))(iVar29,pDVar4,uStack_248);\n    iVar21 = iVar21 + 1;\n    pcVar43 = *(code **)(pcVar44 + 0x19584c);\n    if (*(int *)pDVar4[0x336].b == 0) {\n      return MagickFalse;\n    }\n    *(undefined4 *)(*(int *)pDVar4[0x336].b + 700) = *(undefined4 *)pDVar4[0x2b].a;\n    pDVar4 = (DDSColors *)(*pcVar43)(pDVar4);\n    iVar17 = (**(code **)(pcVar44 + 0x1958f0))(pDVar4,uVar53,uVar52,uStack_248);\n    if (iVar17 == 0) {\n      return MagickFalse;\n    }\n    MVar7 = (*pcVar42)(pDVar4,pDVar22,uStack_248);\n    if (MVar7 == MagickFalse) {\n      return MagickFalse;\n    }\n    if (uVar53 == 1) {\n      if (uVar52 == 1) {\n        return MVar7;\n      }\nLAB_00213d14:\n      uVar52 = uVar52 >> 1;\n    }\n    else {\n      uVar53 = uVar53 >> 1;\n      if (uVar52 != 1) goto LAB_00213d14;\n    }\n    if (*(int *)pDVar22[1].g <= iVar21) {\n      return MVar7;\n    }\n  } while( true );" do (compound_statement "{\n    (**(code **)(pcVar44 + 0x1953d4))(iVar29,pDVar4,uStack_248);\n    iVar21 = iVar21 + 1;\n    pcVar43 = *(code **)(pcVar44 + 0x19584c);\n    if (*(int *)pDVar4[0x336].b == 0) {\n      return MagickFalse;\n    }\n    *(undefined4 *)(*(int *)pDVar4[0x336].b + 700) = *(undefined4 *)pDVar4[0x2b].a;\n    pDVar4 = (DDSColors *)(*pcVar43)(pDVar4);\n    iVar17 = (**(code **)(pcVar44 + 0x1958f0))(pDVar4,uVar53,uVar52,uStack_248);\n    if (iVar17 == 0) {\n      return MagickFalse;\n    }\n    MVar7 = (*pcVar42)(pDVar4,pDVar22,uStack_248);\n    if (MVar7 == MagickFalse) {\n      return MagickFalse;\n    }\n    if (uVar53 == 1) {\n      if (uVar52 == 1) {\n        return MVar7;\n      }\nLAB_00213d14:\n      uVar52 = uVar52 >> 1;\n    }\n    else {\n      uVar53 = uVar53 >> 1;\n      if (uVar52 != 1) goto LAB_00213d14;\n    }\n    if (*(int *)pDVar22[1].g <= iVar21) {\n      return MVar7;\n    }\n  }" { (expression_statement "(**(code **)(pcVar44 + 0x1953d4))(iVar29,pDVar4,uStack_248);" (call_expression "(**(code **)(pcVar44 + 0x1953d4))(iVar29,pDVar4,uStack_248)" (parenthesized_expression "(**(code **)(pcVar44 + 0x1953d4))" ( (pointer_expression "**(code **)(pcVar44 + 0x1953d4)" * (pointer_expression "*(code **)(pcVar44 + 0x1953d4)" * (cast_expression "(code **)(pcVar44 + 0x1953d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x1953d4)" ( (binary_expression "pcVar44 + 0x1953d4" identifier + number_literal) ))))) )) (argument_list "(iVar29,pDVar4,uStack_248)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar21 = iVar21 + 1;" (assignment_expression "iVar21 = iVar21 + 1" identifier = (binary_expression "iVar21 + 1" identifier + number_literal)) ;) (expression_statement "pcVar43 = *(code **)(pcVar44 + 0x19584c);" (assignment_expression "pcVar43 = *(code **)(pcVar44 + 0x19584c)" identifier = (pointer_expression "*(code **)(pcVar44 + 0x19584c)" * (cast_expression "(code **)(pcVar44 + 0x19584c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x19584c)" ( (binary_expression "pcVar44 + 0x19584c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)pDVar4[0x336].b == 0) {\n      return MagickFalse;\n    }" if (parenthesized_expression "(*(int *)pDVar4[0x336].b == 0)" ( (binary_expression "*(int *)pDVar4[0x336].b == 0" (pointer_expression "*(int *)pDVar4[0x336].b" * (cast_expression "(int *)pDVar4[0x336].b" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar4[0x336].b" (subscript_expression "pDVar4[0x336]" identifier [ number_literal ]) . field_identifier))) == number_literal) )) (compound_statement "{\n      return MagickFalse;\n    }" { (return_statement "return MagickFalse;" return identifier ;) })) (expression_statement "*(undefined4 *)(*(int *)pDVar4[0x336].b + 700) = *(undefined4 *)pDVar4[0x2b].a;" (assignment_expression "*(undefined4 *)(*(int *)pDVar4[0x336].b + 700) = *(undefined4 *)pDVar4[0x2b].a" (pointer_expression "*(undefined4 *)(*(int *)pDVar4[0x336].b + 700)" * (cast_expression "(undefined4 *)(*(int *)pDVar4[0x336].b + 700)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)pDVar4[0x336].b + 700)" ( (binary_expression "*(int *)pDVar4[0x336].b + 700" (pointer_expression "*(int *)pDVar4[0x336].b" * (cast_expression "(int *)pDVar4[0x336].b" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar4[0x336].b" (subscript_expression "pDVar4[0x336]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) = (pointer_expression "*(undefined4 *)pDVar4[0x2b].a" * (cast_expression "(undefined4 *)pDVar4[0x2b].a" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar4[0x2b].a" (subscript_expression "pDVar4[0x2b]" identifier [ number_literal ]) . field_identifier)))) ;) (expression_statement "pDVar4 = (DDSColors *)(*pcVar43)(pDVar4);" (assignment_expression "pDVar4 = (DDSColors *)(*pcVar43)(pDVar4)" identifier = (cast_expression "(DDSColors *)(*pcVar43)(pDVar4)" ( (type_descriptor "DDSColors *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar43)(pDVar4)" (parenthesized_expression "(*pcVar43)" ( (pointer_expression "*pcVar43" * identifier) )) (argument_list "(pDVar4)" ( identifier ))))) ;) (expression_statement "iVar17 = (**(code **)(pcVar44 + 0x1958f0))(pDVar4,uVar53,uVar52,uStack_248);" (assignment_expression "iVar17 = (**(code **)(pcVar44 + 0x1958f0))(pDVar4,uVar53,uVar52,uStack_248)" identifier = (call_expression "(**(code **)(pcVar44 + 0x1958f0))(pDVar4,uVar53,uVar52,uStack_248)" (parenthesized_expression "(**(code **)(pcVar44 + 0x1958f0))" ( (pointer_expression "**(code **)(pcVar44 + 0x1958f0)" * (pointer_expression "*(code **)(pcVar44 + 0x1958f0)" * (cast_expression "(code **)(pcVar44 + 0x1958f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x1958f0)" ( (binary_expression "pcVar44 + 0x1958f0" identifier + number_literal) ))))) )) (argument_list "(pDVar4,uVar53,uVar52,uStack_248)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar17 == 0) {\n      return MagickFalse;\n    }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n      return MagickFalse;\n    }" { (return_statement "return MagickFalse;" return identifier ;) })) (expression_statement "MVar7 = (*pcVar42)(pDVar4,pDVar22,uStack_248);" (assignment_expression "MVar7 = (*pcVar42)(pDVar4,pDVar22,uStack_248)" identifier = (call_expression "(*pcVar42)(pDVar4,pDVar22,uStack_248)" (parenthesized_expression "(*pcVar42)" ( (pointer_expression "*pcVar42" * identifier) )) (argument_list "(pDVar4,pDVar22,uStack_248)" ( identifier , identifier , identifier )))) ;) (if_statement "if (MVar7 == MagickFalse) {\n      return MagickFalse;\n    }" if (parenthesized_expression "(MVar7 == MagickFalse)" ( (binary_expression "MVar7 == MagickFalse" identifier == identifier) )) (compound_statement "{\n      return MagickFalse;\n    }" { (return_statement "return MagickFalse;" return identifier ;) })) (if_statement "if (uVar53 == 1) {\n      if (uVar52 == 1) {\n        return MVar7;\n      }\nLAB_00213d14:\n      uVar52 = uVar52 >> 1;\n    }\n    else {\n      uVar53 = uVar53 >> 1;\n      if (uVar52 != 1) goto LAB_00213d14;\n    }" if (parenthesized_expression "(uVar53 == 1)" ( (binary_expression "uVar53 == 1" identifier == number_literal) )) (compound_statement "{\n      if (uVar52 == 1) {\n        return MVar7;\n      }\nLAB_00213d14:\n      uVar52 = uVar52 >> 1;\n    }" { (if_statement "if (uVar52 == 1) {\n        return MVar7;\n      }" if (parenthesized_expression "(uVar52 == 1)" ( (binary_expression "uVar52 == 1" identifier == number_literal) )) (compound_statement "{\n        return MVar7;\n      }" { (return_statement "return MVar7;" return identifier ;) })) (labeled_statement "LAB_00213d14:\n      uVar52 = uVar52 >> 1;" statement_identifier : (expression_statement "uVar52 = uVar52 >> 1;" (assignment_expression "uVar52 = uVar52 >> 1" identifier = (binary_expression "uVar52 >> 1" identifier >> number_literal)) ;)) }) (else_clause "else {\n      uVar53 = uVar53 >> 1;\n      if (uVar52 != 1) goto LAB_00213d14;\n    }" else (compound_statement "{\n      uVar53 = uVar53 >> 1;\n      if (uVar52 != 1) goto LAB_00213d14;\n    }" { (expression_statement "uVar53 = uVar53 >> 1;" (assignment_expression "uVar53 = uVar53 >> 1" identifier = (binary_expression "uVar53 >> 1" identifier >> number_literal)) ;) (if_statement "if (uVar52 != 1) goto LAB_00213d14;" if (parenthesized_expression "(uVar52 != 1)" ( (binary_expression "uVar52 != 1" identifier != number_literal) )) (goto_statement "goto LAB_00213d14;" goto statement_identifier ;)) }))) (if_statement "if (*(int *)pDVar22[1].g <= iVar21) {\n      return MVar7;\n    }" if (parenthesized_expression "(*(int *)pDVar22[1].g <= iVar21)" ( (binary_expression "*(int *)pDVar22[1].g <= iVar21" (pointer_expression "*(int *)pDVar22[1].g" * (cast_expression "(int *)pDVar22[1].g" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar22[1].g" (subscript_expression "pDVar22[1]" identifier [ number_literal ]) . field_identifier))) <= identifier) )) (compound_statement "{\n      return MVar7;\n    }" { (return_statement "return MVar7;" return identifier ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "float FUN_00212674(int param_1,float *param_2,float *param_3,float *param_4,float param_5,\n                  float *param_6,float *param_7,int param_8,int param_9)\n\n{\n  byte bVar1;\n  byte bVar2;\n  float *pfVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  float *pfVar9;\n  byte *pbVar10;\n  float *pfVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  float *pfVar16;\n  undefined4 uVar17;\n  float *pfVar18;\n  float *pfVar19;\n  byte *pbVar20;\n  int iVar21;\n  int iVar22;\n  float *pfVar23;\n  int *piVar24;\n  uint *puVar25;\n  uint *puVar26;\n  uint *puVar27;\n  uint *unaff_s6;\n  float unaff_s7;\n  int iVar28;\n  undefined *puVar29;\n  code *pcVar30;\n  code *pcVar31;\n  code *pcVar32;\n  float unaff_s8;\n  code *pcVar33;\n  float fVar34;\n  uint uVar35;\n  uint uVar36;\n  uint uVar37;\n  uint uVar38;\n  float fVar39;\n  uint uVar40;\n  uint uVar41;\n  float fVar42;\n  float fVar43;\n  undefined8 in_f20_21;\n  double in_f22_23;\n  double dVar44;\n  double dVar45;\n  undefined8 uVar46;\n  uint uStack_248;\n  float fStack_22c;\n  byte abStack_228 [4];\n  byte abStack_224 [8];\n  int iStack_21c;\n  float *pfStack_218;\n  float *pfStack_214;\n  float *pfStack_210;\n  int *piStack_20c;\n  uint *puStack_208;\n  uint *puStack_204;\n  uint *puStack_200;\n  float fStack_1fc;\n  float fStack_1f8;\n  code *pcStack_1f4;\n  undefined8 uStack_1f0;\n  double dStack_1e8;\n  uint uStack_1d0;\n  float *pfStack_1cc;\n  code *pcStack_1c8;\n  uint uStack_1bc;\n  int *piStack_1b8;\n  float *pfStack_1b4;\n  uint uStack_1b0;\n  undefined4 uStack_1ac;\n  float *pfStack_1a8;\n  int *piStack_1a4;\n  float fStack_19c;\n  byte abStack_198 [4];\n  byte abStack_194 [8];\n  int iStack_18c;\n  float *pfStack_188;\n  float *pfStack_184;\n  float *pfStack_180;\n  int *piStack_17c;\n  uint *puStack_178;\n  uint *puStack_174;\n  uint *puStack_170;\n  float fStack_16c;\n  float fStack_168;\n  code *pcStack_164;\n  float *pfStack_140;\n  float *pfStack_13c;\n  int iStack_138;\n  float *pfStack_134;\n  code *pcStack_130;\n  code *pcStack_128;\n  uint uStack_124;\n  uint uStack_120;\n  float fStack_11c;\n  float fStack_118;\n  undefined4 uStack_114;\n  uint *puStack_110;\n  undefined4 uStack_10c;\n  undefined4 uStack_108;\n  uint uStack_104;\n  uint uStack_100;\n  int iStack_fc;\n  undefined4 uStack_f8;\n  undefined4 uStack_f4;\n  undefined4 uStack_f0;\n  undefined4 uStack_ec;\n  undefined4 uStack_e8;\n  int iStack_e4;\n  float *pfStack_e0;\n  float *pfStack_dc;\n  float *pfStack_d8;\n  float *pfStack_d4;\n  uint *puStack_d0;\n  uint *puStack_cc;\n  undefined4 uStack_9c;\n  float afStack_8c [2];\n  float local_54;\n  float local_50;\n  byte *local_4c [16];\n  float *local_c;\n  \n  puVar29 = PTR___stack_chk_guard_003a9230;\n  pfVar18 = (float *)(param_8 + param_9 * 0x10);\n  local_c = *(float **)PTR___stack_chk_guard_003a9230;\n  if (param_1 < 1) {\n    fVar34 = 1.4013e-45;\n    if (0 < param_9) goto LAB_00212794;\n    *param_7 = 0.0;\n    param_7[1] = 0.0;\n    param_7[2] = 0.0;\n    param_7[3] = 0.0;\n  }\n  else {\n    pfVar3 = (float *)local_4c;\n    iVar8 = 0;\n    pfVar19 = param_2;\n    pfVar23 = pfVar3;\n    pfVar9 = pfVar18;\n    do {\n      fVar42 = pfVar19[1];\n      pfVar16 = (float *)((int)pfVar9 + 1);\n      pfVar11 = pfVar23 + 1;\n      fVar39 = *pfVar19;\n      fVar34 = pfVar19[2];\n      *(byte *)pfVar9 = (byte)iVar8;\n      iVar8 = iVar8 + 1;\n      *pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;\n      pfVar19 = pfVar19 + 4;\n      pfVar23 = pfVar11;\n      pfVar9 = pfVar16;\n    } while (iVar8 != param_1);\n    pfVar19 = (float *)((int)pfVar18 + -1);\n    do {\n      if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }\n      pfVar19 = (float *)((int)pfVar19 + 1);\n      pfVar3 = pfVar3 + 1;\n    } while ((float *)((int)pfVar18 + param_1 + -1) != pfVar19);\n    param_3 = pfVar11;\n    param_4 = pfVar16;\n    if (param_9 < 1) {\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\nLAB_00212818:\n      iVar8 = 0;\n      do {\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      } while (param_3 != (float *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);\n      iVar8 = 0;\n      pfVar16 = param_4;\n      do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\n      param_4 = pfVar16;\n      if (0 < param_1) goto LAB_00212818;\n    }\n    fVar34 = 1.4013e-45;\n  }\nLAB_002127dc:\n  if (local_c == *(float **)puVar29) {\n    return fVar34;\n  }\n  pfVar18 = local_c;\n  puVar29 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  fVar34 = *(float *)(*(int *)(puVar29 + 0x196010) + -0xe34);\n  fVar39 = *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e70);\n  pfVar3 = *(float **)(puVar29 + 0x196954);\n  afStack_8c[0] = *pfVar3;\n  uVar40 = (uint)((float)param_2 * fVar39 + fVar34);\n  uVar41 = (uint)((float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34);\n  if (0x1f < uVar40) {\n    uVar40 = 0x1f;\n  }\n  uVar35 = (uint)(fVar39 * 5.421411e-39 + fVar34);\n  if (0x3f < uVar41) {\n    uVar41 = 0x3f;\n  }\n  uVar36 = (uint)(local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34);\n  if (0x1f < uVar35) {\n    uVar35 = 0x1f;\n  }\n  uVar37 = (uint)((float)param_4 * fVar39 + fVar34);\n  if (0x3f < uVar36) {\n    uVar36 = 0x3f;\n  }\n  uVar38 = (uint)(local_50 * fVar39 + fVar34);\n  if (0x1f < uVar37) {\n    uVar37 = 0x1f;\n  }\n  puVar27 = (uint *)(uVar40 << 0xb | uVar41 << 5 | uVar37);\n  if (0x1f < uVar38) {\n    uVar38 = 0x1f;\n  }\n  puVar25 = (uint *)(uVar35 << 0xb | uVar36 << 5 | uVar38);\n  pfVar19 = (float *)&uStack_9c;\n  do {\n    if (puVar27 < puVar25) {\n      *(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3;\n    }\n    else {\n      while (puVar25 != puVar27) {\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }\n      *(byte *)pfVar19 = 0;\n    }\n    pfVar23 = (float *)((int)pfVar19 + 1);\n    local_4c[0] = local_4c[0] + 1;\n    pfVar19 = pfVar23;\n  } while (afStack_8c != pfVar23);\nLAB_00212a50:\n  puVar26 = puVar25;\n  if (puVar27 < puVar25) {\n    puVar26 = puVar27;\n    puVar27 = puVar25;\n  }\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar27 & 0xff);\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar27 << 0x10) >> 0x18);\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar26 & 0xff);\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar26 << 0x10) >> 0x18);\n  pfVar19 = (float *)&uStack_9c;\n  do {\n    pfVar11 = pfVar19 + 1;\n    pfVar16 = (float *)(((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff);\n    pfVar9 = pfVar18;\n    (**(code **)(puVar29 + 0x196700))();\n    pfVar19 = pfVar11;\n  } while (pfVar23 != pfVar11);\n  if (afStack_8c[0] == *pfVar3) {\n    return *pfVar3;\n  }\n  pcVar30 = *(code **)(puVar29 + 0x196788);\n  (*pcVar30)();\n  pcVar32 = pcVar30 + 0x19dd78;\n  piVar24 = *(int **)(pcVar30 + 0x1966f8);\n  iStack_e4 = *piVar24;\n  pcStack_130 = pcVar32;\n  pfStack_e0 = pfVar23;\n  pfStack_dc = pfVar18;\n  pfStack_d8 = pfVar3;\n  pfStack_d4 = pfVar11;\n  puStack_d0 = puVar26;\n  puStack_cc = puVar27;\n  if (pfVar9 == (float *)0x0) {\nLAB_00213360:\n    pfVar9 = pfVar18;\n    (**(code **)(pcVar32 + -0x72a8))\n              (*(int *)(pcVar32 + -0x7fd0) + 0xd78,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n  }\n  else {\n    if (pfVar9[0xc85] != -1.2269538e-12) goto LAB_00213390;\n    if (pfVar9[0xc84] != 0.0) {\n      pfStack_13c = pfVar9 + 0x884;\n      pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);\n    }\n    pcVar32 = pcStack_130;\n    pfVar3 = pfVar16;\n    if (pfVar16 == (float *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n      pfVar18 = pfVar9;\n      goto LAB_00213360;\n    }\n    if (pfVar16[7] != -1.2269538e-12) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }\n    pfVar23 = (float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16);\n    iVar8 = (**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16);\n    if (iVar8 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      fVar34 = 0.0;\n      goto LAB_00212c9c;\n    }\n    pfStack_140 = (float *)0x0;\n    (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n    iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n    if ((iVar8 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar26 = (uint *)0x1;\n      fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      if (iVar8 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      puVar26 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pfStack_140 = (float *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = 0.0;\n      unaff_s7 = 2.24208e-44;\n      pcStack_128 = (code *)(puVar27 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar26 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar26 = (uint *)0x1;\nLAB_00212ed8:\n      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);\n      puVar27 = puVar26;\n      if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }\n      else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar8 = (*pcVar32)(0xb);\n      if (iVar8 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar27 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);\n      uStack_124 = (uint)(iVar8 != 0);\n      while( true ) {\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n      fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n    }\n    else {\nLAB_00212c24:\n      uVar17 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar15 = *(int *)(pcStack_130 + -0x7f60);\n      iVar8 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar32 = *(code **)(pcStack_130 + -0x7990);\n      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;\n      iStack_138 = iStack_138 + 0x3e28;\n      pfStack_140 = (float *)&DAT_000001a9;\n      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);\n      if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }\n      fVar34 = 0.0;\n      pfVar9 = pfVar9 + 0x884;\n    }\nLAB_00212c9c:\n    pcVar32 = pcStack_130;\n    if (iStack_e4 == *piVar24) {\n      return fVar34;\n    }\n  }\n  (**(code **)(pcVar32 + -0x784c))();\nLAB_00213390:\n  pfVar19 = (float *)0x6c8;\n  pcVar31 = *(code **)(pcVar32 + -0x72a8);\n  pcVar30 = (code *)(*(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n  pfVar18 = (float *)(*(int *)(pcVar32 + -0x7f60) + -0x2c20);\n  pcVar33 = FUN_002133b4;\n  puVar25 = (uint *)(*(int *)(pcVar32 + -0x7fd0) + 0xda0);\n  (*pcVar31)();\n  pcStack_1c8 = pcVar31 + 0x19d4fc;\n  piStack_1a4 = *(int **)(pcVar31 + 0x195e7c);\n  pfStack_1a8 = (float *)0x0;\n  iStack_18c = *piStack_1a4;\n  uVar40 = puVar25[7];\n  pfStack_1b4 = pfVar19;\n  pfStack_188 = pfVar23;\n  pfStack_184 = pfVar9;\n  pfStack_180 = pfVar3;\n  piStack_17c = piVar24;\n  puStack_178 = puVar26;\n  puStack_174 = puVar27;\n  puStack_170 = unaff_s6;\n  fStack_16c = unaff_s7;\n  fStack_168 = unaff_s8;\n  pcStack_164 = pcVar33;\n  if (0 < (int)uVar40) {\n    in_f22_23 = *(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0);\n    in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50));\n    do {\n      pfVar16 = pfStack_1a8;\n      pcVar30 = (code *)puVar25[6];\n      pfVar3 = (float *)0x0;\n      if (0 < (int)pcVar30) {\n        do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );\n      }\n      pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar8 = (*pcVar32)(puVar25);\n      if (iVar8 != 0) {\nLAB_002137bc:\n        fVar34 = 0.0;\n        goto LAB_002137c0;\n      }\n      uVar40 = puVar25[7];\n      pfStack_1a8 = pfStack_1a8 + 1;\n      puVar26 = puVar25;\n    } while ((int)pfStack_1a8 < (int)uVar40);\n  }\n  fVar34 = 1.4013e-45;\n  puVar25 = puVar26;\nLAB_002137c0:\n  if (iStack_18c == *piStack_1a4) {\n    return fVar34;\n  }\n  pcVar32 = *(code **)(pcStack_1c8 + -0x784c);\n  pcVar31 = FUN_0021384c;\n  iVar8 = iStack_18c;\n  (*pcVar32)();\n  piVar4 = *(int **)(pcVar32 + 0x1959e4);\n  iStack_21c = *piVar4;\n  iVar15 = *(int *)(iVar8 + 0x1c);\n  pfVar16 = pfVar19;\n  pfStack_218 = pfVar23;\n  pfStack_214 = pfVar9;\n  pfStack_210 = pfVar3;\n  piStack_20c = piVar24;\n  puStack_208 = puVar25;\n  puStack_204 = puVar27;\n  puStack_200 = unaff_s6;\n  fStack_1fc = unaff_s7;\n  fStack_1f8 = unaff_s8;\n  pcStack_1f4 = pcVar31;\n  uStack_1f0 = in_f20_21;\n  dStack_1e8 = in_f22_23;\n  if (0 < iVar15) {\n    pfVar3 = (float *)0x0;\n    iVar13 = *(int *)(pcVar32 + 0x195378);\n    dVar44 = *(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0);\n    dVar45 = dVar44;\n    do {\n      pcVar30 = *(code **)(iVar8 + 0x18);\n      pfVar23 = (float *)0x0;\n      if ((int)pcVar30 < 1) {\n        pcVar31 = *(code **)(pcVar32 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }\n      iVar15 = (*pcVar31)(iVar8);\n      if (iVar15 != 0) {\nLAB_00213b34:\n        fVar34 = 0.0;\n        goto LAB_00213b38;\n      }\n      iVar15 = *(int *)(iVar8 + 0x1c);\n      pfVar3 = pfVar3 + 1;\n    } while ((int)pfVar3 < iVar15);\n  }\n  fVar34 = 1.4013e-45;\nLAB_00213b38:\n  if (iStack_21c == *piVar4) {\n    return fVar34;\n  }\n  pcVar32 = *(code **)(pcVar32 + 0x195818);\n  iVar8 = iStack_21c;\n  (*pcVar32)();\n  iVar15 = (**(code **)(pcVar32 + 0x195b8c))(pfVar18);\n  if (iVar15 != 0) {\n    puVar7 = (undefined4 *)(**(code **)(pcVar32 + 0x195df4))();\n    uVar17 = (**(code **)(pcVar32 + 0x195830))(*puVar7);\n    (**(code **)(pcVar32 + 0x195364))\n              (uStack_248,*(int *)(pcVar32 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar32 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar32 + 0x194d30) + -0x17c,*(int *)(pcVar32 + 0x194d24) + 0xe78,\n               pfVar18 + 0xd0,uVar17);\n    (**(code **)(pcVar32 + 0x1954b8))(uVar17);\n    return 0.0;\n  }\n  if (-1 < (int)pfVar16[6] << 9) {\n    return 1.4013e-45;\n  }\n  if ((((uint)pfVar16[6] & 0x1000) == 0) && (((uint)pfVar16[7] & 0x200) == 0)) {\n    return 1.4013e-45;\n  }\n  if ((uint)pfVar16[2] < 2) {\n    fVar34 = pfVar16[1];\n    uVar40 = 1;\n  }\n  else {\n    fVar34 = pfVar16[1];\n    uVar40 = (uint)pfVar16[2] >> 1;\n  }\n  if ((uint)fVar34 < 2) {\n    uVar41 = 1;\n  }\n  else {\n    uVar41 = (uint)fVar34 >> 1;\n  }\n  iVar15 = 1;\n  if ((int)pfVar16[5] < 2) {\n    return 1.4013e-45;\n  }\n  do {\n    (**(code **)(pcVar32 + 0x1953d4))(iVar8,pfVar18,uStack_248);\n    iVar15 = iVar15 + 1;\n    pcVar31 = *(code **)(pcVar32 + 0x19584c);\n    if (pfVar18[0xcda] == 0.0) {\n      return 0.0;\n    }\n    *(float *)((int)pfVar18[0xcda] + 700) = pfVar18[0xaf];\n    pfVar18 = (float *)(*pcVar31)(pfVar18);\n    iVar13 = (**(code **)(pcVar32 + 0x1958f0))(pfVar18,uVar40,uVar41,uStack_248);\n    if (iVar13 == 0) {\n      return 0.0;\n    }\n    fVar34 = (float)(*pcVar30)(pfVar18,pfVar16,uStack_248);\n    if (fVar34 == 0.0) {\n      return 0.0;\n    }\n    if (uVar40 == 1) {\n      if (uVar41 == 1) {\n        return fVar34;\n      }\nLAB_00213d14:\n      uVar41 = uVar41 >> 1;\n    }\n    else {\n      uVar40 = uVar40 >> 1;\n      if (uVar41 != 1) goto LAB_00213d14;\n    }\n    if ((int)pfVar16[5] <= iVar15) {\n      return fVar34;\n    }\n  } while( true );\n}\n\n" (function_definition "float FUN_00212674(int param_1,float *param_2,float *param_3,float *param_4,float param_5,\n                  float *param_6,float *param_7,int param_8,int param_9)\n\n{\n  byte bVar1;\n  byte bVar2;\n  float *pfVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  float *pfVar9;\n  byte *pbVar10;\n  float *pfVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  float *pfVar16;\n  undefined4 uVar17;\n  float *pfVar18;\n  float *pfVar19;\n  byte *pbVar20;\n  int iVar21;\n  int iVar22;\n  float *pfVar23;\n  int *piVar24;\n  uint *puVar25;\n  uint *puVar26;\n  uint *puVar27;\n  uint *unaff_s6;\n  float unaff_s7;\n  int iVar28;\n  undefined *puVar29;\n  code *pcVar30;\n  code *pcVar31;\n  code *pcVar32;\n  float unaff_s8;\n  code *pcVar33;\n  float fVar34;\n  uint uVar35;\n  uint uVar36;\n  uint uVar37;\n  uint uVar38;\n  float fVar39;\n  uint uVar40;\n  uint uVar41;\n  float fVar42;\n  float fVar43;\n  undefined8 in_f20_21;\n  double in_f22_23;\n  double dVar44;\n  double dVar45;\n  undefined8 uVar46;\n  uint uStack_248;\n  float fStack_22c;\n  byte abStack_228 [4];\n  byte abStack_224 [8];\n  int iStack_21c;\n  float *pfStack_218;\n  float *pfStack_214;\n  float *pfStack_210;\n  int *piStack_20c;\n  uint *puStack_208;\n  uint *puStack_204;\n  uint *puStack_200;\n  float fStack_1fc;\n  float fStack_1f8;\n  code *pcStack_1f4;\n  undefined8 uStack_1f0;\n  double dStack_1e8;\n  uint uStack_1d0;\n  float *pfStack_1cc;\n  code *pcStack_1c8;\n  uint uStack_1bc;\n  int *piStack_1b8;\n  float *pfStack_1b4;\n  uint uStack_1b0;\n  undefined4 uStack_1ac;\n  float *pfStack_1a8;\n  int *piStack_1a4;\n  float fStack_19c;\n  byte abStack_198 [4];\n  byte abStack_194 [8];\n  int iStack_18c;\n  float *pfStack_188;\n  float *pfStack_184;\n  float *pfStack_180;\n  int *piStack_17c;\n  uint *puStack_178;\n  uint *puStack_174;\n  uint *puStack_170;\n  float fStack_16c;\n  float fStack_168;\n  code *pcStack_164;\n  float *pfStack_140;\n  float *pfStack_13c;\n  int iStack_138;\n  float *pfStack_134;\n  code *pcStack_130;\n  code *pcStack_128;\n  uint uStack_124;\n  uint uStack_120;\n  float fStack_11c;\n  float fStack_118;\n  undefined4 uStack_114;\n  uint *puStack_110;\n  undefined4 uStack_10c;\n  undefined4 uStack_108;\n  uint uStack_104;\n  uint uStack_100;\n  int iStack_fc;\n  undefined4 uStack_f8;\n  undefined4 uStack_f4;\n  undefined4 uStack_f0;\n  undefined4 uStack_ec;\n  undefined4 uStack_e8;\n  int iStack_e4;\n  float *pfStack_e0;\n  float *pfStack_dc;\n  float *pfStack_d8;\n  float *pfStack_d4;\n  uint *puStack_d0;\n  uint *puStack_cc;\n  undefined4 uStack_9c;\n  float afStack_8c [2];\n  float local_54;\n  float local_50;\n  byte *local_4c [16];\n  float *local_c;\n  \n  puVar29 = PTR___stack_chk_guard_003a9230;\n  pfVar18 = (float *)(param_8 + param_9 * 0x10);\n  local_c = *(float **)PTR___stack_chk_guard_003a9230;\n  if (param_1 < 1) {\n    fVar34 = 1.4013e-45;\n    if (0 < param_9) goto LAB_00212794;\n    *param_7 = 0.0;\n    param_7[1] = 0.0;\n    param_7[2] = 0.0;\n    param_7[3] = 0.0;\n  }\n  else {\n    pfVar3 = (float *)local_4c;\n    iVar8 = 0;\n    pfVar19 = param_2;\n    pfVar23 = pfVar3;\n    pfVar9 = pfVar18;\n    do {\n      fVar42 = pfVar19[1];\n      pfVar16 = (float *)((int)pfVar9 + 1);\n      pfVar11 = pfVar23 + 1;\n      fVar39 = *pfVar19;\n      fVar34 = pfVar19[2];\n      *(byte *)pfVar9 = (byte)iVar8;\n      iVar8 = iVar8 + 1;\n      *pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;\n      pfVar19 = pfVar19 + 4;\n      pfVar23 = pfVar11;\n      pfVar9 = pfVar16;\n    } while (iVar8 != param_1);\n    pfVar19 = (float *)((int)pfVar18 + -1);\n    do {\n      if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }\n      pfVar19 = (float *)((int)pfVar19 + 1);\n      pfVar3 = pfVar3 + 1;\n    } while ((float *)((int)pfVar18 + param_1 + -1) != pfVar19);\n    param_3 = pfVar11;\n    param_4 = pfVar16;\n    if (param_9 < 1) {\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\nLAB_00212818:\n      iVar8 = 0;\n      do {\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      } while (param_3 != (float *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);\n      iVar8 = 0;\n      pfVar16 = param_4;\n      do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\n      param_4 = pfVar16;\n      if (0 < param_1) goto LAB_00212818;\n    }\n    fVar34 = 1.4013e-45;\n  }\nLAB_002127dc:\n  if (local_c == *(float **)puVar29) {\n    return fVar34;\n  }\n  pfVar18 = local_c;\n  puVar29 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  fVar34 = *(float *)(*(int *)(puVar29 + 0x196010) + -0xe34);\n  fVar39 = *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e70);\n  pfVar3 = *(float **)(puVar29 + 0x196954);\n  afStack_8c[0] = *pfVar3;\n  uVar40 = (uint)((float)param_2 * fVar39 + fVar34);\n  uVar41 = (uint)((float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34);\n  if (0x1f < uVar40) {\n    uVar40 = 0x1f;\n  }\n  uVar35 = (uint)(fVar39 * 5.421411e-39 + fVar34);\n  if (0x3f < uVar41) {\n    uVar41 = 0x3f;\n  }\n  uVar36 = (uint)(local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34);\n  if (0x1f < uVar35) {\n    uVar35 = 0x1f;\n  }\n  uVar37 = (uint)((float)param_4 * fVar39 + fVar34);\n  if (0x3f < uVar36) {\n    uVar36 = 0x3f;\n  }\n  uVar38 = (uint)(local_50 * fVar39 + fVar34);\n  if (0x1f < uVar37) {\n    uVar37 = 0x1f;\n  }\n  puVar27 = (uint *)(uVar40 << 0xb | uVar41 << 5 | uVar37);\n  if (0x1f < uVar38) {\n    uVar38 = 0x1f;\n  }\n  puVar25 = (uint *)(uVar35 << 0xb | uVar36 << 5 | uVar38);\n  pfVar19 = (float *)&uStack_9c;\n  do {\n    if (puVar27 < puVar25) {\n      *(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3;\n    }\n    else {\n      while (puVar25 != puVar27) {\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }\n      *(byte *)pfVar19 = 0;\n    }\n    pfVar23 = (float *)((int)pfVar19 + 1);\n    local_4c[0] = local_4c[0] + 1;\n    pfVar19 = pfVar23;\n  } while (afStack_8c != pfVar23);\nLAB_00212a50:\n  puVar26 = puVar25;\n  if (puVar27 < puVar25) {\n    puVar26 = puVar27;\n    puVar27 = puVar25;\n  }\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar27 & 0xff);\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar27 << 0x10) >> 0x18);\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar26 & 0xff);\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar26 << 0x10) >> 0x18);\n  pfVar19 = (float *)&uStack_9c;\n  do {\n    pfVar11 = pfVar19 + 1;\n    pfVar16 = (float *)(((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff);\n    pfVar9 = pfVar18;\n    (**(code **)(puVar29 + 0x196700))();\n    pfVar19 = pfVar11;\n  } while (pfVar23 != pfVar11);\n  if (afStack_8c[0] == *pfVar3) {\n    return *pfVar3;\n  }\n  pcVar30 = *(code **)(puVar29 + 0x196788);\n  (*pcVar30)();\n  pcVar32 = pcVar30 + 0x19dd78;\n  piVar24 = *(int **)(pcVar30 + 0x1966f8);\n  iStack_e4 = *piVar24;\n  pcStack_130 = pcVar32;\n  pfStack_e0 = pfVar23;\n  pfStack_dc = pfVar18;\n  pfStack_d8 = pfVar3;\n  pfStack_d4 = pfVar11;\n  puStack_d0 = puVar26;\n  puStack_cc = puVar27;\n  if (pfVar9 == (float *)0x0) {\nLAB_00213360:\n    pfVar9 = pfVar18;\n    (**(code **)(pcVar32 + -0x72a8))\n              (*(int *)(pcVar32 + -0x7fd0) + 0xd78,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n  }\n  else {\n    if (pfVar9[0xc85] != -1.2269538e-12) goto LAB_00213390;\n    if (pfVar9[0xc84] != 0.0) {\n      pfStack_13c = pfVar9 + 0x884;\n      pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);\n    }\n    pcVar32 = pcStack_130;\n    pfVar3 = pfVar16;\n    if (pfVar16 == (float *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n      pfVar18 = pfVar9;\n      goto LAB_00213360;\n    }\n    if (pfVar16[7] != -1.2269538e-12) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }\n    pfVar23 = (float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16);\n    iVar8 = (**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16);\n    if (iVar8 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      fVar34 = 0.0;\n      goto LAB_00212c9c;\n    }\n    pfStack_140 = (float *)0x0;\n    (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n    iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n    if ((iVar8 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar26 = (uint *)0x1;\n      fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      if (iVar8 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      puVar26 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pfStack_140 = (float *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = 0.0;\n      unaff_s7 = 2.24208e-44;\n      pcStack_128 = (code *)(puVar27 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar26 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar26 = (uint *)0x1;\nLAB_00212ed8:\n      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);\n      puVar27 = puVar26;\n      if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }\n      else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar8 = (*pcVar32)(0xb);\n      if (iVar8 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar27 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);\n      uStack_124 = (uint)(iVar8 != 0);\n      while( true ) {\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n      fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n    }\n    else {\nLAB_00212c24:\n      uVar17 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar15 = *(int *)(pcStack_130 + -0x7f60);\n      iVar8 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar32 = *(code **)(pcStack_130 + -0x7990);\n      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;\n      iStack_138 = iStack_138 + 0x3e28;\n      pfStack_140 = (float *)&DAT_000001a9;\n      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);\n      if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }\n      fVar34 = 0.0;\n      pfVar9 = pfVar9 + 0x884;\n    }\nLAB_00212c9c:\n    pcVar32 = pcStack_130;\n    if (iStack_e4 == *piVar24) {\n      return fVar34;\n    }\n  }\n  (**(code **)(pcVar32 + -0x784c))();\nLAB_00213390:\n  pfVar19 = (float *)0x6c8;\n  pcVar31 = *(code **)(pcVar32 + -0x72a8);\n  pcVar30 = (code *)(*(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n  pfVar18 = (float *)(*(int *)(pcVar32 + -0x7f60) + -0x2c20);\n  pcVar33 = FUN_002133b4;\n  puVar25 = (uint *)(*(int *)(pcVar32 + -0x7fd0) + 0xda0);\n  (*pcVar31)();\n  pcStack_1c8 = pcVar31 + 0x19d4fc;\n  piStack_1a4 = *(int **)(pcVar31 + 0x195e7c);\n  pfStack_1a8 = (float *)0x0;\n  iStack_18c = *piStack_1a4;\n  uVar40 = puVar25[7];\n  pfStack_1b4 = pfVar19;\n  pfStack_188 = pfVar23;\n  pfStack_184 = pfVar9;\n  pfStack_180 = pfVar3;\n  piStack_17c = piVar24;\n  puStack_178 = puVar26;\n  puStack_174 = puVar27;\n  puStack_170 = unaff_s6;\n  fStack_16c = unaff_s7;\n  fStack_168 = unaff_s8;\n  pcStack_164 = pcVar33;\n  if (0 < (int)uVar40) {\n    in_f22_23 = *(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0);\n    in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50));\n    do {\n      pfVar16 = pfStack_1a8;\n      pcVar30 = (code *)puVar25[6];\n      pfVar3 = (float *)0x0;\n      if (0 < (int)pcVar30) {\n        do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );\n      }\n      pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar8 = (*pcVar32)(puVar25);\n      if (iVar8 != 0) {\nLAB_002137bc:\n        fVar34 = 0.0;\n        goto LAB_002137c0;\n      }\n      uVar40 = puVar25[7];\n      pfStack_1a8 = pfStack_1a8 + 1;\n      puVar26 = puVar25;\n    } while ((int)pfStack_1a8 < (int)uVar40);\n  }\n  fVar34 = 1.4013e-45;\n  puVar25 = puVar26;\nLAB_002137c0:\n  if (iStack_18c == *piStack_1a4) {\n    return fVar34;\n  }\n  pcVar32 = *(code **)(pcStack_1c8 + -0x784c);\n  pcVar31 = FUN_0021384c;\n  iVar8 = iStack_18c;\n  (*pcVar32)();\n  piVar4 = *(int **)(pcVar32 + 0x1959e4);\n  iStack_21c = *piVar4;\n  iVar15 = *(int *)(iVar8 + 0x1c);\n  pfVar16 = pfVar19;\n  pfStack_218 = pfVar23;\n  pfStack_214 = pfVar9;\n  pfStack_210 = pfVar3;\n  piStack_20c = piVar24;\n  puStack_208 = puVar25;\n  puStack_204 = puVar27;\n  puStack_200 = unaff_s6;\n  fStack_1fc = unaff_s7;\n  fStack_1f8 = unaff_s8;\n  pcStack_1f4 = pcVar31;\n  uStack_1f0 = in_f20_21;\n  dStack_1e8 = in_f22_23;\n  if (0 < iVar15) {\n    pfVar3 = (float *)0x0;\n    iVar13 = *(int *)(pcVar32 + 0x195378);\n    dVar44 = *(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0);\n    dVar45 = dVar44;\n    do {\n      pcVar30 = *(code **)(iVar8 + 0x18);\n      pfVar23 = (float *)0x0;\n      if ((int)pcVar30 < 1) {\n        pcVar31 = *(code **)(pcVar32 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }\n      iVar15 = (*pcVar31)(iVar8);\n      if (iVar15 != 0) {\nLAB_00213b34:\n        fVar34 = 0.0;\n        goto LAB_00213b38;\n      }\n      iVar15 = *(int *)(iVar8 + 0x1c);\n      pfVar3 = pfVar3 + 1;\n    } while ((int)pfVar3 < iVar15);\n  }\n  fVar34 = 1.4013e-45;\nLAB_00213b38:\n  if (iStack_21c == *piVar4) {\n    return fVar34;\n  }\n  pcVar32 = *(code **)(pcVar32 + 0x195818);\n  iVar8 = iStack_21c;\n  (*pcVar32)();\n  iVar15 = (**(code **)(pcVar32 + 0x195b8c))(pfVar18);\n  if (iVar15 != 0) {\n    puVar7 = (undefined4 *)(**(code **)(pcVar32 + 0x195df4))();\n    uVar17 = (**(code **)(pcVar32 + 0x195830))(*puVar7);\n    (**(code **)(pcVar32 + 0x195364))\n              (uStack_248,*(int *)(pcVar32 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar32 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar32 + 0x194d30) + -0x17c,*(int *)(pcVar32 + 0x194d24) + 0xe78,\n               pfVar18 + 0xd0,uVar17);\n    (**(code **)(pcVar32 + 0x1954b8))(uVar17);\n    return 0.0;\n  }\n  if (-1 < (int)pfVar16[6] << 9) {\n    return 1.4013e-45;\n  }\n  if ((((uint)pfVar16[6] & 0x1000) == 0) && (((uint)pfVar16[7] & 0x200) == 0)) {\n    return 1.4013e-45;\n  }\n  if ((uint)pfVar16[2] < 2) {\n    fVar34 = pfVar16[1];\n    uVar40 = 1;\n  }\n  else {\n    fVar34 = pfVar16[1];\n    uVar40 = (uint)pfVar16[2] >> 1;\n  }\n  if ((uint)fVar34 < 2) {\n    uVar41 = 1;\n  }\n  else {\n    uVar41 = (uint)fVar34 >> 1;\n  }\n  iVar15 = 1;\n  if ((int)pfVar16[5] < 2) {\n    return 1.4013e-45;\n  }\n  do {\n    (**(code **)(pcVar32 + 0x1953d4))(iVar8,pfVar18,uStack_248);\n    iVar15 = iVar15 + 1;\n    pcVar31 = *(code **)(pcVar32 + 0x19584c);\n    if (pfVar18[0xcda] == 0.0) {\n      return 0.0;\n    }\n    *(float *)((int)pfVar18[0xcda] + 700) = pfVar18[0xaf];\n    pfVar18 = (float *)(*pcVar31)(pfVar18);\n    iVar13 = (**(code **)(pcVar32 + 0x1958f0))(pfVar18,uVar40,uVar41,uStack_248);\n    if (iVar13 == 0) {\n      return 0.0;\n    }\n    fVar34 = (float)(*pcVar30)(pfVar18,pfVar16,uStack_248);\n    if (fVar34 == 0.0) {\n      return 0.0;\n    }\n    if (uVar40 == 1) {\n      if (uVar41 == 1) {\n        return fVar34;\n      }\nLAB_00213d14:\n      uVar41 = uVar41 >> 1;\n    }\n    else {\n      uVar40 = uVar40 >> 1;\n      if (uVar41 != 1) goto LAB_00213d14;\n    }\n    if ((int)pfVar16[5] <= iVar15) {\n      return fVar34;\n    }\n  } while( true );\n}" primitive_type (function_declarator "FUN_00212674(int param_1,float *param_2,float *param_3,float *param_4,float param_5,\n                  float *param_6,float *param_7,int param_8,int param_9)" identifier (parameter_list "(int param_1,float *param_2,float *param_3,float *param_4,float param_5,\n                  float *param_6,float *param_7,int param_8,int param_9)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "float *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "float *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "float *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "float param_5" primitive_type identifier) , (parameter_declaration "float *param_6" primitive_type (pointer_declarator "*param_6" * identifier)) , (parameter_declaration "float *param_7" primitive_type (pointer_declarator "*param_7" * identifier)) , (parameter_declaration "int param_8" primitive_type identifier) , (parameter_declaration "int param_9" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  byte bVar2;\n  float *pfVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  float *pfVar9;\n  byte *pbVar10;\n  float *pfVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  float *pfVar16;\n  undefined4 uVar17;\n  float *pfVar18;\n  float *pfVar19;\n  byte *pbVar20;\n  int iVar21;\n  int iVar22;\n  float *pfVar23;\n  int *piVar24;\n  uint *puVar25;\n  uint *puVar26;\n  uint *puVar27;\n  uint *unaff_s6;\n  float unaff_s7;\n  int iVar28;\n  undefined *puVar29;\n  code *pcVar30;\n  code *pcVar31;\n  code *pcVar32;\n  float unaff_s8;\n  code *pcVar33;\n  float fVar34;\n  uint uVar35;\n  uint uVar36;\n  uint uVar37;\n  uint uVar38;\n  float fVar39;\n  uint uVar40;\n  uint uVar41;\n  float fVar42;\n  float fVar43;\n  undefined8 in_f20_21;\n  double in_f22_23;\n  double dVar44;\n  double dVar45;\n  undefined8 uVar46;\n  uint uStack_248;\n  float fStack_22c;\n  byte abStack_228 [4];\n  byte abStack_224 [8];\n  int iStack_21c;\n  float *pfStack_218;\n  float *pfStack_214;\n  float *pfStack_210;\n  int *piStack_20c;\n  uint *puStack_208;\n  uint *puStack_204;\n  uint *puStack_200;\n  float fStack_1fc;\n  float fStack_1f8;\n  code *pcStack_1f4;\n  undefined8 uStack_1f0;\n  double dStack_1e8;\n  uint uStack_1d0;\n  float *pfStack_1cc;\n  code *pcStack_1c8;\n  uint uStack_1bc;\n  int *piStack_1b8;\n  float *pfStack_1b4;\n  uint uStack_1b0;\n  undefined4 uStack_1ac;\n  float *pfStack_1a8;\n  int *piStack_1a4;\n  float fStack_19c;\n  byte abStack_198 [4];\n  byte abStack_194 [8];\n  int iStack_18c;\n  float *pfStack_188;\n  float *pfStack_184;\n  float *pfStack_180;\n  int *piStack_17c;\n  uint *puStack_178;\n  uint *puStack_174;\n  uint *puStack_170;\n  float fStack_16c;\n  float fStack_168;\n  code *pcStack_164;\n  float *pfStack_140;\n  float *pfStack_13c;\n  int iStack_138;\n  float *pfStack_134;\n  code *pcStack_130;\n  code *pcStack_128;\n  uint uStack_124;\n  uint uStack_120;\n  float fStack_11c;\n  float fStack_118;\n  undefined4 uStack_114;\n  uint *puStack_110;\n  undefined4 uStack_10c;\n  undefined4 uStack_108;\n  uint uStack_104;\n  uint uStack_100;\n  int iStack_fc;\n  undefined4 uStack_f8;\n  undefined4 uStack_f4;\n  undefined4 uStack_f0;\n  undefined4 uStack_ec;\n  undefined4 uStack_e8;\n  int iStack_e4;\n  float *pfStack_e0;\n  float *pfStack_dc;\n  float *pfStack_d8;\n  float *pfStack_d4;\n  uint *puStack_d0;\n  uint *puStack_cc;\n  undefined4 uStack_9c;\n  float afStack_8c [2];\n  float local_54;\n  float local_50;\n  byte *local_4c [16];\n  float *local_c;\n  \n  puVar29 = PTR___stack_chk_guard_003a9230;\n  pfVar18 = (float *)(param_8 + param_9 * 0x10);\n  local_c = *(float **)PTR___stack_chk_guard_003a9230;\n  if (param_1 < 1) {\n    fVar34 = 1.4013e-45;\n    if (0 < param_9) goto LAB_00212794;\n    *param_7 = 0.0;\n    param_7[1] = 0.0;\n    param_7[2] = 0.0;\n    param_7[3] = 0.0;\n  }\n  else {\n    pfVar3 = (float *)local_4c;\n    iVar8 = 0;\n    pfVar19 = param_2;\n    pfVar23 = pfVar3;\n    pfVar9 = pfVar18;\n    do {\n      fVar42 = pfVar19[1];\n      pfVar16 = (float *)((int)pfVar9 + 1);\n      pfVar11 = pfVar23 + 1;\n      fVar39 = *pfVar19;\n      fVar34 = pfVar19[2];\n      *(byte *)pfVar9 = (byte)iVar8;\n      iVar8 = iVar8 + 1;\n      *pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;\n      pfVar19 = pfVar19 + 4;\n      pfVar23 = pfVar11;\n      pfVar9 = pfVar16;\n    } while (iVar8 != param_1);\n    pfVar19 = (float *)((int)pfVar18 + -1);\n    do {\n      if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }\n      pfVar19 = (float *)((int)pfVar19 + 1);\n      pfVar3 = pfVar3 + 1;\n    } while ((float *)((int)pfVar18 + param_1 + -1) != pfVar19);\n    param_3 = pfVar11;\n    param_4 = pfVar16;\n    if (param_9 < 1) {\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\nLAB_00212818:\n      iVar8 = 0;\n      do {\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      } while (param_3 != (float *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);\n      iVar8 = 0;\n      pfVar16 = param_4;\n      do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\n      param_4 = pfVar16;\n      if (0 < param_1) goto LAB_00212818;\n    }\n    fVar34 = 1.4013e-45;\n  }\nLAB_002127dc:\n  if (local_c == *(float **)puVar29) {\n    return fVar34;\n  }\n  pfVar18 = local_c;\n  puVar29 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  fVar34 = *(float *)(*(int *)(puVar29 + 0x196010) + -0xe34);\n  fVar39 = *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e70);\n  pfVar3 = *(float **)(puVar29 + 0x196954);\n  afStack_8c[0] = *pfVar3;\n  uVar40 = (uint)((float)param_2 * fVar39 + fVar34);\n  uVar41 = (uint)((float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34);\n  if (0x1f < uVar40) {\n    uVar40 = 0x1f;\n  }\n  uVar35 = (uint)(fVar39 * 5.421411e-39 + fVar34);\n  if (0x3f < uVar41) {\n    uVar41 = 0x3f;\n  }\n  uVar36 = (uint)(local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34);\n  if (0x1f < uVar35) {\n    uVar35 = 0x1f;\n  }\n  uVar37 = (uint)((float)param_4 * fVar39 + fVar34);\n  if (0x3f < uVar36) {\n    uVar36 = 0x3f;\n  }\n  uVar38 = (uint)(local_50 * fVar39 + fVar34);\n  if (0x1f < uVar37) {\n    uVar37 = 0x1f;\n  }\n  puVar27 = (uint *)(uVar40 << 0xb | uVar41 << 5 | uVar37);\n  if (0x1f < uVar38) {\n    uVar38 = 0x1f;\n  }\n  puVar25 = (uint *)(uVar35 << 0xb | uVar36 << 5 | uVar38);\n  pfVar19 = (float *)&uStack_9c;\n  do {\n    if (puVar27 < puVar25) {\n      *(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3;\n    }\n    else {\n      while (puVar25 != puVar27) {\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }\n      *(byte *)pfVar19 = 0;\n    }\n    pfVar23 = (float *)((int)pfVar19 + 1);\n    local_4c[0] = local_4c[0] + 1;\n    pfVar19 = pfVar23;\n  } while (afStack_8c != pfVar23);\nLAB_00212a50:\n  puVar26 = puVar25;\n  if (puVar27 < puVar25) {\n    puVar26 = puVar27;\n    puVar27 = puVar25;\n  }\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar27 & 0xff);\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar27 << 0x10) >> 0x18);\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar26 & 0xff);\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar26 << 0x10) >> 0x18);\n  pfVar19 = (float *)&uStack_9c;\n  do {\n    pfVar11 = pfVar19 + 1;\n    pfVar16 = (float *)(((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff);\n    pfVar9 = pfVar18;\n    (**(code **)(puVar29 + 0x196700))();\n    pfVar19 = pfVar11;\n  } while (pfVar23 != pfVar11);\n  if (afStack_8c[0] == *pfVar3) {\n    return *pfVar3;\n  }\n  pcVar30 = *(code **)(puVar29 + 0x196788);\n  (*pcVar30)();\n  pcVar32 = pcVar30 + 0x19dd78;\n  piVar24 = *(int **)(pcVar30 + 0x1966f8);\n  iStack_e4 = *piVar24;\n  pcStack_130 = pcVar32;\n  pfStack_e0 = pfVar23;\n  pfStack_dc = pfVar18;\n  pfStack_d8 = pfVar3;\n  pfStack_d4 = pfVar11;\n  puStack_d0 = puVar26;\n  puStack_cc = puVar27;\n  if (pfVar9 == (float *)0x0) {\nLAB_00213360:\n    pfVar9 = pfVar18;\n    (**(code **)(pcVar32 + -0x72a8))\n              (*(int *)(pcVar32 + -0x7fd0) + 0xd78,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n  }\n  else {\n    if (pfVar9[0xc85] != -1.2269538e-12) goto LAB_00213390;\n    if (pfVar9[0xc84] != 0.0) {\n      pfStack_13c = pfVar9 + 0x884;\n      pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);\n    }\n    pcVar32 = pcStack_130;\n    pfVar3 = pfVar16;\n    if (pfVar16 == (float *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n      pfVar18 = pfVar9;\n      goto LAB_00213360;\n    }\n    if (pfVar16[7] != -1.2269538e-12) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }\n    pfVar23 = (float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16);\n    iVar8 = (**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16);\n    if (iVar8 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      fVar34 = 0.0;\n      goto LAB_00212c9c;\n    }\n    pfStack_140 = (float *)0x0;\n    (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n    iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n    if ((iVar8 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar26 = (uint *)0x1;\n      fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      if (iVar8 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      puVar26 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pfStack_140 = (float *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = 0.0;\n      unaff_s7 = 2.24208e-44;\n      pcStack_128 = (code *)(puVar27 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar26 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar26 = (uint *)0x1;\nLAB_00212ed8:\n      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);\n      puVar27 = puVar26;\n      if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }\n      else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar8 = (*pcVar32)(0xb);\n      if (iVar8 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar27 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);\n      uStack_124 = (uint)(iVar8 != 0);\n      while( true ) {\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n      fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n    }\n    else {\nLAB_00212c24:\n      uVar17 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar15 = *(int *)(pcStack_130 + -0x7f60);\n      iVar8 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar32 = *(code **)(pcStack_130 + -0x7990);\n      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;\n      iStack_138 = iStack_138 + 0x3e28;\n      pfStack_140 = (float *)&DAT_000001a9;\n      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);\n      if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }\n      fVar34 = 0.0;\n      pfVar9 = pfVar9 + 0x884;\n    }\nLAB_00212c9c:\n    pcVar32 = pcStack_130;\n    if (iStack_e4 == *piVar24) {\n      return fVar34;\n    }\n  }\n  (**(code **)(pcVar32 + -0x784c))();\nLAB_00213390:\n  pfVar19 = (float *)0x6c8;\n  pcVar31 = *(code **)(pcVar32 + -0x72a8);\n  pcVar30 = (code *)(*(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n  pfVar18 = (float *)(*(int *)(pcVar32 + -0x7f60) + -0x2c20);\n  pcVar33 = FUN_002133b4;\n  puVar25 = (uint *)(*(int *)(pcVar32 + -0x7fd0) + 0xda0);\n  (*pcVar31)();\n  pcStack_1c8 = pcVar31 + 0x19d4fc;\n  piStack_1a4 = *(int **)(pcVar31 + 0x195e7c);\n  pfStack_1a8 = (float *)0x0;\n  iStack_18c = *piStack_1a4;\n  uVar40 = puVar25[7];\n  pfStack_1b4 = pfVar19;\n  pfStack_188 = pfVar23;\n  pfStack_184 = pfVar9;\n  pfStack_180 = pfVar3;\n  piStack_17c = piVar24;\n  puStack_178 = puVar26;\n  puStack_174 = puVar27;\n  puStack_170 = unaff_s6;\n  fStack_16c = unaff_s7;\n  fStack_168 = unaff_s8;\n  pcStack_164 = pcVar33;\n  if (0 < (int)uVar40) {\n    in_f22_23 = *(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0);\n    in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50));\n    do {\n      pfVar16 = pfStack_1a8;\n      pcVar30 = (code *)puVar25[6];\n      pfVar3 = (float *)0x0;\n      if (0 < (int)pcVar30) {\n        do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );\n      }\n      pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar8 = (*pcVar32)(puVar25);\n      if (iVar8 != 0) {\nLAB_002137bc:\n        fVar34 = 0.0;\n        goto LAB_002137c0;\n      }\n      uVar40 = puVar25[7];\n      pfStack_1a8 = pfStack_1a8 + 1;\n      puVar26 = puVar25;\n    } while ((int)pfStack_1a8 < (int)uVar40);\n  }\n  fVar34 = 1.4013e-45;\n  puVar25 = puVar26;\nLAB_002137c0:\n  if (iStack_18c == *piStack_1a4) {\n    return fVar34;\n  }\n  pcVar32 = *(code **)(pcStack_1c8 + -0x784c);\n  pcVar31 = FUN_0021384c;\n  iVar8 = iStack_18c;\n  (*pcVar32)();\n  piVar4 = *(int **)(pcVar32 + 0x1959e4);\n  iStack_21c = *piVar4;\n  iVar15 = *(int *)(iVar8 + 0x1c);\n  pfVar16 = pfVar19;\n  pfStack_218 = pfVar23;\n  pfStack_214 = pfVar9;\n  pfStack_210 = pfVar3;\n  piStack_20c = piVar24;\n  puStack_208 = puVar25;\n  puStack_204 = puVar27;\n  puStack_200 = unaff_s6;\n  fStack_1fc = unaff_s7;\n  fStack_1f8 = unaff_s8;\n  pcStack_1f4 = pcVar31;\n  uStack_1f0 = in_f20_21;\n  dStack_1e8 = in_f22_23;\n  if (0 < iVar15) {\n    pfVar3 = (float *)0x0;\n    iVar13 = *(int *)(pcVar32 + 0x195378);\n    dVar44 = *(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0);\n    dVar45 = dVar44;\n    do {\n      pcVar30 = *(code **)(iVar8 + 0x18);\n      pfVar23 = (float *)0x0;\n      if ((int)pcVar30 < 1) {\n        pcVar31 = *(code **)(pcVar32 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }\n      iVar15 = (*pcVar31)(iVar8);\n      if (iVar15 != 0) {\nLAB_00213b34:\n        fVar34 = 0.0;\n        goto LAB_00213b38;\n      }\n      iVar15 = *(int *)(iVar8 + 0x1c);\n      pfVar3 = pfVar3 + 1;\n    } while ((int)pfVar3 < iVar15);\n  }\n  fVar34 = 1.4013e-45;\nLAB_00213b38:\n  if (iStack_21c == *piVar4) {\n    return fVar34;\n  }\n  pcVar32 = *(code **)(pcVar32 + 0x195818);\n  iVar8 = iStack_21c;\n  (*pcVar32)();\n  iVar15 = (**(code **)(pcVar32 + 0x195b8c))(pfVar18);\n  if (iVar15 != 0) {\n    puVar7 = (undefined4 *)(**(code **)(pcVar32 + 0x195df4))();\n    uVar17 = (**(code **)(pcVar32 + 0x195830))(*puVar7);\n    (**(code **)(pcVar32 + 0x195364))\n              (uStack_248,*(int *)(pcVar32 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar32 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar32 + 0x194d30) + -0x17c,*(int *)(pcVar32 + 0x194d24) + 0xe78,\n               pfVar18 + 0xd0,uVar17);\n    (**(code **)(pcVar32 + 0x1954b8))(uVar17);\n    return 0.0;\n  }\n  if (-1 < (int)pfVar16[6] << 9) {\n    return 1.4013e-45;\n  }\n  if ((((uint)pfVar16[6] & 0x1000) == 0) && (((uint)pfVar16[7] & 0x200) == 0)) {\n    return 1.4013e-45;\n  }\n  if ((uint)pfVar16[2] < 2) {\n    fVar34 = pfVar16[1];\n    uVar40 = 1;\n  }\n  else {\n    fVar34 = pfVar16[1];\n    uVar40 = (uint)pfVar16[2] >> 1;\n  }\n  if ((uint)fVar34 < 2) {\n    uVar41 = 1;\n  }\n  else {\n    uVar41 = (uint)fVar34 >> 1;\n  }\n  iVar15 = 1;\n  if ((int)pfVar16[5] < 2) {\n    return 1.4013e-45;\n  }\n  do {\n    (**(code **)(pcVar32 + 0x1953d4))(iVar8,pfVar18,uStack_248);\n    iVar15 = iVar15 + 1;\n    pcVar31 = *(code **)(pcVar32 + 0x19584c);\n    if (pfVar18[0xcda] == 0.0) {\n      return 0.0;\n    }\n    *(float *)((int)pfVar18[0xcda] + 700) = pfVar18[0xaf];\n    pfVar18 = (float *)(*pcVar31)(pfVar18);\n    iVar13 = (**(code **)(pcVar32 + 0x1958f0))(pfVar18,uVar40,uVar41,uStack_248);\n    if (iVar13 == 0) {\n      return 0.0;\n    }\n    fVar34 = (float)(*pcVar30)(pfVar18,pfVar16,uStack_248);\n    if (fVar34 == 0.0) {\n      return 0.0;\n    }\n    if (uVar40 == 1) {\n      if (uVar41 == 1) {\n        return fVar34;\n      }\nLAB_00213d14:\n      uVar41 = uVar41 >> 1;\n    }\n    else {\n      uVar40 = uVar40 >> 1;\n      if (uVar41 != 1) goto LAB_00213d14;\n    }\n    if ((int)pfVar16[5] <= iVar15) {\n      return fVar34;\n    }\n  } while( true );\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "float *pfVar3;" primitive_type (pointer_declarator "*pfVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "float *pfVar9;" primitive_type (pointer_declarator "*pfVar9" * identifier) ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "float *pfVar11;" primitive_type (pointer_declarator "*pfVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "float *pfVar16;" primitive_type (pointer_declarator "*pfVar16" * identifier) ;) (declaration "undefined4 uVar17;" type_identifier identifier ;) (declaration "float *pfVar18;" primitive_type (pointer_declarator "*pfVar18" * identifier) ;) (declaration "float *pfVar19;" primitive_type (pointer_declarator "*pfVar19" * identifier) ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "float *pfVar23;" primitive_type (pointer_declarator "*pfVar23" * identifier) ;) (declaration "int *piVar24;" primitive_type (pointer_declarator "*piVar24" * identifier) ;) (declaration "uint *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "uint *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "uint *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "uint *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "float unaff_s7;" primitive_type identifier ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "undefined *puVar29;" type_identifier (pointer_declarator "*puVar29" * identifier) ;) (declaration "code *pcVar30;" type_identifier (pointer_declarator "*pcVar30" * identifier) ;) (declaration "code *pcVar31;" type_identifier (pointer_declarator "*pcVar31" * identifier) ;) (declaration "code *pcVar32;" type_identifier (pointer_declarator "*pcVar32" * identifier) ;) (declaration "float unaff_s8;" primitive_type identifier ;) (declaration "code *pcVar33;" type_identifier (pointer_declarator "*pcVar33" * identifier) ;) (declaration "float fVar34;" primitive_type identifier ;) (declaration "uint uVar35;" type_identifier identifier ;) (declaration "uint uVar36;" type_identifier identifier ;) (declaration "uint uVar37;" type_identifier identifier ;) (declaration "uint uVar38;" type_identifier identifier ;) (declaration "float fVar39;" primitive_type identifier ;) (declaration "uint uVar40;" type_identifier identifier ;) (declaration "uint uVar41;" type_identifier identifier ;) (declaration "float fVar42;" primitive_type identifier ;) (declaration "float fVar43;" primitive_type identifier ;) (declaration "undefined8 in_f20_21;" type_identifier identifier ;) (declaration "double in_f22_23;" primitive_type identifier ;) (declaration "double dVar44;" primitive_type identifier ;) (declaration "double dVar45;" primitive_type identifier ;) (declaration "undefined8 uVar46;" type_identifier identifier ;) (declaration "uint uStack_248;" type_identifier identifier ;) (declaration "float fStack_22c;" primitive_type identifier ;) (declaration "byte abStack_228 [4];" type_identifier (array_declarator "abStack_228 [4]" identifier [ number_literal ]) ;) (declaration "byte abStack_224 [8];" type_identifier (array_declarator "abStack_224 [8]" identifier [ number_literal ]) ;) (declaration "int iStack_21c;" primitive_type identifier ;) (declaration "float *pfStack_218;" primitive_type (pointer_declarator "*pfStack_218" * identifier) ;) (declaration "float *pfStack_214;" primitive_type (pointer_declarator "*pfStack_214" * identifier) ;) (declaration "float *pfStack_210;" primitive_type (pointer_declarator "*pfStack_210" * identifier) ;) (declaration "int *piStack_20c;" primitive_type (pointer_declarator "*piStack_20c" * identifier) ;) (declaration "uint *puStack_208;" type_identifier (pointer_declarator "*puStack_208" * identifier) ;) (declaration "uint *puStack_204;" type_identifier (pointer_declarator "*puStack_204" * identifier) ;) (declaration "uint *puStack_200;" type_identifier (pointer_declarator "*puStack_200" * identifier) ;) (declaration "float fStack_1fc;" primitive_type identifier ;) (declaration "float fStack_1f8;" primitive_type identifier ;) (declaration "code *pcStack_1f4;" type_identifier (pointer_declarator "*pcStack_1f4" * identifier) ;) (declaration "undefined8 uStack_1f0;" type_identifier identifier ;) (declaration "double dStack_1e8;" primitive_type identifier ;) (declaration "uint uStack_1d0;" type_identifier identifier ;) (declaration "float *pfStack_1cc;" primitive_type (pointer_declarator "*pfStack_1cc" * identifier) ;) (declaration "code *pcStack_1c8;" type_identifier (pointer_declarator "*pcStack_1c8" * identifier) ;) (declaration "uint uStack_1bc;" type_identifier identifier ;) (declaration "int *piStack_1b8;" primitive_type (pointer_declarator "*piStack_1b8" * identifier) ;) (declaration "float *pfStack_1b4;" primitive_type (pointer_declarator "*pfStack_1b4" * identifier) ;) (declaration "uint uStack_1b0;" type_identifier identifier ;) (declaration "undefined4 uStack_1ac;" type_identifier identifier ;) (declaration "float *pfStack_1a8;" primitive_type (pointer_declarator "*pfStack_1a8" * identifier) ;) (declaration "int *piStack_1a4;" primitive_type (pointer_declarator "*piStack_1a4" * identifier) ;) (declaration "float fStack_19c;" primitive_type identifier ;) (declaration "byte abStack_198 [4];" type_identifier (array_declarator "abStack_198 [4]" identifier [ number_literal ]) ;) (declaration "byte abStack_194 [8];" type_identifier (array_declarator "abStack_194 [8]" identifier [ number_literal ]) ;) (declaration "int iStack_18c;" primitive_type identifier ;) (declaration "float *pfStack_188;" primitive_type (pointer_declarator "*pfStack_188" * identifier) ;) (declaration "float *pfStack_184;" primitive_type (pointer_declarator "*pfStack_184" * identifier) ;) (declaration "float *pfStack_180;" primitive_type (pointer_declarator "*pfStack_180" * identifier) ;) (declaration "int *piStack_17c;" primitive_type (pointer_declarator "*piStack_17c" * identifier) ;) (declaration "uint *puStack_178;" type_identifier (pointer_declarator "*puStack_178" * identifier) ;) (declaration "uint *puStack_174;" type_identifier (pointer_declarator "*puStack_174" * identifier) ;) (declaration "uint *puStack_170;" type_identifier (pointer_declarator "*puStack_170" * identifier) ;) (declaration "float fStack_16c;" primitive_type identifier ;) (declaration "float fStack_168;" primitive_type identifier ;) (declaration "code *pcStack_164;" type_identifier (pointer_declarator "*pcStack_164" * identifier) ;) (declaration "float *pfStack_140;" primitive_type (pointer_declarator "*pfStack_140" * identifier) ;) (declaration "float *pfStack_13c;" primitive_type (pointer_declarator "*pfStack_13c" * identifier) ;) (declaration "int iStack_138;" primitive_type identifier ;) (declaration "float *pfStack_134;" primitive_type (pointer_declarator "*pfStack_134" * identifier) ;) (declaration "code *pcStack_130;" type_identifier (pointer_declarator "*pcStack_130" * identifier) ;) (declaration "code *pcStack_128;" type_identifier (pointer_declarator "*pcStack_128" * identifier) ;) (declaration "uint uStack_124;" type_identifier identifier ;) (declaration "uint uStack_120;" type_identifier identifier ;) (declaration "float fStack_11c;" primitive_type identifier ;) (declaration "float fStack_118;" primitive_type identifier ;) (declaration "undefined4 uStack_114;" type_identifier identifier ;) (declaration "uint *puStack_110;" type_identifier (pointer_declarator "*puStack_110" * identifier) ;) (declaration "undefined4 uStack_10c;" type_identifier identifier ;) (declaration "undefined4 uStack_108;" type_identifier identifier ;) (declaration "uint uStack_104;" type_identifier identifier ;) (declaration "uint uStack_100;" type_identifier identifier ;) (declaration "int iStack_fc;" primitive_type identifier ;) (declaration "undefined4 uStack_f8;" type_identifier identifier ;) (declaration "undefined4 uStack_f4;" type_identifier identifier ;) (declaration "undefined4 uStack_f0;" type_identifier identifier ;) (declaration "undefined4 uStack_ec;" type_identifier identifier ;) (declaration "undefined4 uStack_e8;" type_identifier identifier ;) (declaration "int iStack_e4;" primitive_type identifier ;) (declaration "float *pfStack_e0;" primitive_type (pointer_declarator "*pfStack_e0" * identifier) ;) (declaration "float *pfStack_dc;" primitive_type (pointer_declarator "*pfStack_dc" * identifier) ;) (declaration "float *pfStack_d8;" primitive_type (pointer_declarator "*pfStack_d8" * identifier) ;) (declaration "float *pfStack_d4;" primitive_type (pointer_declarator "*pfStack_d4" * identifier) ;) (declaration "uint *puStack_d0;" type_identifier (pointer_declarator "*puStack_d0" * identifier) ;) (declaration "uint *puStack_cc;" type_identifier (pointer_declarator "*puStack_cc" * identifier) ;) (declaration "undefined4 uStack_9c;" type_identifier identifier ;) (declaration "float afStack_8c [2];" primitive_type (array_declarator "afStack_8c [2]" identifier [ number_literal ]) ;) (declaration "float local_54;" primitive_type identifier ;) (declaration "float local_50;" primitive_type identifier ;) (declaration "byte *local_4c [16];" type_identifier (pointer_declarator "*local_4c [16]" * (array_declarator "local_4c [16]" identifier [ number_literal ])) ;) (declaration "float *local_c;" primitive_type (pointer_declarator "*local_c" * identifier) ;) (expression_statement "puVar29 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar29 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "pfVar18 = (float *)(param_8 + param_9 * 0x10);" (assignment_expression "pfVar18 = (float *)(param_8 + param_9 * 0x10)" identifier = (cast_expression "(float *)(param_8 + param_9 * 0x10)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + param_9 * 0x10)" ( (binary_expression "param_8 + param_9 * 0x10" identifier + (binary_expression "param_9 * 0x10" identifier * number_literal)) )))) ;) (expression_statement "local_c = *(float **)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_c = *(float **)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(float **)PTR___stack_chk_guard_003a9230" * (cast_expression "(float **)PTR___stack_chk_guard_003a9230" ( (type_descriptor "float **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (param_1 < 1) {\n    fVar34 = 1.4013e-45;\n    if (0 < param_9) goto LAB_00212794;\n    *param_7 = 0.0;\n    param_7[1] = 0.0;\n    param_7[2] = 0.0;\n    param_7[3] = 0.0;\n  }\n  else {\n    pfVar3 = (float *)local_4c;\n    iVar8 = 0;\n    pfVar19 = param_2;\n    pfVar23 = pfVar3;\n    pfVar9 = pfVar18;\n    do {\n      fVar42 = pfVar19[1];\n      pfVar16 = (float *)((int)pfVar9 + 1);\n      pfVar11 = pfVar23 + 1;\n      fVar39 = *pfVar19;\n      fVar34 = pfVar19[2];\n      *(byte *)pfVar9 = (byte)iVar8;\n      iVar8 = iVar8 + 1;\n      *pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;\n      pfVar19 = pfVar19 + 4;\n      pfVar23 = pfVar11;\n      pfVar9 = pfVar16;\n    } while (iVar8 != param_1);\n    pfVar19 = (float *)((int)pfVar18 + -1);\n    do {\n      if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }\n      pfVar19 = (float *)((int)pfVar19 + 1);\n      pfVar3 = pfVar3 + 1;\n    } while ((float *)((int)pfVar18 + param_1 + -1) != pfVar19);\n    param_3 = pfVar11;\n    param_4 = pfVar16;\n    if (param_9 < 1) {\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\nLAB_00212818:\n      iVar8 = 0;\n      do {\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      } while (param_3 != (float *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);\n      iVar8 = 0;\n      pfVar16 = param_4;\n      do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\n      param_4 = pfVar16;\n      if (0 < param_1) goto LAB_00212818;\n    }\n    fVar34 = 1.4013e-45;\n  }" if (parenthesized_expression "(param_1 < 1)" ( (binary_expression "param_1 < 1" identifier < number_literal) )) (compound_statement "{\n    fVar34 = 1.4013e-45;\n    if (0 < param_9) goto LAB_00212794;\n    *param_7 = 0.0;\n    param_7[1] = 0.0;\n    param_7[2] = 0.0;\n    param_7[3] = 0.0;\n  }" { (expression_statement "fVar34 = 1.4013e-45;" (assignment_expression "fVar34 = 1.4013e-45" identifier = number_literal) ;) (if_statement "if (0 < param_9) goto LAB_00212794;" if (parenthesized_expression "(0 < param_9)" ( (binary_expression "0 < param_9" number_literal < identifier) )) (goto_statement "goto LAB_00212794;" goto statement_identifier ;)) (expression_statement "*param_7 = 0.0;" (assignment_expression "*param_7 = 0.0" (pointer_expression "*param_7" * identifier) = number_literal) ;) (expression_statement "param_7[1] = 0.0;" (assignment_expression "param_7[1] = 0.0" (subscript_expression "param_7[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_7[2] = 0.0;" (assignment_expression "param_7[2] = 0.0" (subscript_expression "param_7[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_7[3] = 0.0;" (assignment_expression "param_7[3] = 0.0" (subscript_expression "param_7[3]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n    pfVar3 = (float *)local_4c;\n    iVar8 = 0;\n    pfVar19 = param_2;\n    pfVar23 = pfVar3;\n    pfVar9 = pfVar18;\n    do {\n      fVar42 = pfVar19[1];\n      pfVar16 = (float *)((int)pfVar9 + 1);\n      pfVar11 = pfVar23 + 1;\n      fVar39 = *pfVar19;\n      fVar34 = pfVar19[2];\n      *(byte *)pfVar9 = (byte)iVar8;\n      iVar8 = iVar8 + 1;\n      *pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;\n      pfVar19 = pfVar19 + 4;\n      pfVar23 = pfVar11;\n      pfVar9 = pfVar16;\n    } while (iVar8 != param_1);\n    pfVar19 = (float *)((int)pfVar18 + -1);\n    do {\n      if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }\n      pfVar19 = (float *)((int)pfVar19 + 1);\n      pfVar3 = pfVar3 + 1;\n    } while ((float *)((int)pfVar18 + param_1 + -1) != pfVar19);\n    param_3 = pfVar11;\n    param_4 = pfVar16;\n    if (param_9 < 1) {\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\nLAB_00212818:\n      iVar8 = 0;\n      do {\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      } while (param_3 != (float *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);\n      iVar8 = 0;\n      pfVar16 = param_4;\n      do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\n      param_4 = pfVar16;\n      if (0 < param_1) goto LAB_00212818;\n    }\n    fVar34 = 1.4013e-45;\n  }" else (compound_statement "{\n    pfVar3 = (float *)local_4c;\n    iVar8 = 0;\n    pfVar19 = param_2;\n    pfVar23 = pfVar3;\n    pfVar9 = pfVar18;\n    do {\n      fVar42 = pfVar19[1];\n      pfVar16 = (float *)((int)pfVar9 + 1);\n      pfVar11 = pfVar23 + 1;\n      fVar39 = *pfVar19;\n      fVar34 = pfVar19[2];\n      *(byte *)pfVar9 = (byte)iVar8;\n      iVar8 = iVar8 + 1;\n      *pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;\n      pfVar19 = pfVar19 + 4;\n      pfVar23 = pfVar11;\n      pfVar9 = pfVar16;\n    } while (iVar8 != param_1);\n    pfVar19 = (float *)((int)pfVar18 + -1);\n    do {\n      if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }\n      pfVar19 = (float *)((int)pfVar19 + 1);\n      pfVar3 = pfVar3 + 1;\n    } while ((float *)((int)pfVar18 + param_1 + -1) != pfVar19);\n    param_3 = pfVar11;\n    param_4 = pfVar16;\n    if (param_9 < 1) {\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\nLAB_00212818:\n      iVar8 = 0;\n      do {\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      } while (param_3 != (float *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);\n      iVar8 = 0;\n      pfVar16 = param_4;\n      do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\n      param_4 = pfVar16;\n      if (0 < param_1) goto LAB_00212818;\n    }\n    fVar34 = 1.4013e-45;\n  }" { (expression_statement "pfVar3 = (float *)local_4c;" (assignment_expression "pfVar3 = (float *)local_4c" identifier = (cast_expression "(float *)local_4c" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar19 = param_2;" (assignment_expression "pfVar19 = param_2" identifier = identifier) ;) (expression_statement "pfVar23 = pfVar3;" (assignment_expression "pfVar23 = pfVar3" identifier = identifier) ;) (expression_statement "pfVar9 = pfVar18;" (assignment_expression "pfVar9 = pfVar18" identifier = identifier) ;) (do_statement "do {\n      fVar42 = pfVar19[1];\n      pfVar16 = (float *)((int)pfVar9 + 1);\n      pfVar11 = pfVar23 + 1;\n      fVar39 = *pfVar19;\n      fVar34 = pfVar19[2];\n      *(byte *)pfVar9 = (byte)iVar8;\n      iVar8 = iVar8 + 1;\n      *pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;\n      pfVar19 = pfVar19 + 4;\n      pfVar23 = pfVar11;\n      pfVar9 = pfVar16;\n    } while (iVar8 != param_1);" do (compound_statement "{\n      fVar42 = pfVar19[1];\n      pfVar16 = (float *)((int)pfVar9 + 1);\n      pfVar11 = pfVar23 + 1;\n      fVar39 = *pfVar19;\n      fVar34 = pfVar19[2];\n      *(byte *)pfVar9 = (byte)iVar8;\n      iVar8 = iVar8 + 1;\n      *pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;\n      pfVar19 = pfVar19 + 4;\n      pfVar23 = pfVar11;\n      pfVar9 = pfVar16;\n    }" { (expression_statement "fVar42 = pfVar19[1];" (assignment_expression "fVar42 = pfVar19[1]" identifier = (subscript_expression "pfVar19[1]" identifier [ number_literal ])) ;) (expression_statement "pfVar16 = (float *)((int)pfVar9 + 1);" (assignment_expression "pfVar16 = (float *)((int)pfVar9 + 1)" identifier = (cast_expression "(float *)((int)pfVar9 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar9 + 1)" ( (binary_expression "(int)pfVar9 + 1" (cast_expression "(int)pfVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pfVar11 = pfVar23 + 1;" (assignment_expression "pfVar11 = pfVar23 + 1" identifier = (binary_expression "pfVar23 + 1" identifier + number_literal)) ;) (expression_statement "fVar39 = *pfVar19;" (assignment_expression "fVar39 = *pfVar19" identifier = (pointer_expression "*pfVar19" * identifier)) ;) (expression_statement "fVar34 = pfVar19[2];" (assignment_expression "fVar34 = pfVar19[2]" identifier = (subscript_expression "pfVar19[2]" identifier [ number_literal ])) ;) (expression_statement "*(byte *)pfVar9 = (byte)iVar8;" (assignment_expression "*(byte *)pfVar9 = (byte)iVar8" (pointer_expression "*(byte *)pfVar9" * (cast_expression "(byte *)pfVar9" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(byte)iVar8" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "*pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;" (assignment_expression "*pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42" (pointer_expression "*pfVar23" * identifier) = (binary_expression "param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42" (binary_expression "param_5 * fVar34 + (float)param_3 * fVar39" (binary_expression "param_5 * fVar34" identifier * identifier) + (binary_expression "(float)param_3 * fVar39" (cast_expression "(float)param_3" ( (type_descriptor "float" primitive_type) ) identifier) * identifier)) + (binary_expression "(float)param_4 * fVar42" (cast_expression "(float)param_4" ( (type_descriptor "float" primitive_type) ) identifier) * identifier))) ;) (expression_statement "pfVar19 = pfVar19 + 4;" (assignment_expression "pfVar19 = pfVar19 + 4" identifier = (binary_expression "pfVar19 + 4" identifier + number_literal)) ;) (expression_statement "pfVar23 = pfVar11;" (assignment_expression "pfVar23 = pfVar11" identifier = identifier) ;) (expression_statement "pfVar9 = pfVar16;" (assignment_expression "pfVar9 = pfVar16" identifier = identifier) ;) }) while (parenthesized_expression "(iVar8 != param_1)" ( (binary_expression "iVar8 != param_1" identifier != identifier) )) ;) (expression_statement "pfVar19 = (float *)((int)pfVar18 + -1);" (assignment_expression "pfVar19 = (float *)((int)pfVar18 + -1)" identifier = (cast_expression "(float *)((int)pfVar18 + -1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar18 + -1)" ( (binary_expression "(int)pfVar18 + -1" (cast_expression "(int)pfVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n      if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }\n      pfVar19 = (float *)((int)pfVar19 + 1);\n      pfVar3 = pfVar3 + 1;\n    } while ((float *)((int)pfVar18 + param_1 + -1) != pfVar19);" do (compound_statement "{\n      if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }\n      pfVar19 = (float *)((int)pfVar19 + 1);\n      pfVar3 = pfVar3 + 1;\n    }" { (if_statement "if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }" if (parenthesized_expression "((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0)" ( (binary_expression "(byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0" (cast_expression "(byte *)((1 - (int)pfVar18) + (int)pfVar19)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((1 - (int)pfVar18) + (int)pfVar19)" ( (binary_expression "(1 - (int)pfVar18) + (int)pfVar19" (parenthesized_expression "(1 - (int)pfVar18)" ( (binary_expression "1 - (int)pfVar18" number_literal - (cast_expression "(int)pfVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )) + (cast_expression "(int)pfVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ))) != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }" { (expression_statement "fVar39 = *pfVar3;" (assignment_expression "fVar39 = *pfVar3" identifier = (pointer_expression "*pfVar3" * identifier)) ;) (expression_statement "fVar34 = pfVar3[-1];" (assignment_expression "fVar34 = pfVar3[-1]" identifier = (subscript_expression "pfVar3[-1]" identifier [ number_literal ])) ;) (if_statement "if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }" if (parenthesized_expression "(fVar39 < fVar34)" ( (binary_expression "fVar39 < fVar34" identifier < identifier) )) (compound_statement "{\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }" { (expression_statement "bVar2 = *(byte *)((int)pfVar19 + 1);" (assignment_expression "bVar2 = *(byte *)((int)pfVar19 + 1)" identifier = (pointer_expression "*(byte *)((int)pfVar19 + 1)" * (cast_expression "(byte *)((int)pfVar19 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar19 + 1)" ( (binary_expression "(int)pfVar19 + 1" (cast_expression "(int)pfVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pfVar16 = (float *)(uint)bVar2;" (assignment_expression "pfVar16 = (float *)(uint)bVar2" identifier = (cast_expression "(float *)(uint)bVar2" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pfVar23 = pfVar19;" (assignment_expression "pfVar23 = pfVar19" identifier = identifier) ;) (expression_statement "pfVar9 = pfVar3;" (assignment_expression "pfVar9 = pfVar3" identifier = identifier) ;) (do_statement "do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);" do (compound_statement "{\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          }" { (expression_statement "bVar1 = *(byte *)pfVar23;" (assignment_expression "bVar1 = *(byte *)pfVar23" identifier = (pointer_expression "*(byte *)pfVar23" * (cast_expression "(byte *)pfVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pfVar11 = (float *)(uint)bVar1;" (assignment_expression "pfVar11 = (float *)(uint)bVar1" identifier = (cast_expression "(float *)(uint)bVar1" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "*pfVar9 = fVar34;" (assignment_expression "*pfVar9 = fVar34" (pointer_expression "*pfVar9" * identifier) = identifier) ;) (expression_statement "*(byte *)pfVar23 = bVar2;" (assignment_expression "*(byte *)pfVar23 = bVar2" (pointer_expression "*(byte *)pfVar23" * (cast_expression "(byte *)pfVar23" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "pfVar9[-1] = fVar39;" (assignment_expression "pfVar9[-1] = fVar39" (subscript_expression "pfVar9[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(byte *)((int)pfVar23 + 1) = bVar1;" (assignment_expression "*(byte *)((int)pfVar23 + 1) = bVar1" (pointer_expression "*(byte *)((int)pfVar23 + 1)" * (cast_expression "(byte *)((int)pfVar23 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar23 + 1)" ( (binary_expression "(int)pfVar23 + 1" (cast_expression "(int)pfVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (pfVar18 == pfVar23) break;" if (parenthesized_expression "(pfVar18 == pfVar23)" ( (binary_expression "pfVar18 == pfVar23" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "fVar34 = pfVar9[-2];" (assignment_expression "fVar34 = pfVar9[-2]" identifier = (subscript_expression "pfVar9[-2]" identifier [ number_literal ])) ;) (expression_statement "pfVar23 = (float *)((int)pfVar23 + -1);" (assignment_expression "pfVar23 = (float *)((int)pfVar23 + -1)" identifier = (cast_expression "(float *)((int)pfVar23 + -1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar23 + -1)" ( (binary_expression "(int)pfVar23 + -1" (cast_expression "(int)pfVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pfVar9 = pfVar9 + -1;" (assignment_expression "pfVar9 = pfVar9 + -1" identifier = (binary_expression "pfVar9 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(fVar39 < fVar34)" ( (binary_expression "fVar39 < fVar34" identifier < identifier) )) ;) })) })) (expression_statement "pfVar19 = (float *)((int)pfVar19 + 1);" (assignment_expression "pfVar19 = (float *)((int)pfVar19 + 1)" identifier = (cast_expression "(float *)((int)pfVar19 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar19 + 1)" ( (binary_expression "(int)pfVar19 + 1" (cast_expression "(int)pfVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pfVar3 = pfVar3 + 1;" (assignment_expression "pfVar3 = pfVar3 + 1" identifier = (binary_expression "pfVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((float *)((int)pfVar18 + param_1 + -1) != pfVar19)" ( (binary_expression "(float *)((int)pfVar18 + param_1 + -1) != pfVar19" (cast_expression "(float *)((int)pfVar18 + param_1 + -1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar18 + param_1 + -1)" ( (binary_expression "(int)pfVar18 + param_1 + -1" (binary_expression "(int)pfVar18 + param_1" (cast_expression "(int)pfVar18" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))) != identifier) )) ;) (expression_statement "param_3 = pfVar11;" (assignment_expression "param_3 = pfVar11" identifier = identifier) ;) (expression_statement "param_4 = pfVar16;" (assignment_expression "param_4 = pfVar16" identifier = identifier) ;) (if_statement "if (param_9 < 1) {\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\nLAB_00212818:\n      iVar8 = 0;\n      do {\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      } while (param_3 != (float *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);\n      iVar8 = 0;\n      pfVar16 = param_4;\n      do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\n      param_4 = pfVar16;\n      if (0 < param_1) goto LAB_00212818;\n    }" if (parenthesized_expression "(param_9 < 1)" ( (binary_expression "param_9 < 1" identifier < number_literal) )) (compound_statement "{\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\nLAB_00212818:\n      iVar8 = 0;\n      do {\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      } while (param_3 != (float *)0x0);\n    }" { (expression_statement "*param_7 = 0.0;" (assignment_expression "*param_7 = 0.0" (pointer_expression "*param_7" * identifier) = number_literal) ;) (expression_statement "param_7[1] = 0.0;" (assignment_expression "param_7[1] = 0.0" (subscript_expression "param_7[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_7[2] = 0.0;" (assignment_expression "param_7[2] = 0.0" (subscript_expression "param_7[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_7[3] = 0.0;" (assignment_expression "param_7[3] = 0.0" (subscript_expression "param_7[3]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_00212818:\n      iVar8 = 0;" statement_identifier : (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;)) (do_statement "do {\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      } while (param_3 != (float *)0x0);" do (compound_statement "{\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      }" { (expression_statement "bVar2 = *(byte *)pfVar18;" (assignment_expression "bVar2 = *(byte *)pfVar18" identifier = (pointer_expression "*(byte *)pfVar18" * (cast_expression "(byte *)pfVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pfVar18 = (float *)((int)pfVar18 + 1);" (assignment_expression "pfVar18 = (float *)((int)pfVar18 + 1)" identifier = (cast_expression "(float *)((int)pfVar18 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar18 + 1)" ( (binary_expression "(int)pfVar18 + 1" (cast_expression "(int)pfVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "param_3 = (float *)(uint)(iVar8 < param_1);" (assignment_expression "param_3 = (float *)(uint)(iVar8 < param_1)" identifier = (cast_expression "(float *)(uint)(iVar8 < param_1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(iVar8 < param_1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar8 < param_1)" ( (binary_expression "iVar8 < param_1" identifier < identifier) ))))) ;) (expression_statement "pfVar3 = param_2 + (uint)bVar2 * 4;" (assignment_expression "pfVar3 = param_2 + (uint)bVar2 * 4" identifier = (binary_expression "param_2 + (uint)bVar2 * 4" identifier + (binary_expression "(uint)bVar2 * 4" (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal))) ;) (expression_statement "fVar34 = pfVar3[3];" (assignment_expression "fVar34 = pfVar3[3]" identifier = (subscript_expression "pfVar3[3]" identifier [ number_literal ])) ;) (expression_statement "fVar43 = *pfVar3;" (assignment_expression "fVar43 = *pfVar3" identifier = (pointer_expression "*pfVar3" * identifier)) ;) (expression_statement "fVar42 = pfVar3[1];" (assignment_expression "fVar42 = pfVar3[1]" identifier = (subscript_expression "pfVar3[1]" identifier [ number_literal ])) ;) (expression_statement "fVar39 = pfVar3[2];" (assignment_expression "fVar39 = pfVar3[2]" identifier = (subscript_expression "pfVar3[2]" identifier [ number_literal ])) ;) (expression_statement "param_6[3] = fVar34;" (assignment_expression "param_6[3] = fVar34" (subscript_expression "param_6[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*param_6 = fVar34 * fVar43;" (assignment_expression "*param_6 = fVar34 * fVar43" (pointer_expression "*param_6" * identifier) = (binary_expression "fVar34 * fVar43" identifier * identifier)) ;) (expression_statement "param_6[1] = fVar34 * fVar42;" (assignment_expression "param_6[1] = fVar34 * fVar42" (subscript_expression "param_6[1]" identifier [ number_literal ]) = (binary_expression "fVar34 * fVar42" identifier * identifier)) ;) (expression_statement "param_6[2] = fVar34 * fVar39;" (assignment_expression "param_6[2] = fVar34 * fVar39" (subscript_expression "param_6[2]" identifier [ number_literal ]) = (binary_expression "fVar34 * fVar39" identifier * identifier)) ;) (expression_statement "param_7[1] = fVar34 * fVar42 + param_7[1];" (assignment_expression "param_7[1] = fVar34 * fVar42 + param_7[1]" (subscript_expression "param_7[1]" identifier [ number_literal ]) = (binary_expression "fVar34 * fVar42 + param_7[1]" (binary_expression "fVar34 * fVar42" identifier * identifier) + (subscript_expression "param_7[1]" identifier [ number_literal ]))) ;) (expression_statement "param_7[2] = fVar34 * fVar39 + param_7[2];" (assignment_expression "param_7[2] = fVar34 * fVar39 + param_7[2]" (subscript_expression "param_7[2]" identifier [ number_literal ]) = (binary_expression "fVar34 * fVar39 + param_7[2]" (binary_expression "fVar34 * fVar39" identifier * identifier) + (subscript_expression "param_7[2]" identifier [ number_literal ]))) ;) (expression_statement "param_7[3] = fVar34 + param_7[3];" (assignment_expression "param_7[3] = fVar34 + param_7[3]" (subscript_expression "param_7[3]" identifier [ number_literal ]) = (binary_expression "fVar34 + param_7[3]" identifier + (subscript_expression "param_7[3]" identifier [ number_literal ]))) ;) (expression_statement "*param_7 = *param_7 + fVar34 * fVar43;" (assignment_expression "*param_7 = *param_7 + fVar34 * fVar43" (pointer_expression "*param_7" * identifier) = (binary_expression "*param_7 + fVar34 * fVar43" (pointer_expression "*param_7" * identifier) + (binary_expression "fVar34 * fVar43" identifier * identifier))) ;) (expression_statement "param_4 = pfVar16;" (assignment_expression "param_4 = pfVar16" identifier = identifier) ;) (expression_statement "param_6 = param_6 + 4;" (assignment_expression "param_6 = param_6 + 4" identifier = (binary_expression "param_6 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(param_3 != (float *)0x0)" ( (binary_expression "param_3 != (float *)0x0" identifier != (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }) (else_clause "else {\nLAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);\n      iVar8 = 0;\n      pfVar16 = param_4;\n      do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\n      param_4 = pfVar16;\n      if (0 < param_1) goto LAB_00212818;\n    }" else (compound_statement "{\nLAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);\n      iVar8 = 0;\n      pfVar16 = param_4;\n      do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\n      param_4 = pfVar16;\n      if (0 < param_1) goto LAB_00212818;\n    }" { (labeled_statement "LAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);" statement_identifier : (expression_statement "pbVar20 = (byte *)(param_8 + 1);" (assignment_expression "pbVar20 = (byte *)(param_8 + 1)" identifier = (cast_expression "(byte *)(param_8 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 1)" ( (binary_expression "param_8 + 1" identifier + number_literal) )))) ;)) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pfVar16 = param_4;" (assignment_expression "pfVar16 = param_4" identifier = identifier) ;) (do_statement "do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);" do (compound_statement "{\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      }" { (expression_statement "fVar34 = 0.0;" (assignment_expression "fVar34 = 0.0" identifier = number_literal) ;) (expression_statement "param_4 = pfVar16;" (assignment_expression "param_4 = pfVar16" identifier = identifier) ;) (if_statement "if (param_1 == 0) goto LAB_002127dc;" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002127dc;" goto statement_identifier ;)) (expression_statement "pbVar10 = pbVar20;" (assignment_expression "pbVar10 = pbVar20" identifier = identifier) ;) (expression_statement "pfVar3 = pfVar18;" (assignment_expression "pfVar3 = pfVar18" identifier = identifier) ;) (if_statement "if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }" if (parenthesized_expression "(pbVar20[-1] == *(byte *)pfVar18)" ( (binary_expression "pbVar20[-1] == *(byte *)pfVar18" (subscript_expression "pbVar20[-1]" identifier [ number_literal ]) == (pointer_expression "*(byte *)pfVar18" * (cast_expression "(byte *)pfVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }" { (do_statement "do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);" do (compound_statement "{\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          }" { (expression_statement "pfVar3 = (float *)((int)pfVar3 + 1);" (assignment_expression "pfVar3 = (float *)((int)pfVar3 + 1)" identifier = (cast_expression "(float *)((int)pfVar3 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar3 + 1)" ( (binary_expression "(int)pfVar3 + 1" (cast_expression "(int)pfVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }" if (parenthesized_expression "((float *)((int)pfVar18 + param_1) == pfVar3)" ( (binary_expression "(float *)((int)pfVar18 + param_1) == pfVar3" (cast_expression "(float *)((int)pfVar18 + param_1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar18 + param_1)" ( (binary_expression "(int)pfVar18 + param_1" (cast_expression "(int)pfVar18" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) == identifier) )) (compound_statement "{\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }" { (expression_statement "fVar34 = 0.0;" (assignment_expression "fVar34 = 0.0" identifier = number_literal) ;) (expression_statement "param_4 = pfVar16;" (assignment_expression "param_4 = pfVar16" identifier = identifier) ;) (goto_statement "goto LAB_002127dc;" goto statement_identifier ;) })) (expression_statement "pfVar16 = (float *)(uint)*(byte *)pfVar3;" (assignment_expression "pfVar16 = (float *)(uint)*(byte *)pfVar3" identifier = (binary_expression "(float *)(uint)*(byte *)pfVar3" (cast_expression "(float *)(uint)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)pfVar3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "param_3 = (float *)(uint)*pbVar10;" (assignment_expression "param_3 = (float *)(uint)*pbVar10" identifier = (binary_expression "(float *)(uint)*pbVar10" (cast_expression "(float *)(uint)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier)) ;) (expression_statement "pbVar10 = pbVar10 + 1;" (assignment_expression "pbVar10 = pbVar10 + 1" identifier = (binary_expression "pbVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pfVar16 == param_3)" ( (binary_expression "pfVar16 == param_3" identifier == identifier) )) ;) })) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + 0x10;" (assignment_expression "pbVar20 = pbVar20 + 0x10" identifier = (binary_expression "pbVar20 + 0x10" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar8 < param_9)" ( (binary_expression "iVar8 < param_9" identifier < identifier) )) ;) (expression_statement "*param_7 = 0.0;" (assignment_expression "*param_7 = 0.0" (pointer_expression "*param_7" * identifier) = number_literal) ;) (expression_statement "param_7[1] = 0.0;" (assignment_expression "param_7[1] = 0.0" (subscript_expression "param_7[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_7[2] = 0.0;" (assignment_expression "param_7[2] = 0.0" (subscript_expression "param_7[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_7[3] = 0.0;" (assignment_expression "param_7[3] = 0.0" (subscript_expression "param_7[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_4 = pfVar16;" (assignment_expression "param_4 = pfVar16" identifier = identifier) ;) (if_statement "if (0 < param_1) goto LAB_00212818;" if (parenthesized_expression "(0 < param_1)" ( (binary_expression "0 < param_1" number_literal < identifier) )) (goto_statement "goto LAB_00212818;" goto statement_identifier ;)) }))) (expression_statement "fVar34 = 1.4013e-45;" (assignment_expression "fVar34 = 1.4013e-45" identifier = number_literal) ;) }))) (labeled_statement "LAB_002127dc:\n  if (local_c == *(float **)puVar29) {\n    return fVar34;\n  }" statement_identifier : (if_statement "if (local_c == *(float **)puVar29) {\n    return fVar34;\n  }" if (parenthesized_expression "(local_c == *(float **)puVar29)" ( (binary_expression "local_c == *(float **)puVar29" identifier == (pointer_expression "*(float **)puVar29" * (cast_expression "(float **)puVar29" ( (type_descriptor "float **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return fVar34;\n  }" { (return_statement "return fVar34;" return identifier ;) }))) (expression_statement "pfVar18 = local_c;" (assignment_expression "pfVar18 = local_c" identifier = identifier) ;) (expression_statement "puVar29 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar29 = PTR___stack_chk_fail_003a9064" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "fVar34 = *(float *)(*(int *)(puVar29 + 0x196010) + -0xe34);" (assignment_expression "fVar34 = *(float *)(*(int *)(puVar29 + 0x196010) + -0xe34)" identifier = (pointer_expression "*(float *)(*(int *)(puVar29 + 0x196010) + -0xe34)" * (cast_expression "(float *)(*(int *)(puVar29 + 0x196010) + -0xe34)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar29 + 0x196010) + -0xe34)" ( (binary_expression "*(int *)(puVar29 + 0x196010) + -0xe34" (pointer_expression "*(int *)(puVar29 + 0x196010)" * (cast_expression "(int *)(puVar29 + 0x196010)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0x196010)" ( (binary_expression "puVar29 + 0x196010" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "fVar39 = *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e70);" (assignment_expression "fVar39 = *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e70)" identifier = (pointer_expression "*(float *)(*(int *)(puVar29 + 0x196074) + -0x1e70)" * (cast_expression "(float *)(*(int *)(puVar29 + 0x196074) + -0x1e70)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar29 + 0x196074) + -0x1e70)" ( (binary_expression "*(int *)(puVar29 + 0x196074) + -0x1e70" (pointer_expression "*(int *)(puVar29 + 0x196074)" * (cast_expression "(int *)(puVar29 + 0x196074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0x196074)" ( (binary_expression "puVar29 + 0x196074" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "pfVar3 = *(float **)(puVar29 + 0x196954);" (assignment_expression "pfVar3 = *(float **)(puVar29 + 0x196954)" identifier = (pointer_expression "*(float **)(puVar29 + 0x196954)" * (cast_expression "(float **)(puVar29 + 0x196954)" ( (type_descriptor "float **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x196954)" ( (binary_expression "puVar29 + 0x196954" identifier + number_literal) ))))) ;) (expression_statement "afStack_8c[0] = *pfVar3;" (assignment_expression "afStack_8c[0] = *pfVar3" (subscript_expression "afStack_8c[0]" identifier [ number_literal ]) = (pointer_expression "*pfVar3" * identifier)) ;) (expression_statement "uVar40 = (uint)((float)param_2 * fVar39 + fVar34);" (assignment_expression "uVar40 = (uint)((float)param_2 * fVar39 + fVar34)" identifier = (call_expression "(uint)((float)param_2 * fVar39 + fVar34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((float)param_2 * fVar39 + fVar34)" ( (binary_expression "(float)param_2 * fVar39 + fVar34" (binary_expression "(float)param_2 * fVar39" (cast_expression "(float)param_2" ( (type_descriptor "float" primitive_type) ) identifier) * identifier) + identifier) )))) ;) (expression_statement "uVar41 = (uint)((float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34);" (assignment_expression "uVar41 = (uint)((float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34)" identifier = (call_expression "(uint)((float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34)" ( (binary_expression "(float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34" (binary_expression "(float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c)" (cast_expression "(float)param_3" ( (type_descriptor "float" primitive_type) ) identifier) * (pointer_expression "*(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c)" * (cast_expression "(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar29 + 0x196074) + -0x1e6c)" ( (binary_expression "*(int *)(puVar29 + 0x196074) + -0x1e6c" (pointer_expression "*(int *)(puVar29 + 0x196074)" * (cast_expression "(int *)(puVar29 + 0x196074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0x196074)" ( (binary_expression "puVar29 + 0x196074" identifier + number_literal) )))) + number_literal) ))))) + identifier) )))) ;) (if_statement "if (0x1f < uVar40) {\n    uVar40 = 0x1f;\n  }" if (parenthesized_expression "(0x1f < uVar40)" ( (binary_expression "0x1f < uVar40" number_literal < identifier) )) (compound_statement "{\n    uVar40 = 0x1f;\n  }" { (expression_statement "uVar40 = 0x1f;" (assignment_expression "uVar40 = 0x1f" identifier = number_literal) ;) })) (expression_statement "uVar35 = (uint)(fVar39 * 5.421411e-39 + fVar34);" (assignment_expression "uVar35 = (uint)(fVar39 * 5.421411e-39 + fVar34)" identifier = (call_expression "(uint)(fVar39 * 5.421411e-39 + fVar34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(fVar39 * 5.421411e-39 + fVar34)" ( (binary_expression "fVar39 * 5.421411e-39 + fVar34" (binary_expression "fVar39 * 5.421411e-39" identifier * number_literal) + identifier) )))) ;) (if_statement "if (0x3f < uVar41) {\n    uVar41 = 0x3f;\n  }" if (parenthesized_expression "(0x3f < uVar41)" ( (binary_expression "0x3f < uVar41" number_literal < identifier) )) (compound_statement "{\n    uVar41 = 0x3f;\n  }" { (expression_statement "uVar41 = 0x3f;" (assignment_expression "uVar41 = 0x3f" identifier = number_literal) ;) })) (expression_statement "uVar36 = (uint)(local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34);" (assignment_expression "uVar36 = (uint)(local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34)" identifier = (call_expression "(uint)(local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34)" ( (binary_expression "local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34" (binary_expression "local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c)" identifier * (pointer_expression "*(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c)" * (cast_expression "(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar29 + 0x196074) + -0x1e6c)" ( (binary_expression "*(int *)(puVar29 + 0x196074) + -0x1e6c" (pointer_expression "*(int *)(puVar29 + 0x196074)" * (cast_expression "(int *)(puVar29 + 0x196074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0x196074)" ( (binary_expression "puVar29 + 0x196074" identifier + number_literal) )))) + number_literal) ))))) + identifier) )))) ;) (if_statement "if (0x1f < uVar35) {\n    uVar35 = 0x1f;\n  }" if (parenthesized_expression "(0x1f < uVar35)" ( (binary_expression "0x1f < uVar35" number_literal < identifier) )) (compound_statement "{\n    uVar35 = 0x1f;\n  }" { (expression_statement "uVar35 = 0x1f;" (assignment_expression "uVar35 = 0x1f" identifier = number_literal) ;) })) (expression_statement "uVar37 = (uint)((float)param_4 * fVar39 + fVar34);" (assignment_expression "uVar37 = (uint)((float)param_4 * fVar39 + fVar34)" identifier = (call_expression "(uint)((float)param_4 * fVar39 + fVar34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((float)param_4 * fVar39 + fVar34)" ( (binary_expression "(float)param_4 * fVar39 + fVar34" (binary_expression "(float)param_4 * fVar39" (cast_expression "(float)param_4" ( (type_descriptor "float" primitive_type) ) identifier) * identifier) + identifier) )))) ;) (if_statement "if (0x3f < uVar36) {\n    uVar36 = 0x3f;\n  }" if (parenthesized_expression "(0x3f < uVar36)" ( (binary_expression "0x3f < uVar36" number_literal < identifier) )) (compound_statement "{\n    uVar36 = 0x3f;\n  }" { (expression_statement "uVar36 = 0x3f;" (assignment_expression "uVar36 = 0x3f" identifier = number_literal) ;) })) (expression_statement "uVar38 = (uint)(local_50 * fVar39 + fVar34);" (assignment_expression "uVar38 = (uint)(local_50 * fVar39 + fVar34)" identifier = (call_expression "(uint)(local_50 * fVar39 + fVar34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_50 * fVar39 + fVar34)" ( (binary_expression "local_50 * fVar39 + fVar34" (binary_expression "local_50 * fVar39" identifier * identifier) + identifier) )))) ;) (if_statement "if (0x1f < uVar37) {\n    uVar37 = 0x1f;\n  }" if (parenthesized_expression "(0x1f < uVar37)" ( (binary_expression "0x1f < uVar37" number_literal < identifier) )) (compound_statement "{\n    uVar37 = 0x1f;\n  }" { (expression_statement "uVar37 = 0x1f;" (assignment_expression "uVar37 = 0x1f" identifier = number_literal) ;) })) (expression_statement "puVar27 = (uint *)(uVar40 << 0xb | uVar41 << 5 | uVar37);" (assignment_expression "puVar27 = (uint *)(uVar40 << 0xb | uVar41 << 5 | uVar37)" identifier = (cast_expression "(uint *)(uVar40 << 0xb | uVar41 << 5 | uVar37)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar40 << 0xb | uVar41 << 5 | uVar37)" ( (binary_expression "uVar40 << 0xb | uVar41 << 5 | uVar37" (binary_expression "uVar40 << 0xb | uVar41 << 5" (binary_expression "uVar40 << 0xb" identifier << number_literal) | (binary_expression "uVar41 << 5" identifier << number_literal)) | identifier) )))) ;) (if_statement "if (0x1f < uVar38) {\n    uVar38 = 0x1f;\n  }" if (parenthesized_expression "(0x1f < uVar38)" ( (binary_expression "0x1f < uVar38" number_literal < identifier) )) (compound_statement "{\n    uVar38 = 0x1f;\n  }" { (expression_statement "uVar38 = 0x1f;" (assignment_expression "uVar38 = 0x1f" identifier = number_literal) ;) })) (expression_statement "puVar25 = (uint *)(uVar35 << 0xb | uVar36 << 5 | uVar38);" (assignment_expression "puVar25 = (uint *)(uVar35 << 0xb | uVar36 << 5 | uVar38)" identifier = (cast_expression "(uint *)(uVar35 << 0xb | uVar36 << 5 | uVar38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar35 << 0xb | uVar36 << 5 | uVar38)" ( (binary_expression "uVar35 << 0xb | uVar36 << 5 | uVar38" (binary_expression "uVar35 << 0xb | uVar36 << 5" (binary_expression "uVar35 << 0xb" identifier << number_literal) | (binary_expression "uVar36 << 5" identifier << number_literal)) | identifier) )))) ;) (expression_statement "pfVar19 = (float *)&uStack_9c;" (assignment_expression "pfVar19 = (float *)&uStack_9c" identifier = (cast_expression "(float *)&uStack_9c" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_9c" & identifier))) ;) (do_statement "do {\n    if (puVar27 < puVar25) {\n      *(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3;\n    }\n    else {\n      while (puVar25 != puVar27) {\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }\n      *(byte *)pfVar19 = 0;\n    }\n    pfVar23 = (float *)((int)pfVar19 + 1);\n    local_4c[0] = local_4c[0] + 1;\n    pfVar19 = pfVar23;\n  } while (afStack_8c != pfVar23);" do (compound_statement "{\n    if (puVar27 < puVar25) {\n      *(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3;\n    }\n    else {\n      while (puVar25 != puVar27) {\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }\n      *(byte *)pfVar19 = 0;\n    }\n    pfVar23 = (float *)((int)pfVar19 + 1);\n    local_4c[0] = local_4c[0] + 1;\n    pfVar19 = pfVar23;\n  }" { (if_statement "if (puVar27 < puVar25) {\n      *(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3;\n    }\n    else {\n      while (puVar25 != puVar27) {\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }\n      *(byte *)pfVar19 = 0;\n    }" if (parenthesized_expression "(puVar27 < puVar25)" ( (binary_expression "puVar27 < puVar25" identifier < identifier) )) (compound_statement "{\n      *(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3;\n    }" { (expression_statement "*(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3;" (assignment_expression "*(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3" (pointer_expression "*(byte *)pfVar19" * (cast_expression "(byte *)pfVar19" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(*local_4c[0] ^ 1) & 3" (parenthesized_expression "(*local_4c[0] ^ 1)" ( (binary_expression "*local_4c[0] ^ 1" (pointer_expression "*local_4c[0]" * (subscript_expression "local_4c[0]" identifier [ number_literal ])) ^ number_literal) )) & number_literal)) ;) }) (else_clause "else {\n      while (puVar25 != puVar27) {\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }\n      *(byte *)pfVar19 = 0;\n    }" else (compound_statement "{\n      while (puVar25 != puVar27) {\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }\n      *(byte *)pfVar19 = 0;\n    }" { (while_statement "while (puVar25 != puVar27) {\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }" while (parenthesized_expression "(puVar25 != puVar27)" ( (binary_expression "puVar25 != puVar27" identifier != identifier) )) (compound_statement "{\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }" { (expression_statement "bVar2 = *local_4c[0];" (assignment_expression "bVar2 = *local_4c[0]" identifier = (pointer_expression "*local_4c[0]" * (subscript_expression "local_4c[0]" identifier [ number_literal ]))) ;) (expression_statement "pfVar23 = (float *)((int)pfVar19 + 1);" (assignment_expression "pfVar23 = (float *)((int)pfVar19 + 1)" identifier = (cast_expression "(float *)((int)pfVar19 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar19 + 1)" ( (binary_expression "(int)pfVar19 + 1" (cast_expression "(int)pfVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_4c[0] = local_4c[0] + 1;" (assignment_expression "local_4c[0] = local_4c[0] + 1" (subscript_expression "local_4c[0]" identifier [ number_literal ]) = (binary_expression "local_4c[0] + 1" (subscript_expression "local_4c[0]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "*(byte *)pfVar19 = bVar2;" (assignment_expression "*(byte *)pfVar19 = bVar2" (pointer_expression "*(byte *)pfVar19" * (cast_expression "(byte *)pfVar19" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "pfVar19 = pfVar23;" (assignment_expression "pfVar19 = pfVar23" identifier = identifier) ;) (if_statement "if (afStack_8c == pfVar23) goto LAB_00212a50;" if (parenthesized_expression "(afStack_8c == pfVar23)" ( (binary_expression "afStack_8c == pfVar23" identifier == identifier) )) (goto_statement "goto LAB_00212a50;" goto statement_identifier ;)) })) (expression_statement "*(byte *)pfVar19 = 0;" (assignment_expression "*(byte *)pfVar19 = 0" (pointer_expression "*(byte *)pfVar19" * (cast_expression "(byte *)pfVar19" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) }))) (expression_statement "pfVar23 = (float *)((int)pfVar19 + 1);" (assignment_expression "pfVar23 = (float *)((int)pfVar19 + 1)" identifier = (cast_expression "(float *)((int)pfVar19 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar19 + 1)" ( (binary_expression "(int)pfVar19 + 1" (cast_expression "(int)pfVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_4c[0] = local_4c[0] + 1;" (assignment_expression "local_4c[0] = local_4c[0] + 1" (subscript_expression "local_4c[0]" identifier [ number_literal ]) = (binary_expression "local_4c[0] + 1" (subscript_expression "local_4c[0]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "pfVar19 = pfVar23;" (assignment_expression "pfVar19 = pfVar23" identifier = identifier) ;) }) while (parenthesized_expression "(afStack_8c != pfVar23)" ( (binary_expression "afStack_8c != pfVar23" identifier != identifier) )) ;) (labeled_statement "LAB_00212a50:\n  puVar26 = puVar25;" statement_identifier : (expression_statement "puVar26 = puVar25;" (assignment_expression "puVar26 = puVar25" identifier = identifier) ;)) (if_statement "if (puVar27 < puVar25) {\n    puVar26 = puVar27;\n    puVar27 = puVar25;\n  }" if (parenthesized_expression "(puVar27 < puVar25)" ( (binary_expression "puVar27 < puVar25" identifier < identifier) )) (compound_statement "{\n    puVar26 = puVar27;\n    puVar27 = puVar25;\n  }" { (expression_statement "puVar26 = puVar27;" (assignment_expression "puVar26 = puVar27" identifier = identifier) ;) (expression_statement "puVar27 = puVar25;" (assignment_expression "puVar27 = puVar25" identifier = identifier) ;) })) (expression_statement "(**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar27 & 0xff);" (call_expression "(**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar27 & 0xff)" (parenthesized_expression "(**(code **)(puVar29 + 0x196700))" ( (pointer_expression "**(code **)(puVar29 + 0x196700)" * (pointer_expression "*(code **)(puVar29 + 0x196700)" * (cast_expression "(code **)(puVar29 + 0x196700)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x196700)" ( (binary_expression "puVar29 + 0x196700" identifier + number_literal) ))))) )) (argument_list "(pfVar18,(uint)puVar27 & 0xff)" ( identifier , (binary_expression "(uint)puVar27 & 0xff" (cast_expression "(uint)puVar27" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) ;) (expression_statement "(**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar27 << 0x10) >> 0x18);" (call_expression "(**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar27 << 0x10) >> 0x18)" (parenthesized_expression "(**(code **)(puVar29 + 0x196700))" ( (pointer_expression "**(code **)(puVar29 + 0x196700)" * (pointer_expression "*(code **)(puVar29 + 0x196700)" * (cast_expression "(code **)(puVar29 + 0x196700)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x196700)" ( (binary_expression "puVar29 + 0x196700" identifier + number_literal) ))))) )) (argument_list "(pfVar18,(uint)((int)puVar27 << 0x10) >> 0x18)" ( identifier , (binary_expression "(uint)((int)puVar27 << 0x10) >> 0x18" (call_expression "(uint)((int)puVar27 << 0x10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar27 << 0x10)" ( (binary_expression "(int)puVar27 << 0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) ))) >> number_literal) ))) ;) (expression_statement "(**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar26 & 0xff);" (call_expression "(**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar26 & 0xff)" (parenthesized_expression "(**(code **)(puVar29 + 0x196700))" ( (pointer_expression "**(code **)(puVar29 + 0x196700)" * (pointer_expression "*(code **)(puVar29 + 0x196700)" * (cast_expression "(code **)(puVar29 + 0x196700)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x196700)" ( (binary_expression "puVar29 + 0x196700" identifier + number_literal) ))))) )) (argument_list "(pfVar18,(uint)puVar26 & 0xff)" ( identifier , (binary_expression "(uint)puVar26 & 0xff" (cast_expression "(uint)puVar26" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) ;) (expression_statement "(**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar26 << 0x10) >> 0x18);" (call_expression "(**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar26 << 0x10) >> 0x18)" (parenthesized_expression "(**(code **)(puVar29 + 0x196700))" ( (pointer_expression "**(code **)(puVar29 + 0x196700)" * (pointer_expression "*(code **)(puVar29 + 0x196700)" * (cast_expression "(code **)(puVar29 + 0x196700)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x196700)" ( (binary_expression "puVar29 + 0x196700" identifier + number_literal) ))))) )) (argument_list "(pfVar18,(uint)((int)puVar26 << 0x10) >> 0x18)" ( identifier , (binary_expression "(uint)((int)puVar26 << 0x10) >> 0x18" (call_expression "(uint)((int)puVar26 << 0x10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar26 << 0x10)" ( (binary_expression "(int)puVar26 << 0x10" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) ))) >> number_literal) ))) ;) (expression_statement "pfVar19 = (float *)&uStack_9c;" (assignment_expression "pfVar19 = (float *)&uStack_9c" identifier = (cast_expression "(float *)&uStack_9c" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_9c" & identifier))) ;) (do_statement "do {\n    pfVar11 = pfVar19 + 1;\n    pfVar16 = (float *)(((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff);\n    pfVar9 = pfVar18;\n    (**(code **)(puVar29 + 0x196700))();\n    pfVar19 = pfVar11;\n  } while (pfVar23 != pfVar11);" do (compound_statement "{\n    pfVar11 = pfVar19 + 1;\n    pfVar16 = (float *)(((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff);\n    pfVar9 = pfVar18;\n    (**(code **)(puVar29 + 0x196700))();\n    pfVar19 = pfVar11;\n  }" { (expression_statement "pfVar11 = pfVar19 + 1;" (assignment_expression "pfVar11 = pfVar19 + 1" identifier = (binary_expression "pfVar19 + 1" identifier + number_literal)) ;) (expression_statement "pfVar16 = (float *)(((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff);" (assignment_expression "pfVar16 = (float *)(((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff)" identifier = (cast_expression "(float *)(((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff)" ( (binary_expression "((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff" (parenthesized_expression "((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6)" ( (binary_expression "(uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6" (binary_expression "(uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19" (binary_expression "(uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4" (binary_expression "(uint)*(byte *)((int)pfVar19 + 1) << 2" (binary_expression "(uint)*(byte *)((int)pfVar19 + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pfVar19 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar19 + 1)" ( (binary_expression "(int)pfVar19 + 1" (cast_expression "(int)pfVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal) | (binary_expression "(uint)*(byte *)((int)pfVar19 + 2) << 4" (binary_expression "(uint)*(byte *)((int)pfVar19 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pfVar19 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar19 + 2)" ( (binary_expression "(int)pfVar19 + 2" (cast_expression "(int)pfVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal)) | (binary_expression "(uint)*(byte *)pfVar19" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)pfVar19" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) | (binary_expression "(uint)*(byte *)((int)pfVar19 + 3) << 6" (binary_expression "(uint)*(byte *)((int)pfVar19 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pfVar19 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar19 + 3)" ( (binary_expression "(int)pfVar19 + 3" (cast_expression "(int)pfVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal)) )) & number_literal) )))) ;) (expression_statement "pfVar9 = pfVar18;" (assignment_expression "pfVar9 = pfVar18" identifier = identifier) ;) (expression_statement "(**(code **)(puVar29 + 0x196700))();" (call_expression "(**(code **)(puVar29 + 0x196700))()" (parenthesized_expression "(**(code **)(puVar29 + 0x196700))" ( (pointer_expression "**(code **)(puVar29 + 0x196700)" * (pointer_expression "*(code **)(puVar29 + 0x196700)" * (cast_expression "(code **)(puVar29 + 0x196700)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x196700)" ( (binary_expression "puVar29 + 0x196700" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pfVar19 = pfVar11;" (assignment_expression "pfVar19 = pfVar11" identifier = identifier) ;) }) while (parenthesized_expression "(pfVar23 != pfVar11)" ( (binary_expression "pfVar23 != pfVar11" identifier != identifier) )) ;) (if_statement "if (afStack_8c[0] == *pfVar3) {\n    return *pfVar3;\n  }" if (parenthesized_expression "(afStack_8c[0] == *pfVar3)" ( (binary_expression "afStack_8c[0] == *pfVar3" (subscript_expression "afStack_8c[0]" identifier [ number_literal ]) == (pointer_expression "*pfVar3" * identifier)) )) (compound_statement "{\n    return *pfVar3;\n  }" { (return_statement "return *pfVar3;" return (pointer_expression "*pfVar3" * identifier) ;) })) (expression_statement "pcVar30 = *(code **)(puVar29 + 0x196788);" (assignment_expression "pcVar30 = *(code **)(puVar29 + 0x196788)" identifier = (pointer_expression "*(code **)(puVar29 + 0x196788)" * (cast_expression "(code **)(puVar29 + 0x196788)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0x196788)" ( (binary_expression "puVar29 + 0x196788" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar30)();" (call_expression "(*pcVar30)()" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar32 = pcVar30 + 0x19dd78;" (assignment_expression "pcVar32 = pcVar30 + 0x19dd78" identifier = (binary_expression "pcVar30 + 0x19dd78" identifier + number_literal)) ;) (expression_statement "piVar24 = *(int **)(pcVar30 + 0x1966f8);" (assignment_expression "piVar24 = *(int **)(pcVar30 + 0x1966f8)" identifier = (pointer_expression "*(int **)(pcVar30 + 0x1966f8)" * (cast_expression "(int **)(pcVar30 + 0x1966f8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x1966f8)" ( (binary_expression "pcVar30 + 0x1966f8" identifier + number_literal) ))))) ;) (expression_statement "iStack_e4 = *piVar24;" (assignment_expression "iStack_e4 = *piVar24" identifier = (pointer_expression "*piVar24" * identifier)) ;) (expression_statement "pcStack_130 = pcVar32;" (assignment_expression "pcStack_130 = pcVar32" identifier = identifier) ;) (expression_statement "pfStack_e0 = pfVar23;" (assignment_expression "pfStack_e0 = pfVar23" identifier = identifier) ;) (expression_statement "pfStack_dc = pfVar18;" (assignment_expression "pfStack_dc = pfVar18" identifier = identifier) ;) (expression_statement "pfStack_d8 = pfVar3;" (assignment_expression "pfStack_d8 = pfVar3" identifier = identifier) ;) (expression_statement "pfStack_d4 = pfVar11;" (assignment_expression "pfStack_d4 = pfVar11" identifier = identifier) ;) (expression_statement "puStack_d0 = puVar26;" (assignment_expression "puStack_d0 = puVar26" identifier = identifier) ;) (expression_statement "puStack_cc = puVar27;" (assignment_expression "puStack_cc = puVar27" identifier = identifier) ;) (if_statement "if (pfVar9 == (float *)0x0) {\nLAB_00213360:\n    pfVar9 = pfVar18;\n    (**(code **)(pcVar32 + -0x72a8))\n              (*(int *)(pcVar32 + -0x7fd0) + 0xd78,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n  }\n  else {\n    if (pfVar9[0xc85] != -1.2269538e-12) goto LAB_00213390;\n    if (pfVar9[0xc84] != 0.0) {\n      pfStack_13c = pfVar9 + 0x884;\n      pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);\n    }\n    pcVar32 = pcStack_130;\n    pfVar3 = pfVar16;\n    if (pfVar16 == (float *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n      pfVar18 = pfVar9;\n      goto LAB_00213360;\n    }\n    if (pfVar16[7] != -1.2269538e-12) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }\n    pfVar23 = (float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16);\n    iVar8 = (**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16);\n    if (iVar8 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      fVar34 = 0.0;\n      goto LAB_00212c9c;\n    }\n    pfStack_140 = (float *)0x0;\n    (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n    iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n    if ((iVar8 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar26 = (uint *)0x1;\n      fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      if (iVar8 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      puVar26 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pfStack_140 = (float *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = 0.0;\n      unaff_s7 = 2.24208e-44;\n      pcStack_128 = (code *)(puVar27 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar26 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar26 = (uint *)0x1;\nLAB_00212ed8:\n      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);\n      puVar27 = puVar26;\n      if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }\n      else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar8 = (*pcVar32)(0xb);\n      if (iVar8 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar27 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);\n      uStack_124 = (uint)(iVar8 != 0);\n      while( true ) {\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n      fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n    }\n    else {\nLAB_00212c24:\n      uVar17 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar15 = *(int *)(pcStack_130 + -0x7f60);\n      iVar8 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar32 = *(code **)(pcStack_130 + -0x7990);\n      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;\n      iStack_138 = iStack_138 + 0x3e28;\n      pfStack_140 = (float *)&DAT_000001a9;\n      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);\n      if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }\n      fVar34 = 0.0;\n      pfVar9 = pfVar9 + 0x884;\n    }\nLAB_00212c9c:\n    pcVar32 = pcStack_130;\n    if (iStack_e4 == *piVar24) {\n      return fVar34;\n    }\n  }" if (parenthesized_expression "(pfVar9 == (float *)0x0)" ( (binary_expression "pfVar9 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00213360:\n    pfVar9 = pfVar18;\n    (**(code **)(pcVar32 + -0x72a8))\n              (*(int *)(pcVar32 + -0x7fd0) + 0xd78,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n  }" { (labeled_statement "LAB_00213360:\n    pfVar9 = pfVar18;" statement_identifier : (expression_statement "pfVar9 = pfVar18;" (assignment_expression "pfVar9 = pfVar18" identifier = identifier) ;)) (expression_statement "(**(code **)(pcVar32 + -0x72a8))\n              (*(int *)(pcVar32 + -0x7fd0) + 0xd78,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar32 + -0x7f60) + -0x2ab4);" (call_expression "(**(code **)(pcVar32 + -0x72a8))\n              (*(int *)(pcVar32 + -0x7fd0) + 0xd78,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar32 + -0x7f60) + -0x2ab4)" (parenthesized_expression "(**(code **)(pcVar32 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar32 + -0x72a8)" * (pointer_expression "*(code **)(pcVar32 + -0x72a8)" * (cast_expression "(code **)(pcVar32 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + -0x72a8)" ( (binary_expression "pcVar32 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar32 + -0x7fd0) + 0xd78,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar32 + -0x7f60) + -0x2ab4)" ( (binary_expression "*(int *)(pcVar32 + -0x7fd0) + 0xd78" (pointer_expression "*(int *)(pcVar32 + -0x7fd0)" * (cast_expression "(int *)(pcVar32 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + -0x7fd0)" ( (binary_expression "pcVar32 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar32 + -0x7f60) + -0x2c20" (pointer_expression "*(int *)(pcVar32 + -0x7f60)" * (cast_expression "(int *)(pcVar32 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + -0x7f60)" ( (binary_expression "pcVar32 + -0x7f60" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar32 + -0x7f60) + -0x2ab4" (pointer_expression "*(int *)(pcVar32 + -0x7f60)" * (cast_expression "(int *)(pcVar32 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + -0x7f60)" ( (binary_expression "pcVar32 + -0x7f60" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    if (pfVar9[0xc85] != -1.2269538e-12) goto LAB_00213390;\n    if (pfVar9[0xc84] != 0.0) {\n      pfStack_13c = pfVar9 + 0x884;\n      pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);\n    }\n    pcVar32 = pcStack_130;\n    pfVar3 = pfVar16;\n    if (pfVar16 == (float *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n      pfVar18 = pfVar9;\n      goto LAB_00213360;\n    }\n    if (pfVar16[7] != -1.2269538e-12) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }\n    pfVar23 = (float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16);\n    iVar8 = (**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16);\n    if (iVar8 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      fVar34 = 0.0;\n      goto LAB_00212c9c;\n    }\n    pfStack_140 = (float *)0x0;\n    (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n    iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n    if ((iVar8 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar26 = (uint *)0x1;\n      fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      if (iVar8 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      puVar26 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pfStack_140 = (float *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = 0.0;\n      unaff_s7 = 2.24208e-44;\n      pcStack_128 = (code *)(puVar27 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar26 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar26 = (uint *)0x1;\nLAB_00212ed8:\n      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);\n      puVar27 = puVar26;\n      if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }\n      else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar8 = (*pcVar32)(0xb);\n      if (iVar8 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar27 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);\n      uStack_124 = (uint)(iVar8 != 0);\n      while( true ) {\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n      fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n    }\n    else {\nLAB_00212c24:\n      uVar17 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar15 = *(int *)(pcStack_130 + -0x7f60);\n      iVar8 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar32 = *(code **)(pcStack_130 + -0x7990);\n      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;\n      iStack_138 = iStack_138 + 0x3e28;\n      pfStack_140 = (float *)&DAT_000001a9;\n      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);\n      if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }\n      fVar34 = 0.0;\n      pfVar9 = pfVar9 + 0x884;\n    }\nLAB_00212c9c:\n    pcVar32 = pcStack_130;\n    if (iStack_e4 == *piVar24) {\n      return fVar34;\n    }\n  }" else (compound_statement "{\n    if (pfVar9[0xc85] != -1.2269538e-12) goto LAB_00213390;\n    if (pfVar9[0xc84] != 0.0) {\n      pfStack_13c = pfVar9 + 0x884;\n      pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);\n    }\n    pcVar32 = pcStack_130;\n    pfVar3 = pfVar16;\n    if (pfVar16 == (float *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n      pfVar18 = pfVar9;\n      goto LAB_00213360;\n    }\n    if (pfVar16[7] != -1.2269538e-12) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }\n    pfVar23 = (float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16);\n    iVar8 = (**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16);\n    if (iVar8 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      fVar34 = 0.0;\n      goto LAB_00212c9c;\n    }\n    pfStack_140 = (float *)0x0;\n    (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n    iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n    if ((iVar8 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar26 = (uint *)0x1;\n      fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      if (iVar8 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      puVar26 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pfStack_140 = (float *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = 0.0;\n      unaff_s7 = 2.24208e-44;\n      pcStack_128 = (code *)(puVar27 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar26 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar26 = (uint *)0x1;\nLAB_00212ed8:\n      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);\n      puVar27 = puVar26;\n      if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }\n      else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar8 = (*pcVar32)(0xb);\n      if (iVar8 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar27 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);\n      uStack_124 = (uint)(iVar8 != 0);\n      while( true ) {\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n      fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n    }\n    else {\nLAB_00212c24:\n      uVar17 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar15 = *(int *)(pcStack_130 + -0x7f60);\n      iVar8 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar32 = *(code **)(pcStack_130 + -0x7990);\n      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;\n      iStack_138 = iStack_138 + 0x3e28;\n      pfStack_140 = (float *)&DAT_000001a9;\n      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);\n      if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }\n      fVar34 = 0.0;\n      pfVar9 = pfVar9 + 0x884;\n    }\nLAB_00212c9c:\n    pcVar32 = pcStack_130;\n    if (iStack_e4 == *piVar24) {\n      return fVar34;\n    }\n  }" { (if_statement "if (pfVar9[0xc85] != -1.2269538e-12) goto LAB_00213390;" if (parenthesized_expression "(pfVar9[0xc85] != -1.2269538e-12)" ( (binary_expression "pfVar9[0xc85] != -1.2269538e-12" (subscript_expression "pfVar9[0xc85]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_00213390;" goto statement_identifier ;)) (if_statement "if (pfVar9[0xc84] != 0.0) {\n      pfStack_13c = pfVar9 + 0x884;\n      pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);\n    }" if (parenthesized_expression "(pfVar9[0xc84] != 0.0)" ( (binary_expression "pfVar9[0xc84] != 0.0" (subscript_expression "pfVar9[0xc84]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      pfStack_13c = pfVar9 + 0x884;\n      pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);\n    }" { (expression_statement "pfStack_13c = pfVar9 + 0x884;" (assignment_expression "pfStack_13c = pfVar9 + 0x884" identifier = (binary_expression "pfVar9 + 0x884" identifier + number_literal)) ;) (expression_statement "pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);" (assignment_expression "pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac)" identifier = (cast_expression "(float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar30 + 0x195dac) + -0x62ac)" ( (binary_expression "*(int *)(pcVar30 + 0x195dac) + -0x62ac" (pointer_expression "*(int *)(pcVar30 + 0x195dac)" * (cast_expression "(int *)(pcVar30 + 0x195dac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x195dac)" ( (binary_expression "pcVar30 + 0x195dac" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);" (call_expression "(**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca)" (parenthesized_expression "(**(code **)(pcVar30 + 0x1966a8))" ( (pointer_expression "**(code **)(pcVar30 + 0x1966a8)" * (pointer_expression "*(code **)(pcVar30 + 0x1966a8)" * (cast_expression "(code **)(pcVar30 + 0x1966a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0x1966a8)" ( (binary_expression "pcVar30 + 0x1966a8" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca)" ( number_literal , (binary_expression "*(int *)(pcVar30 + 0x195e18) + -0x2c20" (pointer_expression "*(int *)(pcVar30 + 0x195e18)" * (cast_expression "(int *)(pcVar30 + 0x195e18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x195e18)" ( (binary_expression "pcVar30 + 0x195e18" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar30 + 0x195e18) + -0x2ac4" (pointer_expression "*(int *)(pcVar30 + 0x195e18)" * (cast_expression "(int *)(pcVar30 + 0x195e18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0x195e18)" ( (binary_expression "pcVar30 + 0x195e18" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "pcVar32 = pcStack_130;" (assignment_expression "pcVar32 = pcStack_130" identifier = identifier) ;) (expression_statement "pfVar3 = pfVar16;" (assignment_expression "pfVar3 = pfVar16" identifier = identifier) ;) (if_statement "if (pfVar16 == (float *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n      pfVar18 = pfVar9;\n      goto LAB_00213360;\n    }" if (parenthesized_expression "(pfVar16 == (float *)0x0)" ( (binary_expression "pfVar16 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0021333c:\n      (**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n      pfVar18 = pfVar9;\n      goto LAB_00213360;\n    }" { (labeled_statement "LAB_0021333c:\n      (**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);" statement_identifier : (expression_statement "(**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);" (call_expression "(**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4)" (parenthesized_expression "(**(code **)(pcVar32 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar32 + -0x72a8)" * (pointer_expression "*(code **)(pcVar32 + -0x72a8)" * (cast_expression "(code **)(pcVar32 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + -0x72a8)" ( (binary_expression "pcVar32 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4)" ( (binary_expression "*(int *)(pcVar32 + -0x7fd0) + 0x1cac" (pointer_expression "*(int *)(pcVar32 + -0x7fd0)" * (cast_expression "(int *)(pcVar32 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + -0x7fd0)" ( (binary_expression "pcVar32 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar32 + -0x7f60) + -0x2c20" (pointer_expression "*(int *)(pcVar32 + -0x7f60)" * (cast_expression "(int *)(pcVar32 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + -0x7f60)" ( (binary_expression "pcVar32 + -0x7f60" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar32 + -0x7f60) + -0x2ab4" (pointer_expression "*(int *)(pcVar32 + -0x7f60)" * (cast_expression "(int *)(pcVar32 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + -0x7f60)" ( (binary_expression "pcVar32 + -0x7f60" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "pfVar18 = pfVar9;" (assignment_expression "pfVar18 = pfVar9" identifier = identifier) ;) (goto_statement "goto LAB_00213360;" goto statement_identifier ;) })) (if_statement "if (pfVar16[7] != -1.2269538e-12) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }" if (parenthesized_expression "(pfVar16[7] != -1.2269538e-12)" ( (binary_expression "pfVar16[7] != -1.2269538e-12" (subscript_expression "pfVar16[7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }" { (expression_statement "(**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);" (call_expression "(**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x72a8))" ( (pointer_expression "**(code **)(pcStack_130 + -0x72a8)" * (pointer_expression "*(code **)(pcStack_130 + -0x72a8)" * (cast_expression "(code **)(pcStack_130 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x72a8)" ( (binary_expression "pcStack_130 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4)" ( (binary_expression "*(int *)(pcStack_130 + -0x7fd0) + 0x294c" (pointer_expression "*(int *)(pcStack_130 + -0x7fd0)" * (cast_expression "(int *)(pcStack_130 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7fd0)" ( (binary_expression "pcStack_130 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2c20" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2ab4" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_0021333c;" goto statement_identifier ;) })) (expression_statement "pfVar23 = (float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16);" (assignment_expression "pfVar23 = (float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16)" identifier = (cast_expression "(float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x72a4))" ( (pointer_expression "**(code **)(pcStack_130 + -0x72a4)" * (pointer_expression "*(code **)(pcStack_130 + -0x72a4)" * (cast_expression "(code **)(pcStack_130 + -0x72a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x72a4)" ( (binary_expression "pcStack_130 + -0x72a4" identifier + number_literal) ))))) )) (argument_list "(pfVar9,pfVar16)" ( identifier , identifier ))))) ;) (expression_statement "iVar8 = (**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16);" (assignment_expression "iVar8 = (**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7664))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7664)" * (pointer_expression "*(code **)(pcStack_130 + -0x7664)" * (cast_expression "(code **)(pcStack_130 + -0x7664)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7664)" ( (binary_expression "pcStack_130 + -0x7664" identifier + number_literal) ))))) )) (argument_list "(pfVar9,pfVar23,2,pfVar16)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar8 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      fVar34 = 0.0;\n      goto LAB_00212c9c;\n    }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n      (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      fVar34 = 0.0;\n      goto LAB_00212c9c;\n    }" { (expression_statement "(**(code **)(pcStack_130 + -0x73a0))(pfVar23);" (call_expression "(**(code **)(pcStack_130 + -0x73a0))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x73a0))" ( (pointer_expression "**(code **)(pcStack_130 + -0x73a0)" * (pointer_expression "*(code **)(pcStack_130 + -0x73a0)" * (cast_expression "(code **)(pcStack_130 + -0x73a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x73a0)" ( (binary_expression "pcStack_130 + -0x73a0" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))) ;) (expression_statement "fVar34 = 0.0;" (assignment_expression "fVar34 = 0.0" identifier = number_literal) ;) (goto_statement "goto LAB_00212c9c;" goto statement_identifier ;) })) (expression_statement "pfStack_140 = (float *)0x0;" (assignment_expression "pfStack_140 = (float *)0x0" identifier = (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcStack_130 + -0x7588))(pfVar23);" (call_expression "(**(code **)(pcStack_130 + -0x7588))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7588))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7588)" * (pointer_expression "*(code **)(pcStack_130 + -0x7588)" * (cast_expression "(code **)(pcStack_130 + -0x7588)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7588)" ( (binary_expression "pcStack_130 + -0x7588" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))) ;) (expression_statement "iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (if_statement "if ((iVar8 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar26 = (uint *)0x1;\n      fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      if (iVar8 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      puVar26 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pfStack_140 = (float *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = 0.0;\n      unaff_s7 = 2.24208e-44;\n      pcStack_128 = (code *)(puVar27 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar26 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar26 = (uint *)0x1;\nLAB_00212ed8:\n      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);\n      puVar27 = puVar26;\n      if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }\n      else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar8 = (*pcVar32)(0xb);\n      if (iVar8 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar27 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);\n      uStack_124 = (uint)(iVar8 != 0);\n      while( true ) {\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n      fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n    }\n    else {\nLAB_00212c24:\n      uVar17 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar15 = *(int *)(pcStack_130 + -0x7f60);\n      iVar8 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar32 = *(code **)(pcStack_130 + -0x7990);\n      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;\n      iStack_138 = iStack_138 + 0x3e28;\n      pfStack_140 = (float *)&DAT_000001a9;\n      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);\n      if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }\n      fVar34 = 0.0;\n      pfVar9 = pfVar9 + 0x884;\n    }" if (parenthesized_expression "((iVar8 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)\n       )" ( (binary_expression "(iVar8 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)" (parenthesized_expression "(iVar8 == 0x7c)" ( (binary_expression "iVar8 == 0x7c" identifier == number_literal) )) && (parenthesized_expression "(uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)" ( (comma_expression "uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006" (assignment_expression "uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) , (binary_expression "(uStack_120 & 0x1006) == 0x1006" (parenthesized_expression "(uStack_120 & 0x1006)" ( (binary_expression "uStack_120 & 0x1006" identifier & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n      puVar26 = (uint *)0x1;\n      fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      if (iVar8 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      puVar26 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pfStack_140 = (float *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = 0.0;\n      unaff_s7 = 2.24208e-44;\n      pcStack_128 = (code *)(puVar27 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar26 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar26 = (uint *)0x1;\nLAB_00212ed8:\n      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);\n      puVar27 = puVar26;\n      if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }\n      else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar8 = (*pcVar32)(0xb);\n      if (iVar8 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar27 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);\n      uStack_124 = (uint)(iVar8 != 0);\n      while( true ) {\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n      fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n    }" { (expression_statement "puVar26 = (uint *)0x1;" (assignment_expression "puVar26 = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (cast_expression "(float)(**(code **)(pcStack_130 + -0x7844))(pfVar23)" ( (type_descriptor "float" primitive_type) ) (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))))) ;) (expression_statement "fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (cast_expression "(float)(**(code **)(pcStack_130 + -0x7844))(pfVar23)" ( (type_descriptor "float" primitive_type) ) (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))))) ;) (expression_statement "uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (expression_statement "puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (cast_expression "(uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))))) ;) (expression_statement "uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (expression_statement "pfStack_140 = (float *)0x1;" (assignment_expression "pfStack_140 = (float *)0x1" identifier = (cast_expression "(float *)0x1" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcStack_130 + -0x7588))(pfVar23);" (call_expression "(**(code **)(pcStack_130 + -0x7588))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7588))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7588)" * (pointer_expression "*(code **)(pcStack_130 + -0x7588)" * (cast_expression "(code **)(pcStack_130 + -0x7588)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7588)" ( (binary_expression "pcStack_130 + -0x7588" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))) ;) (expression_statement "iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (if_statement "if (iVar8 != 0x20) goto LAB_00212c24;" if (parenthesized_expression "(iVar8 != 0x20)" ( (binary_expression "iVar8 != 0x20" identifier != number_literal) )) (goto_statement "goto LAB_00212c24;" goto statement_identifier ;)) (expression_statement "uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (expression_statement "iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (expression_statement "uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (expression_statement "uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (expression_statement "uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (expression_statement "uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (expression_statement "uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (expression_statement "uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (expression_statement "uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7844)" * (pointer_expression "*(code **)(pcStack_130 + -0x7844)" * (cast_expression "(code **)(pcStack_130 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7844)" ( (binary_expression "pcStack_130 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (expression_statement "pfStack_140 = (float *)0x1;" (assignment_expression "pfStack_140 = (float *)0x1" identifier = (cast_expression "(float *)0x1" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcStack_130 + -0x7588))(pfVar23);" (call_expression "(**(code **)(pcStack_130 + -0x7588))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7588))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7588)" * (pointer_expression "*(code **)(pcStack_130 + -0x7588)" * (cast_expression "(code **)(pcStack_130 + -0x7588)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7588)" ( (binary_expression "pcStack_130 + -0x7588" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))) ;) (expression_statement "puVar26 = (uint *)(uStack_104 & 0x200);" (assignment_expression "puVar26 = (uint *)(uStack_104 & 0x200)" identifier = (cast_expression "(uint *)(uStack_104 & 0x200)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_104 & 0x200)" ( (binary_expression "uStack_104 & 0x200" identifier & number_literal) )))) ;) (if_statement "if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }" if (parenthesized_expression "((int)(uStack_104 << 10) < 0)" ( (binary_expression "(int)(uStack_104 << 10) < 0" (cast_expression "(int)(uStack_104 << 10)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uStack_104 << 10)" ( (binary_expression "uStack_104 << 10" identifier << number_literal) ))) < number_literal) )) (compound_statement "{\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }" { (expression_statement "unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);" (assignment_expression "unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0)" identifier = (cast_expression "(uint *)(uint)(puStack_110 != (uint *)0x0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(puStack_110 != (uint *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puStack_110 != (uint *)0x0)" ( (binary_expression "puStack_110 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) ;) }) (else_clause "else {\n        unaff_s6 = (uint *)0x0;\n      }" else (compound_statement "{\n        unaff_s6 = (uint *)0x0;\n      }" { (expression_statement "unaff_s6 = (uint *)0x0;" (assignment_expression "unaff_s6 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "pfStack_140 = (float *)0x0;" (assignment_expression "pfStack_140 = (float *)0x0" identifier = (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcStack_130 + -0x7588))(pfVar23);" (call_expression "(**(code **)(pcStack_130 + -0x7588))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7588))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7588)" * (pointer_expression "*(code **)(pcStack_130 + -0x7588)" * (cast_expression "(code **)(pcStack_130 + -0x7588)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7588)" ( (binary_expression "pcStack_130 + -0x7588" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))) ;) (if_statement "if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }" if (parenthesized_expression "((uStack_100 & 0x40) == 0)" ( (binary_expression "(uStack_100 & 0x40) == 0" (parenthesized_expression "(uStack_100 & 0x40)" ( (binary_expression "uStack_100 & 0x40" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }" { (if_statement "if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }" if (parenthesized_expression "(-1 < (int)(uStack_100 << 0xe))" ( (binary_expression "-1 < (int)(uStack_100 << 0xe)" number_literal < (cast_expression "(int)(uStack_100 << 0xe)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uStack_100 << 0xe)" ( (binary_expression "uStack_100 << 0xe" identifier << number_literal) )))) )) (compound_statement "{\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }" { (if_statement "if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }" if (parenthesized_expression "((uStack_100 & 4) == 0)" ( (binary_expression "(uStack_100 & 4) == 0" (parenthesized_expression "(uStack_100 & 4)" ( (binary_expression "uStack_100 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }" { (expression_statement "uVar17 = 0x729;" (assignment_expression "uVar17 = 0x729" identifier = number_literal) ;) (goto_statement "goto LAB_002130b8;" goto statement_identifier ;) })) (if_statement "if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }" if (parenthesized_expression "(iStack_fc == 0x33545844)" ( (binary_expression "iStack_fc == 0x33545844" identifier == number_literal) )) (compound_statement "{\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }" { (expression_statement "puVar27 = *(uint **)(pcStack_130 + -0x7cec);" (assignment_expression "puVar27 = *(uint **)(pcStack_130 + -0x7cec)" identifier = (pointer_expression "*(uint **)(pcStack_130 + -0x7cec)" * (cast_expression "(uint **)(pcStack_130 + -0x7cec)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7cec)" ( (binary_expression "pcStack_130 + -0x7cec" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8 = 5.60519e-45;" (assignment_expression "unaff_s8 = 5.60519e-45" identifier = number_literal) ;) (expression_statement "unaff_s7 = 7.00649e-45;" (assignment_expression "unaff_s7 = 7.00649e-45" identifier = number_literal) ;) (expression_statement "pcStack_128 = (code *)(puVar27 + 0x1678);" (assignment_expression "pcStack_128 = (code *)(puVar27 + 0x1678)" identifier = (cast_expression "(code *)(puVar27 + 0x1678)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + 0x1678)" ( (binary_expression "puVar27 + 0x1678" identifier + number_literal) )))) ;) }) (else_clause "else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }" else (if_statement "if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }" if (parenthesized_expression "(iStack_fc == 0x35545844)" ( (binary_expression "iStack_fc == 0x35545844" identifier == number_literal) )) (compound_statement "{\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }" { (expression_statement "puVar27 = *(uint **)(pcStack_130 + -0x7cec);" (assignment_expression "puVar27 = *(uint **)(pcStack_130 + -0x7cec)" identifier = (pointer_expression "*(uint **)(pcStack_130 + -0x7cec)" * (cast_expression "(uint **)(pcStack_130 + -0x7cec)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7cec)" ( (binary_expression "pcStack_130 + -0x7cec" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8 = 5.60519e-45;" (assignment_expression "unaff_s8 = 5.60519e-45" identifier = number_literal) ;) (expression_statement "unaff_s7 = 8.40779e-45;" (assignment_expression "unaff_s7 = 8.40779e-45" identifier = number_literal) ;) (expression_statement "pcStack_128 = (code *)(puVar27 + 0x1635);" (assignment_expression "pcStack_128 = (code *)(puVar27 + 0x1635)" identifier = (cast_expression "(code *)(puVar27 + 0x1635)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + 0x1635)" ( (binary_expression "puVar27 + 0x1635" identifier + number_literal) )))) ;) }) (else_clause "else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }" else (compound_statement "{\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }" { (expression_statement "uVar17 = 0x722;" (assignment_expression "uVar17 = 0x722" identifier = number_literal) ;) (if_statement "if (iStack_fc != 0x31545844) goto LAB_002130b8;" if (parenthesized_expression "(iStack_fc != 0x31545844)" ( (binary_expression "iStack_fc != 0x31545844" identifier != number_literal) )) (goto_statement "goto LAB_002130b8;" goto statement_identifier ;)) (expression_statement "puVar27 = *(uint **)(pcStack_130 + -0x7cec);" (assignment_expression "puVar27 = *(uint **)(pcStack_130 + -0x7cec)" identifier = (pointer_expression "*(uint **)(pcStack_130 + -0x7cec)" * (cast_expression "(uint **)(pcStack_130 + -0x7cec)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7cec)" ( (binary_expression "pcStack_130 + -0x7cec" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8 = 0.0;" (assignment_expression "unaff_s8 = 0.0" identifier = number_literal) ;) (expression_statement "unaff_s7 = 5.60519e-45;" (assignment_expression "unaff_s7 = 5.60519e-45" identifier = number_literal) ;) (expression_statement "pcStack_128 = (code *)(puVar27 + 0x16bb);" (assignment_expression "pcStack_128 = (code *)(puVar27 + 0x16bb)" identifier = (cast_expression "(code *)(puVar27 + 0x16bb)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + 0x16bb)" ( (binary_expression "puVar27 + 0x16bb" identifier + number_literal) )))) ;) }))))) (goto_statement "goto joined_r0x00212ec0;" goto statement_identifier ;) })) (expression_statement "puVar27 = *(uint **)(pcStack_130 + -0x7cec);" (assignment_expression "puVar27 = *(uint **)(pcStack_130 + -0x7cec)" identifier = (pointer_expression "*(uint **)(pcStack_130 + -0x7cec)" * (cast_expression "(uint **)(pcStack_130 + -0x7cec)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7cec)" ( (binary_expression "pcStack_130 + -0x7cec" identifier + number_literal) ))))) ;) (if_statement "if ((uStack_100 & 1) == 0) goto LAB_00212fe4;" if (parenthesized_expression "((uStack_100 & 1) == 0)" ( (binary_expression "(uStack_100 & 1) == 0" (parenthesized_expression "(uStack_100 & 1)" ( (binary_expression "uStack_100 & 1" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00212fe4;" goto statement_identifier ;)) (expression_statement "uVar17 = 0x6fe;" (assignment_expression "uVar17 = 0x6fe" identifier = number_literal) ;) (labeled_statement "LAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);" statement_identifier : (expression_statement "iStack_138 = *(int *)(pcStack_130 + -0x7fd0);" (assignment_expression "iStack_138 = *(int *)(pcStack_130 + -0x7fd0)" identifier = (pointer_expression "*(int *)(pcStack_130 + -0x7fd0)" * (cast_expression "(int *)(pcStack_130 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7fd0)" ( (binary_expression "pcStack_130 + -0x7fd0" identifier + number_literal) ))))) ;)) (expression_statement "iVar15 = *(int *)(pcStack_130 + -0x7f60);" (assignment_expression "iVar15 = *(int *)(pcStack_130 + -0x7f60)" identifier = (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(pcStack_130 + -0x7f60);" (assignment_expression "iVar8 = *(int *)(pcStack_130 + -0x7f60)" identifier = (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) ))))) ;) (expression_statement "pcVar32 = *(code **)(pcStack_130 + -0x7990);" (assignment_expression "pcVar32 = *(code **)(pcStack_130 + -0x7990)" identifier = (pointer_expression "*(code **)(pcStack_130 + -0x7990)" * (cast_expression "(code **)(pcStack_130 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7990)" ( (binary_expression "pcStack_130 + -0x7990" identifier + number_literal) ))))) ;) (expression_statement "pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);" (assignment_expression "pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10)" identifier = (cast_expression "(float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_130 + -0x7f60) + -0x2c10)" ( (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2c10" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_00212c58;" goto statement_identifier ;) })) (expression_statement "puVar27 = *(uint **)(pcStack_130 + -0x7cec);" (assignment_expression "puVar27 = *(uint **)(pcStack_130 + -0x7cec)" identifier = (pointer_expression "*(uint **)(pcStack_130 + -0x7cec)" * (cast_expression "(uint **)(pcStack_130 + -0x7cec)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7cec)" ( (binary_expression "pcStack_130 + -0x7cec" identifier + number_literal) ))))) ;) (if_statement "if ((uStack_100 & 1) != 0) {\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }" if (parenthesized_expression "((uStack_100 & 1) != 0)" ( (binary_expression "(uStack_100 & 1) != 0" (parenthesized_expression "(uStack_100 & 1)" ( (binary_expression "uStack_100 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }" { (expression_statement "puVar27 = *(uint **)(pcStack_130 + -0x7cec);" (assignment_expression "puVar27 = *(uint **)(pcStack_130 + -0x7cec)" identifier = (pointer_expression "*(uint **)(pcStack_130 + -0x7cec)" * (cast_expression "(uint **)(pcStack_130 + -0x7cec)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7cec)" ( (binary_expression "pcStack_130 + -0x7cec" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8 = 5.60519e-45;" (assignment_expression "unaff_s8 = 5.60519e-45" identifier = number_literal) ;) (expression_statement "unaff_s7 = 2.24208e-44;" (assignment_expression "unaff_s7 = 2.24208e-44" identifier = number_literal) ;) (expression_statement "pcStack_128 = (code *)(puVar27 + 0x16fe);" (assignment_expression "pcStack_128 = (code *)(puVar27 + 0x16fe)" identifier = (cast_expression "(code *)(puVar27 + 0x16fe)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + 0x16fe)" ( (binary_expression "puVar27 + 0x16fe" identifier + number_literal) )))) ;) (goto_statement "goto joined_r0x00212ec0;" goto statement_identifier ;) })) (labeled_statement "LAB_00212fe4:\n      unaff_s8 = 0.0;" statement_identifier : (expression_statement "unaff_s8 = 0.0;" (assignment_expression "unaff_s8 = 0.0" identifier = number_literal) ;)) (expression_statement "unaff_s7 = 2.24208e-44;" (assignment_expression "unaff_s7 = 2.24208e-44" identifier = number_literal) ;) (expression_statement "pcStack_128 = (code *)(puVar27 + 0x1285);" (assignment_expression "pcStack_128 = (code *)(puVar27 + 0x1285)" identifier = (cast_expression "(code *)(puVar27 + 0x1285)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + 0x1285)" ( (binary_expression "puVar27 + 0x1285" identifier + number_literal) )))) ;) (labeled_statement "joined_r0x00212ec0:\n      if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }" statement_identifier : (if_statement "if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }" if (parenthesized_expression "(puVar26 != (uint *)0x0)" ( (binary_expression "puVar26 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }" { (expression_statement "puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);" (assignment_expression "puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f)" identifier = (cast_expression "(uint *)-((int)(uStack_104 << 0x15) >> 0x1f)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (unary_expression "-((int)(uStack_104 << 0x15) >> 0x1f)" - (parenthesized_expression "((int)(uStack_104 << 0x15) >> 0x1f)" ( (binary_expression "(int)(uStack_104 << 0x15) >> 0x1f" (cast_expression "(int)(uStack_104 << 0x15)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uStack_104 << 0x15)" ( (binary_expression "uStack_104 << 0x15" identifier << number_literal) ))) >> number_literal) ))))) ;) (if_statement "if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }" if (parenthesized_expression "((uStack_104 & 0x800) != 0)" ( (binary_expression "(uStack_104 & 0x800) != 0" (parenthesized_expression "(uStack_104 & 0x800)" ( (binary_expression "uStack_104 & 0x800" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }" { (expression_statement "puVar26 = (uint *)((int)puVar26 + 1);" (assignment_expression "puVar26 = (uint *)((int)puVar26 + 1)" identifier = (cast_expression "(uint *)((int)puVar26 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar26 + 1)" ( (binary_expression "(int)puVar26 + 1" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }" if (parenthesized_expression "((uStack_104 & 0x1000) != 0)" ( (binary_expression "(uStack_104 & 0x1000) != 0" (parenthesized_expression "(uStack_104 & 0x1000)" ( (binary_expression "uStack_104 & 0x1000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }" { (expression_statement "puVar26 = (uint *)((int)puVar26 + 1);" (assignment_expression "puVar26 = (uint *)((int)puVar26 + 1)" identifier = (cast_expression "(uint *)((int)puVar26 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar26 + 1)" ( (binary_expression "(int)puVar26 + 1" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }" if (parenthesized_expression "((uStack_104 & 0x2000) != 0)" ( (binary_expression "(uStack_104 & 0x2000) != 0" (parenthesized_expression "(uStack_104 & 0x2000)" ( (binary_expression "uStack_104 & 0x2000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }" { (expression_statement "puVar26 = (uint *)((int)puVar26 + 1);" (assignment_expression "puVar26 = (uint *)((int)puVar26 + 1)" identifier = (cast_expression "(uint *)((int)puVar26 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar26 + 1)" ( (binary_expression "(int)puVar26 + 1" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }" if (parenthesized_expression "((uStack_104 & 0x4000) != 0)" ( (binary_expression "(uStack_104 & 0x4000) != 0" (parenthesized_expression "(uStack_104 & 0x4000)" ( (binary_expression "uStack_104 & 0x4000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }" { (expression_statement "puVar26 = (uint *)((int)puVar26 + 1);" (assignment_expression "puVar26 = (uint *)((int)puVar26 + 1)" identifier = (cast_expression "(uint *)((int)puVar26 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar26 + 1)" ( (binary_expression "(int)puVar26 + 1" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (if_statement "if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }" if (parenthesized_expression "((uStack_104 & 0x8000) == 0)" ( (binary_expression "(uStack_104 & 0x8000) == 0" (parenthesized_expression "(uStack_104 & 0x8000)" ( (binary_expression "uStack_104 & 0x8000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }" { (if_statement "if (unaff_s6 == (uint *)0x0) goto LAB_00213068;" if (parenthesized_expression "(unaff_s6 == (uint *)0x0)" ( (binary_expression "unaff_s6 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00213068;" goto statement_identifier ;)) }) (else_clause "else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }" else (compound_statement "{\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }" { (expression_statement "puVar26 = (uint *)((int)puVar26 + 1);" (assignment_expression "puVar26 = (uint *)((int)puVar26 + 1)" identifier = (cast_expression "(uint *)((int)puVar26 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar26 + 1)" ( (binary_expression "(int)puVar26 + 1" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;" if (parenthesized_expression "(unaff_s6 == (uint *)0x0)" ( (binary_expression "unaff_s6 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00212ed8;" goto statement_identifier ;)) }))) (expression_statement "puVar26 = puStack_110;" (assignment_expression "puVar26 = puStack_110" identifier = identifier) ;) (labeled_statement "LAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }" statement_identifier : (if_statement "if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }" if (parenthesized_expression "(puVar26 != (uint *)0x0)" ( (binary_expression "puVar26 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }" { (expression_statement "unaff_s6 = (uint *)0x0;" (assignment_expression "unaff_s6 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00212ed8;" goto statement_identifier ;) }))) (labeled_statement "LAB_00212efc:\n        uVar17 = 0x73f;" statement_identifier : (expression_statement "uVar17 = 0x73f;" (assignment_expression "uVar17 = 0x73f" identifier = number_literal) ;)) (goto_statement "goto LAB_00212c2c;" goto statement_identifier ;) }))) (expression_statement "puVar26 = puStack_110;" (assignment_expression "puVar26 = puStack_110" identifier = identifier) ;) (if_statement "if (unaff_s6 != (uint *)0x0) goto LAB_00213068;" if (parenthesized_expression "(unaff_s6 != (uint *)0x0)" ( (binary_expression "unaff_s6 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00213068;" goto statement_identifier ;)) (expression_statement "puVar26 = (uint *)0x1;" (assignment_expression "puVar26 = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00212ed8:\n      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);" statement_identifier : (expression_statement "uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);" (assignment_expression "uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x73f8))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x73f8))" ( (pointer_expression "**(code **)(pcStack_130 + -0x73f8)" * (pointer_expression "*(code **)(pcStack_130 + -0x73f8)" * (cast_expression "(code **)(pcStack_130 + -0x73f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x73f8)" ( (binary_expression "pcStack_130 + -0x73f8" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;)) (expression_statement "puVar27 = puVar26;" (assignment_expression "puVar27 = puVar26" identifier = identifier) ;) (if_statement "if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }\n      else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }" if (parenthesized_expression "(unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20))" ( (binary_expression "unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)" identifier == (cast_expression "(uint *)((ulonglong)uVar46 >> 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar46 >> 0x20)" ( (binary_expression "(ulonglong)uVar46 >> 0x20" (cast_expression "(ulonglong)uVar46" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) )) (compound_statement "{\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }" { (expression_statement "pcVar32 = *(code **)(pcStack_130 + -0x7094);" (assignment_expression "pcVar32 = *(code **)(pcStack_130 + -0x7094)" identifier = (pointer_expression "*(code **)(pcStack_130 + -0x7094)" * (cast_expression "(code **)(pcStack_130 + -0x7094)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7094)" ( (binary_expression "pcStack_130 + -0x7094" identifier + number_literal) ))))) ;) (if_statement "if ((uint *)uVar46 < puVar26) goto LAB_00212efc;" if (parenthesized_expression "((uint *)uVar46 < puVar26)" ( (binary_expression "(uint *)uVar46 < puVar26" (cast_expression "(uint *)uVar46" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < identifier) )) (goto_statement "goto LAB_00212efc;" goto statement_identifier ;)) }) (else_clause "else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }" else (compound_statement "{\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }" { (expression_statement "pcVar32 = *(code **)(pcStack_130 + -0x7094);" (assignment_expression "pcVar32 = *(code **)(pcStack_130 + -0x7094)" identifier = (pointer_expression "*(code **)(pcStack_130 + -0x7094)" * (cast_expression "(code **)(pcStack_130 + -0x7094)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7094)" ( (binary_expression "pcStack_130 + -0x7094" identifier + number_literal) ))))) ;) }))) (expression_statement "iVar8 = (*pcVar32)(0xb);" (assignment_expression "iVar8 = (*pcVar32)(0xb)" identifier = (call_expression "(*pcVar32)(0xb)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(0xb)" ( number_literal )))) ;) (if_statement "if (iVar8 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }" { (expression_statement "iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;" (assignment_expression "iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28" identifier = (binary_expression "*(int *)(pcStack_130 + -0x7fd0) + 0x3e28" (pointer_expression "*(int *)(pcStack_130 + -0x7fd0)" * (cast_expression "(int *)(pcStack_130 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7fd0)" ( (binary_expression "pcStack_130 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);" (assignment_expression "pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4)" identifier = (cast_expression "(float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4)" ( (binary_expression "*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4" (pointer_expression "*(int *)(pcStack_130 + -0x7fd0)" * (cast_expression "(int *)(pcStack_130 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7fd0)" ( (binary_expression "pcStack_130 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pfStack_140 = (float *)0x190;" (assignment_expression "pfStack_140 = (float *)0x190" identifier = (cast_expression "(float *)0x190" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfStack_134 = pfVar9 + 0x884;" (assignment_expression "pfStack_134 = pfVar9 + 0x884" identifier = (binary_expression "pfVar9 + 0x884" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);" (call_expression "(**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7990))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7990)" * (pointer_expression "*(code **)(pcStack_130 + -0x7990)" * (cast_expression "(code **)(pcStack_130 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7990)" ( (binary_expression "pcStack_130 + -0x7990" identifier + number_literal) ))))) )) (argument_list "(pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742)" ( identifier , (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2c20" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2ac4" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (if_statement "if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }" if (parenthesized_expression "(pfVar23 == (float *)0x0)" ( (binary_expression "pfVar23 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }" { (expression_statement "fVar34 = 0.0;" (assignment_expression "fVar34 = 0.0" identifier = number_literal) ;) (expression_statement "pfVar9 = pfVar9 + 0x884;" (assignment_expression "pfVar9 = pfVar9 + 0x884" identifier = (binary_expression "pfVar9 + 0x884" identifier + number_literal)) ;) (goto_statement "goto LAB_00212c9c;" goto statement_identifier ;) })) (goto_statement "goto LAB_00212c74;" goto statement_identifier ;) })) (expression_statement "puVar27 = &uStack_120;" (assignment_expression "puVar27 = &uStack_120" identifier = (pointer_expression "&uStack_120" & identifier)) ;) (expression_statement "unaff_s6 = (uint *)0x0;" (assignment_expression "unaff_s6 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);" (assignment_expression "uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7748))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7748)" * (pointer_expression "*(code **)(pcStack_130 + -0x7748)" * (cast_expression "(code **)(pcStack_130 + -0x7748)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7748)" ( (binary_expression "pcStack_130 + -0x7748" identifier + number_literal) ))))) )) (argument_list "(pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8)" ( identifier , (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2bf8" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);" (assignment_expression "iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7694))(uVar17)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7694))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7694)" * (pointer_expression "*(code **)(pcStack_130 + -0x7694)" * (cast_expression "(code **)(pcStack_130 + -0x7694)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7694)" ( (binary_expression "pcStack_130 + -0x7694" identifier + number_literal) ))))) )) (argument_list "(uVar17)" ( identifier )))) ;) (expression_statement "uStack_124 = (uint)(iVar8 != 0);" (assignment_expression "uStack_124 = (uint)(iVar8 != 0)" identifier = (call_expression "(uint)(iVar8 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )))) ;) (while_statement "while( true ) {\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }" { (expression_statement "fVar34 = pfVar9[0x77];" (assignment_expression "fVar34 = pfVar9[0x77]" identifier = (subscript_expression "pfVar9[0x77]" identifier [ number_literal ])) ;) (expression_statement "pfVar23[0x97] = 1.4013e-45;" (assignment_expression "pfVar23[0x97] = 1.4013e-45" (subscript_expression "pfVar23[0x97]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*pfVar23 = 1.4013e-45;" (assignment_expression "*pfVar23 = 1.4013e-45" (pointer_expression "*pfVar23" * identifier) = number_literal) ;) (expression_statement "pfVar23[0xaf] = unaff_s8;" (assignment_expression "pfVar23[0xaf] = unaff_s8" (subscript_expression "pfVar23[0xaf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pfVar23[2] = unaff_s7;" (assignment_expression "pfVar23[2] = unaff_s7" (subscript_expression "pfVar23[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pfVar23[6] = fStack_118;" (assignment_expression "pfVar23[6] = fStack_118" (subscript_expression "pfVar23[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pfVar23[7] = fStack_11c;" (assignment_expression "pfVar23[7] = fStack_11c" (subscript_expression "pfVar23[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pfVar23[8] = 1.12104e-44;" (assignment_expression "pfVar23[8] = 1.12104e-44" (subscript_expression "pfVar23[8]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (fVar34 != 0.0) break;" if (parenthesized_expression "(fVar34 != 0.0)" ( (binary_expression "fVar34 != 0.0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);" (assignment_expression "iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7404))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7404)" * (pointer_expression "*(code **)(pcStack_130 + -0x7404)" * (cast_expression "(code **)(pcStack_130 + -0x7404)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7404)" ( (binary_expression "pcStack_130 + -0x7404" identifier + number_literal) ))))) )) (argument_list "(pfVar23,fStack_118,fStack_11c,pfVar16)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }" { (labeled_statement "LAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);" statement_identifier : (expression_statement "fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);" (assignment_expression "fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23)" identifier = (cast_expression "(float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23)" ( (type_descriptor "float" primitive_type) ) (call_expression "(**(code **)(pcStack_130 + -0x73a0))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x73a0))" ( (pointer_expression "**(code **)(pcStack_130 + -0x73a0)" * (pointer_expression "*(code **)(pcStack_130 + -0x73a0)" * (cast_expression "(code **)(pcStack_130 + -0x73a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x73a0)" ( (binary_expression "pcStack_130 + -0x73a0" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))))) ;)) (goto_statement "goto LAB_00212c9c;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);" (call_expression "(**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7a20))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7a20)" * (pointer_expression "*(code **)(pcStack_130 + -0x7a20)" * (cast_expression "(code **)(pcStack_130 + -0x7a20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7a20)" ( (binary_expression "pcStack_130 + -0x7a20" identifier + number_literal) ))))) )) (argument_list "(pfVar23,pfVar16)" ( identifier , identifier ))) ;) (expression_statement "pfStack_140 = pfVar16;" (assignment_expression "pfStack_140 = pfVar16" identifier = identifier) ;) (expression_statement "iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);" (assignment_expression "iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124)" identifier = (call_expression "(*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124)" (parenthesized_expression "(*pcStack_128)" ( (pointer_expression "*pcStack_128" * identifier) )) (argument_list "(pfVar9,pfVar23,puVar27,uStack_124)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }" { (expression_statement "(**(code **)(pcStack_130 + -0x7228))(pfVar23);" (call_expression "(**(code **)(pcStack_130 + -0x7228))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7228))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7228)" * (pointer_expression "*(code **)(pcStack_130 + -0x7228)" * (cast_expression "(code **)(pcStack_130 + -0x7228)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7228)" ( (binary_expression "pcStack_130 + -0x7228" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))) ;) (if_statement "if (unaff_s6 == (uint *)0x0) goto LAB_00213284;" if (parenthesized_expression "(unaff_s6 == (uint *)0x0)" ( (binary_expression "unaff_s6 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00213284;" goto statement_identifier ;)) (expression_statement "fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);" (assignment_expression "fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23)" identifier = (cast_expression "(float)(**(code **)(pcStack_130 + -0x7464))(pfVar23)" ( (type_descriptor "float" primitive_type) ) (call_expression "(**(code **)(pcStack_130 + -0x7464))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7464))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7464)" * (pointer_expression "*(code **)(pcStack_130 + -0x7464)" * (cast_expression "(code **)(pcStack_130 + -0x7464)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7464)" ( (binary_expression "pcStack_130 + -0x7464" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))))) ;) (goto_statement "goto LAB_00212c9c;" goto statement_identifier ;) })) (expression_statement "unaff_s6 = (uint *)((int)unaff_s6 + 1);" (assignment_expression "unaff_s6 = (uint *)((int)unaff_s6 + 1)" identifier = (cast_expression "(uint *)((int)unaff_s6 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + 1)" ( (binary_expression "(int)unaff_s6 + 1" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (unaff_s6 == puVar26) break;" if (parenthesized_expression "(unaff_s6 == puVar26)" ( (binary_expression "unaff_s6 == puVar26" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);" (assignment_expression "iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7168))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7168))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7168)" * (pointer_expression "*(code **)(pcStack_130 + -0x7168)" * (cast_expression "(code **)(pcStack_130 + -0x7168)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7168)" ( (binary_expression "pcStack_130 + -0x7168" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (if_statement "if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }" { (expression_statement "pfStack_134 = pfVar9 + 0x884;" (assignment_expression "pfStack_134 = pfVar9 + 0x884" identifier = (binary_expression "pfVar9 + 0x884" identifier + number_literal)) ;) (expression_statement "iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;" (assignment_expression "iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28" identifier = (binary_expression "*(int *)(pcStack_130 + -0x7fd0) + 0x3e28" (pointer_expression "*(int *)(pcStack_130 + -0x7fd0)" * (cast_expression "(int *)(pcStack_130 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7fd0)" ( (binary_expression "pcStack_130 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);" (assignment_expression "pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c)" identifier = (cast_expression "(float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_130 + -0x7fc4) + -0x17c)" ( (binary_expression "*(int *)(pcStack_130 + -0x7fc4) + -0x17c" (pointer_expression "*(int *)(pcStack_130 + -0x7fc4)" * (cast_expression "(int *)(pcStack_130 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7fc4)" ( (binary_expression "pcStack_130 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pfStack_140 = (float *)&DAT_000001a9;" (assignment_expression "pfStack_140 = (float *)&DAT_000001a9" identifier = (cast_expression "(float *)&DAT_000001a9" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000001a9" & identifier))) ;) (expression_statement "(**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);" (call_expression "(**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7990))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7990)" * (pointer_expression "*(code **)(pcStack_130 + -0x7990)" * (cast_expression "(code **)(pcStack_130 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7990)" ( (binary_expression "pcStack_130 + -0x7990" identifier + number_literal) ))))) )) (argument_list "(pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e)" ( identifier , (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2c20" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2ac4" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "pcVar32 = *(code **)(pcStack_130 + -0x7228);" (assignment_expression "pcVar32 = *(code **)(pcStack_130 + -0x7228)" identifier = (pointer_expression "*(code **)(pcStack_130 + -0x7228)" * (cast_expression "(code **)(pcStack_130 + -0x7228)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7228)" ( (binary_expression "pcStack_130 + -0x7228" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00212c7c;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);" (call_expression "(**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7920))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7920)" * (pointer_expression "*(code **)(pcStack_130 + -0x7920)" * (cast_expression "(code **)(pcStack_130 + -0x7920)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7920)" ( (binary_expression "pcStack_130 + -0x7920" identifier + number_literal) ))))) )) (argument_list "(pfVar9,pfVar23,pfVar16)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);" (assignment_expression "iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23)" identifier = (call_expression "(**(code **)(pcStack_130 + -0x7440))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7440))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7440)" * (pointer_expression "*(code **)(pcStack_130 + -0x7440)" * (cast_expression "(code **)(pcStack_130 + -0x7440)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7440)" ( (binary_expression "pcStack_130 + -0x7440" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier )))) ;) (if_statement "if (iVar8 == 0) goto LAB_00213284;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00213284;" goto statement_identifier ;)) (expression_statement "pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);" (assignment_expression "pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23)" identifier = (cast_expression "(float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_130 + -0x74a8))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x74a8))" ( (pointer_expression "**(code **)(pcStack_130 + -0x74a8)" * (pointer_expression "*(code **)(pcStack_130 + -0x74a8)" * (cast_expression "(code **)(pcStack_130 + -0x74a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x74a8)" ( (binary_expression "pcStack_130 + -0x74a8" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))))) ;) })) (expression_statement "(**(code **)(pcStack_130 + -0x7228))(pfVar23);" (call_expression "(**(code **)(pcStack_130 + -0x7228))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7228))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7228)" * (pointer_expression "*(code **)(pcStack_130 + -0x7228)" * (cast_expression "(code **)(pcStack_130 + -0x7228)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7228)" ( (binary_expression "pcStack_130 + -0x7228" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))) ;) (expression_statement "fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);" (assignment_expression "fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23)" identifier = (cast_expression "(float)(**(code **)(pcStack_130 + -0x7464))(pfVar23)" ( (type_descriptor "float" primitive_type) ) (call_expression "(**(code **)(pcStack_130 + -0x7464))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7464))" ( (pointer_expression "**(code **)(pcStack_130 + -0x7464)" * (pointer_expression "*(code **)(pcStack_130 + -0x7464)" * (cast_expression "(code **)(pcStack_130 + -0x7464)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7464)" ( (binary_expression "pcStack_130 + -0x7464" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))))) ;) }) (else_clause "else {\nLAB_00212c24:\n      uVar17 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar15 = *(int *)(pcStack_130 + -0x7f60);\n      iVar8 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar32 = *(code **)(pcStack_130 + -0x7990);\n      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;\n      iStack_138 = iStack_138 + 0x3e28;\n      pfStack_140 = (float *)&DAT_000001a9;\n      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);\n      if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }\n      fVar34 = 0.0;\n      pfVar9 = pfVar9 + 0x884;\n    }" else (compound_statement "{\nLAB_00212c24:\n      uVar17 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar15 = *(int *)(pcStack_130 + -0x7f60);\n      iVar8 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar32 = *(code **)(pcStack_130 + -0x7990);\n      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;\n      iStack_138 = iStack_138 + 0x3e28;\n      pfStack_140 = (float *)&DAT_000001a9;\n      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);\n      if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }\n      fVar34 = 0.0;\n      pfVar9 = pfVar9 + 0x884;\n    }" { (labeled_statement "LAB_00212c24:\n      uVar17 = 0x6dd;" statement_identifier : (expression_statement "uVar17 = 0x6dd;" (assignment_expression "uVar17 = 0x6dd" identifier = number_literal) ;)) (labeled_statement "LAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);" statement_identifier : (expression_statement "iStack_138 = *(int *)(pcStack_130 + -0x7fd0);" (assignment_expression "iStack_138 = *(int *)(pcStack_130 + -0x7fd0)" identifier = (pointer_expression "*(int *)(pcStack_130 + -0x7fd0)" * (cast_expression "(int *)(pcStack_130 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7fd0)" ( (binary_expression "pcStack_130 + -0x7fd0" identifier + number_literal) ))))) ;)) (expression_statement "iVar15 = *(int *)(pcStack_130 + -0x7f60);" (assignment_expression "iVar15 = *(int *)(pcStack_130 + -0x7f60)" identifier = (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(pcStack_130 + -0x7f60);" (assignment_expression "iVar8 = *(int *)(pcStack_130 + -0x7f60)" identifier = (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" * (cast_expression "(int *)(pcStack_130 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7f60)" ( (binary_expression "pcStack_130 + -0x7f60" identifier + number_literal) ))))) ;) (expression_statement "pcVar32 = *(code **)(pcStack_130 + -0x7990);" (assignment_expression "pcVar32 = *(code **)(pcStack_130 + -0x7990)" identifier = (pointer_expression "*(code **)(pcStack_130 + -0x7990)" * (cast_expression "(code **)(pcStack_130 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7990)" ( (binary_expression "pcStack_130 + -0x7990" identifier + number_literal) ))))) ;) (expression_statement "pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);" (assignment_expression "pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400)" identifier = (cast_expression "(float *)(*(int *)(pcStack_130 + -0x7fc4) + -400)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_130 + -0x7fc4) + -400)" ( (binary_expression "*(int *)(pcStack_130 + -0x7fc4) + -400" (pointer_expression "*(int *)(pcStack_130 + -0x7fc4)" * (cast_expression "(int *)(pcStack_130 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_130 + -0x7fc4)" ( (binary_expression "pcStack_130 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;" statement_identifier : (expression_statement "pfStack_134 = pfVar9 + 0x884;" (assignment_expression "pfStack_134 = pfVar9 + 0x884" identifier = (binary_expression "pfVar9 + 0x884" identifier + number_literal)) ;)) (expression_statement "iStack_138 = iStack_138 + 0x3e28;" (assignment_expression "iStack_138 = iStack_138 + 0x3e28" identifier = (binary_expression "iStack_138 + 0x3e28" identifier + number_literal)) ;) (expression_statement "pfStack_140 = (float *)&DAT_000001a9;" (assignment_expression "pfStack_140 = (float *)&DAT_000001a9" identifier = (cast_expression "(float *)&DAT_000001a9" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000001a9" & identifier))) ;) (expression_statement "(*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);" (call_expression "(*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17)" ( identifier , (binary_expression "iVar8 + -0x2c20" identifier + number_literal) , (binary_expression "iVar15 + -0x2ac4" identifier + number_literal) , identifier ))) ;) (if_statement "if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }" if (parenthesized_expression "(pfVar23 != (float *)0x0)" ( (binary_expression "pfVar23 != (float *)0x0" identifier != (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }" { (labeled_statement "LAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);" statement_identifier : (expression_statement "pcVar32 = *(code **)(pcStack_130 + -0x7228);" (assignment_expression "pcVar32 = *(code **)(pcStack_130 + -0x7228)" identifier = (pointer_expression "*(code **)(pcStack_130 + -0x7228)" * (cast_expression "(code **)(pcStack_130 + -0x7228)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x7228)" ( (binary_expression "pcStack_130 + -0x7228" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_00212c7c:\n        (*pcVar32)(pfVar23);" statement_identifier : (expression_statement "(*pcVar32)(pfVar23);" (call_expression "(*pcVar32)(pfVar23)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(pfVar23)" ( identifier ))) ;)) (expression_statement "(**(code **)(pcStack_130 + -0x73a0))(pfVar23);" (call_expression "(**(code **)(pcStack_130 + -0x73a0))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x73a0))" ( (pointer_expression "**(code **)(pcStack_130 + -0x73a0)" * (pointer_expression "*(code **)(pcStack_130 + -0x73a0)" * (cast_expression "(code **)(pcStack_130 + -0x73a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_130 + -0x73a0)" ( (binary_expression "pcStack_130 + -0x73a0" identifier + number_literal) ))))) )) (argument_list "(pfVar23)" ( identifier ))) ;) })) (expression_statement "fVar34 = 0.0;" (assignment_expression "fVar34 = 0.0" identifier = number_literal) ;) (expression_statement "pfVar9 = pfVar9 + 0x884;" (assignment_expression "pfVar9 = pfVar9 + 0x884" identifier = (binary_expression "pfVar9 + 0x884" identifier + number_literal)) ;) }))) (labeled_statement "LAB_00212c9c:\n    pcVar32 = pcStack_130;" statement_identifier : (expression_statement "pcVar32 = pcStack_130;" (assignment_expression "pcVar32 = pcStack_130" identifier = identifier) ;)) (if_statement "if (iStack_e4 == *piVar24) {\n      return fVar34;\n    }" if (parenthesized_expression "(iStack_e4 == *piVar24)" ( (binary_expression "iStack_e4 == *piVar24" identifier == (pointer_expression "*piVar24" * identifier)) )) (compound_statement "{\n      return fVar34;\n    }" { (return_statement "return fVar34;" return identifier ;) })) }))) (expression_statement "(**(code **)(pcVar32 + -0x784c))();" (call_expression "(**(code **)(pcVar32 + -0x784c))()" (parenthesized_expression "(**(code **)(pcVar32 + -0x784c))" ( (pointer_expression "**(code **)(pcVar32 + -0x784c)" * (pointer_expression "*(code **)(pcVar32 + -0x784c)" * (cast_expression "(code **)(pcVar32 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + -0x784c)" ( (binary_expression "pcVar32 + -0x784c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_00213390:\n  pfVar19 = (float *)0x6c8;" statement_identifier : (expression_statement "pfVar19 = (float *)0x6c8;" (assignment_expression "pfVar19 = (float *)0x6c8" identifier = (cast_expression "(float *)0x6c8" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pcVar31 = *(code **)(pcVar32 + -0x72a8);" (assignment_expression "pcVar31 = *(code **)(pcVar32 + -0x72a8)" identifier = (pointer_expression "*(code **)(pcVar32 + -0x72a8)" * (cast_expression "(code **)(pcVar32 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + -0x72a8)" ( (binary_expression "pcVar32 + -0x72a8" identifier + number_literal) ))))) ;) (expression_statement "pcVar30 = (code *)(*(int *)(pcVar32 + -0x7f60) + -0x2ab4);" (assignment_expression "pcVar30 = (code *)(*(int *)(pcVar32 + -0x7f60) + -0x2ab4)" identifier = (cast_expression "(code *)(*(int *)(pcVar32 + -0x7f60) + -0x2ab4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar32 + -0x7f60) + -0x2ab4)" ( (binary_expression "*(int *)(pcVar32 + -0x7f60) + -0x2ab4" (pointer_expression "*(int *)(pcVar32 + -0x7f60)" * (cast_expression "(int *)(pcVar32 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + -0x7f60)" ( (binary_expression "pcVar32 + -0x7f60" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pfVar18 = (float *)(*(int *)(pcVar32 + -0x7f60) + -0x2c20);" (assignment_expression "pfVar18 = (float *)(*(int *)(pcVar32 + -0x7f60) + -0x2c20)" identifier = (cast_expression "(float *)(*(int *)(pcVar32 + -0x7f60) + -0x2c20)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar32 + -0x7f60) + -0x2c20)" ( (binary_expression "*(int *)(pcVar32 + -0x7f60) + -0x2c20" (pointer_expression "*(int *)(pcVar32 + -0x7f60)" * (cast_expression "(int *)(pcVar32 + -0x7f60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + -0x7f60)" ( (binary_expression "pcVar32 + -0x7f60" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar33 = FUN_002133b4;" (assignment_expression "pcVar33 = FUN_002133b4" identifier = identifier) ;) (expression_statement "puVar25 = (uint *)(*(int *)(pcVar32 + -0x7fd0) + 0xda0);" (assignment_expression "puVar25 = (uint *)(*(int *)(pcVar32 + -0x7fd0) + 0xda0)" identifier = (cast_expression "(uint *)(*(int *)(pcVar32 + -0x7fd0) + 0xda0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar32 + -0x7fd0) + 0xda0)" ( (binary_expression "*(int *)(pcVar32 + -0x7fd0) + 0xda0" (pointer_expression "*(int *)(pcVar32 + -0x7fd0)" * (cast_expression "(int *)(pcVar32 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + -0x7fd0)" ( (binary_expression "pcVar32 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar31)();" (call_expression "(*pcVar31)()" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_1c8 = pcVar31 + 0x19d4fc;" (assignment_expression "pcStack_1c8 = pcVar31 + 0x19d4fc" identifier = (binary_expression "pcVar31 + 0x19d4fc" identifier + number_literal)) ;) (expression_statement "piStack_1a4 = *(int **)(pcVar31 + 0x195e7c);" (assignment_expression "piStack_1a4 = *(int **)(pcVar31 + 0x195e7c)" identifier = (pointer_expression "*(int **)(pcVar31 + 0x195e7c)" * (cast_expression "(int **)(pcVar31 + 0x195e7c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0x195e7c)" ( (binary_expression "pcVar31 + 0x195e7c" identifier + number_literal) ))))) ;) (expression_statement "pfStack_1a8 = (float *)0x0;" (assignment_expression "pfStack_1a8 = (float *)0x0" identifier = (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_18c = *piStack_1a4;" (assignment_expression "iStack_18c = *piStack_1a4" identifier = (pointer_expression "*piStack_1a4" * identifier)) ;) (expression_statement "uVar40 = puVar25[7];" (assignment_expression "uVar40 = puVar25[7]" identifier = (subscript_expression "puVar25[7]" identifier [ number_literal ])) ;) (expression_statement "pfStack_1b4 = pfVar19;" (assignment_expression "pfStack_1b4 = pfVar19" identifier = identifier) ;) (expression_statement "pfStack_188 = pfVar23;" (assignment_expression "pfStack_188 = pfVar23" identifier = identifier) ;) (expression_statement "pfStack_184 = pfVar9;" (assignment_expression "pfStack_184 = pfVar9" identifier = identifier) ;) (expression_statement "pfStack_180 = pfVar3;" (assignment_expression "pfStack_180 = pfVar3" identifier = identifier) ;) (expression_statement "piStack_17c = piVar24;" (assignment_expression "piStack_17c = piVar24" identifier = identifier) ;) (expression_statement "puStack_178 = puVar26;" (assignment_expression "puStack_178 = puVar26" identifier = identifier) ;) (expression_statement "puStack_174 = puVar27;" (assignment_expression "puStack_174 = puVar27" identifier = identifier) ;) (expression_statement "puStack_170 = unaff_s6;" (assignment_expression "puStack_170 = unaff_s6" identifier = identifier) ;) (expression_statement "fStack_16c = unaff_s7;" (assignment_expression "fStack_16c = unaff_s7" identifier = identifier) ;) (expression_statement "fStack_168 = unaff_s8;" (assignment_expression "fStack_168 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_164 = pcVar33;" (assignment_expression "pcStack_164 = pcVar33" identifier = identifier) ;) (if_statement "if (0 < (int)uVar40) {\n    in_f22_23 = *(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0);\n    in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50));\n    do {\n      pfVar16 = pfStack_1a8;\n      pcVar30 = (code *)puVar25[6];\n      pfVar3 = (float *)0x0;\n      if (0 < (int)pcVar30) {\n        do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );\n      }\n      pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar8 = (*pcVar32)(puVar25);\n      if (iVar8 != 0) {\nLAB_002137bc:\n        fVar34 = 0.0;\n        goto LAB_002137c0;\n      }\n      uVar40 = puVar25[7];\n      pfStack_1a8 = pfStack_1a8 + 1;\n      puVar26 = puVar25;\n    } while ((int)pfStack_1a8 < (int)uVar40);\n  }" if (parenthesized_expression "(0 < (int)uVar40)" ( (binary_expression "0 < (int)uVar40" number_literal < (cast_expression "(int)uVar40" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    in_f22_23 = *(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0);\n    in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50));\n    do {\n      pfVar16 = pfStack_1a8;\n      pcVar30 = (code *)puVar25[6];\n      pfVar3 = (float *)0x0;\n      if (0 < (int)pcVar30) {\n        do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );\n      }\n      pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar8 = (*pcVar32)(puVar25);\n      if (iVar8 != 0) {\nLAB_002137bc:\n        fVar34 = 0.0;\n        goto LAB_002137c0;\n      }\n      uVar40 = puVar25[7];\n      pfStack_1a8 = pfStack_1a8 + 1;\n      puVar26 = puVar25;\n    } while ((int)pfStack_1a8 < (int)uVar40);\n  }" { (expression_statement "in_f22_23 = *(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0);" (assignment_expression "in_f22_23 = *(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0)" * (cast_expression "(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0x195534) + -0x5af0)" ( (binary_expression "*(int *)(pcVar31 + 0x195534) + -0x5af0" (pointer_expression "*(int *)(pcVar31 + 0x195534)" * (cast_expression "(int *)(pcVar31 + 0x195534)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x195534)" ( (binary_expression "pcVar31 + 0x195534" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50));" (assignment_expression "in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50))" identifier = (call_expression "CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50))" identifier (argument_list "((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50))" ( (cast_expression "(int)((ulonglong)in_f20_21 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)in_f20_21 >> 0x20)" ( (binary_expression "(ulonglong)in_f20_21 >> 0x20" (cast_expression "(ulonglong)in_f20_21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (pointer_expression "*(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50)" * (cast_expression "(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0x19552c) + 0x1a50)" ( (binary_expression "*(int *)(pcVar31 + 0x19552c) + 0x1a50" (pointer_expression "*(int *)(pcVar31 + 0x19552c)" * (cast_expression "(int *)(pcVar31 + 0x19552c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0x19552c)" ( (binary_expression "pcVar31 + 0x19552c" identifier + number_literal) )))) + number_literal) )))) )))) ;) (do_statement "do {\n      pfVar16 = pfStack_1a8;\n      pcVar30 = (code *)puVar25[6];\n      pfVar3 = (float *)0x0;\n      if (0 < (int)pcVar30) {\n        do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );\n      }\n      pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar8 = (*pcVar32)(puVar25);\n      if (iVar8 != 0) {\nLAB_002137bc:\n        fVar34 = 0.0;\n        goto LAB_002137c0;\n      }\n      uVar40 = puVar25[7];\n      pfStack_1a8 = pfStack_1a8 + 1;\n      puVar26 = puVar25;\n    } while ((int)pfStack_1a8 < (int)uVar40);" do (compound_statement "{\n      pfVar16 = pfStack_1a8;\n      pcVar30 = (code *)puVar25[6];\n      pfVar3 = (float *)0x0;\n      if (0 < (int)pcVar30) {\n        do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );\n      }\n      pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar8 = (*pcVar32)(puVar25);\n      if (iVar8 != 0) {\nLAB_002137bc:\n        fVar34 = 0.0;\n        goto LAB_002137c0;\n      }\n      uVar40 = puVar25[7];\n      pfStack_1a8 = pfStack_1a8 + 1;\n      puVar26 = puVar25;\n    }" { (expression_statement "pfVar16 = pfStack_1a8;" (assignment_expression "pfVar16 = pfStack_1a8" identifier = identifier) ;) (expression_statement "pcVar30 = (code *)puVar25[6];" (assignment_expression "pcVar30 = (code *)puVar25[6]" identifier = (cast_expression "(code *)puVar25[6]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[6]" identifier [ number_literal ]))) ;) (expression_statement "pfVar3 = (float *)0x0;" (assignment_expression "pfVar3 = (float *)0x0" identifier = (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0 < (int)pcVar30) {\n        do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );\n      }" if (parenthesized_expression "(0 < (int)pcVar30)" ( (binary_expression "0 < (int)pcVar30" number_literal < (cast_expression "(int)pcVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );\n      }" { (do_statement "do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );" do (compound_statement "{\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        }" { (expression_statement "pcVar32 = pcVar30 + -(int)pfVar3;" (assignment_expression "pcVar32 = pcVar30 + -(int)pfVar3" identifier = (binary_expression "pcVar30 + -(int)pfVar3" identifier + (unary_expression "-(int)pfVar3" - (cast_expression "(int)pfVar3" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (expression_statement "uStack_1d0 = uVar40 - (int)pfVar16;" (assignment_expression "uStack_1d0 = uVar40 - (int)pfVar16" identifier = (binary_expression "uVar40 - (int)pfVar16" identifier - (cast_expression "(int)pfVar16" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pfStack_1cc = pfStack_1b4;" (assignment_expression "pfStack_1cc = pfStack_1b4" identifier = identifier) ;) (if_statement "if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }" if (parenthesized_expression "(4 < uStack_1d0)" ( (binary_expression "4 < uStack_1d0" number_literal < identifier) )) (compound_statement "{\n            uStack_1d0 = 4;\n          }" { (expression_statement "uStack_1d0 = 4;" (assignment_expression "uStack_1d0 = 4" identifier = number_literal) ;) })) (expression_statement "pcVar30 = (code *)&DAT_00000004;" (assignment_expression "pcVar30 = (code *)&DAT_00000004" identifier = (cast_expression "(code *)&DAT_00000004" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000004" & identifier))) ;) (if_statement "if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }" if (parenthesized_expression "(pcVar32 < &DAT_00000005)" ( (binary_expression "pcVar32 < &DAT_00000005" identifier < (pointer_expression "&DAT_00000005" & identifier)) )) (compound_statement "{\n            pcVar30 = pcVar32;\n          }" { (expression_statement "pcVar30 = pcVar32;" (assignment_expression "pcVar30 = pcVar32" identifier = identifier) ;) })) (expression_statement "pfVar18 = pfVar3;" (assignment_expression "pfVar18 = pfVar3" identifier = identifier) ;) (expression_statement "pfVar19 = pfVar16;" (assignment_expression "pfVar19 = pfVar16" identifier = identifier) ;) (expression_statement "pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);" (assignment_expression "pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25)" identifier = (cast_expression "(float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_1c8 + -0x798c))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x798c))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x798c)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x798c)" * (cast_expression "(code **)(pcStack_1c8 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x798c)" ( (binary_expression "pcStack_1c8 + -0x798c" identifier + number_literal) ))))) )) (argument_list "(puVar25)" ( identifier ))))) ;) (expression_statement "pfVar9 = pfVar16;" (assignment_expression "pfVar9 = pfVar16" identifier = identifier) ;) (if_statement "if (pfVar23 == (float *)0x0) goto LAB_002137bc;" if (parenthesized_expression "(pfVar23 == (float *)0x0)" ( (binary_expression "pfVar23 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002137bc;" goto statement_identifier ;)) (expression_statement "uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);" (assignment_expression "uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25)" identifier = (call_expression "(**(code **)(pcStack_1c8 + -0x70c0))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x70c0))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x70c0)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x70c0)" * (cast_expression "(code **)(pcStack_1c8 + -0x70c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x70c0)" ( (binary_expression "pcStack_1c8 + -0x70c0" identifier + number_literal) ))))) )) (argument_list "(puVar25)" ( identifier )))) ;) (expression_statement "piStack_1b8 = (int *)(uStack_1b0 & 0xff);" (assignment_expression "piStack_1b8 = (int *)(uStack_1b0 & 0xff)" identifier = (cast_expression "(int *)(uStack_1b0 & 0xff)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_1b0 & 0xff)" ( (binary_expression "uStack_1b0 & 0xff" identifier & number_literal) )))) ;) (expression_statement "puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);" (assignment_expression "puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25)" identifier = (cast_expression "(uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_1c8 + -0x70c0))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x70c0))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x70c0)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x70c0)" * (cast_expression "(code **)(pcStack_1c8 + -0x70c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x70c0)" ( (binary_expression "pcStack_1c8 + -0x70c0" identifier + number_literal) ))))) )) (argument_list "(puVar25)" ( identifier ))))) ;) (expression_statement "piVar24 = (int *)((uint)puVar27 & 0xff);" (assignment_expression "piVar24 = (int *)((uint)puVar27 & 0xff)" identifier = (cast_expression "(int *)((uint)puVar27 & 0xff)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar27 & 0xff)" ( (binary_expression "(uint)puVar27 & 0xff" (cast_expression "(uint)puVar27" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);" (assignment_expression "unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25)" identifier = (cast_expression "(float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25)" ( (type_descriptor "float" primitive_type) ) (call_expression "(**(code **)(pcStack_1c8 + -0x7844))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x7844)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x7844)" * (cast_expression "(code **)(pcStack_1c8 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x7844)" ( (binary_expression "pcStack_1c8 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(puVar25)" ( identifier ))))) ;) (expression_statement "unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);" (assignment_expression "unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25)" identifier = (cast_expression "(uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_1c8 + -0x71b4))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x71b4))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x71b4)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x71b4)" * (cast_expression "(code **)(pcStack_1c8 + -0x71b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x71b4)" ( (binary_expression "pcStack_1c8 + -0x71b4" identifier + number_literal) ))))) )) (argument_list "(puVar25)" ( identifier ))))) ;) (expression_statement "uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);" (assignment_expression "uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25)" identifier = (call_expression "(**(code **)(pcStack_1c8 + -0x71b4))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x71b4))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x71b4)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x71b4)" * (cast_expression "(code **)(pcStack_1c8 + -0x71b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x71b4)" ( (binary_expression "pcStack_1c8 + -0x71b4" identifier + number_literal) ))))) )) (argument_list "(puVar25)" ( identifier )))) ;) (expression_statement "pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);" (assignment_expression "pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25)" identifier = (cast_expression "(float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_1c8 + -0x71b4))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x71b4))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x71b4)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x71b4)" * (cast_expression "(code **)(pcStack_1c8 + -0x71b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x71b4)" ( (binary_expression "pcStack_1c8 + -0x71b4" identifier + number_literal) ))))) )) (argument_list "(puVar25)" ( identifier ))))) ;) (expression_statement "unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);" (assignment_expression "unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25)" identifier = (cast_expression "(float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25)" ( (type_descriptor "float" primitive_type) ) (call_expression "(**(code **)(pcStack_1c8 + -0x7844))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x7844))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x7844)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x7844)" * (cast_expression "(code **)(pcStack_1c8 + -0x7844)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x7844)" ( (binary_expression "pcStack_1c8 + -0x7844" identifier + number_literal) ))))) )) (argument_list "(puVar25)" ( identifier ))))) ;) (expression_statement "pcVar30 = (code *)0x1;" (assignment_expression "pcVar30 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfVar19 = &fStack_19c;" (assignment_expression "pfVar19 = &fStack_19c" identifier = (pointer_expression "&fStack_19c" & identifier)) ;) (expression_statement "FUN_00212408(uStack_1bc);" (call_expression "FUN_00212408(uStack_1bc)" identifier (argument_list "(uStack_1bc)" ( identifier ))) ;) (expression_statement "iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);" (assignment_expression "iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25)" identifier = (call_expression "(**(code **)(pcStack_1c8 + -0x7168))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x7168))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x7168)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x7168)" * (cast_expression "(code **)(pcStack_1c8 + -0x7168)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x7168)" ( (binary_expression "pcStack_1c8 + -0x7168" identifier + number_literal) ))))) )) (argument_list "(puVar25)" ( identifier )))) ;) (if_statement "if (iVar8 != 0) goto LAB_002137bc;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002137bc;" goto statement_identifier ;)) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "uVar40 = puVar25[6];" (assignment_expression "uVar40 = puVar25[6]" identifier = (subscript_expression "puVar25[6]" identifier [ number_literal ])) ;) (expression_statement "piVar24 = (int *)(uint)(piVar24 < piStack_1b8);" (assignment_expression "piVar24 = (int *)(uint)(piVar24 < piStack_1b8)" identifier = (cast_expression "(int *)(uint)(piVar24 < piStack_1b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(piVar24 < piStack_1b8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar24 < piStack_1b8)" ( (binary_expression "piVar24 < piStack_1b8" identifier < identifier) ))))) ;) (expression_statement "uStack_1bc = uStack_1b0 & 0xff;" (assignment_expression "uStack_1bc = uStack_1b0 & 0xff" identifier = (binary_expression "uStack_1b0 & 0xff" identifier & number_literal)) ;) (expression_statement "piStack_1b8 = (int *)((uint)puVar27 & 0xff);" (assignment_expression "piStack_1b8 = (int *)((uint)puVar27 & 0xff)" identifier = (cast_expression "(int *)((uint)puVar27 & 0xff)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar27 & 0xff)" ( (binary_expression "(uint)puVar27 & 0xff" (cast_expression "(uint)puVar27" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uStack_1ac = 0xcccccccd;" (assignment_expression "uStack_1ac = 0xcccccccd" identifier = number_literal) ;) (expression_statement "uStack_1b0 = 0x24924925;" (assignment_expression "uStack_1b0 = 0x24924925" identifier = number_literal) ;) (expression_statement "pfVar18 = pfVar16;" (assignment_expression "pfVar18 = pfVar16" identifier = identifier) ;) (do_statement "do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);" do (compound_statement "{\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          }" { (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "puVar27 = (uint *)&DAT_00000007;" (assignment_expression "puVar27 = (uint *)&DAT_00000007" identifier = (cast_expression "(uint *)&DAT_00000007" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (expression_statement "pfVar11 = pfVar3;" (assignment_expression "pfVar11 = pfVar3" identifier = identifier) ;) (do_statement "do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);" do (compound_statement "{\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            }" { (if_statement "if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }" if (parenthesized_expression "(((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7]))" ( (binary_expression "((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])" (parenthesized_expression "((int)pfVar11 < (int)uVar40)" ( (binary_expression "(int)pfVar11 < (int)uVar40" (cast_expression "(int)pfVar11" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar40" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "((int)pfVar18 < (int)puVar25[7])" ( (binary_expression "(int)pfVar18 < (int)puVar25[7]" (cast_expression "(int)pfVar18" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)puVar25[7]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar25[7]" identifier [ number_literal ]))) ))) )) (compound_statement "{\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }" { (expression_statement "uVar37 = puVar25[0xb4];" (assignment_expression "uVar37 = puVar25[0xb4]" identifier = (subscript_expression "puVar25[0xb4]" identifier [ number_literal ])) ;) (expression_statement "uVar41 = (iVar8 + iVar15) * 3;" (assignment_expression "uVar41 = (iVar8 + iVar15) * 3" identifier = (binary_expression "(iVar8 + iVar15) * 3" (parenthesized_expression "(iVar8 + iVar15)" ( (binary_expression "iVar8 + iVar15" identifier + identifier) )) * number_literal)) ;) (expression_statement "uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;" (assignment_expression "uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3" identifier = (binary_expression "(uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3" (binary_expression "(uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU)" (cast_expression "(uint)unaff_s8" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "((iVar8 + iVar15) * 2 & 0x1fU)" ( (binary_expression "(iVar8 + iVar15) * 2 & 0x1fU" (binary_expression "(iVar8 + iVar15) * 2" (parenthesized_expression "(iVar8 + iVar15)" ( (binary_expression "iVar8 + iVar15" identifier + identifier) )) * number_literal) & number_literal) ))) & number_literal)) ;) (expression_statement "uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);" (assignment_expression "uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f)" identifier = (binary_expression "((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f)" (binary_expression "((int)unaff_s6 << 1) << (~uVar41 & 0x1f)" (parenthesized_expression "((int)unaff_s6 << 1)" ( (binary_expression "(int)unaff_s6 << 1" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )) << (parenthesized_expression "(~uVar41 & 0x1f)" ( (binary_expression "~uVar41 & 0x1f" (unary_expression "~uVar41" ~ identifier) & number_literal) ))) | (binary_expression "(uint)unaff_s7 >> (uVar41 & 0x1f)" (cast_expression "(uint)unaff_s7" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "(uVar41 & 0x1f)" ( (binary_expression "uVar41 & 0x1f" identifier & number_literal) ))))) ;) (if_statement "if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }" if (parenthesized_expression "((uVar41 & 0x20) != 0)" ( (binary_expression "(uVar41 & 0x20) != 0" (parenthesized_expression "(uVar41 & 0x20)" ( (binary_expression "uVar41 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }" { (expression_statement "uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);" (assignment_expression "uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f)" identifier = (binary_expression "(uint)unaff_s6 >> (uVar41 & 0x1f)" (cast_expression "(uint)unaff_s6" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "(uVar41 & 0x1f)" ( (binary_expression "uVar41 & 0x1f" identifier & number_literal) )))) ;) })) (expression_statement "iVar13 = *(int *)(uVar37 + 0x20);" (assignment_expression "iVar13 = *(int *)(uVar37 + 0x20)" identifier = (pointer_expression "*(int *)(uVar37 + 0x20)" * (cast_expression "(int *)(uVar37 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar37 + 0x20)" ( (binary_expression "uVar37 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);" (assignment_expression "pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14)" identifier = (binary_expression "pfVar23 + *(int *)(uVar37 + 0x14)" identifier + (pointer_expression "*(int *)(uVar37 + 0x14)" * (cast_expression "(int *)(uVar37 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar37 + 0x14)" ( (binary_expression "uVar37 + 0x14" identifier + number_literal) )))))) ;) (expression_statement "uVar35 = uVar35 & 7;" (assignment_expression "uVar35 = uVar35 & 7" identifier = (binary_expression "uVar35 & 7" identifier & number_literal)) ;) (expression_statement "pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);" (assignment_expression "pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23)" (subscript_expression "pfVar23[*(int *)(uVar37 + 8)]" identifier [ (pointer_expression "*(int *)(uVar37 + 8)" * (cast_expression "(int *)(uVar37 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar37 + 8)" ( (binary_expression "uVar37 + 8" identifier + number_literal) )))) ]) = (cast_expression "(float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23)" ( (binary_expression "(double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23" (cast_expression "(double)*(byte *)((int)&fStack_19c + uVar36)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(byte *)((int)&fStack_19c + uVar36)" * (cast_expression "(byte *)((int)&fStack_19c + uVar36)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fStack_19c + uVar36)" ( (binary_expression "(int)&fStack_19c + uVar36" (cast_expression "(int)&fStack_19c" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fStack_19c" & identifier)) + identifier) ))))) * identifier) )))) ;) (expression_statement "pcVar30 = (code *)(uint)abStack_198[uVar36];" (assignment_expression "pcVar30 = (code *)(uint)abStack_198[uVar36]" identifier = (cast_expression "(code *)(uint)abStack_198[uVar36]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)abStack_198[uVar36]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "abStack_198[uVar36]" identifier [ identifier ])))) ;) (expression_statement "*pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);" (assignment_expression "*pfVar19 = (float)((double)(int)pcVar30 * in_f22_23)" (pointer_expression "*pfVar19" * identifier) = (cast_expression "(float)((double)(int)pcVar30 * in_f22_23)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)(int)pcVar30 * in_f22_23)" ( (binary_expression "(double)(int)pcVar30 * in_f22_23" (cast_expression "(double)(int)pcVar30" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)pcVar30" ( (type_descriptor "int" primitive_type) ) identifier)) * identifier) )))) ;) (expression_statement "pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);" (assignment_expression "pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23)" (subscript_expression "pfVar23[iVar13]" identifier [ identifier ]) = (cast_expression "(float)((double)abStack_194[uVar36] * in_f22_23)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)abStack_194[uVar36] * in_f22_23)" ( (binary_expression "(double)abStack_194[uVar36] * in_f22_23" (cast_expression "(double)abStack_194[uVar36]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "abStack_194[uVar36]" identifier [ identifier ])) * identifier) )))) ;) (if_statement "if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }" if (parenthesized_expression "(uVar35 == 0)" ( (binary_expression "uVar35 == 0" identifier == number_literal) )) (compound_statement "{\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }" { (expression_statement "fVar34 = (float)((double)uStack_1bc * in_f22_23);" (assignment_expression "fVar34 = (float)((double)uStack_1bc * in_f22_23)" identifier = (cast_expression "(float)((double)uStack_1bc * in_f22_23)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)uStack_1bc * in_f22_23)" ( (binary_expression "(double)uStack_1bc * in_f22_23" (cast_expression "(double)uStack_1bc" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) )))) ;) }) (else_clause "else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }" else (if_statement "if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }" if (parenthesized_expression "(uVar35 == 1)" ( (binary_expression "uVar35 == 1" identifier == number_literal) )) (compound_statement "{\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }" { (expression_statement "fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);" (assignment_expression "fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23)" identifier = (cast_expression "(float)((double)(int)piStack_1b8 * in_f22_23)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)(int)piStack_1b8 * in_f22_23)" ( (binary_expression "(double)(int)piStack_1b8 * in_f22_23" (cast_expression "(double)(int)piStack_1b8" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)piStack_1b8" ( (type_descriptor "int" primitive_type) ) identifier)) * identifier) )))) ;) }) (else_clause "else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }" else (if_statement "if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }" if (parenthesized_expression "(piVar24 == (int *)0x0)" ( (binary_expression "piVar24 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }" { (expression_statement "fVar34 = 0.0;" (assignment_expression "fVar34 = 0.0" identifier = number_literal) ;) (if_statement "if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }" if (parenthesized_expression "(uVar35 != 6)" ( (binary_expression "uVar35 != 6" identifier != number_literal) )) (compound_statement "{\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }" { (if_statement "if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }" if (parenthesized_expression "(uVar35 != 7)" ( (binary_expression "uVar35 != 7" identifier != number_literal) )) (compound_statement "{\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }" { (expression_statement "uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);" (assignment_expression "uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20)" identifier = (call_expression "(uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20)" ( (binary_expression "(ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20" (binary_expression "(ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd" (call_expression "(ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)" ( (binary_expression "(uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc" (binary_expression "(uVar35 - 1) * (int)piStack_1b8" (parenthesized_expression "(uVar35 - 1)" ( (binary_expression "uVar35 - 1" identifier - number_literal) )) * (cast_expression "(int)piStack_1b8" ( (type_descriptor "int" primitive_type) ) identifier)) + (binary_expression "(6 - uVar35) * uStack_1bc" (parenthesized_expression "(6 - uVar35)" ( (binary_expression "6 - uVar35" number_literal - identifier) )) * identifier)) ))) * number_literal) >> number_literal) )))) ;) (goto_statement "goto LAB_00213750;" goto statement_identifier ;) })) (expression_statement "fVar34 = (float)in_f20_21;" (assignment_expression "fVar34 = (float)in_f20_21" identifier = (cast_expression "(float)in_f20_21" ( (type_descriptor "float" primitive_type) ) identifier)) ;) })) }) (else_clause "else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }" else (compound_statement "{\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }" { (expression_statement "uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);" (assignment_expression "uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21)" identifier = (call_expression "(uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21)" ( (binary_expression "(ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21" (binary_expression "(ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925" (call_expression "(ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc)" ( (binary_expression "(uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc" (binary_expression "(uVar35 - 1) * (int)piStack_1b8" (parenthesized_expression "(uVar35 - 1)" ( (binary_expression "uVar35 - 1" identifier - number_literal) )) * (cast_expression "(int)piStack_1b8" ( (type_descriptor "int" primitive_type) ) identifier)) + (binary_expression "(8 - uVar35) * uStack_1bc" (parenthesized_expression "(8 - uVar35)" ( (binary_expression "8 - uVar35" number_literal - identifier) )) * identifier)) ))) * number_literal) >> number_literal) )))) ;) (labeled_statement "LAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);" statement_identifier : (expression_statement "fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);" (assignment_expression "fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23)" identifier = (cast_expression "(float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)((uVar41 << 0x16) >> 0x18) * in_f22_23)" ( (binary_expression "(double)((uVar41 << 0x16) >> 0x18) * in_f22_23" (cast_expression "(double)((uVar41 << 0x16) >> 0x18)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((uVar41 << 0x16) >> 0x18)" ( (binary_expression "(uVar41 << 0x16) >> 0x18" (parenthesized_expression "(uVar41 << 0x16)" ( (binary_expression "uVar41 << 0x16" identifier << number_literal) )) >> number_literal) ))) * identifier) )))) ;)) }))))))) (if_statement "if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }" if (parenthesized_expression "(*(int *)(uVar37 + 0x34) != 0)" ( (binary_expression "*(int *)(uVar37 + 0x34) != 0" (pointer_expression "*(int *)(uVar37 + 0x34)" * (cast_expression "(int *)(uVar37 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar37 + 0x34)" ( (binary_expression "uVar37 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }" { (expression_statement "pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;" (assignment_expression "pfVar23[*(int *)(uVar37 + 0x38)] = fVar34" (subscript_expression "pfVar23[*(int *)(uVar37 + 0x38)]" identifier [ (pointer_expression "*(int *)(uVar37 + 0x38)" * (cast_expression "(int *)(uVar37 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar37 + 0x38)" ( (binary_expression "uVar37 + 0x38" identifier + number_literal) )))) ]) = identifier) ;) })) (expression_statement "pfVar23 = pfVar23 + puVar25[0xb0];" (assignment_expression "pfVar23 = pfVar23 + puVar25[0xb0]" identifier = (binary_expression "pfVar23 + puVar25[0xb0]" identifier + (subscript_expression "puVar25[0xb0]" identifier [ number_literal ]))) ;) })) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (expression_statement "pfVar11 = (float *)((int)pfVar3 + iVar15);" (assignment_expression "pfVar11 = (float *)((int)pfVar3 + iVar15)" identifier = (cast_expression "(float *)((int)pfVar3 + iVar15)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar3 + iVar15)" ( (binary_expression "(int)pfVar3 + iVar15" (cast_expression "(int)pfVar3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) while (parenthesized_expression "(iVar15 != 4)" ( (binary_expression "iVar15 != 4" identifier != number_literal) )) ;) (expression_statement "iVar8 = iVar8 + 4;" (assignment_expression "iVar8 = iVar8 + 4" identifier = (binary_expression "iVar8 + 4" identifier + number_literal)) ;) (expression_statement "pfVar18 = (float *)((int)pfVar18 + 1);" (assignment_expression "pfVar18 = (float *)((int)pfVar18 + 1)" identifier = (cast_expression "(float *)((int)pfVar18 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar18 + 1)" ( (binary_expression "(int)pfVar18 + 1" (cast_expression "(int)pfVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(iVar8 != 0x10)" ( (binary_expression "iVar8 != 0x10" identifier != number_literal) )) ;) (expression_statement "pfVar18 = pfStack_1b4;" (assignment_expression "pfVar18 = pfStack_1b4" identifier = identifier) ;) (expression_statement "iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);" (assignment_expression "iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25)" identifier = (call_expression "(**(code **)(pcStack_1c8 + -0x76cc))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x76cc))" ( (pointer_expression "**(code **)(pcStack_1c8 + -0x76cc)" * (pointer_expression "*(code **)(pcStack_1c8 + -0x76cc)" * (cast_expression "(code **)(pcStack_1c8 + -0x76cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x76cc)" ( (binary_expression "pcStack_1c8 + -0x76cc" identifier + number_literal) ))))) )) (argument_list "(puVar25)" ( identifier )))) ;) (if_statement "if (iVar8 == 0) goto LAB_002137bc;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002137bc;" goto statement_identifier ;)) (expression_statement "pcVar30 = (code *)puVar25[6];" (assignment_expression "pcVar30 = (code *)puVar25[6]" identifier = (cast_expression "(code *)puVar25[6]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[6]" identifier [ number_literal ]))) ;) (expression_statement "pfVar3 = pfVar3 + 1;" (assignment_expression "pfVar3 = pfVar3 + 1" identifier = (binary_expression "pfVar3 + 1" identifier + number_literal)) ;) (expression_statement "pcVar32 = *(code **)(pcStack_1c8 + -0x7168);" (assignment_expression "pcVar32 = *(code **)(pcStack_1c8 + -0x7168)" identifier = (pointer_expression "*(code **)(pcStack_1c8 + -0x7168)" * (cast_expression "(code **)(pcStack_1c8 + -0x7168)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x7168)" ( (binary_expression "pcStack_1c8 + -0x7168" identifier + number_literal) ))))) ;) (if_statement "if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;" if (parenthesized_expression "((int)pcVar30 <= (int)pfVar3)" ( (binary_expression "(int)pcVar30 <= (int)pfVar3" (cast_expression "(int)pcVar30" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pfVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0021380c;" goto statement_identifier ;)) (expression_statement "uVar40 = puVar25[7];" (assignment_expression "uVar40 = puVar25[7]" identifier = (subscript_expression "puVar25[7]" identifier [ number_literal ])) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "pcVar32 = *(code **)(pcStack_1c8 + -0x7168);" (assignment_expression "pcVar32 = *(code **)(pcStack_1c8 + -0x7168)" identifier = (pointer_expression "*(code **)(pcStack_1c8 + -0x7168)" * (cast_expression "(code **)(pcStack_1c8 + -0x7168)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x7168)" ( (binary_expression "pcStack_1c8 + -0x7168" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0021380c:\n      iVar8 = (*pcVar32)(puVar25);" statement_identifier : (expression_statement "iVar8 = (*pcVar32)(puVar25);" (assignment_expression "iVar8 = (*pcVar32)(puVar25)" identifier = (call_expression "(*pcVar32)(puVar25)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(puVar25)" ( identifier )))) ;)) (if_statement "if (iVar8 != 0) {\nLAB_002137bc:\n        fVar34 = 0.0;\n        goto LAB_002137c0;\n      }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_002137bc:\n        fVar34 = 0.0;\n        goto LAB_002137c0;\n      }" { (labeled_statement "LAB_002137bc:\n        fVar34 = 0.0;" statement_identifier : (expression_statement "fVar34 = 0.0;" (assignment_expression "fVar34 = 0.0" identifier = number_literal) ;)) (goto_statement "goto LAB_002137c0;" goto statement_identifier ;) })) (expression_statement "uVar40 = puVar25[7];" (assignment_expression "uVar40 = puVar25[7]" identifier = (subscript_expression "puVar25[7]" identifier [ number_literal ])) ;) (expression_statement "pfStack_1a8 = pfStack_1a8 + 1;" (assignment_expression "pfStack_1a8 = pfStack_1a8 + 1" identifier = (binary_expression "pfStack_1a8 + 1" identifier + number_literal)) ;) (expression_statement "puVar26 = puVar25;" (assignment_expression "puVar26 = puVar25" identifier = identifier) ;) }) while (parenthesized_expression "((int)pfStack_1a8 < (int)uVar40)" ( (binary_expression "(int)pfStack_1a8 < (int)uVar40" (cast_expression "(int)pfStack_1a8" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar40" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "fVar34 = 1.4013e-45;" (assignment_expression "fVar34 = 1.4013e-45" identifier = number_literal) ;) (expression_statement "puVar25 = puVar26;" (assignment_expression "puVar25 = puVar26" identifier = identifier) ;) (labeled_statement "LAB_002137c0:\n  if (iStack_18c == *piStack_1a4) {\n    return fVar34;\n  }" statement_identifier : (if_statement "if (iStack_18c == *piStack_1a4) {\n    return fVar34;\n  }" if (parenthesized_expression "(iStack_18c == *piStack_1a4)" ( (binary_expression "iStack_18c == *piStack_1a4" identifier == (pointer_expression "*piStack_1a4" * identifier)) )) (compound_statement "{\n    return fVar34;\n  }" { (return_statement "return fVar34;" return identifier ;) }))) (expression_statement "pcVar32 = *(code **)(pcStack_1c8 + -0x784c);" (assignment_expression "pcVar32 = *(code **)(pcStack_1c8 + -0x784c)" identifier = (pointer_expression "*(code **)(pcStack_1c8 + -0x784c)" * (cast_expression "(code **)(pcStack_1c8 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1c8 + -0x784c)" ( (binary_expression "pcStack_1c8 + -0x784c" identifier + number_literal) ))))) ;) (expression_statement "pcVar31 = FUN_0021384c;" (assignment_expression "pcVar31 = FUN_0021384c" identifier = identifier) ;) (expression_statement "iVar8 = iStack_18c;" (assignment_expression "iVar8 = iStack_18c" identifier = identifier) ;) (expression_statement "(*pcVar32)();" (call_expression "(*pcVar32)()" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar4 = *(int **)(pcVar32 + 0x1959e4);" (assignment_expression "piVar4 = *(int **)(pcVar32 + 0x1959e4)" identifier = (pointer_expression "*(int **)(pcVar32 + 0x1959e4)" * (cast_expression "(int **)(pcVar32 + 0x1959e4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1959e4)" ( (binary_expression "pcVar32 + 0x1959e4" identifier + number_literal) ))))) ;) (expression_statement "iStack_21c = *piVar4;" (assignment_expression "iStack_21c = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (expression_statement "iVar15 = *(int *)(iVar8 + 0x1c);" (assignment_expression "iVar15 = *(int *)(iVar8 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar8 + 0x1c)" * (cast_expression "(int *)(iVar8 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1c)" ( (binary_expression "iVar8 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "pfVar16 = pfVar19;" (assignment_expression "pfVar16 = pfVar19" identifier = identifier) ;) (expression_statement "pfStack_218 = pfVar23;" (assignment_expression "pfStack_218 = pfVar23" identifier = identifier) ;) (expression_statement "pfStack_214 = pfVar9;" (assignment_expression "pfStack_214 = pfVar9" identifier = identifier) ;) (expression_statement "pfStack_210 = pfVar3;" (assignment_expression "pfStack_210 = pfVar3" identifier = identifier) ;) (expression_statement "piStack_20c = piVar24;" (assignment_expression "piStack_20c = piVar24" identifier = identifier) ;) (expression_statement "puStack_208 = puVar25;" (assignment_expression "puStack_208 = puVar25" identifier = identifier) ;) (expression_statement "puStack_204 = puVar27;" (assignment_expression "puStack_204 = puVar27" identifier = identifier) ;) (expression_statement "puStack_200 = unaff_s6;" (assignment_expression "puStack_200 = unaff_s6" identifier = identifier) ;) (expression_statement "fStack_1fc = unaff_s7;" (assignment_expression "fStack_1fc = unaff_s7" identifier = identifier) ;) (expression_statement "fStack_1f8 = unaff_s8;" (assignment_expression "fStack_1f8 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_1f4 = pcVar31;" (assignment_expression "pcStack_1f4 = pcVar31" identifier = identifier) ;) (expression_statement "uStack_1f0 = in_f20_21;" (assignment_expression "uStack_1f0 = in_f20_21" identifier = identifier) ;) (expression_statement "dStack_1e8 = in_f22_23;" (assignment_expression "dStack_1e8 = in_f22_23" identifier = identifier) ;) (if_statement "if (0 < iVar15) {\n    pfVar3 = (float *)0x0;\n    iVar13 = *(int *)(pcVar32 + 0x195378);\n    dVar44 = *(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0);\n    dVar45 = dVar44;\n    do {\n      pcVar30 = *(code **)(iVar8 + 0x18);\n      pfVar23 = (float *)0x0;\n      if ((int)pcVar30 < 1) {\n        pcVar31 = *(code **)(pcVar32 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }\n      iVar15 = (*pcVar31)(iVar8);\n      if (iVar15 != 0) {\nLAB_00213b34:\n        fVar34 = 0.0;\n        goto LAB_00213b38;\n      }\n      iVar15 = *(int *)(iVar8 + 0x1c);\n      pfVar3 = pfVar3 + 1;\n    } while ((int)pfVar3 < iVar15);\n  }" if (parenthesized_expression "(0 < iVar15)" ( (binary_expression "0 < iVar15" number_literal < identifier) )) (compound_statement "{\n    pfVar3 = (float *)0x0;\n    iVar13 = *(int *)(pcVar32 + 0x195378);\n    dVar44 = *(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0);\n    dVar45 = dVar44;\n    do {\n      pcVar30 = *(code **)(iVar8 + 0x18);\n      pfVar23 = (float *)0x0;\n      if ((int)pcVar30 < 1) {\n        pcVar31 = *(code **)(pcVar32 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }\n      iVar15 = (*pcVar31)(iVar8);\n      if (iVar15 != 0) {\nLAB_00213b34:\n        fVar34 = 0.0;\n        goto LAB_00213b38;\n      }\n      iVar15 = *(int *)(iVar8 + 0x1c);\n      pfVar3 = pfVar3 + 1;\n    } while ((int)pfVar3 < iVar15);\n  }" { (expression_statement "pfVar3 = (float *)0x0;" (assignment_expression "pfVar3 = (float *)0x0" identifier = (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar13 = *(int *)(pcVar32 + 0x195378);" (assignment_expression "iVar13 = *(int *)(pcVar32 + 0x195378)" identifier = (pointer_expression "*(int *)(pcVar32 + 0x195378)" * (cast_expression "(int *)(pcVar32 + 0x195378)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x195378)" ( (binary_expression "pcVar32 + 0x195378" identifier + number_literal) ))))) ;) (expression_statement "dVar44 = *(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0);" (assignment_expression "dVar44 = *(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0)" * (cast_expression "(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar32 + 0x19509c) + -0x5af0)" ( (binary_expression "*(int *)(pcVar32 + 0x19509c) + -0x5af0" (pointer_expression "*(int *)(pcVar32 + 0x19509c)" * (cast_expression "(int *)(pcVar32 + 0x19509c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x19509c)" ( (binary_expression "pcVar32 + 0x19509c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dVar45 = dVar44;" (assignment_expression "dVar45 = dVar44" identifier = identifier) ;) (do_statement "do {\n      pcVar30 = *(code **)(iVar8 + 0x18);\n      pfVar23 = (float *)0x0;\n      if ((int)pcVar30 < 1) {\n        pcVar31 = *(code **)(pcVar32 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }\n      iVar15 = (*pcVar31)(iVar8);\n      if (iVar15 != 0) {\nLAB_00213b34:\n        fVar34 = 0.0;\n        goto LAB_00213b38;\n      }\n      iVar15 = *(int *)(iVar8 + 0x1c);\n      pfVar3 = pfVar3 + 1;\n    } while ((int)pfVar3 < iVar15);" do (compound_statement "{\n      pcVar30 = *(code **)(iVar8 + 0x18);\n      pfVar23 = (float *)0x0;\n      if ((int)pcVar30 < 1) {\n        pcVar31 = *(code **)(pcVar32 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }\n      iVar15 = (*pcVar31)(iVar8);\n      if (iVar15 != 0) {\nLAB_00213b34:\n        fVar34 = 0.0;\n        goto LAB_00213b38;\n      }\n      iVar15 = *(int *)(iVar8 + 0x1c);\n      pfVar3 = pfVar3 + 1;\n    }" { (expression_statement "pcVar30 = *(code **)(iVar8 + 0x18);" (assignment_expression "pcVar30 = *(code **)(iVar8 + 0x18)" identifier = (pointer_expression "*(code **)(iVar8 + 0x18)" * (cast_expression "(code **)(iVar8 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x18)" ( (binary_expression "iVar8 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "pfVar23 = (float *)0x0;" (assignment_expression "pfVar23 = (float *)0x0" identifier = (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((int)pcVar30 < 1) {\n        pcVar31 = *(code **)(pcVar32 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }" if (parenthesized_expression "((int)pcVar30 < 1)" ( (binary_expression "(int)pcVar30 < 1" (cast_expression "(int)pcVar30" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        pcVar31 = *(code **)(pcVar32 + 0x195efc);\n      }" { (expression_statement "pcVar31 = *(code **)(pcVar32 + 0x195efc);" (assignment_expression "pcVar31 = *(code **)(pcVar32 + 0x195efc)" identifier = (pointer_expression "*(code **)(pcVar32 + 0x195efc)" * (cast_expression "(code **)(pcVar32 + 0x195efc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195efc)" ( (binary_expression "pcVar32 + 0x195efc" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }" else (compound_statement "{\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }" { (while_statement "while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }" { (expression_statement "uStack_248 = iVar15 - (int)pfVar3;" (assignment_expression "uStack_248 = iVar15 - (int)pfVar3" identifier = (binary_expression "iVar15 - (int)pfVar3" identifier - (cast_expression "(int)pfVar3" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar30 = pcVar30 + -(int)pfVar23;" (assignment_expression "pcVar30 = pcVar30 + -(int)pfVar23" identifier = (binary_expression "pcVar30 + -(int)pfVar23" identifier + (unary_expression "-(int)pfVar23" - (cast_expression "(int)pfVar23" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (if_statement "if (4 < uStack_248) {\n            uStack_248 = 4;\n          }" if (parenthesized_expression "(4 < uStack_248)" ( (binary_expression "4 < uStack_248" number_literal < identifier) )) (compound_statement "{\n            uStack_248 = 4;\n          }" { (expression_statement "uStack_248 = 4;" (assignment_expression "uStack_248 = 4" identifier = number_literal) ;) })) (if_statement "if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }" if (parenthesized_expression "(&DAT_00000004 < pcVar30)" ( (binary_expression "&DAT_00000004 < pcVar30" (pointer_expression "&DAT_00000004" & identifier) < identifier) )) (compound_statement "{\n            pcVar30 = (code *)&DAT_00000004;\n          }" { (expression_statement "pcVar30 = (code *)&DAT_00000004;" (assignment_expression "pcVar30 = (code *)&DAT_00000004" identifier = (cast_expression "(code *)&DAT_00000004" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000004" & identifier))) ;) })) (expression_statement "pfVar18 = pfVar23;" (assignment_expression "pfVar18 = pfVar23" identifier = identifier) ;) (expression_statement "pfVar16 = pfVar3;" (assignment_expression "pfVar16 = pfVar3" identifier = identifier) ;) (expression_statement "iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);" (assignment_expression "iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8)" identifier = (call_expression "(**(code **)(pcVar32 + 0x1956d8))(iVar8)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1956d8))" ( (pointer_expression "**(code **)(pcVar32 + 0x1956d8)" * (pointer_expression "*(code **)(pcVar32 + 0x1956d8)" * (cast_expression "(code **)(pcVar32 + 0x1956d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1956d8)" ( (binary_expression "pcVar32 + 0x1956d8" identifier + number_literal) ))))) )) (argument_list "(iVar8)" ( identifier )))) ;) (if_statement "if (iVar15 == 0) goto LAB_00213b34;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00213b34;" goto statement_identifier ;)) (expression_statement "uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);" (assignment_expression "uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8)" identifier = (call_expression "(**(code **)(pcVar32 + 0x195820))(iVar8)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195820))" ( (pointer_expression "**(code **)(pcVar32 + 0x195820)" * (pointer_expression "*(code **)(pcVar32 + 0x195820)" * (cast_expression "(code **)(pcVar32 + 0x195820)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195820)" ( (binary_expression "pcVar32 + 0x195820" identifier + number_literal) ))))) )) (argument_list "(iVar8)" ( identifier )))) ;) (expression_statement "uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);" (assignment_expression "uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8)" identifier = (call_expression "(**(code **)(pcVar32 + 0x195820))(iVar8)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195820))" ( (pointer_expression "**(code **)(pcVar32 + 0x195820)" * (pointer_expression "*(code **)(pcVar32 + 0x195820)" * (cast_expression "(code **)(pcVar32 + 0x195820)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195820)" ( (binary_expression "pcVar32 + 0x195820" identifier + number_literal) ))))) )) (argument_list "(iVar8)" ( identifier )))) ;) (expression_statement "uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);" (assignment_expression "uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8)" identifier = (call_expression "(**(code **)(pcVar32 + 0x195eb0))(iVar8)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195eb0))" ( (pointer_expression "**(code **)(pcVar32 + 0x195eb0)" * (pointer_expression "*(code **)(pcVar32 + 0x195eb0)" * (cast_expression "(code **)(pcVar32 + 0x195eb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195eb0)" ( (binary_expression "pcVar32 + 0x195eb0" identifier + number_literal) ))))) )) (argument_list "(iVar8)" ( identifier )))) ;) (expression_statement "pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);" (assignment_expression "pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8)" identifier = (cast_expression "(float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar32 + 0x195eb0))(iVar8)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195eb0))" ( (pointer_expression "**(code **)(pcVar32 + 0x195eb0)" * (pointer_expression "*(code **)(pcVar32 + 0x195eb0)" * (cast_expression "(code **)(pcVar32 + 0x195eb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195eb0)" ( (binary_expression "pcVar32 + 0x195eb0" identifier + number_literal) ))))) )) (argument_list "(iVar8)" ( identifier ))))) ;) (expression_statement "uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);" (assignment_expression "uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8)" identifier = (call_expression "(**(code **)(pcVar32 + 0x195820))(iVar8)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195820))" ( (pointer_expression "**(code **)(pcVar32 + 0x195820)" * (pointer_expression "*(code **)(pcVar32 + 0x195820)" * (cast_expression "(code **)(pcVar32 + 0x195820)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195820)" ( (binary_expression "pcVar32 + 0x195820" identifier + number_literal) ))))) )) (argument_list "(iVar8)" ( identifier )))) ;) (expression_statement "pcVar30 = (code *)0x1;" (assignment_expression "pcVar30 = (code *)0x1" identifier = (cast_expression "(code *)0x1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfVar16 = &fStack_22c;" (assignment_expression "pfVar16 = &fStack_22c" identifier = (pointer_expression "&fStack_22c" & identifier)) ;) (expression_statement "(*(code *)(iVar13 + 0x2408))(uVar17);" (call_expression "(*(code *)(iVar13 + 0x2408))(uVar17)" (parenthesized_expression "(*(code *)(iVar13 + 0x2408))" ( (pointer_expression "*(code *)(iVar13 + 0x2408)" * (cast_expression "(code *)(iVar13 + 0x2408)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2408)" ( (binary_expression "iVar13 + 0x2408" identifier + number_literal) )))) )) (argument_list "(uVar17)" ( identifier ))) ;) (expression_statement "iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);" (assignment_expression "iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8)" identifier = (call_expression "(**(code **)(pcVar32 + 0x195efc))(iVar8)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195efc))" ( (pointer_expression "**(code **)(pcVar32 + 0x195efc)" * (pointer_expression "*(code **)(pcVar32 + 0x195efc)" * (cast_expression "(code **)(pcVar32 + 0x195efc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195efc)" ( (binary_expression "pcVar32 + 0x195efc" identifier + number_literal) ))))) )) (argument_list "(iVar8)" ( identifier )))) ;) (if_statement "if (iVar5 != 0) goto LAB_00213b34;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00213b34;" goto statement_identifier ;)) (expression_statement "pcVar30 = *(code **)(iVar8 + 0x18);" (assignment_expression "pcVar30 = *(code **)(iVar8 + 0x18)" identifier = (pointer_expression "*(code **)(iVar8 + 0x18)" * (cast_expression "(code **)(iVar8 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x18)" ( (binary_expression "iVar8 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "pfVar16 = pfVar3;" (assignment_expression "pfVar16 = pfVar3" identifier = identifier) ;) (do_statement "do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);" do (compound_statement "{\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "pfVar18 = pfVar23;" (assignment_expression "pfVar18 = pfVar23" identifier = identifier) ;) (do_statement "do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);" do (compound_statement "{\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            }" { (if_statement "if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }" if (parenthesized_expression "(((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c)))" ( (binary_expression "((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))" (parenthesized_expression "((int)pfVar18 < (int)pcVar30)" ( (binary_expression "(int)pfVar18 < (int)pcVar30" (cast_expression "(int)pfVar18" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pcVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))" ( (comma_expression "iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c)" (assignment_expression "iVar12 = iVar6 + iVar14 * 4" identifier = (binary_expression "iVar6 + iVar14 * 4" identifier + (binary_expression "iVar14 * 4" identifier * number_literal))) , (binary_expression "(int)pfVar16 < *(int *)(iVar8 + 0x1c)" (cast_expression "(int)pfVar16" ( (type_descriptor "int" primitive_type) ) identifier) < (pointer_expression "*(int *)(iVar8 + 0x1c)" * (cast_expression "(int *)(iVar8 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1c)" ( (binary_expression "iVar8 + 0x1c" identifier + number_literal) )))))) ))) )) (compound_statement "{\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }" { (expression_statement "iVar21 = *(int *)(iVar8 + 0x2d0);" (assignment_expression "iVar21 = *(int *)(iVar8 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar8 + 0x2d0)" * (cast_expression "(int *)(iVar8 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x2d0)" ( (binary_expression "iVar8 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "iVar28 = *(int *)(iVar21 + 0x14);" (assignment_expression "iVar28 = *(int *)(iVar21 + 0x14)" identifier = (pointer_expression "*(int *)(iVar21 + 0x14)" * (cast_expression "(int *)(iVar21 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x14)" ( (binary_expression "iVar21 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;" (assignment_expression "uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3" identifier = (binary_expression "uVar35 >> (iVar12 * 2 & 0x1fU) & 3" (binary_expression "uVar35 >> (iVar12 * 2 & 0x1fU)" identifier >> (parenthesized_expression "(iVar12 * 2 & 0x1fU)" ( (binary_expression "iVar12 * 2 & 0x1fU" (binary_expression "iVar12 * 2" identifier * number_literal) & number_literal) ))) & number_literal)) ;) (expression_statement "iVar22 = *(int *)(iVar21 + 0x20);" (assignment_expression "iVar22 = *(int *)(iVar21 + 0x20)" identifier = (pointer_expression "*(int *)(iVar21 + 0x20)" * (cast_expression "(int *)(iVar21 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x20)" ( (binary_expression "iVar21 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);" (assignment_expression "*(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45)" (pointer_expression "*(float *)(iVar15 + *(int *)(iVar21 + 8) * 4)" * (cast_expression "(float *)(iVar15 + *(int *)(iVar21 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + *(int *)(iVar21 + 8) * 4)" ( (binary_expression "iVar15 + *(int *)(iVar21 + 8) * 4" identifier + (binary_expression "*(int *)(iVar21 + 8) * 4" (pointer_expression "*(int *)(iVar21 + 8)" * (cast_expression "(int *)(iVar21 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 8)" ( (binary_expression "iVar21 + 8" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45)" ( (binary_expression "(double)*(byte *)((int)&fStack_22c + uVar36) * dVar45" (cast_expression "(double)*(byte *)((int)&fStack_22c + uVar36)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(byte *)((int)&fStack_22c + uVar36)" * (cast_expression "(byte *)((int)&fStack_22c + uVar36)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fStack_22c + uVar36)" ( (binary_expression "(int)&fStack_22c + uVar36" (cast_expression "(int)&fStack_22c" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fStack_22c" & identifier)) + identifier) ))))) * identifier) )))) ;) (expression_statement "*(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);" (assignment_expression "*(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45)" (pointer_expression "*(float *)(iVar15 + iVar28 * 4)" * (cast_expression "(float *)(iVar15 + iVar28 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + iVar28 * 4)" ( (binary_expression "iVar15 + iVar28 * 4" identifier + (binary_expression "iVar28 * 4" identifier * number_literal)) )))) = (cast_expression "(float)((double)abStack_228[uVar36] * dVar45)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)abStack_228[uVar36] * dVar45)" ( (binary_expression "(double)abStack_228[uVar36] * dVar45" (cast_expression "(double)abStack_228[uVar36]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "abStack_228[uVar36]" identifier [ identifier ])) * identifier) )))) ;) (expression_statement "*(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);" (assignment_expression "*(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45)" (pointer_expression "*(float *)(iVar15 + iVar22 * 4)" * (cast_expression "(float *)(iVar15 + iVar22 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + iVar22 * 4)" ( (binary_expression "iVar15 + iVar22 * 4" identifier + (binary_expression "iVar22 * 4" identifier * number_literal)) )))) = (cast_expression "(float)((double)abStack_224[uVar36] * dVar45)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)abStack_224[uVar36] * dVar45)" ( (binary_expression "(double)abStack_224[uVar36] * dVar45" (cast_expression "(double)abStack_224[uVar36]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "abStack_224[uVar36]" identifier [ identifier ])) * identifier) )))) ;) (if_statement "if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }" if (parenthesized_expression "(iVar14 < 2)" ( (binary_expression "iVar14 < 2" identifier < number_literal) )) (compound_statement "{\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }" { (expression_statement "uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);" (assignment_expression "uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU)" identifier = (binary_expression "uVar40 >> (iVar12 * 4 & 0x1fU)" identifier >> (parenthesized_expression "(iVar12 * 4 & 0x1fU)" ( (binary_expression "iVar12 * 4 & 0x1fU" (binary_expression "iVar12 * 4" identifier * number_literal) & number_literal) )))) ;) }) (else_clause "else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }" else (compound_statement "{\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }" { (expression_statement "uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);" (assignment_expression "uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU)" identifier = (binary_expression "uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU)" identifier >> (parenthesized_expression "((iVar5 + iVar6) * 4 & 0x1fU)" ( (binary_expression "(iVar5 + iVar6) * 4 & 0x1fU" (binary_expression "(iVar5 + iVar6) * 4" (parenthesized_expression "(iVar5 + iVar6)" ( (binary_expression "iVar5 + iVar6" identifier + identifier) )) * number_literal) & number_literal) )))) ;) }))) (if_statement "if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }" if (parenthesized_expression "(*(int *)(iVar21 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar21 + 0x34) != 0" (pointer_expression "*(int *)(iVar21 + 0x34)" * (cast_expression "(int *)(iVar21 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x34)" ( (binary_expression "iVar21 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }" { (expression_statement "*(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);" (assignment_expression "*(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44)" (pointer_expression "*(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4)" * (cast_expression "(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + *(int *)(iVar21 + 0x38) * 4)" ( (binary_expression "iVar15 + *(int *)(iVar21 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar21 + 0x38) * 4" (pointer_expression "*(int *)(iVar21 + 0x38)" * (cast_expression "(int *)(iVar21 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x38)" ( (binary_expression "iVar21 + 0x38" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44)" ( (binary_expression "(double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44" (cast_expression "(double)((uVar36 & 0xf) * 0x11 & 0xff)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((uVar36 & 0xf) * 0x11 & 0xff)" ( (binary_expression "(uVar36 & 0xf) * 0x11 & 0xff" (binary_expression "(uVar36 & 0xf) * 0x11" (parenthesized_expression "(uVar36 & 0xf)" ( (binary_expression "uVar36 & 0xf" identifier & number_literal) )) * number_literal) & number_literal) ))) * identifier) )))) ;) })) (expression_statement "iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;" (assignment_expression "iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4" identifier = (binary_expression "iVar15 + *(int *)(iVar8 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar8 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar8 + 0x2c0)" * (cast_expression "(int *)(iVar8 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x2c0)" ( (binary_expression "iVar8 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "pfVar18 = (float *)((int)pfVar23 + iVar6);" (assignment_expression "pfVar18 = (float *)((int)pfVar23 + iVar6)" identifier = (cast_expression "(float *)((int)pfVar23 + iVar6)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar23 + iVar6)" ( (binary_expression "(int)pfVar23 + iVar6" (cast_expression "(int)pfVar23" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) while (parenthesized_expression "(iVar6 != 4)" ( (binary_expression "iVar6 != 4" identifier != number_literal) )) ;) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) (expression_statement "pfVar16 = (float *)((int)pfVar16 + 1);" (assignment_expression "pfVar16 = (float *)((int)pfVar16 + 1)" identifier = (cast_expression "(float *)((int)pfVar16 + 1)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar16 + 1)" ( (binary_expression "(int)pfVar16 + 1" (cast_expression "(int)pfVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar5 = iVar5 + 4;" (assignment_expression "iVar5 = iVar5 + 4" identifier = (binary_expression "iVar5 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar14 != 4)" ( (binary_expression "iVar14 != 4" identifier != number_literal) )) ;) (expression_statement "pfVar18 = pfVar19;" (assignment_expression "pfVar18 = pfVar19" identifier = identifier) ;) (expression_statement "iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);" (assignment_expression "iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8)" identifier = (call_expression "(**(code **)(pcVar32 + 0x195998))(iVar8)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195998))" ( (pointer_expression "**(code **)(pcVar32 + 0x195998)" * (pointer_expression "*(code **)(pcVar32 + 0x195998)" * (cast_expression "(code **)(pcVar32 + 0x195998)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195998)" ( (binary_expression "pcVar32 + 0x195998" identifier + number_literal) ))))) )) (argument_list "(iVar8)" ( identifier )))) ;) (if_statement "if (iVar15 == 0) goto LAB_00213b34;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00213b34;" goto statement_identifier ;)) (expression_statement "pcVar30 = *(code **)(iVar8 + 0x18);" (assignment_expression "pcVar30 = *(code **)(iVar8 + 0x18)" identifier = (pointer_expression "*(code **)(iVar8 + 0x18)" * (cast_expression "(code **)(iVar8 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x18)" ( (binary_expression "iVar8 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "pfVar23 = pfVar23 + 1;" (assignment_expression "pfVar23 = pfVar23 + 1" identifier = (binary_expression "pfVar23 + 1" identifier + number_literal)) ;) (expression_statement "pcVar31 = *(code **)(pcVar32 + 0x195efc);" (assignment_expression "pcVar31 = *(code **)(pcVar32 + 0x195efc)" identifier = (pointer_expression "*(code **)(pcVar32 + 0x195efc)" * (cast_expression "(code **)(pcVar32 + 0x195efc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195efc)" ( (binary_expression "pcVar32 + 0x195efc" identifier + number_literal) ))))) ;) (if_statement "if ((int)pcVar30 <= (int)pfVar23) break;" if (parenthesized_expression "((int)pcVar30 <= (int)pfVar23)" ( (binary_expression "(int)pcVar30 <= (int)pfVar23" (cast_expression "(int)pcVar30" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pfVar23" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "iVar15 = *(int *)(iVar8 + 0x1c);" (assignment_expression "iVar15 = *(int *)(iVar8 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar8 + 0x1c)" * (cast_expression "(int *)(iVar8 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1c)" ( (binary_expression "iVar8 + 0x1c" identifier + number_literal) ))))) ;) })) }))) (expression_statement "iVar15 = (*pcVar31)(iVar8);" (assignment_expression "iVar15 = (*pcVar31)(iVar8)" identifier = (call_expression "(*pcVar31)(iVar8)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(iVar8)" ( identifier )))) ;) (if_statement "if (iVar15 != 0) {\nLAB_00213b34:\n        fVar34 = 0.0;\n        goto LAB_00213b38;\n      }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00213b34:\n        fVar34 = 0.0;\n        goto LAB_00213b38;\n      }" { (labeled_statement "LAB_00213b34:\n        fVar34 = 0.0;" statement_identifier : (expression_statement "fVar34 = 0.0;" (assignment_expression "fVar34 = 0.0" identifier = number_literal) ;)) (goto_statement "goto LAB_00213b38;" goto statement_identifier ;) })) (expression_statement "iVar15 = *(int *)(iVar8 + 0x1c);" (assignment_expression "iVar15 = *(int *)(iVar8 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar8 + 0x1c)" * (cast_expression "(int *)(iVar8 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1c)" ( (binary_expression "iVar8 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "pfVar3 = pfVar3 + 1;" (assignment_expression "pfVar3 = pfVar3 + 1" identifier = (binary_expression "pfVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)pfVar3 < iVar15)" ( (binary_expression "(int)pfVar3 < iVar15" (cast_expression "(int)pfVar3" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) })) (expression_statement "fVar34 = 1.4013e-45;" (assignment_expression "fVar34 = 1.4013e-45" identifier = number_literal) ;) (labeled_statement "LAB_00213b38:\n  if (iStack_21c == *piVar4) {\n    return fVar34;\n  }" statement_identifier : (if_statement "if (iStack_21c == *piVar4) {\n    return fVar34;\n  }" if (parenthesized_expression "(iStack_21c == *piVar4)" ( (binary_expression "iStack_21c == *piVar4" identifier == (pointer_expression "*piVar4" * identifier)) )) (compound_statement "{\n    return fVar34;\n  }" { (return_statement "return fVar34;" return identifier ;) }))) (expression_statement "pcVar32 = *(code **)(pcVar32 + 0x195818);" (assignment_expression "pcVar32 = *(code **)(pcVar32 + 0x195818)" identifier = (pointer_expression "*(code **)(pcVar32 + 0x195818)" * (cast_expression "(code **)(pcVar32 + 0x195818)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195818)" ( (binary_expression "pcVar32 + 0x195818" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = iStack_21c;" (assignment_expression "iVar8 = iStack_21c" identifier = identifier) ;) (expression_statement "(*pcVar32)();" (call_expression "(*pcVar32)()" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar15 = (**(code **)(pcVar32 + 0x195b8c))(pfVar18);" (assignment_expression "iVar15 = (**(code **)(pcVar32 + 0x195b8c))(pfVar18)" identifier = (call_expression "(**(code **)(pcVar32 + 0x195b8c))(pfVar18)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195b8c))" ( (pointer_expression "**(code **)(pcVar32 + 0x195b8c)" * (pointer_expression "*(code **)(pcVar32 + 0x195b8c)" * (cast_expression "(code **)(pcVar32 + 0x195b8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195b8c)" ( (binary_expression "pcVar32 + 0x195b8c" identifier + number_literal) ))))) )) (argument_list "(pfVar18)" ( identifier )))) ;) (if_statement "if (iVar15 != 0) {\n    puVar7 = (undefined4 *)(**(code **)(pcVar32 + 0x195df4))();\n    uVar17 = (**(code **)(pcVar32 + 0x195830))(*puVar7);\n    (**(code **)(pcVar32 + 0x195364))\n              (uStack_248,*(int *)(pcVar32 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar32 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar32 + 0x194d30) + -0x17c,*(int *)(pcVar32 + 0x194d24) + 0xe78,\n               pfVar18 + 0xd0,uVar17);\n    (**(code **)(pcVar32 + 0x1954b8))(uVar17);\n    return 0.0;\n  }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n    puVar7 = (undefined4 *)(**(code **)(pcVar32 + 0x195df4))();\n    uVar17 = (**(code **)(pcVar32 + 0x195830))(*puVar7);\n    (**(code **)(pcVar32 + 0x195364))\n              (uStack_248,*(int *)(pcVar32 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar32 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar32 + 0x194d30) + -0x17c,*(int *)(pcVar32 + 0x194d24) + 0xe78,\n               pfVar18 + 0xd0,uVar17);\n    (**(code **)(pcVar32 + 0x1954b8))(uVar17);\n    return 0.0;\n  }" { (expression_statement "puVar7 = (undefined4 *)(**(code **)(pcVar32 + 0x195df4))();" (assignment_expression "puVar7 = (undefined4 *)(**(code **)(pcVar32 + 0x195df4))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar32 + 0x195df4))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar32 + 0x195df4))()" (parenthesized_expression "(**(code **)(pcVar32 + 0x195df4))" ( (pointer_expression "**(code **)(pcVar32 + 0x195df4)" * (pointer_expression "*(code **)(pcVar32 + 0x195df4)" * (cast_expression "(code **)(pcVar32 + 0x195df4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195df4)" ( (binary_expression "pcVar32 + 0x195df4" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar17 = (**(code **)(pcVar32 + 0x195830))(*puVar7);" (assignment_expression "uVar17 = (**(code **)(pcVar32 + 0x195830))(*puVar7)" identifier = (call_expression "(**(code **)(pcVar32 + 0x195830))(*puVar7)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195830))" ( (pointer_expression "**(code **)(pcVar32 + 0x195830)" * (pointer_expression "*(code **)(pcVar32 + 0x195830)" * (cast_expression "(code **)(pcVar32 + 0x195830)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195830)" ( (binary_expression "pcVar32 + 0x195830" identifier + number_literal) ))))) )) (argument_list "(*puVar7)" ( (pointer_expression "*puVar7" * identifier) )))) ;) (expression_statement "(**(code **)(pcVar32 + 0x195364))\n              (uStack_248,*(int *)(pcVar32 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar32 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar32 + 0x194d30) + -0x17c,*(int *)(pcVar32 + 0x194d24) + 0xe78,\n               pfVar18 + 0xd0,uVar17);" (call_expression "(**(code **)(pcVar32 + 0x195364))\n              (uStack_248,*(int *)(pcVar32 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar32 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar32 + 0x194d30) + -0x17c,*(int *)(pcVar32 + 0x194d24) + 0xe78,\n               pfVar18 + 0xd0,uVar17)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195364))" ( (pointer_expression "**(code **)(pcVar32 + 0x195364)" * (pointer_expression "*(code **)(pcVar32 + 0x195364)" * (cast_expression "(code **)(pcVar32 + 0x195364)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x195364)" ( (binary_expression "pcVar32 + 0x195364" identifier + number_literal) ))))) )) (argument_list "(uStack_248,*(int *)(pcVar32 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar32 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar32 + 0x194d30) + -0x17c,*(int *)(pcVar32 + 0x194d24) + 0xe78,\n               pfVar18 + 0xd0,uVar17)" ( identifier , (binary_expression "*(int *)(pcVar32 + 0x194d94) + -0x2c20" (pointer_expression "*(int *)(pcVar32 + 0x194d94)" * (cast_expression "(int *)(pcVar32 + 0x194d94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x194d94)" ( (binary_expression "pcVar32 + 0x194d94" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar32 + 0x194d94) + -0x2ad0" (pointer_expression "*(int *)(pcVar32 + 0x194d94)" * (cast_expression "(int *)(pcVar32 + 0x194d94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x194d94)" ( (binary_expression "pcVar32 + 0x194d94" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(pcVar32 + 0x194d30) + -0x17c" (pointer_expression "*(int *)(pcVar32 + 0x194d30)" * (cast_expression "(int *)(pcVar32 + 0x194d30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x194d30)" ( (binary_expression "pcVar32 + 0x194d30" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar32 + 0x194d24) + 0xe78" (pointer_expression "*(int *)(pcVar32 + 0x194d24)" * (cast_expression "(int *)(pcVar32 + 0x194d24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar32 + 0x194d24)" ( (binary_expression "pcVar32 + 0x194d24" identifier + number_literal) )))) + number_literal) , (binary_expression "pfVar18 + 0xd0" identifier + number_literal) , identifier ))) ;) (expression_statement "(**(code **)(pcVar32 + 0x1954b8))(uVar17);" (call_expression "(**(code **)(pcVar32 + 0x1954b8))(uVar17)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1954b8))" ( (pointer_expression "**(code **)(pcVar32 + 0x1954b8)" * (pointer_expression "*(code **)(pcVar32 + 0x1954b8)" * (cast_expression "(code **)(pcVar32 + 0x1954b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1954b8)" ( (binary_expression "pcVar32 + 0x1954b8" identifier + number_literal) ))))) )) (argument_list "(uVar17)" ( identifier ))) ;) (return_statement "return 0.0;" return number_literal ;) })) (if_statement "if (-1 < (int)pfVar16[6] << 9) {\n    return 1.4013e-45;\n  }" if (parenthesized_expression "(-1 < (int)pfVar16[6] << 9)" ( (binary_expression "-1 < (int)pfVar16[6] << 9" number_literal < (binary_expression "(int)pfVar16[6] << 9" (cast_expression "(int)pfVar16[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar16[6]" identifier [ number_literal ])) << number_literal)) )) (compound_statement "{\n    return 1.4013e-45;\n  }" { (return_statement "return 1.4013e-45;" return number_literal ;) })) (if_statement "if ((((uint)pfVar16[6] & 0x1000) == 0) && (((uint)pfVar16[7] & 0x200) == 0)) {\n    return 1.4013e-45;\n  }" if (parenthesized_expression "((((uint)pfVar16[6] & 0x1000) == 0) && (((uint)pfVar16[7] & 0x200) == 0))" ( (binary_expression "(((uint)pfVar16[6] & 0x1000) == 0) && (((uint)pfVar16[7] & 0x200) == 0)" (parenthesized_expression "(((uint)pfVar16[6] & 0x1000) == 0)" ( (binary_expression "((uint)pfVar16[6] & 0x1000) == 0" (parenthesized_expression "((uint)pfVar16[6] & 0x1000)" ( (binary_expression "(uint)pfVar16[6] & 0x1000" (cast_expression "(uint)pfVar16[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pfVar16[6]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) && (parenthesized_expression "(((uint)pfVar16[7] & 0x200) == 0)" ( (binary_expression "((uint)pfVar16[7] & 0x200) == 0" (parenthesized_expression "((uint)pfVar16[7] & 0x200)" ( (binary_expression "(uint)pfVar16[7] & 0x200" (cast_expression "(uint)pfVar16[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pfVar16[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n    return 1.4013e-45;\n  }" { (return_statement "return 1.4013e-45;" return number_literal ;) })) (if_statement "if ((uint)pfVar16[2] < 2) {\n    fVar34 = pfVar16[1];\n    uVar40 = 1;\n  }\n  else {\n    fVar34 = pfVar16[1];\n    uVar40 = (uint)pfVar16[2] >> 1;\n  }" if (parenthesized_expression "((uint)pfVar16[2] < 2)" ( (binary_expression "(uint)pfVar16[2] < 2" (cast_expression "(uint)pfVar16[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pfVar16[2]" identifier [ number_literal ])) < number_literal) )) (compound_statement "{\n    fVar34 = pfVar16[1];\n    uVar40 = 1;\n  }" { (expression_statement "fVar34 = pfVar16[1];" (assignment_expression "fVar34 = pfVar16[1]" identifier = (subscript_expression "pfVar16[1]" identifier [ number_literal ])) ;) (expression_statement "uVar40 = 1;" (assignment_expression "uVar40 = 1" identifier = number_literal) ;) }) (else_clause "else {\n    fVar34 = pfVar16[1];\n    uVar40 = (uint)pfVar16[2] >> 1;\n  }" else (compound_statement "{\n    fVar34 = pfVar16[1];\n    uVar40 = (uint)pfVar16[2] >> 1;\n  }" { (expression_statement "fVar34 = pfVar16[1];" (assignment_expression "fVar34 = pfVar16[1]" identifier = (subscript_expression "pfVar16[1]" identifier [ number_literal ])) ;) (expression_statement "uVar40 = (uint)pfVar16[2] >> 1;" (assignment_expression "uVar40 = (uint)pfVar16[2] >> 1" identifier = (binary_expression "(uint)pfVar16[2] >> 1" (cast_expression "(uint)pfVar16[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pfVar16[2]" identifier [ number_literal ])) >> number_literal)) ;) }))) (if_statement "if ((uint)fVar34 < 2) {\n    uVar41 = 1;\n  }\n  else {\n    uVar41 = (uint)fVar34 >> 1;\n  }" if (parenthesized_expression "((uint)fVar34 < 2)" ( (binary_expression "(uint)fVar34 < 2" (cast_expression "(uint)fVar34" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n    uVar41 = 1;\n  }" { (expression_statement "uVar41 = 1;" (assignment_expression "uVar41 = 1" identifier = number_literal) ;) }) (else_clause "else {\n    uVar41 = (uint)fVar34 >> 1;\n  }" else (compound_statement "{\n    uVar41 = (uint)fVar34 >> 1;\n  }" { (expression_statement "uVar41 = (uint)fVar34 >> 1;" (assignment_expression "uVar41 = (uint)fVar34 >> 1" identifier = (binary_expression "(uint)fVar34 >> 1" (cast_expression "(uint)fVar34" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;) }))) (expression_statement "iVar15 = 1;" (assignment_expression "iVar15 = 1" identifier = number_literal) ;) (if_statement "if ((int)pfVar16[5] < 2) {\n    return 1.4013e-45;\n  }" if (parenthesized_expression "((int)pfVar16[5] < 2)" ( (binary_expression "(int)pfVar16[5] < 2" (cast_expression "(int)pfVar16[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar16[5]" identifier [ number_literal ])) < number_literal) )) (compound_statement "{\n    return 1.4013e-45;\n  }" { (return_statement "return 1.4013e-45;" return number_literal ;) })) (do_statement "do {\n    (**(code **)(pcVar32 + 0x1953d4))(iVar8,pfVar18,uStack_248);\n    iVar15 = iVar15 + 1;\n    pcVar31 = *(code **)(pcVar32 + 0x19584c);\n    if (pfVar18[0xcda] == 0.0) {\n      return 0.0;\n    }\n    *(float *)((int)pfVar18[0xcda] + 700) = pfVar18[0xaf];\n    pfVar18 = (float *)(*pcVar31)(pfVar18);\n    iVar13 = (**(code **)(pcVar32 + 0x1958f0))(pfVar18,uVar40,uVar41,uStack_248);\n    if (iVar13 == 0) {\n      return 0.0;\n    }\n    fVar34 = (float)(*pcVar30)(pfVar18,pfVar16,uStack_248);\n    if (fVar34 == 0.0) {\n      return 0.0;\n    }\n    if (uVar40 == 1) {\n      if (uVar41 == 1) {\n        return fVar34;\n      }\nLAB_00213d14:\n      uVar41 = uVar41 >> 1;\n    }\n    else {\n      uVar40 = uVar40 >> 1;\n      if (uVar41 != 1) goto LAB_00213d14;\n    }\n    if ((int)pfVar16[5] <= iVar15) {\n      return fVar34;\n    }\n  } while( true );" do (compound_statement "{\n    (**(code **)(pcVar32 + 0x1953d4))(iVar8,pfVar18,uStack_248);\n    iVar15 = iVar15 + 1;\n    pcVar31 = *(code **)(pcVar32 + 0x19584c);\n    if (pfVar18[0xcda] == 0.0) {\n      return 0.0;\n    }\n    *(float *)((int)pfVar18[0xcda] + 700) = pfVar18[0xaf];\n    pfVar18 = (float *)(*pcVar31)(pfVar18);\n    iVar13 = (**(code **)(pcVar32 + 0x1958f0))(pfVar18,uVar40,uVar41,uStack_248);\n    if (iVar13 == 0) {\n      return 0.0;\n    }\n    fVar34 = (float)(*pcVar30)(pfVar18,pfVar16,uStack_248);\n    if (fVar34 == 0.0) {\n      return 0.0;\n    }\n    if (uVar40 == 1) {\n      if (uVar41 == 1) {\n        return fVar34;\n      }\nLAB_00213d14:\n      uVar41 = uVar41 >> 1;\n    }\n    else {\n      uVar40 = uVar40 >> 1;\n      if (uVar41 != 1) goto LAB_00213d14;\n    }\n    if ((int)pfVar16[5] <= iVar15) {\n      return fVar34;\n    }\n  }" { (expression_statement "(**(code **)(pcVar32 + 0x1953d4))(iVar8,pfVar18,uStack_248);" (call_expression "(**(code **)(pcVar32 + 0x1953d4))(iVar8,pfVar18,uStack_248)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1953d4))" ( (pointer_expression "**(code **)(pcVar32 + 0x1953d4)" * (pointer_expression "*(code **)(pcVar32 + 0x1953d4)" * (cast_expression "(code **)(pcVar32 + 0x1953d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1953d4)" ( (binary_expression "pcVar32 + 0x1953d4" identifier + number_literal) ))))) )) (argument_list "(iVar8,pfVar18,uStack_248)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (expression_statement "pcVar31 = *(code **)(pcVar32 + 0x19584c);" (assignment_expression "pcVar31 = *(code **)(pcVar32 + 0x19584c)" identifier = (pointer_expression "*(code **)(pcVar32 + 0x19584c)" * (cast_expression "(code **)(pcVar32 + 0x19584c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x19584c)" ( (binary_expression "pcVar32 + 0x19584c" identifier + number_literal) ))))) ;) (if_statement "if (pfVar18[0xcda] == 0.0) {\n      return 0.0;\n    }" if (parenthesized_expression "(pfVar18[0xcda] == 0.0)" ( (binary_expression "pfVar18[0xcda] == 0.0" (subscript_expression "pfVar18[0xcda]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      return 0.0;\n    }" { (return_statement "return 0.0;" return number_literal ;) })) (expression_statement "*(float *)((int)pfVar18[0xcda] + 700) = pfVar18[0xaf];" (assignment_expression "*(float *)((int)pfVar18[0xcda] + 700) = pfVar18[0xaf]" (pointer_expression "*(float *)((int)pfVar18[0xcda] + 700)" * (cast_expression "(float *)((int)pfVar18[0xcda] + 700)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar18[0xcda] + 700)" ( (binary_expression "(int)pfVar18[0xcda] + 700" (cast_expression "(int)pfVar18[0xcda]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar18[0xcda]" identifier [ number_literal ])) + number_literal) )))) = (subscript_expression "pfVar18[0xaf]" identifier [ number_literal ])) ;) (expression_statement "pfVar18 = (float *)(*pcVar31)(pfVar18);" (assignment_expression "pfVar18 = (float *)(*pcVar31)(pfVar18)" identifier = (cast_expression "(float *)(*pcVar31)(pfVar18)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar31)(pfVar18)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(pfVar18)" ( identifier ))))) ;) (expression_statement "iVar13 = (**(code **)(pcVar32 + 0x1958f0))(pfVar18,uVar40,uVar41,uStack_248);" (assignment_expression "iVar13 = (**(code **)(pcVar32 + 0x1958f0))(pfVar18,uVar40,uVar41,uStack_248)" identifier = (call_expression "(**(code **)(pcVar32 + 0x1958f0))(pfVar18,uVar40,uVar41,uStack_248)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1958f0))" ( (pointer_expression "**(code **)(pcVar32 + 0x1958f0)" * (pointer_expression "*(code **)(pcVar32 + 0x1958f0)" * (cast_expression "(code **)(pcVar32 + 0x1958f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar32 + 0x1958f0)" ( (binary_expression "pcVar32 + 0x1958f0" identifier + number_literal) ))))) )) (argument_list "(pfVar18,uVar40,uVar41,uStack_248)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar13 == 0) {\n      return 0.0;\n    }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n      return 0.0;\n    }" { (return_statement "return 0.0;" return number_literal ;) })) (expression_statement "fVar34 = (float)(*pcVar30)(pfVar18,pfVar16,uStack_248);" (assignment_expression "fVar34 = (float)(*pcVar30)(pfVar18,pfVar16,uStack_248)" identifier = (cast_expression "(float)(*pcVar30)(pfVar18,pfVar16,uStack_248)" ( (type_descriptor "float" primitive_type) ) (call_expression "(*pcVar30)(pfVar18,pfVar16,uStack_248)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(pfVar18,pfVar16,uStack_248)" ( identifier , identifier , identifier ))))) ;) (if_statement "if (fVar34 == 0.0) {\n      return 0.0;\n    }" if (parenthesized_expression "(fVar34 == 0.0)" ( (binary_expression "fVar34 == 0.0" identifier == number_literal) )) (compound_statement "{\n      return 0.0;\n    }" { (return_statement "return 0.0;" return number_literal ;) })) (if_statement "if (uVar40 == 1) {\n      if (uVar41 == 1) {\n        return fVar34;\n      }\nLAB_00213d14:\n      uVar41 = uVar41 >> 1;\n    }\n    else {\n      uVar40 = uVar40 >> 1;\n      if (uVar41 != 1) goto LAB_00213d14;\n    }" if (parenthesized_expression "(uVar40 == 1)" ( (binary_expression "uVar40 == 1" identifier == number_literal) )) (compound_statement "{\n      if (uVar41 == 1) {\n        return fVar34;\n      }\nLAB_00213d14:\n      uVar41 = uVar41 >> 1;\n    }" { (if_statement "if (uVar41 == 1) {\n        return fVar34;\n      }" if (parenthesized_expression "(uVar41 == 1)" ( (binary_expression "uVar41 == 1" identifier == number_literal) )) (compound_statement "{\n        return fVar34;\n      }" { (return_statement "return fVar34;" return identifier ;) })) (labeled_statement "LAB_00213d14:\n      uVar41 = uVar41 >> 1;" statement_identifier : (expression_statement "uVar41 = uVar41 >> 1;" (assignment_expression "uVar41 = uVar41 >> 1" identifier = (binary_expression "uVar41 >> 1" identifier >> number_literal)) ;)) }) (else_clause "else {\n      uVar40 = uVar40 >> 1;\n      if (uVar41 != 1) goto LAB_00213d14;\n    }" else (compound_statement "{\n      uVar40 = uVar40 >> 1;\n      if (uVar41 != 1) goto LAB_00213d14;\n    }" { (expression_statement "uVar40 = uVar40 >> 1;" (assignment_expression "uVar40 = uVar40 >> 1" identifier = (binary_expression "uVar40 >> 1" identifier >> number_literal)) ;) (if_statement "if (uVar41 != 1) goto LAB_00213d14;" if (parenthesized_expression "(uVar41 != 1)" ( (binary_expression "uVar41 != 1" identifier != number_literal) )) (goto_statement "goto LAB_00213d14;" goto statement_identifier ;)) }))) (if_statement "if ((int)pfVar16[5] <= iVar15) {\n      return fVar34;\n    }" if (parenthesized_expression "((int)pfVar16[5] <= iVar15)" ( (binary_expression "(int)pfVar16[5] <= iVar15" (cast_expression "(int)pfVar16[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pfVar16[5]" identifier [ number_literal ])) <= identifier) )) (compound_statement "{\n      return fVar34;\n    }" { (return_statement "return fVar34;" return identifier ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (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 (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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT)) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) ))) != IDENT) )) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression IDENT * IDENT) + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression IDENT * IDENT) + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + (binary_expression IDENT * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( IDENT ))) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT * LIT) + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_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) ))))) + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT * IDENT) + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT << LIT)) | IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT << LIT)) | IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) ^ LIT) )) & LIT)) ;) }) (else_clause else (compound_statement { (while_statement while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (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 (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT) ))) >> LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) << LIT) | (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) << LIT)) | (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) | (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) << 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 ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return (pointer_expression * IDENT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , 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 , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (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 (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (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) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT << LIT) ))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (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) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT << LIT) )))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }) (else_clause else (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }))))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (unary_expression - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT << LIT) ))) >> LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) < IDENT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;)) (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 ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (break_statement break ;)) (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 { (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (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 ))) ;) (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) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) })) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_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 (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression & 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( 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) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) * LIT) & LIT) ))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT) )) << (parenthesized_expression ( (binary_expression (unary_expression ~ IDENT) & LIT) ))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) ))))) * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ IDENT ])))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) * IDENT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ IDENT ])) * IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) * IDENT) )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) * (cast_expression ( (type_descriptor TYPE) ) IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * IDENT)) ))) * LIT) >> LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) * (cast_expression ( (type_descriptor TYPE) ) IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * IDENT)) ))) * LIT) >> LIT) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT << LIT) )) >> LIT) ))) * IDENT) )))) ;)) }))))))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ]) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (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) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) while (parenthesized_expression ( BOOL )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) < IDENT) )) (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 = 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) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( 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) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT >> (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) & LIT) ))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) ))))) * IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ IDENT ])) * IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ IDENT ])) * IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) & LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) * LIT) & LIT) )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT) & LIT) ))) * IDENT) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (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) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (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 { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (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 ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) ))) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) >> LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < LIT) )) (compound_statement { (return_statement return LIT ;) })) (do_statement do (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return IDENT ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= IDENT) )) (compound_statement { (return_statement return IDENT ;) })) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "float FUN_00212674(int param_1,float *param_2,float *param_3,float *param_4,float param_5,\n                  float *param_6,float *param_7,int param_8,int param_9)\n\n{\n  byte bVar1;\n  byte bVar2;\n  float *pfVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  float *pfVar9;\n  byte *pbVar10;\n  float *pfVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  float *pfVar16;\n  undefined4 uVar17;\n  float *pfVar18;\n  float *pfVar19;\n  byte *pbVar20;\n  int iVar21;\n  int iVar22;\n  float *pfVar23;\n  int *piVar24;\n  uint *puVar25;\n  uint *puVar26;\n  uint *puVar27;\n  uint *unaff_s6;\n  float unaff_s7;\n  int iVar28;\n  undefined *puVar29;\n  code *pcVar30;\n  code *pcVar31;\n  code *pcVar32;\n  float unaff_s8;\n  code *pcVar33;\n  float fVar34;\n  uint uVar35;\n  uint uVar36;\n  uint uVar37;\n  uint uVar38;\n  float fVar39;\n  uint uVar40;\n  uint uVar41;\n  float fVar42;\n  float fVar43;\n  undefined8 in_f20_21;\n  double in_f22_23;\n  double dVar44;\n  double dVar45;\n  undefined8 uVar46;\n  uint uStack_248;\n  float fStack_22c;\n  byte abStack_228 [4];\n  byte abStack_224 [8];\n  int iStack_21c;\n  float *pfStack_218;\n  float *pfStack_214;\n  float *pfStack_210;\n  int *piStack_20c;\n  uint *puStack_208;\n  uint *puStack_204;\n  uint *puStack_200;\n  float fStack_1fc;\n  float fStack_1f8;\n  code *pcStack_1f4;\n  undefined8 uStack_1f0;\n  double dStack_1e8;\n  uint uStack_1d0;\n  float *pfStack_1cc;\n  code *pcStack_1c8;\n  uint uStack_1bc;\n  int *piStack_1b8;\n  float *pfStack_1b4;\n  uint uStack_1b0;\n  undefined4 uStack_1ac;\n  float *pfStack_1a8;\n  int *piStack_1a4;\n  float fStack_19c;\n  byte abStack_198 [4];\n  byte abStack_194 [8];\n  int iStack_18c;\n  float *pfStack_188;\n  float *pfStack_184;\n  float *pfStack_180;\n  int *piStack_17c;\n  uint *puStack_178;\n  uint *puStack_174;\n  uint *puStack_170;\n  float fStack_16c;\n  float fStack_168;\n  code *pcStack_164;\n  float *pfStack_140;\n  float *pfStack_13c;\n  int iStack_138;\n  float *pfStack_134;\n  code *pcStack_130;\n  code *pcStack_128;\n  uint uStack_124;\n  uint uStack_120;\n  float fStack_11c;\n  float fStack_118;\n  undefined4 uStack_114;\n  uint *puStack_110;\n  undefined4 uStack_10c;\n  undefined4 uStack_108;\n  uint uStack_104;\n  uint uStack_100;\n  int iStack_fc;\n  undefined4 uStack_f8;\n  undefined4 uStack_f4;\n  undefined4 uStack_f0;\n  undefined4 uStack_ec;\n  undefined4 uStack_e8;\n  int iStack_e4;\n  float *pfStack_e0;\n  float *pfStack_dc;\n  float *pfStack_d8;\n  float *pfStack_d4;\n  uint *puStack_d0;\n  uint *puStack_cc;\n  undefined4 uStack_9c;\n  float afStack_8c [2];\n  float local_54;\n  float local_50;\n  byte *local_4c [16];\n  float *local_c;\n  \n  puVar29 = PTR___stack_chk_guard_003a9230;\n  pfVar18 = (float *)(param_8 + param_9 * 0x10);\n  local_c = *(float **)PTR___stack_chk_guard_003a9230;\n  if (param_1 < 1) {\n    fVar34 = 1.4013e-45;\n    if (0 < param_9) goto LAB_00212794;\n    *param_7 = 0.0;\n    param_7[1] = 0.0;\n    param_7[2] = 0.0;\n    param_7[3] = 0.0;\n  }\n  else {\n    pfVar3 = (float *)local_4c;\n    iVar8 = 0;\n    pfVar19 = param_2;\n    pfVar23 = pfVar3;\n    pfVar9 = pfVar18;\n    do {\n      fVar42 = pfVar19[1];\n      pfVar16 = (float *)((int)pfVar9 + 1);\n      pfVar11 = pfVar23 + 1;\n      fVar39 = *pfVar19;\n      fVar34 = pfVar19[2];\n      *(byte *)pfVar9 = (byte)iVar8;\n      iVar8 = iVar8 + 1;\n      *pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;\n      pfVar19 = pfVar19 + 4;\n      pfVar23 = pfVar11;\n      pfVar9 = pfVar16;\n    } while (iVar8 != param_1);\n    pfVar19 = (float *)((int)pfVar18 + -1);\n    do {\n      if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }\n      pfVar19 = (float *)((int)pfVar19 + 1);\n      pfVar3 = pfVar3 + 1;\n    } while ((float *)((int)pfVar18 + param_1 + -1) != pfVar19);\n    param_3 = pfVar11;\n    param_4 = pfVar16;\n    if (param_9 < 1) {\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\nLAB_00212818:\n      iVar8 = 0;\n      do {\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      } while (param_3 != (float *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);\n      iVar8 = 0;\n      pfVar16 = param_4;\n      do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\n      param_4 = pfVar16;\n      if (0 < param_1) goto LAB_00212818;\n    }\n    fVar34 = 1.4013e-45;\n  }\nLAB_002127dc:\n  if (local_c == *(float **)puVar29) {\n    return fVar34;\n  }\n  pfVar18 = local_c;\n  puVar29 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  fVar34 = *(float *)(*(int *)(puVar29 + 0x196010) + -0xe34);\n  fVar39 = *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e70);\n  pfVar3 = *(float **)(puVar29 + 0x196954);\n  afStack_8c[0] = *pfVar3;\n  uVar40 = (uint)((float)param_2 * fVar39 + fVar34);\n  uVar41 = (uint)((float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34);\n  if (0x1f < uVar40) {\n    uVar40 = 0x1f;\n  }\n  uVar35 = (uint)(fVar39 * 5.421411e-39 + fVar34);\n  if (0x3f < uVar41) {\n    uVar41 = 0x3f;\n  }\n  uVar36 = (uint)(local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34);\n  if (0x1f < uVar35) {\n    uVar35 = 0x1f;\n  }\n  uVar37 = (uint)((float)param_4 * fVar39 + fVar34);\n  if (0x3f < uVar36) {\n    uVar36 = 0x3f;\n  }\n  uVar38 = (uint)(local_50 * fVar39 + fVar34);\n  if (0x1f < uVar37) {\n    uVar37 = 0x1f;\n  }\n  puVar27 = (uint *)(uVar40 << 0xb | uVar41 << 5 | uVar37);\n  if (0x1f < uVar38) {\n    uVar38 = 0x1f;\n  }\n  puVar25 = (uint *)(uVar35 << 0xb | uVar36 << 5 | uVar38);\n  pfVar19 = (float *)&uStack_9c;\n  do {\n    if (puVar27 < puVar25) {\n      *(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3;\n    }\n    else {\n      while (puVar25 != puVar27) {\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }\n      *(byte *)pfVar19 = 0;\n    }\n    pfVar23 = (float *)((int)pfVar19 + 1);\n    local_4c[0] = local_4c[0] + 1;\n    pfVar19 = pfVar23;\n  } while (afStack_8c != pfVar23);\nLAB_00212a50:\n  puVar26 = puVar25;\n  if (puVar27 < puVar25) {\n    puVar26 = puVar27;\n    puVar27 = puVar25;\n  }\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar27 & 0xff);\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar27 << 0x10) >> 0x18);\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar26 & 0xff);\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar26 << 0x10) >> 0x18);\n  pfVar19 = (float *)&uStack_9c;\n  do {\n    pfVar11 = pfVar19 + 1;\n    pfVar16 = (float *)(((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff);\n    pfVar9 = pfVar18;\n    (**(code **)(puVar29 + 0x196700))();\n    pfVar19 = pfVar11;\n  } while (pfVar23 != pfVar11);\n  if (afStack_8c[0] == *pfVar3) {\n    return *pfVar3;\n  }\n  pcVar30 = *(code **)(puVar29 + 0x196788);\n  (*pcVar30)();\n  pcVar32 = pcVar30 + 0x19dd78;\n  piVar24 = *(int **)(pcVar30 + 0x1966f8);\n  iStack_e4 = *piVar24;\n  pcStack_130 = pcVar32;\n  pfStack_e0 = pfVar23;\n  pfStack_dc = pfVar18;\n  pfStack_d8 = pfVar3;\n  pfStack_d4 = pfVar11;\n  puStack_d0 = puVar26;\n  puStack_cc = puVar27;\n  if (pfVar9 == (float *)0x0) {\nLAB_00213360:\n    pfVar9 = pfVar18;\n    (**(code **)(pcVar32 + -0x72a8))\n              (*(int *)(pcVar32 + -0x7fd0) + 0xd78,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n  }\n  else {\n    if (pfVar9[0xc85] != -1.2269538e-12) goto LAB_00213390;\n    if (pfVar9[0xc84] != 0.0) {\n      pfStack_13c = pfVar9 + 0x884;\n      pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);\n    }\n    pcVar32 = pcStack_130;\n    pfVar3 = pfVar16;\n    if (pfVar16 == (float *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n      pfVar18 = pfVar9;\n      goto LAB_00213360;\n    }\n    if (pfVar16[7] != -1.2269538e-12) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }\n    pfVar23 = (float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16);\n    iVar8 = (**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16);\n    if (iVar8 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      fVar34 = 0.0;\n      goto LAB_00212c9c;\n    }\n    pfStack_140 = (float *)0x0;\n    (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n    iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n    if ((iVar8 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar26 = (uint *)0x1;\n      fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      if (iVar8 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      puVar26 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pfStack_140 = (float *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = 0.0;\n      unaff_s7 = 2.24208e-44;\n      pcStack_128 = (code *)(puVar27 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar26 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar26 = (uint *)0x1;\nLAB_00212ed8:\n      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);\n      puVar27 = puVar26;\n      if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }\n      else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar8 = (*pcVar32)(0xb);\n      if (iVar8 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar27 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);\n      uStack_124 = (uint)(iVar8 != 0);\n      while( true ) {\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n      fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n    }\n    else {\nLAB_00212c24:\n      uVar17 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar15 = *(int *)(pcStack_130 + -0x7f60);\n      iVar8 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar32 = *(code **)(pcStack_130 + -0x7990);\n      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;\n      iStack_138 = iStack_138 + 0x3e28;\n      pfStack_140 = (float *)&DAT_000001a9;\n      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);\n      if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }\n      fVar34 = 0.0;\n      pfVar9 = pfVar9 + 0x884;\n    }\nLAB_00212c9c:\n    pcVar32 = pcStack_130;\n    if (iStack_e4 == *piVar24) {\n      return fVar34;\n    }\n  }\n  (**(code **)(pcVar32 + -0x784c))();\nLAB_00213390:\n  pfVar19 = (float *)0x6c8;\n  pcVar31 = *(code **)(pcVar32 + -0x72a8);\n  pcVar30 = (code *)(*(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n  pfVar18 = (float *)(*(int *)(pcVar32 + -0x7f60) + -0x2c20);\n  pcVar33 = FUN_002133b4;\n  puVar25 = (uint *)(*(int *)(pcVar32 + -0x7fd0) + 0xda0);\n  (*pcVar31)();\n  pcStack_1c8 = pcVar31 + 0x19d4fc;\n  piStack_1a4 = *(int **)(pcVar31 + 0x195e7c);\n  pfStack_1a8 = (float *)0x0;\n  iStack_18c = *piStack_1a4;\n  uVar40 = puVar25[7];\n  pfStack_1b4 = pfVar19;\n  pfStack_188 = pfVar23;\n  pfStack_184 = pfVar9;\n  pfStack_180 = pfVar3;\n  piStack_17c = piVar24;\n  puStack_178 = puVar26;\n  puStack_174 = puVar27;\n  puStack_170 = unaff_s6;\n  fStack_16c = unaff_s7;\n  fStack_168 = unaff_s8;\n  pcStack_164 = pcVar33;\n  if (0 < (int)uVar40) {\n    in_f22_23 = *(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0);\n    in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50));\n    do {\n      pfVar16 = pfStack_1a8;\n      pcVar30 = (code *)puVar25[6];\n      pfVar3 = (float *)0x0;\n      if (0 < (int)pcVar30) {\n        do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );\n      }\n      pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar8 = (*pcVar32)(puVar25);\n      if (iVar8 != 0) {\nLAB_002137bc:\n        fVar34 = 0.0;\n        goto LAB_002137c0;\n      }\n      uVar40 = puVar25[7];\n      pfStack_1a8 = pfStack_1a8 + 1;\n      puVar26 = puVar25;\n    } while ((int)pfStack_1a8 < (int)uVar40);\n  }\n  fVar34 = 1.4013e-45;\n  puVar25 = puVar26;\nLAB_002137c0:\n  if (iStack_18c == *piStack_1a4) {\n    return fVar34;\n  }\n  pcVar32 = *(code **)(pcStack_1c8 + -0x784c);\n  pcVar31 = FUN_0021384c;\n  iVar8 = iStack_18c;\n  (*pcVar32)();\n  piVar4 = *(int **)(pcVar32 + 0x1959e4);\n  iStack_21c = *piVar4;\n  iVar15 = *(int *)(iVar8 + 0x1c);\n  pfVar16 = pfVar19;\n  pfStack_218 = pfVar23;\n  pfStack_214 = pfVar9;\n  pfStack_210 = pfVar3;\n  piStack_20c = piVar24;\n  puStack_208 = puVar25;\n  puStack_204 = puVar27;\n  puStack_200 = unaff_s6;\n  fStack_1fc = unaff_s7;\n  fStack_1f8 = unaff_s8;\n  pcStack_1f4 = pcVar31;\n  uStack_1f0 = in_f20_21;\n  dStack_1e8 = in_f22_23;\n  if (0 < iVar15) {\n    pfVar3 = (float *)0x0;\n    iVar13 = *(int *)(pcVar32 + 0x195378);\n    dVar44 = *(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0);\n    dVar45 = dVar44;\n    do {\n      pcVar30 = *(code **)(iVar8 + 0x18);\n      pfVar23 = (float *)0x0;\n      if ((int)pcVar30 < 1) {\n        pcVar31 = *(code **)(pcVar32 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }\n      iVar15 = (*pcVar31)(iVar8);\n      if (iVar15 != 0) {\nLAB_00213b34:\n        fVar34 = 0.0;\n        goto LAB_00213b38;\n      }\n      iVar15 = *(int *)(iVar8 + 0x1c);\n      pfVar3 = pfVar3 + 1;\n    } while ((int)pfVar3 < iVar15);\n  }\n  fVar34 = 1.4013e-45;\nLAB_00213b38:\n  if (iStack_21c == *piVar4) {\n    return fVar34;\n  }\n  pcVar32 = *(code **)(pcVar32 + 0x195818);\n  iVar8 = iStack_21c;\n  (*pcVar32)();\n  iVar15 = (**(code **)(pcVar32 + 0x195b8c))(pfVar18);\n  if (iVar15 != 0) {\n    puVar7 = (undefined4 *)(**(code **)(pcVar32 + 0x195df4))();\n    uVar17 = (**(code **)(pcVar32 + 0x195830))(*puVar7);\n    (**(code **)(pcVar32 + 0x195364))\n              (uStack_248,*(int *)(pcVar32 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar32 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar32 + 0x194d30) + -0x17c,*(int *)(pcVar32 + 0x194d24) + 0xe78,\n               pfVar18 + 0xd0,uVar17);\n    (**(code **)(pcVar32 + 0x1954b8))(uVar17);\n    return 0.0;\n  }\n  if (-1 < (int)pfVar16[6] << 9) {\n    return 1.4013e-45;\n  }\n  if ((((uint)pfVar16[6] & 0x1000) == 0) && (((uint)pfVar16[7] & 0x200) == 0)) {\n    return 1.4013e-45;\n  }\n  if ((uint)pfVar16[2] < 2) {\n    fVar34 = pfVar16[1];\n    uVar40 = 1;\n  }\n  else {\n    fVar34 = pfVar16[1];\n    uVar40 = (uint)pfVar16[2] >> 1;\n  }\n  if ((uint)fVar34 < 2) {\n    uVar41 = 1;\n  }\n  else {\n    uVar41 = (uint)fVar34 >> 1;\n  }\n  iVar15 = 1;\n  if ((int)pfVar16[5] < 2) {\n    return 1.4013e-45;\n  }\n  do {\n    (**(code **)(pcVar32 + 0x1953d4))(iVar8,pfVar18,uStack_248);\n    iVar15 = iVar15 + 1;\n    pcVar31 = *(code **)(pcVar32 + 0x19584c);\n    if (pfVar18[0xcda] == 0.0) {\n      return 0.0;\n    }\n    *(float *)((int)pfVar18[0xcda] + 700) = pfVar18[0xaf];\n    pfVar18 = (float *)(*pcVar31)(pfVar18);\n    iVar13 = (**(code **)(pcVar32 + 0x1958f0))(pfVar18,uVar40,uVar41,uStack_248);\n    if (iVar13 == 0) {\n      return 0.0;\n    }\n    fVar34 = (float)(*pcVar30)(pfVar18,pfVar16,uStack_248);\n    if (fVar34 == 0.0) {\n      return 0.0;\n    }\n    if (uVar40 == 1) {\n      if (uVar41 == 1) {\n        return fVar34;\n      }\nLAB_00213d14:\n      uVar41 = uVar41 >> 1;\n    }\n    else {\n      uVar40 = uVar40 >> 1;\n      if (uVar41 != 1) goto LAB_00213d14;\n    }\n    if ((int)pfVar16[5] <= iVar15) {\n      return fVar34;\n    }\n  } while( true );\n}" (primitive_type "float") (function_declarator "FUN_00212674(int param_1,float *param_2,float *param_3,float *param_4,float param_5,\n                  float *param_6,float *param_7,int param_8,int param_9)" (identifier "FUN_00212674") (parameter_list "(int param_1,float *param_2,float *param_3,float *param_4,float param_5,\n                  float *param_6,float *param_7,int param_8,int param_9)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "float *param_2" (primitive_type "float") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "float *param_3" (primitive_type "float") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "float *param_4" (primitive_type "float") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "float param_5" (primitive_type "float") (identifier "param_5")) (, ",") (parameter_declaration "float *param_6" (primitive_type "float") (pointer_declarator "*param_6" (* "*") (identifier "param_6"))) (, ",") (parameter_declaration "float *param_7" (primitive_type "float") (pointer_declarator "*param_7" (* "*") (identifier "param_7"))) (, ",") (parameter_declaration "int param_8" (primitive_type "int") (identifier "param_8")) (, ",") (parameter_declaration "int param_9" (primitive_type "int") (identifier "param_9")) () ")"))) (compound_statement "{\n  byte bVar1;\n  byte bVar2;\n  float *pfVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  float *pfVar9;\n  byte *pbVar10;\n  float *pfVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  float *pfVar16;\n  undefined4 uVar17;\n  float *pfVar18;\n  float *pfVar19;\n  byte *pbVar20;\n  int iVar21;\n  int iVar22;\n  float *pfVar23;\n  int *piVar24;\n  uint *puVar25;\n  uint *puVar26;\n  uint *puVar27;\n  uint *unaff_s6;\n  float unaff_s7;\n  int iVar28;\n  undefined *puVar29;\n  code *pcVar30;\n  code *pcVar31;\n  code *pcVar32;\n  float unaff_s8;\n  code *pcVar33;\n  float fVar34;\n  uint uVar35;\n  uint uVar36;\n  uint uVar37;\n  uint uVar38;\n  float fVar39;\n  uint uVar40;\n  uint uVar41;\n  float fVar42;\n  float fVar43;\n  undefined8 in_f20_21;\n  double in_f22_23;\n  double dVar44;\n  double dVar45;\n  undefined8 uVar46;\n  uint uStack_248;\n  float fStack_22c;\n  byte abStack_228 [4];\n  byte abStack_224 [8];\n  int iStack_21c;\n  float *pfStack_218;\n  float *pfStack_214;\n  float *pfStack_210;\n  int *piStack_20c;\n  uint *puStack_208;\n  uint *puStack_204;\n  uint *puStack_200;\n  float fStack_1fc;\n  float fStack_1f8;\n  code *pcStack_1f4;\n  undefined8 uStack_1f0;\n  double dStack_1e8;\n  uint uStack_1d0;\n  float *pfStack_1cc;\n  code *pcStack_1c8;\n  uint uStack_1bc;\n  int *piStack_1b8;\n  float *pfStack_1b4;\n  uint uStack_1b0;\n  undefined4 uStack_1ac;\n  float *pfStack_1a8;\n  int *piStack_1a4;\n  float fStack_19c;\n  byte abStack_198 [4];\n  byte abStack_194 [8];\n  int iStack_18c;\n  float *pfStack_188;\n  float *pfStack_184;\n  float *pfStack_180;\n  int *piStack_17c;\n  uint *puStack_178;\n  uint *puStack_174;\n  uint *puStack_170;\n  float fStack_16c;\n  float fStack_168;\n  code *pcStack_164;\n  float *pfStack_140;\n  float *pfStack_13c;\n  int iStack_138;\n  float *pfStack_134;\n  code *pcStack_130;\n  code *pcStack_128;\n  uint uStack_124;\n  uint uStack_120;\n  float fStack_11c;\n  float fStack_118;\n  undefined4 uStack_114;\n  uint *puStack_110;\n  undefined4 uStack_10c;\n  undefined4 uStack_108;\n  uint uStack_104;\n  uint uStack_100;\n  int iStack_fc;\n  undefined4 uStack_f8;\n  undefined4 uStack_f4;\n  undefined4 uStack_f0;\n  undefined4 uStack_ec;\n  undefined4 uStack_e8;\n  int iStack_e4;\n  float *pfStack_e0;\n  float *pfStack_dc;\n  float *pfStack_d8;\n  float *pfStack_d4;\n  uint *puStack_d0;\n  uint *puStack_cc;\n  undefined4 uStack_9c;\n  float afStack_8c [2];\n  float local_54;\n  float local_50;\n  byte *local_4c [16];\n  float *local_c;\n  \n  puVar29 = PTR___stack_chk_guard_003a9230;\n  pfVar18 = (float *)(param_8 + param_9 * 0x10);\n  local_c = *(float **)PTR___stack_chk_guard_003a9230;\n  if (param_1 < 1) {\n    fVar34 = 1.4013e-45;\n    if (0 < param_9) goto LAB_00212794;\n    *param_7 = 0.0;\n    param_7[1] = 0.0;\n    param_7[2] = 0.0;\n    param_7[3] = 0.0;\n  }\n  else {\n    pfVar3 = (float *)local_4c;\n    iVar8 = 0;\n    pfVar19 = param_2;\n    pfVar23 = pfVar3;\n    pfVar9 = pfVar18;\n    do {\n      fVar42 = pfVar19[1];\n      pfVar16 = (float *)((int)pfVar9 + 1);\n      pfVar11 = pfVar23 + 1;\n      fVar39 = *pfVar19;\n      fVar34 = pfVar19[2];\n      *(byte *)pfVar9 = (byte)iVar8;\n      iVar8 = iVar8 + 1;\n      *pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;\n      pfVar19 = pfVar19 + 4;\n      pfVar23 = pfVar11;\n      pfVar9 = pfVar16;\n    } while (iVar8 != param_1);\n    pfVar19 = (float *)((int)pfVar18 + -1);\n    do {\n      if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }\n      pfVar19 = (float *)((int)pfVar19 + 1);\n      pfVar3 = pfVar3 + 1;\n    } while ((float *)((int)pfVar18 + param_1 + -1) != pfVar19);\n    param_3 = pfVar11;\n    param_4 = pfVar16;\n    if (param_9 < 1) {\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\nLAB_00212818:\n      iVar8 = 0;\n      do {\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      } while (param_3 != (float *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);\n      iVar8 = 0;\n      pfVar16 = param_4;\n      do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\n      param_4 = pfVar16;\n      if (0 < param_1) goto LAB_00212818;\n    }\n    fVar34 = 1.4013e-45;\n  }\nLAB_002127dc:\n  if (local_c == *(float **)puVar29) {\n    return fVar34;\n  }\n  pfVar18 = local_c;\n  puVar29 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  fVar34 = *(float *)(*(int *)(puVar29 + 0x196010) + -0xe34);\n  fVar39 = *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e70);\n  pfVar3 = *(float **)(puVar29 + 0x196954);\n  afStack_8c[0] = *pfVar3;\n  uVar40 = (uint)((float)param_2 * fVar39 + fVar34);\n  uVar41 = (uint)((float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34);\n  if (0x1f < uVar40) {\n    uVar40 = 0x1f;\n  }\n  uVar35 = (uint)(fVar39 * 5.421411e-39 + fVar34);\n  if (0x3f < uVar41) {\n    uVar41 = 0x3f;\n  }\n  uVar36 = (uint)(local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34);\n  if (0x1f < uVar35) {\n    uVar35 = 0x1f;\n  }\n  uVar37 = (uint)((float)param_4 * fVar39 + fVar34);\n  if (0x3f < uVar36) {\n    uVar36 = 0x3f;\n  }\n  uVar38 = (uint)(local_50 * fVar39 + fVar34);\n  if (0x1f < uVar37) {\n    uVar37 = 0x1f;\n  }\n  puVar27 = (uint *)(uVar40 << 0xb | uVar41 << 5 | uVar37);\n  if (0x1f < uVar38) {\n    uVar38 = 0x1f;\n  }\n  puVar25 = (uint *)(uVar35 << 0xb | uVar36 << 5 | uVar38);\n  pfVar19 = (float *)&uStack_9c;\n  do {\n    if (puVar27 < puVar25) {\n      *(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3;\n    }\n    else {\n      while (puVar25 != puVar27) {\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }\n      *(byte *)pfVar19 = 0;\n    }\n    pfVar23 = (float *)((int)pfVar19 + 1);\n    local_4c[0] = local_4c[0] + 1;\n    pfVar19 = pfVar23;\n  } while (afStack_8c != pfVar23);\nLAB_00212a50:\n  puVar26 = puVar25;\n  if (puVar27 < puVar25) {\n    puVar26 = puVar27;\n    puVar27 = puVar25;\n  }\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar27 & 0xff);\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar27 << 0x10) >> 0x18);\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar26 & 0xff);\n  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar26 << 0x10) >> 0x18);\n  pfVar19 = (float *)&uStack_9c;\n  do {\n    pfVar11 = pfVar19 + 1;\n    pfVar16 = (float *)(((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff);\n    pfVar9 = pfVar18;\n    (**(code **)(puVar29 + 0x196700))();\n    pfVar19 = pfVar11;\n  } while (pfVar23 != pfVar11);\n  if (afStack_8c[0] == *pfVar3) {\n    return *pfVar3;\n  }\n  pcVar30 = *(code **)(puVar29 + 0x196788);\n  (*pcVar30)();\n  pcVar32 = pcVar30 + 0x19dd78;\n  piVar24 = *(int **)(pcVar30 + 0x1966f8);\n  iStack_e4 = *piVar24;\n  pcStack_130 = pcVar32;\n  pfStack_e0 = pfVar23;\n  pfStack_dc = pfVar18;\n  pfStack_d8 = pfVar3;\n  pfStack_d4 = pfVar11;\n  puStack_d0 = puVar26;\n  puStack_cc = puVar27;\n  if (pfVar9 == (float *)0x0) {\nLAB_00213360:\n    pfVar9 = pfVar18;\n    (**(code **)(pcVar32 + -0x72a8))\n              (*(int *)(pcVar32 + -0x7fd0) + 0xd78,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n  }\n  else {\n    if (pfVar9[0xc85] != -1.2269538e-12) goto LAB_00213390;\n    if (pfVar9[0xc84] != 0.0) {\n      pfStack_13c = pfVar9 + 0x884;\n      pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);\n    }\n    pcVar32 = pcStack_130;\n    pfVar3 = pfVar16;\n    if (pfVar16 == (float *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n      pfVar18 = pfVar9;\n      goto LAB_00213360;\n    }\n    if (pfVar16[7] != -1.2269538e-12) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }\n    pfVar23 = (float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16);\n    iVar8 = (**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16);\n    if (iVar8 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      fVar34 = 0.0;\n      goto LAB_00212c9c;\n    }\n    pfStack_140 = (float *)0x0;\n    (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n    iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n    if ((iVar8 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar26 = (uint *)0x1;\n      fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      if (iVar8 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      puVar26 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pfStack_140 = (float *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = 0.0;\n      unaff_s7 = 2.24208e-44;\n      pcStack_128 = (code *)(puVar27 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar26 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar26 = (uint *)0x1;\nLAB_00212ed8:\n      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);\n      puVar27 = puVar26;\n      if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }\n      else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar8 = (*pcVar32)(0xb);\n      if (iVar8 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar27 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);\n      uStack_124 = (uint)(iVar8 != 0);\n      while( true ) {\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n      fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n    }\n    else {\nLAB_00212c24:\n      uVar17 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar15 = *(int *)(pcStack_130 + -0x7f60);\n      iVar8 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar32 = *(code **)(pcStack_130 + -0x7990);\n      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;\n      iStack_138 = iStack_138 + 0x3e28;\n      pfStack_140 = (float *)&DAT_000001a9;\n      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);\n      if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }\n      fVar34 = 0.0;\n      pfVar9 = pfVar9 + 0x884;\n    }\nLAB_00212c9c:\n    pcVar32 = pcStack_130;\n    if (iStack_e4 == *piVar24) {\n      return fVar34;\n    }\n  }\n  (**(code **)(pcVar32 + -0x784c))();\nLAB_00213390:\n  pfVar19 = (float *)0x6c8;\n  pcVar31 = *(code **)(pcVar32 + -0x72a8);\n  pcVar30 = (code *)(*(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n  pfVar18 = (float *)(*(int *)(pcVar32 + -0x7f60) + -0x2c20);\n  pcVar33 = FUN_002133b4;\n  puVar25 = (uint *)(*(int *)(pcVar32 + -0x7fd0) + 0xda0);\n  (*pcVar31)();\n  pcStack_1c8 = pcVar31 + 0x19d4fc;\n  piStack_1a4 = *(int **)(pcVar31 + 0x195e7c);\n  pfStack_1a8 = (float *)0x0;\n  iStack_18c = *piStack_1a4;\n  uVar40 = puVar25[7];\n  pfStack_1b4 = pfVar19;\n  pfStack_188 = pfVar23;\n  pfStack_184 = pfVar9;\n  pfStack_180 = pfVar3;\n  piStack_17c = piVar24;\n  puStack_178 = puVar26;\n  puStack_174 = puVar27;\n  puStack_170 = unaff_s6;\n  fStack_16c = unaff_s7;\n  fStack_168 = unaff_s8;\n  pcStack_164 = pcVar33;\n  if (0 < (int)uVar40) {\n    in_f22_23 = *(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0);\n    in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50));\n    do {\n      pfVar16 = pfStack_1a8;\n      pcVar30 = (code *)puVar25[6];\n      pfVar3 = (float *)0x0;\n      if (0 < (int)pcVar30) {\n        do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );\n      }\n      pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar8 = (*pcVar32)(puVar25);\n      if (iVar8 != 0) {\nLAB_002137bc:\n        fVar34 = 0.0;\n        goto LAB_002137c0;\n      }\n      uVar40 = puVar25[7];\n      pfStack_1a8 = pfStack_1a8 + 1;\n      puVar26 = puVar25;\n    } while ((int)pfStack_1a8 < (int)uVar40);\n  }\n  fVar34 = 1.4013e-45;\n  puVar25 = puVar26;\nLAB_002137c0:\n  if (iStack_18c == *piStack_1a4) {\n    return fVar34;\n  }\n  pcVar32 = *(code **)(pcStack_1c8 + -0x784c);\n  pcVar31 = FUN_0021384c;\n  iVar8 = iStack_18c;\n  (*pcVar32)();\n  piVar4 = *(int **)(pcVar32 + 0x1959e4);\n  iStack_21c = *piVar4;\n  iVar15 = *(int *)(iVar8 + 0x1c);\n  pfVar16 = pfVar19;\n  pfStack_218 = pfVar23;\n  pfStack_214 = pfVar9;\n  pfStack_210 = pfVar3;\n  piStack_20c = piVar24;\n  puStack_208 = puVar25;\n  puStack_204 = puVar27;\n  puStack_200 = unaff_s6;\n  fStack_1fc = unaff_s7;\n  fStack_1f8 = unaff_s8;\n  pcStack_1f4 = pcVar31;\n  uStack_1f0 = in_f20_21;\n  dStack_1e8 = in_f22_23;\n  if (0 < iVar15) {\n    pfVar3 = (float *)0x0;\n    iVar13 = *(int *)(pcVar32 + 0x195378);\n    dVar44 = *(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0);\n    dVar45 = dVar44;\n    do {\n      pcVar30 = *(code **)(iVar8 + 0x18);\n      pfVar23 = (float *)0x0;\n      if ((int)pcVar30 < 1) {\n        pcVar31 = *(code **)(pcVar32 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }\n      iVar15 = (*pcVar31)(iVar8);\n      if (iVar15 != 0) {\nLAB_00213b34:\n        fVar34 = 0.0;\n        goto LAB_00213b38;\n      }\n      iVar15 = *(int *)(iVar8 + 0x1c);\n      pfVar3 = pfVar3 + 1;\n    } while ((int)pfVar3 < iVar15);\n  }\n  fVar34 = 1.4013e-45;\nLAB_00213b38:\n  if (iStack_21c == *piVar4) {\n    return fVar34;\n  }\n  pcVar32 = *(code **)(pcVar32 + 0x195818);\n  iVar8 = iStack_21c;\n  (*pcVar32)();\n  iVar15 = (**(code **)(pcVar32 + 0x195b8c))(pfVar18);\n  if (iVar15 != 0) {\n    puVar7 = (undefined4 *)(**(code **)(pcVar32 + 0x195df4))();\n    uVar17 = (**(code **)(pcVar32 + 0x195830))(*puVar7);\n    (**(code **)(pcVar32 + 0x195364))\n              (uStack_248,*(int *)(pcVar32 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar32 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar32 + 0x194d30) + -0x17c,*(int *)(pcVar32 + 0x194d24) + 0xe78,\n               pfVar18 + 0xd0,uVar17);\n    (**(code **)(pcVar32 + 0x1954b8))(uVar17);\n    return 0.0;\n  }\n  if (-1 < (int)pfVar16[6] << 9) {\n    return 1.4013e-45;\n  }\n  if ((((uint)pfVar16[6] & 0x1000) == 0) && (((uint)pfVar16[7] & 0x200) == 0)) {\n    return 1.4013e-45;\n  }\n  if ((uint)pfVar16[2] < 2) {\n    fVar34 = pfVar16[1];\n    uVar40 = 1;\n  }\n  else {\n    fVar34 = pfVar16[1];\n    uVar40 = (uint)pfVar16[2] >> 1;\n  }\n  if ((uint)fVar34 < 2) {\n    uVar41 = 1;\n  }\n  else {\n    uVar41 = (uint)fVar34 >> 1;\n  }\n  iVar15 = 1;\n  if ((int)pfVar16[5] < 2) {\n    return 1.4013e-45;\n  }\n  do {\n    (**(code **)(pcVar32 + 0x1953d4))(iVar8,pfVar18,uStack_248);\n    iVar15 = iVar15 + 1;\n    pcVar31 = *(code **)(pcVar32 + 0x19584c);\n    if (pfVar18[0xcda] == 0.0) {\n      return 0.0;\n    }\n    *(float *)((int)pfVar18[0xcda] + 700) = pfVar18[0xaf];\n    pfVar18 = (float *)(*pcVar31)(pfVar18);\n    iVar13 = (**(code **)(pcVar32 + 0x1958f0))(pfVar18,uVar40,uVar41,uStack_248);\n    if (iVar13 == 0) {\n      return 0.0;\n    }\n    fVar34 = (float)(*pcVar30)(pfVar18,pfVar16,uStack_248);\n    if (fVar34 == 0.0) {\n      return 0.0;\n    }\n    if (uVar40 == 1) {\n      if (uVar41 == 1) {\n        return fVar34;\n      }\nLAB_00213d14:\n      uVar41 = uVar41 >> 1;\n    }\n    else {\n      uVar40 = uVar40 >> 1;\n      if (uVar41 != 1) goto LAB_00213d14;\n    }\n    if ((int)pfVar16[5] <= iVar15) {\n      return fVar34;\n    }\n  } while( true );\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "byte bVar2;" (type_identifier "byte") (identifier "bVar2") (; ";")) (declaration "float *pfVar3;" (primitive_type "float") (pointer_declarator "*pfVar3" (* "*") (identifier "pfVar3")) (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined4 *puVar7;" (type_identifier "undefined4") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "float *pfVar9;" (primitive_type "float") (pointer_declarator "*pfVar9" (* "*") (identifier "pfVar9")) (; ";")) (declaration "byte *pbVar10;" (type_identifier "byte") (pointer_declarator "*pbVar10" (* "*") (identifier "pbVar10")) (; ";")) (declaration "float *pfVar11;" (primitive_type "float") (pointer_declarator "*pfVar11" (* "*") (identifier "pfVar11")) (; ";")) (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 iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "float *pfVar16;" (primitive_type "float") (pointer_declarator "*pfVar16" (* "*") (identifier "pfVar16")) (; ";")) (declaration "undefined4 uVar17;" (type_identifier "undefined4") (identifier "uVar17") (; ";")) (declaration "float *pfVar18;" (primitive_type "float") (pointer_declarator "*pfVar18" (* "*") (identifier "pfVar18")) (; ";")) (declaration "float *pfVar19;" (primitive_type "float") (pointer_declarator "*pfVar19" (* "*") (identifier "pfVar19")) (; ";")) (declaration "byte *pbVar20;" (type_identifier "byte") (pointer_declarator "*pbVar20" (* "*") (identifier "pbVar20")) (; ";")) (declaration "int iVar21;" (primitive_type "int") (identifier "iVar21") (; ";")) (declaration "int iVar22;" (primitive_type "int") (identifier "iVar22") (; ";")) (declaration "float *pfVar23;" (primitive_type "float") (pointer_declarator "*pfVar23" (* "*") (identifier "pfVar23")) (; ";")) (declaration "int *piVar24;" (primitive_type "int") (pointer_declarator "*piVar24" (* "*") (identifier "piVar24")) (; ";")) (declaration "uint *puVar25;" (type_identifier "uint") (pointer_declarator "*puVar25" (* "*") (identifier "puVar25")) (; ";")) (declaration "uint *puVar26;" (type_identifier "uint") (pointer_declarator "*puVar26" (* "*") (identifier "puVar26")) (; ";")) (declaration "uint *puVar27;" (type_identifier "uint") (pointer_declarator "*puVar27" (* "*") (identifier "puVar27")) (; ";")) (declaration "uint *unaff_s6;" (type_identifier "uint") (pointer_declarator "*unaff_s6" (* "*") (identifier "unaff_s6")) (; ";")) (declaration "float unaff_s7;" (primitive_type "float") (identifier "unaff_s7") (; ";")) (declaration "int iVar28;" (primitive_type "int") (identifier "iVar28") (; ";")) (declaration "undefined *puVar29;" (type_identifier "undefined") (pointer_declarator "*puVar29" (* "*") (identifier "puVar29")) (; ";")) (declaration "code *pcVar30;" (type_identifier "code") (pointer_declarator "*pcVar30" (* "*") (identifier "pcVar30")) (; ";")) (declaration "code *pcVar31;" (type_identifier "code") (pointer_declarator "*pcVar31" (* "*") (identifier "pcVar31")) (; ";")) (declaration "code *pcVar32;" (type_identifier "code") (pointer_declarator "*pcVar32" (* "*") (identifier "pcVar32")) (; ";")) (declaration "float unaff_s8;" (primitive_type "float") (identifier "unaff_s8") (; ";")) (declaration "code *pcVar33;" (type_identifier "code") (pointer_declarator "*pcVar33" (* "*") (identifier "pcVar33")) (; ";")) (declaration "float fVar34;" (primitive_type "float") (identifier "fVar34") (; ";")) (declaration "uint uVar35;" (type_identifier "uint") (identifier "uVar35") (; ";")) (declaration "uint uVar36;" (type_identifier "uint") (identifier "uVar36") (; ";")) (declaration "uint uVar37;" (type_identifier "uint") (identifier "uVar37") (; ";")) (declaration "uint uVar38;" (type_identifier "uint") (identifier "uVar38") (; ";")) (declaration "float fVar39;" (primitive_type "float") (identifier "fVar39") (; ";")) (declaration "uint uVar40;" (type_identifier "uint") (identifier "uVar40") (; ";")) (declaration "uint uVar41;" (type_identifier "uint") (identifier "uVar41") (; ";")) (declaration "float fVar42;" (primitive_type "float") (identifier "fVar42") (; ";")) (declaration "float fVar43;" (primitive_type "float") (identifier "fVar43") (; ";")) (declaration "undefined8 in_f20_21;" (type_identifier "undefined8") (identifier "in_f20_21") (; ";")) (declaration "double in_f22_23;" (primitive_type "double") (identifier "in_f22_23") (; ";")) (declaration "double dVar44;" (primitive_type "double") (identifier "dVar44") (; ";")) (declaration "double dVar45;" (primitive_type "double") (identifier "dVar45") (; ";")) (declaration "undefined8 uVar46;" (type_identifier "undefined8") (identifier "uVar46") (; ";")) (declaration "uint uStack_248;" (type_identifier "uint") (identifier "uStack_248") (; ";")) (declaration "float fStack_22c;" (primitive_type "float") (identifier "fStack_22c") (; ";")) (declaration "byte abStack_228 [4];" (type_identifier "byte") (array_declarator "abStack_228 [4]" (identifier "abStack_228") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "byte abStack_224 [8];" (type_identifier "byte") (array_declarator "abStack_224 [8]" (identifier "abStack_224") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "int iStack_21c;" (primitive_type "int") (identifier "iStack_21c") (; ";")) (declaration "float *pfStack_218;" (primitive_type "float") (pointer_declarator "*pfStack_218" (* "*") (identifier "pfStack_218")) (; ";")) (declaration "float *pfStack_214;" (primitive_type "float") (pointer_declarator "*pfStack_214" (* "*") (identifier "pfStack_214")) (; ";")) (declaration "float *pfStack_210;" (primitive_type "float") (pointer_declarator "*pfStack_210" (* "*") (identifier "pfStack_210")) (; ";")) (declaration "int *piStack_20c;" (primitive_type "int") (pointer_declarator "*piStack_20c" (* "*") (identifier "piStack_20c")) (; ";")) (declaration "uint *puStack_208;" (type_identifier "uint") (pointer_declarator "*puStack_208" (* "*") (identifier "puStack_208")) (; ";")) (declaration "uint *puStack_204;" (type_identifier "uint") (pointer_declarator "*puStack_204" (* "*") (identifier "puStack_204")) (; ";")) (declaration "uint *puStack_200;" (type_identifier "uint") (pointer_declarator "*puStack_200" (* "*") (identifier "puStack_200")) (; ";")) (declaration "float fStack_1fc;" (primitive_type "float") (identifier "fStack_1fc") (; ";")) (declaration "float fStack_1f8;" (primitive_type "float") (identifier "fStack_1f8") (; ";")) (declaration "code *pcStack_1f4;" (type_identifier "code") (pointer_declarator "*pcStack_1f4" (* "*") (identifier "pcStack_1f4")) (; ";")) (declaration "undefined8 uStack_1f0;" (type_identifier "undefined8") (identifier "uStack_1f0") (; ";")) (declaration "double dStack_1e8;" (primitive_type "double") (identifier "dStack_1e8") (; ";")) (declaration "uint uStack_1d0;" (type_identifier "uint") (identifier "uStack_1d0") (; ";")) (declaration "float *pfStack_1cc;" (primitive_type "float") (pointer_declarator "*pfStack_1cc" (* "*") (identifier "pfStack_1cc")) (; ";")) (declaration "code *pcStack_1c8;" (type_identifier "code") (pointer_declarator "*pcStack_1c8" (* "*") (identifier "pcStack_1c8")) (; ";")) (declaration "uint uStack_1bc;" (type_identifier "uint") (identifier "uStack_1bc") (; ";")) (declaration "int *piStack_1b8;" (primitive_type "int") (pointer_declarator "*piStack_1b8" (* "*") (identifier "piStack_1b8")) (; ";")) (declaration "float *pfStack_1b4;" (primitive_type "float") (pointer_declarator "*pfStack_1b4" (* "*") (identifier "pfStack_1b4")) (; ";")) (declaration "uint uStack_1b0;" (type_identifier "uint") (identifier "uStack_1b0") (; ";")) (declaration "undefined4 uStack_1ac;" (type_identifier "undefined4") (identifier "uStack_1ac") (; ";")) (declaration "float *pfStack_1a8;" (primitive_type "float") (pointer_declarator "*pfStack_1a8" (* "*") (identifier "pfStack_1a8")) (; ";")) (declaration "int *piStack_1a4;" (primitive_type "int") (pointer_declarator "*piStack_1a4" (* "*") (identifier "piStack_1a4")) (; ";")) (declaration "float fStack_19c;" (primitive_type "float") (identifier "fStack_19c") (; ";")) (declaration "byte abStack_198 [4];" (type_identifier "byte") (array_declarator "abStack_198 [4]" (identifier "abStack_198") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "byte abStack_194 [8];" (type_identifier "byte") (array_declarator "abStack_194 [8]" (identifier "abStack_194") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "int iStack_18c;" (primitive_type "int") (identifier "iStack_18c") (; ";")) (declaration "float *pfStack_188;" (primitive_type "float") (pointer_declarator "*pfStack_188" (* "*") (identifier "pfStack_188")) (; ";")) (declaration "float *pfStack_184;" (primitive_type "float") (pointer_declarator "*pfStack_184" (* "*") (identifier "pfStack_184")) (; ";")) (declaration "float *pfStack_180;" (primitive_type "float") (pointer_declarator "*pfStack_180" (* "*") (identifier "pfStack_180")) (; ";")) (declaration "int *piStack_17c;" (primitive_type "int") (pointer_declarator "*piStack_17c" (* "*") (identifier "piStack_17c")) (; ";")) (declaration "uint *puStack_178;" (type_identifier "uint") (pointer_declarator "*puStack_178" (* "*") (identifier "puStack_178")) (; ";")) (declaration "uint *puStack_174;" (type_identifier "uint") (pointer_declarator "*puStack_174" (* "*") (identifier "puStack_174")) (; ";")) (declaration "uint *puStack_170;" (type_identifier "uint") (pointer_declarator "*puStack_170" (* "*") (identifier "puStack_170")) (; ";")) (declaration "float fStack_16c;" (primitive_type "float") (identifier "fStack_16c") (; ";")) (declaration "float fStack_168;" (primitive_type "float") (identifier "fStack_168") (; ";")) (declaration "code *pcStack_164;" (type_identifier "code") (pointer_declarator "*pcStack_164" (* "*") (identifier "pcStack_164")) (; ";")) (declaration "float *pfStack_140;" (primitive_type "float") (pointer_declarator "*pfStack_140" (* "*") (identifier "pfStack_140")) (; ";")) (declaration "float *pfStack_13c;" (primitive_type "float") (pointer_declarator "*pfStack_13c" (* "*") (identifier "pfStack_13c")) (; ";")) (declaration "int iStack_138;" (primitive_type "int") (identifier "iStack_138") (; ";")) (declaration "float *pfStack_134;" (primitive_type "float") (pointer_declarator "*pfStack_134" (* "*") (identifier "pfStack_134")) (; ";")) (declaration "code *pcStack_130;" (type_identifier "code") (pointer_declarator "*pcStack_130" (* "*") (identifier "pcStack_130")) (; ";")) (declaration "code *pcStack_128;" (type_identifier "code") (pointer_declarator "*pcStack_128" (* "*") (identifier "pcStack_128")) (; ";")) (declaration "uint uStack_124;" (type_identifier "uint") (identifier "uStack_124") (; ";")) (declaration "uint uStack_120;" (type_identifier "uint") (identifier "uStack_120") (; ";")) (declaration "float fStack_11c;" (primitive_type "float") (identifier "fStack_11c") (; ";")) (declaration "float fStack_118;" (primitive_type "float") (identifier "fStack_118") (; ";")) (declaration "undefined4 uStack_114;" (type_identifier "undefined4") (identifier "uStack_114") (; ";")) (declaration "uint *puStack_110;" (type_identifier "uint") (pointer_declarator "*puStack_110" (* "*") (identifier "puStack_110")) (; ";")) (declaration "undefined4 uStack_10c;" (type_identifier "undefined4") (identifier "uStack_10c") (; ";")) (declaration "undefined4 uStack_108;" (type_identifier "undefined4") (identifier "uStack_108") (; ";")) (declaration "uint uStack_104;" (type_identifier "uint") (identifier "uStack_104") (; ";")) (declaration "uint uStack_100;" (type_identifier "uint") (identifier "uStack_100") (; ";")) (declaration "int iStack_fc;" (primitive_type "int") (identifier "iStack_fc") (; ";")) (declaration "undefined4 uStack_f8;" (type_identifier "undefined4") (identifier "uStack_f8") (; ";")) (declaration "undefined4 uStack_f4;" (type_identifier "undefined4") (identifier "uStack_f4") (; ";")) (declaration "undefined4 uStack_f0;" (type_identifier "undefined4") (identifier "uStack_f0") (; ";")) (declaration "undefined4 uStack_ec;" (type_identifier "undefined4") (identifier "uStack_ec") (; ";")) (declaration "undefined4 uStack_e8;" (type_identifier "undefined4") (identifier "uStack_e8") (; ";")) (declaration "int iStack_e4;" (primitive_type "int") (identifier "iStack_e4") (; ";")) (declaration "float *pfStack_e0;" (primitive_type "float") (pointer_declarator "*pfStack_e0" (* "*") (identifier "pfStack_e0")) (; ";")) (declaration "float *pfStack_dc;" (primitive_type "float") (pointer_declarator "*pfStack_dc" (* "*") (identifier "pfStack_dc")) (; ";")) (declaration "float *pfStack_d8;" (primitive_type "float") (pointer_declarator "*pfStack_d8" (* "*") (identifier "pfStack_d8")) (; ";")) (declaration "float *pfStack_d4;" (primitive_type "float") (pointer_declarator "*pfStack_d4" (* "*") (identifier "pfStack_d4")) (; ";")) (declaration "uint *puStack_d0;" (type_identifier "uint") (pointer_declarator "*puStack_d0" (* "*") (identifier "puStack_d0")) (; ";")) (declaration "uint *puStack_cc;" (type_identifier "uint") (pointer_declarator "*puStack_cc" (* "*") (identifier "puStack_cc")) (; ";")) (declaration "undefined4 uStack_9c;" (type_identifier "undefined4") (identifier "uStack_9c") (; ";")) (declaration "float afStack_8c [2];" (primitive_type "float") (array_declarator "afStack_8c [2]" (identifier "afStack_8c") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "float local_54;" (primitive_type "float") (identifier "local_54") (; ";")) (declaration "float local_50;" (primitive_type "float") (identifier "local_50") (; ";")) (declaration "byte *local_4c [16];" (type_identifier "byte") (pointer_declarator "*local_4c [16]" (* "*") (array_declarator "local_4c [16]" (identifier "local_4c") ([ "[") (number_literal "16") (] "]"))) (; ";")) (declaration "float *local_c;" (primitive_type "float") (pointer_declarator "*local_c" (* "*") (identifier "local_c")) (; ";")) (expression_statement "puVar29 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar29 = PTR___stack_chk_guard_003a9230" (identifier "puVar29") (= "=") (identifier "PTR___stack_chk_guard_003a9230")) (; ";")) (expression_statement "pfVar18 = (float *)(param_8 + param_9 * 0x10);" (assignment_expression "pfVar18 = (float *)(param_8 + param_9 * 0x10)" (identifier "pfVar18") (= "=") (cast_expression "(float *)(param_8 + param_9 * 0x10)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_8 + param_9 * 0x10)" (( "(") (binary_expression "param_8 + param_9 * 0x10" (identifier "param_8") (+ "+") (binary_expression "param_9 * 0x10" (identifier "param_9") (* "*") (number_literal "0x10"))) () ")")))) (; ";")) (expression_statement "local_c = *(float **)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_c = *(float **)PTR___stack_chk_guard_003a9230" (identifier "local_c") (= "=") (pointer_expression "*(float **)PTR___stack_chk_guard_003a9230" (* "*") (cast_expression "(float **)PTR___stack_chk_guard_003a9230" (( "(") (type_descriptor "float **" (primitive_type "float") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_003a9230")))) (; ";")) (if_statement "if (param_1 < 1) {\n    fVar34 = 1.4013e-45;\n    if (0 < param_9) goto LAB_00212794;\n    *param_7 = 0.0;\n    param_7[1] = 0.0;\n    param_7[2] = 0.0;\n    param_7[3] = 0.0;\n  }\n  else {\n    pfVar3 = (float *)local_4c;\n    iVar8 = 0;\n    pfVar19 = param_2;\n    pfVar23 = pfVar3;\n    pfVar9 = pfVar18;\n    do {\n      fVar42 = pfVar19[1];\n      pfVar16 = (float *)((int)pfVar9 + 1);\n      pfVar11 = pfVar23 + 1;\n      fVar39 = *pfVar19;\n      fVar34 = pfVar19[2];\n      *(byte *)pfVar9 = (byte)iVar8;\n      iVar8 = iVar8 + 1;\n      *pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;\n      pfVar19 = pfVar19 + 4;\n      pfVar23 = pfVar11;\n      pfVar9 = pfVar16;\n    } while (iVar8 != param_1);\n    pfVar19 = (float *)((int)pfVar18 + -1);\n    do {\n      if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }\n      pfVar19 = (float *)((int)pfVar19 + 1);\n      pfVar3 = pfVar3 + 1;\n    } while ((float *)((int)pfVar18 + param_1 + -1) != pfVar19);\n    param_3 = pfVar11;\n    param_4 = pfVar16;\n    if (param_9 < 1) {\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\nLAB_00212818:\n      iVar8 = 0;\n      do {\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      } while (param_3 != (float *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);\n      iVar8 = 0;\n      pfVar16 = param_4;\n      do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\n      param_4 = pfVar16;\n      if (0 < param_1) goto LAB_00212818;\n    }\n    fVar34 = 1.4013e-45;\n  }" (if "if") (parenthesized_expression "(param_1 < 1)" (( "(") (binary_expression "param_1 < 1" (identifier "param_1") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n    fVar34 = 1.4013e-45;\n    if (0 < param_9) goto LAB_00212794;\n    *param_7 = 0.0;\n    param_7[1] = 0.0;\n    param_7[2] = 0.0;\n    param_7[3] = 0.0;\n  }" ({ "{") (expression_statement "fVar34 = 1.4013e-45;" (assignment_expression "fVar34 = 1.4013e-45" (identifier "fVar34") (= "=") (number_literal "1.4013e-45")) (; ";")) (if_statement "if (0 < param_9) goto LAB_00212794;" (if "if") (parenthesized_expression "(0 < param_9)" (( "(") (binary_expression "0 < param_9" (number_literal "0") (< "<") (identifier "param_9")) () ")")) (goto_statement "goto LAB_00212794;" (goto "goto") (statement_identifier "LAB_00212794") (; ";"))) (expression_statement "*param_7 = 0.0;" (assignment_expression "*param_7 = 0.0" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "0.0")) (; ";")) (expression_statement "param_7[1] = 0.0;" (assignment_expression "param_7[1] = 0.0" (subscript_expression "param_7[1]" (identifier "param_7") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0.0")) (; ";")) (expression_statement "param_7[2] = 0.0;" (assignment_expression "param_7[2] = 0.0" (subscript_expression "param_7[2]" (identifier "param_7") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0.0")) (; ";")) (expression_statement "param_7[3] = 0.0;" (assignment_expression "param_7[3] = 0.0" (subscript_expression "param_7[3]" (identifier "param_7") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n    pfVar3 = (float *)local_4c;\n    iVar8 = 0;\n    pfVar19 = param_2;\n    pfVar23 = pfVar3;\n    pfVar9 = pfVar18;\n    do {\n      fVar42 = pfVar19[1];\n      pfVar16 = (float *)((int)pfVar9 + 1);\n      pfVar11 = pfVar23 + 1;\n      fVar39 = *pfVar19;\n      fVar34 = pfVar19[2];\n      *(byte *)pfVar9 = (byte)iVar8;\n      iVar8 = iVar8 + 1;\n      *pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;\n      pfVar19 = pfVar19 + 4;\n      pfVar23 = pfVar11;\n      pfVar9 = pfVar16;\n    } while (iVar8 != param_1);\n    pfVar19 = (float *)((int)pfVar18 + -1);\n    do {\n      if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }\n      pfVar19 = (float *)((int)pfVar19 + 1);\n      pfVar3 = pfVar3 + 1;\n    } while ((float *)((int)pfVar18 + param_1 + -1) != pfVar19);\n    param_3 = pfVar11;\n    param_4 = pfVar16;\n    if (param_9 < 1) {\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\nLAB_00212818:\n      iVar8 = 0;\n      do {\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      } while (param_3 != (float *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);\n      iVar8 = 0;\n      pfVar16 = param_4;\n      do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\n      param_4 = pfVar16;\n      if (0 < param_1) goto LAB_00212818;\n    }\n    fVar34 = 1.4013e-45;\n  }" (else "else") (compound_statement "{\n    pfVar3 = (float *)local_4c;\n    iVar8 = 0;\n    pfVar19 = param_2;\n    pfVar23 = pfVar3;\n    pfVar9 = pfVar18;\n    do {\n      fVar42 = pfVar19[1];\n      pfVar16 = (float *)((int)pfVar9 + 1);\n      pfVar11 = pfVar23 + 1;\n      fVar39 = *pfVar19;\n      fVar34 = pfVar19[2];\n      *(byte *)pfVar9 = (byte)iVar8;\n      iVar8 = iVar8 + 1;\n      *pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;\n      pfVar19 = pfVar19 + 4;\n      pfVar23 = pfVar11;\n      pfVar9 = pfVar16;\n    } while (iVar8 != param_1);\n    pfVar19 = (float *)((int)pfVar18 + -1);\n    do {\n      if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }\n      pfVar19 = (float *)((int)pfVar19 + 1);\n      pfVar3 = pfVar3 + 1;\n    } while ((float *)((int)pfVar18 + param_1 + -1) != pfVar19);\n    param_3 = pfVar11;\n    param_4 = pfVar16;\n    if (param_9 < 1) {\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\nLAB_00212818:\n      iVar8 = 0;\n      do {\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      } while (param_3 != (float *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);\n      iVar8 = 0;\n      pfVar16 = param_4;\n      do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\n      param_4 = pfVar16;\n      if (0 < param_1) goto LAB_00212818;\n    }\n    fVar34 = 1.4013e-45;\n  }" ({ "{") (expression_statement "pfVar3 = (float *)local_4c;" (assignment_expression "pfVar3 = (float *)local_4c" (identifier "pfVar3") (= "=") (cast_expression "(float *)local_4c" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_4c"))) (; ";")) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pfVar19 = param_2;" (assignment_expression "pfVar19 = param_2" (identifier "pfVar19") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pfVar23 = pfVar3;" (assignment_expression "pfVar23 = pfVar3" (identifier "pfVar23") (= "=") (identifier "pfVar3")) (; ";")) (expression_statement "pfVar9 = pfVar18;" (assignment_expression "pfVar9 = pfVar18" (identifier "pfVar9") (= "=") (identifier "pfVar18")) (; ";")) (do_statement "do {\n      fVar42 = pfVar19[1];\n      pfVar16 = (float *)((int)pfVar9 + 1);\n      pfVar11 = pfVar23 + 1;\n      fVar39 = *pfVar19;\n      fVar34 = pfVar19[2];\n      *(byte *)pfVar9 = (byte)iVar8;\n      iVar8 = iVar8 + 1;\n      *pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;\n      pfVar19 = pfVar19 + 4;\n      pfVar23 = pfVar11;\n      pfVar9 = pfVar16;\n    } while (iVar8 != param_1);" (do "do") (compound_statement "{\n      fVar42 = pfVar19[1];\n      pfVar16 = (float *)((int)pfVar9 + 1);\n      pfVar11 = pfVar23 + 1;\n      fVar39 = *pfVar19;\n      fVar34 = pfVar19[2];\n      *(byte *)pfVar9 = (byte)iVar8;\n      iVar8 = iVar8 + 1;\n      *pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;\n      pfVar19 = pfVar19 + 4;\n      pfVar23 = pfVar11;\n      pfVar9 = pfVar16;\n    }" ({ "{") (expression_statement "fVar42 = pfVar19[1];" (assignment_expression "fVar42 = pfVar19[1]" (identifier "fVar42") (= "=") (subscript_expression "pfVar19[1]" (identifier "pfVar19") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pfVar16 = (float *)((int)pfVar9 + 1);" (assignment_expression "pfVar16 = (float *)((int)pfVar9 + 1)" (identifier "pfVar16") (= "=") (cast_expression "(float *)((int)pfVar9 + 1)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar9 + 1)" (( "(") (binary_expression "(int)pfVar9 + 1" (cast_expression "(int)pfVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar9")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pfVar11 = pfVar23 + 1;" (assignment_expression "pfVar11 = pfVar23 + 1" (identifier "pfVar11") (= "=") (binary_expression "pfVar23 + 1" (identifier "pfVar23") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "fVar39 = *pfVar19;" (assignment_expression "fVar39 = *pfVar19" (identifier "fVar39") (= "=") (pointer_expression "*pfVar19" (* "*") (identifier "pfVar19"))) (; ";")) (expression_statement "fVar34 = pfVar19[2];" (assignment_expression "fVar34 = pfVar19[2]" (identifier "fVar34") (= "=") (subscript_expression "pfVar19[2]" (identifier "pfVar19") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "*(byte *)pfVar9 = (byte)iVar8;" (assignment_expression "*(byte *)pfVar9 = (byte)iVar8" (pointer_expression "*(byte *)pfVar9" (* "*") (cast_expression "(byte *)pfVar9" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pfVar9"))) (= "=") (cast_expression "(byte)iVar8" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "iVar8"))) (; ";")) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;" (assignment_expression "*pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42" (pointer_expression "*pfVar23" (* "*") (identifier "pfVar23")) (= "=") (binary_expression "param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42" (binary_expression "param_5 * fVar34 + (float)param_3 * fVar39" (binary_expression "param_5 * fVar34" (identifier "param_5") (* "*") (identifier "fVar34")) (+ "+") (binary_expression "(float)param_3 * fVar39" (cast_expression "(float)param_3" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "param_3")) (* "*") (identifier "fVar39"))) (+ "+") (binary_expression "(float)param_4 * fVar42" (cast_expression "(float)param_4" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "param_4")) (* "*") (identifier "fVar42")))) (; ";")) (expression_statement "pfVar19 = pfVar19 + 4;" (assignment_expression "pfVar19 = pfVar19 + 4" (identifier "pfVar19") (= "=") (binary_expression "pfVar19 + 4" (identifier "pfVar19") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "pfVar23 = pfVar11;" (assignment_expression "pfVar23 = pfVar11" (identifier "pfVar23") (= "=") (identifier "pfVar11")) (; ";")) (expression_statement "pfVar9 = pfVar16;" (assignment_expression "pfVar9 = pfVar16" (identifier "pfVar9") (= "=") (identifier "pfVar16")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar8 != param_1)" (( "(") (binary_expression "iVar8 != param_1" (identifier "iVar8") (!= "!=") (identifier "param_1")) () ")")) (; ";")) (expression_statement "pfVar19 = (float *)((int)pfVar18 + -1);" (assignment_expression "pfVar19 = (float *)((int)pfVar18 + -1)" (identifier "pfVar19") (= "=") (cast_expression "(float *)((int)pfVar18 + -1)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar18 + -1)" (( "(") (binary_expression "(int)pfVar18 + -1" (cast_expression "(int)pfVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar18")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (do_statement "do {\n      if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }\n      pfVar19 = (float *)((int)pfVar19 + 1);\n      pfVar3 = pfVar3 + 1;\n    } while ((float *)((int)pfVar18 + param_1 + -1) != pfVar19);" (do "do") (compound_statement "{\n      if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }\n      pfVar19 = (float *)((int)pfVar19 + 1);\n      pfVar3 = pfVar3 + 1;\n    }" ({ "{") (if_statement "if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }" (if "if") (parenthesized_expression "((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0)" (( "(") (binary_expression "(byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0" (cast_expression "(byte *)((1 - (int)pfVar18) + (int)pfVar19)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((1 - (int)pfVar18) + (int)pfVar19)" (( "(") (binary_expression "(1 - (int)pfVar18) + (int)pfVar19" (parenthesized_expression "(1 - (int)pfVar18)" (( "(") (binary_expression "1 - (int)pfVar18" (number_literal "1") (- "-") (cast_expression "(int)pfVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar18"))) () ")")) (+ "+") (cast_expression "(int)pfVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar19"))) () ")"))) (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        fVar39 = *pfVar3;\n        fVar34 = pfVar3[-1];\n        if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }\n      }" ({ "{") (expression_statement "fVar39 = *pfVar3;" (assignment_expression "fVar39 = *pfVar3" (identifier "fVar39") (= "=") (pointer_expression "*pfVar3" (* "*") (identifier "pfVar3"))) (; ";")) (expression_statement "fVar34 = pfVar3[-1];" (assignment_expression "fVar34 = pfVar3[-1]" (identifier "fVar34") (= "=") (subscript_expression "pfVar3[-1]" (identifier "pfVar3") ([ "[") (number_literal "-1") (] "]"))) (; ";")) (if_statement "if (fVar39 < fVar34) {\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }" (if "if") (parenthesized_expression "(fVar39 < fVar34)" (( "(") (binary_expression "fVar39 < fVar34" (identifier "fVar39") (< "<") (identifier "fVar34")) () ")")) (compound_statement "{\n          bVar2 = *(byte *)((int)pfVar19 + 1);\n          pfVar16 = (float *)(uint)bVar2;\n          pfVar23 = pfVar19;\n          pfVar9 = pfVar3;\n          do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);\n        }" ({ "{") (expression_statement "bVar2 = *(byte *)((int)pfVar19 + 1);" (assignment_expression "bVar2 = *(byte *)((int)pfVar19 + 1)" (identifier "bVar2") (= "=") (pointer_expression "*(byte *)((int)pfVar19 + 1)" (* "*") (cast_expression "(byte *)((int)pfVar19 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar19 + 1)" (( "(") (binary_expression "(int)pfVar19 + 1" (cast_expression "(int)pfVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar19")) (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "pfVar16 = (float *)(uint)bVar2;" (assignment_expression "pfVar16 = (float *)(uint)bVar2" (identifier "pfVar16") (= "=") (cast_expression "(float *)(uint)bVar2" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)bVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar2")))) (; ";")) (expression_statement "pfVar23 = pfVar19;" (assignment_expression "pfVar23 = pfVar19" (identifier "pfVar23") (= "=") (identifier "pfVar19")) (; ";")) (expression_statement "pfVar9 = pfVar3;" (assignment_expression "pfVar9 = pfVar3" (identifier "pfVar9") (= "=") (identifier "pfVar3")) (; ";")) (do_statement "do {\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          } while (fVar39 < fVar34);" (do "do") (compound_statement "{\n            bVar1 = *(byte *)pfVar23;\n            pfVar11 = (float *)(uint)bVar1;\n            *pfVar9 = fVar34;\n            *(byte *)pfVar23 = bVar2;\n            pfVar9[-1] = fVar39;\n            *(byte *)((int)pfVar23 + 1) = bVar1;\n            if (pfVar18 == pfVar23) break;\n            fVar34 = pfVar9[-2];\n            pfVar23 = (float *)((int)pfVar23 + -1);\n            pfVar9 = pfVar9 + -1;\n          }" ({ "{") (expression_statement "bVar1 = *(byte *)pfVar23;" (assignment_expression "bVar1 = *(byte *)pfVar23" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)pfVar23" (* "*") (cast_expression "(byte *)pfVar23" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pfVar23")))) (; ";")) (expression_statement "pfVar11 = (float *)(uint)bVar1;" (assignment_expression "pfVar11 = (float *)(uint)bVar1" (identifier "pfVar11") (= "=") (cast_expression "(float *)(uint)bVar1" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1")))) (; ";")) (expression_statement "*pfVar9 = fVar34;" (assignment_expression "*pfVar9 = fVar34" (pointer_expression "*pfVar9" (* "*") (identifier "pfVar9")) (= "=") (identifier "fVar34")) (; ";")) (expression_statement "*(byte *)pfVar23 = bVar2;" (assignment_expression "*(byte *)pfVar23 = bVar2" (pointer_expression "*(byte *)pfVar23" (* "*") (cast_expression "(byte *)pfVar23" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pfVar23"))) (= "=") (identifier "bVar2")) (; ";")) (expression_statement "pfVar9[-1] = fVar39;" (assignment_expression "pfVar9[-1] = fVar39" (subscript_expression "pfVar9[-1]" (identifier "pfVar9") ([ "[") (number_literal "-1") (] "]")) (= "=") (identifier "fVar39")) (; ";")) (expression_statement "*(byte *)((int)pfVar23 + 1) = bVar1;" (assignment_expression "*(byte *)((int)pfVar23 + 1) = bVar1" (pointer_expression "*(byte *)((int)pfVar23 + 1)" (* "*") (cast_expression "(byte *)((int)pfVar23 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar23 + 1)" (( "(") (binary_expression "(int)pfVar23 + 1" (cast_expression "(int)pfVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar23")) (+ "+") (number_literal "1")) () ")")))) (= "=") (identifier "bVar1")) (; ";")) (if_statement "if (pfVar18 == pfVar23) break;" (if "if") (parenthesized_expression "(pfVar18 == pfVar23)" (( "(") (binary_expression "pfVar18 == pfVar23" (identifier "pfVar18") (== "==") (identifier "pfVar23")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "fVar34 = pfVar9[-2];" (assignment_expression "fVar34 = pfVar9[-2]" (identifier "fVar34") (= "=") (subscript_expression "pfVar9[-2]" (identifier "pfVar9") ([ "[") (number_literal "-2") (] "]"))) (; ";")) (expression_statement "pfVar23 = (float *)((int)pfVar23 + -1);" (assignment_expression "pfVar23 = (float *)((int)pfVar23 + -1)" (identifier "pfVar23") (= "=") (cast_expression "(float *)((int)pfVar23 + -1)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar23 + -1)" (( "(") (binary_expression "(int)pfVar23 + -1" (cast_expression "(int)pfVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar23")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "pfVar9 = pfVar9 + -1;" (assignment_expression "pfVar9 = pfVar9 + -1" (identifier "pfVar9") (= "=") (binary_expression "pfVar9 + -1" (identifier "pfVar9") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(fVar39 < fVar34)" (( "(") (binary_expression "fVar39 < fVar34" (identifier "fVar39") (< "<") (identifier "fVar34")) () ")")) (; ";")) (} "}"))) (} "}"))) (expression_statement "pfVar19 = (float *)((int)pfVar19 + 1);" (assignment_expression "pfVar19 = (float *)((int)pfVar19 + 1)" (identifier "pfVar19") (= "=") (cast_expression "(float *)((int)pfVar19 + 1)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar19 + 1)" (( "(") (binary_expression "(int)pfVar19 + 1" (cast_expression "(int)pfVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar19")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pfVar3 = pfVar3 + 1;" (assignment_expression "pfVar3 = pfVar3 + 1" (identifier "pfVar3") (= "=") (binary_expression "pfVar3 + 1" (identifier "pfVar3") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((float *)((int)pfVar18 + param_1 + -1) != pfVar19)" (( "(") (binary_expression "(float *)((int)pfVar18 + param_1 + -1) != pfVar19" (cast_expression "(float *)((int)pfVar18 + param_1 + -1)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar18 + param_1 + -1)" (( "(") (binary_expression "(int)pfVar18 + param_1 + -1" (binary_expression "(int)pfVar18 + param_1" (cast_expression "(int)pfVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar18")) (+ "+") (identifier "param_1")) (+ "+") (number_literal "-1")) () ")"))) (!= "!=") (identifier "pfVar19")) () ")")) (; ";")) (expression_statement "param_3 = pfVar11;" (assignment_expression "param_3 = pfVar11" (identifier "param_3") (= "=") (identifier "pfVar11")) (; ";")) (expression_statement "param_4 = pfVar16;" (assignment_expression "param_4 = pfVar16" (identifier "param_4") (= "=") (identifier "pfVar16")) (; ";")) (if_statement "if (param_9 < 1) {\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\nLAB_00212818:\n      iVar8 = 0;\n      do {\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      } while (param_3 != (float *)0x0);\n    }\n    else {\nLAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);\n      iVar8 = 0;\n      pfVar16 = param_4;\n      do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\n      param_4 = pfVar16;\n      if (0 < param_1) goto LAB_00212818;\n    }" (if "if") (parenthesized_expression "(param_9 < 1)" (( "(") (binary_expression "param_9 < 1" (identifier "param_9") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\nLAB_00212818:\n      iVar8 = 0;\n      do {\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      } while (param_3 != (float *)0x0);\n    }" ({ "{") (expression_statement "*param_7 = 0.0;" (assignment_expression "*param_7 = 0.0" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "0.0")) (; ";")) (expression_statement "param_7[1] = 0.0;" (assignment_expression "param_7[1] = 0.0" (subscript_expression "param_7[1]" (identifier "param_7") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0.0")) (; ";")) (expression_statement "param_7[2] = 0.0;" (assignment_expression "param_7[2] = 0.0" (subscript_expression "param_7[2]" (identifier "param_7") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0.0")) (; ";")) (expression_statement "param_7[3] = 0.0;" (assignment_expression "param_7[3] = 0.0" (subscript_expression "param_7[3]" (identifier "param_7") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0.0")) (; ";")) (labeled_statement "LAB_00212818:\n      iVar8 = 0;" (statement_identifier "LAB_00212818") (: ":") (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";"))) (do_statement "do {\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      } while (param_3 != (float *)0x0);" (do "do") (compound_statement "{\n        bVar2 = *(byte *)pfVar18;\n        iVar8 = iVar8 + 1;\n        pfVar18 = (float *)((int)pfVar18 + 1);\n        param_3 = (float *)(uint)(iVar8 < param_1);\n        pfVar3 = param_2 + (uint)bVar2 * 4;\n        fVar34 = pfVar3[3];\n        fVar43 = *pfVar3;\n        fVar42 = pfVar3[1];\n        fVar39 = pfVar3[2];\n        param_6[3] = fVar34;\n        *param_6 = fVar34 * fVar43;\n        param_6[1] = fVar34 * fVar42;\n        param_6[2] = fVar34 * fVar39;\n        param_7[1] = fVar34 * fVar42 + param_7[1];\n        param_7[2] = fVar34 * fVar39 + param_7[2];\n        param_7[3] = fVar34 + param_7[3];\n        *param_7 = *param_7 + fVar34 * fVar43;\n        param_4 = pfVar16;\n        param_6 = param_6 + 4;\n      }" ({ "{") (expression_statement "bVar2 = *(byte *)pfVar18;" (assignment_expression "bVar2 = *(byte *)pfVar18" (identifier "bVar2") (= "=") (pointer_expression "*(byte *)pfVar18" (* "*") (cast_expression "(byte *)pfVar18" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pfVar18")))) (; ";")) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar18 = (float *)((int)pfVar18 + 1);" (assignment_expression "pfVar18 = (float *)((int)pfVar18 + 1)" (identifier "pfVar18") (= "=") (cast_expression "(float *)((int)pfVar18 + 1)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar18 + 1)" (( "(") (binary_expression "(int)pfVar18 + 1" (cast_expression "(int)pfVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar18")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "param_3 = (float *)(uint)(iVar8 < param_1);" (assignment_expression "param_3 = (float *)(uint)(iVar8 < param_1)" (identifier "param_3") (= "=") (cast_expression "(float *)(uint)(iVar8 < param_1)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(iVar8 < param_1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar8 < param_1)" (( "(") (binary_expression "iVar8 < param_1" (identifier "iVar8") (< "<") (identifier "param_1")) () ")"))))) (; ";")) (expression_statement "pfVar3 = param_2 + (uint)bVar2 * 4;" (assignment_expression "pfVar3 = param_2 + (uint)bVar2 * 4" (identifier "pfVar3") (= "=") (binary_expression "param_2 + (uint)bVar2 * 4" (identifier "param_2") (+ "+") (binary_expression "(uint)bVar2 * 4" (cast_expression "(uint)bVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar2")) (* "*") (number_literal "4")))) (; ";")) (expression_statement "fVar34 = pfVar3[3];" (assignment_expression "fVar34 = pfVar3[3]" (identifier "fVar34") (= "=") (subscript_expression "pfVar3[3]" (identifier "pfVar3") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "fVar43 = *pfVar3;" (assignment_expression "fVar43 = *pfVar3" (identifier "fVar43") (= "=") (pointer_expression "*pfVar3" (* "*") (identifier "pfVar3"))) (; ";")) (expression_statement "fVar42 = pfVar3[1];" (assignment_expression "fVar42 = pfVar3[1]" (identifier "fVar42") (= "=") (subscript_expression "pfVar3[1]" (identifier "pfVar3") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "fVar39 = pfVar3[2];" (assignment_expression "fVar39 = pfVar3[2]" (identifier "fVar39") (= "=") (subscript_expression "pfVar3[2]" (identifier "pfVar3") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "param_6[3] = fVar34;" (assignment_expression "param_6[3] = fVar34" (subscript_expression "param_6[3]" (identifier "param_6") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "fVar34")) (; ";")) (expression_statement "*param_6 = fVar34 * fVar43;" (assignment_expression "*param_6 = fVar34 * fVar43" (pointer_expression "*param_6" (* "*") (identifier "param_6")) (= "=") (binary_expression "fVar34 * fVar43" (identifier "fVar34") (* "*") (identifier "fVar43"))) (; ";")) (expression_statement "param_6[1] = fVar34 * fVar42;" (assignment_expression "param_6[1] = fVar34 * fVar42" (subscript_expression "param_6[1]" (identifier "param_6") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "fVar34 * fVar42" (identifier "fVar34") (* "*") (identifier "fVar42"))) (; ";")) (expression_statement "param_6[2] = fVar34 * fVar39;" (assignment_expression "param_6[2] = fVar34 * fVar39" (subscript_expression "param_6[2]" (identifier "param_6") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "fVar34 * fVar39" (identifier "fVar34") (* "*") (identifier "fVar39"))) (; ";")) (expression_statement "param_7[1] = fVar34 * fVar42 + param_7[1];" (assignment_expression "param_7[1] = fVar34 * fVar42 + param_7[1]" (subscript_expression "param_7[1]" (identifier "param_7") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "fVar34 * fVar42 + param_7[1]" (binary_expression "fVar34 * fVar42" (identifier "fVar34") (* "*") (identifier "fVar42")) (+ "+") (subscript_expression "param_7[1]" (identifier "param_7") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "param_7[2] = fVar34 * fVar39 + param_7[2];" (assignment_expression "param_7[2] = fVar34 * fVar39 + param_7[2]" (subscript_expression "param_7[2]" (identifier "param_7") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "fVar34 * fVar39 + param_7[2]" (binary_expression "fVar34 * fVar39" (identifier "fVar34") (* "*") (identifier "fVar39")) (+ "+") (subscript_expression "param_7[2]" (identifier "param_7") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "param_7[3] = fVar34 + param_7[3];" (assignment_expression "param_7[3] = fVar34 + param_7[3]" (subscript_expression "param_7[3]" (identifier "param_7") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "fVar34 + param_7[3]" (identifier "fVar34") (+ "+") (subscript_expression "param_7[3]" (identifier "param_7") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "*param_7 = *param_7 + fVar34 * fVar43;" (assignment_expression "*param_7 = *param_7 + fVar34 * fVar43" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (binary_expression "*param_7 + fVar34 * fVar43" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (+ "+") (binary_expression "fVar34 * fVar43" (identifier "fVar34") (* "*") (identifier "fVar43")))) (; ";")) (expression_statement "param_4 = pfVar16;" (assignment_expression "param_4 = pfVar16" (identifier "param_4") (= "=") (identifier "pfVar16")) (; ";")) (expression_statement "param_6 = param_6 + 4;" (assignment_expression "param_6 = param_6 + 4" (identifier "param_6") (= "=") (binary_expression "param_6 + 4" (identifier "param_6") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_3 != (float *)0x0)" (( "(") (binary_expression "param_3 != (float *)0x0" (identifier "param_3") (!= "!=") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}")) (else_clause "else {\nLAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);\n      iVar8 = 0;\n      pfVar16 = param_4;\n      do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\n      param_4 = pfVar16;\n      if (0 < param_1) goto LAB_00212818;\n    }" (else "else") (compound_statement "{\nLAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);\n      iVar8 = 0;\n      pfVar16 = param_4;\n      do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);\n      *param_7 = 0.0;\n      param_7[1] = 0.0;\n      param_7[2] = 0.0;\n      param_7[3] = 0.0;\n      param_4 = pfVar16;\n      if (0 < param_1) goto LAB_00212818;\n    }" ({ "{") (labeled_statement "LAB_00212794:\n      pbVar20 = (byte *)(param_8 + 1);" (statement_identifier "LAB_00212794") (: ":") (expression_statement "pbVar20 = (byte *)(param_8 + 1);" (assignment_expression "pbVar20 = (byte *)(param_8 + 1)" (identifier "pbVar20") (= "=") (cast_expression "(byte *)(param_8 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_8 + 1)" (( "(") (binary_expression "param_8 + 1" (identifier "param_8") (+ "+") (number_literal "1")) () ")")))) (; ";"))) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pfVar16 = param_4;" (assignment_expression "pfVar16 = param_4" (identifier "pfVar16") (= "=") (identifier "param_4")) (; ";")) (do_statement "do {\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      } while (iVar8 < param_9);" (do "do") (compound_statement "{\n        fVar34 = 0.0;\n        param_4 = pfVar16;\n        if (param_1 == 0) goto LAB_002127dc;\n        pbVar10 = pbVar20;\n        pfVar3 = pfVar18;\n        if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }\n        iVar8 = iVar8 + 1;\n        pbVar20 = pbVar20 + 0x10;\n      }" ({ "{") (expression_statement "fVar34 = 0.0;" (assignment_expression "fVar34 = 0.0" (identifier "fVar34") (= "=") (number_literal "0.0")) (; ";")) (expression_statement "param_4 = pfVar16;" (assignment_expression "param_4 = pfVar16" (identifier "param_4") (= "=") (identifier "pfVar16")) (; ";")) (if_statement "if (param_1 == 0) goto LAB_002127dc;" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002127dc;" (goto "goto") (statement_identifier "LAB_002127dc") (; ";"))) (expression_statement "pbVar10 = pbVar20;" (assignment_expression "pbVar10 = pbVar20" (identifier "pbVar10") (= "=") (identifier "pbVar20")) (; ";")) (expression_statement "pfVar3 = pfVar18;" (assignment_expression "pfVar3 = pfVar18" (identifier "pfVar3") (= "=") (identifier "pfVar18")) (; ";")) (if_statement "if (pbVar20[-1] == *(byte *)pfVar18) {\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }" (if "if") (parenthesized_expression "(pbVar20[-1] == *(byte *)pfVar18)" (( "(") (binary_expression "pbVar20[-1] == *(byte *)pfVar18" (subscript_expression "pbVar20[-1]" (identifier "pbVar20") ([ "[") (number_literal "-1") (] "]")) (== "==") (pointer_expression "*(byte *)pfVar18" (* "*") (cast_expression "(byte *)pfVar18" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pfVar18")))) () ")")) (compound_statement "{\n          do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);\n        }" ({ "{") (do_statement "do {\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          } while (pfVar16 == param_3);" (do "do") (compound_statement "{\n            pfVar3 = (float *)((int)pfVar3 + 1);\n            if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }\n            pfVar16 = (float *)(uint)*(byte *)pfVar3;\n            param_3 = (float *)(uint)*pbVar10;\n            pbVar10 = pbVar10 + 1;\n          }" ({ "{") (expression_statement "pfVar3 = (float *)((int)pfVar3 + 1);" (assignment_expression "pfVar3 = (float *)((int)pfVar3 + 1)" (identifier "pfVar3") (= "=") (cast_expression "(float *)((int)pfVar3 + 1)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar3 + 1)" (( "(") (binary_expression "(int)pfVar3 + 1" (cast_expression "(int)pfVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar3")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if ((float *)((int)pfVar18 + param_1) == pfVar3) {\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }" (if "if") (parenthesized_expression "((float *)((int)pfVar18 + param_1) == pfVar3)" (( "(") (binary_expression "(float *)((int)pfVar18 + param_1) == pfVar3" (cast_expression "(float *)((int)pfVar18 + param_1)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar18 + param_1)" (( "(") (binary_expression "(int)pfVar18 + param_1" (cast_expression "(int)pfVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar18")) (+ "+") (identifier "param_1")) () ")"))) (== "==") (identifier "pfVar3")) () ")")) (compound_statement "{\n              fVar34 = 0.0;\n              param_4 = pfVar16;\n              goto LAB_002127dc;\n            }" ({ "{") (expression_statement "fVar34 = 0.0;" (assignment_expression "fVar34 = 0.0" (identifier "fVar34") (= "=") (number_literal "0.0")) (; ";")) (expression_statement "param_4 = pfVar16;" (assignment_expression "param_4 = pfVar16" (identifier "param_4") (= "=") (identifier "pfVar16")) (; ";")) (goto_statement "goto LAB_002127dc;" (goto "goto") (statement_identifier "LAB_002127dc") (; ";")) (} "}"))) (expression_statement "pfVar16 = (float *)(uint)*(byte *)pfVar3;" (assignment_expression "pfVar16 = (float *)(uint)*(byte *)pfVar3" (identifier "pfVar16") (= "=") (binary_expression "(float *)(uint)*(byte *)pfVar3" (cast_expression "(float *)(uint)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(byte *)pfVar3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pfVar3")))) (; ";")) (expression_statement "param_3 = (float *)(uint)*pbVar10;" (assignment_expression "param_3 = (float *)(uint)*pbVar10" (identifier "param_3") (= "=") (binary_expression "(float *)(uint)*pbVar10" (cast_expression "(float *)(uint)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (identifier "pbVar10"))) (; ";")) (expression_statement "pbVar10 = pbVar10 + 1;" (assignment_expression "pbVar10 = pbVar10 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar10 + 1" (identifier "pbVar10") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pfVar16 == param_3)" (( "(") (binary_expression "pfVar16 == param_3" (identifier "pfVar16") (== "==") (identifier "param_3")) () ")")) (; ";")) (} "}"))) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar20 = pbVar20 + 0x10;" (assignment_expression "pbVar20 = pbVar20 + 0x10" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + 0x10" (identifier "pbVar20") (+ "+") (number_literal "0x10"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar8 < param_9)" (( "(") (binary_expression "iVar8 < param_9" (identifier "iVar8") (< "<") (identifier "param_9")) () ")")) (; ";")) (expression_statement "*param_7 = 0.0;" (assignment_expression "*param_7 = 0.0" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "0.0")) (; ";")) (expression_statement "param_7[1] = 0.0;" (assignment_expression "param_7[1] = 0.0" (subscript_expression "param_7[1]" (identifier "param_7") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0.0")) (; ";")) (expression_statement "param_7[2] = 0.0;" (assignment_expression "param_7[2] = 0.0" (subscript_expression "param_7[2]" (identifier "param_7") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0.0")) (; ";")) (expression_statement "param_7[3] = 0.0;" (assignment_expression "param_7[3] = 0.0" (subscript_expression "param_7[3]" (identifier "param_7") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0.0")) (; ";")) (expression_statement "param_4 = pfVar16;" (assignment_expression "param_4 = pfVar16" (identifier "param_4") (= "=") (identifier "pfVar16")) (; ";")) (if_statement "if (0 < param_1) goto LAB_00212818;" (if "if") (parenthesized_expression "(0 < param_1)" (( "(") (binary_expression "0 < param_1" (number_literal "0") (< "<") (identifier "param_1")) () ")")) (goto_statement "goto LAB_00212818;" (goto "goto") (statement_identifier "LAB_00212818") (; ";"))) (} "}")))) (expression_statement "fVar34 = 1.4013e-45;" (assignment_expression "fVar34 = 1.4013e-45" (identifier "fVar34") (= "=") (number_literal "1.4013e-45")) (; ";")) (} "}")))) (labeled_statement "LAB_002127dc:\n  if (local_c == *(float **)puVar29) {\n    return fVar34;\n  }" (statement_identifier "LAB_002127dc") (: ":") (if_statement "if (local_c == *(float **)puVar29) {\n    return fVar34;\n  }" (if "if") (parenthesized_expression "(local_c == *(float **)puVar29)" (( "(") (binary_expression "local_c == *(float **)puVar29" (identifier "local_c") (== "==") (pointer_expression "*(float **)puVar29" (* "*") (cast_expression "(float **)puVar29" (( "(") (type_descriptor "float **" (primitive_type "float") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar29")))) () ")")) (compound_statement "{\n    return fVar34;\n  }" ({ "{") (return_statement "return fVar34;" (return "return") (identifier "fVar34") (; ";")) (} "}")))) (expression_statement "pfVar18 = local_c;" (assignment_expression "pfVar18 = local_c" (identifier "pfVar18") (= "=") (identifier "local_c")) (; ";")) (expression_statement "puVar29 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar29 = PTR___stack_chk_fail_003a9064" (identifier "puVar29") (= "=") (identifier "PTR___stack_chk_fail_003a9064")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_003a9064" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_003a9064"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "fVar34 = *(float *)(*(int *)(puVar29 + 0x196010) + -0xe34);" (assignment_expression "fVar34 = *(float *)(*(int *)(puVar29 + 0x196010) + -0xe34)" (identifier "fVar34") (= "=") (pointer_expression "*(float *)(*(int *)(puVar29 + 0x196010) + -0xe34)" (* "*") (cast_expression "(float *)(*(int *)(puVar29 + 0x196010) + -0xe34)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar29 + 0x196010) + -0xe34)" (( "(") (binary_expression "*(int *)(puVar29 + 0x196010) + -0xe34" (pointer_expression "*(int *)(puVar29 + 0x196010)" (* "*") (cast_expression "(int *)(puVar29 + 0x196010)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar29 + 0x196010)" (( "(") (binary_expression "puVar29 + 0x196010" (identifier "puVar29") (+ "+") (number_literal "0x196010")) () ")")))) (+ "+") (number_literal "-0xe34")) () ")"))))) (; ";")) (expression_statement "fVar39 = *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e70);" (assignment_expression "fVar39 = *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e70)" (identifier "fVar39") (= "=") (pointer_expression "*(float *)(*(int *)(puVar29 + 0x196074) + -0x1e70)" (* "*") (cast_expression "(float *)(*(int *)(puVar29 + 0x196074) + -0x1e70)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar29 + 0x196074) + -0x1e70)" (( "(") (binary_expression "*(int *)(puVar29 + 0x196074) + -0x1e70" (pointer_expression "*(int *)(puVar29 + 0x196074)" (* "*") (cast_expression "(int *)(puVar29 + 0x196074)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar29 + 0x196074)" (( "(") (binary_expression "puVar29 + 0x196074" (identifier "puVar29") (+ "+") (number_literal "0x196074")) () ")")))) (+ "+") (number_literal "-0x1e70")) () ")"))))) (; ";")) (expression_statement "pfVar3 = *(float **)(puVar29 + 0x196954);" (assignment_expression "pfVar3 = *(float **)(puVar29 + 0x196954)" (identifier "pfVar3") (= "=") (pointer_expression "*(float **)(puVar29 + 0x196954)" (* "*") (cast_expression "(float **)(puVar29 + 0x196954)" (( "(") (type_descriptor "float **" (primitive_type "float") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar29 + 0x196954)" (( "(") (binary_expression "puVar29 + 0x196954" (identifier "puVar29") (+ "+") (number_literal "0x196954")) () ")"))))) (; ";")) (expression_statement "afStack_8c[0] = *pfVar3;" (assignment_expression "afStack_8c[0] = *pfVar3" (subscript_expression "afStack_8c[0]" (identifier "afStack_8c") ([ "[") (number_literal "0") (] "]")) (= "=") (pointer_expression "*pfVar3" (* "*") (identifier "pfVar3"))) (; ";")) (expression_statement "uVar40 = (uint)((float)param_2 * fVar39 + fVar34);" (assignment_expression "uVar40 = (uint)((float)param_2 * fVar39 + fVar34)" (identifier "uVar40") (= "=") (call_expression "(uint)((float)param_2 * fVar39 + fVar34)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((float)param_2 * fVar39 + fVar34)" (( "(") (binary_expression "(float)param_2 * fVar39 + fVar34" (binary_expression "(float)param_2 * fVar39" (cast_expression "(float)param_2" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "param_2")) (* "*") (identifier "fVar39")) (+ "+") (identifier "fVar34")) () ")")))) (; ";")) (expression_statement "uVar41 = (uint)((float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34);" (assignment_expression "uVar41 = (uint)((float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34)" (identifier "uVar41") (= "=") (call_expression "(uint)((float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34)" (( "(") (binary_expression "(float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34" (binary_expression "(float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c)" (cast_expression "(float)param_3" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "param_3")) (* "*") (pointer_expression "*(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c)" (* "*") (cast_expression "(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar29 + 0x196074) + -0x1e6c)" (( "(") (binary_expression "*(int *)(puVar29 + 0x196074) + -0x1e6c" (pointer_expression "*(int *)(puVar29 + 0x196074)" (* "*") (cast_expression "(int *)(puVar29 + 0x196074)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar29 + 0x196074)" (( "(") (binary_expression "puVar29 + 0x196074" (identifier "puVar29") (+ "+") (number_literal "0x196074")) () ")")))) (+ "+") (number_literal "-0x1e6c")) () ")"))))) (+ "+") (identifier "fVar34")) () ")")))) (; ";")) (if_statement "if (0x1f < uVar40) {\n    uVar40 = 0x1f;\n  }" (if "if") (parenthesized_expression "(0x1f < uVar40)" (( "(") (binary_expression "0x1f < uVar40" (number_literal "0x1f") (< "<") (identifier "uVar40")) () ")")) (compound_statement "{\n    uVar40 = 0x1f;\n  }" ({ "{") (expression_statement "uVar40 = 0x1f;" (assignment_expression "uVar40 = 0x1f" (identifier "uVar40") (= "=") (number_literal "0x1f")) (; ";")) (} "}"))) (expression_statement "uVar35 = (uint)(fVar39 * 5.421411e-39 + fVar34);" (assignment_expression "uVar35 = (uint)(fVar39 * 5.421411e-39 + fVar34)" (identifier "uVar35") (= "=") (call_expression "(uint)(fVar39 * 5.421411e-39 + fVar34)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(fVar39 * 5.421411e-39 + fVar34)" (( "(") (binary_expression "fVar39 * 5.421411e-39 + fVar34" (binary_expression "fVar39 * 5.421411e-39" (identifier "fVar39") (* "*") (number_literal "5.421411e-39")) (+ "+") (identifier "fVar34")) () ")")))) (; ";")) (if_statement "if (0x3f < uVar41) {\n    uVar41 = 0x3f;\n  }" (if "if") (parenthesized_expression "(0x3f < uVar41)" (( "(") (binary_expression "0x3f < uVar41" (number_literal "0x3f") (< "<") (identifier "uVar41")) () ")")) (compound_statement "{\n    uVar41 = 0x3f;\n  }" ({ "{") (expression_statement "uVar41 = 0x3f;" (assignment_expression "uVar41 = 0x3f" (identifier "uVar41") (= "=") (number_literal "0x3f")) (; ";")) (} "}"))) (expression_statement "uVar36 = (uint)(local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34);" (assignment_expression "uVar36 = (uint)(local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34)" (identifier "uVar36") (= "=") (call_expression "(uint)(local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34)" (( "(") (binary_expression "local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34" (binary_expression "local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c)" (identifier "local_54") (* "*") (pointer_expression "*(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c)" (* "*") (cast_expression "(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar29 + 0x196074) + -0x1e6c)" (( "(") (binary_expression "*(int *)(puVar29 + 0x196074) + -0x1e6c" (pointer_expression "*(int *)(puVar29 + 0x196074)" (* "*") (cast_expression "(int *)(puVar29 + 0x196074)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar29 + 0x196074)" (( "(") (binary_expression "puVar29 + 0x196074" (identifier "puVar29") (+ "+") (number_literal "0x196074")) () ")")))) (+ "+") (number_literal "-0x1e6c")) () ")"))))) (+ "+") (identifier "fVar34")) () ")")))) (; ";")) (if_statement "if (0x1f < uVar35) {\n    uVar35 = 0x1f;\n  }" (if "if") (parenthesized_expression "(0x1f < uVar35)" (( "(") (binary_expression "0x1f < uVar35" (number_literal "0x1f") (< "<") (identifier "uVar35")) () ")")) (compound_statement "{\n    uVar35 = 0x1f;\n  }" ({ "{") (expression_statement "uVar35 = 0x1f;" (assignment_expression "uVar35 = 0x1f" (identifier "uVar35") (= "=") (number_literal "0x1f")) (; ";")) (} "}"))) (expression_statement "uVar37 = (uint)((float)param_4 * fVar39 + fVar34);" (assignment_expression "uVar37 = (uint)((float)param_4 * fVar39 + fVar34)" (identifier "uVar37") (= "=") (call_expression "(uint)((float)param_4 * fVar39 + fVar34)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((float)param_4 * fVar39 + fVar34)" (( "(") (binary_expression "(float)param_4 * fVar39 + fVar34" (binary_expression "(float)param_4 * fVar39" (cast_expression "(float)param_4" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "param_4")) (* "*") (identifier "fVar39")) (+ "+") (identifier "fVar34")) () ")")))) (; ";")) (if_statement "if (0x3f < uVar36) {\n    uVar36 = 0x3f;\n  }" (if "if") (parenthesized_expression "(0x3f < uVar36)" (( "(") (binary_expression "0x3f < uVar36" (number_literal "0x3f") (< "<") (identifier "uVar36")) () ")")) (compound_statement "{\n    uVar36 = 0x3f;\n  }" ({ "{") (expression_statement "uVar36 = 0x3f;" (assignment_expression "uVar36 = 0x3f" (identifier "uVar36") (= "=") (number_literal "0x3f")) (; ";")) (} "}"))) (expression_statement "uVar38 = (uint)(local_50 * fVar39 + fVar34);" (assignment_expression "uVar38 = (uint)(local_50 * fVar39 + fVar34)" (identifier "uVar38") (= "=") (call_expression "(uint)(local_50 * fVar39 + fVar34)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_50 * fVar39 + fVar34)" (( "(") (binary_expression "local_50 * fVar39 + fVar34" (binary_expression "local_50 * fVar39" (identifier "local_50") (* "*") (identifier "fVar39")) (+ "+") (identifier "fVar34")) () ")")))) (; ";")) (if_statement "if (0x1f < uVar37) {\n    uVar37 = 0x1f;\n  }" (if "if") (parenthesized_expression "(0x1f < uVar37)" (( "(") (binary_expression "0x1f < uVar37" (number_literal "0x1f") (< "<") (identifier "uVar37")) () ")")) (compound_statement "{\n    uVar37 = 0x1f;\n  }" ({ "{") (expression_statement "uVar37 = 0x1f;" (assignment_expression "uVar37 = 0x1f" (identifier "uVar37") (= "=") (number_literal "0x1f")) (; ";")) (} "}"))) (expression_statement "puVar27 = (uint *)(uVar40 << 0xb | uVar41 << 5 | uVar37);" (assignment_expression "puVar27 = (uint *)(uVar40 << 0xb | uVar41 << 5 | uVar37)" (identifier "puVar27") (= "=") (cast_expression "(uint *)(uVar40 << 0xb | uVar41 << 5 | uVar37)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar40 << 0xb | uVar41 << 5 | uVar37)" (( "(") (binary_expression "uVar40 << 0xb | uVar41 << 5 | uVar37" (binary_expression "uVar40 << 0xb | uVar41 << 5" (binary_expression "uVar40 << 0xb" (identifier "uVar40") (<< "<<") (number_literal "0xb")) (| "|") (binary_expression "uVar41 << 5" (identifier "uVar41") (<< "<<") (number_literal "5"))) (| "|") (identifier "uVar37")) () ")")))) (; ";")) (if_statement "if (0x1f < uVar38) {\n    uVar38 = 0x1f;\n  }" (if "if") (parenthesized_expression "(0x1f < uVar38)" (( "(") (binary_expression "0x1f < uVar38" (number_literal "0x1f") (< "<") (identifier "uVar38")) () ")")) (compound_statement "{\n    uVar38 = 0x1f;\n  }" ({ "{") (expression_statement "uVar38 = 0x1f;" (assignment_expression "uVar38 = 0x1f" (identifier "uVar38") (= "=") (number_literal "0x1f")) (; ";")) (} "}"))) (expression_statement "puVar25 = (uint *)(uVar35 << 0xb | uVar36 << 5 | uVar38);" (assignment_expression "puVar25 = (uint *)(uVar35 << 0xb | uVar36 << 5 | uVar38)" (identifier "puVar25") (= "=") (cast_expression "(uint *)(uVar35 << 0xb | uVar36 << 5 | uVar38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar35 << 0xb | uVar36 << 5 | uVar38)" (( "(") (binary_expression "uVar35 << 0xb | uVar36 << 5 | uVar38" (binary_expression "uVar35 << 0xb | uVar36 << 5" (binary_expression "uVar35 << 0xb" (identifier "uVar35") (<< "<<") (number_literal "0xb")) (| "|") (binary_expression "uVar36 << 5" (identifier "uVar36") (<< "<<") (number_literal "5"))) (| "|") (identifier "uVar38")) () ")")))) (; ";")) (expression_statement "pfVar19 = (float *)&uStack_9c;" (assignment_expression "pfVar19 = (float *)&uStack_9c" (identifier "pfVar19") (= "=") (cast_expression "(float *)&uStack_9c" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&uStack_9c" (& "&") (identifier "uStack_9c")))) (; ";")) (do_statement "do {\n    if (puVar27 < puVar25) {\n      *(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3;\n    }\n    else {\n      while (puVar25 != puVar27) {\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }\n      *(byte *)pfVar19 = 0;\n    }\n    pfVar23 = (float *)((int)pfVar19 + 1);\n    local_4c[0] = local_4c[0] + 1;\n    pfVar19 = pfVar23;\n  } while (afStack_8c != pfVar23);" (do "do") (compound_statement "{\n    if (puVar27 < puVar25) {\n      *(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3;\n    }\n    else {\n      while (puVar25 != puVar27) {\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }\n      *(byte *)pfVar19 = 0;\n    }\n    pfVar23 = (float *)((int)pfVar19 + 1);\n    local_4c[0] = local_4c[0] + 1;\n    pfVar19 = pfVar23;\n  }" ({ "{") (if_statement "if (puVar27 < puVar25) {\n      *(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3;\n    }\n    else {\n      while (puVar25 != puVar27) {\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }\n      *(byte *)pfVar19 = 0;\n    }" (if "if") (parenthesized_expression "(puVar27 < puVar25)" (( "(") (binary_expression "puVar27 < puVar25" (identifier "puVar27") (< "<") (identifier "puVar25")) () ")")) (compound_statement "{\n      *(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3;\n    }" ({ "{") (expression_statement "*(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3;" (assignment_expression "*(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3" (pointer_expression "*(byte *)pfVar19" (* "*") (cast_expression "(byte *)pfVar19" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pfVar19"))) (= "=") (binary_expression "(*local_4c[0] ^ 1) & 3" (parenthesized_expression "(*local_4c[0] ^ 1)" (( "(") (binary_expression "*local_4c[0] ^ 1" (pointer_expression "*local_4c[0]" (* "*") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]"))) (^ "^") (number_literal "1")) () ")")) (& "&") (number_literal "3"))) (; ";")) (} "}")) (else_clause "else {\n      while (puVar25 != puVar27) {\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }\n      *(byte *)pfVar19 = 0;\n    }" (else "else") (compound_statement "{\n      while (puVar25 != puVar27) {\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }\n      *(byte *)pfVar19 = 0;\n    }" ({ "{") (while_statement "while (puVar25 != puVar27) {\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }" (while "while") (parenthesized_expression "(puVar25 != puVar27)" (( "(") (binary_expression "puVar25 != puVar27" (identifier "puVar25") (!= "!=") (identifier "puVar27")) () ")")) (compound_statement "{\n        bVar2 = *local_4c[0];\n        pfVar23 = (float *)((int)pfVar19 + 1);\n        local_4c[0] = local_4c[0] + 1;\n        *(byte *)pfVar19 = bVar2;\n        pfVar19 = pfVar23;\n        if (afStack_8c == pfVar23) goto LAB_00212a50;\n      }" ({ "{") (expression_statement "bVar2 = *local_4c[0];" (assignment_expression "bVar2 = *local_4c[0]" (identifier "bVar2") (= "=") (pointer_expression "*local_4c[0]" (* "*") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "pfVar23 = (float *)((int)pfVar19 + 1);" (assignment_expression "pfVar23 = (float *)((int)pfVar19 + 1)" (identifier "pfVar23") (= "=") (cast_expression "(float *)((int)pfVar19 + 1)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar19 + 1)" (( "(") (binary_expression "(int)pfVar19 + 1" (cast_expression "(int)pfVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar19")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "local_4c[0] = local_4c[0] + 1;" (assignment_expression "local_4c[0] = local_4c[0] + 1" (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "local_4c[0] + 1" (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(byte *)pfVar19 = bVar2;" (assignment_expression "*(byte *)pfVar19 = bVar2" (pointer_expression "*(byte *)pfVar19" (* "*") (cast_expression "(byte *)pfVar19" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pfVar19"))) (= "=") (identifier "bVar2")) (; ";")) (expression_statement "pfVar19 = pfVar23;" (assignment_expression "pfVar19 = pfVar23" (identifier "pfVar19") (= "=") (identifier "pfVar23")) (; ";")) (if_statement "if (afStack_8c == pfVar23) goto LAB_00212a50;" (if "if") (parenthesized_expression "(afStack_8c == pfVar23)" (( "(") (binary_expression "afStack_8c == pfVar23" (identifier "afStack_8c") (== "==") (identifier "pfVar23")) () ")")) (goto_statement "goto LAB_00212a50;" (goto "goto") (statement_identifier "LAB_00212a50") (; ";"))) (} "}"))) (expression_statement "*(byte *)pfVar19 = 0;" (assignment_expression "*(byte *)pfVar19 = 0" (pointer_expression "*(byte *)pfVar19" (* "*") (cast_expression "(byte *)pfVar19" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pfVar19"))) (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "pfVar23 = (float *)((int)pfVar19 + 1);" (assignment_expression "pfVar23 = (float *)((int)pfVar19 + 1)" (identifier "pfVar23") (= "=") (cast_expression "(float *)((int)pfVar19 + 1)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar19 + 1)" (( "(") (binary_expression "(int)pfVar19 + 1" (cast_expression "(int)pfVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar19")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "local_4c[0] = local_4c[0] + 1;" (assignment_expression "local_4c[0] = local_4c[0] + 1" (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "local_4c[0] + 1" (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar19 = pfVar23;" (assignment_expression "pfVar19 = pfVar23" (identifier "pfVar19") (= "=") (identifier "pfVar23")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(afStack_8c != pfVar23)" (( "(") (binary_expression "afStack_8c != pfVar23" (identifier "afStack_8c") (!= "!=") (identifier "pfVar23")) () ")")) (; ";")) (labeled_statement "LAB_00212a50:\n  puVar26 = puVar25;" (statement_identifier "LAB_00212a50") (: ":") (expression_statement "puVar26 = puVar25;" (assignment_expression "puVar26 = puVar25" (identifier "puVar26") (= "=") (identifier "puVar25")) (; ";"))) (if_statement "if (puVar27 < puVar25) {\n    puVar26 = puVar27;\n    puVar27 = puVar25;\n  }" (if "if") (parenthesized_expression "(puVar27 < puVar25)" (( "(") (binary_expression "puVar27 < puVar25" (identifier "puVar27") (< "<") (identifier "puVar25")) () ")")) (compound_statement "{\n    puVar26 = puVar27;\n    puVar27 = puVar25;\n  }" ({ "{") (expression_statement "puVar26 = puVar27;" (assignment_expression "puVar26 = puVar27" (identifier "puVar26") (= "=") (identifier "puVar27")) (; ";")) (expression_statement "puVar27 = puVar25;" (assignment_expression "puVar27 = puVar25" (identifier "puVar27") (= "=") (identifier "puVar25")) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar27 & 0xff);" (call_expression "(**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar27 & 0xff)" (parenthesized_expression "(**(code **)(puVar29 + 0x196700))" (( "(") (pointer_expression "**(code **)(puVar29 + 0x196700)" (* "*") (pointer_expression "*(code **)(puVar29 + 0x196700)" (* "*") (cast_expression "(code **)(puVar29 + 0x196700)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar29 + 0x196700)" (( "(") (binary_expression "puVar29 + 0x196700" (identifier "puVar29") (+ "+") (number_literal "0x196700")) () ")"))))) () ")")) (argument_list "(pfVar18,(uint)puVar27 & 0xff)" (( "(") (identifier "pfVar18") (, ",") (binary_expression "(uint)puVar27 & 0xff" (cast_expression "(uint)puVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar27")) (& "&") (number_literal "0xff")) () ")"))) (; ";")) (expression_statement "(**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar27 << 0x10) >> 0x18);" (call_expression "(**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar27 << 0x10) >> 0x18)" (parenthesized_expression "(**(code **)(puVar29 + 0x196700))" (( "(") (pointer_expression "**(code **)(puVar29 + 0x196700)" (* "*") (pointer_expression "*(code **)(puVar29 + 0x196700)" (* "*") (cast_expression "(code **)(puVar29 + 0x196700)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar29 + 0x196700)" (( "(") (binary_expression "puVar29 + 0x196700" (identifier "puVar29") (+ "+") (number_literal "0x196700")) () ")"))))) () ")")) (argument_list "(pfVar18,(uint)((int)puVar27 << 0x10) >> 0x18)" (( "(") (identifier "pfVar18") (, ",") (binary_expression "(uint)((int)puVar27 << 0x10) >> 0x18" (call_expression "(uint)((int)puVar27 << 0x10)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)puVar27 << 0x10)" (( "(") (binary_expression "(int)puVar27 << 0x10" (cast_expression "(int)puVar27" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar27")) (<< "<<") (number_literal "0x10")) () ")"))) (>> ">>") (number_literal "0x18")) () ")"))) (; ";")) (expression_statement "(**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar26 & 0xff);" (call_expression "(**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar26 & 0xff)" (parenthesized_expression "(**(code **)(puVar29 + 0x196700))" (( "(") (pointer_expression "**(code **)(puVar29 + 0x196700)" (* "*") (pointer_expression "*(code **)(puVar29 + 0x196700)" (* "*") (cast_expression "(code **)(puVar29 + 0x196700)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar29 + 0x196700)" (( "(") (binary_expression "puVar29 + 0x196700" (identifier "puVar29") (+ "+") (number_literal "0x196700")) () ")"))))) () ")")) (argument_list "(pfVar18,(uint)puVar26 & 0xff)" (( "(") (identifier "pfVar18") (, ",") (binary_expression "(uint)puVar26 & 0xff" (cast_expression "(uint)puVar26" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar26")) (& "&") (number_literal "0xff")) () ")"))) (; ";")) (expression_statement "(**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar26 << 0x10) >> 0x18);" (call_expression "(**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar26 << 0x10) >> 0x18)" (parenthesized_expression "(**(code **)(puVar29 + 0x196700))" (( "(") (pointer_expression "**(code **)(puVar29 + 0x196700)" (* "*") (pointer_expression "*(code **)(puVar29 + 0x196700)" (* "*") (cast_expression "(code **)(puVar29 + 0x196700)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar29 + 0x196700)" (( "(") (binary_expression "puVar29 + 0x196700" (identifier "puVar29") (+ "+") (number_literal "0x196700")) () ")"))))) () ")")) (argument_list "(pfVar18,(uint)((int)puVar26 << 0x10) >> 0x18)" (( "(") (identifier "pfVar18") (, ",") (binary_expression "(uint)((int)puVar26 << 0x10) >> 0x18" (call_expression "(uint)((int)puVar26 << 0x10)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)puVar26 << 0x10)" (( "(") (binary_expression "(int)puVar26 << 0x10" (cast_expression "(int)puVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar26")) (<< "<<") (number_literal "0x10")) () ")"))) (>> ">>") (number_literal "0x18")) () ")"))) (; ";")) (expression_statement "pfVar19 = (float *)&uStack_9c;" (assignment_expression "pfVar19 = (float *)&uStack_9c" (identifier "pfVar19") (= "=") (cast_expression "(float *)&uStack_9c" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&uStack_9c" (& "&") (identifier "uStack_9c")))) (; ";")) (do_statement "do {\n    pfVar11 = pfVar19 + 1;\n    pfVar16 = (float *)(((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff);\n    pfVar9 = pfVar18;\n    (**(code **)(puVar29 + 0x196700))();\n    pfVar19 = pfVar11;\n  } while (pfVar23 != pfVar11);" (do "do") (compound_statement "{\n    pfVar11 = pfVar19 + 1;\n    pfVar16 = (float *)(((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff);\n    pfVar9 = pfVar18;\n    (**(code **)(puVar29 + 0x196700))();\n    pfVar19 = pfVar11;\n  }" ({ "{") (expression_statement "pfVar11 = pfVar19 + 1;" (assignment_expression "pfVar11 = pfVar19 + 1" (identifier "pfVar11") (= "=") (binary_expression "pfVar19 + 1" (identifier "pfVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar16 = (float *)(((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff);" (assignment_expression "pfVar16 = (float *)(((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff)" (identifier "pfVar16") (= "=") (cast_expression "(float *)(((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff)" (( "(") (binary_expression "((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff" (parenthesized_expression "((uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6)" (( "(") (binary_expression "(uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |\n                        (uint)*(byte *)((int)pfVar19 + 3) << 6" (binary_expression "(uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19" (binary_expression "(uint)*(byte *)((int)pfVar19 + 1) << 2 |\n                         (uint)*(byte *)((int)pfVar19 + 2) << 4" (binary_expression "(uint)*(byte *)((int)pfVar19 + 1) << 2" (binary_expression "(uint)*(byte *)((int)pfVar19 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((int)pfVar19 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar19 + 1)" (( "(") (binary_expression "(int)pfVar19 + 1" (cast_expression "(int)pfVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar19")) (+ "+") (number_literal "1")) () ")")))) (<< "<<") (number_literal "2")) (| "|") (binary_expression "(uint)*(byte *)((int)pfVar19 + 2) << 4" (binary_expression "(uint)*(byte *)((int)pfVar19 + 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((int)pfVar19 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar19 + 2)" (( "(") (binary_expression "(int)pfVar19 + 2" (cast_expression "(int)pfVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar19")) (+ "+") (number_literal "2")) () ")")))) (<< "<<") (number_literal "4"))) (| "|") (binary_expression "(uint)*(byte *)pfVar19" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)pfVar19" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pfVar19")))) (| "|") (binary_expression "(uint)*(byte *)((int)pfVar19 + 3) << 6" (binary_expression "(uint)*(byte *)((int)pfVar19 + 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((int)pfVar19 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar19 + 3)" (( "(") (binary_expression "(int)pfVar19 + 3" (cast_expression "(int)pfVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar19")) (+ "+") (number_literal "3")) () ")")))) (<< "<<") (number_literal "6"))) () ")")) (& "&") (number_literal "0xff")) () ")")))) (; ";")) (expression_statement "pfVar9 = pfVar18;" (assignment_expression "pfVar9 = pfVar18" (identifier "pfVar9") (= "=") (identifier "pfVar18")) (; ";")) (expression_statement "(**(code **)(puVar29 + 0x196700))();" (call_expression "(**(code **)(puVar29 + 0x196700))()" (parenthesized_expression "(**(code **)(puVar29 + 0x196700))" (( "(") (pointer_expression "**(code **)(puVar29 + 0x196700)" (* "*") (pointer_expression "*(code **)(puVar29 + 0x196700)" (* "*") (cast_expression "(code **)(puVar29 + 0x196700)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar29 + 0x196700)" (( "(") (binary_expression "puVar29 + 0x196700" (identifier "puVar29") (+ "+") (number_literal "0x196700")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pfVar19 = pfVar11;" (assignment_expression "pfVar19 = pfVar11" (identifier "pfVar19") (= "=") (identifier "pfVar11")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pfVar23 != pfVar11)" (( "(") (binary_expression "pfVar23 != pfVar11" (identifier "pfVar23") (!= "!=") (identifier "pfVar11")) () ")")) (; ";")) (if_statement "if (afStack_8c[0] == *pfVar3) {\n    return *pfVar3;\n  }" (if "if") (parenthesized_expression "(afStack_8c[0] == *pfVar3)" (( "(") (binary_expression "afStack_8c[0] == *pfVar3" (subscript_expression "afStack_8c[0]" (identifier "afStack_8c") ([ "[") (number_literal "0") (] "]")) (== "==") (pointer_expression "*pfVar3" (* "*") (identifier "pfVar3"))) () ")")) (compound_statement "{\n    return *pfVar3;\n  }" ({ "{") (return_statement "return *pfVar3;" (return "return") (pointer_expression "*pfVar3" (* "*") (identifier "pfVar3")) (; ";")) (} "}"))) (expression_statement "pcVar30 = *(code **)(puVar29 + 0x196788);" (assignment_expression "pcVar30 = *(code **)(puVar29 + 0x196788)" (identifier "pcVar30") (= "=") (pointer_expression "*(code **)(puVar29 + 0x196788)" (* "*") (cast_expression "(code **)(puVar29 + 0x196788)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar29 + 0x196788)" (( "(") (binary_expression "puVar29 + 0x196788" (identifier "puVar29") (+ "+") (number_literal "0x196788")) () ")"))))) (; ";")) (expression_statement "(*pcVar30)();" (call_expression "(*pcVar30)()" (parenthesized_expression "(*pcVar30)" (( "(") (pointer_expression "*pcVar30" (* "*") (identifier "pcVar30")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar32 = pcVar30 + 0x19dd78;" (assignment_expression "pcVar32 = pcVar30 + 0x19dd78" (identifier "pcVar32") (= "=") (binary_expression "pcVar30 + 0x19dd78" (identifier "pcVar30") (+ "+") (number_literal "0x19dd78"))) (; ";")) (expression_statement "piVar24 = *(int **)(pcVar30 + 0x1966f8);" (assignment_expression "piVar24 = *(int **)(pcVar30 + 0x1966f8)" (identifier "piVar24") (= "=") (pointer_expression "*(int **)(pcVar30 + 0x1966f8)" (* "*") (cast_expression "(int **)(pcVar30 + 0x1966f8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar30 + 0x1966f8)" (( "(") (binary_expression "pcVar30 + 0x1966f8" (identifier "pcVar30") (+ "+") (number_literal "0x1966f8")) () ")"))))) (; ";")) (expression_statement "iStack_e4 = *piVar24;" (assignment_expression "iStack_e4 = *piVar24" (identifier "iStack_e4") (= "=") (pointer_expression "*piVar24" (* "*") (identifier "piVar24"))) (; ";")) (expression_statement "pcStack_130 = pcVar32;" (assignment_expression "pcStack_130 = pcVar32" (identifier "pcStack_130") (= "=") (identifier "pcVar32")) (; ";")) (expression_statement "pfStack_e0 = pfVar23;" (assignment_expression "pfStack_e0 = pfVar23" (identifier "pfStack_e0") (= "=") (identifier "pfVar23")) (; ";")) (expression_statement "pfStack_dc = pfVar18;" (assignment_expression "pfStack_dc = pfVar18" (identifier "pfStack_dc") (= "=") (identifier "pfVar18")) (; ";")) (expression_statement "pfStack_d8 = pfVar3;" (assignment_expression "pfStack_d8 = pfVar3" (identifier "pfStack_d8") (= "=") (identifier "pfVar3")) (; ";")) (expression_statement "pfStack_d4 = pfVar11;" (assignment_expression "pfStack_d4 = pfVar11" (identifier "pfStack_d4") (= "=") (identifier "pfVar11")) (; ";")) (expression_statement "puStack_d0 = puVar26;" (assignment_expression "puStack_d0 = puVar26" (identifier "puStack_d0") (= "=") (identifier "puVar26")) (; ";")) (expression_statement "puStack_cc = puVar27;" (assignment_expression "puStack_cc = puVar27" (identifier "puStack_cc") (= "=") (identifier "puVar27")) (; ";")) (if_statement "if (pfVar9 == (float *)0x0) {\nLAB_00213360:\n    pfVar9 = pfVar18;\n    (**(code **)(pcVar32 + -0x72a8))\n              (*(int *)(pcVar32 + -0x7fd0) + 0xd78,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n  }\n  else {\n    if (pfVar9[0xc85] != -1.2269538e-12) goto LAB_00213390;\n    if (pfVar9[0xc84] != 0.0) {\n      pfStack_13c = pfVar9 + 0x884;\n      pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);\n    }\n    pcVar32 = pcStack_130;\n    pfVar3 = pfVar16;\n    if (pfVar16 == (float *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n      pfVar18 = pfVar9;\n      goto LAB_00213360;\n    }\n    if (pfVar16[7] != -1.2269538e-12) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }\n    pfVar23 = (float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16);\n    iVar8 = (**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16);\n    if (iVar8 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      fVar34 = 0.0;\n      goto LAB_00212c9c;\n    }\n    pfStack_140 = (float *)0x0;\n    (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n    iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n    if ((iVar8 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar26 = (uint *)0x1;\n      fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      if (iVar8 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      puVar26 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pfStack_140 = (float *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = 0.0;\n      unaff_s7 = 2.24208e-44;\n      pcStack_128 = (code *)(puVar27 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar26 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar26 = (uint *)0x1;\nLAB_00212ed8:\n      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);\n      puVar27 = puVar26;\n      if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }\n      else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar8 = (*pcVar32)(0xb);\n      if (iVar8 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar27 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);\n      uStack_124 = (uint)(iVar8 != 0);\n      while( true ) {\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n      fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n    }\n    else {\nLAB_00212c24:\n      uVar17 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar15 = *(int *)(pcStack_130 + -0x7f60);\n      iVar8 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar32 = *(code **)(pcStack_130 + -0x7990);\n      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;\n      iStack_138 = iStack_138 + 0x3e28;\n      pfStack_140 = (float *)&DAT_000001a9;\n      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);\n      if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }\n      fVar34 = 0.0;\n      pfVar9 = pfVar9 + 0x884;\n    }\nLAB_00212c9c:\n    pcVar32 = pcStack_130;\n    if (iStack_e4 == *piVar24) {\n      return fVar34;\n    }\n  }" (if "if") (parenthesized_expression "(pfVar9 == (float *)0x0)" (( "(") (binary_expression "pfVar9 == (float *)0x0" (identifier "pfVar9") (== "==") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00213360:\n    pfVar9 = pfVar18;\n    (**(code **)(pcVar32 + -0x72a8))\n              (*(int *)(pcVar32 + -0x7fd0) + 0xd78,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n  }" ({ "{") (labeled_statement "LAB_00213360:\n    pfVar9 = pfVar18;" (statement_identifier "LAB_00213360") (: ":") (expression_statement "pfVar9 = pfVar18;" (assignment_expression "pfVar9 = pfVar18" (identifier "pfVar9") (= "=") (identifier "pfVar18")) (; ";"))) (expression_statement "(**(code **)(pcVar32 + -0x72a8))\n              (*(int *)(pcVar32 + -0x7fd0) + 0xd78,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar32 + -0x7f60) + -0x2ab4);" (call_expression "(**(code **)(pcVar32 + -0x72a8))\n              (*(int *)(pcVar32 + -0x7fd0) + 0xd78,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar32 + -0x7f60) + -0x2ab4)" (parenthesized_expression "(**(code **)(pcVar32 + -0x72a8))" (( "(") (pointer_expression "**(code **)(pcVar32 + -0x72a8)" (* "*") (pointer_expression "*(code **)(pcVar32 + -0x72a8)" (* "*") (cast_expression "(code **)(pcVar32 + -0x72a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + -0x72a8)" (( "(") (binary_expression "pcVar32 + -0x72a8" (identifier "pcVar32") (+ "+") (number_literal "-0x72a8")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar32 + -0x7fd0) + 0xd78,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6c7,\n               *(int *)(pcVar32 + -0x7f60) + -0x2ab4)" (( "(") (binary_expression "*(int *)(pcVar32 + -0x7fd0) + 0xd78" (pointer_expression "*(int *)(pcVar32 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcVar32 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar32 + -0x7fd0)" (( "(") (binary_expression "pcVar32 + -0x7fd0" (identifier "pcVar32") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0xd78")) (, ",") (binary_expression "*(int *)(pcVar32 + -0x7f60) + -0x2c20" (pointer_expression "*(int *)(pcVar32 + -0x7f60)" (* "*") (cast_expression "(int *)(pcVar32 + -0x7f60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar32 + -0x7f60)" (( "(") (binary_expression "pcVar32 + -0x7f60" (identifier "pcVar32") (+ "+") (number_literal "-0x7f60")) () ")")))) (+ "+") (number_literal "-0x2c20")) (, ",") (number_literal "0x6c7") (, ",") (binary_expression "*(int *)(pcVar32 + -0x7f60) + -0x2ab4" (pointer_expression "*(int *)(pcVar32 + -0x7f60)" (* "*") (cast_expression "(int *)(pcVar32 + -0x7f60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar32 + -0x7f60)" (( "(") (binary_expression "pcVar32 + -0x7f60" (identifier "pcVar32") (+ "+") (number_literal "-0x7f60")) () ")")))) (+ "+") (number_literal "-0x2ab4")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    if (pfVar9[0xc85] != -1.2269538e-12) goto LAB_00213390;\n    if (pfVar9[0xc84] != 0.0) {\n      pfStack_13c = pfVar9 + 0x884;\n      pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);\n    }\n    pcVar32 = pcStack_130;\n    pfVar3 = pfVar16;\n    if (pfVar16 == (float *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n      pfVar18 = pfVar9;\n      goto LAB_00213360;\n    }\n    if (pfVar16[7] != -1.2269538e-12) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }\n    pfVar23 = (float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16);\n    iVar8 = (**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16);\n    if (iVar8 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      fVar34 = 0.0;\n      goto LAB_00212c9c;\n    }\n    pfStack_140 = (float *)0x0;\n    (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n    iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n    if ((iVar8 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar26 = (uint *)0x1;\n      fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      if (iVar8 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      puVar26 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pfStack_140 = (float *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = 0.0;\n      unaff_s7 = 2.24208e-44;\n      pcStack_128 = (code *)(puVar27 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar26 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar26 = (uint *)0x1;\nLAB_00212ed8:\n      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);\n      puVar27 = puVar26;\n      if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }\n      else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar8 = (*pcVar32)(0xb);\n      if (iVar8 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar27 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);\n      uStack_124 = (uint)(iVar8 != 0);\n      while( true ) {\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n      fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n    }\n    else {\nLAB_00212c24:\n      uVar17 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar15 = *(int *)(pcStack_130 + -0x7f60);\n      iVar8 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar32 = *(code **)(pcStack_130 + -0x7990);\n      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;\n      iStack_138 = iStack_138 + 0x3e28;\n      pfStack_140 = (float *)&DAT_000001a9;\n      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);\n      if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }\n      fVar34 = 0.0;\n      pfVar9 = pfVar9 + 0x884;\n    }\nLAB_00212c9c:\n    pcVar32 = pcStack_130;\n    if (iStack_e4 == *piVar24) {\n      return fVar34;\n    }\n  }" (else "else") (compound_statement "{\n    if (pfVar9[0xc85] != -1.2269538e-12) goto LAB_00213390;\n    if (pfVar9[0xc84] != 0.0) {\n      pfStack_13c = pfVar9 + 0x884;\n      pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);\n    }\n    pcVar32 = pcStack_130;\n    pfVar3 = pfVar16;\n    if (pfVar16 == (float *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n      pfVar18 = pfVar9;\n      goto LAB_00213360;\n    }\n    if (pfVar16[7] != -1.2269538e-12) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }\n    pfVar23 = (float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16);\n    iVar8 = (**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16);\n    if (iVar8 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      fVar34 = 0.0;\n      goto LAB_00212c9c;\n    }\n    pfStack_140 = (float *)0x0;\n    (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n    iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n    if ((iVar8 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar26 = (uint *)0x1;\n      fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      if (iVar8 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      puVar26 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pfStack_140 = (float *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = 0.0;\n      unaff_s7 = 2.24208e-44;\n      pcStack_128 = (code *)(puVar27 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar26 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar26 = (uint *)0x1;\nLAB_00212ed8:\n      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);\n      puVar27 = puVar26;\n      if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }\n      else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar8 = (*pcVar32)(0xb);\n      if (iVar8 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar27 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);\n      uStack_124 = (uint)(iVar8 != 0);\n      while( true ) {\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n      fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n    }\n    else {\nLAB_00212c24:\n      uVar17 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar15 = *(int *)(pcStack_130 + -0x7f60);\n      iVar8 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar32 = *(code **)(pcStack_130 + -0x7990);\n      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;\n      iStack_138 = iStack_138 + 0x3e28;\n      pfStack_140 = (float *)&DAT_000001a9;\n      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);\n      if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }\n      fVar34 = 0.0;\n      pfVar9 = pfVar9 + 0x884;\n    }\nLAB_00212c9c:\n    pcVar32 = pcStack_130;\n    if (iStack_e4 == *piVar24) {\n      return fVar34;\n    }\n  }" ({ "{") (if_statement "if (pfVar9[0xc85] != -1.2269538e-12) goto LAB_00213390;" (if "if") (parenthesized_expression "(pfVar9[0xc85] != -1.2269538e-12)" (( "(") (binary_expression "pfVar9[0xc85] != -1.2269538e-12" (subscript_expression "pfVar9[0xc85]" (identifier "pfVar9") ([ "[") (number_literal "0xc85") (] "]")) (!= "!=") (number_literal "-1.2269538e-12")) () ")")) (goto_statement "goto LAB_00213390;" (goto "goto") (statement_identifier "LAB_00213390") (; ";"))) (if_statement "if (pfVar9[0xc84] != 0.0) {\n      pfStack_13c = pfVar9 + 0x884;\n      pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);\n    }" (if "if") (parenthesized_expression "(pfVar9[0xc84] != 0.0)" (( "(") (binary_expression "pfVar9[0xc84] != 0.0" (subscript_expression "pfVar9[0xc84]" (identifier "pfVar9") ([ "[") (number_literal "0xc84") (] "]")) (!= "!=") (number_literal "0.0")) () ")")) (compound_statement "{\n      pfStack_13c = pfVar9 + 0x884;\n      pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);\n      (**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);\n    }" ({ "{") (expression_statement "pfStack_13c = pfVar9 + 0x884;" (assignment_expression "pfStack_13c = pfVar9 + 0x884" (identifier "pfStack_13c") (= "=") (binary_expression "pfVar9 + 0x884" (identifier "pfVar9") (+ "+") (number_literal "0x884"))) (; ";")) (expression_statement "pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);" (assignment_expression "pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac)" (identifier "pfStack_140") (= "=") (cast_expression "(float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar30 + 0x195dac) + -0x62ac)" (( "(") (binary_expression "*(int *)(pcVar30 + 0x195dac) + -0x62ac" (pointer_expression "*(int *)(pcVar30 + 0x195dac)" (* "*") (cast_expression "(int *)(pcVar30 + 0x195dac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar30 + 0x195dac)" (( "(") (binary_expression "pcVar30 + 0x195dac" (identifier "pcVar30") (+ "+") (number_literal "0x195dac")) () ")")))) (+ "+") (number_literal "-0x62ac")) () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);" (call_expression "(**(code **)(pcVar30 + 0x1966a8))\n                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca)" (parenthesized_expression "(**(code **)(pcVar30 + 0x1966a8))" (( "(") (pointer_expression "**(code **)(pcVar30 + 0x1966a8)" (* "*") (pointer_expression "*(code **)(pcVar30 + 0x1966a8)" (* "*") (cast_expression "(code **)(pcVar30 + 0x1966a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar30 + 0x1966a8)" (( "(") (binary_expression "pcVar30 + 0x1966a8" (identifier "pcVar30") (+ "+") (number_literal "0x1966a8")) () ")"))))) () ")")) (argument_list "(0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,\n                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "*(int *)(pcVar30 + 0x195e18) + -0x2c20" (pointer_expression "*(int *)(pcVar30 + 0x195e18)" (* "*") (cast_expression "(int *)(pcVar30 + 0x195e18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar30 + 0x195e18)" (( "(") (binary_expression "pcVar30 + 0x195e18" (identifier "pcVar30") (+ "+") (number_literal "0x195e18")) () ")")))) (+ "+") (number_literal "-0x2c20")) (, ",") (binary_expression "*(int *)(pcVar30 + 0x195e18) + -0x2ac4" (pointer_expression "*(int *)(pcVar30 + 0x195e18)" (* "*") (cast_expression "(int *)(pcVar30 + 0x195e18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar30 + 0x195e18)" (( "(") (binary_expression "pcVar30 + 0x195e18" (identifier "pcVar30") (+ "+") (number_literal "0x195e18")) () ")")))) (+ "+") (number_literal "-0x2ac4")) (, ",") (number_literal "0x6ca") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar32 = pcStack_130;" (assignment_expression "pcVar32 = pcStack_130" (identifier "pcVar32") (= "=") (identifier "pcStack_130")) (; ";")) (expression_statement "pfVar3 = pfVar16;" (assignment_expression "pfVar3 = pfVar16" (identifier "pfVar3") (= "=") (identifier "pfVar16")) (; ";")) (if_statement "if (pfVar16 == (float *)0x0) {\nLAB_0021333c:\n      (**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n      pfVar18 = pfVar9;\n      goto LAB_00213360;\n    }" (if "if") (parenthesized_expression "(pfVar16 == (float *)0x0)" (( "(") (binary_expression "pfVar16 == (float *)0x0" (identifier "pfVar16") (== "==") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0021333c:\n      (**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);\n      pfVar18 = pfVar9;\n      goto LAB_00213360;\n    }" ({ "{") (labeled_statement "LAB_0021333c:\n      (**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);" (statement_identifier "LAB_0021333c") (: ":") (expression_statement "(**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);" (call_expression "(**(code **)(pcVar32 + -0x72a8))\n                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4)" (parenthesized_expression "(**(code **)(pcVar32 + -0x72a8))" (( "(") (pointer_expression "**(code **)(pcVar32 + -0x72a8)" (* "*") (pointer_expression "*(code **)(pcVar32 + -0x72a8)" (* "*") (cast_expression "(code **)(pcVar32 + -0x72a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + -0x72a8)" (( "(") (binary_expression "pcVar32 + -0x72a8" (identifier "pcVar32") (+ "+") (number_literal "-0x72a8")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,\n                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4)" (( "(") (binary_expression "*(int *)(pcVar32 + -0x7fd0) + 0x1cac" (pointer_expression "*(int *)(pcVar32 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcVar32 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar32 + -0x7fd0)" (( "(") (binary_expression "pcVar32 + -0x7fd0" (identifier "pcVar32") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x1cac")) (, ",") (binary_expression "*(int *)(pcVar32 + -0x7f60) + -0x2c20" (pointer_expression "*(int *)(pcVar32 + -0x7f60)" (* "*") (cast_expression "(int *)(pcVar32 + -0x7f60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar32 + -0x7f60)" (( "(") (binary_expression "pcVar32 + -0x7f60" (identifier "pcVar32") (+ "+") (number_literal "-0x7f60")) () ")")))) (+ "+") (number_literal "-0x2c20")) (, ",") (number_literal "0x6cc") (, ",") (binary_expression "*(int *)(pcVar32 + -0x7f60) + -0x2ab4" (pointer_expression "*(int *)(pcVar32 + -0x7f60)" (* "*") (cast_expression "(int *)(pcVar32 + -0x7f60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar32 + -0x7f60)" (( "(") (binary_expression "pcVar32 + -0x7f60" (identifier "pcVar32") (+ "+") (number_literal "-0x7f60")) () ")")))) (+ "+") (number_literal "-0x2ab4")) () ")"))) (; ";"))) (expression_statement "pfVar18 = pfVar9;" (assignment_expression "pfVar18 = pfVar9" (identifier "pfVar18") (= "=") (identifier "pfVar9")) (; ";")) (goto_statement "goto LAB_00213360;" (goto "goto") (statement_identifier "LAB_00213360") (; ";")) (} "}"))) (if_statement "if (pfVar16[7] != -1.2269538e-12) {\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }" (if "if") (parenthesized_expression "(pfVar16[7] != -1.2269538e-12)" (( "(") (binary_expression "pfVar16[7] != -1.2269538e-12" (subscript_expression "pfVar16[7]" (identifier "pfVar16") ([ "[") (number_literal "7") (] "]")) (!= "!=") (number_literal "-1.2269538e-12")) () ")")) (compound_statement "{\n      (**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);\n      goto LAB_0021333c;\n    }" ({ "{") (expression_statement "(**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);" (call_expression "(**(code **)(pcStack_130 + -0x72a8))\n                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x72a8))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x72a8)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x72a8)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x72a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x72a8)" (( "(") (binary_expression "pcStack_130 + -0x72a8" (identifier "pcStack_130") (+ "+") (number_literal "-0x72a8")) () ")"))))) () ")")) (argument_list "(*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4)" (( "(") (binary_expression "*(int *)(pcStack_130 + -0x7fd0) + 0x294c" (pointer_expression "*(int *)(pcStack_130 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_130 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_130 + -0x7fd0)" (( "(") (binary_expression "pcStack_130 + -0x7fd0" (identifier "pcStack_130") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x294c")) (, ",") (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2c20" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" (* "*") (cast_expression "(int *)(pcStack_130 + -0x7f60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_130 + -0x7f60)" (( "(") (binary_expression "pcStack_130 + -0x7f60" (identifier "pcStack_130") (+ "+") (number_literal "-0x7f60")) () ")")))) (+ "+") (number_literal "-0x2c20")) (, ",") (number_literal "0x6cd") (, ",") (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2ab4" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" (* "*") (cast_expression "(int *)(pcStack_130 + -0x7f60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_130 + -0x7f60)" (( "(") (binary_expression "pcStack_130 + -0x7f60" (identifier "pcStack_130") (+ "+") (number_literal "-0x7f60")) () ")")))) (+ "+") (number_literal "-0x2ab4")) () ")"))) (; ";")) (goto_statement "goto LAB_0021333c;" (goto "goto") (statement_identifier "LAB_0021333c") (; ";")) (} "}"))) (expression_statement "pfVar23 = (float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16);" (assignment_expression "pfVar23 = (float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16)" (identifier "pfVar23") (= "=") (cast_expression "(float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x72a4))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x72a4)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x72a4)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x72a4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x72a4)" (( "(") (binary_expression "pcStack_130 + -0x72a4" (identifier "pcStack_130") (+ "+") (number_literal "-0x72a4")) () ")"))))) () ")")) (argument_list "(pfVar9,pfVar16)" (( "(") (identifier "pfVar9") (, ",") (identifier "pfVar16") () ")"))))) (; ";")) (expression_statement "iVar8 = (**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16);" (assignment_expression "iVar8 = (**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7664))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7664)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7664)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7664)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7664)" (( "(") (binary_expression "pcStack_130 + -0x7664" (identifier "pcStack_130") (+ "+") (number_literal "-0x7664")) () ")"))))) () ")")) (argument_list "(pfVar9,pfVar23,2,pfVar16)" (( "(") (identifier "pfVar9") (, ",") (identifier "pfVar23") (, ",") (number_literal "2") (, ",") (identifier "pfVar16") () ")")))) (; ";")) (if_statement "if (iVar8 == 0) {\n      (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      fVar34 = 0.0;\n      goto LAB_00212c9c;\n    }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      fVar34 = 0.0;\n      goto LAB_00212c9c;\n    }" ({ "{") (expression_statement "(**(code **)(pcStack_130 + -0x73a0))(pfVar23);" (call_expression "(**(code **)(pcStack_130 + -0x73a0))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x73a0))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x73a0)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x73a0)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x73a0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x73a0)" (( "(") (binary_expression "pcStack_130 + -0x73a0" (identifier "pcStack_130") (+ "+") (number_literal "-0x73a0")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")"))) (; ";")) (expression_statement "fVar34 = 0.0;" (assignment_expression "fVar34 = 0.0" (identifier "fVar34") (= "=") (number_literal "0.0")) (; ";")) (goto_statement "goto LAB_00212c9c;" (goto "goto") (statement_identifier "LAB_00212c9c") (; ";")) (} "}"))) (expression_statement "pfStack_140 = (float *)0x0;" (assignment_expression "pfStack_140 = (float *)0x0" (identifier "pfStack_140") (= "=") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(**(code **)(pcStack_130 + -0x7588))(pfVar23);" (call_expression "(**(code **)(pcStack_130 + -0x7588))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7588))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7588)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7588)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7588)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7588)" (( "(") (binary_expression "pcStack_130 + -0x7588" (identifier "pcStack_130") (+ "+") (number_literal "-0x7588")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")"))) (; ";")) (expression_statement "iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7844)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7844)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7844)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7844)" (( "(") (binary_expression "pcStack_130 + -0x7844" (identifier "pcStack_130") (+ "+") (number_literal "-0x7844")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")")))) (; ";")) (if_statement "if ((iVar8 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)\n       ) {\n      puVar26 = (uint *)0x1;\n      fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      if (iVar8 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      puVar26 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pfStack_140 = (float *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = 0.0;\n      unaff_s7 = 2.24208e-44;\n      pcStack_128 = (code *)(puVar27 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar26 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar26 = (uint *)0x1;\nLAB_00212ed8:\n      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);\n      puVar27 = puVar26;\n      if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }\n      else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar8 = (*pcVar32)(0xb);\n      if (iVar8 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar27 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);\n      uStack_124 = (uint)(iVar8 != 0);\n      while( true ) {\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n      fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n    }\n    else {\nLAB_00212c24:\n      uVar17 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar15 = *(int *)(pcStack_130 + -0x7f60);\n      iVar8 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar32 = *(code **)(pcStack_130 + -0x7990);\n      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;\n      iStack_138 = iStack_138 + 0x3e28;\n      pfStack_140 = (float *)&DAT_000001a9;\n      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);\n      if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }\n      fVar34 = 0.0;\n      pfVar9 = pfVar9 + 0x884;\n    }" (if "if") (parenthesized_expression "((iVar8 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)\n       )" (( "(") (binary_expression "(iVar8 == 0x7c) &&\n       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)" (parenthesized_expression "(iVar8 == 0x7c)" (( "(") (binary_expression "iVar8 == 0x7c" (identifier "iVar8") (== "==") (number_literal "0x7c")) () ")")) (&& "&&") (parenthesized_expression "(uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)" (( "(") (comma_expression "uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006" (assignment_expression "uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" (identifier "uStack_120") (= "=") (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7844)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7844)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7844)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7844)" (( "(") (binary_expression "pcStack_130 + -0x7844" (identifier "pcStack_130") (+ "+") (number_literal "-0x7844")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")")))) (, ",") (binary_expression "(uStack_120 & 0x1006) == 0x1006" (parenthesized_expression "(uStack_120 & 0x1006)" (( "(") (binary_expression "uStack_120 & 0x1006" (identifier "uStack_120") (& "&") (number_literal "0x1006")) () ")")) (== "==") (number_literal "0x1006"))) () ")"))) () ")")) (compound_statement "{\n      puVar26 = (uint *)0x1;\n      fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      if (iVar8 != 0x20) goto LAB_00212c24;\n      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);\n      pfStack_140 = (float *)0x1;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      puVar26 = (uint *)(uStack_104 & 0x200);\n      if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }\n      pfStack_140 = (float *)0x0;\n      (**(code **)(pcStack_130 + -0x7588))(pfVar23);\n      if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }\n      puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n      if ((uStack_100 & 1) != 0) {\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }\nLAB_00212fe4:\n      unaff_s8 = 0.0;\n      unaff_s7 = 2.24208e-44;\n      pcStack_128 = (code *)(puVar27 + 0x1285);\njoined_r0x00212ec0:\n      if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }\n      puVar26 = puStack_110;\n      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;\n      puVar26 = (uint *)0x1;\nLAB_00212ed8:\n      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);\n      puVar27 = puVar26;\n      if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }\n      else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }\n      iVar8 = (*pcVar32)(0xb);\n      if (iVar8 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }\n      puVar27 = &uStack_120;\n      unaff_s6 = (uint *)0x0;\n      uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);\n      iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);\n      uStack_124 = (uint)(iVar8 != 0);\n      while( true ) {\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }\n      (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n      fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n    }" ({ "{") (expression_statement "puVar26 = (uint *)0x1;" (assignment_expression "puVar26 = (uint *)0x1" (identifier "puVar26") (= "=") (cast_expression "(uint *)0x1" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (identifier "fStack_11c") (= "=") (cast_expression "(float)(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7844)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7844)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7844)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7844)" (( "(") (binary_expression "pcStack_130 + -0x7844" (identifier "pcStack_130") (+ "+") (number_literal "-0x7844")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")"))))) (; ";")) (expression_statement "fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (identifier "fStack_118") (= "=") (cast_expression "(float)(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7844)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7844)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7844)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7844)" (( "(") (binary_expression "pcStack_130 + -0x7844" (identifier "pcStack_130") (+ "+") (number_literal "-0x7844")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")"))))) (; ";")) (expression_statement "uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" (identifier "uStack_114") (= "=") (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7844)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7844)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7844)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7844)" (( "(") (binary_expression "pcStack_130 + -0x7844" (identifier "pcStack_130") (+ "+") (number_literal "-0x7844")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")")))) (; ";")) (expression_statement "puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (identifier "puStack_110") (= "=") (cast_expression "(uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7844)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7844)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7844)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7844)" (( "(") (binary_expression "pcStack_130 + -0x7844" (identifier "pcStack_130") (+ "+") (number_literal "-0x7844")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")"))))) (; ";")) (expression_statement "uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" (identifier "uStack_10c") (= "=") (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7844)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7844)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7844)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7844)" (( "(") (binary_expression "pcStack_130 + -0x7844" (identifier "pcStack_130") (+ "+") (number_literal "-0x7844")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")")))) (; ";")) (expression_statement "pfStack_140 = (float *)0x1;" (assignment_expression "pfStack_140 = (float *)0x1" (identifier "pfStack_140") (= "=") (cast_expression "(float *)0x1" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "(**(code **)(pcStack_130 + -0x7588))(pfVar23);" (call_expression "(**(code **)(pcStack_130 + -0x7588))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7588))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7588)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7588)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7588)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7588)" (( "(") (binary_expression "pcStack_130 + -0x7588" (identifier "pcStack_130") (+ "+") (number_literal "-0x7588")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")"))) (; ";")) (expression_statement "iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7844)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7844)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7844)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7844)" (( "(") (binary_expression "pcStack_130 + -0x7844" (identifier "pcStack_130") (+ "+") (number_literal "-0x7844")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")")))) (; ";")) (if_statement "if (iVar8 != 0x20) goto LAB_00212c24;" (if "if") (parenthesized_expression "(iVar8 != 0x20)" (( "(") (binary_expression "iVar8 != 0x20" (identifier "iVar8") (!= "!=") (number_literal "0x20")) () ")")) (goto_statement "goto LAB_00212c24;" (goto "goto") (statement_identifier "LAB_00212c24") (; ";"))) (expression_statement "uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" (identifier "uStack_100") (= "=") (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7844)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7844)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7844)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7844)" (( "(") (binary_expression "pcStack_130 + -0x7844" (identifier "pcStack_130") (+ "+") (number_literal "-0x7844")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")")))) (; ";")) (expression_statement "iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" (identifier "iStack_fc") (= "=") (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7844)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7844)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7844)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7844)" (( "(") (binary_expression "pcStack_130 + -0x7844" (identifier "pcStack_130") (+ "+") (number_literal "-0x7844")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")")))) (; ";")) (expression_statement "uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" (identifier "uStack_f8") (= "=") (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7844)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7844)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7844)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7844)" (( "(") (binary_expression "pcStack_130 + -0x7844" (identifier "pcStack_130") (+ "+") (number_literal "-0x7844")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")")))) (; ";")) (expression_statement "uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" (identifier "uStack_f4") (= "=") (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7844)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7844)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7844)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7844)" (( "(") (binary_expression "pcStack_130 + -0x7844" (identifier "pcStack_130") (+ "+") (number_literal "-0x7844")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")")))) (; ";")) (expression_statement "uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" (identifier "uStack_f0") (= "=") (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7844)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7844)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7844)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7844)" (( "(") (binary_expression "pcStack_130 + -0x7844" (identifier "pcStack_130") (+ "+") (number_literal "-0x7844")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")")))) (; ";")) (expression_statement "uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" (identifier "uStack_ec") (= "=") (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7844)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7844)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7844)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7844)" (( "(") (binary_expression "pcStack_130 + -0x7844" (identifier "pcStack_130") (+ "+") (number_literal "-0x7844")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")")))) (; ";")) (expression_statement "uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" (identifier "uStack_e8") (= "=") (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7844)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7844)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7844)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7844)" (( "(") (binary_expression "pcStack_130 + -0x7844" (identifier "pcStack_130") (+ "+") (number_literal "-0x7844")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")")))) (; ";")) (expression_statement "uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" (identifier "uStack_108") (= "=") (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7844)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7844)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7844)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7844)" (( "(") (binary_expression "pcStack_130 + -0x7844" (identifier "pcStack_130") (+ "+") (number_literal "-0x7844")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")")))) (; ";")) (expression_statement "uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);" (assignment_expression "uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23)" (identifier "uStack_104") (= "=") (call_expression "(**(code **)(pcStack_130 + -0x7844))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7844))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7844)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7844)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7844)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7844)" (( "(") (binary_expression "pcStack_130 + -0x7844" (identifier "pcStack_130") (+ "+") (number_literal "-0x7844")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")")))) (; ";")) (expression_statement "pfStack_140 = (float *)0x1;" (assignment_expression "pfStack_140 = (float *)0x1" (identifier "pfStack_140") (= "=") (cast_expression "(float *)0x1" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "(**(code **)(pcStack_130 + -0x7588))(pfVar23);" (call_expression "(**(code **)(pcStack_130 + -0x7588))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7588))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7588)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7588)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7588)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7588)" (( "(") (binary_expression "pcStack_130 + -0x7588" (identifier "pcStack_130") (+ "+") (number_literal "-0x7588")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")"))) (; ";")) (expression_statement "puVar26 = (uint *)(uStack_104 & 0x200);" (assignment_expression "puVar26 = (uint *)(uStack_104 & 0x200)" (identifier "puVar26") (= "=") (cast_expression "(uint *)(uStack_104 & 0x200)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uStack_104 & 0x200)" (( "(") (binary_expression "uStack_104 & 0x200" (identifier "uStack_104") (& "&") (number_literal "0x200")) () ")")))) (; ";")) (if_statement "if ((int)(uStack_104 << 10) < 0) {\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }\n      else {\n        unaff_s6 = (uint *)0x0;\n      }" (if "if") (parenthesized_expression "((int)(uStack_104 << 10) < 0)" (( "(") (binary_expression "(int)(uStack_104 << 10) < 0" (cast_expression "(int)(uStack_104 << 10)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uStack_104 << 10)" (( "(") (binary_expression "uStack_104 << 10" (identifier "uStack_104") (<< "<<") (number_literal "10")) () ")"))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);\n      }" ({ "{") (expression_statement "unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);" (assignment_expression "unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0)" (identifier "unaff_s6") (= "=") (cast_expression "(uint *)(uint)(puStack_110 != (uint *)0x0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(puStack_110 != (uint *)0x0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puStack_110 != (uint *)0x0)" (( "(") (binary_expression "puStack_110 != (uint *)0x0" (identifier "puStack_110") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n        unaff_s6 = (uint *)0x0;\n      }" (else "else") (compound_statement "{\n        unaff_s6 = (uint *)0x0;\n      }" ({ "{") (expression_statement "unaff_s6 = (uint *)0x0;" (assignment_expression "unaff_s6 = (uint *)0x0" (identifier "unaff_s6") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (expression_statement "pfStack_140 = (float *)0x0;" (assignment_expression "pfStack_140 = (float *)0x0" (identifier "pfStack_140") (= "=") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(**(code **)(pcStack_130 + -0x7588))(pfVar23);" (call_expression "(**(code **)(pcStack_130 + -0x7588))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7588))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7588)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7588)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7588)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7588)" (( "(") (binary_expression "pcStack_130 + -0x7588" (identifier "pcStack_130") (+ "+") (number_literal "-0x7588")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")"))) (; ";")) (if_statement "if ((uStack_100 & 0x40) == 0) {\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }" (if "if") (parenthesized_expression "((uStack_100 & 0x40) == 0)" (( "(") (binary_expression "(uStack_100 & 0x40) == 0" (parenthesized_expression "(uStack_100 & 0x40)" (( "(") (binary_expression "uStack_100 & 0x40" (identifier "uStack_100") (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;\n        uVar17 = 0x6fe;\nLAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n        iVar15 = *(int *)(pcStack_130 + -0x7f60);\n        iVar8 = *(int *)(pcStack_130 + -0x7f60);\n        pcVar32 = *(code **)(pcStack_130 + -0x7990);\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);\n        goto LAB_00212c58;\n      }" ({ "{") (if_statement "if (-1 < (int)(uStack_100 << 0xe)) {\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }" (if "if") (parenthesized_expression "(-1 < (int)(uStack_100 << 0xe))" (( "(") (binary_expression "-1 < (int)(uStack_100 << 0xe)" (number_literal "-1") (< "<") (cast_expression "(int)(uStack_100 << 0xe)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uStack_100 << 0xe)" (( "(") (binary_expression "uStack_100 << 0xe" (identifier "uStack_100") (<< "<<") (number_literal "0xe")) () ")")))) () ")")) (compound_statement "{\n          if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }\n          if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }\n          goto joined_r0x00212ec0;\n        }" ({ "{") (if_statement "if ((uStack_100 & 4) == 0) {\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }" (if "if") (parenthesized_expression "((uStack_100 & 4) == 0)" (( "(") (binary_expression "(uStack_100 & 4) == 0" (parenthesized_expression "(uStack_100 & 4)" (( "(") (binary_expression "uStack_100 & 4" (identifier "uStack_100") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar17 = 0x729;\n            goto LAB_002130b8;\n          }" ({ "{") (expression_statement "uVar17 = 0x729;" (assignment_expression "uVar17 = 0x729" (identifier "uVar17") (= "=") (number_literal "0x729")) (; ";")) (goto_statement "goto LAB_002130b8;" (goto "goto") (statement_identifier "LAB_002130b8") (; ";")) (} "}"))) (if_statement "if (iStack_fc == 0x33545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }\n          else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }" (if "if") (parenthesized_expression "(iStack_fc == 0x33545844)" (( "(") (binary_expression "iStack_fc == 0x33545844" (identifier "iStack_fc") (== "==") (number_literal "0x33545844")) () ")")) (compound_statement "{\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 7.00649e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1678);\n          }" ({ "{") (expression_statement "puVar27 = *(uint **)(pcStack_130 + -0x7cec);" (assignment_expression "puVar27 = *(uint **)(pcStack_130 + -0x7cec)" (identifier "puVar27") (= "=") (pointer_expression "*(uint **)(pcStack_130 + -0x7cec)" (* "*") (cast_expression "(uint **)(pcStack_130 + -0x7cec)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7cec)" (( "(") (binary_expression "pcStack_130 + -0x7cec" (identifier "pcStack_130") (+ "+") (number_literal "-0x7cec")) () ")"))))) (; ";")) (expression_statement "unaff_s8 = 5.60519e-45;" (assignment_expression "unaff_s8 = 5.60519e-45" (identifier "unaff_s8") (= "=") (number_literal "5.60519e-45")) (; ";")) (expression_statement "unaff_s7 = 7.00649e-45;" (assignment_expression "unaff_s7 = 7.00649e-45" (identifier "unaff_s7") (= "=") (number_literal "7.00649e-45")) (; ";")) (expression_statement "pcStack_128 = (code *)(puVar27 + 0x1678);" (assignment_expression "pcStack_128 = (code *)(puVar27 + 0x1678)" (identifier "pcStack_128") (= "=") (cast_expression "(code *)(puVar27 + 0x1678)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar27 + 0x1678)" (( "(") (binary_expression "puVar27 + 0x1678" (identifier "puVar27") (+ "+") (number_literal "0x1678")) () ")")))) (; ";")) (} "}")) (else_clause "else if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }" (else "else") (if_statement "if (iStack_fc == 0x35545844) {\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }\n          else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }" (if "if") (parenthesized_expression "(iStack_fc == 0x35545844)" (( "(") (binary_expression "iStack_fc == 0x35545844" (identifier "iStack_fc") (== "==") (number_literal "0x35545844")) () ")")) (compound_statement "{\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 5.60519e-45;\n            unaff_s7 = 8.40779e-45;\n            pcStack_128 = (code *)(puVar27 + 0x1635);\n          }" ({ "{") (expression_statement "puVar27 = *(uint **)(pcStack_130 + -0x7cec);" (assignment_expression "puVar27 = *(uint **)(pcStack_130 + -0x7cec)" (identifier "puVar27") (= "=") (pointer_expression "*(uint **)(pcStack_130 + -0x7cec)" (* "*") (cast_expression "(uint **)(pcStack_130 + -0x7cec)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7cec)" (( "(") (binary_expression "pcStack_130 + -0x7cec" (identifier "pcStack_130") (+ "+") (number_literal "-0x7cec")) () ")"))))) (; ";")) (expression_statement "unaff_s8 = 5.60519e-45;" (assignment_expression "unaff_s8 = 5.60519e-45" (identifier "unaff_s8") (= "=") (number_literal "5.60519e-45")) (; ";")) (expression_statement "unaff_s7 = 8.40779e-45;" (assignment_expression "unaff_s7 = 8.40779e-45" (identifier "unaff_s7") (= "=") (number_literal "8.40779e-45")) (; ";")) (expression_statement "pcStack_128 = (code *)(puVar27 + 0x1635);" (assignment_expression "pcStack_128 = (code *)(puVar27 + 0x1635)" (identifier "pcStack_128") (= "=") (cast_expression "(code *)(puVar27 + 0x1635)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar27 + 0x1635)" (( "(") (binary_expression "puVar27 + 0x1635" (identifier "puVar27") (+ "+") (number_literal "0x1635")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }" (else "else") (compound_statement "{\n            uVar17 = 0x722;\n            if (iStack_fc != 0x31545844) goto LAB_002130b8;\n            puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n            unaff_s8 = 0.0;\n            unaff_s7 = 5.60519e-45;\n            pcStack_128 = (code *)(puVar27 + 0x16bb);\n          }" ({ "{") (expression_statement "uVar17 = 0x722;" (assignment_expression "uVar17 = 0x722" (identifier "uVar17") (= "=") (number_literal "0x722")) (; ";")) (if_statement "if (iStack_fc != 0x31545844) goto LAB_002130b8;" (if "if") (parenthesized_expression "(iStack_fc != 0x31545844)" (( "(") (binary_expression "iStack_fc != 0x31545844" (identifier "iStack_fc") (!= "!=") (number_literal "0x31545844")) () ")")) (goto_statement "goto LAB_002130b8;" (goto "goto") (statement_identifier "LAB_002130b8") (; ";"))) (expression_statement "puVar27 = *(uint **)(pcStack_130 + -0x7cec);" (assignment_expression "puVar27 = *(uint **)(pcStack_130 + -0x7cec)" (identifier "puVar27") (= "=") (pointer_expression "*(uint **)(pcStack_130 + -0x7cec)" (* "*") (cast_expression "(uint **)(pcStack_130 + -0x7cec)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7cec)" (( "(") (binary_expression "pcStack_130 + -0x7cec" (identifier "pcStack_130") (+ "+") (number_literal "-0x7cec")) () ")"))))) (; ";")) (expression_statement "unaff_s8 = 0.0;" (assignment_expression "unaff_s8 = 0.0" (identifier "unaff_s8") (= "=") (number_literal "0.0")) (; ";")) (expression_statement "unaff_s7 = 5.60519e-45;" (assignment_expression "unaff_s7 = 5.60519e-45" (identifier "unaff_s7") (= "=") (number_literal "5.60519e-45")) (; ";")) (expression_statement "pcStack_128 = (code *)(puVar27 + 0x16bb);" (assignment_expression "pcStack_128 = (code *)(puVar27 + 0x16bb)" (identifier "pcStack_128") (= "=") (cast_expression "(code *)(puVar27 + 0x16bb)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar27 + 0x16bb)" (( "(") (binary_expression "puVar27 + 0x16bb" (identifier "puVar27") (+ "+") (number_literal "0x16bb")) () ")")))) (; ";")) (} "}")))))) (goto_statement "goto joined_r0x00212ec0;" (goto "goto") (statement_identifier "joined_r0x00212ec0") (; ";")) (} "}"))) (expression_statement "puVar27 = *(uint **)(pcStack_130 + -0x7cec);" (assignment_expression "puVar27 = *(uint **)(pcStack_130 + -0x7cec)" (identifier "puVar27") (= "=") (pointer_expression "*(uint **)(pcStack_130 + -0x7cec)" (* "*") (cast_expression "(uint **)(pcStack_130 + -0x7cec)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7cec)" (( "(") (binary_expression "pcStack_130 + -0x7cec" (identifier "pcStack_130") (+ "+") (number_literal "-0x7cec")) () ")"))))) (; ";")) (if_statement "if ((uStack_100 & 1) == 0) goto LAB_00212fe4;" (if "if") (parenthesized_expression "((uStack_100 & 1) == 0)" (( "(") (binary_expression "(uStack_100 & 1) == 0" (parenthesized_expression "(uStack_100 & 1)" (( "(") (binary_expression "uStack_100 & 1" (identifier "uStack_100") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00212fe4;" (goto "goto") (statement_identifier "LAB_00212fe4") (; ";"))) (expression_statement "uVar17 = 0x6fe;" (assignment_expression "uVar17 = 0x6fe" (identifier "uVar17") (= "=") (number_literal "0x6fe")) (; ";")) (labeled_statement "LAB_002130b8:\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);" (statement_identifier "LAB_002130b8") (: ":") (expression_statement "iStack_138 = *(int *)(pcStack_130 + -0x7fd0);" (assignment_expression "iStack_138 = *(int *)(pcStack_130 + -0x7fd0)" (identifier "iStack_138") (= "=") (pointer_expression "*(int *)(pcStack_130 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_130 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_130 + -0x7fd0)" (( "(") (binary_expression "pcStack_130 + -0x7fd0" (identifier "pcStack_130") (+ "+") (number_literal "-0x7fd0")) () ")"))))) (; ";"))) (expression_statement "iVar15 = *(int *)(pcStack_130 + -0x7f60);" (assignment_expression "iVar15 = *(int *)(pcStack_130 + -0x7f60)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" (* "*") (cast_expression "(int *)(pcStack_130 + -0x7f60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_130 + -0x7f60)" (( "(") (binary_expression "pcStack_130 + -0x7f60" (identifier "pcStack_130") (+ "+") (number_literal "-0x7f60")) () ")"))))) (; ";")) (expression_statement "iVar8 = *(int *)(pcStack_130 + -0x7f60);" (assignment_expression "iVar8 = *(int *)(pcStack_130 + -0x7f60)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" (* "*") (cast_expression "(int *)(pcStack_130 + -0x7f60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_130 + -0x7f60)" (( "(") (binary_expression "pcStack_130 + -0x7f60" (identifier "pcStack_130") (+ "+") (number_literal "-0x7f60")) () ")"))))) (; ";")) (expression_statement "pcVar32 = *(code **)(pcStack_130 + -0x7990);" (assignment_expression "pcVar32 = *(code **)(pcStack_130 + -0x7990)" (identifier "pcVar32") (= "=") (pointer_expression "*(code **)(pcStack_130 + -0x7990)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7990)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7990)" (( "(") (binary_expression "pcStack_130 + -0x7990" (identifier "pcStack_130") (+ "+") (number_literal "-0x7990")) () ")"))))) (; ";")) (expression_statement "pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);" (assignment_expression "pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10)" (identifier "pfStack_13c") (= "=") (cast_expression "(float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_130 + -0x7f60) + -0x2c10)" (( "(") (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2c10" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" (* "*") (cast_expression "(int *)(pcStack_130 + -0x7f60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_130 + -0x7f60)" (( "(") (binary_expression "pcStack_130 + -0x7f60" (identifier "pcStack_130") (+ "+") (number_literal "-0x7f60")) () ")")))) (+ "+") (number_literal "-0x2c10")) () ")")))) (; ";")) (goto_statement "goto LAB_00212c58;" (goto "goto") (statement_identifier "LAB_00212c58") (; ";")) (} "}"))) (expression_statement "puVar27 = *(uint **)(pcStack_130 + -0x7cec);" (assignment_expression "puVar27 = *(uint **)(pcStack_130 + -0x7cec)" (identifier "puVar27") (= "=") (pointer_expression "*(uint **)(pcStack_130 + -0x7cec)" (* "*") (cast_expression "(uint **)(pcStack_130 + -0x7cec)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7cec)" (( "(") (binary_expression "pcStack_130 + -0x7cec" (identifier "pcStack_130") (+ "+") (number_literal "-0x7cec")) () ")"))))) (; ";")) (if_statement "if ((uStack_100 & 1) != 0) {\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }" (if "if") (parenthesized_expression "((uStack_100 & 1) != 0)" (( "(") (binary_expression "(uStack_100 & 1) != 0" (parenthesized_expression "(uStack_100 & 1)" (( "(") (binary_expression "uStack_100 & 1" (identifier "uStack_100") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        puVar27 = *(uint **)(pcStack_130 + -0x7cec);\n        unaff_s8 = 5.60519e-45;\n        unaff_s7 = 2.24208e-44;\n        pcStack_128 = (code *)(puVar27 + 0x16fe);\n        goto joined_r0x00212ec0;\n      }" ({ "{") (expression_statement "puVar27 = *(uint **)(pcStack_130 + -0x7cec);" (assignment_expression "puVar27 = *(uint **)(pcStack_130 + -0x7cec)" (identifier "puVar27") (= "=") (pointer_expression "*(uint **)(pcStack_130 + -0x7cec)" (* "*") (cast_expression "(uint **)(pcStack_130 + -0x7cec)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7cec)" (( "(") (binary_expression "pcStack_130 + -0x7cec" (identifier "pcStack_130") (+ "+") (number_literal "-0x7cec")) () ")"))))) (; ";")) (expression_statement "unaff_s8 = 5.60519e-45;" (assignment_expression "unaff_s8 = 5.60519e-45" (identifier "unaff_s8") (= "=") (number_literal "5.60519e-45")) (; ";")) (expression_statement "unaff_s7 = 2.24208e-44;" (assignment_expression "unaff_s7 = 2.24208e-44" (identifier "unaff_s7") (= "=") (number_literal "2.24208e-44")) (; ";")) (expression_statement "pcStack_128 = (code *)(puVar27 + 0x16fe);" (assignment_expression "pcStack_128 = (code *)(puVar27 + 0x16fe)" (identifier "pcStack_128") (= "=") (cast_expression "(code *)(puVar27 + 0x16fe)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar27 + 0x16fe)" (( "(") (binary_expression "puVar27 + 0x16fe" (identifier "puVar27") (+ "+") (number_literal "0x16fe")) () ")")))) (; ";")) (goto_statement "goto joined_r0x00212ec0;" (goto "goto") (statement_identifier "joined_r0x00212ec0") (; ";")) (} "}"))) (labeled_statement "LAB_00212fe4:\n      unaff_s8 = 0.0;" (statement_identifier "LAB_00212fe4") (: ":") (expression_statement "unaff_s8 = 0.0;" (assignment_expression "unaff_s8 = 0.0" (identifier "unaff_s8") (= "=") (number_literal "0.0")) (; ";"))) (expression_statement "unaff_s7 = 2.24208e-44;" (assignment_expression "unaff_s7 = 2.24208e-44" (identifier "unaff_s7") (= "=") (number_literal "2.24208e-44")) (; ";")) (expression_statement "pcStack_128 = (code *)(puVar27 + 0x1285);" (assignment_expression "pcStack_128 = (code *)(puVar27 + 0x1285)" (identifier "pcStack_128") (= "=") (cast_expression "(code *)(puVar27 + 0x1285)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar27 + 0x1285)" (( "(") (binary_expression "puVar27 + 0x1285" (identifier "puVar27") (+ "+") (number_literal "0x1285")) () ")")))) (; ";")) (labeled_statement "joined_r0x00212ec0:\n      if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }" (statement_identifier "joined_r0x00212ec0") (: ":") (if_statement "if (puVar26 != (uint *)0x0) {\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }" (if "if") (parenthesized_expression "(puVar26 != (uint *)0x0)" (( "(") (binary_expression "puVar26 != (uint *)0x0" (identifier "puVar26") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);\n        if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }\n        if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }\n        puVar26 = puStack_110;\nLAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }\nLAB_00212efc:\n        uVar17 = 0x73f;\n        goto LAB_00212c2c;\n      }" ({ "{") (expression_statement "puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);" (assignment_expression "puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f)" (identifier "puVar26") (= "=") (cast_expression "(uint *)-((int)(uStack_104 << 0x15) >> 0x1f)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (unary_expression "-((int)(uStack_104 << 0x15) >> 0x1f)" (- "-") (parenthesized_expression "((int)(uStack_104 << 0x15) >> 0x1f)" (( "(") (binary_expression "(int)(uStack_104 << 0x15) >> 0x1f" (cast_expression "(int)(uStack_104 << 0x15)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uStack_104 << 0x15)" (( "(") (binary_expression "uStack_104 << 0x15" (identifier "uStack_104") (<< "<<") (number_literal "0x15")) () ")"))) (>> ">>") (number_literal "0x1f")) () ")"))))) (; ";")) (if_statement "if ((uStack_104 & 0x800) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }" (if "if") (parenthesized_expression "((uStack_104 & 0x800) != 0)" (( "(") (binary_expression "(uStack_104 & 0x800) != 0" (parenthesized_expression "(uStack_104 & 0x800)" (( "(") (binary_expression "uStack_104 & 0x800" (identifier "uStack_104") (& "&") (number_literal "0x800")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }" ({ "{") (expression_statement "puVar26 = (uint *)((int)puVar26 + 1);" (assignment_expression "puVar26 = (uint *)((int)puVar26 + 1)" (identifier "puVar26") (= "=") (cast_expression "(uint *)((int)puVar26 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar26 + 1)" (( "(") (binary_expression "(int)puVar26 + 1" (cast_expression "(int)puVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar26")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (if_statement "if ((uStack_104 & 0x1000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }" (if "if") (parenthesized_expression "((uStack_104 & 0x1000) != 0)" (( "(") (binary_expression "(uStack_104 & 0x1000) != 0" (parenthesized_expression "(uStack_104 & 0x1000)" (( "(") (binary_expression "uStack_104 & 0x1000" (identifier "uStack_104") (& "&") (number_literal "0x1000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }" ({ "{") (expression_statement "puVar26 = (uint *)((int)puVar26 + 1);" (assignment_expression "puVar26 = (uint *)((int)puVar26 + 1)" (identifier "puVar26") (= "=") (cast_expression "(uint *)((int)puVar26 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar26 + 1)" (( "(") (binary_expression "(int)puVar26 + 1" (cast_expression "(int)puVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar26")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (if_statement "if ((uStack_104 & 0x2000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }" (if "if") (parenthesized_expression "((uStack_104 & 0x2000) != 0)" (( "(") (binary_expression "(uStack_104 & 0x2000) != 0" (parenthesized_expression "(uStack_104 & 0x2000)" (( "(") (binary_expression "uStack_104 & 0x2000" (identifier "uStack_104") (& "&") (number_literal "0x2000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }" ({ "{") (expression_statement "puVar26 = (uint *)((int)puVar26 + 1);" (assignment_expression "puVar26 = (uint *)((int)puVar26 + 1)" (identifier "puVar26") (= "=") (cast_expression "(uint *)((int)puVar26 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar26 + 1)" (( "(") (binary_expression "(int)puVar26 + 1" (cast_expression "(int)puVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar26")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (if_statement "if ((uStack_104 & 0x4000) != 0) {\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }" (if "if") (parenthesized_expression "((uStack_104 & 0x4000) != 0)" (( "(") (binary_expression "(uStack_104 & 0x4000) != 0" (parenthesized_expression "(uStack_104 & 0x4000)" (( "(") (binary_expression "uStack_104 & 0x4000" (identifier "uStack_104") (& "&") (number_literal "0x4000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          puVar26 = (uint *)((int)puVar26 + 1);\n        }" ({ "{") (expression_statement "puVar26 = (uint *)((int)puVar26 + 1);" (assignment_expression "puVar26 = (uint *)((int)puVar26 + 1)" (identifier "puVar26") (= "=") (cast_expression "(uint *)((int)puVar26 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar26 + 1)" (( "(") (binary_expression "(int)puVar26 + 1" (cast_expression "(int)puVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar26")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (if_statement "if ((uStack_104 & 0x8000) == 0) {\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }\n        else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }" (if "if") (parenthesized_expression "((uStack_104 & 0x8000) == 0)" (( "(") (binary_expression "(uStack_104 & 0x8000) == 0" (parenthesized_expression "(uStack_104 & 0x8000)" (( "(") (binary_expression "uStack_104 & 0x8000" (identifier "uStack_104") (& "&") (number_literal "0x8000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;\n        }" ({ "{") (if_statement "if (unaff_s6 == (uint *)0x0) goto LAB_00213068;" (if "if") (parenthesized_expression "(unaff_s6 == (uint *)0x0)" (( "(") (binary_expression "unaff_s6 == (uint *)0x0" (identifier "unaff_s6") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00213068;" (goto "goto") (statement_identifier "LAB_00213068") (; ";"))) (} "}")) (else_clause "else {\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }" (else "else") (compound_statement "{\n          puVar26 = (uint *)((int)puVar26 + 1);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;\n        }" ({ "{") (expression_statement "puVar26 = (uint *)((int)puVar26 + 1);" (assignment_expression "puVar26 = (uint *)((int)puVar26 + 1)" (identifier "puVar26") (= "=") (cast_expression "(uint *)((int)puVar26 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar26 + 1)" (( "(") (binary_expression "(int)puVar26 + 1" (cast_expression "(int)puVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar26")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;" (if "if") (parenthesized_expression "(unaff_s6 == (uint *)0x0)" (( "(") (binary_expression "unaff_s6 == (uint *)0x0" (identifier "unaff_s6") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00212ed8;" (goto "goto") (statement_identifier "LAB_00212ed8") (; ";"))) (} "}")))) (expression_statement "puVar26 = puStack_110;" (assignment_expression "puVar26 = puStack_110" (identifier "puVar26") (= "=") (identifier "puStack_110")) (; ";")) (labeled_statement "LAB_00213068:\n        if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }" (statement_identifier "LAB_00213068") (: ":") (if_statement "if (puVar26 != (uint *)0x0) {\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }" (if "if") (parenthesized_expression "(puVar26 != (uint *)0x0)" (( "(") (binary_expression "puVar26 != (uint *)0x0" (identifier "puVar26") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          unaff_s6 = (uint *)0x0;\n          goto LAB_00212ed8;\n        }" ({ "{") (expression_statement "unaff_s6 = (uint *)0x0;" (assignment_expression "unaff_s6 = (uint *)0x0" (identifier "unaff_s6") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_00212ed8;" (goto "goto") (statement_identifier "LAB_00212ed8") (; ";")) (} "}")))) (labeled_statement "LAB_00212efc:\n        uVar17 = 0x73f;" (statement_identifier "LAB_00212efc") (: ":") (expression_statement "uVar17 = 0x73f;" (assignment_expression "uVar17 = 0x73f" (identifier "uVar17") (= "=") (number_literal "0x73f")) (; ";"))) (goto_statement "goto LAB_00212c2c;" (goto "goto") (statement_identifier "LAB_00212c2c") (; ";")) (} "}")))) (expression_statement "puVar26 = puStack_110;" (assignment_expression "puVar26 = puStack_110" (identifier "puVar26") (= "=") (identifier "puStack_110")) (; ";")) (if_statement "if (unaff_s6 != (uint *)0x0) goto LAB_00213068;" (if "if") (parenthesized_expression "(unaff_s6 != (uint *)0x0)" (( "(") (binary_expression "unaff_s6 != (uint *)0x0" (identifier "unaff_s6") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00213068;" (goto "goto") (statement_identifier "LAB_00213068") (; ";"))) (expression_statement "puVar26 = (uint *)0x1;" (assignment_expression "puVar26 = (uint *)0x1" (identifier "puVar26") (= "=") (cast_expression "(uint *)0x1" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (labeled_statement "LAB_00212ed8:\n      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);" (statement_identifier "LAB_00212ed8") (: ":") (expression_statement "uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);" (assignment_expression "uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23)" (identifier "uVar46") (= "=") (call_expression "(**(code **)(pcStack_130 + -0x73f8))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x73f8))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x73f8)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x73f8)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x73f8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x73f8)" (( "(") (binary_expression "pcStack_130 + -0x73f8" (identifier "pcStack_130") (+ "+") (number_literal "-0x73f8")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")")))) (; ";"))) (expression_statement "puVar27 = puVar26;" (assignment_expression "puVar27 = puVar26" (identifier "puVar27") (= "=") (identifier "puVar26")) (; ";")) (if_statement "if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }\n      else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }" (if "if") (parenthesized_expression "(unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20))" (( "(") (binary_expression "unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)" (identifier "unaff_s6") (== "==") (cast_expression "(uint *)((ulonglong)uVar46 >> 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulonglong)uVar46 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar46 >> 0x20" (cast_expression "(ulonglong)uVar46" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar46")) (>> ">>") (number_literal "0x20")) () ")")))) () ")")) (compound_statement "{\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;\n      }" ({ "{") (expression_statement "pcVar32 = *(code **)(pcStack_130 + -0x7094);" (assignment_expression "pcVar32 = *(code **)(pcStack_130 + -0x7094)" (identifier "pcVar32") (= "=") (pointer_expression "*(code **)(pcStack_130 + -0x7094)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7094)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7094)" (( "(") (binary_expression "pcStack_130 + -0x7094" (identifier "pcStack_130") (+ "+") (number_literal "-0x7094")) () ")"))))) (; ";")) (if_statement "if ((uint *)uVar46 < puVar26) goto LAB_00212efc;" (if "if") (parenthesized_expression "((uint *)uVar46 < puVar26)" (( "(") (binary_expression "(uint *)uVar46 < puVar26" (cast_expression "(uint *)uVar46" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar46")) (< "<") (identifier "puVar26")) () ")")) (goto_statement "goto LAB_00212efc;" (goto "goto") (statement_identifier "LAB_00212efc") (; ";"))) (} "}")) (else_clause "else {\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }" (else "else") (compound_statement "{\n        pcVar32 = *(code **)(pcStack_130 + -0x7094);\n      }" ({ "{") (expression_statement "pcVar32 = *(code **)(pcStack_130 + -0x7094);" (assignment_expression "pcVar32 = *(code **)(pcStack_130 + -0x7094)" (identifier "pcVar32") (= "=") (pointer_expression "*(code **)(pcStack_130 + -0x7094)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7094)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7094)" (( "(") (binary_expression "pcStack_130 + -0x7094" (identifier "pcStack_130") (+ "+") (number_literal "-0x7094")) () ")"))))) (; ";")) (} "}")))) (expression_statement "iVar8 = (*pcVar32)(0xb);" (assignment_expression "iVar8 = (*pcVar32)(0xb)" (identifier "iVar8") (= "=") (call_expression "(*pcVar32)(0xb)" (parenthesized_expression "(*pcVar32)" (( "(") (pointer_expression "*pcVar32" (* "*") (identifier "pcVar32")) () ")")) (argument_list "(0xb)" (( "(") (number_literal "0xb") () ")")))) (; ";")) (if_statement "if (iVar8 == 0) {\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);\n        pfStack_140 = (float *)0x190;\n        pfStack_134 = pfVar9 + 0x884;\n        (**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);\n        if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }\n        goto LAB_00212c74;\n      }" ({ "{") (expression_statement "iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;" (assignment_expression "iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28" (identifier "iStack_138") (= "=") (binary_expression "*(int *)(pcStack_130 + -0x7fd0) + 0x3e28" (pointer_expression "*(int *)(pcStack_130 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_130 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_130 + -0x7fd0)" (( "(") (binary_expression "pcStack_130 + -0x7fd0" (identifier "pcStack_130") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x3e28"))) (; ";")) (expression_statement "pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);" (assignment_expression "pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4)" (identifier "pfStack_13c") (= "=") (cast_expression "(float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4)" (( "(") (binary_expression "*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4" (pointer_expression "*(int *)(pcStack_130 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_130 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_130 + -0x7fd0)" (( "(") (binary_expression "pcStack_130 + -0x7fd0" (identifier "pcStack_130") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x2ae4")) () ")")))) (; ";")) (expression_statement "pfStack_140 = (float *)0x190;" (assignment_expression "pfStack_140 = (float *)0x190" (identifier "pfStack_140") (= "=") (cast_expression "(float *)0x190" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x190"))) (; ";")) (expression_statement "pfStack_134 = pfVar9 + 0x884;" (assignment_expression "pfStack_134 = pfVar9 + 0x884" (identifier "pfStack_134") (= "=") (binary_expression "pfVar9 + 0x884" (identifier "pfVar9") (+ "+") (number_literal "0x884"))) (; ";")) (expression_statement "(**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);" (call_expression "(**(code **)(pcStack_130 + -0x7990))\n                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7990))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7990)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7990)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7990)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7990)" (( "(") (binary_expression "pcStack_130 + -0x7990" (identifier "pcStack_130") (+ "+") (number_literal "-0x7990")) () ")"))))) () ")")) (argument_list "(pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742)" (( "(") (identifier "pfVar16") (, ",") (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2c20" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" (* "*") (cast_expression "(int *)(pcStack_130 + -0x7f60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_130 + -0x7f60)" (( "(") (binary_expression "pcStack_130 + -0x7f60" (identifier "pcStack_130") (+ "+") (number_literal "-0x7f60")) () ")")))) (+ "+") (number_literal "-0x2c20")) (, ",") (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2ac4" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" (* "*") (cast_expression "(int *)(pcStack_130 + -0x7f60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_130 + -0x7f60)" (( "(") (binary_expression "pcStack_130 + -0x7f60" (identifier "pcStack_130") (+ "+") (number_literal "-0x7f60")) () ")")))) (+ "+") (number_literal "-0x2ac4")) (, ",") (number_literal "0x742") () ")"))) (; ";")) (if_statement "if (pfVar23 == (float *)0x0) {\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }" (if "if") (parenthesized_expression "(pfVar23 == (float *)0x0)" (( "(") (binary_expression "pfVar23 == (float *)0x0" (identifier "pfVar23") (== "==") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          fVar34 = 0.0;\n          pfVar9 = pfVar9 + 0x884;\n          goto LAB_00212c9c;\n        }" ({ "{") (expression_statement "fVar34 = 0.0;" (assignment_expression "fVar34 = 0.0" (identifier "fVar34") (= "=") (number_literal "0.0")) (; ";")) (expression_statement "pfVar9 = pfVar9 + 0x884;" (assignment_expression "pfVar9 = pfVar9 + 0x884" (identifier "pfVar9") (= "=") (binary_expression "pfVar9 + 0x884" (identifier "pfVar9") (+ "+") (number_literal "0x884"))) (; ";")) (goto_statement "goto LAB_00212c9c;" (goto "goto") (statement_identifier "LAB_00212c9c") (; ";")) (} "}"))) (goto_statement "goto LAB_00212c74;" (goto "goto") (statement_identifier "LAB_00212c74") (; ";")) (} "}"))) (expression_statement "puVar27 = &uStack_120;" (assignment_expression "puVar27 = &uStack_120" (identifier "puVar27") (= "=") (pointer_expression "&uStack_120" (& "&") (identifier "uStack_120"))) (; ";")) (expression_statement "unaff_s6 = (uint *)0x0;" (assignment_expression "unaff_s6 = (uint *)0x0" (identifier "unaff_s6") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);" (assignment_expression "uVar17 = (**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8)" (identifier "uVar17") (= "=") (call_expression "(**(code **)(pcStack_130 + -0x7748))\n                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7748))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7748)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7748)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7748)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7748)" (( "(") (binary_expression "pcStack_130 + -0x7748" (identifier "pcStack_130") (+ "+") (number_literal "-0x7748")) () ")"))))) () ")")) (argument_list "(pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8)" (( "(") (identifier "pfVar9") (, ",") (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2bf8" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" (* "*") (cast_expression "(int *)(pcStack_130 + -0x7f60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_130 + -0x7f60)" (( "(") (binary_expression "pcStack_130 + -0x7f60" (identifier "pcStack_130") (+ "+") (number_literal "-0x7f60")) () ")")))) (+ "+") (number_literal "-0x2bf8")) () ")")))) (; ";")) (expression_statement "iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);" (assignment_expression "iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(pcStack_130 + -0x7694))(uVar17)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7694))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7694)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7694)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7694)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7694)" (( "(") (binary_expression "pcStack_130 + -0x7694" (identifier "pcStack_130") (+ "+") (number_literal "-0x7694")) () ")"))))) () ")")) (argument_list "(uVar17)" (( "(") (identifier "uVar17") () ")")))) (; ";")) (expression_statement "uStack_124 = (uint)(iVar8 != 0);" (assignment_expression "uStack_124 = (uint)(iVar8 != 0)" (identifier "uStack_124") (= "=") (call_expression "(uint)(iVar8 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")))) (; ";")) (while_statement "while( true ) {\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        fVar34 = pfVar9[0x77];\n        pfVar23[0x97] = 1.4013e-45;\n        *pfVar23 = 1.4013e-45;\n        pfVar23[0xaf] = unaff_s8;\n        pfVar23[2] = unaff_s7;\n        pfVar23[6] = fStack_118;\n        pfVar23[7] = fStack_11c;\n        pfVar23[8] = 1.12104e-44;\n        if (fVar34 != 0.0) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);\n        if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);\n        pfStack_140 = pfVar16;\n        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);\n        if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }\n        unaff_s6 = (uint *)((int)unaff_s6 + 1);\n        if (unaff_s6 == puVar26) break;\n        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);\n        if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }\n        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);\n        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);\n        if (iVar8 == 0) goto LAB_00213284;\n        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);\n      }" ({ "{") (expression_statement "fVar34 = pfVar9[0x77];" (assignment_expression "fVar34 = pfVar9[0x77]" (identifier "fVar34") (= "=") (subscript_expression "pfVar9[0x77]" (identifier "pfVar9") ([ "[") (number_literal "0x77") (] "]"))) (; ";")) (expression_statement "pfVar23[0x97] = 1.4013e-45;" (assignment_expression "pfVar23[0x97] = 1.4013e-45" (subscript_expression "pfVar23[0x97]" (identifier "pfVar23") ([ "[") (number_literal "0x97") (] "]")) (= "=") (number_literal "1.4013e-45")) (; ";")) (expression_statement "*pfVar23 = 1.4013e-45;" (assignment_expression "*pfVar23 = 1.4013e-45" (pointer_expression "*pfVar23" (* "*") (identifier "pfVar23")) (= "=") (number_literal "1.4013e-45")) (; ";")) (expression_statement "pfVar23[0xaf] = unaff_s8;" (assignment_expression "pfVar23[0xaf] = unaff_s8" (subscript_expression "pfVar23[0xaf]" (identifier "pfVar23") ([ "[") (number_literal "0xaf") (] "]")) (= "=") (identifier "unaff_s8")) (; ";")) (expression_statement "pfVar23[2] = unaff_s7;" (assignment_expression "pfVar23[2] = unaff_s7" (subscript_expression "pfVar23[2]" (identifier "pfVar23") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "pfVar23[6] = fStack_118;" (assignment_expression "pfVar23[6] = fStack_118" (subscript_expression "pfVar23[6]" (identifier "pfVar23") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "fStack_118")) (; ";")) (expression_statement "pfVar23[7] = fStack_11c;" (assignment_expression "pfVar23[7] = fStack_11c" (subscript_expression "pfVar23[7]" (identifier "pfVar23") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "fStack_11c")) (; ";")) (expression_statement "pfVar23[8] = 1.12104e-44;" (assignment_expression "pfVar23[8] = 1.12104e-44" (subscript_expression "pfVar23[8]" (identifier "pfVar23") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "1.12104e-44")) (; ";")) (if_statement "if (fVar34 != 0.0) break;" (if "if") (parenthesized_expression "(fVar34 != 0.0)" (( "(") (binary_expression "fVar34 != 0.0" (identifier "fVar34") (!= "!=") (number_literal "0.0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);" (assignment_expression "iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7404))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7404)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7404)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7404)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7404)" (( "(") (binary_expression "pcStack_130 + -0x7404" (identifier "pcStack_130") (+ "+") (number_literal "-0x7404")) () ")"))))) () ")")) (argument_list "(pfVar23,fStack_118,fStack_11c,pfVar16)" (( "(") (identifier "pfVar23") (, ",") (identifier "fStack_118") (, ",") (identifier "fStack_11c") (, ",") (identifier "pfVar16") () ")")))) (; ";")) (if_statement "if (iVar8 == 0) {\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n          goto LAB_00212c9c;\n        }" ({ "{") (labeled_statement "LAB_00213284:\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);" (statement_identifier "LAB_00213284") (: ":") (expression_statement "fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);" (assignment_expression "fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23)" (identifier "fVar34") (= "=") (cast_expression "(float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (call_expression "(**(code **)(pcStack_130 + -0x73a0))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x73a0))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x73a0)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x73a0)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x73a0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x73a0)" (( "(") (binary_expression "pcStack_130 + -0x73a0" (identifier "pcStack_130") (+ "+") (number_literal "-0x73a0")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")"))))) (; ";"))) (goto_statement "goto LAB_00212c9c;" (goto "goto") (statement_identifier "LAB_00212c9c") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);" (call_expression "(**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7a20))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7a20)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7a20)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7a20)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7a20)" (( "(") (binary_expression "pcStack_130 + -0x7a20" (identifier "pcStack_130") (+ "+") (number_literal "-0x7a20")) () ")"))))) () ")")) (argument_list "(pfVar23,pfVar16)" (( "(") (identifier "pfVar23") (, ",") (identifier "pfVar16") () ")"))) (; ";")) (expression_statement "pfStack_140 = pfVar16;" (assignment_expression "pfStack_140 = pfVar16" (identifier "pfStack_140") (= "=") (identifier "pfVar16")) (; ";")) (expression_statement "iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);" (assignment_expression "iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124)" (identifier "iVar8") (= "=") (call_expression "(*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124)" (parenthesized_expression "(*pcStack_128)" (( "(") (pointer_expression "*pcStack_128" (* "*") (identifier "pcStack_128")) () ")")) (argument_list "(pfVar9,pfVar23,puVar27,uStack_124)" (( "(") (identifier "pfVar9") (, ",") (identifier "pfVar23") (, ",") (identifier "puVar27") (, ",") (identifier "uStack_124") () ")")))) (; ";")) (if_statement "if (iVar8 == 0) {\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          (**(code **)(pcStack_130 + -0x7228))(pfVar23);\n          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;\n          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);\n          goto LAB_00212c9c;\n        }" ({ "{") (expression_statement "(**(code **)(pcStack_130 + -0x7228))(pfVar23);" (call_expression "(**(code **)(pcStack_130 + -0x7228))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7228))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7228)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7228)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7228)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7228)" (( "(") (binary_expression "pcStack_130 + -0x7228" (identifier "pcStack_130") (+ "+") (number_literal "-0x7228")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")"))) (; ";")) (if_statement "if (unaff_s6 == (uint *)0x0) goto LAB_00213284;" (if "if") (parenthesized_expression "(unaff_s6 == (uint *)0x0)" (( "(") (binary_expression "unaff_s6 == (uint *)0x0" (identifier "unaff_s6") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00213284;" (goto "goto") (statement_identifier "LAB_00213284") (; ";"))) (expression_statement "fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);" (assignment_expression "fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23)" (identifier "fVar34") (= "=") (cast_expression "(float)(**(code **)(pcStack_130 + -0x7464))(pfVar23)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (call_expression "(**(code **)(pcStack_130 + -0x7464))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7464))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7464)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7464)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7464)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7464)" (( "(") (binary_expression "pcStack_130 + -0x7464" (identifier "pcStack_130") (+ "+") (number_literal "-0x7464")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")"))))) (; ";")) (goto_statement "goto LAB_00212c9c;" (goto "goto") (statement_identifier "LAB_00212c9c") (; ";")) (} "}"))) (expression_statement "unaff_s6 = (uint *)((int)unaff_s6 + 1);" (assignment_expression "unaff_s6 = (uint *)((int)unaff_s6 + 1)" (identifier "unaff_s6") (= "=") (cast_expression "(uint *)((int)unaff_s6 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s6 + 1)" (( "(") (binary_expression "(int)unaff_s6 + 1" (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (unaff_s6 == puVar26) break;" (if "if") (parenthesized_expression "(unaff_s6 == puVar26)" (( "(") (binary_expression "unaff_s6 == puVar26" (identifier "unaff_s6") (== "==") (identifier "puVar26")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);" (assignment_expression "iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(pcStack_130 + -0x7168))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7168))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7168)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7168)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7168)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7168)" (( "(") (binary_expression "pcStack_130 + -0x7168" (identifier "pcStack_130") (+ "+") (number_literal "-0x7168")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")")))) (; ";")) (if_statement "if (iVar8 != 0) {\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          pfStack_134 = pfVar9 + 0x884;\n          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;\n          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);\n          pfStack_140 = (float *)&DAT_000001a9;\n          (**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);\n          pcVar32 = *(code **)(pcStack_130 + -0x7228);\n          goto LAB_00212c7c;\n        }" ({ "{") (expression_statement "pfStack_134 = pfVar9 + 0x884;" (assignment_expression "pfStack_134 = pfVar9 + 0x884" (identifier "pfStack_134") (= "=") (binary_expression "pfVar9 + 0x884" (identifier "pfVar9") (+ "+") (number_literal "0x884"))) (; ";")) (expression_statement "iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;" (assignment_expression "iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28" (identifier "iStack_138") (= "=") (binary_expression "*(int *)(pcStack_130 + -0x7fd0) + 0x3e28" (pointer_expression "*(int *)(pcStack_130 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_130 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_130 + -0x7fd0)" (( "(") (binary_expression "pcStack_130 + -0x7fd0" (identifier "pcStack_130") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x3e28"))) (; ";")) (expression_statement "pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);" (assignment_expression "pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c)" (identifier "pfStack_13c") (= "=") (cast_expression "(float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_130 + -0x7fc4) + -0x17c)" (( "(") (binary_expression "*(int *)(pcStack_130 + -0x7fc4) + -0x17c" (pointer_expression "*(int *)(pcStack_130 + -0x7fc4)" (* "*") (cast_expression "(int *)(pcStack_130 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_130 + -0x7fc4)" (( "(") (binary_expression "pcStack_130 + -0x7fc4" (identifier "pcStack_130") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x17c")) () ")")))) (; ";")) (expression_statement "pfStack_140 = (float *)&DAT_000001a9;" (assignment_expression "pfStack_140 = (float *)&DAT_000001a9" (identifier "pfStack_140") (= "=") (cast_expression "(float *)&DAT_000001a9" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_000001a9" (& "&") (identifier "DAT_000001a9")))) (; ";")) (expression_statement "(**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);" (call_expression "(**(code **)(pcStack_130 + -0x7990))\n                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7990))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7990)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7990)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7990)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7990)" (( "(") (binary_expression "pcStack_130 + -0x7990" (identifier "pcStack_130") (+ "+") (number_literal "-0x7990")) () ")"))))) () ")")) (argument_list "(pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,\n                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e)" (( "(") (identifier "pfVar16") (, ",") (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2c20" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" (* "*") (cast_expression "(int *)(pcStack_130 + -0x7f60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_130 + -0x7f60)" (( "(") (binary_expression "pcStack_130 + -0x7f60" (identifier "pcStack_130") (+ "+") (number_literal "-0x7f60")) () ")")))) (+ "+") (number_literal "-0x2c20")) (, ",") (binary_expression "*(int *)(pcStack_130 + -0x7f60) + -0x2ac4" (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" (* "*") (cast_expression "(int *)(pcStack_130 + -0x7f60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_130 + -0x7f60)" (( "(") (binary_expression "pcStack_130 + -0x7f60" (identifier "pcStack_130") (+ "+") (number_literal "-0x7f60")) () ")")))) (+ "+") (number_literal "-0x2ac4")) (, ",") (number_literal "0x74e") () ")"))) (; ";")) (expression_statement "pcVar32 = *(code **)(pcStack_130 + -0x7228);" (assignment_expression "pcVar32 = *(code **)(pcStack_130 + -0x7228)" (identifier "pcVar32") (= "=") (pointer_expression "*(code **)(pcStack_130 + -0x7228)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7228)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7228)" (( "(") (binary_expression "pcStack_130 + -0x7228" (identifier "pcStack_130") (+ "+") (number_literal "-0x7228")) () ")"))))) (; ";")) (goto_statement "goto LAB_00212c7c;" (goto "goto") (statement_identifier "LAB_00212c7c") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);" (call_expression "(**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7920))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7920)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7920)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7920)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7920)" (( "(") (binary_expression "pcStack_130 + -0x7920" (identifier "pcStack_130") (+ "+") (number_literal "-0x7920")) () ")"))))) () ")")) (argument_list "(pfVar9,pfVar23,pfVar16)" (( "(") (identifier "pfVar9") (, ",") (identifier "pfVar23") (, ",") (identifier "pfVar16") () ")"))) (; ";")) (expression_statement "iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);" (assignment_expression "iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(pcStack_130 + -0x7440))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7440))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7440)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7440)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7440)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7440)" (( "(") (binary_expression "pcStack_130 + -0x7440" (identifier "pcStack_130") (+ "+") (number_literal "-0x7440")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")")))) (; ";")) (if_statement "if (iVar8 == 0) goto LAB_00213284;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00213284;" (goto "goto") (statement_identifier "LAB_00213284") (; ";"))) (expression_statement "pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);" (assignment_expression "pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23)" (identifier "pfVar23") (= "=") (cast_expression "(float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_130 + -0x74a8))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x74a8))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x74a8)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x74a8)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x74a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x74a8)" (( "(") (binary_expression "pcStack_130 + -0x74a8" (identifier "pcStack_130") (+ "+") (number_literal "-0x74a8")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")"))))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcStack_130 + -0x7228))(pfVar23);" (call_expression "(**(code **)(pcStack_130 + -0x7228))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7228))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7228)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7228)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7228)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7228)" (( "(") (binary_expression "pcStack_130 + -0x7228" (identifier "pcStack_130") (+ "+") (number_literal "-0x7228")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")"))) (; ";")) (expression_statement "fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);" (assignment_expression "fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23)" (identifier "fVar34") (= "=") (cast_expression "(float)(**(code **)(pcStack_130 + -0x7464))(pfVar23)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (call_expression "(**(code **)(pcStack_130 + -0x7464))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x7464))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x7464)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x7464)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7464)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7464)" (( "(") (binary_expression "pcStack_130 + -0x7464" (identifier "pcStack_130") (+ "+") (number_literal "-0x7464")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")"))))) (; ";")) (} "}")) (else_clause "else {\nLAB_00212c24:\n      uVar17 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar15 = *(int *)(pcStack_130 + -0x7f60);\n      iVar8 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar32 = *(code **)(pcStack_130 + -0x7990);\n      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;\n      iStack_138 = iStack_138 + 0x3e28;\n      pfStack_140 = (float *)&DAT_000001a9;\n      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);\n      if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }\n      fVar34 = 0.0;\n      pfVar9 = pfVar9 + 0x884;\n    }" (else "else") (compound_statement "{\nLAB_00212c24:\n      uVar17 = 0x6dd;\nLAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);\n      iVar15 = *(int *)(pcStack_130 + -0x7f60);\n      iVar8 = *(int *)(pcStack_130 + -0x7f60);\n      pcVar32 = *(code **)(pcStack_130 + -0x7990);\n      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);\nLAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;\n      iStack_138 = iStack_138 + 0x3e28;\n      pfStack_140 = (float *)&DAT_000001a9;\n      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);\n      if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }\n      fVar34 = 0.0;\n      pfVar9 = pfVar9 + 0x884;\n    }" ({ "{") (labeled_statement "LAB_00212c24:\n      uVar17 = 0x6dd;" (statement_identifier "LAB_00212c24") (: ":") (expression_statement "uVar17 = 0x6dd;" (assignment_expression "uVar17 = 0x6dd" (identifier "uVar17") (= "=") (number_literal "0x6dd")) (; ";"))) (labeled_statement "LAB_00212c2c:\n      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);" (statement_identifier "LAB_00212c2c") (: ":") (expression_statement "iStack_138 = *(int *)(pcStack_130 + -0x7fd0);" (assignment_expression "iStack_138 = *(int *)(pcStack_130 + -0x7fd0)" (identifier "iStack_138") (= "=") (pointer_expression "*(int *)(pcStack_130 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_130 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_130 + -0x7fd0)" (( "(") (binary_expression "pcStack_130 + -0x7fd0" (identifier "pcStack_130") (+ "+") (number_literal "-0x7fd0")) () ")"))))) (; ";"))) (expression_statement "iVar15 = *(int *)(pcStack_130 + -0x7f60);" (assignment_expression "iVar15 = *(int *)(pcStack_130 + -0x7f60)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" (* "*") (cast_expression "(int *)(pcStack_130 + -0x7f60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_130 + -0x7f60)" (( "(") (binary_expression "pcStack_130 + -0x7f60" (identifier "pcStack_130") (+ "+") (number_literal "-0x7f60")) () ")"))))) (; ";")) (expression_statement "iVar8 = *(int *)(pcStack_130 + -0x7f60);" (assignment_expression "iVar8 = *(int *)(pcStack_130 + -0x7f60)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(pcStack_130 + -0x7f60)" (* "*") (cast_expression "(int *)(pcStack_130 + -0x7f60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_130 + -0x7f60)" (( "(") (binary_expression "pcStack_130 + -0x7f60" (identifier "pcStack_130") (+ "+") (number_literal "-0x7f60")) () ")"))))) (; ";")) (expression_statement "pcVar32 = *(code **)(pcStack_130 + -0x7990);" (assignment_expression "pcVar32 = *(code **)(pcStack_130 + -0x7990)" (identifier "pcVar32") (= "=") (pointer_expression "*(code **)(pcStack_130 + -0x7990)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7990)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7990)" (( "(") (binary_expression "pcStack_130 + -0x7990" (identifier "pcStack_130") (+ "+") (number_literal "-0x7990")) () ")"))))) (; ";")) (expression_statement "pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);" (assignment_expression "pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400)" (identifier "pfStack_13c") (= "=") (cast_expression "(float *)(*(int *)(pcStack_130 + -0x7fc4) + -400)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_130 + -0x7fc4) + -400)" (( "(") (binary_expression "*(int *)(pcStack_130 + -0x7fc4) + -400" (pointer_expression "*(int *)(pcStack_130 + -0x7fc4)" (* "*") (cast_expression "(int *)(pcStack_130 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_130 + -0x7fc4)" (( "(") (binary_expression "pcStack_130 + -0x7fc4" (identifier "pcStack_130") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-400")) () ")")))) (; ";")) (labeled_statement "LAB_00212c58:\n      pfStack_134 = pfVar9 + 0x884;" (statement_identifier "LAB_00212c58") (: ":") (expression_statement "pfStack_134 = pfVar9 + 0x884;" (assignment_expression "pfStack_134 = pfVar9 + 0x884" (identifier "pfStack_134") (= "=") (binary_expression "pfVar9 + 0x884" (identifier "pfVar9") (+ "+") (number_literal "0x884"))) (; ";"))) (expression_statement "iStack_138 = iStack_138 + 0x3e28;" (assignment_expression "iStack_138 = iStack_138 + 0x3e28" (identifier "iStack_138") (= "=") (binary_expression "iStack_138 + 0x3e28" (identifier "iStack_138") (+ "+") (number_literal "0x3e28"))) (; ";")) (expression_statement "pfStack_140 = (float *)&DAT_000001a9;" (assignment_expression "pfStack_140 = (float *)&DAT_000001a9" (identifier "pfStack_140") (= "=") (cast_expression "(float *)&DAT_000001a9" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_000001a9" (& "&") (identifier "DAT_000001a9")))) (; ";")) (expression_statement "(*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);" (call_expression "(*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17)" (parenthesized_expression "(*pcVar32)" (( "(") (pointer_expression "*pcVar32" (* "*") (identifier "pcVar32")) () ")")) (argument_list "(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17)" (( "(") (identifier "pfVar16") (, ",") (binary_expression "iVar8 + -0x2c20" (identifier "iVar8") (+ "+") (number_literal "-0x2c20")) (, ",") (binary_expression "iVar15 + -0x2ac4" (identifier "iVar15") (+ "+") (number_literal "-0x2ac4")) (, ",") (identifier "uVar17") () ")"))) (; ";")) (if_statement "if (pfVar23 != (float *)0x0) {\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }" (if "if") (parenthesized_expression "(pfVar23 != (float *)0x0)" (( "(") (binary_expression "pfVar23 != (float *)0x0" (identifier "pfVar23") (!= "!=") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);\nLAB_00212c7c:\n        (*pcVar32)(pfVar23);\n        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);\n      }" ({ "{") (labeled_statement "LAB_00212c74:\n        pcVar32 = *(code **)(pcStack_130 + -0x7228);" (statement_identifier "LAB_00212c74") (: ":") (expression_statement "pcVar32 = *(code **)(pcStack_130 + -0x7228);" (assignment_expression "pcVar32 = *(code **)(pcStack_130 + -0x7228)" (identifier "pcVar32") (= "=") (pointer_expression "*(code **)(pcStack_130 + -0x7228)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x7228)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x7228)" (( "(") (binary_expression "pcStack_130 + -0x7228" (identifier "pcStack_130") (+ "+") (number_literal "-0x7228")) () ")"))))) (; ";"))) (labeled_statement "LAB_00212c7c:\n        (*pcVar32)(pfVar23);" (statement_identifier "LAB_00212c7c") (: ":") (expression_statement "(*pcVar32)(pfVar23);" (call_expression "(*pcVar32)(pfVar23)" (parenthesized_expression "(*pcVar32)" (( "(") (pointer_expression "*pcVar32" (* "*") (identifier "pcVar32")) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")"))) (; ";"))) (expression_statement "(**(code **)(pcStack_130 + -0x73a0))(pfVar23);" (call_expression "(**(code **)(pcStack_130 + -0x73a0))(pfVar23)" (parenthesized_expression "(**(code **)(pcStack_130 + -0x73a0))" (( "(") (pointer_expression "**(code **)(pcStack_130 + -0x73a0)" (* "*") (pointer_expression "*(code **)(pcStack_130 + -0x73a0)" (* "*") (cast_expression "(code **)(pcStack_130 + -0x73a0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_130 + -0x73a0)" (( "(") (binary_expression "pcStack_130 + -0x73a0" (identifier "pcStack_130") (+ "+") (number_literal "-0x73a0")) () ")"))))) () ")")) (argument_list "(pfVar23)" (( "(") (identifier "pfVar23") () ")"))) (; ";")) (} "}"))) (expression_statement "fVar34 = 0.0;" (assignment_expression "fVar34 = 0.0" (identifier "fVar34") (= "=") (number_literal "0.0")) (; ";")) (expression_statement "pfVar9 = pfVar9 + 0x884;" (assignment_expression "pfVar9 = pfVar9 + 0x884" (identifier "pfVar9") (= "=") (binary_expression "pfVar9 + 0x884" (identifier "pfVar9") (+ "+") (number_literal "0x884"))) (; ";")) (} "}")))) (labeled_statement "LAB_00212c9c:\n    pcVar32 = pcStack_130;" (statement_identifier "LAB_00212c9c") (: ":") (expression_statement "pcVar32 = pcStack_130;" (assignment_expression "pcVar32 = pcStack_130" (identifier "pcVar32") (= "=") (identifier "pcStack_130")) (; ";"))) (if_statement "if (iStack_e4 == *piVar24) {\n      return fVar34;\n    }" (if "if") (parenthesized_expression "(iStack_e4 == *piVar24)" (( "(") (binary_expression "iStack_e4 == *piVar24" (identifier "iStack_e4") (== "==") (pointer_expression "*piVar24" (* "*") (identifier "piVar24"))) () ")")) (compound_statement "{\n      return fVar34;\n    }" ({ "{") (return_statement "return fVar34;" (return "return") (identifier "fVar34") (; ";")) (} "}"))) (} "}")))) (expression_statement "(**(code **)(pcVar32 + -0x784c))();" (call_expression "(**(code **)(pcVar32 + -0x784c))()" (parenthesized_expression "(**(code **)(pcVar32 + -0x784c))" (( "(") (pointer_expression "**(code **)(pcVar32 + -0x784c)" (* "*") (pointer_expression "*(code **)(pcVar32 + -0x784c)" (* "*") (cast_expression "(code **)(pcVar32 + -0x784c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + -0x784c)" (( "(") (binary_expression "pcVar32 + -0x784c" (identifier "pcVar32") (+ "+") (number_literal "-0x784c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_00213390:\n  pfVar19 = (float *)0x6c8;" (statement_identifier "LAB_00213390") (: ":") (expression_statement "pfVar19 = (float *)0x6c8;" (assignment_expression "pfVar19 = (float *)0x6c8" (identifier "pfVar19") (= "=") (cast_expression "(float *)0x6c8" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x6c8"))) (; ";"))) (expression_statement "pcVar31 = *(code **)(pcVar32 + -0x72a8);" (assignment_expression "pcVar31 = *(code **)(pcVar32 + -0x72a8)" (identifier "pcVar31") (= "=") (pointer_expression "*(code **)(pcVar32 + -0x72a8)" (* "*") (cast_expression "(code **)(pcVar32 + -0x72a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + -0x72a8)" (( "(") (binary_expression "pcVar32 + -0x72a8" (identifier "pcVar32") (+ "+") (number_literal "-0x72a8")) () ")"))))) (; ";")) (expression_statement "pcVar30 = (code *)(*(int *)(pcVar32 + -0x7f60) + -0x2ab4);" (assignment_expression "pcVar30 = (code *)(*(int *)(pcVar32 + -0x7f60) + -0x2ab4)" (identifier "pcVar30") (= "=") (cast_expression "(code *)(*(int *)(pcVar32 + -0x7f60) + -0x2ab4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar32 + -0x7f60) + -0x2ab4)" (( "(") (binary_expression "*(int *)(pcVar32 + -0x7f60) + -0x2ab4" (pointer_expression "*(int *)(pcVar32 + -0x7f60)" (* "*") (cast_expression "(int *)(pcVar32 + -0x7f60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar32 + -0x7f60)" (( "(") (binary_expression "pcVar32 + -0x7f60" (identifier "pcVar32") (+ "+") (number_literal "-0x7f60")) () ")")))) (+ "+") (number_literal "-0x2ab4")) () ")")))) (; ";")) (expression_statement "pfVar18 = (float *)(*(int *)(pcVar32 + -0x7f60) + -0x2c20);" (assignment_expression "pfVar18 = (float *)(*(int *)(pcVar32 + -0x7f60) + -0x2c20)" (identifier "pfVar18") (= "=") (cast_expression "(float *)(*(int *)(pcVar32 + -0x7f60) + -0x2c20)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar32 + -0x7f60) + -0x2c20)" (( "(") (binary_expression "*(int *)(pcVar32 + -0x7f60) + -0x2c20" (pointer_expression "*(int *)(pcVar32 + -0x7f60)" (* "*") (cast_expression "(int *)(pcVar32 + -0x7f60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar32 + -0x7f60)" (( "(") (binary_expression "pcVar32 + -0x7f60" (identifier "pcVar32") (+ "+") (number_literal "-0x7f60")) () ")")))) (+ "+") (number_literal "-0x2c20")) () ")")))) (; ";")) (expression_statement "pcVar33 = FUN_002133b4;" (assignment_expression "pcVar33 = FUN_002133b4" (identifier "pcVar33") (= "=") (identifier "FUN_002133b4")) (; ";")) (expression_statement "puVar25 = (uint *)(*(int *)(pcVar32 + -0x7fd0) + 0xda0);" (assignment_expression "puVar25 = (uint *)(*(int *)(pcVar32 + -0x7fd0) + 0xda0)" (identifier "puVar25") (= "=") (cast_expression "(uint *)(*(int *)(pcVar32 + -0x7fd0) + 0xda0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar32 + -0x7fd0) + 0xda0)" (( "(") (binary_expression "*(int *)(pcVar32 + -0x7fd0) + 0xda0" (pointer_expression "*(int *)(pcVar32 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcVar32 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar32 + -0x7fd0)" (( "(") (binary_expression "pcVar32 + -0x7fd0" (identifier "pcVar32") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0xda0")) () ")")))) (; ";")) (expression_statement "(*pcVar31)();" (call_expression "(*pcVar31)()" (parenthesized_expression "(*pcVar31)" (( "(") (pointer_expression "*pcVar31" (* "*") (identifier "pcVar31")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_1c8 = pcVar31 + 0x19d4fc;" (assignment_expression "pcStack_1c8 = pcVar31 + 0x19d4fc" (identifier "pcStack_1c8") (= "=") (binary_expression "pcVar31 + 0x19d4fc" (identifier "pcVar31") (+ "+") (number_literal "0x19d4fc"))) (; ";")) (expression_statement "piStack_1a4 = *(int **)(pcVar31 + 0x195e7c);" (assignment_expression "piStack_1a4 = *(int **)(pcVar31 + 0x195e7c)" (identifier "piStack_1a4") (= "=") (pointer_expression "*(int **)(pcVar31 + 0x195e7c)" (* "*") (cast_expression "(int **)(pcVar31 + 0x195e7c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar31 + 0x195e7c)" (( "(") (binary_expression "pcVar31 + 0x195e7c" (identifier "pcVar31") (+ "+") (number_literal "0x195e7c")) () ")"))))) (; ";")) (expression_statement "pfStack_1a8 = (float *)0x0;" (assignment_expression "pfStack_1a8 = (float *)0x0" (identifier "pfStack_1a8") (= "=") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iStack_18c = *piStack_1a4;" (assignment_expression "iStack_18c = *piStack_1a4" (identifier "iStack_18c") (= "=") (pointer_expression "*piStack_1a4" (* "*") (identifier "piStack_1a4"))) (; ";")) (expression_statement "uVar40 = puVar25[7];" (assignment_expression "uVar40 = puVar25[7]" (identifier "uVar40") (= "=") (subscript_expression "puVar25[7]" (identifier "puVar25") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "pfStack_1b4 = pfVar19;" (assignment_expression "pfStack_1b4 = pfVar19" (identifier "pfStack_1b4") (= "=") (identifier "pfVar19")) (; ";")) (expression_statement "pfStack_188 = pfVar23;" (assignment_expression "pfStack_188 = pfVar23" (identifier "pfStack_188") (= "=") (identifier "pfVar23")) (; ";")) (expression_statement "pfStack_184 = pfVar9;" (assignment_expression "pfStack_184 = pfVar9" (identifier "pfStack_184") (= "=") (identifier "pfVar9")) (; ";")) (expression_statement "pfStack_180 = pfVar3;" (assignment_expression "pfStack_180 = pfVar3" (identifier "pfStack_180") (= "=") (identifier "pfVar3")) (; ";")) (expression_statement "piStack_17c = piVar24;" (assignment_expression "piStack_17c = piVar24" (identifier "piStack_17c") (= "=") (identifier "piVar24")) (; ";")) (expression_statement "puStack_178 = puVar26;" (assignment_expression "puStack_178 = puVar26" (identifier "puStack_178") (= "=") (identifier "puVar26")) (; ";")) (expression_statement "puStack_174 = puVar27;" (assignment_expression "puStack_174 = puVar27" (identifier "puStack_174") (= "=") (identifier "puVar27")) (; ";")) (expression_statement "puStack_170 = unaff_s6;" (assignment_expression "puStack_170 = unaff_s6" (identifier "puStack_170") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "fStack_16c = unaff_s7;" (assignment_expression "fStack_16c = unaff_s7" (identifier "fStack_16c") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "fStack_168 = unaff_s8;" (assignment_expression "fStack_168 = unaff_s8" (identifier "fStack_168") (= "=") (identifier "unaff_s8")) (; ";")) (expression_statement "pcStack_164 = pcVar33;" (assignment_expression "pcStack_164 = pcVar33" (identifier "pcStack_164") (= "=") (identifier "pcVar33")) (; ";")) (if_statement "if (0 < (int)uVar40) {\n    in_f22_23 = *(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0);\n    in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50));\n    do {\n      pfVar16 = pfStack_1a8;\n      pcVar30 = (code *)puVar25[6];\n      pfVar3 = (float *)0x0;\n      if (0 < (int)pcVar30) {\n        do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );\n      }\n      pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar8 = (*pcVar32)(puVar25);\n      if (iVar8 != 0) {\nLAB_002137bc:\n        fVar34 = 0.0;\n        goto LAB_002137c0;\n      }\n      uVar40 = puVar25[7];\n      pfStack_1a8 = pfStack_1a8 + 1;\n      puVar26 = puVar25;\n    } while ((int)pfStack_1a8 < (int)uVar40);\n  }" (if "if") (parenthesized_expression "(0 < (int)uVar40)" (( "(") (binary_expression "0 < (int)uVar40" (number_literal "0") (< "<") (cast_expression "(int)uVar40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar40"))) () ")")) (compound_statement "{\n    in_f22_23 = *(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0);\n    in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50));\n    do {\n      pfVar16 = pfStack_1a8;\n      pcVar30 = (code *)puVar25[6];\n      pfVar3 = (float *)0x0;\n      if (0 < (int)pcVar30) {\n        do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );\n      }\n      pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar8 = (*pcVar32)(puVar25);\n      if (iVar8 != 0) {\nLAB_002137bc:\n        fVar34 = 0.0;\n        goto LAB_002137c0;\n      }\n      uVar40 = puVar25[7];\n      pfStack_1a8 = pfStack_1a8 + 1;\n      puVar26 = puVar25;\n    } while ((int)pfStack_1a8 < (int)uVar40);\n  }" ({ "{") (expression_statement "in_f22_23 = *(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0);" (assignment_expression "in_f22_23 = *(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0)" (identifier "in_f22_23") (= "=") (pointer_expression "*(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0)" (* "*") (cast_expression "(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar31 + 0x195534) + -0x5af0)" (( "(") (binary_expression "*(int *)(pcVar31 + 0x195534) + -0x5af0" (pointer_expression "*(int *)(pcVar31 + 0x195534)" (* "*") (cast_expression "(int *)(pcVar31 + 0x195534)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar31 + 0x195534)" (( "(") (binary_expression "pcVar31 + 0x195534" (identifier "pcVar31") (+ "+") (number_literal "0x195534")) () ")")))) (+ "+") (number_literal "-0x5af0")) () ")"))))) (; ";")) (expression_statement "in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50));" (assignment_expression "in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50))" (identifier "in_f20_21") (= "=") (call_expression "CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50))" (identifier "CONCAT44") (argument_list "((int)((ulonglong)in_f20_21 >> 0x20),\n                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50))" (( "(") (cast_expression "(int)((ulonglong)in_f20_21 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)in_f20_21 >> 0x20)" (( "(") (binary_expression "(ulonglong)in_f20_21 >> 0x20" (cast_expression "(ulonglong)in_f20_21" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "in_f20_21")) (>> ">>") (number_literal "0x20")) () ")"))) (, ",") (pointer_expression "*(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50)" (* "*") (cast_expression "(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar31 + 0x19552c) + 0x1a50)" (( "(") (binary_expression "*(int *)(pcVar31 + 0x19552c) + 0x1a50" (pointer_expression "*(int *)(pcVar31 + 0x19552c)" (* "*") (cast_expression "(int *)(pcVar31 + 0x19552c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar31 + 0x19552c)" (( "(") (binary_expression "pcVar31 + 0x19552c" (identifier "pcVar31") (+ "+") (number_literal "0x19552c")) () ")")))) (+ "+") (number_literal "0x1a50")) () ")")))) () ")")))) (; ";")) (do_statement "do {\n      pfVar16 = pfStack_1a8;\n      pcVar30 = (code *)puVar25[6];\n      pfVar3 = (float *)0x0;\n      if (0 < (int)pcVar30) {\n        do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );\n      }\n      pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar8 = (*pcVar32)(puVar25);\n      if (iVar8 != 0) {\nLAB_002137bc:\n        fVar34 = 0.0;\n        goto LAB_002137c0;\n      }\n      uVar40 = puVar25[7];\n      pfStack_1a8 = pfStack_1a8 + 1;\n      puVar26 = puVar25;\n    } while ((int)pfStack_1a8 < (int)uVar40);" (do "do") (compound_statement "{\n      pfVar16 = pfStack_1a8;\n      pcVar30 = (code *)puVar25[6];\n      pfVar3 = (float *)0x0;\n      if (0 < (int)pcVar30) {\n        do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );\n      }\n      pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\nLAB_0021380c:\n      iVar8 = (*pcVar32)(puVar25);\n      if (iVar8 != 0) {\nLAB_002137bc:\n        fVar34 = 0.0;\n        goto LAB_002137c0;\n      }\n      uVar40 = puVar25[7];\n      pfStack_1a8 = pfStack_1a8 + 1;\n      puVar26 = puVar25;\n    }" ({ "{") (expression_statement "pfVar16 = pfStack_1a8;" (assignment_expression "pfVar16 = pfStack_1a8" (identifier "pfVar16") (= "=") (identifier "pfStack_1a8")) (; ";")) (expression_statement "pcVar30 = (code *)puVar25[6];" (assignment_expression "pcVar30 = (code *)puVar25[6]" (identifier "pcVar30") (= "=") (cast_expression "(code *)puVar25[6]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar25[6]" (identifier "puVar25") ([ "[") (number_literal "6") (] "]")))) (; ";")) (expression_statement "pfVar3 = (float *)0x0;" (assignment_expression "pfVar3 = (float *)0x0" (identifier "pfVar3") (= "=") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (0 < (int)pcVar30) {\n        do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );\n      }" (if "if") (parenthesized_expression "(0 < (int)pcVar30)" (( "(") (binary_expression "0 < (int)pcVar30" (number_literal "0") (< "<") (cast_expression "(int)pcVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar30"))) () ")")) (compound_statement "{\n        do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );\n      }" ({ "{") (do_statement "do {\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        } while( true );" (do "do") (compound_statement "{\n          pcVar32 = pcVar30 + -(int)pfVar3;\n          uStack_1d0 = uVar40 - (int)pfVar16;\n          pfStack_1cc = pfStack_1b4;\n          if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }\n          pcVar30 = (code *)&DAT_00000004;\n          if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }\n          pfVar18 = pfVar3;\n          pfVar19 = pfVar16;\n          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);\n          pfVar9 = pfVar16;\n          if (pfVar23 == (float *)0x0) goto LAB_002137bc;\n          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piStack_1b8 = (int *)(uStack_1b0 & 0xff);\n          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);\n          piVar24 = (int *)((uint)puVar27 & 0xff);\n          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);\n          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);\n          pcVar30 = (code *)0x1;\n          pfVar19 = &fStack_19c;\n          FUN_00212408(uStack_1bc);\n          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);\n          if (iVar8 != 0) goto LAB_002137bc;\n          iVar8 = 0;\n          uVar40 = puVar25[6];\n          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);\n          uStack_1bc = uStack_1b0 & 0xff;\n          piStack_1b8 = (int *)((uint)puVar27 & 0xff);\n          uStack_1ac = 0xcccccccd;\n          uStack_1b0 = 0x24924925;\n          pfVar18 = pfVar16;\n          do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);\n          pfVar18 = pfStack_1b4;\n          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);\n          if (iVar8 == 0) goto LAB_002137bc;\n          pcVar30 = (code *)puVar25[6];\n          pfVar3 = pfVar3 + 1;\n          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);\n          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;\n          uVar40 = puVar25[7];\n        }" ({ "{") (expression_statement "pcVar32 = pcVar30 + -(int)pfVar3;" (assignment_expression "pcVar32 = pcVar30 + -(int)pfVar3" (identifier "pcVar32") (= "=") (binary_expression "pcVar30 + -(int)pfVar3" (identifier "pcVar30") (+ "+") (unary_expression "-(int)pfVar3" (- "-") (cast_expression "(int)pfVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar3"))))) (; ";")) (expression_statement "uStack_1d0 = uVar40 - (int)pfVar16;" (assignment_expression "uStack_1d0 = uVar40 - (int)pfVar16" (identifier "uStack_1d0") (= "=") (binary_expression "uVar40 - (int)pfVar16" (identifier "uVar40") (- "-") (cast_expression "(int)pfVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar16")))) (; ";")) (expression_statement "pfStack_1cc = pfStack_1b4;" (assignment_expression "pfStack_1cc = pfStack_1b4" (identifier "pfStack_1cc") (= "=") (identifier "pfStack_1b4")) (; ";")) (if_statement "if (4 < uStack_1d0) {\n            uStack_1d0 = 4;\n          }" (if "if") (parenthesized_expression "(4 < uStack_1d0)" (( "(") (binary_expression "4 < uStack_1d0" (number_literal "4") (< "<") (identifier "uStack_1d0")) () ")")) (compound_statement "{\n            uStack_1d0 = 4;\n          }" ({ "{") (expression_statement "uStack_1d0 = 4;" (assignment_expression "uStack_1d0 = 4" (identifier "uStack_1d0") (= "=") (number_literal "4")) (; ";")) (} "}"))) (expression_statement "pcVar30 = (code *)&DAT_00000004;" (assignment_expression "pcVar30 = (code *)&DAT_00000004" (identifier "pcVar30") (= "=") (cast_expression "(code *)&DAT_00000004" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000004" (& "&") (identifier "DAT_00000004")))) (; ";")) (if_statement "if (pcVar32 < &DAT_00000005) {\n            pcVar30 = pcVar32;\n          }" (if "if") (parenthesized_expression "(pcVar32 < &DAT_00000005)" (( "(") (binary_expression "pcVar32 < &DAT_00000005" (identifier "pcVar32") (< "<") (pointer_expression "&DAT_00000005" (& "&") (identifier "DAT_00000005"))) () ")")) (compound_statement "{\n            pcVar30 = pcVar32;\n          }" ({ "{") (expression_statement "pcVar30 = pcVar32;" (assignment_expression "pcVar30 = pcVar32" (identifier "pcVar30") (= "=") (identifier "pcVar32")) (; ";")) (} "}"))) (expression_statement "pfVar18 = pfVar3;" (assignment_expression "pfVar18 = pfVar3" (identifier "pfVar18") (= "=") (identifier "pfVar3")) (; ";")) (expression_statement "pfVar19 = pfVar16;" (assignment_expression "pfVar19 = pfVar16" (identifier "pfVar19") (= "=") (identifier "pfVar16")) (; ";")) (expression_statement "pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);" (assignment_expression "pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25)" (identifier "pfVar23") (= "=") (cast_expression "(float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_1c8 + -0x798c))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x798c))" (( "(") (pointer_expression "**(code **)(pcStack_1c8 + -0x798c)" (* "*") (pointer_expression "*(code **)(pcStack_1c8 + -0x798c)" (* "*") (cast_expression "(code **)(pcStack_1c8 + -0x798c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1c8 + -0x798c)" (( "(") (binary_expression "pcStack_1c8 + -0x798c" (identifier "pcStack_1c8") (+ "+") (number_literal "-0x798c")) () ")"))))) () ")")) (argument_list "(puVar25)" (( "(") (identifier "puVar25") () ")"))))) (; ";")) (expression_statement "pfVar9 = pfVar16;" (assignment_expression "pfVar9 = pfVar16" (identifier "pfVar9") (= "=") (identifier "pfVar16")) (; ";")) (if_statement "if (pfVar23 == (float *)0x0) goto LAB_002137bc;" (if "if") (parenthesized_expression "(pfVar23 == (float *)0x0)" (( "(") (binary_expression "pfVar23 == (float *)0x0" (identifier "pfVar23") (== "==") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_002137bc;" (goto "goto") (statement_identifier "LAB_002137bc") (; ";"))) (expression_statement "uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);" (assignment_expression "uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25)" (identifier "uStack_1b0") (= "=") (call_expression "(**(code **)(pcStack_1c8 + -0x70c0))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x70c0))" (( "(") (pointer_expression "**(code **)(pcStack_1c8 + -0x70c0)" (* "*") (pointer_expression "*(code **)(pcStack_1c8 + -0x70c0)" (* "*") (cast_expression "(code **)(pcStack_1c8 + -0x70c0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1c8 + -0x70c0)" (( "(") (binary_expression "pcStack_1c8 + -0x70c0" (identifier "pcStack_1c8") (+ "+") (number_literal "-0x70c0")) () ")"))))) () ")")) (argument_list "(puVar25)" (( "(") (identifier "puVar25") () ")")))) (; ";")) (expression_statement "piStack_1b8 = (int *)(uStack_1b0 & 0xff);" (assignment_expression "piStack_1b8 = (int *)(uStack_1b0 & 0xff)" (identifier "piStack_1b8") (= "=") (cast_expression "(int *)(uStack_1b0 & 0xff)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uStack_1b0 & 0xff)" (( "(") (binary_expression "uStack_1b0 & 0xff" (identifier "uStack_1b0") (& "&") (number_literal "0xff")) () ")")))) (; ";")) (expression_statement "puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);" (assignment_expression "puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25)" (identifier "puVar27") (= "=") (cast_expression "(uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_1c8 + -0x70c0))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x70c0))" (( "(") (pointer_expression "**(code **)(pcStack_1c8 + -0x70c0)" (* "*") (pointer_expression "*(code **)(pcStack_1c8 + -0x70c0)" (* "*") (cast_expression "(code **)(pcStack_1c8 + -0x70c0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1c8 + -0x70c0)" (( "(") (binary_expression "pcStack_1c8 + -0x70c0" (identifier "pcStack_1c8") (+ "+") (number_literal "-0x70c0")) () ")"))))) () ")")) (argument_list "(puVar25)" (( "(") (identifier "puVar25") () ")"))))) (; ";")) (expression_statement "piVar24 = (int *)((uint)puVar27 & 0xff);" (assignment_expression "piVar24 = (int *)((uint)puVar27 & 0xff)" (identifier "piVar24") (= "=") (cast_expression "(int *)((uint)puVar27 & 0xff)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)puVar27 & 0xff)" (( "(") (binary_expression "(uint)puVar27 & 0xff" (cast_expression "(uint)puVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar27")) (& "&") (number_literal "0xff")) () ")")))) (; ";")) (expression_statement "unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);" (assignment_expression "unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25)" (identifier "unaff_s7") (= "=") (cast_expression "(float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (call_expression "(**(code **)(pcStack_1c8 + -0x7844))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x7844))" (( "(") (pointer_expression "**(code **)(pcStack_1c8 + -0x7844)" (* "*") (pointer_expression "*(code **)(pcStack_1c8 + -0x7844)" (* "*") (cast_expression "(code **)(pcStack_1c8 + -0x7844)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1c8 + -0x7844)" (( "(") (binary_expression "pcStack_1c8 + -0x7844" (identifier "pcStack_1c8") (+ "+") (number_literal "-0x7844")) () ")"))))) () ")")) (argument_list "(puVar25)" (( "(") (identifier "puVar25") () ")"))))) (; ";")) (expression_statement "unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);" (assignment_expression "unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25)" (identifier "unaff_s6") (= "=") (cast_expression "(uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_1c8 + -0x71b4))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x71b4))" (( "(") (pointer_expression "**(code **)(pcStack_1c8 + -0x71b4)" (* "*") (pointer_expression "*(code **)(pcStack_1c8 + -0x71b4)" (* "*") (cast_expression "(code **)(pcStack_1c8 + -0x71b4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1c8 + -0x71b4)" (( "(") (binary_expression "pcStack_1c8 + -0x71b4" (identifier "pcStack_1c8") (+ "+") (number_literal "-0x71b4")) () ")"))))) () ")")) (argument_list "(puVar25)" (( "(") (identifier "puVar25") () ")"))))) (; ";")) (expression_statement "uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);" (assignment_expression "uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25)" (identifier "uStack_1bc") (= "=") (call_expression "(**(code **)(pcStack_1c8 + -0x71b4))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x71b4))" (( "(") (pointer_expression "**(code **)(pcStack_1c8 + -0x71b4)" (* "*") (pointer_expression "*(code **)(pcStack_1c8 + -0x71b4)" (* "*") (cast_expression "(code **)(pcStack_1c8 + -0x71b4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1c8 + -0x71b4)" (( "(") (binary_expression "pcStack_1c8 + -0x71b4" (identifier "pcStack_1c8") (+ "+") (number_literal "-0x71b4")) () ")"))))) () ")")) (argument_list "(puVar25)" (( "(") (identifier "puVar25") () ")")))) (; ";")) (expression_statement "pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);" (assignment_expression "pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25)" (identifier "pfVar18") (= "=") (cast_expression "(float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_1c8 + -0x71b4))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x71b4))" (( "(") (pointer_expression "**(code **)(pcStack_1c8 + -0x71b4)" (* "*") (pointer_expression "*(code **)(pcStack_1c8 + -0x71b4)" (* "*") (cast_expression "(code **)(pcStack_1c8 + -0x71b4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1c8 + -0x71b4)" (( "(") (binary_expression "pcStack_1c8 + -0x71b4" (identifier "pcStack_1c8") (+ "+") (number_literal "-0x71b4")) () ")"))))) () ")")) (argument_list "(puVar25)" (( "(") (identifier "puVar25") () ")"))))) (; ";")) (expression_statement "unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);" (assignment_expression "unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25)" (identifier "unaff_s8") (= "=") (cast_expression "(float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (call_expression "(**(code **)(pcStack_1c8 + -0x7844))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x7844))" (( "(") (pointer_expression "**(code **)(pcStack_1c8 + -0x7844)" (* "*") (pointer_expression "*(code **)(pcStack_1c8 + -0x7844)" (* "*") (cast_expression "(code **)(pcStack_1c8 + -0x7844)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1c8 + -0x7844)" (( "(") (binary_expression "pcStack_1c8 + -0x7844" (identifier "pcStack_1c8") (+ "+") (number_literal "-0x7844")) () ")"))))) () ")")) (argument_list "(puVar25)" (( "(") (identifier "puVar25") () ")"))))) (; ";")) (expression_statement "pcVar30 = (code *)0x1;" (assignment_expression "pcVar30 = (code *)0x1" (identifier "pcVar30") (= "=") (cast_expression "(code *)0x1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pfVar19 = &fStack_19c;" (assignment_expression "pfVar19 = &fStack_19c" (identifier "pfVar19") (= "=") (pointer_expression "&fStack_19c" (& "&") (identifier "fStack_19c"))) (; ";")) (expression_statement "FUN_00212408(uStack_1bc);" (call_expression "FUN_00212408(uStack_1bc)" (identifier "FUN_00212408") (argument_list "(uStack_1bc)" (( "(") (identifier "uStack_1bc") () ")"))) (; ";")) (expression_statement "iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);" (assignment_expression "iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(pcStack_1c8 + -0x7168))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x7168))" (( "(") (pointer_expression "**(code **)(pcStack_1c8 + -0x7168)" (* "*") (pointer_expression "*(code **)(pcStack_1c8 + -0x7168)" (* "*") (cast_expression "(code **)(pcStack_1c8 + -0x7168)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1c8 + -0x7168)" (( "(") (binary_expression "pcStack_1c8 + -0x7168" (identifier "pcStack_1c8") (+ "+") (number_literal "-0x7168")) () ")"))))) () ")")) (argument_list "(puVar25)" (( "(") (identifier "puVar25") () ")")))) (; ";")) (if_statement "if (iVar8 != 0) goto LAB_002137bc;" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_002137bc;" (goto "goto") (statement_identifier "LAB_002137bc") (; ";"))) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar40 = puVar25[6];" (assignment_expression "uVar40 = puVar25[6]" (identifier "uVar40") (= "=") (subscript_expression "puVar25[6]" (identifier "puVar25") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "piVar24 = (int *)(uint)(piVar24 < piStack_1b8);" (assignment_expression "piVar24 = (int *)(uint)(piVar24 < piStack_1b8)" (identifier "piVar24") (= "=") (cast_expression "(int *)(uint)(piVar24 < piStack_1b8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(piVar24 < piStack_1b8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(piVar24 < piStack_1b8)" (( "(") (binary_expression "piVar24 < piStack_1b8" (identifier "piVar24") (< "<") (identifier "piStack_1b8")) () ")"))))) (; ";")) (expression_statement "uStack_1bc = uStack_1b0 & 0xff;" (assignment_expression "uStack_1bc = uStack_1b0 & 0xff" (identifier "uStack_1bc") (= "=") (binary_expression "uStack_1b0 & 0xff" (identifier "uStack_1b0") (& "&") (number_literal "0xff"))) (; ";")) (expression_statement "piStack_1b8 = (int *)((uint)puVar27 & 0xff);" (assignment_expression "piStack_1b8 = (int *)((uint)puVar27 & 0xff)" (identifier "piStack_1b8") (= "=") (cast_expression "(int *)((uint)puVar27 & 0xff)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)puVar27 & 0xff)" (( "(") (binary_expression "(uint)puVar27 & 0xff" (cast_expression "(uint)puVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar27")) (& "&") (number_literal "0xff")) () ")")))) (; ";")) (expression_statement "uStack_1ac = 0xcccccccd;" (assignment_expression "uStack_1ac = 0xcccccccd" (identifier "uStack_1ac") (= "=") (number_literal "0xcccccccd")) (; ";")) (expression_statement "uStack_1b0 = 0x24924925;" (assignment_expression "uStack_1b0 = 0x24924925" (identifier "uStack_1b0") (= "=") (number_literal "0x24924925")) (; ";")) (expression_statement "pfVar18 = pfVar16;" (assignment_expression "pfVar18 = pfVar16" (identifier "pfVar18") (= "=") (identifier "pfVar16")) (; ";")) (do_statement "do {\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          } while (iVar8 != 0x10);" (do "do") (compound_statement "{\n            iVar15 = 0;\n            puVar27 = (uint *)&DAT_00000007;\n            pfVar11 = pfVar3;\n            do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);\n            iVar8 = iVar8 + 4;\n            pfVar18 = (float *)((int)pfVar18 + 1);\n          }" ({ "{") (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" (identifier "iVar15") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar27 = (uint *)&DAT_00000007;" (assignment_expression "puVar27 = (uint *)&DAT_00000007" (identifier "puVar27") (= "=") (cast_expression "(uint *)&DAT_00000007" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (expression_statement "pfVar11 = pfVar3;" (assignment_expression "pfVar11 = pfVar3" (identifier "pfVar11") (= "=") (identifier "pfVar3")) (; ";")) (do_statement "do {\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            } while (iVar15 != 4);" (do "do") (compound_statement "{\n              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }\n              iVar15 = iVar15 + 1;\n              pfVar11 = (float *)((int)pfVar3 + iVar15);\n            }" ({ "{") (if_statement "if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }" (if "if") (parenthesized_expression "(((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7]))" (( "(") (binary_expression "((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])" (parenthesized_expression "((int)pfVar11 < (int)uVar40)" (( "(") (binary_expression "(int)pfVar11 < (int)uVar40" (cast_expression "(int)pfVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar11")) (< "<") (cast_expression "(int)uVar40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar40"))) () ")")) (&& "&&") (parenthesized_expression "((int)pfVar18 < (int)puVar25[7])" (( "(") (binary_expression "(int)pfVar18 < (int)puVar25[7]" (cast_expression "(int)pfVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar18")) (< "<") (cast_expression "(int)puVar25[7]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar25[7]" (identifier "puVar25") ([ "[") (number_literal "7") (] "]")))) () ")"))) () ")")) (compound_statement "{\n                uVar37 = puVar25[0xb4];\n                uVar41 = (iVar8 + iVar15) * 3;\n                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;\n                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);\n                if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }\n                iVar13 = *(int *)(uVar37 + 0x20);\n                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);\n                uVar35 = uVar35 & 7;\n                pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);\n                pcVar30 = (code *)(uint)abStack_198[uVar36];\n                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);\n                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);\n                if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }\n                if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }\n                pfVar23 = pfVar23 + puVar25[0xb0];\n              }" ({ "{") (expression_statement "uVar37 = puVar25[0xb4];" (assignment_expression "uVar37 = puVar25[0xb4]" (identifier "uVar37") (= "=") (subscript_expression "puVar25[0xb4]" (identifier "puVar25") ([ "[") (number_literal "0xb4") (] "]"))) (; ";")) (expression_statement "uVar41 = (iVar8 + iVar15) * 3;" (assignment_expression "uVar41 = (iVar8 + iVar15) * 3" (identifier "uVar41") (= "=") (binary_expression "(iVar8 + iVar15) * 3" (parenthesized_expression "(iVar8 + iVar15)" (( "(") (binary_expression "iVar8 + iVar15" (identifier "iVar8") (+ "+") (identifier "iVar15")) () ")")) (* "*") (number_literal "3"))) (; ";")) (expression_statement "uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;" (assignment_expression "uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3" (identifier "uVar36") (= "=") (binary_expression "(uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3" (binary_expression "(uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU)" (cast_expression "(uint)unaff_s8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_s8")) (>> ">>") (parenthesized_expression "((iVar8 + iVar15) * 2 & 0x1fU)" (( "(") (binary_expression "(iVar8 + iVar15) * 2 & 0x1fU" (binary_expression "(iVar8 + iVar15) * 2" (parenthesized_expression "(iVar8 + iVar15)" (( "(") (binary_expression "iVar8 + iVar15" (identifier "iVar8") (+ "+") (identifier "iVar15")) () ")")) (* "*") (number_literal "2")) (& "&") (number_literal "0x1fU")) () ")"))) (& "&") (number_literal "3"))) (; ";")) (expression_statement "uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f);" (assignment_expression "uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f)" (identifier "uVar35") (= "=") (binary_expression "((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |\n                         (uint)unaff_s7 >> (uVar41 & 0x1f)" (binary_expression "((int)unaff_s6 << 1) << (~uVar41 & 0x1f)" (parenthesized_expression "((int)unaff_s6 << 1)" (( "(") (binary_expression "(int)unaff_s6 << 1" (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6")) (<< "<<") (number_literal "1")) () ")")) (<< "<<") (parenthesized_expression "(~uVar41 & 0x1f)" (( "(") (binary_expression "~uVar41 & 0x1f" (unary_expression "~uVar41" (~ "~") (identifier "uVar41")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "(uint)unaff_s7 >> (uVar41 & 0x1f)" (cast_expression "(uint)unaff_s7" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_s7")) (>> ">>") (parenthesized_expression "(uVar41 & 0x1f)" (( "(") (binary_expression "uVar41 & 0x1f" (identifier "uVar41") (& "&") (number_literal "0x1f")) () ")"))))) (; ";")) (if_statement "if ((uVar41 & 0x20) != 0) {\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }" (if "if") (parenthesized_expression "((uVar41 & 0x20) != 0)" (( "(") (binary_expression "(uVar41 & 0x20) != 0" (parenthesized_expression "(uVar41 & 0x20)" (( "(") (binary_expression "uVar41 & 0x20" (identifier "uVar41") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);\n                }" ({ "{") (expression_statement "uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);" (assignment_expression "uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f)" (identifier "uVar35") (= "=") (binary_expression "(uint)unaff_s6 >> (uVar41 & 0x1f)" (cast_expression "(uint)unaff_s6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_s6")) (>> ">>") (parenthesized_expression "(uVar41 & 0x1f)" (( "(") (binary_expression "uVar41 & 0x1f" (identifier "uVar41") (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar13 = *(int *)(uVar37 + 0x20);" (assignment_expression "iVar13 = *(int *)(uVar37 + 0x20)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(uVar37 + 0x20)" (* "*") (cast_expression "(int *)(uVar37 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar37 + 0x20)" (( "(") (binary_expression "uVar37 + 0x20" (identifier "uVar37") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);" (assignment_expression "pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14)" (identifier "pfVar19") (= "=") (binary_expression "pfVar23 + *(int *)(uVar37 + 0x14)" (identifier "pfVar23") (+ "+") (pointer_expression "*(int *)(uVar37 + 0x14)" (* "*") (cast_expression "(int *)(uVar37 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar37 + 0x14)" (( "(") (binary_expression "uVar37 + 0x14" (identifier "uVar37") (+ "+") (number_literal "0x14")) () ")")))))) (; ";")) (expression_statement "uVar35 = uVar35 & 7;" (assignment_expression "uVar35 = uVar35 & 7" (identifier "uVar35") (= "=") (binary_expression "uVar35 & 7" (identifier "uVar35") (& "&") (number_literal "7"))) (; ";")) (expression_statement "pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);" (assignment_expression "pfVar23[*(int *)(uVar37 + 8)] =\n                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23)" (subscript_expression "pfVar23[*(int *)(uVar37 + 8)]" (identifier "pfVar23") ([ "[") (pointer_expression "*(int *)(uVar37 + 8)" (* "*") (cast_expression "(int *)(uVar37 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar37 + 8)" (( "(") (binary_expression "uVar37 + 8" (identifier "uVar37") (+ "+") (number_literal "8")) () ")")))) (] "]")) (= "=") (cast_expression "(float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23)" (( "(") (binary_expression "(double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23" (cast_expression "(double)*(byte *)((int)&fStack_19c + uVar36)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(byte *)((int)&fStack_19c + uVar36)" (* "*") (cast_expression "(byte *)((int)&fStack_19c + uVar36)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&fStack_19c + uVar36)" (( "(") (binary_expression "(int)&fStack_19c + uVar36" (cast_expression "(int)&fStack_19c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&fStack_19c" (& "&") (identifier "fStack_19c"))) (+ "+") (identifier "uVar36")) () ")"))))) (* "*") (identifier "in_f22_23")) () ")")))) (; ";")) (expression_statement "pcVar30 = (code *)(uint)abStack_198[uVar36];" (assignment_expression "pcVar30 = (code *)(uint)abStack_198[uVar36]" (identifier "pcVar30") (= "=") (cast_expression "(code *)(uint)abStack_198[uVar36]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)abStack_198[uVar36]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "abStack_198[uVar36]" (identifier "abStack_198") ([ "[") (identifier "uVar36") (] "]"))))) (; ";")) (expression_statement "*pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);" (assignment_expression "*pfVar19 = (float)((double)(int)pcVar30 * in_f22_23)" (pointer_expression "*pfVar19" (* "*") (identifier "pfVar19")) (= "=") (cast_expression "(float)((double)(int)pcVar30 * in_f22_23)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)(int)pcVar30 * in_f22_23)" (( "(") (binary_expression "(double)(int)pcVar30 * in_f22_23" (cast_expression "(double)(int)pcVar30" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(int)pcVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar30"))) (* "*") (identifier "in_f22_23")) () ")")))) (; ";")) (expression_statement "pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);" (assignment_expression "pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23)" (subscript_expression "pfVar23[iVar13]" (identifier "pfVar23") ([ "[") (identifier "iVar13") (] "]")) (= "=") (cast_expression "(float)((double)abStack_194[uVar36] * in_f22_23)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)abStack_194[uVar36] * in_f22_23)" (( "(") (binary_expression "(double)abStack_194[uVar36] * in_f22_23" (cast_expression "(double)abStack_194[uVar36]" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (subscript_expression "abStack_194[uVar36]" (identifier "abStack_194") ([ "[") (identifier "uVar36") (] "]"))) (* "*") (identifier "in_f22_23")) () ")")))) (; ";")) (if_statement "if (uVar35 == 0) {\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }\n                else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }" (if "if") (parenthesized_expression "(uVar35 == 0)" (( "(") (binary_expression "uVar35 == 0" (identifier "uVar35") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  fVar34 = (float)((double)uStack_1bc * in_f22_23);\n                }" ({ "{") (expression_statement "fVar34 = (float)((double)uStack_1bc * in_f22_23);" (assignment_expression "fVar34 = (float)((double)uStack_1bc * in_f22_23)" (identifier "fVar34") (= "=") (cast_expression "(float)((double)uStack_1bc * in_f22_23)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)uStack_1bc * in_f22_23)" (( "(") (binary_expression "(double)uStack_1bc * in_f22_23" (cast_expression "(double)uStack_1bc" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "uStack_1bc")) (* "*") (identifier "in_f22_23")) () ")")))) (; ";")) (} "}")) (else_clause "else if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }" (else "else") (if_statement "if (uVar35 == 1) {\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }\n                else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }" (if "if") (parenthesized_expression "(uVar35 == 1)" (( "(") (binary_expression "uVar35 == 1" (identifier "uVar35") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);\n                }" ({ "{") (expression_statement "fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);" (assignment_expression "fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23)" (identifier "fVar34") (= "=") (cast_expression "(float)((double)(int)piStack_1b8 * in_f22_23)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)(int)piStack_1b8 * in_f22_23)" (( "(") (binary_expression "(double)(int)piStack_1b8 * in_f22_23" (cast_expression "(double)(int)piStack_1b8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(int)piStack_1b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piStack_1b8"))) (* "*") (identifier "in_f22_23")) () ")")))) (; ";")) (} "}")) (else_clause "else if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }" (else "else") (if_statement "if (piVar24 == (int *)0x0) {\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }\n                else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }" (if "if") (parenthesized_expression "(piVar24 == (int *)0x0)" (( "(") (binary_expression "piVar24 == (int *)0x0" (identifier "piVar24") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  fVar34 = 0.0;\n                  if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }\n                }" ({ "{") (expression_statement "fVar34 = 0.0;" (assignment_expression "fVar34 = 0.0" (identifier "fVar34") (= "=") (number_literal "0.0")) (; ";")) (if_statement "if (uVar35 != 6) {\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }" (if "if") (parenthesized_expression "(uVar35 != 6)" (( "(") (binary_expression "uVar35 != 6" (identifier "uVar35") (!= "!=") (number_literal "6")) () ")")) (compound_statement "{\n                    if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }\n                    fVar34 = (float)in_f20_21;\n                  }" ({ "{") (if_statement "if (uVar35 != 7) {\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }" (if "if") (parenthesized_expression "(uVar35 != 7)" (( "(") (binary_expression "uVar35 != 7" (identifier "uVar35") (!= "!=") (number_literal "7")) () ")")) (compound_statement "{\n                      uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);\n                      goto LAB_00213750;\n                    }" ({ "{") (expression_statement "uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20);" (assignment_expression "uVar41 = (uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20)" (identifier "uVar41") (= "=") (call_expression "(uint)((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20)" (( "(") (binary_expression "(ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd >> 0x20" (binary_expression "(ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)\n                                      * 0xcccccccd" (call_expression "(ulonglong)\n                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)" (( "(") (binary_expression "(uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc" (binary_expression "(uVar35 - 1) * (int)piStack_1b8" (parenthesized_expression "(uVar35 - 1)" (( "(") (binary_expression "uVar35 - 1" (identifier "uVar35") (- "-") (number_literal "1")) () ")")) (* "*") (cast_expression "(int)piStack_1b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piStack_1b8"))) (+ "+") (binary_expression "(6 - uVar35) * uStack_1bc" (parenthesized_expression "(6 - uVar35)" (( "(") (binary_expression "6 - uVar35" (number_literal "6") (- "-") (identifier "uVar35")) () ")")) (* "*") (identifier "uStack_1bc"))) () ")"))) (* "*") (number_literal "0xcccccccd")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (goto_statement "goto LAB_00213750;" (goto "goto") (statement_identifier "LAB_00213750") (; ";")) (} "}"))) (expression_statement "fVar34 = (float)in_f20_21;" (assignment_expression "fVar34 = (float)in_f20_21" (identifier "fVar34") (= "=") (cast_expression "(float)in_f20_21" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "in_f20_21"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }" (else "else") (compound_statement "{\n                  uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);\nLAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);\n                }" ({ "{") (expression_statement "uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21);" (assignment_expression "uVar41 = (uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21)" (identifier "uVar41") (= "=") (call_expression "(uint)((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21)" (( "(") (binary_expression "(ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925 >> 0x21" (binary_expression "(ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *\n                                  0x124924925" (call_expression "(ulonglong)\n                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc)" (( "(") (binary_expression "(uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc" (binary_expression "(uVar35 - 1) * (int)piStack_1b8" (parenthesized_expression "(uVar35 - 1)" (( "(") (binary_expression "uVar35 - 1" (identifier "uVar35") (- "-") (number_literal "1")) () ")")) (* "*") (cast_expression "(int)piStack_1b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piStack_1b8"))) (+ "+") (binary_expression "(8 - uVar35) * uStack_1bc" (parenthesized_expression "(8 - uVar35)" (( "(") (binary_expression "8 - uVar35" (number_literal "8") (- "-") (identifier "uVar35")) () ")")) (* "*") (identifier "uStack_1bc"))) () ")"))) (* "*") (number_literal "0x124924925")) (>> ">>") (number_literal "0x21")) () ")")))) (; ";")) (labeled_statement "LAB_00213750:\n                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);" (statement_identifier "LAB_00213750") (: ":") (expression_statement "fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);" (assignment_expression "fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23)" (identifier "fVar34") (= "=") (cast_expression "(float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)((uVar41 << 0x16) >> 0x18) * in_f22_23)" (( "(") (binary_expression "(double)((uVar41 << 0x16) >> 0x18) * in_f22_23" (cast_expression "(double)((uVar41 << 0x16) >> 0x18)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((uVar41 << 0x16) >> 0x18)" (( "(") (binary_expression "(uVar41 << 0x16) >> 0x18" (parenthesized_expression "(uVar41 << 0x16)" (( "(") (binary_expression "uVar41 << 0x16" (identifier "uVar41") (<< "<<") (number_literal "0x16")) () ")")) (>> ">>") (number_literal "0x18")) () ")"))) (* "*") (identifier "in_f22_23")) () ")")))) (; ";"))) (} "}")))))))) (if_statement "if (*(int *)(uVar37 + 0x34) != 0) {\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }" (if "if") (parenthesized_expression "(*(int *)(uVar37 + 0x34) != 0)" (( "(") (binary_expression "*(int *)(uVar37 + 0x34) != 0" (pointer_expression "*(int *)(uVar37 + 0x34)" (* "*") (cast_expression "(int *)(uVar37 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar37 + 0x34)" (( "(") (binary_expression "uVar37 + 0x34" (identifier "uVar37") (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;\n                }" ({ "{") (expression_statement "pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;" (assignment_expression "pfVar23[*(int *)(uVar37 + 0x38)] = fVar34" (subscript_expression "pfVar23[*(int *)(uVar37 + 0x38)]" (identifier "pfVar23") ([ "[") (pointer_expression "*(int *)(uVar37 + 0x38)" (* "*") (cast_expression "(int *)(uVar37 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar37 + 0x38)" (( "(") (binary_expression "uVar37 + 0x38" (identifier "uVar37") (+ "+") (number_literal "0x38")) () ")")))) (] "]")) (= "=") (identifier "fVar34")) (; ";")) (} "}"))) (expression_statement "pfVar23 = pfVar23 + puVar25[0xb0];" (assignment_expression "pfVar23 = pfVar23 + puVar25[0xb0]" (identifier "pfVar23") (= "=") (binary_expression "pfVar23 + puVar25[0xb0]" (identifier "pfVar23") (+ "+") (subscript_expression "puVar25[0xb0]" (identifier "puVar25") ([ "[") (number_literal "0xb0") (] "]")))) (; ";")) (} "}"))) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" (identifier "iVar15") (= "=") (binary_expression "iVar15 + 1" (identifier "iVar15") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar11 = (float *)((int)pfVar3 + iVar15);" (assignment_expression "pfVar11 = (float *)((int)pfVar3 + iVar15)" (identifier "pfVar11") (= "=") (cast_expression "(float *)((int)pfVar3 + iVar15)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar3 + iVar15)" (( "(") (binary_expression "(int)pfVar3 + iVar15" (cast_expression "(int)pfVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar3")) (+ "+") (identifier "iVar15")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar15 != 4)" (( "(") (binary_expression "iVar15 != 4" (identifier "iVar15") (!= "!=") (number_literal "4")) () ")")) (; ";")) (expression_statement "iVar8 = iVar8 + 4;" (assignment_expression "iVar8 = iVar8 + 4" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 4" (identifier "iVar8") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "pfVar18 = (float *)((int)pfVar18 + 1);" (assignment_expression "pfVar18 = (float *)((int)pfVar18 + 1)" (identifier "pfVar18") (= "=") (cast_expression "(float *)((int)pfVar18 + 1)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar18 + 1)" (( "(") (binary_expression "(int)pfVar18 + 1" (cast_expression "(int)pfVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar18")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar8 != 0x10)" (( "(") (binary_expression "iVar8 != 0x10" (identifier "iVar8") (!= "!=") (number_literal "0x10")) () ")")) (; ";")) (expression_statement "pfVar18 = pfStack_1b4;" (assignment_expression "pfVar18 = pfStack_1b4" (identifier "pfVar18") (= "=") (identifier "pfStack_1b4")) (; ";")) (expression_statement "iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);" (assignment_expression "iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(pcStack_1c8 + -0x76cc))(puVar25)" (parenthesized_expression "(**(code **)(pcStack_1c8 + -0x76cc))" (( "(") (pointer_expression "**(code **)(pcStack_1c8 + -0x76cc)" (* "*") (pointer_expression "*(code **)(pcStack_1c8 + -0x76cc)" (* "*") (cast_expression "(code **)(pcStack_1c8 + -0x76cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1c8 + -0x76cc)" (( "(") (binary_expression "pcStack_1c8 + -0x76cc" (identifier "pcStack_1c8") (+ "+") (number_literal "-0x76cc")) () ")"))))) () ")")) (argument_list "(puVar25)" (( "(") (identifier "puVar25") () ")")))) (; ";")) (if_statement "if (iVar8 == 0) goto LAB_002137bc;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002137bc;" (goto "goto") (statement_identifier "LAB_002137bc") (; ";"))) (expression_statement "pcVar30 = (code *)puVar25[6];" (assignment_expression "pcVar30 = (code *)puVar25[6]" (identifier "pcVar30") (= "=") (cast_expression "(code *)puVar25[6]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar25[6]" (identifier "puVar25") ([ "[") (number_literal "6") (] "]")))) (; ";")) (expression_statement "pfVar3 = pfVar3 + 1;" (assignment_expression "pfVar3 = pfVar3 + 1" (identifier "pfVar3") (= "=") (binary_expression "pfVar3 + 1" (identifier "pfVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar32 = *(code **)(pcStack_1c8 + -0x7168);" (assignment_expression "pcVar32 = *(code **)(pcStack_1c8 + -0x7168)" (identifier "pcVar32") (= "=") (pointer_expression "*(code **)(pcStack_1c8 + -0x7168)" (* "*") (cast_expression "(code **)(pcStack_1c8 + -0x7168)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1c8 + -0x7168)" (( "(") (binary_expression "pcStack_1c8 + -0x7168" (identifier "pcStack_1c8") (+ "+") (number_literal "-0x7168")) () ")"))))) (; ";")) (if_statement "if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;" (if "if") (parenthesized_expression "((int)pcVar30 <= (int)pfVar3)" (( "(") (binary_expression "(int)pcVar30 <= (int)pfVar3" (cast_expression "(int)pcVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar30")) (<= "<=") (cast_expression "(int)pfVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar3"))) () ")")) (goto_statement "goto LAB_0021380c;" (goto "goto") (statement_identifier "LAB_0021380c") (; ";"))) (expression_statement "uVar40 = puVar25[7];" (assignment_expression "uVar40 = puVar25[7]" (identifier "uVar40") (= "=") (subscript_expression "puVar25[7]" (identifier "puVar25") ([ "[") (number_literal "7") (] "]"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (expression_statement "pcVar32 = *(code **)(pcStack_1c8 + -0x7168);" (assignment_expression "pcVar32 = *(code **)(pcStack_1c8 + -0x7168)" (identifier "pcVar32") (= "=") (pointer_expression "*(code **)(pcStack_1c8 + -0x7168)" (* "*") (cast_expression "(code **)(pcStack_1c8 + -0x7168)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1c8 + -0x7168)" (( "(") (binary_expression "pcStack_1c8 + -0x7168" (identifier "pcStack_1c8") (+ "+") (number_literal "-0x7168")) () ")"))))) (; ";")) (labeled_statement "LAB_0021380c:\n      iVar8 = (*pcVar32)(puVar25);" (statement_identifier "LAB_0021380c") (: ":") (expression_statement "iVar8 = (*pcVar32)(puVar25);" (assignment_expression "iVar8 = (*pcVar32)(puVar25)" (identifier "iVar8") (= "=") (call_expression "(*pcVar32)(puVar25)" (parenthesized_expression "(*pcVar32)" (( "(") (pointer_expression "*pcVar32" (* "*") (identifier "pcVar32")) () ")")) (argument_list "(puVar25)" (( "(") (identifier "puVar25") () ")")))) (; ";"))) (if_statement "if (iVar8 != 0) {\nLAB_002137bc:\n        fVar34 = 0.0;\n        goto LAB_002137c0;\n      }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_002137bc:\n        fVar34 = 0.0;\n        goto LAB_002137c0;\n      }" ({ "{") (labeled_statement "LAB_002137bc:\n        fVar34 = 0.0;" (statement_identifier "LAB_002137bc") (: ":") (expression_statement "fVar34 = 0.0;" (assignment_expression "fVar34 = 0.0" (identifier "fVar34") (= "=") (number_literal "0.0")) (; ";"))) (goto_statement "goto LAB_002137c0;" (goto "goto") (statement_identifier "LAB_002137c0") (; ";")) (} "}"))) (expression_statement "uVar40 = puVar25[7];" (assignment_expression "uVar40 = puVar25[7]" (identifier "uVar40") (= "=") (subscript_expression "puVar25[7]" (identifier "puVar25") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "pfStack_1a8 = pfStack_1a8 + 1;" (assignment_expression "pfStack_1a8 = pfStack_1a8 + 1" (identifier "pfStack_1a8") (= "=") (binary_expression "pfStack_1a8 + 1" (identifier "pfStack_1a8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar26 = puVar25;" (assignment_expression "puVar26 = puVar25" (identifier "puVar26") (= "=") (identifier "puVar25")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)pfStack_1a8 < (int)uVar40)" (( "(") (binary_expression "(int)pfStack_1a8 < (int)uVar40" (cast_expression "(int)pfStack_1a8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfStack_1a8")) (< "<") (cast_expression "(int)uVar40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar40"))) () ")")) (; ";")) (} "}"))) (expression_statement "fVar34 = 1.4013e-45;" (assignment_expression "fVar34 = 1.4013e-45" (identifier "fVar34") (= "=") (number_literal "1.4013e-45")) (; ";")) (expression_statement "puVar25 = puVar26;" (assignment_expression "puVar25 = puVar26" (identifier "puVar25") (= "=") (identifier "puVar26")) (; ";")) (labeled_statement "LAB_002137c0:\n  if (iStack_18c == *piStack_1a4) {\n    return fVar34;\n  }" (statement_identifier "LAB_002137c0") (: ":") (if_statement "if (iStack_18c == *piStack_1a4) {\n    return fVar34;\n  }" (if "if") (parenthesized_expression "(iStack_18c == *piStack_1a4)" (( "(") (binary_expression "iStack_18c == *piStack_1a4" (identifier "iStack_18c") (== "==") (pointer_expression "*piStack_1a4" (* "*") (identifier "piStack_1a4"))) () ")")) (compound_statement "{\n    return fVar34;\n  }" ({ "{") (return_statement "return fVar34;" (return "return") (identifier "fVar34") (; ";")) (} "}")))) (expression_statement "pcVar32 = *(code **)(pcStack_1c8 + -0x784c);" (assignment_expression "pcVar32 = *(code **)(pcStack_1c8 + -0x784c)" (identifier "pcVar32") (= "=") (pointer_expression "*(code **)(pcStack_1c8 + -0x784c)" (* "*") (cast_expression "(code **)(pcStack_1c8 + -0x784c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1c8 + -0x784c)" (( "(") (binary_expression "pcStack_1c8 + -0x784c" (identifier "pcStack_1c8") (+ "+") (number_literal "-0x784c")) () ")"))))) (; ";")) (expression_statement "pcVar31 = FUN_0021384c;" (assignment_expression "pcVar31 = FUN_0021384c" (identifier "pcVar31") (= "=") (identifier "FUN_0021384c")) (; ";")) (expression_statement "iVar8 = iStack_18c;" (assignment_expression "iVar8 = iStack_18c" (identifier "iVar8") (= "=") (identifier "iStack_18c")) (; ";")) (expression_statement "(*pcVar32)();" (call_expression "(*pcVar32)()" (parenthesized_expression "(*pcVar32)" (( "(") (pointer_expression "*pcVar32" (* "*") (identifier "pcVar32")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar4 = *(int **)(pcVar32 + 0x1959e4);" (assignment_expression "piVar4 = *(int **)(pcVar32 + 0x1959e4)" (identifier "piVar4") (= "=") (pointer_expression "*(int **)(pcVar32 + 0x1959e4)" (* "*") (cast_expression "(int **)(pcVar32 + 0x1959e4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x1959e4)" (( "(") (binary_expression "pcVar32 + 0x1959e4" (identifier "pcVar32") (+ "+") (number_literal "0x1959e4")) () ")"))))) (; ";")) (expression_statement "iStack_21c = *piVar4;" (assignment_expression "iStack_21c = *piVar4" (identifier "iStack_21c") (= "=") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) (; ";")) (expression_statement "iVar15 = *(int *)(iVar8 + 0x1c);" (assignment_expression "iVar15 = *(int *)(iVar8 + 0x1c)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(iVar8 + 0x1c)" (* "*") (cast_expression "(int *)(iVar8 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x1c)" (( "(") (binary_expression "iVar8 + 0x1c" (identifier "iVar8") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "pfVar16 = pfVar19;" (assignment_expression "pfVar16 = pfVar19" (identifier "pfVar16") (= "=") (identifier "pfVar19")) (; ";")) (expression_statement "pfStack_218 = pfVar23;" (assignment_expression "pfStack_218 = pfVar23" (identifier "pfStack_218") (= "=") (identifier "pfVar23")) (; ";")) (expression_statement "pfStack_214 = pfVar9;" (assignment_expression "pfStack_214 = pfVar9" (identifier "pfStack_214") (= "=") (identifier "pfVar9")) (; ";")) (expression_statement "pfStack_210 = pfVar3;" (assignment_expression "pfStack_210 = pfVar3" (identifier "pfStack_210") (= "=") (identifier "pfVar3")) (; ";")) (expression_statement "piStack_20c = piVar24;" (assignment_expression "piStack_20c = piVar24" (identifier "piStack_20c") (= "=") (identifier "piVar24")) (; ";")) (expression_statement "puStack_208 = puVar25;" (assignment_expression "puStack_208 = puVar25" (identifier "puStack_208") (= "=") (identifier "puVar25")) (; ";")) (expression_statement "puStack_204 = puVar27;" (assignment_expression "puStack_204 = puVar27" (identifier "puStack_204") (= "=") (identifier "puVar27")) (; ";")) (expression_statement "puStack_200 = unaff_s6;" (assignment_expression "puStack_200 = unaff_s6" (identifier "puStack_200") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "fStack_1fc = unaff_s7;" (assignment_expression "fStack_1fc = unaff_s7" (identifier "fStack_1fc") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "fStack_1f8 = unaff_s8;" (assignment_expression "fStack_1f8 = unaff_s8" (identifier "fStack_1f8") (= "=") (identifier "unaff_s8")) (; ";")) (expression_statement "pcStack_1f4 = pcVar31;" (assignment_expression "pcStack_1f4 = pcVar31" (identifier "pcStack_1f4") (= "=") (identifier "pcVar31")) (; ";")) (expression_statement "uStack_1f0 = in_f20_21;" (assignment_expression "uStack_1f0 = in_f20_21" (identifier "uStack_1f0") (= "=") (identifier "in_f20_21")) (; ";")) (expression_statement "dStack_1e8 = in_f22_23;" (assignment_expression "dStack_1e8 = in_f22_23" (identifier "dStack_1e8") (= "=") (identifier "in_f22_23")) (; ";")) (if_statement "if (0 < iVar15) {\n    pfVar3 = (float *)0x0;\n    iVar13 = *(int *)(pcVar32 + 0x195378);\n    dVar44 = *(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0);\n    dVar45 = dVar44;\n    do {\n      pcVar30 = *(code **)(iVar8 + 0x18);\n      pfVar23 = (float *)0x0;\n      if ((int)pcVar30 < 1) {\n        pcVar31 = *(code **)(pcVar32 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }\n      iVar15 = (*pcVar31)(iVar8);\n      if (iVar15 != 0) {\nLAB_00213b34:\n        fVar34 = 0.0;\n        goto LAB_00213b38;\n      }\n      iVar15 = *(int *)(iVar8 + 0x1c);\n      pfVar3 = pfVar3 + 1;\n    } while ((int)pfVar3 < iVar15);\n  }" (if "if") (parenthesized_expression "(0 < iVar15)" (( "(") (binary_expression "0 < iVar15" (number_literal "0") (< "<") (identifier "iVar15")) () ")")) (compound_statement "{\n    pfVar3 = (float *)0x0;\n    iVar13 = *(int *)(pcVar32 + 0x195378);\n    dVar44 = *(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0);\n    dVar45 = dVar44;\n    do {\n      pcVar30 = *(code **)(iVar8 + 0x18);\n      pfVar23 = (float *)0x0;\n      if ((int)pcVar30 < 1) {\n        pcVar31 = *(code **)(pcVar32 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }\n      iVar15 = (*pcVar31)(iVar8);\n      if (iVar15 != 0) {\nLAB_00213b34:\n        fVar34 = 0.0;\n        goto LAB_00213b38;\n      }\n      iVar15 = *(int *)(iVar8 + 0x1c);\n      pfVar3 = pfVar3 + 1;\n    } while ((int)pfVar3 < iVar15);\n  }" ({ "{") (expression_statement "pfVar3 = (float *)0x0;" (assignment_expression "pfVar3 = (float *)0x0" (identifier "pfVar3") (= "=") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar13 = *(int *)(pcVar32 + 0x195378);" (assignment_expression "iVar13 = *(int *)(pcVar32 + 0x195378)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(pcVar32 + 0x195378)" (* "*") (cast_expression "(int *)(pcVar32 + 0x195378)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar32 + 0x195378)" (( "(") (binary_expression "pcVar32 + 0x195378" (identifier "pcVar32") (+ "+") (number_literal "0x195378")) () ")"))))) (; ";")) (expression_statement "dVar44 = *(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0);" (assignment_expression "dVar44 = *(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0)" (identifier "dVar44") (= "=") (pointer_expression "*(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0)" (* "*") (cast_expression "(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar32 + 0x19509c) + -0x5af0)" (( "(") (binary_expression "*(int *)(pcVar32 + 0x19509c) + -0x5af0" (pointer_expression "*(int *)(pcVar32 + 0x19509c)" (* "*") (cast_expression "(int *)(pcVar32 + 0x19509c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar32 + 0x19509c)" (( "(") (binary_expression "pcVar32 + 0x19509c" (identifier "pcVar32") (+ "+") (number_literal "0x19509c")) () ")")))) (+ "+") (number_literal "-0x5af0")) () ")"))))) (; ";")) (expression_statement "dVar45 = dVar44;" (assignment_expression "dVar45 = dVar44" (identifier "dVar45") (= "=") (identifier "dVar44")) (; ";")) (do_statement "do {\n      pcVar30 = *(code **)(iVar8 + 0x18);\n      pfVar23 = (float *)0x0;\n      if ((int)pcVar30 < 1) {\n        pcVar31 = *(code **)(pcVar32 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }\n      iVar15 = (*pcVar31)(iVar8);\n      if (iVar15 != 0) {\nLAB_00213b34:\n        fVar34 = 0.0;\n        goto LAB_00213b38;\n      }\n      iVar15 = *(int *)(iVar8 + 0x1c);\n      pfVar3 = pfVar3 + 1;\n    } while ((int)pfVar3 < iVar15);" (do "do") (compound_statement "{\n      pcVar30 = *(code **)(iVar8 + 0x18);\n      pfVar23 = (float *)0x0;\n      if ((int)pcVar30 < 1) {\n        pcVar31 = *(code **)(pcVar32 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }\n      iVar15 = (*pcVar31)(iVar8);\n      if (iVar15 != 0) {\nLAB_00213b34:\n        fVar34 = 0.0;\n        goto LAB_00213b38;\n      }\n      iVar15 = *(int *)(iVar8 + 0x1c);\n      pfVar3 = pfVar3 + 1;\n    }" ({ "{") (expression_statement "pcVar30 = *(code **)(iVar8 + 0x18);" (assignment_expression "pcVar30 = *(code **)(iVar8 + 0x18)" (identifier "pcVar30") (= "=") (pointer_expression "*(code **)(iVar8 + 0x18)" (* "*") (cast_expression "(code **)(iVar8 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar8 + 0x18)" (( "(") (binary_expression "iVar8 + 0x18" (identifier "iVar8") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "pfVar23 = (float *)0x0;" (assignment_expression "pfVar23 = (float *)0x0" (identifier "pfVar23") (= "=") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if ((int)pcVar30 < 1) {\n        pcVar31 = *(code **)(pcVar32 + 0x195efc);\n      }\n      else {\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }" (if "if") (parenthesized_expression "((int)pcVar30 < 1)" (( "(") (binary_expression "(int)pcVar30 < 1" (cast_expression "(int)pcVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar30")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n        pcVar31 = *(code **)(pcVar32 + 0x195efc);\n      }" ({ "{") (expression_statement "pcVar31 = *(code **)(pcVar32 + 0x195efc);" (assignment_expression "pcVar31 = *(code **)(pcVar32 + 0x195efc)" (identifier "pcVar31") (= "=") (pointer_expression "*(code **)(pcVar32 + 0x195efc)" (* "*") (cast_expression "(code **)(pcVar32 + 0x195efc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x195efc)" (( "(") (binary_expression "pcVar32 + 0x195efc" (identifier "pcVar32") (+ "+") (number_literal "0x195efc")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }" (else "else") (compound_statement "{\n        while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }\n      }" ({ "{") (while_statement "while( true ) {\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          uStack_248 = iVar15 - (int)pfVar3;\n          pcVar30 = pcVar30 + -(int)pfVar23;\n          if (4 < uStack_248) {\n            uStack_248 = 4;\n          }\n          if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }\n          pfVar18 = pfVar23;\n          pfVar16 = pfVar3;\n          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);\n          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);\n          pcVar30 = (code *)0x1;\n          pfVar16 = &fStack_22c;\n          (*(code *)(iVar13 + 0x2408))(uVar17);\n          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);\n          if (iVar5 != 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          iVar14 = 0;\n          iVar5 = 0;\n          pfVar16 = pfVar3;\n          do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);\n          pfVar18 = pfVar19;\n          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);\n          if (iVar15 == 0) goto LAB_00213b34;\n          pcVar30 = *(code **)(iVar8 + 0x18);\n          pfVar23 = pfVar23 + 1;\n          pcVar31 = *(code **)(pcVar32 + 0x195efc);\n          if ((int)pcVar30 <= (int)pfVar23) break;\n          iVar15 = *(int *)(iVar8 + 0x1c);\n        }" ({ "{") (expression_statement "uStack_248 = iVar15 - (int)pfVar3;" (assignment_expression "uStack_248 = iVar15 - (int)pfVar3" (identifier "uStack_248") (= "=") (binary_expression "iVar15 - (int)pfVar3" (identifier "iVar15") (- "-") (cast_expression "(int)pfVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar3")))) (; ";")) (expression_statement "pcVar30 = pcVar30 + -(int)pfVar23;" (assignment_expression "pcVar30 = pcVar30 + -(int)pfVar23" (identifier "pcVar30") (= "=") (binary_expression "pcVar30 + -(int)pfVar23" (identifier "pcVar30") (+ "+") (unary_expression "-(int)pfVar23" (- "-") (cast_expression "(int)pfVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar23"))))) (; ";")) (if_statement "if (4 < uStack_248) {\n            uStack_248 = 4;\n          }" (if "if") (parenthesized_expression "(4 < uStack_248)" (( "(") (binary_expression "4 < uStack_248" (number_literal "4") (< "<") (identifier "uStack_248")) () ")")) (compound_statement "{\n            uStack_248 = 4;\n          }" ({ "{") (expression_statement "uStack_248 = 4;" (assignment_expression "uStack_248 = 4" (identifier "uStack_248") (= "=") (number_literal "4")) (; ";")) (} "}"))) (if_statement "if (&DAT_00000004 < pcVar30) {\n            pcVar30 = (code *)&DAT_00000004;\n          }" (if "if") (parenthesized_expression "(&DAT_00000004 < pcVar30)" (( "(") (binary_expression "&DAT_00000004 < pcVar30" (pointer_expression "&DAT_00000004" (& "&") (identifier "DAT_00000004")) (< "<") (identifier "pcVar30")) () ")")) (compound_statement "{\n            pcVar30 = (code *)&DAT_00000004;\n          }" ({ "{") (expression_statement "pcVar30 = (code *)&DAT_00000004;" (assignment_expression "pcVar30 = (code *)&DAT_00000004" (identifier "pcVar30") (= "=") (cast_expression "(code *)&DAT_00000004" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000004" (& "&") (identifier "DAT_00000004")))) (; ";")) (} "}"))) (expression_statement "pfVar18 = pfVar23;" (assignment_expression "pfVar18 = pfVar23" (identifier "pfVar18") (= "=") (identifier "pfVar23")) (; ";")) (expression_statement "pfVar16 = pfVar3;" (assignment_expression "pfVar16 = pfVar3" (identifier "pfVar16") (= "=") (identifier "pfVar3")) (; ";")) (expression_statement "iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);" (assignment_expression "iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8)" (identifier "iVar15") (= "=") (call_expression "(**(code **)(pcVar32 + 0x1956d8))(iVar8)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1956d8))" (( "(") (pointer_expression "**(code **)(pcVar32 + 0x1956d8)" (* "*") (pointer_expression "*(code **)(pcVar32 + 0x1956d8)" (* "*") (cast_expression "(code **)(pcVar32 + 0x1956d8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x1956d8)" (( "(") (binary_expression "pcVar32 + 0x1956d8" (identifier "pcVar32") (+ "+") (number_literal "0x1956d8")) () ")"))))) () ")")) (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")")))) (; ";")) (if_statement "if (iVar15 == 0) goto LAB_00213b34;" (if "if") (parenthesized_expression "(iVar15 == 0)" (( "(") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00213b34;" (goto "goto") (statement_identifier "LAB_00213b34") (; ";"))) (expression_statement "uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);" (assignment_expression "uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8)" (identifier "uVar40") (= "=") (call_expression "(**(code **)(pcVar32 + 0x195820))(iVar8)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195820))" (( "(") (pointer_expression "**(code **)(pcVar32 + 0x195820)" (* "*") (pointer_expression "*(code **)(pcVar32 + 0x195820)" (* "*") (cast_expression "(code **)(pcVar32 + 0x195820)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x195820)" (( "(") (binary_expression "pcVar32 + 0x195820" (identifier "pcVar32") (+ "+") (number_literal "0x195820")) () ")"))))) () ")")) (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")")))) (; ";")) (expression_statement "uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);" (assignment_expression "uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8)" (identifier "uVar41") (= "=") (call_expression "(**(code **)(pcVar32 + 0x195820))(iVar8)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195820))" (( "(") (pointer_expression "**(code **)(pcVar32 + 0x195820)" (* "*") (pointer_expression "*(code **)(pcVar32 + 0x195820)" (* "*") (cast_expression "(code **)(pcVar32 + 0x195820)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x195820)" (( "(") (binary_expression "pcVar32 + 0x195820" (identifier "pcVar32") (+ "+") (number_literal "0x195820")) () ")"))))) () ")")) (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")")))) (; ";")) (expression_statement "uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);" (assignment_expression "uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8)" (identifier "uVar17") (= "=") (call_expression "(**(code **)(pcVar32 + 0x195eb0))(iVar8)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195eb0))" (( "(") (pointer_expression "**(code **)(pcVar32 + 0x195eb0)" (* "*") (pointer_expression "*(code **)(pcVar32 + 0x195eb0)" (* "*") (cast_expression "(code **)(pcVar32 + 0x195eb0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x195eb0)" (( "(") (binary_expression "pcVar32 + 0x195eb0" (identifier "pcVar32") (+ "+") (number_literal "0x195eb0")) () ")"))))) () ")")) (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")")))) (; ";")) (expression_statement "pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);" (assignment_expression "pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8)" (identifier "pfVar18") (= "=") (cast_expression "(float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar32 + 0x195eb0))(iVar8)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195eb0))" (( "(") (pointer_expression "**(code **)(pcVar32 + 0x195eb0)" (* "*") (pointer_expression "*(code **)(pcVar32 + 0x195eb0)" (* "*") (cast_expression "(code **)(pcVar32 + 0x195eb0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x195eb0)" (( "(") (binary_expression "pcVar32 + 0x195eb0" (identifier "pcVar32") (+ "+") (number_literal "0x195eb0")) () ")"))))) () ")")) (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")"))))) (; ";")) (expression_statement "uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);" (assignment_expression "uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8)" (identifier "uVar35") (= "=") (call_expression "(**(code **)(pcVar32 + 0x195820))(iVar8)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195820))" (( "(") (pointer_expression "**(code **)(pcVar32 + 0x195820)" (* "*") (pointer_expression "*(code **)(pcVar32 + 0x195820)" (* "*") (cast_expression "(code **)(pcVar32 + 0x195820)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x195820)" (( "(") (binary_expression "pcVar32 + 0x195820" (identifier "pcVar32") (+ "+") (number_literal "0x195820")) () ")"))))) () ")")) (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")")))) (; ";")) (expression_statement "pcVar30 = (code *)0x1;" (assignment_expression "pcVar30 = (code *)0x1" (identifier "pcVar30") (= "=") (cast_expression "(code *)0x1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pfVar16 = &fStack_22c;" (assignment_expression "pfVar16 = &fStack_22c" (identifier "pfVar16") (= "=") (pointer_expression "&fStack_22c" (& "&") (identifier "fStack_22c"))) (; ";")) (expression_statement "(*(code *)(iVar13 + 0x2408))(uVar17);" (call_expression "(*(code *)(iVar13 + 0x2408))(uVar17)" (parenthesized_expression "(*(code *)(iVar13 + 0x2408))" (( "(") (pointer_expression "*(code *)(iVar13 + 0x2408)" (* "*") (cast_expression "(code *)(iVar13 + 0x2408)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x2408)" (( "(") (binary_expression "iVar13 + 0x2408" (identifier "iVar13") (+ "+") (number_literal "0x2408")) () ")")))) () ")")) (argument_list "(uVar17)" (( "(") (identifier "uVar17") () ")"))) (; ";")) (expression_statement "iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);" (assignment_expression "iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar32 + 0x195efc))(iVar8)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195efc))" (( "(") (pointer_expression "**(code **)(pcVar32 + 0x195efc)" (* "*") (pointer_expression "*(code **)(pcVar32 + 0x195efc)" (* "*") (cast_expression "(code **)(pcVar32 + 0x195efc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x195efc)" (( "(") (binary_expression "pcVar32 + 0x195efc" (identifier "pcVar32") (+ "+") (number_literal "0x195efc")) () ")"))))) () ")")) (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")")))) (; ";")) (if_statement "if (iVar5 != 0) goto LAB_00213b34;" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00213b34;" (goto "goto") (statement_identifier "LAB_00213b34") (; ";"))) (expression_statement "pcVar30 = *(code **)(iVar8 + 0x18);" (assignment_expression "pcVar30 = *(code **)(iVar8 + 0x18)" (identifier "pcVar30") (= "=") (pointer_expression "*(code **)(iVar8 + 0x18)" (* "*") (cast_expression "(code **)(iVar8 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar8 + 0x18)" (( "(") (binary_expression "iVar8 + 0x18" (identifier "iVar8") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" (identifier "iVar14") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (expression_statement "pfVar16 = pfVar3;" (assignment_expression "pfVar16 = pfVar3" (identifier "pfVar16") (= "=") (identifier "pfVar3")) (; ";")) (do_statement "do {\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          } while (iVar14 != 4);" (do "do") (compound_statement "{\n            iVar6 = 0;\n            pfVar18 = pfVar23;\n            do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);\n            iVar14 = iVar14 + 1;\n            pfVar16 = (float *)((int)pfVar16 + 1);\n            iVar5 = iVar5 + 4;\n          }" ({ "{") (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (expression_statement "pfVar18 = pfVar23;" (assignment_expression "pfVar18 = pfVar23" (identifier "pfVar18") (= "=") (identifier "pfVar23")) (; ";")) (do_statement "do {\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            } while (iVar6 != 4);" (do "do") (compound_statement "{\n              if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }\n              iVar6 = iVar6 + 1;\n              pfVar18 = (float *)((int)pfVar23 + iVar6);\n            }" ({ "{") (if_statement "if (((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }" (if "if") (parenthesized_expression "(((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c)))" (( "(") (binary_expression "((int)pfVar18 < (int)pcVar30) &&\n                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))" (parenthesized_expression "((int)pfVar18 < (int)pcVar30)" (( "(") (binary_expression "(int)pfVar18 < (int)pcVar30" (cast_expression "(int)pfVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar18")) (< "<") (cast_expression "(int)pcVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar30"))) () ")")) (&& "&&") (parenthesized_expression "(iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))" (( "(") (comma_expression "iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c)" (assignment_expression "iVar12 = iVar6 + iVar14 * 4" (identifier "iVar12") (= "=") (binary_expression "iVar6 + iVar14 * 4" (identifier "iVar6") (+ "+") (binary_expression "iVar14 * 4" (identifier "iVar14") (* "*") (number_literal "4")))) (, ",") (binary_expression "(int)pfVar16 < *(int *)(iVar8 + 0x1c)" (cast_expression "(int)pfVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar16")) (< "<") (pointer_expression "*(int *)(iVar8 + 0x1c)" (* "*") (cast_expression "(int *)(iVar8 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x1c)" (( "(") (binary_expression "iVar8 + 0x1c" (identifier "iVar8") (+ "+") (number_literal "0x1c")) () ")")))))) () ")"))) () ")")) (compound_statement "{\n                iVar21 = *(int *)(iVar8 + 0x2d0);\n                iVar28 = *(int *)(iVar21 + 0x14);\n                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;\n                iVar22 = *(int *)(iVar21 + 0x20);\n                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);\n                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);\n                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);\n                if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }\n                if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }\n                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;\n              }" ({ "{") (expression_statement "iVar21 = *(int *)(iVar8 + 0x2d0);" (assignment_expression "iVar21 = *(int *)(iVar8 + 0x2d0)" (identifier "iVar21") (= "=") (pointer_expression "*(int *)(iVar8 + 0x2d0)" (* "*") (cast_expression "(int *)(iVar8 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x2d0)" (( "(") (binary_expression "iVar8 + 0x2d0" (identifier "iVar8") (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (expression_statement "iVar28 = *(int *)(iVar21 + 0x14);" (assignment_expression "iVar28 = *(int *)(iVar21 + 0x14)" (identifier "iVar28") (= "=") (pointer_expression "*(int *)(iVar21 + 0x14)" (* "*") (cast_expression "(int *)(iVar21 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar21 + 0x14)" (( "(") (binary_expression "iVar21 + 0x14" (identifier "iVar21") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;" (assignment_expression "uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3" (identifier "uVar36") (= "=") (binary_expression "uVar35 >> (iVar12 * 2 & 0x1fU) & 3" (binary_expression "uVar35 >> (iVar12 * 2 & 0x1fU)" (identifier "uVar35") (>> ">>") (parenthesized_expression "(iVar12 * 2 & 0x1fU)" (( "(") (binary_expression "iVar12 * 2 & 0x1fU" (binary_expression "iVar12 * 2" (identifier "iVar12") (* "*") (number_literal "2")) (& "&") (number_literal "0x1fU")) () ")"))) (& "&") (number_literal "3"))) (; ";")) (expression_statement "iVar22 = *(int *)(iVar21 + 0x20);" (assignment_expression "iVar22 = *(int *)(iVar21 + 0x20)" (identifier "iVar22") (= "=") (pointer_expression "*(int *)(iVar21 + 0x20)" (* "*") (cast_expression "(int *)(iVar21 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar21 + 0x20)" (( "(") (binary_expression "iVar21 + 0x20" (identifier "iVar21") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);" (assignment_expression "*(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =\n                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45)" (pointer_expression "*(float *)(iVar15 + *(int *)(iVar21 + 8) * 4)" (* "*") (cast_expression "(float *)(iVar15 + *(int *)(iVar21 + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + *(int *)(iVar21 + 8) * 4)" (( "(") (binary_expression "iVar15 + *(int *)(iVar21 + 8) * 4" (identifier "iVar15") (+ "+") (binary_expression "*(int *)(iVar21 + 8) * 4" (pointer_expression "*(int *)(iVar21 + 8)" (* "*") (cast_expression "(int *)(iVar21 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar21 + 8)" (( "(") (binary_expression "iVar21 + 8" (identifier "iVar21") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45)" (( "(") (binary_expression "(double)*(byte *)((int)&fStack_22c + uVar36) * dVar45" (cast_expression "(double)*(byte *)((int)&fStack_22c + uVar36)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(byte *)((int)&fStack_22c + uVar36)" (* "*") (cast_expression "(byte *)((int)&fStack_22c + uVar36)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&fStack_22c + uVar36)" (( "(") (binary_expression "(int)&fStack_22c + uVar36" (cast_expression "(int)&fStack_22c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&fStack_22c" (& "&") (identifier "fStack_22c"))) (+ "+") (identifier "uVar36")) () ")"))))) (* "*") (identifier "dVar45")) () ")")))) (; ";")) (expression_statement "*(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);" (assignment_expression "*(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45)" (pointer_expression "*(float *)(iVar15 + iVar28 * 4)" (* "*") (cast_expression "(float *)(iVar15 + iVar28 * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + iVar28 * 4)" (( "(") (binary_expression "iVar15 + iVar28 * 4" (identifier "iVar15") (+ "+") (binary_expression "iVar28 * 4" (identifier "iVar28") (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)((double)abStack_228[uVar36] * dVar45)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)abStack_228[uVar36] * dVar45)" (( "(") (binary_expression "(double)abStack_228[uVar36] * dVar45" (cast_expression "(double)abStack_228[uVar36]" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (subscript_expression "abStack_228[uVar36]" (identifier "abStack_228") ([ "[") (identifier "uVar36") (] "]"))) (* "*") (identifier "dVar45")) () ")")))) (; ";")) (expression_statement "*(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);" (assignment_expression "*(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45)" (pointer_expression "*(float *)(iVar15 + iVar22 * 4)" (* "*") (cast_expression "(float *)(iVar15 + iVar22 * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + iVar22 * 4)" (( "(") (binary_expression "iVar15 + iVar22 * 4" (identifier "iVar15") (+ "+") (binary_expression "iVar22 * 4" (identifier "iVar22") (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)((double)abStack_224[uVar36] * dVar45)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)abStack_224[uVar36] * dVar45)" (( "(") (binary_expression "(double)abStack_224[uVar36] * dVar45" (cast_expression "(double)abStack_224[uVar36]" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (subscript_expression "abStack_224[uVar36]" (identifier "abStack_224") ([ "[") (identifier "uVar36") (] "]"))) (* "*") (identifier "dVar45")) () ")")))) (; ";")) (if_statement "if (iVar14 < 2) {\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }\n                else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }" (if "if") (parenthesized_expression "(iVar14 < 2)" (( "(") (binary_expression "iVar14 < 2" (identifier "iVar14") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);\n                }" ({ "{") (expression_statement "uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);" (assignment_expression "uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU)" (identifier "uVar36") (= "=") (binary_expression "uVar40 >> (iVar12 * 4 & 0x1fU)" (identifier "uVar40") (>> ">>") (parenthesized_expression "(iVar12 * 4 & 0x1fU)" (( "(") (binary_expression "iVar12 * 4 & 0x1fU" (binary_expression "iVar12 * 4" (identifier "iVar12") (* "*") (number_literal "4")) (& "&") (number_literal "0x1fU")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }" (else "else") (compound_statement "{\n                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);\n                }" ({ "{") (expression_statement "uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);" (assignment_expression "uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU)" (identifier "uVar36") (= "=") (binary_expression "uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU)" (identifier "uVar41") (>> ">>") (parenthesized_expression "((iVar5 + iVar6) * 4 & 0x1fU)" (( "(") (binary_expression "(iVar5 + iVar6) * 4 & 0x1fU" (binary_expression "(iVar5 + iVar6) * 4" (parenthesized_expression "(iVar5 + iVar6)" (( "(") (binary_expression "iVar5 + iVar6" (identifier "iVar5") (+ "+") (identifier "iVar6")) () ")")) (* "*") (number_literal "4")) (& "&") (number_literal "0x1fU")) () ")")))) (; ";")) (} "}")))) (if_statement "if (*(int *)(iVar21 + 0x34) != 0) {\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }" (if "if") (parenthesized_expression "(*(int *)(iVar21 + 0x34) != 0)" (( "(") (binary_expression "*(int *)(iVar21 + 0x34) != 0" (pointer_expression "*(int *)(iVar21 + 0x34)" (* "*") (cast_expression "(int *)(iVar21 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar21 + 0x34)" (( "(") (binary_expression "iVar21 + 0x34" (identifier "iVar21") (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);\n                }" ({ "{") (expression_statement "*(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);" (assignment_expression "*(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =\n                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44)" (pointer_expression "*(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4)" (* "*") (cast_expression "(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + *(int *)(iVar21 + 0x38) * 4)" (( "(") (binary_expression "iVar15 + *(int *)(iVar21 + 0x38) * 4" (identifier "iVar15") (+ "+") (binary_expression "*(int *)(iVar21 + 0x38) * 4" (pointer_expression "*(int *)(iVar21 + 0x38)" (* "*") (cast_expression "(int *)(iVar21 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar21 + 0x38)" (( "(") (binary_expression "iVar21 + 0x38" (identifier "iVar21") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44)" (( "(") (binary_expression "(double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44" (cast_expression "(double)((uVar36 & 0xf) * 0x11 & 0xff)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((uVar36 & 0xf) * 0x11 & 0xff)" (( "(") (binary_expression "(uVar36 & 0xf) * 0x11 & 0xff" (binary_expression "(uVar36 & 0xf) * 0x11" (parenthesized_expression "(uVar36 & 0xf)" (( "(") (binary_expression "uVar36 & 0xf" (identifier "uVar36") (& "&") (number_literal "0xf")) () ")")) (* "*") (number_literal "0x11")) (& "&") (number_literal "0xff")) () ")"))) (* "*") (identifier "dVar44")) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;" (assignment_expression "iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4" (identifier "iVar15") (= "=") (binary_expression "iVar15 + *(int *)(iVar8 + 0x2c0) * 4" (identifier "iVar15") (+ "+") (binary_expression "*(int *)(iVar8 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar8 + 0x2c0)" (* "*") (cast_expression "(int *)(iVar8 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x2c0)" (( "(") (binary_expression "iVar8 + 0x2c0" (identifier "iVar8") (+ "+") (number_literal "0x2c0")) () ")")))) (* "*") (number_literal "4")))) (; ";")) (} "}"))) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar18 = (float *)((int)pfVar23 + iVar6);" (assignment_expression "pfVar18 = (float *)((int)pfVar23 + iVar6)" (identifier "pfVar18") (= "=") (cast_expression "(float *)((int)pfVar23 + iVar6)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar23 + iVar6)" (( "(") (binary_expression "(int)pfVar23 + iVar6" (cast_expression "(int)pfVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar23")) (+ "+") (identifier "iVar6")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar6 != 4)" (( "(") (binary_expression "iVar6 != 4" (identifier "iVar6") (!= "!=") (number_literal "4")) () ")")) (; ";")) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + 1" (identifier "iVar14") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar16 = (float *)((int)pfVar16 + 1);" (assignment_expression "pfVar16 = (float *)((int)pfVar16 + 1)" (identifier "pfVar16") (= "=") (cast_expression "(float *)((int)pfVar16 + 1)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar16 + 1)" (( "(") (binary_expression "(int)pfVar16 + 1" (cast_expression "(int)pfVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar16")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar5 = iVar5 + 4;" (assignment_expression "iVar5 = iVar5 + 4" (identifier "iVar5") (= "=") (binary_expression "iVar5 + 4" (identifier "iVar5") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar14 != 4)" (( "(") (binary_expression "iVar14 != 4" (identifier "iVar14") (!= "!=") (number_literal "4")) () ")")) (; ";")) (expression_statement "pfVar18 = pfVar19;" (assignment_expression "pfVar18 = pfVar19" (identifier "pfVar18") (= "=") (identifier "pfVar19")) (; ";")) (expression_statement "iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);" (assignment_expression "iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8)" (identifier "iVar15") (= "=") (call_expression "(**(code **)(pcVar32 + 0x195998))(iVar8)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195998))" (( "(") (pointer_expression "**(code **)(pcVar32 + 0x195998)" (* "*") (pointer_expression "*(code **)(pcVar32 + 0x195998)" (* "*") (cast_expression "(code **)(pcVar32 + 0x195998)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x195998)" (( "(") (binary_expression "pcVar32 + 0x195998" (identifier "pcVar32") (+ "+") (number_literal "0x195998")) () ")"))))) () ")")) (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")")))) (; ";")) (if_statement "if (iVar15 == 0) goto LAB_00213b34;" (if "if") (parenthesized_expression "(iVar15 == 0)" (( "(") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00213b34;" (goto "goto") (statement_identifier "LAB_00213b34") (; ";"))) (expression_statement "pcVar30 = *(code **)(iVar8 + 0x18);" (assignment_expression "pcVar30 = *(code **)(iVar8 + 0x18)" (identifier "pcVar30") (= "=") (pointer_expression "*(code **)(iVar8 + 0x18)" (* "*") (cast_expression "(code **)(iVar8 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar8 + 0x18)" (( "(") (binary_expression "iVar8 + 0x18" (identifier "iVar8") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "pfVar23 = pfVar23 + 1;" (assignment_expression "pfVar23 = pfVar23 + 1" (identifier "pfVar23") (= "=") (binary_expression "pfVar23 + 1" (identifier "pfVar23") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar31 = *(code **)(pcVar32 + 0x195efc);" (assignment_expression "pcVar31 = *(code **)(pcVar32 + 0x195efc)" (identifier "pcVar31") (= "=") (pointer_expression "*(code **)(pcVar32 + 0x195efc)" (* "*") (cast_expression "(code **)(pcVar32 + 0x195efc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x195efc)" (( "(") (binary_expression "pcVar32 + 0x195efc" (identifier "pcVar32") (+ "+") (number_literal "0x195efc")) () ")"))))) (; ";")) (if_statement "if ((int)pcVar30 <= (int)pfVar23) break;" (if "if") (parenthesized_expression "((int)pcVar30 <= (int)pfVar23)" (( "(") (binary_expression "(int)pcVar30 <= (int)pfVar23" (cast_expression "(int)pcVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar30")) (<= "<=") (cast_expression "(int)pfVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar23"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar15 = *(int *)(iVar8 + 0x1c);" (assignment_expression "iVar15 = *(int *)(iVar8 + 0x1c)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(iVar8 + 0x1c)" (* "*") (cast_expression "(int *)(iVar8 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x1c)" (( "(") (binary_expression "iVar8 + 0x1c" (identifier "iVar8") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar15 = (*pcVar31)(iVar8);" (assignment_expression "iVar15 = (*pcVar31)(iVar8)" (identifier "iVar15") (= "=") (call_expression "(*pcVar31)(iVar8)" (parenthesized_expression "(*pcVar31)" (( "(") (pointer_expression "*pcVar31" (* "*") (identifier "pcVar31")) () ")")) (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")")))) (; ";")) (if_statement "if (iVar15 != 0) {\nLAB_00213b34:\n        fVar34 = 0.0;\n        goto LAB_00213b38;\n      }" (if "if") (parenthesized_expression "(iVar15 != 0)" (( "(") (binary_expression "iVar15 != 0" (identifier "iVar15") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00213b34:\n        fVar34 = 0.0;\n        goto LAB_00213b38;\n      }" ({ "{") (labeled_statement "LAB_00213b34:\n        fVar34 = 0.0;" (statement_identifier "LAB_00213b34") (: ":") (expression_statement "fVar34 = 0.0;" (assignment_expression "fVar34 = 0.0" (identifier "fVar34") (= "=") (number_literal "0.0")) (; ";"))) (goto_statement "goto LAB_00213b38;" (goto "goto") (statement_identifier "LAB_00213b38") (; ";")) (} "}"))) (expression_statement "iVar15 = *(int *)(iVar8 + 0x1c);" (assignment_expression "iVar15 = *(int *)(iVar8 + 0x1c)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(iVar8 + 0x1c)" (* "*") (cast_expression "(int *)(iVar8 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x1c)" (( "(") (binary_expression "iVar8 + 0x1c" (identifier "iVar8") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "pfVar3 = pfVar3 + 1;" (assignment_expression "pfVar3 = pfVar3 + 1" (identifier "pfVar3") (= "=") (binary_expression "pfVar3 + 1" (identifier "pfVar3") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)pfVar3 < iVar15)" (( "(") (binary_expression "(int)pfVar3 < iVar15" (cast_expression "(int)pfVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar3")) (< "<") (identifier "iVar15")) () ")")) (; ";")) (} "}"))) (expression_statement "fVar34 = 1.4013e-45;" (assignment_expression "fVar34 = 1.4013e-45" (identifier "fVar34") (= "=") (number_literal "1.4013e-45")) (; ";")) (labeled_statement "LAB_00213b38:\n  if (iStack_21c == *piVar4) {\n    return fVar34;\n  }" (statement_identifier "LAB_00213b38") (: ":") (if_statement "if (iStack_21c == *piVar4) {\n    return fVar34;\n  }" (if "if") (parenthesized_expression "(iStack_21c == *piVar4)" (( "(") (binary_expression "iStack_21c == *piVar4" (identifier "iStack_21c") (== "==") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) () ")")) (compound_statement "{\n    return fVar34;\n  }" ({ "{") (return_statement "return fVar34;" (return "return") (identifier "fVar34") (; ";")) (} "}")))) (expression_statement "pcVar32 = *(code **)(pcVar32 + 0x195818);" (assignment_expression "pcVar32 = *(code **)(pcVar32 + 0x195818)" (identifier "pcVar32") (= "=") (pointer_expression "*(code **)(pcVar32 + 0x195818)" (* "*") (cast_expression "(code **)(pcVar32 + 0x195818)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x195818)" (( "(") (binary_expression "pcVar32 + 0x195818" (identifier "pcVar32") (+ "+") (number_literal "0x195818")) () ")"))))) (; ";")) (expression_statement "iVar8 = iStack_21c;" (assignment_expression "iVar8 = iStack_21c" (identifier "iVar8") (= "=") (identifier "iStack_21c")) (; ";")) (expression_statement "(*pcVar32)();" (call_expression "(*pcVar32)()" (parenthesized_expression "(*pcVar32)" (( "(") (pointer_expression "*pcVar32" (* "*") (identifier "pcVar32")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar15 = (**(code **)(pcVar32 + 0x195b8c))(pfVar18);" (assignment_expression "iVar15 = (**(code **)(pcVar32 + 0x195b8c))(pfVar18)" (identifier "iVar15") (= "=") (call_expression "(**(code **)(pcVar32 + 0x195b8c))(pfVar18)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195b8c))" (( "(") (pointer_expression "**(code **)(pcVar32 + 0x195b8c)" (* "*") (pointer_expression "*(code **)(pcVar32 + 0x195b8c)" (* "*") (cast_expression "(code **)(pcVar32 + 0x195b8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x195b8c)" (( "(") (binary_expression "pcVar32 + 0x195b8c" (identifier "pcVar32") (+ "+") (number_literal "0x195b8c")) () ")"))))) () ")")) (argument_list "(pfVar18)" (( "(") (identifier "pfVar18") () ")")))) (; ";")) (if_statement "if (iVar15 != 0) {\n    puVar7 = (undefined4 *)(**(code **)(pcVar32 + 0x195df4))();\n    uVar17 = (**(code **)(pcVar32 + 0x195830))(*puVar7);\n    (**(code **)(pcVar32 + 0x195364))\n              (uStack_248,*(int *)(pcVar32 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar32 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar32 + 0x194d30) + -0x17c,*(int *)(pcVar32 + 0x194d24) + 0xe78,\n               pfVar18 + 0xd0,uVar17);\n    (**(code **)(pcVar32 + 0x1954b8))(uVar17);\n    return 0.0;\n  }" (if "if") (parenthesized_expression "(iVar15 != 0)" (( "(") (binary_expression "iVar15 != 0" (identifier "iVar15") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    puVar7 = (undefined4 *)(**(code **)(pcVar32 + 0x195df4))();\n    uVar17 = (**(code **)(pcVar32 + 0x195830))(*puVar7);\n    (**(code **)(pcVar32 + 0x195364))\n              (uStack_248,*(int *)(pcVar32 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar32 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar32 + 0x194d30) + -0x17c,*(int *)(pcVar32 + 0x194d24) + 0xe78,\n               pfVar18 + 0xd0,uVar17);\n    (**(code **)(pcVar32 + 0x1954b8))(uVar17);\n    return 0.0;\n  }" ({ "{") (expression_statement "puVar7 = (undefined4 *)(**(code **)(pcVar32 + 0x195df4))();" (assignment_expression "puVar7 = (undefined4 *)(**(code **)(pcVar32 + 0x195df4))()" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)(**(code **)(pcVar32 + 0x195df4))()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar32 + 0x195df4))()" (parenthesized_expression "(**(code **)(pcVar32 + 0x195df4))" (( "(") (pointer_expression "**(code **)(pcVar32 + 0x195df4)" (* "*") (pointer_expression "*(code **)(pcVar32 + 0x195df4)" (* "*") (cast_expression "(code **)(pcVar32 + 0x195df4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x195df4)" (( "(") (binary_expression "pcVar32 + 0x195df4" (identifier "pcVar32") (+ "+") (number_literal "0x195df4")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar17 = (**(code **)(pcVar32 + 0x195830))(*puVar7);" (assignment_expression "uVar17 = (**(code **)(pcVar32 + 0x195830))(*puVar7)" (identifier "uVar17") (= "=") (call_expression "(**(code **)(pcVar32 + 0x195830))(*puVar7)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195830))" (( "(") (pointer_expression "**(code **)(pcVar32 + 0x195830)" (* "*") (pointer_expression "*(code **)(pcVar32 + 0x195830)" (* "*") (cast_expression "(code **)(pcVar32 + 0x195830)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x195830)" (( "(") (binary_expression "pcVar32 + 0x195830" (identifier "pcVar32") (+ "+") (number_literal "0x195830")) () ")"))))) () ")")) (argument_list "(*puVar7)" (( "(") (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar32 + 0x195364))\n              (uStack_248,*(int *)(pcVar32 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar32 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar32 + 0x194d30) + -0x17c,*(int *)(pcVar32 + 0x194d24) + 0xe78,\n               pfVar18 + 0xd0,uVar17);" (call_expression "(**(code **)(pcVar32 + 0x195364))\n              (uStack_248,*(int *)(pcVar32 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar32 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar32 + 0x194d30) + -0x17c,*(int *)(pcVar32 + 0x194d24) + 0xe78,\n               pfVar18 + 0xd0,uVar17)" (parenthesized_expression "(**(code **)(pcVar32 + 0x195364))" (( "(") (pointer_expression "**(code **)(pcVar32 + 0x195364)" (* "*") (pointer_expression "*(code **)(pcVar32 + 0x195364)" (* "*") (cast_expression "(code **)(pcVar32 + 0x195364)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x195364)" (( "(") (binary_expression "pcVar32 + 0x195364" (identifier "pcVar32") (+ "+") (number_literal "0x195364")) () ")"))))) () ")")) (argument_list "(uStack_248,*(int *)(pcVar32 + 0x194d94) + -0x2c20,\n               *(int *)(pcVar32 + 0x194d94) + -0x2ad0,0x41e,0x145,\n               *(int *)(pcVar32 + 0x194d30) + -0x17c,*(int *)(pcVar32 + 0x194d24) + 0xe78,\n               pfVar18 + 0xd0,uVar17)" (( "(") (identifier "uStack_248") (, ",") (binary_expression "*(int *)(pcVar32 + 0x194d94) + -0x2c20" (pointer_expression "*(int *)(pcVar32 + 0x194d94)" (* "*") (cast_expression "(int *)(pcVar32 + 0x194d94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar32 + 0x194d94)" (( "(") (binary_expression "pcVar32 + 0x194d94" (identifier "pcVar32") (+ "+") (number_literal "0x194d94")) () ")")))) (+ "+") (number_literal "-0x2c20")) (, ",") (binary_expression "*(int *)(pcVar32 + 0x194d94) + -0x2ad0" (pointer_expression "*(int *)(pcVar32 + 0x194d94)" (* "*") (cast_expression "(int *)(pcVar32 + 0x194d94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar32 + 0x194d94)" (( "(") (binary_expression "pcVar32 + 0x194d94" (identifier "pcVar32") (+ "+") (number_literal "0x194d94")) () ")")))) (+ "+") (number_literal "-0x2ad0")) (, ",") (number_literal "0x41e") (, ",") (number_literal "0x145") (, ",") (binary_expression "*(int *)(pcVar32 + 0x194d30) + -0x17c" (pointer_expression "*(int *)(pcVar32 + 0x194d30)" (* "*") (cast_expression "(int *)(pcVar32 + 0x194d30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar32 + 0x194d30)" (( "(") (binary_expression "pcVar32 + 0x194d30" (identifier "pcVar32") (+ "+") (number_literal "0x194d30")) () ")")))) (+ "+") (number_literal "-0x17c")) (, ",") (binary_expression "*(int *)(pcVar32 + 0x194d24) + 0xe78" (pointer_expression "*(int *)(pcVar32 + 0x194d24)" (* "*") (cast_expression "(int *)(pcVar32 + 0x194d24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar32 + 0x194d24)" (( "(") (binary_expression "pcVar32 + 0x194d24" (identifier "pcVar32") (+ "+") (number_literal "0x194d24")) () ")")))) (+ "+") (number_literal "0xe78")) (, ",") (binary_expression "pfVar18 + 0xd0" (identifier "pfVar18") (+ "+") (number_literal "0xd0")) (, ",") (identifier "uVar17") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar32 + 0x1954b8))(uVar17);" (call_expression "(**(code **)(pcVar32 + 0x1954b8))(uVar17)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1954b8))" (( "(") (pointer_expression "**(code **)(pcVar32 + 0x1954b8)" (* "*") (pointer_expression "*(code **)(pcVar32 + 0x1954b8)" (* "*") (cast_expression "(code **)(pcVar32 + 0x1954b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x1954b8)" (( "(") (binary_expression "pcVar32 + 0x1954b8" (identifier "pcVar32") (+ "+") (number_literal "0x1954b8")) () ")"))))) () ")")) (argument_list "(uVar17)" (( "(") (identifier "uVar17") () ")"))) (; ";")) (return_statement "return 0.0;" (return "return") (number_literal "0.0") (; ";")) (} "}"))) (if_statement "if (-1 < (int)pfVar16[6] << 9) {\n    return 1.4013e-45;\n  }" (if "if") (parenthesized_expression "(-1 < (int)pfVar16[6] << 9)" (( "(") (binary_expression "-1 < (int)pfVar16[6] << 9" (number_literal "-1") (< "<") (binary_expression "(int)pfVar16[6] << 9" (cast_expression "(int)pfVar16[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar16[6]" (identifier "pfVar16") ([ "[") (number_literal "6") (] "]"))) (<< "<<") (number_literal "9"))) () ")")) (compound_statement "{\n    return 1.4013e-45;\n  }" ({ "{") (return_statement "return 1.4013e-45;" (return "return") (number_literal "1.4013e-45") (; ";")) (} "}"))) (if_statement "if ((((uint)pfVar16[6] & 0x1000) == 0) && (((uint)pfVar16[7] & 0x200) == 0)) {\n    return 1.4013e-45;\n  }" (if "if") (parenthesized_expression "((((uint)pfVar16[6] & 0x1000) == 0) && (((uint)pfVar16[7] & 0x200) == 0))" (( "(") (binary_expression "(((uint)pfVar16[6] & 0x1000) == 0) && (((uint)pfVar16[7] & 0x200) == 0)" (parenthesized_expression "(((uint)pfVar16[6] & 0x1000) == 0)" (( "(") (binary_expression "((uint)pfVar16[6] & 0x1000) == 0" (parenthesized_expression "((uint)pfVar16[6] & 0x1000)" (( "(") (binary_expression "(uint)pfVar16[6] & 0x1000" (cast_expression "(uint)pfVar16[6]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pfVar16[6]" (identifier "pfVar16") ([ "[") (number_literal "6") (] "]"))) (& "&") (number_literal "0x1000")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(((uint)pfVar16[7] & 0x200) == 0)" (( "(") (binary_expression "((uint)pfVar16[7] & 0x200) == 0" (parenthesized_expression "((uint)pfVar16[7] & 0x200)" (( "(") (binary_expression "(uint)pfVar16[7] & 0x200" (cast_expression "(uint)pfVar16[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pfVar16[7]" (identifier "pfVar16") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "0x200")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    return 1.4013e-45;\n  }" ({ "{") (return_statement "return 1.4013e-45;" (return "return") (number_literal "1.4013e-45") (; ";")) (} "}"))) (if_statement "if ((uint)pfVar16[2] < 2) {\n    fVar34 = pfVar16[1];\n    uVar40 = 1;\n  }\n  else {\n    fVar34 = pfVar16[1];\n    uVar40 = (uint)pfVar16[2] >> 1;\n  }" (if "if") (parenthesized_expression "((uint)pfVar16[2] < 2)" (( "(") (binary_expression "(uint)pfVar16[2] < 2" (cast_expression "(uint)pfVar16[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pfVar16[2]" (identifier "pfVar16") ([ "[") (number_literal "2") (] "]"))) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n    fVar34 = pfVar16[1];\n    uVar40 = 1;\n  }" ({ "{") (expression_statement "fVar34 = pfVar16[1];" (assignment_expression "fVar34 = pfVar16[1]" (identifier "fVar34") (= "=") (subscript_expression "pfVar16[1]" (identifier "pfVar16") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar40 = 1;" (assignment_expression "uVar40 = 1" (identifier "uVar40") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n    fVar34 = pfVar16[1];\n    uVar40 = (uint)pfVar16[2] >> 1;\n  }" (else "else") (compound_statement "{\n    fVar34 = pfVar16[1];\n    uVar40 = (uint)pfVar16[2] >> 1;\n  }" ({ "{") (expression_statement "fVar34 = pfVar16[1];" (assignment_expression "fVar34 = pfVar16[1]" (identifier "fVar34") (= "=") (subscript_expression "pfVar16[1]" (identifier "pfVar16") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar40 = (uint)pfVar16[2] >> 1;" (assignment_expression "uVar40 = (uint)pfVar16[2] >> 1" (identifier "uVar40") (= "=") (binary_expression "(uint)pfVar16[2] >> 1" (cast_expression "(uint)pfVar16[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pfVar16[2]" (identifier "pfVar16") ([ "[") (number_literal "2") (] "]"))) (>> ">>") (number_literal "1"))) (; ";")) (} "}")))) (if_statement "if ((uint)fVar34 < 2) {\n    uVar41 = 1;\n  }\n  else {\n    uVar41 = (uint)fVar34 >> 1;\n  }" (if "if") (parenthesized_expression "((uint)fVar34 < 2)" (( "(") (binary_expression "(uint)fVar34 < 2" (cast_expression "(uint)fVar34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "fVar34")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n    uVar41 = 1;\n  }" ({ "{") (expression_statement "uVar41 = 1;" (assignment_expression "uVar41 = 1" (identifier "uVar41") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n    uVar41 = (uint)fVar34 >> 1;\n  }" (else "else") (compound_statement "{\n    uVar41 = (uint)fVar34 >> 1;\n  }" ({ "{") (expression_statement "uVar41 = (uint)fVar34 >> 1;" (assignment_expression "uVar41 = (uint)fVar34 >> 1" (identifier "uVar41") (= "=") (binary_expression "(uint)fVar34 >> 1" (cast_expression "(uint)fVar34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "fVar34")) (>> ">>") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "iVar15 = 1;" (assignment_expression "iVar15 = 1" (identifier "iVar15") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((int)pfVar16[5] < 2) {\n    return 1.4013e-45;\n  }" (if "if") (parenthesized_expression "((int)pfVar16[5] < 2)" (( "(") (binary_expression "(int)pfVar16[5] < 2" (cast_expression "(int)pfVar16[5]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar16[5]" (identifier "pfVar16") ([ "[") (number_literal "5") (] "]"))) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n    return 1.4013e-45;\n  }" ({ "{") (return_statement "return 1.4013e-45;" (return "return") (number_literal "1.4013e-45") (; ";")) (} "}"))) (do_statement "do {\n    (**(code **)(pcVar32 + 0x1953d4))(iVar8,pfVar18,uStack_248);\n    iVar15 = iVar15 + 1;\n    pcVar31 = *(code **)(pcVar32 + 0x19584c);\n    if (pfVar18[0xcda] == 0.0) {\n      return 0.0;\n    }\n    *(float *)((int)pfVar18[0xcda] + 700) = pfVar18[0xaf];\n    pfVar18 = (float *)(*pcVar31)(pfVar18);\n    iVar13 = (**(code **)(pcVar32 + 0x1958f0))(pfVar18,uVar40,uVar41,uStack_248);\n    if (iVar13 == 0) {\n      return 0.0;\n    }\n    fVar34 = (float)(*pcVar30)(pfVar18,pfVar16,uStack_248);\n    if (fVar34 == 0.0) {\n      return 0.0;\n    }\n    if (uVar40 == 1) {\n      if (uVar41 == 1) {\n        return fVar34;\n      }\nLAB_00213d14:\n      uVar41 = uVar41 >> 1;\n    }\n    else {\n      uVar40 = uVar40 >> 1;\n      if (uVar41 != 1) goto LAB_00213d14;\n    }\n    if ((int)pfVar16[5] <= iVar15) {\n      return fVar34;\n    }\n  } while( true );" (do "do") (compound_statement "{\n    (**(code **)(pcVar32 + 0x1953d4))(iVar8,pfVar18,uStack_248);\n    iVar15 = iVar15 + 1;\n    pcVar31 = *(code **)(pcVar32 + 0x19584c);\n    if (pfVar18[0xcda] == 0.0) {\n      return 0.0;\n    }\n    *(float *)((int)pfVar18[0xcda] + 700) = pfVar18[0xaf];\n    pfVar18 = (float *)(*pcVar31)(pfVar18);\n    iVar13 = (**(code **)(pcVar32 + 0x1958f0))(pfVar18,uVar40,uVar41,uStack_248);\n    if (iVar13 == 0) {\n      return 0.0;\n    }\n    fVar34 = (float)(*pcVar30)(pfVar18,pfVar16,uStack_248);\n    if (fVar34 == 0.0) {\n      return 0.0;\n    }\n    if (uVar40 == 1) {\n      if (uVar41 == 1) {\n        return fVar34;\n      }\nLAB_00213d14:\n      uVar41 = uVar41 >> 1;\n    }\n    else {\n      uVar40 = uVar40 >> 1;\n      if (uVar41 != 1) goto LAB_00213d14;\n    }\n    if ((int)pfVar16[5] <= iVar15) {\n      return fVar34;\n    }\n  }" ({ "{") (expression_statement "(**(code **)(pcVar32 + 0x1953d4))(iVar8,pfVar18,uStack_248);" (call_expression "(**(code **)(pcVar32 + 0x1953d4))(iVar8,pfVar18,uStack_248)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1953d4))" (( "(") (pointer_expression "**(code **)(pcVar32 + 0x1953d4)" (* "*") (pointer_expression "*(code **)(pcVar32 + 0x1953d4)" (* "*") (cast_expression "(code **)(pcVar32 + 0x1953d4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x1953d4)" (( "(") (binary_expression "pcVar32 + 0x1953d4" (identifier "pcVar32") (+ "+") (number_literal "0x1953d4")) () ")"))))) () ")")) (argument_list "(iVar8,pfVar18,uStack_248)" (( "(") (identifier "iVar8") (, ",") (identifier "pfVar18") (, ",") (identifier "uStack_248") () ")"))) (; ";")) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" (identifier "iVar15") (= "=") (binary_expression "iVar15 + 1" (identifier "iVar15") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar31 = *(code **)(pcVar32 + 0x19584c);" (assignment_expression "pcVar31 = *(code **)(pcVar32 + 0x19584c)" (identifier "pcVar31") (= "=") (pointer_expression "*(code **)(pcVar32 + 0x19584c)" (* "*") (cast_expression "(code **)(pcVar32 + 0x19584c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x19584c)" (( "(") (binary_expression "pcVar32 + 0x19584c" (identifier "pcVar32") (+ "+") (number_literal "0x19584c")) () ")"))))) (; ";")) (if_statement "if (pfVar18[0xcda] == 0.0) {\n      return 0.0;\n    }" (if "if") (parenthesized_expression "(pfVar18[0xcda] == 0.0)" (( "(") (binary_expression "pfVar18[0xcda] == 0.0" (subscript_expression "pfVar18[0xcda]" (identifier "pfVar18") ([ "[") (number_literal "0xcda") (] "]")) (== "==") (number_literal "0.0")) () ")")) (compound_statement "{\n      return 0.0;\n    }" ({ "{") (return_statement "return 0.0;" (return "return") (number_literal "0.0") (; ";")) (} "}"))) (expression_statement "*(float *)((int)pfVar18[0xcda] + 700) = pfVar18[0xaf];" (assignment_expression "*(float *)((int)pfVar18[0xcda] + 700) = pfVar18[0xaf]" (pointer_expression "*(float *)((int)pfVar18[0xcda] + 700)" (* "*") (cast_expression "(float *)((int)pfVar18[0xcda] + 700)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar18[0xcda] + 700)" (( "(") (binary_expression "(int)pfVar18[0xcda] + 700" (cast_expression "(int)pfVar18[0xcda]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar18[0xcda]" (identifier "pfVar18") ([ "[") (number_literal "0xcda") (] "]"))) (+ "+") (number_literal "700")) () ")")))) (= "=") (subscript_expression "pfVar18[0xaf]" (identifier "pfVar18") ([ "[") (number_literal "0xaf") (] "]"))) (; ";")) (expression_statement "pfVar18 = (float *)(*pcVar31)(pfVar18);" (assignment_expression "pfVar18 = (float *)(*pcVar31)(pfVar18)" (identifier "pfVar18") (= "=") (cast_expression "(float *)(*pcVar31)(pfVar18)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar31)(pfVar18)" (parenthesized_expression "(*pcVar31)" (( "(") (pointer_expression "*pcVar31" (* "*") (identifier "pcVar31")) () ")")) (argument_list "(pfVar18)" (( "(") (identifier "pfVar18") () ")"))))) (; ";")) (expression_statement "iVar13 = (**(code **)(pcVar32 + 0x1958f0))(pfVar18,uVar40,uVar41,uStack_248);" (assignment_expression "iVar13 = (**(code **)(pcVar32 + 0x1958f0))(pfVar18,uVar40,uVar41,uStack_248)" (identifier "iVar13") (= "=") (call_expression "(**(code **)(pcVar32 + 0x1958f0))(pfVar18,uVar40,uVar41,uStack_248)" (parenthesized_expression "(**(code **)(pcVar32 + 0x1958f0))" (( "(") (pointer_expression "**(code **)(pcVar32 + 0x1958f0)" (* "*") (pointer_expression "*(code **)(pcVar32 + 0x1958f0)" (* "*") (cast_expression "(code **)(pcVar32 + 0x1958f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar32 + 0x1958f0)" (( "(") (binary_expression "pcVar32 + 0x1958f0" (identifier "pcVar32") (+ "+") (number_literal "0x1958f0")) () ")"))))) () ")")) (argument_list "(pfVar18,uVar40,uVar41,uStack_248)" (( "(") (identifier "pfVar18") (, ",") (identifier "uVar40") (, ",") (identifier "uVar41") (, ",") (identifier "uStack_248") () ")")))) (; ";")) (if_statement "if (iVar13 == 0) {\n      return 0.0;\n    }" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return 0.0;\n    }" ({ "{") (return_statement "return 0.0;" (return "return") (number_literal "0.0") (; ";")) (} "}"))) (expression_statement "fVar34 = (float)(*pcVar30)(pfVar18,pfVar16,uStack_248);" (assignment_expression "fVar34 = (float)(*pcVar30)(pfVar18,pfVar16,uStack_248)" (identifier "fVar34") (= "=") (cast_expression "(float)(*pcVar30)(pfVar18,pfVar16,uStack_248)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (call_expression "(*pcVar30)(pfVar18,pfVar16,uStack_248)" (parenthesized_expression "(*pcVar30)" (( "(") (pointer_expression "*pcVar30" (* "*") (identifier "pcVar30")) () ")")) (argument_list "(pfVar18,pfVar16,uStack_248)" (( "(") (identifier "pfVar18") (, ",") (identifier "pfVar16") (, ",") (identifier "uStack_248") () ")"))))) (; ";")) (if_statement "if (fVar34 == 0.0) {\n      return 0.0;\n    }" (if "if") (parenthesized_expression "(fVar34 == 0.0)" (( "(") (binary_expression "fVar34 == 0.0" (identifier "fVar34") (== "==") (number_literal "0.0")) () ")")) (compound_statement "{\n      return 0.0;\n    }" ({ "{") (return_statement "return 0.0;" (return "return") (number_literal "0.0") (; ";")) (} "}"))) (if_statement "if (uVar40 == 1) {\n      if (uVar41 == 1) {\n        return fVar34;\n      }\nLAB_00213d14:\n      uVar41 = uVar41 >> 1;\n    }\n    else {\n      uVar40 = uVar40 >> 1;\n      if (uVar41 != 1) goto LAB_00213d14;\n    }" (if "if") (parenthesized_expression "(uVar40 == 1)" (( "(") (binary_expression "uVar40 == 1" (identifier "uVar40") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      if (uVar41 == 1) {\n        return fVar34;\n      }\nLAB_00213d14:\n      uVar41 = uVar41 >> 1;\n    }" ({ "{") (if_statement "if (uVar41 == 1) {\n        return fVar34;\n      }" (if "if") (parenthesized_expression "(uVar41 == 1)" (( "(") (binary_expression "uVar41 == 1" (identifier "uVar41") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        return fVar34;\n      }" ({ "{") (return_statement "return fVar34;" (return "return") (identifier "fVar34") (; ";")) (} "}"))) (labeled_statement "LAB_00213d14:\n      uVar41 = uVar41 >> 1;" (statement_identifier "LAB_00213d14") (: ":") (expression_statement "uVar41 = uVar41 >> 1;" (assignment_expression "uVar41 = uVar41 >> 1" (identifier "uVar41") (= "=") (binary_expression "uVar41 >> 1" (identifier "uVar41") (>> ">>") (number_literal "1"))) (; ";"))) (} "}")) (else_clause "else {\n      uVar40 = uVar40 >> 1;\n      if (uVar41 != 1) goto LAB_00213d14;\n    }" (else "else") (compound_statement "{\n      uVar40 = uVar40 >> 1;\n      if (uVar41 != 1) goto LAB_00213d14;\n    }" ({ "{") (expression_statement "uVar40 = uVar40 >> 1;" (assignment_expression "uVar40 = uVar40 >> 1" (identifier "uVar40") (= "=") (binary_expression "uVar40 >> 1" (identifier "uVar40") (>> ">>") (number_literal "1"))) (; ";")) (if_statement "if (uVar41 != 1) goto LAB_00213d14;" (if "if") (parenthesized_expression "(uVar41 != 1)" (( "(") (binary_expression "uVar41 != 1" (identifier "uVar41") (!= "!=") (number_literal "1")) () ")")) (goto_statement "goto LAB_00213d14;" (goto "goto") (statement_identifier "LAB_00213d14") (; ";"))) (} "}")))) (if_statement "if ((int)pfVar16[5] <= iVar15) {\n      return fVar34;\n    }" (if "if") (parenthesized_expression "((int)pfVar16[5] <= iVar15)" (( "(") (binary_expression "(int)pfVar16[5] <= iVar15" (cast_expression "(int)pfVar16[5]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pfVar16[5]" (identifier "pfVar16") ([ "[") (number_literal "5") (] "]"))) (<= "<=") (identifier "iVar15")) () ")")) (compound_statement "{\n      return fVar34;\n    }" ({ "{") (return_statement "return fVar34;" (return "return") (identifier "fVar34") (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))

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

type_1
function_1(size_t var_9,type_2 *var_14,type_3 axis,type_2 *var_16,
                 type_2 *xSumwSum,type_4 *var_1,size_t var_2)

{
  type_5 bVar1;
  type_5 bVar2;
  type_6 uVar3;
  type_7 *var_20;
  type_2 *var_8;
  type_2 *var_11;
  type_1 var_77;
  int *piVar8;
  int var_67;
  int var_68;
  type_8 *puVar11;
  size_t var_4;
  float *var_3;
  type_5 *var_17;
  type_7 *pDVar15;
  int var_71;
  int var_66;
  int var_69;
  type_7 *var_40;
  type_2 *pDVar20;
  int var_50;
  type_7 *pDVar22;
  type_2 *var_18;
  type_8 uVar24;
  type_2 *var_10;
  float *var_12;
  type_5 *var_19;
  int var_70;
  int var_13;
  int var_74;
  type_1 *var_35;
  type_1 *var_34;
  type_7 *pDVar33;
  type_1 *var_36;
  int *var_58;
  type_9 *var_31;
  type_9 *var_47;
  type_9 *var_30;
  type_9 *var_48;
  type_7 *var_38;
  type_1 var_61;
  int var_73;
  type_10 *var_21;
  type_11 *var_37;
  type_11 *var_52;
  type_11 *var_39;
  type_1 var_60;
  type_11 *pcVar45;
  float var_5;
  type_9 var_25;
  type_9 var_26;
  type_9 var_28;
  type_9 var_29;
  float var_6;
  type_9 var_22;
  type_9 var_23;
  float var_7;
  float var_15;
  type_12 in_f20_21;
  double var_62;
  double var_75;
  double var_72;
  type_12 uVar58;
  type_9 var_65;
  type_7 DStack_22c;
  int var_76;
  type_1 *pMStack_218;
  type_7 *pDStack_214;
  type_7 *pDStack_210;
  int *piStack_20c;
  type_9 *puStack_208;
  type_9 *puStack_204;
  type_9 *puStack_200;
  type_1 MStack_1fc;
  type_1 MStack_1f8;
  type_11 *pcStack_1f4;
  type_12 uStack_1f0;
  double dStack_1e8;
  type_9 var_54;
  type_7 *pDStack_1cc;
  type_11 *var_55;
  type_9 var_63;
  int *var_59;
  type_7 *pDStack_1b4;
  type_9 var_56;
  type_8 uStack_1ac;
  type_7 *pDStack_1a8;
  int *piStack_1a4;
  type_7 DStack_19c;
  int var_64;
  type_1 *pMStack_188;
  type_7 *pDStack_184;
  type_7 *pDStack_180;
  int *piStack_17c;
  type_9 *puStack_178;
  type_9 *puStack_174;
  type_9 *puStack_170;
  type_1 MStack_16c;
  type_1 MStack_168;
  type_11 *pcStack_164;
  type_7 *pDStack_140;
  type_7 *pDStack_13c;
  int var_49;
  type_7 *pDStack_134;
  type_11 *var_41;
  type_11 *pcStack_128;
  type_9 uStack_124;
  type_9 var_42;
  type_1 MStack_11c;
  type_1 MStack_118;
  type_8 uStack_114;
  type_9 *var_44;
  type_8 uStack_10c;
  type_8 uStack_108;
  type_9 var_43;
  type_9 var_45;
  int var_46;
  type_8 uStack_f8;
  type_8 uStack_f4;
  type_8 uStack_f0;
  type_8 uStack_ec;
  type_8 uStack_e8;
  int var_51;
  type_1 *pMStack_e0;
  type_7 *pDStack_dc;
  type_7 *pDStack_d8;
  type_1 *pMStack_d4;
  type_9 *puStack_d0;
  type_9 *puStack_cc;
  type_8 uStack_9c;
  type_1 var_33 [2];
  float var_24;
  float var_27;
  float dps [16];
  
  var_21 = PTR___stack_chk_guard_003a9230;
  var_20 = *(type_7 **)PTR___stack_chk_guard_003a9230;
  var_10 = (type_2 *)(var_1 + var_2 * 0x10);
  if ((int)var_9 < 1) {
    var_77 = var_32;
    if (0 < (int)var_2) goto LAB_00212794;
    *(type_8 *)axis.z = 0;
    *(type_8 *)((int)axis.z + 4) = 0;
    *(type_8 *)((int)axis.z + 8) = 0;
    *(type_8 *)((int)axis.z + 0xc) = 0;
  }
  else {
    var_12 = dps;
    var_4 = 0;
    var_8 = var_14;
    var_3 = var_12;
    var_11 = var_10;
    do {
      var_7 = var_8->y;
      var_18 = (type_2 *)((int)&var_11->x + 1);
      pDVar20 = (type_2 *)(var_3 + 1);
      var_6 = var_8->x;
      var_5 = var_8->z;
      *(char *)&var_11->x = (char)var_4;
      var_4 = var_4 + 1;
      *var_3 = axis.x * var_5 + (float)var_16 * var_6 + (float)xSumwSum * var_7;
      var_8 = var_8 + 1;
      var_3 = (float *)pDVar20;
      var_11 = var_18;
    } while (var_4 != var_9);
    var_8 = (type_2 *)((int)&var_10[-1].w + 3);
    do {
      if ((1 - (int)var_10) + (int)var_8 != 0) {
        var_6 = *var_12;
        var_5 = var_12[-1];
        if (var_6 < var_5) {
          bVar1 = *(type_5 *)((int)&var_8->x + 1);
          var_18 = (type_2 *)(type_9)bVar1;
          var_11 = var_8;
          var_3 = var_12;
          do {
            bVar2 = *(type_5 *)&var_11->x;
            pDVar20 = (type_2 *)(type_9)bVar2;
            *var_3 = var_5;
            *(type_5 *)&var_11->x = bVar1;
            var_3[-1] = var_6;
            *(type_5 *)((int)&var_11->x + 1) = bVar2;
            if (var_10 == var_11) break;
            var_5 = var_3[-2];
            var_11 = (type_2 *)((int)&var_11[-1].w + 3);
            var_3 = var_3 + -1;
          } while (var_6 < var_5);
        }
      }
      var_8 = (type_2 *)((int)&var_8->x + 1);
      var_12 = var_12 + 1;
    } while ((type_2 *)((int)var_10 + (var_9 - 1)) != var_8);
    var_16 = pDVar20;
    xSumwSum = var_18;
    if ((int)var_2 < 1) {
      *(type_8 *)axis.z = 0;
      *(type_8 *)((int)axis.z + 4) = 0;
      *(type_8 *)((int)axis.z + 8) = 0;
      *(type_8 *)((int)axis.z + 0xc) = 0;
LAB_00212818:
      var_13 = 0;
      do {
        var_3 = &var_10->x;
        var_13 = var_13 + 1;
        var_10 = (type_2 *)((int)&var_10->x + 1);
        var_16 = (type_2 *)(type_9)(var_13 < (int)var_9);
        var_8 = var_14 + *(type_5 *)var_3;
        var_5 = var_8->w;
        var_15 = var_8->x;
        var_7 = var_8->y;
        var_6 = var_8->z;
        *(float *)((int)axis.y + 0xc) = var_5;
        var_15 = var_5 * var_15;
        var_7 = var_5 * var_7;
        var_6 = var_5 * var_6;
        *(float *)axis.y = var_15;
        *(float *)((int)axis.y + 4) = var_7;
        *(float *)((int)axis.y + 8) = var_6;
        *(float *)((int)axis.z + 4) = var_7 + *(float *)((int)axis.z + 4);
        *(float *)((int)axis.z + 8) = var_6 + *(float *)((int)axis.z + 8);
        *(float *)((int)axis.z + 0xc) = var_5 + *(float *)((int)axis.z + 0xc);
        *(float *)axis.z = *(float *)axis.z + var_15;
        xSumwSum = var_18;
        axis.y = (float)((int)axis.y + 0x10);
      } while (var_16 != (type_2 *)0x0);
    }
    else {
LAB_00212794:
      var_19 = var_1 + 1;
      var_13 = 0;
      var_18 = xSumwSum;
      do {
        var_77 = var_78;
        xSumwSum = var_18;
        if (var_9 == 0) goto LAB_002127dc;
        var_17 = var_19;
        var_8 = var_10;
        if (var_19[-1] == *(type_5 *)&var_10->x) {
          do {
            var_8 = (type_2 *)((int)&var_8->x + 1);
            if ((type_2 *)((int)&var_10->x + var_9) == var_8) {
              var_77 = var_78;
              xSumwSum = var_18;
              goto LAB_002127dc;
            }
            var_18 = (type_2 *)(type_9)*(type_5 *)&var_8->x;
            var_16 = (type_2 *)(type_9)*var_17;
            var_17 = var_17 + 1;
          } while (var_18 == var_16);
        }
        var_13 = var_13 + 1;
        var_19 = var_19 + 0x10;
      } while (var_13 < (int)var_2);
      *(type_8 *)axis.z = 0;
      *(type_8 *)((int)axis.z + 4) = 0;
      *(type_8 *)((int)axis.z + 8) = 0;
      *(type_8 *)((int)axis.z + 0xc) = 0;
      xSumwSum = var_18;
      if (0 < (int)var_9) goto LAB_00212818;
    }
    var_77 = var_32;
  }
LAB_002127dc:
  if (var_20 == *(type_7 **)var_21) {
    return var_77;
  }
  var_21 = PTR___stack_chk_fail_003a9064;
  (*(type_11 *)PTR___stack_chk_fail_003a9064)();
  var_5 = *(float *)(*(int *)(var_21 + 0x196010) + -0xe34);
  var_6 = *(float *)(*(int *)(var_21 + 0x196074) + -0x1e70);
  pDVar33 = *(type_7 **)(var_21 + 0x196954);
  var_33[0] = *(type_1 *)pDVar33->r;
  var_22 = (type_9)((float)var_14 * var_6 + var_5);
  var_23 = (type_9)((float)var_16 * *(float *)(*(int *)(var_21 + 0x196074) + -0x1e6c) + var_5
                 );
  if (0x1f < var_22) {
    var_22 = 0x1f;
  }
  var_25 = (type_9)(var_6 * 5.421411e-39 + var_5);
  if (0x3f < var_23) {
    var_23 = 0x3f;
  }
  var_26 = (type_9)(var_24 * *(float *)(*(int *)(var_21 + 0x196074) + -0x1e6c) + var_5);
  if (0x1f < var_25) {
    var_25 = 0x1f;
  }
  var_28 = (type_9)((float)xSumwSum * var_6 + var_5);
  if (0x3f < var_26) {
    var_26 = 0x3f;
  }
  var_29 = (type_9)(var_27 * var_6 + var_5);
  if (0x1f < var_28) {
    var_28 = 0x1f;
  }
  var_30 = (type_9 *)(var_22 << 0xb | var_23 << 5 | var_28);
  if (0x1f < var_29) {
    var_29 = 0x1f;
  }
  var_31 = (type_9 *)(var_25 << 0xb | var_26 << 5 | var_29);
  var_35 = &uStack_9c;
  do {
    if (var_30 < var_31) {
      *(type_6 *)var_35 = (*(type_6 *)dps[0] ^ var_32) & 3;
    }
    else {
      while (var_31 != var_30) {
        uVar3 = *(type_6 *)dps[0];
        var_34 = (type_1 *)((int)var_35 + 1);
        dps[0] = (float)((int)dps[0] + 1);
        *(type_6 *)var_35 = uVar3;
        var_35 = var_34;
        if (var_33 == var_34) goto LAB_00212a50;
      }
      *(type_6 *)var_35 = var_78;
    }
    var_34 = (type_1 *)((int)var_35 + 1);
    dps[0] = (float)((int)dps[0] + 1);
    var_35 = var_34;
  } while (var_33 != var_34);
LAB_00212a50:
  var_47 = var_31;
  if (var_30 < var_31) {
    var_47 = var_30;
    var_30 = var_31;
  }
  (**(type_11 **)(var_21 + 0x196700))(var_20,(type_9)var_30 & 0xff);
  (**(type_11 **)(var_21 + 0x196700))(var_20,(type_9)((int)var_30 << 0x10) >> 0x18);
  (**(type_11 **)(var_21 + 0x196700))(var_20,(type_9)var_47 & 0xff);
  (**(type_11 **)(var_21 + 0x196700))(var_20,(type_9)((int)var_47 << 0x10) >> 0x18);
  var_35 = &uStack_9c;
  do {
    var_36 = var_35 + 1;
    var_40 = (type_7 *)
              (((type_9)*(type_5 *)((int)var_35 + 1) << 2 | (type_9)*(type_5 *)((int)var_35 + 2) << 4 |
                (type_9)(type_5)*(type_6 *)var_35 | (type_9)(type_5)*var_35 << 6) & 0xff);
    var_38 = var_20;
    (**(type_11 **)(var_21 + 0x196700))();
    var_35 = var_36;
  } while (var_34 != var_36);
  if (var_33[0] == *(type_1 *)pDVar33->r) {
    return *(type_1 *)pDVar33->r;
  }
  var_37 = *(type_11 **)(var_21 + 0x196788);
  (*var_37)();
  var_39 = var_37 + 0x19dd78;
  var_58 = *(int **)(var_37 + 0x1966f8);
  var_51 = *var_58;
  var_41 = var_39;
  pMStack_e0 = var_34;
  pDStack_dc = var_20;
  pDStack_d8 = pDVar33;
  pMStack_d4 = var_36;
  puStack_d0 = var_47;
  puStack_cc = var_30;
  if (var_38 == (type_7 *)0x0) {
LAB_00213360:
    var_38 = var_20;
    (**(type_11 **)(var_39 + -0x72a8))
              (*(int *)(var_39 + -0x7fd0) + 0xd78,*(int *)(var_39 + -0x7f60) + -0x2c20,0x6c7,
               *(int *)(var_39 + -0x7f60) + -0x2ab4);
  }
  else {
    if (*(int *)var_38[0x321].g != -0x54535255) goto LAB_00213390;
    if (*(int *)var_38[0x321].r != 0) {
      pDStack_13c = var_38 + 0x221;
      pDStack_140 = (type_7 *)(*(int *)(var_37 + 0x195dac) + -0x62ac);
      (**(type_11 **)(var_37 + 0x1966a8))
                (0x8000,*(int *)(var_37 + 0x195e18) + -0x2c20,
                 *(int *)(var_37 + 0x195e18) + -0x2ac4,0x6ca);
    }
    var_39 = var_41;
    pDVar33 = var_40;
    if (var_40 == (type_7 *)0x0) {
LAB_0021333c:
      (**(type_11 **)(var_39 + -0x72a8))
                (*(int *)(var_39 + -0x7fd0) + 0x1cac,*(int *)(var_39 + -0x7f60) + -0x2c20,0x6cc,
                 *(int *)(var_39 + -0x7f60) + -0x2ab4);
      var_20 = var_38;
      goto LAB_00213360;
    }
    if (*(int *)var_40[1].a != -0x54535255) {
      (**(type_11 **)(var_41 + -0x72a8))
                (*(int *)(var_41 + -0x7fd0) + 0x294c,*(int *)(var_41 + -0x7f60) + -0x2c20,
                 0x6cd,*(int *)(var_41 + -0x7f60) + -0x2ab4);
      goto LAB_0021333c;
    }
    var_34 = (type_1 *)(**(type_11 **)(var_41 + -0x72a4))(var_38,var_40);
    var_13 = (**(type_11 **)(var_41 + -0x7664))(var_38,var_34,2,var_40);
    if (var_13 == 0) {
      (**(type_11 **)(var_41 + -0x73a0))(var_34);
      var_77 = var_78;
      goto LAB_00212c9c;
    }
    pDStack_140 = (type_7 *)0x0;
    (**(type_11 **)(var_41 + -0x7588))(var_34);
    var_13 = (**(type_11 **)(var_41 + -0x7844))(var_34);
    if ((var_13 == 0x7c) &&
       (var_42 = (**(type_11 **)(var_41 + -0x7844))(var_34), (var_42 & 0x1006) == 0x1006)
       ) {
      var_47 = (type_9 *)0x1;
      MStack_11c = (**(type_11 **)(var_41 + -0x7844))(var_34);
      MStack_118 = (**(type_11 **)(var_41 + -0x7844))(var_34);
      uStack_114 = (**(type_11 **)(var_41 + -0x7844))(var_34);
      var_44 = (type_9 *)(**(type_11 **)(var_41 + -0x7844))(var_34);
      uStack_10c = (**(type_11 **)(var_41 + -0x7844))(var_34);
      pDStack_140 = (type_7 *)0x1;
      (**(type_11 **)(var_41 + -0x7588))(var_34);
      var_13 = (**(type_11 **)(var_41 + -0x7844))(var_34);
      if (var_13 != 0x20) goto LAB_00212c24;
      var_45 = (**(type_11 **)(var_41 + -0x7844))(var_34);
      var_46 = (**(type_11 **)(var_41 + -0x7844))(var_34);
      uStack_f8 = (**(type_11 **)(var_41 + -0x7844))(var_34);
      uStack_f4 = (**(type_11 **)(var_41 + -0x7844))(var_34);
      uStack_f0 = (**(type_11 **)(var_41 + -0x7844))(var_34);
      uStack_ec = (**(type_11 **)(var_41 + -0x7844))(var_34);
      uStack_e8 = (**(type_11 **)(var_41 + -0x7844))(var_34);
      uStack_108 = (**(type_11 **)(var_41 + -0x7844))(var_34);
      var_43 = (**(type_11 **)(var_41 + -0x7844))(var_34);
      pDStack_140 = (type_7 *)0x1;
      (**(type_11 **)(var_41 + -0x7588))(var_34);
      var_47 = (type_9 *)(var_43 & 0x200);
      if ((int)(var_43 << 10) < 0) {
        var_48 = (type_9 *)(type_9)(var_44 != (type_9 *)0x0);
      }
      else {
        var_48 = (type_9 *)0x0;
      }
      pDStack_140 = (type_7 *)0x0;
      (**(type_11 **)(var_41 + -0x7588))(var_34);
      if ((var_45 & 0x40) == 0) {
        if (-1 < (int)(var_45 << 0xe)) {
          if ((var_45 & 4) == 0) {
            uVar24 = 0x729;
            goto LAB_002130b8;
          }
          if (var_46 == 0x33545844) {
            var_30 = *(type_9 **)(var_41 + -0x7cec);
            var_60 = 4;
            var_61 = 5;
            pcStack_128 = (type_11 *)(var_30 + 0x1678);
          }
          else if (var_46 == 0x35545844) {
            var_30 = *(type_9 **)(var_41 + -0x7cec);
            var_60 = 4;
            var_61 = 6;
            pcStack_128 = (type_11 *)(var_30 + 0x1635);
          }
          else {
            uVar24 = 0x722;
            if (var_46 != 0x31545844) goto LAB_002130b8;
            var_30 = *(type_9 **)(var_41 + -0x7cec);
            var_60 = var_78;
            var_61 = 4;
            pcStack_128 = (type_11 *)(var_30 + 0x16bb);
          }
          goto joined_r0x00212ec0;
        }
        var_30 = *(type_9 **)(var_41 + -0x7cec);
        if ((var_45 & 1) == 0) goto LAB_00212fe4;
        uVar24 = 0x6fe;
LAB_002130b8:
        var_49 = *(int *)(var_41 + -0x7fd0);
        var_50 = *(int *)(var_41 + -0x7f60);
        var_13 = *(int *)(var_41 + -0x7f60);
        var_39 = *(type_11 **)(var_41 + -0x7990);
        pDStack_13c = (type_7 *)(*(int *)(var_41 + -0x7f60) + -0x2c10);
        goto LAB_00212c58;
      }
      var_30 = *(type_9 **)(var_41 + -0x7cec);
      if ((var_45 & 1) != 0) {
        var_30 = *(type_9 **)(var_41 + -0x7cec);
        var_60 = 4;
        var_61 = 0x10;
        pcStack_128 = (type_11 *)(var_30 + 0x16fe);
        goto joined_r0x00212ec0;
      }
LAB_00212fe4:
      var_60 = var_78;
      var_61 = 0x10;
      pcStack_128 = (type_11 *)(var_30 + 0x1285);
joined_r0x00212ec0:
      if (var_47 != (type_9 *)0x0) {
        var_47 = (type_9 *)-((int)(var_43 << 0x15) >> 0x1f);
        if ((var_43 & 0x800) != 0) {
          var_47 = (type_9 *)((int)var_47 + 1);
        }
        if ((var_43 & 0x1000) != 0) {
          var_47 = (type_9 *)((int)var_47 + 1);
        }
        if ((var_43 & 0x2000) != 0) {
          var_47 = (type_9 *)((int)var_47 + 1);
        }
        if ((var_43 & 0x4000) != 0) {
          var_47 = (type_9 *)((int)var_47 + 1);
        }
        if ((var_43 & 0x8000) == 0) {
          if (var_48 == (type_9 *)0x0) goto LAB_00213068;
        }
        else {
          var_47 = (type_9 *)((int)var_47 + 1);
          if (var_48 == (type_9 *)0x0) goto LAB_00212ed8;
        }
        var_47 = var_44;
LAB_00213068:
        if (var_47 != (type_9 *)0x0) {
          var_48 = (type_9 *)0x0;
          goto LAB_00212ed8;
        }
LAB_00212efc:
        uVar24 = 0x73f;
        goto LAB_00212c2c;
      }
      var_47 = var_44;
      if (var_48 != (type_9 *)0x0) goto LAB_00213068;
      var_47 = (type_9 *)0x1;
LAB_00212ed8:
      uVar58 = (**(type_11 **)(var_41 + -0x73f8))(var_34);
      var_30 = var_47;
      if (var_48 == (type_9 *)((type_13)uVar58 >> 0x20)) {
        var_39 = *(type_11 **)(var_41 + -0x7094);
        if ((type_9 *)uVar58 < var_47) goto LAB_00212efc;
      }
      else {
        var_39 = *(type_11 **)(var_41 + -0x7094);
      }
      var_13 = (*var_39)(0xb);
      if (var_13 == 0) {
        var_49 = *(int *)(var_41 + -0x7fd0) + 0x3e28;
        pDStack_13c = (type_7 *)(*(int *)(var_41 + -0x7fd0) + 0x2ae4);
        pDStack_140 = (type_7 *)0x190;
        pDStack_134 = var_38 + 0x221;
        (**(type_11 **)(var_41 + -0x7990))
                  (var_40,*(int *)(var_41 + -0x7f60) + -0x2c20,
                   *(int *)(var_41 + -0x7f60) + -0x2ac4,0x742);
        if (var_34 == (type_1 *)0x0) {
          var_77 = var_78;
          var_38 = var_38 + 0x221;
          goto LAB_00212c9c;
        }
        goto LAB_00212c74;
      }
      var_30 = &var_42;
      var_48 = (type_9 *)0x0;
      uVar24 = (**(type_11 **)(var_41 + -0x7748))
                         (var_38,*(int *)(var_41 + -0x7f60) + -0x2bf8);
      var_13 = (**(type_11 **)(var_41 + -0x7694))(uVar24);
      uStack_124 = (type_9)(var_13 != 0);
      while( true ) {
        var_13 = *(int *)var_38[0x1d].a;
        var_34[0x97] = var_32;
        *var_34 = var_32;
        var_34[0xaf] = var_60;
        var_34[2] = var_61;
        var_34[6] = MStack_118;
        var_34[7] = MStack_11c;
        var_34[8] = 8;
        if (var_13 != 0) break;
        var_13 = (**(type_11 **)(var_41 + -0x7404))(var_34,MStack_118,MStack_11c,var_40);
        if (var_13 == 0) {
LAB_00213284:
          var_77 = (**(type_11 **)(var_41 + -0x73a0))(var_34);
          goto LAB_00212c9c;
        }
        (**(type_11 **)(var_41 + -0x7a20))(var_34,var_40);
        pDStack_140 = var_40;
        var_13 = (*pcStack_128)(var_38,var_34,var_30,uStack_124);
        if (var_13 == 0) {
          (**(type_11 **)(var_41 + -0x7228))(var_34);
          if (var_48 == (type_9 *)0x0) goto LAB_00213284;
          var_77 = (**(type_11 **)(var_41 + -0x7464))(var_34);
          goto LAB_00212c9c;
        }
        var_48 = (type_9 *)((int)var_48 + 1);
        if (var_48 == var_47) break;
        var_13 = (**(type_11 **)(var_41 + -0x7168))(var_34);
        if (var_13 != 0) {
          pDStack_134 = var_38 + 0x221;
          var_49 = *(int *)(var_41 + -0x7fd0) + 0x3e28;
          pDStack_13c = (type_7 *)(*(int *)(var_41 + -0x7fc4) + -0x17c);
          pDStack_140 = (type_7 *)&DAT_000001a9;
          (**(type_11 **)(var_41 + -0x7990))
                    (var_40,*(int *)(var_41 + -0x7f60) + -0x2c20,
                     *(int *)(var_41 + -0x7f60) + -0x2ac4,0x74e);
          var_39 = *(type_11 **)(var_41 + -0x7228);
          goto LAB_00212c7c;
        }
        (**(type_11 **)(var_41 + -0x7920))(var_38,var_34,var_40);
        var_13 = (**(type_11 **)(var_41 + -0x7440))(var_34);
        if (var_13 == 0) goto LAB_00213284;
        var_34 = (type_1 *)(**(type_11 **)(var_41 + -0x74a8))(var_34);
      }
      (**(type_11 **)(var_41 + -0x7228))(var_34);
      var_77 = (**(type_11 **)(var_41 + -0x7464))(var_34);
    }
    else {
LAB_00212c24:
      uVar24 = 0x6dd;
LAB_00212c2c:
      var_49 = *(int *)(var_41 + -0x7fd0);
      var_50 = *(int *)(var_41 + -0x7f60);
      var_13 = *(int *)(var_41 + -0x7f60);
      var_39 = *(type_11 **)(var_41 + -0x7990);
      pDStack_13c = (type_7 *)(*(int *)(var_41 + -0x7fc4) + -400);
LAB_00212c58:
      pDStack_134 = var_38 + 0x221;
      var_49 = var_49 + 0x3e28;
      pDStack_140 = (type_7 *)&DAT_000001a9;
      (*var_39)(var_40,var_13 + -0x2c20,var_50 + -0x2ac4,uVar24);
      if (var_34 != (type_1 *)0x0) {
LAB_00212c74:
        var_39 = *(type_11 **)(var_41 + -0x7228);
LAB_00212c7c:
        (*var_39)(var_34);
        (**(type_11 **)(var_41 + -0x73a0))(var_34);
      }
      var_77 = var_78;
      var_38 = var_38 + 0x221;
    }
LAB_00212c9c:
    var_39 = var_41;
    if (var_51 == *var_58) {
      return var_77;
    }
  }
  (**(type_11 **)(var_39 + -0x784c))();
LAB_00213390:
  var_40 = (type_7 *)0x6c8;
  var_52 = *(type_11 **)(var_39 + -0x72a8);
  var_37 = (type_11 *)(*(int *)(var_39 + -0x7f60) + -0x2ab4);
  var_20 = (type_7 *)(*(int *)(var_39 + -0x7f60) + -0x2c20);
  pcVar45 = ReadDXT5Pixels;
  var_31 = (type_9 *)(*(int *)(var_39 + -0x7fd0) + 0xda0);
  (*var_52)();
  var_55 = var_52 + 0x19d4fc;
  piStack_1a4 = *(int **)(var_52 + 0x195e7c);
  pDStack_1a8 = (type_7 *)0x0;
  var_64 = *piStack_1a4;
  var_22 = var_31[7];
  pDStack_1b4 = var_40;
  pMStack_188 = var_34;
  pDStack_184 = var_38;
  pDStack_180 = pDVar33;
  piStack_17c = var_58;
  puStack_178 = var_47;
  puStack_174 = var_30;
  puStack_170 = var_48;
  MStack_16c = var_61;
  MStack_168 = var_60;
  pcStack_164 = pcVar45;
  if (0 < (int)var_22) {
    var_62 = *(double *)(*(int *)(var_52 + 0x195534) + -0x5af0);
    in_f20_21 = var_53((int)((type_13)in_f20_21 >> 0x20),
                         *(type_8 *)(*(int *)(var_52 + 0x19552c) + 0x1a50));
    do {
      pDVar22 = pDStack_1a8;
      var_37 = (type_11 *)var_31[6];
      pDVar33 = (type_7 *)0x0;
      if (0 < (int)var_37) {
        do {
          var_39 = var_37 + -(int)pDVar33;
          var_54 = var_22 - (int)pDVar22;
          pDStack_1cc = pDStack_1b4;
          if (4 < var_54) {
            var_54 = 4;
          }
          var_37 = (type_11 *)&DAT_00000004;
          if (var_39 < &DAT_00000005) {
            var_37 = var_39;
          }
          var_20 = pDVar33;
          var_40 = pDVar22;
          var_34 = (type_1 *)(**(type_11 **)(var_55 + -0x798c))(var_31);
          var_38 = pDVar22;
          if (var_34 == (type_1 *)0x0) goto LAB_002137bc;
          var_56 = (**(type_11 **)(var_55 + -0x70c0))(var_31);
          var_59 = (int *)(var_56 & 0xff);
          var_30 = (type_9 *)(**(type_11 **)(var_55 + -0x70c0))(var_31);
          var_58 = (int *)((type_9)var_30 & 0xff);
          var_61 = (**(type_11 **)(var_55 + -0x7844))(var_31);
          var_48 = (type_9 *)(**(type_11 **)(var_55 + -0x71b4))(var_31);
          var_63 = (**(type_11 **)(var_55 + -0x71b4))(var_31);
          var_20 = (type_7 *)(**(type_11 **)(var_55 + -0x71b4))(var_31);
          var_60 = (**(type_11 **)(var_55 + -0x7844))(var_31);
          var_37 = (type_11 *)0x1;
          var_40 = &DStack_19c;
          var_57((type_14)var_63,(type_14)var_20,var_40,var_32);
          var_13 = (**(type_11 **)(var_55 + -0x7168))(var_31);
          if (var_13 != 0) goto LAB_002137bc;
          var_13 = 0;
          var_22 = var_31[6];
          var_58 = (int *)(type_9)(var_58 < var_59);
          var_63 = var_56 & 0xff;
          var_59 = (int *)((type_9)var_30 & 0xff);
          uStack_1ac = 0xcccccccd;
          var_56 = 0x24924925;
          var_20 = pDVar22;
          do {
            var_50 = 0;
            var_30 = (type_9 *)&DAT_00000007;
            pDVar15 = pDVar33;
            do {
              if (((int)pDVar15 < (int)var_22) && ((int)var_20 < (int)var_31[7])) {
                var_28 = var_31[0xb4];
                var_23 = (var_13 + var_50) * 3;
                var_26 = var_60 >> ((var_13 + var_50) * 2 & 0x1fU) & 3;
                var_25 = ((int)var_48 << 1) << (~var_23 & 0x1f) | var_61 >> (var_23 & 0x1f);
                if ((var_23 & 0x20) != 0) {
                  var_25 = (type_9)var_48 >> (var_23 & 0x1f);
                }
                var_66 = *(int *)(var_28 + 0x20);
                var_40 = (type_7 *)(var_34 + *(int *)(var_28 + 0x14));
                var_25 = var_25 & 7;
                var_34[*(int *)(var_28 + 8)] =
                     (type_1)(float)((double)DStack_19c.r[var_26] * var_62);
                var_37 = (type_11 *)(type_9)DStack_19c.g[var_26];
                *(float *)var_40->r = (float)((double)(int)var_37 * var_62);
                var_34[var_66] =
                     (type_1)(float)((double)DStack_19c.b[var_26] * var_62);
                if (var_25 == 0) {
                  var_5 = (float)((double)var_63 * var_62);
                }
                else if (var_25 == 1) {
                  var_5 = (float)((double)(int)var_59 * var_62);
                }
                else if (var_58 == (int *)0x0) {
                  var_5 = 0.0;
                  if (var_25 != 6) {
                    if (var_25 != 7) {
                      var_23 = (type_9)((type_13)
                                      ((var_25 - 1) * (int)var_59 + (6 - var_25) * var_63)
                                      * 0xcccccccd >> 0x20);
                      goto LAB_00213750;
                    }
                    var_5 = (float)in_f20_21;
                  }
                }
                else {
                  var_23 = (type_9)((type_13)
                                  ((var_25 - 1) * (int)var_59 + (8 - var_25) * var_63) *
                                  0x124924925 >> 0x21);
LAB_00213750:
                  var_5 = (float)((double)((var_23 << 0x16) >> 0x18) * var_62);
                }
                if (*(int *)(var_28 + 0x34) != 0) {
                  var_34[*(int *)(var_28 + 0x38)] = (type_1)var_5;
                }
                var_34 = var_34 + var_31[0xb0];
              }
              var_50 = var_50 + 1;
              pDVar15 = (type_7 *)(pDVar33->r + var_50);
            } while (var_50 != 4);
            var_13 = var_13 + 4;
            var_20 = (type_7 *)(var_20->r + 1);
          } while (var_13 != 0x10);
          var_20 = pDStack_1b4;
          var_13 = (**(type_11 **)(var_55 + -0x76cc))(var_31);
          if (var_13 == 0) goto LAB_002137bc;
          var_37 = (type_11 *)var_31[6];
          pDVar33 = (type_7 *)pDVar33->g;
          var_39 = *(type_11 **)(var_55 + -0x7168);
          if ((int)var_37 <= (int)pDVar33) goto LAB_0021380c;
          var_22 = var_31[7];
        } while( true );
      }
      var_39 = *(type_11 **)(var_55 + -0x7168);
LAB_0021380c:
      var_13 = (*var_39)(var_31);
      if (var_13 != 0) {
LAB_002137bc:
        var_77 = var_78;
        goto LAB_002137c0;
      }
      var_22 = var_31[7];
      pDStack_1a8 = (type_7 *)pDStack_1a8->g;
      var_47 = var_31;
    } while ((int)pDStack_1a8 < (int)var_22);
  }
  var_77 = var_32;
  var_31 = var_47;
LAB_002137c0:
  if (var_64 == *piStack_1a4) {
    return var_77;
  }
  var_39 = *(type_11 **)(var_55 + -0x784c);
  var_52 = ReadDXT3Pixels;
  var_13 = var_64;
  (*var_39)();
  piVar8 = *(int **)(var_39 + 0x1959e4);
  var_76 = *piVar8;
  var_50 = *(int *)(var_13 + 0x1c);
  pDVar22 = var_40;
  pMStack_218 = var_34;
  pDStack_214 = var_38;
  pDStack_210 = pDVar33;
  piStack_20c = var_58;
  puStack_208 = var_31;
  puStack_204 = var_30;
  puStack_200 = var_48;
  MStack_1fc = var_61;
  MStack_1f8 = var_60;
  pcStack_1f4 = var_52;
  uStack_1f0 = in_f20_21;
  dStack_1e8 = var_62;
  if (0 < var_50) {
    pDVar33 = (type_7 *)0x0;
    var_66 = *(int *)(var_39 + 0x195378);
    var_75 = *(double *)(*(int *)(var_39 + 0x19509c) + -0x5af0);
    var_72 = var_75;
    do {
      var_37 = *(type_11 **)(var_13 + 0x18);
      var_38 = (type_7 *)0x0;
      if ((int)var_37 < 1) {
        var_52 = *(type_11 **)(var_39 + 0x195efc);
      }
      else {
        while( true ) {
          var_65 = var_50 - (int)pDVar33;
          var_37 = var_37 + -(int)var_38;
          if (4 < var_65) {
            var_65 = 4;
          }
          if (&DAT_00000004 < var_37) {
            var_37 = (type_11 *)&DAT_00000004;
          }
          var_20 = var_38;
          pDVar22 = pDVar33;
          var_50 = (**(type_11 **)(var_39 + 0x1956d8))(var_13);
          if (var_50 == 0) goto LAB_00213b34;
          var_22 = (**(type_11 **)(var_39 + 0x195820))(var_13);
          var_23 = (**(type_11 **)(var_39 + 0x195820))(var_13);
          uVar24 = (**(type_11 **)(var_39 + 0x195eb0))(var_13);
          var_20 = (type_7 *)(**(type_11 **)(var_39 + 0x195eb0))(var_13);
          var_25 = (**(type_11 **)(var_39 + 0x195820))(var_13);
          var_37 = (type_11 *)0x1;
          pDVar22 = &DStack_22c;
          (*(type_11 *)(var_66 + 0x2408))(uVar24);
          var_67 = (**(type_11 **)(var_39 + 0x195efc))(var_13);
          if (var_67 != 0) goto LAB_00213b34;
          var_37 = *(type_11 **)(var_13 + 0x18);
          var_69 = 0;
          var_67 = 0;
          pDVar22 = pDVar33;
          do {
            var_68 = 0;
            var_20 = var_38;
            do {
              if (((int)var_20 < (int)var_37) &&
                 (var_71 = var_68 + var_69 * 4, (int)pDVar22 < *(int *)(var_13 + 0x1c))) {
                var_70 = *(int *)(var_13 + 0x2d0);
                var_73 = *(int *)(var_70 + 0x14);
                var_26 = var_25 >> (var_71 * 2 & 0x1fU) & 3;
                var_74 = *(int *)(var_70 + 0x20);
                *(float *)(var_50 + *(int *)(var_70 + 8) * 4) =
                     (float)((double)DStack_22c.r[var_26] * var_72);
                *(float *)(var_50 + var_73 * 4) = (float)((double)DStack_22c.g[var_26] * var_72);
                *(float *)(var_50 + var_74 * 4) = (float)((double)DStack_22c.b[var_26] * var_72);
                if (var_69 < 2) {
                  var_26 = var_22 >> (var_71 * 4 & 0x1fU);
                }
                else {
                  var_26 = var_23 >> ((var_67 + var_68) * 4 & 0x1fU);
                }
                if (*(int *)(var_70 + 0x34) != 0) {
                  *(float *)(var_50 + *(int *)(var_70 + 0x38) * 4) =
                       (float)((double)((var_26 & 0xf) * 0x11 & 0xff) * var_75);
                }
                var_50 = var_50 + *(int *)(var_13 + 0x2c0) * 4;
              }
              var_68 = var_68 + 1;
              var_20 = (type_7 *)(var_38->r + var_68);
            } while (var_68 != 4);
            var_69 = var_69 + 1;
            pDVar22 = (type_7 *)(pDVar22->r + 1);
            var_67 = var_67 + 4;
          } while (var_69 != 4);
          var_20 = var_40;
          var_50 = (**(type_11 **)(var_39 + 0x195998))(var_13);
          if (var_50 == 0) goto LAB_00213b34;
          var_37 = *(type_11 **)(var_13 + 0x18);
          var_38 = (type_7 *)var_38->g;
          var_52 = *(type_11 **)(var_39 + 0x195efc);
          if ((int)var_37 <= (int)var_38) break;
          var_50 = *(int *)(var_13 + 0x1c);
        }
      }
      var_50 = (*var_52)(var_13);
      if (var_50 != 0) {
LAB_00213b34:
        var_77 = var_78;
        goto LAB_00213b38;
      }
      var_50 = *(int *)(var_13 + 0x1c);
      pDVar33 = (type_7 *)pDVar33->g;
    } while ((int)pDVar33 < var_50);
  }
  var_77 = var_32;
LAB_00213b38:
  if (var_76 == *piVar8) {
    return var_77;
  }
  var_39 = *(type_11 **)(var_39 + 0x195818);
  var_13 = var_76;
  (*var_39)();
  var_50 = (**(type_11 **)(var_39 + 0x195b8c))(var_20);
  if (var_50 != 0) {
    puVar11 = (type_8 *)(**(type_11 **)(var_39 + 0x195df4))();
    uVar24 = (**(type_11 **)(var_39 + 0x195830))(*puVar11);
    (**(type_11 **)(var_39 + 0x195364))
              (var_65,*(int *)(var_39 + 0x194d94) + -0x2c20,
               *(int *)(var_39 + 0x194d94) + -0x2ad0,0x41e,0x145,
               *(int *)(var_39 + 0x194d30) + -0x17c,*(int *)(var_39 + 0x194d24) + 0xe78,
               var_20 + 0x34,uVar24);
    (**(type_11 **)(var_39 + 0x1954b8))(uVar24);
    return var_78;
  }
  if (-1 < (int)(*(type_9 *)pDVar22[1].b << 9)) {
    return var_32;
  }
  if (((*(type_9 *)pDVar22[1].b & 0x1000) == 0) && ((*(type_9 *)pDVar22[1].a & 0x200) == 0)) {
    return var_32;
  }
  if (*(type_9 *)pDVar22->b < 2) {
    var_22 = *(type_9 *)pDVar22->g;
    var_23 = 1;
  }
  else {
    var_22 = *(type_9 *)pDVar22->g;
    var_23 = *(type_9 *)pDVar22->b >> 1;
  }
  if (var_22 < 2) {
    var_22 = 1;
  }
  else {
    var_22 = var_22 >> 1;
  }
  var_50 = 1;
  if (*(int *)pDVar22[1].g < 2) {
    return var_32;
  }
  do {
    (**(type_11 **)(var_39 + 0x1953d4))(var_13,var_20,var_65);
    var_50 = var_50 + 1;
    var_52 = *(type_11 **)(var_39 + 0x19584c);
    if (*(int *)var_20[0x336].b == 0) {
      return var_78;
    }
    *(type_8 *)(*(int *)var_20[0x336].b + 700) = *(type_8 *)var_20[0x2b].a;
    var_20 = (type_7 *)(*var_52)(var_20);
    var_66 = (**(type_11 **)(var_39 + 0x1958f0))(var_20,var_23,var_22,var_65);
    if (var_66 == 0) {
      return var_78;
    }
    var_77 = (*var_37)(var_20,pDVar22,var_65);
    if (var_77 == var_78) {
      return var_78;
    }
    if (var_23 == 1) {
      if (var_22 == 1) {
        return var_77;
      }
LAB_00213d14:
      var_22 = var_22 >> 1;
    }
    else {
      var_23 = var_23 >> 1;
      if (var_22 != 1) goto LAB_00213d14;
    }
    if (*(int *)pDVar22[1].g <= var_50) {
      return var_77;
    }
  } while( true );
}


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

/* WARNING: Type propagation algorithm not settling */

float MASKED(int param_1,float *param_2,float *param_3,float *param_4,float param_5,
                  float *param_6,float *param_7,int param_8,int param_9)

{
  byte bVar1;
  byte bVar2;
  float *pfVar3;
  int *piVar4;
  int iVar5;
  int iVar6;
  undefined4 *puVar7;
  int iVar8;
  float *pfVar9;
  byte *pbVar10;
  float *pfVar11;
  int iVar12;
  int iVar13;
  int iVar14;
  int iVar15;
  float *pfVar16;
  undefined4 uVar17;
  float *pfVar18;
  float *pfVar19;
  byte *pbVar20;
  int iVar21;
  int iVar22;
  float *pfVar23;
  int *piVar24;
  uint *puVar25;
  uint *puVar26;
  uint *puVar27;
  uint *unaff_s6;
  float unaff_s7;
  int iVar28;
  undefined *puVar29;
  code *pcVar30;
  code *pcVar31;
  code *pcVar32;
  float unaff_s8;
  code *pcVar33;
  float fVar34;
  uint uVar35;
  uint uVar36;
  uint uVar37;
  uint uVar38;
  float fVar39;
  uint uVar40;
  uint uVar41;
  float fVar42;
  float fVar43;
  undefined8 in_f20_21;
  double in_f22_23;
  double dVar44;
  double dVar45;
  undefined8 uVar46;
  uint uStack_248;
  float fStack_22c;
  byte abStack_228 [4];
  byte abStack_224 [8];
  int iStack_21c;
  float *pfStack_218;
  float *pfStack_214;
  float *pfStack_210;
  int *piStack_20c;
  uint *puStack_208;
  uint *puStack_204;
  uint *puStack_200;
  float fStack_1fc;
  float fStack_1f8;
  code *pcStack_1f4;
  undefined8 uStack_1f0;
  double dStack_1e8;
  uint uStack_1d0;
  float *pfStack_1cc;
  code *pcStack_1c8;
  uint uStack_1bc;
  int *piStack_1b8;
  float *pfStack_1b4;
  uint uStack_1b0;
  undefined4 uStack_1ac;
  float *pfStack_1a8;
  int *piStack_1a4;
  float fStack_19c;
  byte abStack_198 [4];
  byte abStack_194 [8];
  int iStack_18c;
  float *pfStack_188;
  float *pfStack_184;
  float *pfStack_180;
  int *piStack_17c;
  uint *puStack_178;
  uint *puStack_174;
  uint *puStack_170;
  float fStack_16c;
  float fStack_168;
  code *pcStack_164;
  float *pfStack_140;
  float *pfStack_13c;
  int iStack_138;
  float *pfStack_134;
  code *pcStack_130;
  code *pcStack_128;
  uint uStack_124;
  uint uStack_120;
  float fStack_11c;
  float fStack_118;
  undefined4 uStack_114;
  uint *puStack_110;
  undefined4 uStack_10c;
  undefined4 uStack_108;
  uint uStack_104;
  uint uStack_100;
  int iStack_fc;
  undefined4 uStack_f8;
  undefined4 uStack_f4;
  undefined4 uStack_f0;
  undefined4 uStack_ec;
  undefined4 uStack_e8;
  int iStack_e4;
  float *pfStack_e0;
  float *pfStack_dc;
  float *pfStack_d8;
  float *pfStack_d4;
  uint *puStack_d0;
  uint *puStack_cc;
  undefined4 uStack_9c;
  float afStack_8c [2];
  float local_54;
  float local_50;
  byte *local_4c [16];
  float *local_c;
  
  puVar29 = PTR___stack_chk_guard_003a9230;
  pfVar18 = (float *)(param_8 + param_9 * 0x10);
  local_c = *(float **)PTR___stack_chk_guard_003a9230;
  if (param_1 < 1) {
    fVar34 = 1.4013e-45;
    if (0 < param_9) goto LAB_00212794;
    *param_7 = 0.0;
    param_7[1] = 0.0;
    param_7[2] = 0.0;
    param_7[3] = 0.0;
  }
  else {
    pfVar3 = (float *)local_4c;
    iVar8 = 0;
    pfVar19 = param_2;
    pfVar23 = pfVar3;
    pfVar9 = pfVar18;
    do {
      fVar42 = pfVar19[1];
      pfVar16 = (float *)((int)pfVar9 + 1);
      pfVar11 = pfVar23 + 1;
      fVar39 = *pfVar19;
      fVar34 = pfVar19[2];
      *(byte *)pfVar9 = (byte)iVar8;
      iVar8 = iVar8 + 1;
      *pfVar23 = param_5 * fVar34 + (float)param_3 * fVar39 + (float)param_4 * fVar42;
      pfVar19 = pfVar19 + 4;
      pfVar23 = pfVar11;
      pfVar9 = pfVar16;
    } while (iVar8 != param_1);
    pfVar19 = (float *)((int)pfVar18 + -1);
    do {
      if ((byte *)((1 - (int)pfVar18) + (int)pfVar19) != (byte *)0x0) {
        fVar39 = *pfVar3;
        fVar34 = pfVar3[-1];
        if (fVar39 < fVar34) {
          bVar2 = *(byte *)((int)pfVar19 + 1);
          pfVar16 = (float *)(uint)bVar2;
          pfVar23 = pfVar19;
          pfVar9 = pfVar3;
          do {
            bVar1 = *(byte *)pfVar23;
            pfVar11 = (float *)(uint)bVar1;
            *pfVar9 = fVar34;
            *(byte *)pfVar23 = bVar2;
            pfVar9[-1] = fVar39;
            *(byte *)((int)pfVar23 + 1) = bVar1;
            if (pfVar18 == pfVar23) break;
            fVar34 = pfVar9[-2];
            pfVar23 = (float *)((int)pfVar23 + -1);
            pfVar9 = pfVar9 + -1;
          } while (fVar39 < fVar34);
        }
      }
      pfVar19 = (float *)((int)pfVar19 + 1);
      pfVar3 = pfVar3 + 1;
    } while ((float *)((int)pfVar18 + param_1 + -1) != pfVar19);
    param_3 = pfVar11;
    param_4 = pfVar16;
    if (param_9 < 1) {
      *param_7 = 0.0;
      param_7[1] = 0.0;
      param_7[2] = 0.0;
      param_7[3] = 0.0;
LAB_00212818:
      iVar8 = 0;
      do {
        bVar2 = *(byte *)pfVar18;
        iVar8 = iVar8 + 1;
        pfVar18 = (float *)((int)pfVar18 + 1);
        param_3 = (float *)(uint)(iVar8 < param_1);
        pfVar3 = param_2 + (uint)bVar2 * 4;
        fVar34 = pfVar3[3];
        fVar43 = *pfVar3;
        fVar42 = pfVar3[1];
        fVar39 = pfVar3[2];
        param_6[3] = fVar34;
        *param_6 = fVar34 * fVar43;
        param_6[1] = fVar34 * fVar42;
        param_6[2] = fVar34 * fVar39;
        param_7[1] = fVar34 * fVar42 + param_7[1];
        param_7[2] = fVar34 * fVar39 + param_7[2];
        param_7[3] = fVar34 + param_7[3];
        *param_7 = *param_7 + fVar34 * fVar43;
        param_4 = pfVar16;
        param_6 = param_6 + 4;
      } while (param_3 != (float *)0x0);
    }
    else {
LAB_00212794:
      pbVar20 = (byte *)(param_8 + 1);
      iVar8 = 0;
      pfVar16 = param_4;
      do {
        fVar34 = 0.0;
        param_4 = pfVar16;
        if (param_1 == 0) goto LAB_002127dc;
        pbVar10 = pbVar20;
        pfVar3 = pfVar18;
        if (pbVar20[-1] == *(byte *)pfVar18) {
          do {
            pfVar3 = (float *)((int)pfVar3 + 1);
            if ((float *)((int)pfVar18 + param_1) == pfVar3) {
              fVar34 = 0.0;
              param_4 = pfVar16;
              goto LAB_002127dc;
            }
            pfVar16 = (float *)(uint)*(byte *)pfVar3;
            param_3 = (float *)(uint)*pbVar10;
            pbVar10 = pbVar10 + 1;
          } while (pfVar16 == param_3);
        }
        iVar8 = iVar8 + 1;
        pbVar20 = pbVar20 + 0x10;
      } while (iVar8 < param_9);
      *param_7 = 0.0;
      param_7[1] = 0.0;
      param_7[2] = 0.0;
      param_7[3] = 0.0;
      param_4 = pfVar16;
      if (0 < param_1) goto LAB_00212818;
    }
    fVar34 = 1.4013e-45;
  }
LAB_002127dc:
  if (local_c == *(float **)puVar29) {
    return fVar34;
  }
  pfVar18 = local_c;
  puVar29 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  fVar34 = *(float *)(*(int *)(puVar29 + 0x196010) + -0xe34);
  fVar39 = *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e70);
  pfVar3 = *(float **)(puVar29 + 0x196954);
  afStack_8c[0] = *pfVar3;
  uVar40 = (uint)((float)param_2 * fVar39 + fVar34);
  uVar41 = (uint)((float)param_3 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34);
  if (0x1f < uVar40) {
    uVar40 = 0x1f;
  }
  uVar35 = (uint)(fVar39 * 5.421411e-39 + fVar34);
  if (0x3f < uVar41) {
    uVar41 = 0x3f;
  }
  uVar36 = (uint)(local_54 * *(float *)(*(int *)(puVar29 + 0x196074) + -0x1e6c) + fVar34);
  if (0x1f < uVar35) {
    uVar35 = 0x1f;
  }
  uVar37 = (uint)((float)param_4 * fVar39 + fVar34);
  if (0x3f < uVar36) {
    uVar36 = 0x3f;
  }
  uVar38 = (uint)(local_50 * fVar39 + fVar34);
  if (0x1f < uVar37) {
    uVar37 = 0x1f;
  }
  puVar27 = (uint *)(uVar40 << 0xb | uVar41 << 5 | uVar37);
  if (0x1f < uVar38) {
    uVar38 = 0x1f;
  }
  puVar25 = (uint *)(uVar35 << 0xb | uVar36 << 5 | uVar38);
  pfVar19 = (float *)&uStack_9c;
  do {
    if (puVar27 < puVar25) {
      *(byte *)pfVar19 = (*local_4c[0] ^ 1) & 3;
    }
    else {
      while (puVar25 != puVar27) {
        bVar2 = *local_4c[0];
        pfVar23 = (float *)((int)pfVar19 + 1);
        local_4c[0] = local_4c[0] + 1;
        *(byte *)pfVar19 = bVar2;
        pfVar19 = pfVar23;
        if (afStack_8c == pfVar23) goto LAB_00212a50;
      }
      *(byte *)pfVar19 = 0;
    }
    pfVar23 = (float *)((int)pfVar19 + 1);
    local_4c[0] = local_4c[0] + 1;
    pfVar19 = pfVar23;
  } while (afStack_8c != pfVar23);
LAB_00212a50:
  puVar26 = puVar25;
  if (puVar27 < puVar25) {
    puVar26 = puVar27;
    puVar27 = puVar25;
  }
  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar27 & 0xff);
  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar27 << 0x10) >> 0x18);
  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)puVar26 & 0xff);
  (**(code **)(puVar29 + 0x196700))(pfVar18,(uint)((int)puVar26 << 0x10) >> 0x18);
  pfVar19 = (float *)&uStack_9c;
  do {
    pfVar11 = pfVar19 + 1;
    pfVar16 = (float *)(((uint)*(byte *)((int)pfVar19 + 1) << 2 |
                         (uint)*(byte *)((int)pfVar19 + 2) << 4 | (uint)*(byte *)pfVar19 |
                        (uint)*(byte *)((int)pfVar19 + 3) << 6) & 0xff);
    pfVar9 = pfVar18;
    (**(code **)(puVar29 + 0x196700))();
    pfVar19 = pfVar11;
  } while (pfVar23 != pfVar11);
  if (afStack_8c[0] == *pfVar3) {
    return *pfVar3;
  }
  pcVar30 = *(code **)(puVar29 + 0x196788);
  (*pcVar30)();
  pcVar32 = pcVar30 + 0x19dd78;
  piVar24 = *(int **)(pcVar30 + 0x1966f8);
  iStack_e4 = *piVar24;
  pcStack_130 = pcVar32;
  pfStack_e0 = pfVar23;
  pfStack_dc = pfVar18;
  pfStack_d8 = pfVar3;
  pfStack_d4 = pfVar11;
  puStack_d0 = puVar26;
  puStack_cc = puVar27;
  if (pfVar9 == (float *)0x0) {
LAB_00213360:
    pfVar9 = pfVar18;
    (**(code **)(pcVar32 + -0x72a8))
              (*(int *)(pcVar32 + -0x7fd0) + 0xd78,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6c7,
               *(int *)(pcVar32 + -0x7f60) + -0x2ab4);
  }
  else {
    if (pfVar9[0xc85] != -1.2269538e-12) goto LAB_00213390;
    if (pfVar9[0xc84] != 0.0) {
      pfStack_13c = pfVar9 + 0x884;
      pfStack_140 = (float *)(*(int *)(pcVar30 + 0x195dac) + -0x62ac);
      (**(code **)(pcVar30 + 0x1966a8))
                (0x8000,*(int *)(pcVar30 + 0x195e18) + -0x2c20,
                 *(int *)(pcVar30 + 0x195e18) + -0x2ac4,0x6ca);
    }
    pcVar32 = pcStack_130;
    pfVar3 = pfVar16;
    if (pfVar16 == (float *)0x0) {
LAB_0021333c:
      (**(code **)(pcVar32 + -0x72a8))
                (*(int *)(pcVar32 + -0x7fd0) + 0x1cac,*(int *)(pcVar32 + -0x7f60) + -0x2c20,0x6cc,
                 *(int *)(pcVar32 + -0x7f60) + -0x2ab4);
      pfVar18 = pfVar9;
      goto LAB_00213360;
    }
    if (pfVar16[7] != -1.2269538e-12) {
      (**(code **)(pcStack_130 + -0x72a8))
                (*(int *)(pcStack_130 + -0x7fd0) + 0x294c,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,
                 0x6cd,*(int *)(pcStack_130 + -0x7f60) + -0x2ab4);
      goto LAB_0021333c;
    }
    pfVar23 = (float *)(**(code **)(pcStack_130 + -0x72a4))(pfVar9,pfVar16);
    iVar8 = (**(code **)(pcStack_130 + -0x7664))(pfVar9,pfVar23,2,pfVar16);
    if (iVar8 == 0) {
      (**(code **)(pcStack_130 + -0x73a0))(pfVar23);
      fVar34 = 0.0;
      goto LAB_00212c9c;
    }
    pfStack_140 = (float *)0x0;
    (**(code **)(pcStack_130 + -0x7588))(pfVar23);
    iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);
    if ((iVar8 == 0x7c) &&
       (uStack_120 = (**(code **)(pcStack_130 + -0x7844))(pfVar23), (uStack_120 & 0x1006) == 0x1006)
       ) {
      puVar26 = (uint *)0x1;
      fStack_11c = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);
      fStack_118 = (float)(**(code **)(pcStack_130 + -0x7844))(pfVar23);
      uStack_114 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);
      puStack_110 = (uint *)(**(code **)(pcStack_130 + -0x7844))(pfVar23);
      uStack_10c = (**(code **)(pcStack_130 + -0x7844))(pfVar23);
      pfStack_140 = (float *)0x1;
      (**(code **)(pcStack_130 + -0x7588))(pfVar23);
      iVar8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);
      if (iVar8 != 0x20) goto LAB_00212c24;
      uStack_100 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);
      iStack_fc = (**(code **)(pcStack_130 + -0x7844))(pfVar23);
      uStack_f8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);
      uStack_f4 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);
      uStack_f0 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);
      uStack_ec = (**(code **)(pcStack_130 + -0x7844))(pfVar23);
      uStack_e8 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);
      uStack_108 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);
      uStack_104 = (**(code **)(pcStack_130 + -0x7844))(pfVar23);
      pfStack_140 = (float *)0x1;
      (**(code **)(pcStack_130 + -0x7588))(pfVar23);
      puVar26 = (uint *)(uStack_104 & 0x200);
      if ((int)(uStack_104 << 10) < 0) {
        unaff_s6 = (uint *)(uint)(puStack_110 != (uint *)0x0);
      }
      else {
        unaff_s6 = (uint *)0x0;
      }
      pfStack_140 = (float *)0x0;
      (**(code **)(pcStack_130 + -0x7588))(pfVar23);
      if ((uStack_100 & 0x40) == 0) {
        if (-1 < (int)(uStack_100 << 0xe)) {
          if ((uStack_100 & 4) == 0) {
            uVar17 = 0x729;
            goto LAB_002130b8;
          }
          if (iStack_fc == 0x33545844) {
            puVar27 = *(uint **)(pcStack_130 + -0x7cec);
            unaff_s8 = 5.60519e-45;
            unaff_s7 = 7.00649e-45;
            pcStack_128 = (code *)(puVar27 + 0x1678);
          }
          else if (iStack_fc == 0x35545844) {
            puVar27 = *(uint **)(pcStack_130 + -0x7cec);
            unaff_s8 = 5.60519e-45;
            unaff_s7 = 8.40779e-45;
            pcStack_128 = (code *)(puVar27 + 0x1635);
          }
          else {
            uVar17 = 0x722;
            if (iStack_fc != 0x31545844) goto LAB_002130b8;
            puVar27 = *(uint **)(pcStack_130 + -0x7cec);
            unaff_s8 = 0.0;
            unaff_s7 = 5.60519e-45;
            pcStack_128 = (code *)(puVar27 + 0x16bb);
          }
          goto joined_r0x00212ec0;
        }
        puVar27 = *(uint **)(pcStack_130 + -0x7cec);
        if ((uStack_100 & 1) == 0) goto LAB_00212fe4;
        uVar17 = 0x6fe;
LAB_002130b8:
        iStack_138 = *(int *)(pcStack_130 + -0x7fd0);
        iVar15 = *(int *)(pcStack_130 + -0x7f60);
        iVar8 = *(int *)(pcStack_130 + -0x7f60);
        pcVar32 = *(code **)(pcStack_130 + -0x7990);
        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7f60) + -0x2c10);
        goto LAB_00212c58;
      }
      puVar27 = *(uint **)(pcStack_130 + -0x7cec);
      if ((uStack_100 & 1) != 0) {
        puVar27 = *(uint **)(pcStack_130 + -0x7cec);
        unaff_s8 = 5.60519e-45;
        unaff_s7 = 2.24208e-44;
        pcStack_128 = (code *)(puVar27 + 0x16fe);
        goto joined_r0x00212ec0;
      }
LAB_00212fe4:
      unaff_s8 = 0.0;
      unaff_s7 = 2.24208e-44;
      pcStack_128 = (code *)(puVar27 + 0x1285);
joined_r0x00212ec0:
      if (puVar26 != (uint *)0x0) {
        puVar26 = (uint *)-((int)(uStack_104 << 0x15) >> 0x1f);
        if ((uStack_104 & 0x800) != 0) {
          puVar26 = (uint *)((int)puVar26 + 1);
        }
        if ((uStack_104 & 0x1000) != 0) {
          puVar26 = (uint *)((int)puVar26 + 1);
        }
        if ((uStack_104 & 0x2000) != 0) {
          puVar26 = (uint *)((int)puVar26 + 1);
        }
        if ((uStack_104 & 0x4000) != 0) {
          puVar26 = (uint *)((int)puVar26 + 1);
        }
        if ((uStack_104 & 0x8000) == 0) {
          if (unaff_s6 == (uint *)0x0) goto LAB_00213068;
        }
        else {
          puVar26 = (uint *)((int)puVar26 + 1);
          if (unaff_s6 == (uint *)0x0) goto LAB_00212ed8;
        }
        puVar26 = puStack_110;
LAB_00213068:
        if (puVar26 != (uint *)0x0) {
          unaff_s6 = (uint *)0x0;
          goto LAB_00212ed8;
        }
LAB_00212efc:
        uVar17 = 0x73f;
        goto LAB_00212c2c;
      }
      puVar26 = puStack_110;
      if (unaff_s6 != (uint *)0x0) goto LAB_00213068;
      puVar26 = (uint *)0x1;
LAB_00212ed8:
      uVar46 = (**(code **)(pcStack_130 + -0x73f8))(pfVar23);
      puVar27 = puVar26;
      if (unaff_s6 == (uint *)((ulonglong)uVar46 >> 0x20)) {
        pcVar32 = *(code **)(pcStack_130 + -0x7094);
        if ((uint *)uVar46 < puVar26) goto LAB_00212efc;
      }
      else {
        pcVar32 = *(code **)(pcStack_130 + -0x7094);
      }
      iVar8 = (*pcVar32)(0xb);
      if (iVar8 == 0) {
        iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;
        pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fd0) + 0x2ae4);
        pfStack_140 = (float *)0x190;
        pfStack_134 = pfVar9 + 0x884;
        (**(code **)(pcStack_130 + -0x7990))
                  (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,
                   *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x742);
        if (pfVar23 == (float *)0x0) {
          fVar34 = 0.0;
          pfVar9 = pfVar9 + 0x884;
          goto LAB_00212c9c;
        }
        goto LAB_00212c74;
      }
      puVar27 = &uStack_120;
      unaff_s6 = (uint *)0x0;
      uVar17 = (**(code **)(pcStack_130 + -0x7748))
                         (pfVar9,*(int *)(pcStack_130 + -0x7f60) + -0x2bf8);
      iVar8 = (**(code **)(pcStack_130 + -0x7694))(uVar17);
      uStack_124 = (uint)(iVar8 != 0);
      while( true ) {
        fVar34 = pfVar9[0x77];
        pfVar23[0x97] = 1.4013e-45;
        *pfVar23 = 1.4013e-45;
        pfVar23[0xaf] = unaff_s8;
        pfVar23[2] = unaff_s7;
        pfVar23[6] = fStack_118;
        pfVar23[7] = fStack_11c;
        pfVar23[8] = 1.12104e-44;
        if (fVar34 != 0.0) break;
        iVar8 = (**(code **)(pcStack_130 + -0x7404))(pfVar23,fStack_118,fStack_11c,pfVar16);
        if (iVar8 == 0) {
LAB_00213284:
          fVar34 = (float)(**(code **)(pcStack_130 + -0x73a0))(pfVar23);
          goto LAB_00212c9c;
        }
        (**(code **)(pcStack_130 + -0x7a20))(pfVar23,pfVar16);
        pfStack_140 = pfVar16;
        iVar8 = (*pcStack_128)(pfVar9,pfVar23,puVar27,uStack_124);
        if (iVar8 == 0) {
          (**(code **)(pcStack_130 + -0x7228))(pfVar23);
          if (unaff_s6 == (uint *)0x0) goto LAB_00213284;
          fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);
          goto LAB_00212c9c;
        }
        unaff_s6 = (uint *)((int)unaff_s6 + 1);
        if (unaff_s6 == puVar26) break;
        iVar8 = (**(code **)(pcStack_130 + -0x7168))(pfVar23);
        if (iVar8 != 0) {
          pfStack_134 = pfVar9 + 0x884;
          iStack_138 = *(int *)(pcStack_130 + -0x7fd0) + 0x3e28;
          pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -0x17c);
          pfStack_140 = (float *)&DAT_000001a9;
          (**(code **)(pcStack_130 + -0x7990))
                    (pfVar16,*(int *)(pcStack_130 + -0x7f60) + -0x2c20,
                     *(int *)(pcStack_130 + -0x7f60) + -0x2ac4,0x74e);
          pcVar32 = *(code **)(pcStack_130 + -0x7228);
          goto LAB_00212c7c;
        }
        (**(code **)(pcStack_130 + -0x7920))(pfVar9,pfVar23,pfVar16);
        iVar8 = (**(code **)(pcStack_130 + -0x7440))(pfVar23);
        if (iVar8 == 0) goto LAB_00213284;
        pfVar23 = (float *)(**(code **)(pcStack_130 + -0x74a8))(pfVar23);
      }
      (**(code **)(pcStack_130 + -0x7228))(pfVar23);
      fVar34 = (float)(**(code **)(pcStack_130 + -0x7464))(pfVar23);
    }
    else {
LAB_00212c24:
      uVar17 = 0x6dd;
LAB_00212c2c:
      iStack_138 = *(int *)(pcStack_130 + -0x7fd0);
      iVar15 = *(int *)(pcStack_130 + -0x7f60);
      iVar8 = *(int *)(pcStack_130 + -0x7f60);
      pcVar32 = *(code **)(pcStack_130 + -0x7990);
      pfStack_13c = (float *)(*(int *)(pcStack_130 + -0x7fc4) + -400);
LAB_00212c58:
      pfStack_134 = pfVar9 + 0x884;
      iStack_138 = iStack_138 + 0x3e28;
      pfStack_140 = (float *)&DAT_000001a9;
      (*pcVar32)(pfVar16,iVar8 + -0x2c20,iVar15 + -0x2ac4,uVar17);
      if (pfVar23 != (float *)0x0) {
LAB_00212c74:
        pcVar32 = *(code **)(pcStack_130 + -0x7228);
LAB_00212c7c:
        (*pcVar32)(pfVar23);
        (**(code **)(pcStack_130 + -0x73a0))(pfVar23);
      }
      fVar34 = 0.0;
      pfVar9 = pfVar9 + 0x884;
    }
LAB_00212c9c:
    pcVar32 = pcStack_130;
    if (iStack_e4 == *piVar24) {
      return fVar34;
    }
  }
  (**(code **)(pcVar32 + -0x784c))();
LAB_00213390:
  pfVar19 = (float *)0x6c8;
  pcVar31 = *(code **)(pcVar32 + -0x72a8);
  pcVar30 = (code *)(*(int *)(pcVar32 + -0x7f60) + -0x2ab4);
  pfVar18 = (float *)(*(int *)(pcVar32 + -0x7f60) + -0x2c20);
  pcVar33 = FUN_002133b4;
  puVar25 = (uint *)(*(int *)(pcVar32 + -0x7fd0) + 0xda0);
  (*pcVar31)();
  pcStack_1c8 = pcVar31 + 0x19d4fc;
  piStack_1a4 = *(int **)(pcVar31 + 0x195e7c);
  pfStack_1a8 = (float *)0x0;
  iStack_18c = *piStack_1a4;
  uVar40 = puVar25[7];
  pfStack_1b4 = pfVar19;
  pfStack_188 = pfVar23;
  pfStack_184 = pfVar9;
  pfStack_180 = pfVar3;
  piStack_17c = piVar24;
  puStack_178 = puVar26;
  puStack_174 = puVar27;
  puStack_170 = unaff_s6;
  fStack_16c = unaff_s7;
  fStack_168 = unaff_s8;
  pcStack_164 = pcVar33;
  if (0 < (int)uVar40) {
    in_f22_23 = *(double *)(*(int *)(pcVar31 + 0x195534) + -0x5af0);
    in_f20_21 = CONCAT44((int)((ulonglong)in_f20_21 >> 0x20),
                         *(undefined4 *)(*(int *)(pcVar31 + 0x19552c) + 0x1a50));
    do {
      pfVar16 = pfStack_1a8;
      pcVar30 = (code *)puVar25[6];
      pfVar3 = (float *)0x0;
      if (0 < (int)pcVar30) {
        do {
          pcVar32 = pcVar30 + -(int)pfVar3;
          uStack_1d0 = uVar40 - (int)pfVar16;
          pfStack_1cc = pfStack_1b4;
          if (4 < uStack_1d0) {
            uStack_1d0 = 4;
          }
          pcVar30 = (code *)&DAT_00000004;
          if (pcVar32 < &DAT_00000005) {
            pcVar30 = pcVar32;
          }
          pfVar18 = pfVar3;
          pfVar19 = pfVar16;
          pfVar23 = (float *)(**(code **)(pcStack_1c8 + -0x798c))(puVar25);
          pfVar9 = pfVar16;
          if (pfVar23 == (float *)0x0) goto LAB_002137bc;
          uStack_1b0 = (**(code **)(pcStack_1c8 + -0x70c0))(puVar25);
          piStack_1b8 = (int *)(uStack_1b0 & 0xff);
          puVar27 = (uint *)(**(code **)(pcStack_1c8 + -0x70c0))(puVar25);
          piVar24 = (int *)((uint)puVar27 & 0xff);
          unaff_s7 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);
          unaff_s6 = (uint *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);
          uStack_1bc = (**(code **)(pcStack_1c8 + -0x71b4))(puVar25);
          pfVar18 = (float *)(**(code **)(pcStack_1c8 + -0x71b4))(puVar25);
          unaff_s8 = (float)(**(code **)(pcStack_1c8 + -0x7844))(puVar25);
          pcVar30 = (code *)0x1;
          pfVar19 = &fStack_19c;
          FUN_00212408(uStack_1bc);
          iVar8 = (**(code **)(pcStack_1c8 + -0x7168))(puVar25);
          if (iVar8 != 0) goto LAB_002137bc;
          iVar8 = 0;
          uVar40 = puVar25[6];
          piVar24 = (int *)(uint)(piVar24 < piStack_1b8);
          uStack_1bc = uStack_1b0 & 0xff;
          piStack_1b8 = (int *)((uint)puVar27 & 0xff);
          uStack_1ac = 0xcccccccd;
          uStack_1b0 = 0x24924925;
          pfVar18 = pfVar16;
          do {
            iVar15 = 0;
            puVar27 = (uint *)&DAT_00000007;
            pfVar11 = pfVar3;
            do {
              if (((int)pfVar11 < (int)uVar40) && ((int)pfVar18 < (int)puVar25[7])) {
                uVar37 = puVar25[0xb4];
                uVar41 = (iVar8 + iVar15) * 3;
                uVar36 = (uint)unaff_s8 >> ((iVar8 + iVar15) * 2 & 0x1fU) & 3;
                uVar35 = ((int)unaff_s6 << 1) << (~uVar41 & 0x1f) |
                         (uint)unaff_s7 >> (uVar41 & 0x1f);
                if ((uVar41 & 0x20) != 0) {
                  uVar35 = (uint)unaff_s6 >> (uVar41 & 0x1f);
                }
                iVar13 = *(int *)(uVar37 + 0x20);
                pfVar19 = pfVar23 + *(int *)(uVar37 + 0x14);
                uVar35 = uVar35 & 7;
                pfVar23[*(int *)(uVar37 + 8)] =
                     (float)((double)*(byte *)((int)&fStack_19c + uVar36) * in_f22_23);
                pcVar30 = (code *)(uint)abStack_198[uVar36];
                *pfVar19 = (float)((double)(int)pcVar30 * in_f22_23);
                pfVar23[iVar13] = (float)((double)abStack_194[uVar36] * in_f22_23);
                if (uVar35 == 0) {
                  fVar34 = (float)((double)uStack_1bc * in_f22_23);
                }
                else if (uVar35 == 1) {
                  fVar34 = (float)((double)(int)piStack_1b8 * in_f22_23);
                }
                else if (piVar24 == (int *)0x0) {
                  fVar34 = 0.0;
                  if (uVar35 != 6) {
                    if (uVar35 != 7) {
                      uVar41 = (uint)((ulonglong)
                                      ((uVar35 - 1) * (int)piStack_1b8 + (6 - uVar35) * uStack_1bc)
                                      * 0xcccccccd >> 0x20);
                      goto LAB_00213750;
                    }
                    fVar34 = (float)in_f20_21;
                  }
                }
                else {
                  uVar41 = (uint)((ulonglong)
                                  ((uVar35 - 1) * (int)piStack_1b8 + (8 - uVar35) * uStack_1bc) *
                                  0x124924925 >> 0x21);
LAB_00213750:
                  fVar34 = (float)((double)((uVar41 << 0x16) >> 0x18) * in_f22_23);
                }
                if (*(int *)(uVar37 + 0x34) != 0) {
                  pfVar23[*(int *)(uVar37 + 0x38)] = fVar34;
                }
                pfVar23 = pfVar23 + puVar25[0xb0];
              }
              iVar15 = iVar15 + 1;
              pfVar11 = (float *)((int)pfVar3 + iVar15);
            } while (iVar15 != 4);
            iVar8 = iVar8 + 4;
            pfVar18 = (float *)((int)pfVar18 + 1);
          } while (iVar8 != 0x10);
          pfVar18 = pfStack_1b4;
          iVar8 = (**(code **)(pcStack_1c8 + -0x76cc))(puVar25);
          if (iVar8 == 0) goto LAB_002137bc;
          pcVar30 = (code *)puVar25[6];
          pfVar3 = pfVar3 + 1;
          pcVar32 = *(code **)(pcStack_1c8 + -0x7168);
          if ((int)pcVar30 <= (int)pfVar3) goto LAB_0021380c;
          uVar40 = puVar25[7];
        } while( true );
      }
      pcVar32 = *(code **)(pcStack_1c8 + -0x7168);
LAB_0021380c:
      iVar8 = (*pcVar32)(puVar25);
      if (iVar8 != 0) {
LAB_002137bc:
        fVar34 = 0.0;
        goto LAB_002137c0;
      }
      uVar40 = puVar25[7];
      pfStack_1a8 = pfStack_1a8 + 1;
      puVar26 = puVar25;
    } while ((int)pfStack_1a8 < (int)uVar40);
  }
  fVar34 = 1.4013e-45;
  puVar25 = puVar26;
LAB_002137c0:
  if (iStack_18c == *piStack_1a4) {
    return fVar34;
  }
  pcVar32 = *(code **)(pcStack_1c8 + -0x784c);
  pcVar31 = FUN_0021384c;
  iVar8 = iStack_18c;
  (*pcVar32)();
  piVar4 = *(int **)(pcVar32 + 0x1959e4);
  iStack_21c = *piVar4;
  iVar15 = *(int *)(iVar8 + 0x1c);
  pfVar16 = pfVar19;
  pfStack_218 = pfVar23;
  pfStack_214 = pfVar9;
  pfStack_210 = pfVar3;
  piStack_20c = piVar24;
  puStack_208 = puVar25;
  puStack_204 = puVar27;
  puStack_200 = unaff_s6;
  fStack_1fc = unaff_s7;
  fStack_1f8 = unaff_s8;
  pcStack_1f4 = pcVar31;
  uStack_1f0 = in_f20_21;
  dStack_1e8 = in_f22_23;
  if (0 < iVar15) {
    pfVar3 = (float *)0x0;
    iVar13 = *(int *)(pcVar32 + 0x195378);
    dVar44 = *(double *)(*(int *)(pcVar32 + 0x19509c) + -0x5af0);
    dVar45 = dVar44;
    do {
      pcVar30 = *(code **)(iVar8 + 0x18);
      pfVar23 = (float *)0x0;
      if ((int)pcVar30 < 1) {
        pcVar31 = *(code **)(pcVar32 + 0x195efc);
      }
      else {
        while( true ) {
          uStack_248 = iVar15 - (int)pfVar3;
          pcVar30 = pcVar30 + -(int)pfVar23;
          if (4 < uStack_248) {
            uStack_248 = 4;
          }
          if (&DAT_00000004 < pcVar30) {
            pcVar30 = (code *)&DAT_00000004;
          }
          pfVar18 = pfVar23;
          pfVar16 = pfVar3;
          iVar15 = (**(code **)(pcVar32 + 0x1956d8))(iVar8);
          if (iVar15 == 0) goto LAB_00213b34;
          uVar40 = (**(code **)(pcVar32 + 0x195820))(iVar8);
          uVar41 = (**(code **)(pcVar32 + 0x195820))(iVar8);
          uVar17 = (**(code **)(pcVar32 + 0x195eb0))(iVar8);
          pfVar18 = (float *)(**(code **)(pcVar32 + 0x195eb0))(iVar8);
          uVar35 = (**(code **)(pcVar32 + 0x195820))(iVar8);
          pcVar30 = (code *)0x1;
          pfVar16 = &fStack_22c;
          (*(code *)(iVar13 + 0x2408))(uVar17);
          iVar5 = (**(code **)(pcVar32 + 0x195efc))(iVar8);
          if (iVar5 != 0) goto LAB_00213b34;
          pcVar30 = *(code **)(iVar8 + 0x18);
          iVar14 = 0;
          iVar5 = 0;
          pfVar16 = pfVar3;
          do {
            iVar6 = 0;
            pfVar18 = pfVar23;
            do {
              if (((int)pfVar18 < (int)pcVar30) &&
                 (iVar12 = iVar6 + iVar14 * 4, (int)pfVar16 < *(int *)(iVar8 + 0x1c))) {
                iVar21 = *(int *)(iVar8 + 0x2d0);
                iVar28 = *(int *)(iVar21 + 0x14);
                uVar36 = uVar35 >> (iVar12 * 2 & 0x1fU) & 3;
                iVar22 = *(int *)(iVar21 + 0x20);
                *(float *)(iVar15 + *(int *)(iVar21 + 8) * 4) =
                     (float)((double)*(byte *)((int)&fStack_22c + uVar36) * dVar45);
                *(float *)(iVar15 + iVar28 * 4) = (float)((double)abStack_228[uVar36] * dVar45);
                *(float *)(iVar15 + iVar22 * 4) = (float)((double)abStack_224[uVar36] * dVar45);
                if (iVar14 < 2) {
                  uVar36 = uVar40 >> (iVar12 * 4 & 0x1fU);
                }
                else {
                  uVar36 = uVar41 >> ((iVar5 + iVar6) * 4 & 0x1fU);
                }
                if (*(int *)(iVar21 + 0x34) != 0) {
                  *(float *)(iVar15 + *(int *)(iVar21 + 0x38) * 4) =
                       (float)((double)((uVar36 & 0xf) * 0x11 & 0xff) * dVar44);
                }
                iVar15 = iVar15 + *(int *)(iVar8 + 0x2c0) * 4;
              }
              iVar6 = iVar6 + 1;
              pfVar18 = (float *)((int)pfVar23 + iVar6);
            } while (iVar6 != 4);
            iVar14 = iVar14 + 1;
            pfVar16 = (float *)((int)pfVar16 + 1);
            iVar5 = iVar5 + 4;
          } while (iVar14 != 4);
          pfVar18 = pfVar19;
          iVar15 = (**(code **)(pcVar32 + 0x195998))(iVar8);
          if (iVar15 == 0) goto LAB_00213b34;
          pcVar30 = *(code **)(iVar8 + 0x18);
          pfVar23 = pfVar23 + 1;
          pcVar31 = *(code **)(pcVar32 + 0x195efc);
          if ((int)pcVar30 <= (int)pfVar23) break;
          iVar15 = *(int *)(iVar8 + 0x1c);
        }
      }
      iVar15 = (*pcVar31)(iVar8);
      if (iVar15 != 0) {
LAB_00213b34:
        fVar34 = 0.0;
        goto LAB_00213b38;
      }
      iVar15 = *(int *)(iVar8 + 0x1c);
      pfVar3 = pfVar3 + 1;
    } while ((int)pfVar3 < iVar15);
  }
  fVar34 = 1.4013e-45;
LAB_00213b38:
  if (iStack_21c == *piVar4) {
    return fVar34;
  }
  pcVar32 = *(code **)(pcVar32 + 0x195818);
  iVar8 = iStack_21c;
  (*pcVar32)();
  iVar15 = (**(code **)(pcVar32 + 0x195b8c))(pfVar18);
  if (iVar15 != 0) {
    puVar7 = (undefined4 *)(**(code **)(pcVar32 + 0x195df4))();
    uVar17 = (**(code **)(pcVar32 + 0x195830))(*puVar7);
    (**(code **)(pcVar32 + 0x195364))
              (uStack_248,*(int *)(pcVar32 + 0x194d94) + -0x2c20,
               *(int *)(pcVar32 + 0x194d94) + -0x2ad0,0x41e,0x145,
               *(int *)(pcVar32 + 0x194d30) + -0x17c,*(int *)(pcVar32 + 0x194d24) + 0xe78,
               pfVar18 + 0xd0,uVar17);
    (**(code **)(pcVar32 + 0x1954b8))(uVar17);
    return 0.0;
  }
  if (-1 < (int)pfVar16[6] << 9) {
    return 1.4013e-45;
  }
  if ((((uint)pfVar16[6] & 0x1000) == 0) && (((uint)pfVar16[7] & 0x200) == 0)) {
    return 1.4013e-45;
  }
  if ((uint)pfVar16[2] < 2) {
    fVar34 = pfVar16[1];
    uVar40 = 1;
  }
  else {
    fVar34 = pfVar16[1];
    uVar40 = (uint)pfVar16[2] >> 1;
  }
  if ((uint)fVar34 < 2) {
    uVar41 = 1;
  }
  else {
    uVar41 = (uint)fVar34 >> 1;
  }
  iVar15 = 1;
  if ((int)pfVar16[5] < 2) {
    return 1.4013e-45;
  }
  do {
    (**(code **)(pcVar32 + 0x1953d4))(iVar8,pfVar18,uStack_248);
    iVar15 = iVar15 + 1;
    pcVar31 = *(code **)(pcVar32 + 0x19584c);
    if (pfVar18[0xcda] == 0.0) {
      return 0.0;
    }
    *(float *)((int)pfVar18[0xcda] + 700) = pfVar18[0xaf];
    pfVar18 = (float *)(*pcVar31)(pfVar18);
    iVar13 = (**(code **)(pcVar32 + 0x1958f0))(pfVar18,uVar40,uVar41,uStack_248);
    if (iVar13 == 0) {
      return 0.0;
    }
    fVar34 = (float)(*pcVar30)(pfVar18,pfVar16,uStack_248);
    if (fVar34 == 0.0) {
      return 0.0;
    }
    if (uVar40 == 1) {
      if (uVar41 == 1) {
        return fVar34;
      }
LAB_00213d14:
      uVar41 = uVar41 >> 1;
    }
    else {
      uVar40 = uVar40 >> 1;
      if (uVar41 != 1) goto LAB_00213d14;
    }
    if ((int)pfVar16[5] <= iVar15) {
      return fVar34;
    }
  } while( true );
}

