
public class Class328 {

   float aFloat4065;
   float aFloat4066;
   float aFloat4067;
   float aFloat4068;
   float aFloat4069;
   float aFloat4070;
   float aFloat4071;
   float aFloat4072;
   float aFloat4073;
   public static Class328 aClass328_4074 = new Class328();
   float aFloat4075;
   float aFloat4076;
   float aFloat4077;


   public void method5987(float var1, float var2, float var3, float var4) {
      float var5 = (float)Math.cos((double)var4);
      float var6 = (float)Math.sin((double)var4);
      float var7 = var5 + var1 * var1 * (1.0F - var5);
      float var8 = var3 * var6 + var2 * var1 * (1.0F - var5);
      float var9 = -var2 * var6 + var3 * var1 * (1.0F - var5);
      float var10 = -var3 * var6 + var1 * var2 * (1.0F - var5);
      float var11 = var5 + var2 * var2 * (1.0F - var5);
      float var12 = var1 * var6 + var3 * var2 * (1.0F - var5);
      float var13 = var2 * var6 + var1 * var3 * (1.0F - var5);
      float var14 = -var1 * var6 + var2 * var3 * (1.0F - var5);
      float var15 = var5 + var3 * var3 * (1.0F - var5);
      float var16 = this.aFloat4066;
      float var17 = this.aFloat4070;
      float var18 = this.aFloat4069;
      float var19 = this.aFloat4065;
      float var20 = this.aFloat4072;
      float var21 = this.aFloat4076;
      float var22 = this.aFloat4075;
      float var23 = this.aFloat4077;
      this.aFloat4066 = var16 * var7 + var17 * var10 + this.aFloat4068 * var13;
      this.aFloat4070 = var16 * var8 + var17 * var11 + this.aFloat4068 * var14;
      this.aFloat4068 = var16 * var9 + var17 * var12 + this.aFloat4068 * var15;
      this.aFloat4069 = var18 * var7 + var19 * var10 + this.aFloat4071 * var13;
      this.aFloat4065 = var18 * var8 + var19 * var11 + this.aFloat4071 * var14;
      this.aFloat4071 = var18 * var9 + var19 * var12 + this.aFloat4071 * var15;
      this.aFloat4072 = var20 * var7 + var21 * var10 + this.aFloat4073 * var13;
      this.aFloat4076 = var20 * var8 + var21 * var11 + this.aFloat4073 * var14;
      this.aFloat4073 = var20 * var9 + var21 * var12 + this.aFloat4073 * var15;
      this.aFloat4075 = var22 * var7 + var23 * var10 + this.aFloat4067 * var13;
      this.aFloat4077 = var22 * var8 + var23 * var11 + this.aFloat4067 * var14;
      this.aFloat4067 = var22 * var9 + var23 * var12 + this.aFloat4067 * var15;
   }

   public Class328(Class328 var1) {
      this.method5991(var1);
   }

   public void method5988(float var1, float var2, float var3) {
      this.aFloat4075 += var1;
      this.aFloat4077 += var2;
      this.aFloat4067 += var3;
   }

   public void method5989(Class325 var1) {
      this.method5998(var1.aClass321_4032);
      this.method6004(var1.aClass326_4031);
   }

   public void method5990(Class325 var1) {
      float var2 = var1.aClass321_4032.aFloat4017 * var1.aClass321_4032.aFloat4017;
      float var3 = var1.aClass321_4032.aFloat4017 * var1.aClass321_4032.aFloat4020;
      float var4 = var1.aClass321_4032.aFloat4017 * var1.aClass321_4032.aFloat4016;
      float var5 = var1.aClass321_4032.aFloat4017 * var1.aClass321_4032.aFloat4021;
      float var6 = var1.aClass321_4032.aFloat4020 * var1.aClass321_4032.aFloat4020;
      float var7 = var1.aClass321_4032.aFloat4020 * var1.aClass321_4032.aFloat4016;
      float var8 = var1.aClass321_4032.aFloat4020 * var1.aClass321_4032.aFloat4021;
      float var9 = var1.aClass321_4032.aFloat4016 * var1.aClass321_4032.aFloat4016;
      float var10 = var1.aClass321_4032.aFloat4016 * var1.aClass321_4032.aFloat4021;
      float var11 = var1.aClass321_4032.aFloat4021 * var1.aClass321_4032.aFloat4021;
      this.aFloat4066 = var6 + var2 - var11 - var9;
      this.aFloat4070 = var7 + var5 + var7 + var5;
      this.aFloat4068 = var8 - var4 - var4 + var8;
      this.aFloat4069 = var7 - var5 - var5 + var7;
      this.aFloat4065 = var9 + var2 - var6 - var11;
      this.aFloat4071 = var10 + var3 + var10 + var3;
      this.aFloat4072 = var8 + var4 + var8 + var4;
      this.aFloat4076 = var10 - var3 - var3 + var10;
      this.aFloat4073 = var11 + var2 - var9 - var6;
      this.aFloat4075 = var1.aClass326_4031.aFloat4036;
      this.aFloat4077 = var1.aClass326_4031.aFloat4037;
      this.aFloat4067 = var1.aClass326_4031.aFloat4033;
   }

   public void method5991(Class328 var1) {
      this.aFloat4066 = var1.aFloat4066;
      this.aFloat4069 = var1.aFloat4069;
      this.aFloat4072 = var1.aFloat4072;
      this.aFloat4075 = var1.aFloat4075;
      this.aFloat4070 = var1.aFloat4070;
      this.aFloat4065 = var1.aFloat4065;
      this.aFloat4076 = var1.aFloat4076;
      this.aFloat4077 = var1.aFloat4077;
      this.aFloat4068 = var1.aFloat4068;
      this.aFloat4071 = var1.aFloat4071;
      this.aFloat4073 = var1.aFloat4073;
      this.aFloat4067 = var1.aFloat4067;
   }

   public void method5992(float var1, float var2, float var3, float var4, float var5, float var6, float var7, float var8, float var9) {
      float var10 = var4 - var1;
      float var11 = var5 - var2;
      float var12 = var6 - var3;
      float var13 = var8 * var12 - var9 * var11;
      float var14 = var9 * var10 - var7 * var12;
      float var15 = var7 * var11 - var8 * var10;
      float var16 = (float)(1.0D / Math.sqrt((double)(var13 * var13 + var14 * var14 + var15 * var15)));
      float var17 = (float)(1.0D / Math.sqrt((double)(var10 * var10 + var11 * var11 + var12 * var12)));
      this.aFloat4066 = var13 * var16;
      this.aFloat4069 = var14 * var16;
      this.aFloat4072 = var15 * var16;
      this.aFloat4068 = var10 * var17;
      this.aFloat4071 = var11 * var17;
      this.aFloat4073 = var12 * var17;
      this.aFloat4070 = this.aFloat4071 * this.aFloat4072 - this.aFloat4073 * this.aFloat4069;
      this.aFloat4065 = this.aFloat4073 * this.aFloat4066 - this.aFloat4068 * this.aFloat4072;
      this.aFloat4076 = this.aFloat4068 * this.aFloat4069 - this.aFloat4071 * this.aFloat4066;
      this.aFloat4075 = -(var1 * this.aFloat4066 + var2 * this.aFloat4069 + var3 * this.aFloat4072);
      this.aFloat4077 = -(var1 * this.aFloat4070 + var2 * this.aFloat4065 + var3 * this.aFloat4076);
      this.aFloat4067 = -(var1 * this.aFloat4068 + var2 * this.aFloat4071 + var3 * this.aFloat4073);
   }

   public void method5993(int var1, int var2, int var3, float var4, float var5, float var6) {
      if(var1 != 0) {
         float var7 = Class322.aFloatArray4023[var1 & 16383];
         float var8 = Class322.aFloatArray4024[var1 & 16383];
         this.aFloat4073 = 1.0F;
         this.aFloat4076 = 0.0F;
         this.aFloat4072 = 0.0F;
         this.aFloat4071 = 0.0F;
         this.aFloat4068 = 0.0F;
         this.aFloat4066 = 2.0F * var7 * (float)var2;
         this.aFloat4065 = 2.0F * var7 * (float)var3;
         this.aFloat4070 = 2.0F * var8 * (float)var2;
         this.aFloat4069 = -2.0F * var8 * (float)var3;
         this.aFloat4075 = (float)(2 * var2) * (0.5F * var8 - 0.5F * var7) + var4;
         this.aFloat4077 = (float)(2 * var3) * (-0.5F * var8 - 0.5F * var7) + var5;
         this.aFloat4067 = var6;
      } else {
         this.aFloat4076 = 0.0F;
         this.aFloat4072 = 0.0F;
         this.aFloat4071 = 0.0F;
         this.aFloat4069 = 0.0F;
         this.aFloat4068 = 0.0F;
         this.aFloat4070 = 0.0F;
         this.aFloat4066 = (float)(2 * var2);
         this.aFloat4065 = (float)(2 * var3);
         this.aFloat4073 = 1.0F;
         this.aFloat4075 = var4 - (float)var2;
         this.aFloat4077 = var5 - (float)var3;
         this.aFloat4067 = var6;
      }

   }

   public void method5994(float var1, float var2, float var3, float var4, float var5, float var6, float var7, float var8, float var9) {
      this.aFloat4066 = var1;
      this.aFloat4069 = var4;
      this.aFloat4072 = var7;
      this.aFloat4075 = 0.0F;
      this.aFloat4070 = var2;
      this.aFloat4065 = var5;
      this.aFloat4076 = var8;
      this.aFloat4077 = 0.0F;
      this.aFloat4068 = var3;
      this.aFloat4071 = var6;
      this.aFloat4073 = var9;
      this.aFloat4067 = 0.0F;
   }

   public void method5995(Class328 var1) {
      if(var1 == this) {
         this.method5996();
      } else {
         this.aFloat4066 = var1.aFloat4066;
         this.aFloat4069 = var1.aFloat4070;
         this.aFloat4072 = var1.aFloat4068;
         this.aFloat4070 = var1.aFloat4069;
         this.aFloat4065 = var1.aFloat4065;
         this.aFloat4076 = var1.aFloat4071;
         this.aFloat4068 = var1.aFloat4072;
         this.aFloat4071 = var1.aFloat4076;
         this.aFloat4073 = var1.aFloat4073;
         this.aFloat4075 = -(var1.aFloat4075 * this.aFloat4066 + var1.aFloat4077 * this.aFloat4069 + var1.aFloat4067 * this.aFloat4072);
         this.aFloat4077 = -(var1.aFloat4075 * this.aFloat4070 + var1.aFloat4077 * this.aFloat4065 + var1.aFloat4067 * this.aFloat4076);
         this.aFloat4067 = -(var1.aFloat4075 * this.aFloat4068 + var1.aFloat4077 * this.aFloat4071 + var1.aFloat4067 * this.aFloat4073);
      }

   }

   public void method5996() {
      float var1 = this.aFloat4075;
      float var2 = this.aFloat4077;
      float var3 = this.aFloat4069;
      this.aFloat4069 = this.aFloat4070;
      this.aFloat4070 = var3;
      float var4 = this.aFloat4072;
      this.aFloat4072 = this.aFloat4068;
      this.aFloat4068 = var4;
      float var5 = this.aFloat4076;
      this.aFloat4076 = this.aFloat4071;
      this.aFloat4071 = var5;
      this.aFloat4075 = -(var1 * this.aFloat4066 + var2 * this.aFloat4069 + this.aFloat4067 * this.aFloat4072);
      this.aFloat4077 = -(var1 * this.aFloat4070 + var2 * this.aFloat4065 + this.aFloat4067 * this.aFloat4076);
      this.aFloat4067 = -(var1 * this.aFloat4068 + var2 * this.aFloat4071 + this.aFloat4067 * this.aFloat4073);
   }

   public void method5997(float var1, float var2, float var3, float var4) {
      float var5 = (float)Math.cos((double)var4);
      float var6 = (float)Math.sin((double)var4);
      this.aFloat4066 = var5 + var1 * var1 * (1.0F - var5);
      this.aFloat4070 = var3 * var6 + var2 * var1 * (1.0F - var5);
      this.aFloat4068 = -var2 * var6 + var3 * var1 * (1.0F - var5);
      this.aFloat4069 = -var3 * var6 + var1 * var2 * (1.0F - var5);
      this.aFloat4065 = var5 + var2 * var2 * (1.0F - var5);
      this.aFloat4071 = var1 * var6 + var3 * var2 * (1.0F - var5);
      this.aFloat4072 = var2 * var6 + var1 * var3 * (1.0F - var5);
      this.aFloat4076 = -var1 * var6 + var2 * var3 * (1.0F - var5);
      this.aFloat4073 = var5 + var3 * var3 * (1.0F - var5);
      this.aFloat4067 = 0.0F;
      this.aFloat4077 = 0.0F;
      this.aFloat4075 = 0.0F;
   }

   public void method5998(Class321 var1) {
      this.method6052(var1.aFloat4020, var1.aFloat4016, var1.aFloat4021, var1.aFloat4017);
   }

   public void method5999(Class328 var1) {
      float var2 = this.aFloat4066;
      float var3 = this.aFloat4070;
      float var4 = this.aFloat4069;
      float var5 = this.aFloat4065;
      float var6 = this.aFloat4072;
      float var7 = this.aFloat4076;
      float var8 = this.aFloat4075;
      float var9 = this.aFloat4077;
      float var10 = this.aFloat4068;
      float var11 = this.aFloat4071;
      float var12 = this.aFloat4073;
      float var13 = this.aFloat4067;
      this.aFloat4066 = var2 * var1.aFloat4066 + var3 * var1.aFloat4069 + var10 * var1.aFloat4072;
      this.aFloat4070 = var2 * var1.aFloat4070 + var3 * var1.aFloat4065 + var10 * var1.aFloat4076;
      this.aFloat4068 = var2 * var1.aFloat4068 + var3 * var1.aFloat4071 + var10 * var1.aFloat4073;
      this.aFloat4069 = var4 * var1.aFloat4066 + var5 * var1.aFloat4069 + var11 * var1.aFloat4072;
      this.aFloat4065 = var4 * var1.aFloat4070 + var5 * var1.aFloat4065 + var11 * var1.aFloat4076;
      this.aFloat4071 = var4 * var1.aFloat4068 + var5 * var1.aFloat4071 + var11 * var1.aFloat4073;
      this.aFloat4072 = var6 * var1.aFloat4066 + var7 * var1.aFloat4069 + var12 * var1.aFloat4072;
      this.aFloat4076 = var6 * var1.aFloat4070 + var7 * var1.aFloat4065 + var12 * var1.aFloat4076;
      this.aFloat4073 = var6 * var1.aFloat4068 + var7 * var1.aFloat4071 + var12 * var1.aFloat4073;
      this.aFloat4075 = var8 * var1.aFloat4066 + var9 * var1.aFloat4069 + var13 * var1.aFloat4072 + var1.aFloat4075;
      this.aFloat4077 = var8 * var1.aFloat4070 + var9 * var1.aFloat4065 + var13 * var1.aFloat4076 + var1.aFloat4077;
      this.aFloat4067 = var8 * var1.aFloat4068 + var9 * var1.aFloat4071 + var13 * var1.aFloat4073 + var1.aFloat4067;
   }

   public void method6000(Class328 var1) {
      float var2 = this.aFloat4066;
      float var3 = this.aFloat4070;
      float var4 = this.aFloat4069;
      float var5 = this.aFloat4065;
      float var6 = this.aFloat4072;
      float var7 = this.aFloat4076;
      float var8 = this.aFloat4075;
      float var9 = this.aFloat4077;
      float var10 = this.aFloat4068;
      float var11 = this.aFloat4071;
      float var12 = this.aFloat4073;
      float var13 = this.aFloat4067;
      this.aFloat4066 = var2 * var1.aFloat4066 + var3 * var1.aFloat4069 + var10 * var1.aFloat4072;
      this.aFloat4070 = var2 * var1.aFloat4070 + var3 * var1.aFloat4065 + var10 * var1.aFloat4076;
      this.aFloat4068 = var2 * var1.aFloat4068 + var3 * var1.aFloat4071 + var10 * var1.aFloat4073;
      this.aFloat4069 = var4 * var1.aFloat4066 + var5 * var1.aFloat4069 + var11 * var1.aFloat4072;
      this.aFloat4065 = var4 * var1.aFloat4070 + var5 * var1.aFloat4065 + var11 * var1.aFloat4076;
      this.aFloat4071 = var4 * var1.aFloat4068 + var5 * var1.aFloat4071 + var11 * var1.aFloat4073;
      this.aFloat4072 = var6 * var1.aFloat4066 + var7 * var1.aFloat4069 + var12 * var1.aFloat4072;
      this.aFloat4076 = var6 * var1.aFloat4070 + var7 * var1.aFloat4065 + var12 * var1.aFloat4076;
      this.aFloat4073 = var6 * var1.aFloat4068 + var7 * var1.aFloat4071 + var12 * var1.aFloat4073;
      this.aFloat4075 = var8 * var1.aFloat4066 + var9 * var1.aFloat4069 + var13 * var1.aFloat4072 + var1.aFloat4075;
      this.aFloat4077 = var8 * var1.aFloat4070 + var9 * var1.aFloat4065 + var13 * var1.aFloat4076 + var1.aFloat4077;
      this.aFloat4067 = var8 * var1.aFloat4068 + var9 * var1.aFloat4071 + var13 * var1.aFloat4073 + var1.aFloat4067;
   }

   public void method6001(float var1, float var2, float var3) {
      this.aFloat4075 += var1;
      this.aFloat4077 += var2;
      this.aFloat4067 += var3;
   }

   public void method6002(float var1, float var2, float var3) {
      this.aFloat4066 *= var1;
      this.aFloat4069 *= var1;
      this.aFloat4072 *= var1;
      this.aFloat4075 *= var1;
      this.aFloat4070 *= var2;
      this.aFloat4065 *= var2;
      this.aFloat4076 *= var2;
      this.aFloat4077 *= var2;
      this.aFloat4068 *= var3;
      this.aFloat4071 *= var3;
      this.aFloat4073 *= var3;
      this.aFloat4067 *= var3;
   }

   public void method6003(float var1, float var2, float var3, float var4) {
      float var5 = (float)Math.cos((double)var4);
      float var6 = (float)Math.sin((double)var4);
      float var7 = var5 + var1 * var1 * (1.0F - var5);
      float var8 = var3 * var6 + var2 * var1 * (1.0F - var5);
      float var9 = -var2 * var6 + var3 * var1 * (1.0F - var5);
      float var10 = -var3 * var6 + var1 * var2 * (1.0F - var5);
      float var11 = var5 + var2 * var2 * (1.0F - var5);
      float var12 = var1 * var6 + var3 * var2 * (1.0F - var5);
      float var13 = var2 * var6 + var1 * var3 * (1.0F - var5);
      float var14 = -var1 * var6 + var2 * var3 * (1.0F - var5);
      float var15 = var5 + var3 * var3 * (1.0F - var5);
      float var16 = this.aFloat4066;
      float var17 = this.aFloat4070;
      float var18 = this.aFloat4069;
      float var19 = this.aFloat4065;
      float var20 = this.aFloat4072;
      float var21 = this.aFloat4076;
      float var22 = this.aFloat4075;
      float var23 = this.aFloat4077;
      this.aFloat4066 = var16 * var7 + var17 * var10 + this.aFloat4068 * var13;
      this.aFloat4070 = var16 * var8 + var17 * var11 + this.aFloat4068 * var14;
      this.aFloat4068 = var16 * var9 + var17 * var12 + this.aFloat4068 * var15;
      this.aFloat4069 = var18 * var7 + var19 * var10 + this.aFloat4071 * var13;
      this.aFloat4065 = var18 * var8 + var19 * var11 + this.aFloat4071 * var14;
      this.aFloat4071 = var18 * var9 + var19 * var12 + this.aFloat4071 * var15;
      this.aFloat4072 = var20 * var7 + var21 * var10 + this.aFloat4073 * var13;
      this.aFloat4076 = var20 * var8 + var21 * var11 + this.aFloat4073 * var14;
      this.aFloat4073 = var20 * var9 + var21 * var12 + this.aFloat4073 * var15;
      this.aFloat4075 = var22 * var7 + var23 * var10 + this.aFloat4067 * var13;
      this.aFloat4077 = var22 * var8 + var23 * var11 + this.aFloat4067 * var14;
      this.aFloat4067 = var22 * var9 + var23 * var12 + this.aFloat4067 * var15;
   }

   public void method6004(Class326 var1) {
      this.method6005(var1.aFloat4036, var1.aFloat4037, var1.aFloat4033);
   }

   public void method6005(float var1, float var2, float var3) {
      this.aFloat4075 += var1;
      this.aFloat4077 += var2;
      this.aFloat4067 += var3;
   }

   public void method6006(Class328 var1) {
      float var2 = this.aFloat4066;
      float var3 = this.aFloat4070;
      float var4 = this.aFloat4069;
      float var5 = this.aFloat4065;
      float var6 = this.aFloat4072;
      float var7 = this.aFloat4076;
      float var8 = this.aFloat4075;
      float var9 = this.aFloat4077;
      float var10 = this.aFloat4068;
      float var11 = this.aFloat4071;
      float var12 = this.aFloat4073;
      float var13 = this.aFloat4067;
      this.aFloat4066 = var2 * var1.aFloat4066 + var3 * var1.aFloat4069 + var10 * var1.aFloat4072;
      this.aFloat4070 = var2 * var1.aFloat4070 + var3 * var1.aFloat4065 + var10 * var1.aFloat4076;
      this.aFloat4068 = var2 * var1.aFloat4068 + var3 * var1.aFloat4071 + var10 * var1.aFloat4073;
      this.aFloat4069 = var4 * var1.aFloat4066 + var5 * var1.aFloat4069 + var11 * var1.aFloat4072;
      this.aFloat4065 = var4 * var1.aFloat4070 + var5 * var1.aFloat4065 + var11 * var1.aFloat4076;
      this.aFloat4071 = var4 * var1.aFloat4068 + var5 * var1.aFloat4071 + var11 * var1.aFloat4073;
      this.aFloat4072 = var6 * var1.aFloat4066 + var7 * var1.aFloat4069 + var12 * var1.aFloat4072;
      this.aFloat4076 = var6 * var1.aFloat4070 + var7 * var1.aFloat4065 + var12 * var1.aFloat4076;
      this.aFloat4073 = var6 * var1.aFloat4068 + var7 * var1.aFloat4071 + var12 * var1.aFloat4073;
      this.aFloat4075 = var8 * var1.aFloat4066 + var9 * var1.aFloat4069 + var13 * var1.aFloat4072 + var1.aFloat4075;
      this.aFloat4077 = var8 * var1.aFloat4070 + var9 * var1.aFloat4065 + var13 * var1.aFloat4076 + var1.aFloat4077;
      this.aFloat4067 = var8 * var1.aFloat4068 + var9 * var1.aFloat4071 + var13 * var1.aFloat4073 + var1.aFloat4067;
   }

   public void method6007(Class328 var1, Class328 var2) {
      this.aFloat4066 = var1.aFloat4066 * var2.aFloat4066 + var1.aFloat4070 * var2.aFloat4069 + var1.aFloat4068 * var2.aFloat4072;
      this.aFloat4070 = var1.aFloat4066 * var2.aFloat4070 + var1.aFloat4070 * var2.aFloat4065 + var1.aFloat4068 * var2.aFloat4076;
      this.aFloat4068 = var1.aFloat4066 * var2.aFloat4068 + var1.aFloat4070 * var2.aFloat4071 + var1.aFloat4068 * var2.aFloat4073;
      this.aFloat4069 = var1.aFloat4069 * var2.aFloat4066 + var1.aFloat4065 * var2.aFloat4069 + var1.aFloat4071 * var2.aFloat4072;
      this.aFloat4065 = var1.aFloat4069 * var2.aFloat4070 + var1.aFloat4065 * var2.aFloat4065 + var1.aFloat4071 * var2.aFloat4076;
      this.aFloat4071 = var1.aFloat4069 * var2.aFloat4068 + var1.aFloat4065 * var2.aFloat4071 + var1.aFloat4071 * var2.aFloat4073;
      this.aFloat4072 = var1.aFloat4072 * var2.aFloat4066 + var1.aFloat4076 * var2.aFloat4069 + var1.aFloat4073 * var2.aFloat4072;
      this.aFloat4076 = var1.aFloat4072 * var2.aFloat4070 + var1.aFloat4076 * var2.aFloat4065 + var1.aFloat4073 * var2.aFloat4076;
      this.aFloat4073 = var1.aFloat4072 * var2.aFloat4068 + var1.aFloat4076 * var2.aFloat4071 + var1.aFloat4073 * var2.aFloat4073;
      this.aFloat4075 = var1.aFloat4075 * var2.aFloat4066 + var1.aFloat4077 * var2.aFloat4069 + var1.aFloat4067 * var2.aFloat4072 + var2.aFloat4075;
      this.aFloat4077 = var1.aFloat4075 * var2.aFloat4070 + var1.aFloat4077 * var2.aFloat4065 + var1.aFloat4067 * var2.aFloat4076 + var2.aFloat4077;
      this.aFloat4067 = var1.aFloat4075 * var2.aFloat4068 + var1.aFloat4077 * var2.aFloat4071 + var1.aFloat4067 * var2.aFloat4073 + var2.aFloat4067;
   }

   public void method6008(float var1, float var2, float var3, float[] var4) {
      var4[0] = this.aFloat4066 * var1 + this.aFloat4069 * var2 + this.aFloat4072 * var3 + this.aFloat4075;
      var4[1] = this.aFloat4070 * var1 + this.aFloat4065 * var2 + this.aFloat4076 * var3 + this.aFloat4077;
      var4[2] = this.aFloat4068 * var1 + this.aFloat4071 * var2 + this.aFloat4073 * var3 + this.aFloat4067;
   }

   public void method6009(float var1, float var2, float var3, float[] var4) {
      var1 -= this.aFloat4075;
      var2 -= this.aFloat4077;
      var3 -= this.aFloat4067;
      var4[0] = (float)((int)(this.aFloat4066 * var1 + this.aFloat4070 * var2 + this.aFloat4068 * var3));
      var4[1] = (float)((int)(this.aFloat4069 * var1 + this.aFloat4065 * var2 + this.aFloat4071 * var3));
      var4[2] = (float)((int)(this.aFloat4072 * var1 + this.aFloat4076 * var2 + this.aFloat4073 * var3));
   }

   public void method6010(float[] var1) {
      float var2 = var1[0] - this.aFloat4075;
      float var3 = var1[1] - this.aFloat4077;
      float var4 = var1[2] - this.aFloat4067;
      var1[0] = (float)((int)(this.aFloat4066 * var2 + this.aFloat4070 * var3 + this.aFloat4068 * var4));
      var1[1] = (float)((int)(this.aFloat4069 * var2 + this.aFloat4065 * var3 + this.aFloat4071 * var4));
      var1[2] = (float)((int)(this.aFloat4072 * var2 + this.aFloat4076 * var3 + this.aFloat4073 * var4));
   }

   public void method6011(float[] var1) {
      float var2 = var1[0];
      float var3 = var1[1];
      float var4 = var1[2];
      var1[0] = this.aFloat4066 * var2 + this.aFloat4070 * var3 + this.aFloat4068 * var4;
      var1[1] = this.aFloat4069 * var2 + this.aFloat4065 * var3 + this.aFloat4071 * var4;
      var1[2] = this.aFloat4072 * var2 + this.aFloat4076 * var3 + this.aFloat4073 * var4;
   }

   public float[] method6012(float[] var1) {
      var1[0] = this.aFloat4075;
      var1[1] = this.aFloat4077;
      var1[2] = this.aFloat4067;
      return var1;
   }

   public String toString() {
      return this.aFloat4066 + "," + this.aFloat4069 + "," + this.aFloat4072 + "," + this.aFloat4075 + " - " + this.aFloat4070 + "," + this.aFloat4065 + "," + this.aFloat4076 + "," + this.aFloat4077 + " - " + this.aFloat4068 + "," + this.aFloat4071 + "," + this.aFloat4073 + "," + this.aFloat4067;
   }

   public void method6013(Class328 var1) {
      if(var1 == this) {
         this.method5996();
      } else {
         this.aFloat4066 = var1.aFloat4066;
         this.aFloat4069 = var1.aFloat4070;
         this.aFloat4072 = var1.aFloat4068;
         this.aFloat4070 = var1.aFloat4069;
         this.aFloat4065 = var1.aFloat4065;
         this.aFloat4076 = var1.aFloat4071;
         this.aFloat4068 = var1.aFloat4072;
         this.aFloat4071 = var1.aFloat4076;
         this.aFloat4073 = var1.aFloat4073;
         this.aFloat4075 = -(var1.aFloat4075 * this.aFloat4066 + var1.aFloat4077 * this.aFloat4069 + var1.aFloat4067 * this.aFloat4072);
         this.aFloat4077 = -(var1.aFloat4075 * this.aFloat4070 + var1.aFloat4077 * this.aFloat4065 + var1.aFloat4067 * this.aFloat4076);
         this.aFloat4067 = -(var1.aFloat4075 * this.aFloat4068 + var1.aFloat4077 * this.aFloat4071 + var1.aFloat4067 * this.aFloat4073);
      }

   }

   public String method6014() {
      return this.aFloat4066 + "," + this.aFloat4069 + "," + this.aFloat4072 + "," + this.aFloat4075 + " - " + this.aFloat4070 + "," + this.aFloat4065 + "," + this.aFloat4076 + "," + this.aFloat4077 + " - " + this.aFloat4068 + "," + this.aFloat4071 + "," + this.aFloat4073 + "," + this.aFloat4067;
   }

   public Class328() {
      this.method6017();
   }

   public void method6015(Class328 var1) {
      this.aFloat4066 = var1.aFloat4066;
      this.aFloat4069 = var1.aFloat4069;
      this.aFloat4072 = var1.aFloat4072;
      this.aFloat4075 = var1.aFloat4075;
      this.aFloat4070 = var1.aFloat4070;
      this.aFloat4065 = var1.aFloat4065;
      this.aFloat4076 = var1.aFloat4076;
      this.aFloat4077 = var1.aFloat4077;
      this.aFloat4068 = var1.aFloat4068;
      this.aFloat4071 = var1.aFloat4071;
      this.aFloat4073 = var1.aFloat4073;
      this.aFloat4067 = var1.aFloat4067;
   }

   public void method6016(float var1, float var2, float var3, float[] var4) {
      var1 -= this.aFloat4075;
      var2 -= this.aFloat4077;
      var3 -= this.aFloat4067;
      var4[0] = (float)((int)(this.aFloat4066 * var1 + this.aFloat4070 * var2 + this.aFloat4068 * var3));
      var4[1] = (float)((int)(this.aFloat4069 * var1 + this.aFloat4065 * var2 + this.aFloat4071 * var3));
      var4[2] = (float)((int)(this.aFloat4072 * var1 + this.aFloat4076 * var2 + this.aFloat4073 * var3));
   }

   public void method6017() {
      this.aFloat4067 = 0.0F;
      this.aFloat4077 = 0.0F;
      this.aFloat4075 = 0.0F;
      this.aFloat4076 = 0.0F;
      this.aFloat4072 = 0.0F;
      this.aFloat4071 = 0.0F;
      this.aFloat4069 = 0.0F;
      this.aFloat4068 = 0.0F;
      this.aFloat4070 = 0.0F;
      this.aFloat4073 = 1.0F;
      this.aFloat4065 = 1.0F;
      this.aFloat4066 = 1.0F;
   }

   public void method6018(Class325 var1) {
      float var2 = var1.aClass321_4032.aFloat4017 * var1.aClass321_4032.aFloat4017;
      float var3 = var1.aClass321_4032.aFloat4017 * var1.aClass321_4032.aFloat4020;
      float var4 = var1.aClass321_4032.aFloat4017 * var1.aClass321_4032.aFloat4016;
      float var5 = var1.aClass321_4032.aFloat4017 * var1.aClass321_4032.aFloat4021;
      float var6 = var1.aClass321_4032.aFloat4020 * var1.aClass321_4032.aFloat4020;
      float var7 = var1.aClass321_4032.aFloat4020 * var1.aClass321_4032.aFloat4016;
      float var8 = var1.aClass321_4032.aFloat4020 * var1.aClass321_4032.aFloat4021;
      float var9 = var1.aClass321_4032.aFloat4016 * var1.aClass321_4032.aFloat4016;
      float var10 = var1.aClass321_4032.aFloat4016 * var1.aClass321_4032.aFloat4021;
      float var11 = var1.aClass321_4032.aFloat4021 * var1.aClass321_4032.aFloat4021;
      this.aFloat4066 = var6 + var2 - var11 - var9;
      this.aFloat4070 = var7 + var5 + var7 + var5;
      this.aFloat4068 = var8 - var4 - var4 + var8;
      this.aFloat4069 = var7 - var5 - var5 + var7;
      this.aFloat4065 = var9 + var2 - var6 - var11;
      this.aFloat4071 = var10 + var3 + var10 + var3;
      this.aFloat4072 = var8 + var4 + var8 + var4;
      this.aFloat4076 = var10 - var3 - var3 + var10;
      this.aFloat4073 = var11 + var2 - var9 - var6;
      this.aFloat4075 = var1.aClass326_4031.aFloat4036;
      this.aFloat4077 = var1.aClass326_4031.aFloat4037;
      this.aFloat4067 = var1.aClass326_4031.aFloat4033;
   }

   public void method6019(float var1, float var2, float var3) {
      this.aFloat4066 = var1;
      this.aFloat4069 = 0.0F;
      this.aFloat4072 = 0.0F;
      this.aFloat4075 = 0.0F;
      this.aFloat4070 = 0.0F;
      this.aFloat4065 = var2;
      this.aFloat4076 = 0.0F;
      this.aFloat4077 = 0.0F;
      this.aFloat4068 = 0.0F;
      this.aFloat4071 = 0.0F;
      this.aFloat4073 = var3;
      this.aFloat4067 = 0.0F;
   }

   public void method6020() {
      this.aFloat4067 = 0.0F;
      this.aFloat4077 = 0.0F;
      this.aFloat4075 = 0.0F;
      this.aFloat4076 = 0.0F;
      this.aFloat4072 = 0.0F;
      this.aFloat4071 = 0.0F;
      this.aFloat4069 = 0.0F;
      this.aFloat4068 = 0.0F;
      this.aFloat4070 = 0.0F;
      this.aFloat4073 = 1.0F;
      this.aFloat4065 = 1.0F;
      this.aFloat4066 = 1.0F;
   }

   public void method6021() {
      this.aFloat4067 = 0.0F;
      this.aFloat4077 = 0.0F;
      this.aFloat4075 = 0.0F;
      this.aFloat4076 = 0.0F;
      this.aFloat4072 = 0.0F;
      this.aFloat4071 = 0.0F;
      this.aFloat4069 = 0.0F;
      this.aFloat4068 = 0.0F;
      this.aFloat4070 = 0.0F;
      this.aFloat4073 = 1.0F;
      this.aFloat4065 = 1.0F;
      this.aFloat4066 = 1.0F;
   }

   public void method6022(float var1, float var2, float var3, float var4, float var5, float var6, float var7, float var8, float var9) {
      float var10 = var4 - var1;
      float var11 = var5 - var2;
      float var12 = var6 - var3;
      float var13 = var8 * var12 - var9 * var11;
      float var14 = var9 * var10 - var7 * var12;
      float var15 = var7 * var11 - var8 * var10;
      float var16 = (float)(1.0D / Math.sqrt((double)(var13 * var13 + var14 * var14 + var15 * var15)));
      float var17 = (float)(1.0D / Math.sqrt((double)(var10 * var10 + var11 * var11 + var12 * var12)));
      this.aFloat4066 = var13 * var16;
      this.aFloat4069 = var14 * var16;
      this.aFloat4072 = var15 * var16;
      this.aFloat4068 = var10 * var17;
      this.aFloat4071 = var11 * var17;
      this.aFloat4073 = var12 * var17;
      this.aFloat4070 = this.aFloat4071 * this.aFloat4072 - this.aFloat4073 * this.aFloat4069;
      this.aFloat4065 = this.aFloat4073 * this.aFloat4066 - this.aFloat4068 * this.aFloat4072;
      this.aFloat4076 = this.aFloat4068 * this.aFloat4069 - this.aFloat4071 * this.aFloat4066;
      this.aFloat4075 = -(var1 * this.aFloat4066 + var2 * this.aFloat4069 + var3 * this.aFloat4072);
      this.aFloat4077 = -(var1 * this.aFloat4070 + var2 * this.aFloat4065 + var3 * this.aFloat4076);
      this.aFloat4067 = -(var1 * this.aFloat4068 + var2 * this.aFloat4071 + var3 * this.aFloat4073);
   }

   public void method6023(Class328 var1) {
      if(var1 == this) {
         this.method5996();
      } else {
         this.aFloat4066 = var1.aFloat4066;
         this.aFloat4069 = var1.aFloat4070;
         this.aFloat4072 = var1.aFloat4068;
         this.aFloat4070 = var1.aFloat4069;
         this.aFloat4065 = var1.aFloat4065;
         this.aFloat4076 = var1.aFloat4071;
         this.aFloat4068 = var1.aFloat4072;
         this.aFloat4071 = var1.aFloat4076;
         this.aFloat4073 = var1.aFloat4073;
         this.aFloat4075 = -(var1.aFloat4075 * this.aFloat4066 + var1.aFloat4077 * this.aFloat4069 + var1.aFloat4067 * this.aFloat4072);
         this.aFloat4077 = -(var1.aFloat4075 * this.aFloat4070 + var1.aFloat4077 * this.aFloat4065 + var1.aFloat4067 * this.aFloat4076);
         this.aFloat4067 = -(var1.aFloat4075 * this.aFloat4068 + var1.aFloat4077 * this.aFloat4071 + var1.aFloat4067 * this.aFloat4073);
      }

   }

   public void method6024(float var1, float var2, float var3, float var4, float var5, float var6, float var7, float var8, float var9) {
      float var10 = var4 - var1;
      float var11 = var5 - var2;
      float var12 = var6 - var3;
      float var13 = var8 * var12 - var9 * var11;
      float var14 = var9 * var10 - var7 * var12;
      float var15 = var7 * var11 - var8 * var10;
      float var16 = (float)(1.0D / Math.sqrt((double)(var13 * var13 + var14 * var14 + var15 * var15)));
      float var17 = (float)(1.0D / Math.sqrt((double)(var10 * var10 + var11 * var11 + var12 * var12)));
      this.aFloat4066 = var13 * var16;
      this.aFloat4069 = var14 * var16;
      this.aFloat4072 = var15 * var16;
      this.aFloat4068 = var10 * var17;
      this.aFloat4071 = var11 * var17;
      this.aFloat4073 = var12 * var17;
      this.aFloat4070 = this.aFloat4071 * this.aFloat4072 - this.aFloat4073 * this.aFloat4069;
      this.aFloat4065 = this.aFloat4073 * this.aFloat4066 - this.aFloat4068 * this.aFloat4072;
      this.aFloat4076 = this.aFloat4068 * this.aFloat4069 - this.aFloat4071 * this.aFloat4066;
      this.aFloat4075 = -(var1 * this.aFloat4066 + var2 * this.aFloat4069 + var3 * this.aFloat4072);
      this.aFloat4077 = -(var1 * this.aFloat4070 + var2 * this.aFloat4065 + var3 * this.aFloat4076);
      this.aFloat4067 = -(var1 * this.aFloat4068 + var2 * this.aFloat4071 + var3 * this.aFloat4073);
   }

   public void method6025(float var1, float var2, float var3, float var4, float var5, float var6, float var7, float var8, float var9) {
      float var10 = var4 - var1;
      float var11 = var5 - var2;
      float var12 = var6 - var3;
      float var13 = var8 * var12 - var9 * var11;
      float var14 = var9 * var10 - var7 * var12;
      float var15 = var7 * var11 - var8 * var10;
      float var16 = (float)(1.0D / Math.sqrt((double)(var13 * var13 + var14 * var14 + var15 * var15)));
      float var17 = (float)(1.0D / Math.sqrt((double)(var10 * var10 + var11 * var11 + var12 * var12)));
      this.aFloat4066 = var13 * var16;
      this.aFloat4069 = var14 * var16;
      this.aFloat4072 = var15 * var16;
      this.aFloat4068 = var10 * var17;
      this.aFloat4071 = var11 * var17;
      this.aFloat4073 = var12 * var17;
      this.aFloat4070 = this.aFloat4071 * this.aFloat4072 - this.aFloat4073 * this.aFloat4069;
      this.aFloat4065 = this.aFloat4073 * this.aFloat4066 - this.aFloat4068 * this.aFloat4072;
      this.aFloat4076 = this.aFloat4068 * this.aFloat4069 - this.aFloat4071 * this.aFloat4066;
      this.aFloat4075 = -(var1 * this.aFloat4066 + var2 * this.aFloat4069 + var3 * this.aFloat4072);
      this.aFloat4077 = -(var1 * this.aFloat4070 + var2 * this.aFloat4065 + var3 * this.aFloat4076);
      this.aFloat4067 = -(var1 * this.aFloat4068 + var2 * this.aFloat4071 + var3 * this.aFloat4073);
   }

   public void method6026(float var1, float var2, float var3) {
      this.aFloat4076 = 0.0F;
      this.aFloat4072 = 0.0F;
      this.aFloat4071 = 0.0F;
      this.aFloat4069 = 0.0F;
      this.aFloat4068 = 0.0F;
      this.aFloat4070 = 0.0F;
      this.aFloat4073 = 1.0F;
      this.aFloat4065 = 1.0F;
      this.aFloat4066 = 1.0F;
      this.aFloat4075 = var1;
      this.aFloat4077 = var2;
      this.aFloat4067 = var3;
   }

   public void method6027(int var1, int var2, int var3, float var4, float var5, float var6) {
      if(var1 != 0) {
         float var7 = Class322.aFloatArray4023[var1 & 16383];
         float var8 = Class322.aFloatArray4024[var1 & 16383];
         this.aFloat4073 = 1.0F;
         this.aFloat4076 = 0.0F;
         this.aFloat4072 = 0.0F;
         this.aFloat4071 = 0.0F;
         this.aFloat4068 = 0.0F;
         this.aFloat4066 = 2.0F * var7 * (float)var2;
         this.aFloat4065 = 2.0F * var7 * (float)var3;
         this.aFloat4070 = 2.0F * var8 * (float)var2;
         this.aFloat4069 = -2.0F * var8 * (float)var3;
         this.aFloat4075 = (float)(2 * var2) * (0.5F * var8 - 0.5F * var7) + var4;
         this.aFloat4077 = (float)(2 * var3) * (-0.5F * var8 - 0.5F * var7) + var5;
         this.aFloat4067 = var6;
      } else {
         this.aFloat4076 = 0.0F;
         this.aFloat4072 = 0.0F;
         this.aFloat4071 = 0.0F;
         this.aFloat4069 = 0.0F;
         this.aFloat4068 = 0.0F;
         this.aFloat4070 = 0.0F;
         this.aFloat4066 = (float)(2 * var2);
         this.aFloat4065 = (float)(2 * var3);
         this.aFloat4073 = 1.0F;
         this.aFloat4075 = var4 - (float)var2;
         this.aFloat4077 = var5 - (float)var3;
         this.aFloat4067 = var6;
      }

   }

   public void method6028(float var1, float var2, float var3, float[] var4) {
      var4[0] = this.aFloat4066 * var1 + this.aFloat4069 * var2 + this.aFloat4072 * var3 + this.aFloat4075;
      var4[1] = this.aFloat4070 * var1 + this.aFloat4065 * var2 + this.aFloat4076 * var3 + this.aFloat4077;
      var4[2] = this.aFloat4068 * var1 + this.aFloat4071 * var2 + this.aFloat4073 * var3 + this.aFloat4067;
   }

   void method6029(float var1, float var2, float var3, float var4) {
      float var5 = var1 * var1;
      float var6 = var1 * var2;
      float var7 = var1 * var3;
      float var8 = var1 * var4;
      float var9 = var2 * var2;
      float var10 = var2 * var3;
      float var11 = var2 * var4;
      float var12 = var3 * var3;
      float var13 = var3 * var4;
      this.aFloat4066 = 1.0F - 2.0F * (var9 + var12);
      this.aFloat4069 = 2.0F * (var6 - var13);
      this.aFloat4072 = 2.0F * (var7 + var11);
      this.aFloat4070 = 2.0F * (var6 + var13);
      this.aFloat4065 = 1.0F - 2.0F * (var5 + var12);
      this.aFloat4076 = 2.0F * (var10 - var8);
      this.aFloat4068 = 2.0F * (var7 - var11);
      this.aFloat4071 = 2.0F * (var10 + var8);
      this.aFloat4073 = 1.0F - 2.0F * (var5 + var9);
      this.aFloat4067 = 0.0F;
      this.aFloat4077 = 0.0F;
      this.aFloat4075 = 0.0F;
   }

   public void method6030(Class328 var1) {
      if(var1 == this) {
         this.method5996();
      } else {
         this.aFloat4066 = var1.aFloat4066;
         this.aFloat4069 = var1.aFloat4070;
         this.aFloat4072 = var1.aFloat4068;
         this.aFloat4070 = var1.aFloat4069;
         this.aFloat4065 = var1.aFloat4065;
         this.aFloat4076 = var1.aFloat4071;
         this.aFloat4068 = var1.aFloat4072;
         this.aFloat4071 = var1.aFloat4076;
         this.aFloat4073 = var1.aFloat4073;
         this.aFloat4075 = -(var1.aFloat4075 * this.aFloat4066 + var1.aFloat4077 * this.aFloat4069 + var1.aFloat4067 * this.aFloat4072);
         this.aFloat4077 = -(var1.aFloat4075 * this.aFloat4070 + var1.aFloat4077 * this.aFloat4065 + var1.aFloat4067 * this.aFloat4076);
         this.aFloat4067 = -(var1.aFloat4075 * this.aFloat4068 + var1.aFloat4077 * this.aFloat4071 + var1.aFloat4067 * this.aFloat4073);
      }

   }

   public void method6031(Class321 var1) {
      this.method6052(var1.aFloat4020, var1.aFloat4016, var1.aFloat4021, var1.aFloat4017);
   }

   public void method6032() {
      float var1 = this.aFloat4075;
      float var2 = this.aFloat4077;
      float var3 = this.aFloat4069;
      this.aFloat4069 = this.aFloat4070;
      this.aFloat4070 = var3;
      float var4 = this.aFloat4072;
      this.aFloat4072 = this.aFloat4068;
      this.aFloat4068 = var4;
      float var5 = this.aFloat4076;
      this.aFloat4076 = this.aFloat4071;
      this.aFloat4071 = var5;
      this.aFloat4075 = -(var1 * this.aFloat4066 + var2 * this.aFloat4069 + this.aFloat4067 * this.aFloat4072);
      this.aFloat4077 = -(var1 * this.aFloat4070 + var2 * this.aFloat4065 + this.aFloat4067 * this.aFloat4076);
      this.aFloat4067 = -(var1 * this.aFloat4068 + var2 * this.aFloat4071 + this.aFloat4067 * this.aFloat4073);
   }

   public void method6033(float var1, float var2, float var3, float var4, float var5, float var6, float var7, float var8, float var9) {
      float var10 = var4 - var1;
      float var11 = var5 - var2;
      float var12 = var6 - var3;
      float var13 = var8 * var12 - var9 * var11;
      float var14 = var9 * var10 - var7 * var12;
      float var15 = var7 * var11 - var8 * var10;
      float var16 = (float)(1.0D / Math.sqrt((double)(var13 * var13 + var14 * var14 + var15 * var15)));
      float var17 = (float)(1.0D / Math.sqrt((double)(var10 * var10 + var11 * var11 + var12 * var12)));
      this.aFloat4066 = var13 * var16;
      this.aFloat4069 = var14 * var16;
      this.aFloat4072 = var15 * var16;
      this.aFloat4068 = var10 * var17;
      this.aFloat4071 = var11 * var17;
      this.aFloat4073 = var12 * var17;
      this.aFloat4070 = this.aFloat4071 * this.aFloat4072 - this.aFloat4073 * this.aFloat4069;
      this.aFloat4065 = this.aFloat4073 * this.aFloat4066 - this.aFloat4068 * this.aFloat4072;
      this.aFloat4076 = this.aFloat4068 * this.aFloat4069 - this.aFloat4071 * this.aFloat4066;
      this.aFloat4075 = -(var1 * this.aFloat4066 + var2 * this.aFloat4069 + var3 * this.aFloat4072);
      this.aFloat4077 = -(var1 * this.aFloat4070 + var2 * this.aFloat4065 + var3 * this.aFloat4076);
      this.aFloat4067 = -(var1 * this.aFloat4068 + var2 * this.aFloat4071 + var3 * this.aFloat4073);
   }

   public void method6034(int var1, int var2, int var3, float var4, float var5, float var6) {
      if(var1 != 0) {
         float var7 = Class322.aFloatArray4023[var1 & 16383];
         float var8 = Class322.aFloatArray4024[var1 & 16383];
         this.aFloat4073 = 1.0F;
         this.aFloat4076 = 0.0F;
         this.aFloat4072 = 0.0F;
         this.aFloat4071 = 0.0F;
         this.aFloat4068 = 0.0F;
         this.aFloat4066 = 2.0F * var7 * (float)var2;
         this.aFloat4065 = 2.0F * var7 * (float)var3;
         this.aFloat4070 = 2.0F * var8 * (float)var2;
         this.aFloat4069 = -2.0F * var8 * (float)var3;
         this.aFloat4075 = (float)(2 * var2) * (0.5F * var8 - 0.5F * var7) + var4;
         this.aFloat4077 = (float)(2 * var3) * (-0.5F * var8 - 0.5F * var7) + var5;
         this.aFloat4067 = var6;
      } else {
         this.aFloat4076 = 0.0F;
         this.aFloat4072 = 0.0F;
         this.aFloat4071 = 0.0F;
         this.aFloat4069 = 0.0F;
         this.aFloat4068 = 0.0F;
         this.aFloat4070 = 0.0F;
         this.aFloat4066 = (float)(2 * var2);
         this.aFloat4065 = (float)(2 * var3);
         this.aFloat4073 = 1.0F;
         this.aFloat4075 = var4 - (float)var2;
         this.aFloat4077 = var5 - (float)var3;
         this.aFloat4067 = var6;
      }

   }

   public void method6035(float var1, float var2, float var3, float var4) {
      float var5 = (float)Math.cos((double)var4);
      float var6 = (float)Math.sin((double)var4);
      this.aFloat4066 = var5 + var1 * var1 * (1.0F - var5);
      this.aFloat4070 = var3 * var6 + var2 * var1 * (1.0F - var5);
      this.aFloat4068 = -var2 * var6 + var3 * var1 * (1.0F - var5);
      this.aFloat4069 = -var3 * var6 + var1 * var2 * (1.0F - var5);
      this.aFloat4065 = var5 + var2 * var2 * (1.0F - var5);
      this.aFloat4071 = var1 * var6 + var3 * var2 * (1.0F - var5);
      this.aFloat4072 = var2 * var6 + var1 * var3 * (1.0F - var5);
      this.aFloat4076 = -var1 * var6 + var2 * var3 * (1.0F - var5);
      this.aFloat4073 = var5 + var3 * var3 * (1.0F - var5);
      this.aFloat4067 = 0.0F;
      this.aFloat4077 = 0.0F;
      this.aFloat4075 = 0.0F;
   }

   public void method6036(float var1, float var2, float var3, float var4) {
      float var5 = (float)Math.cos((double)var4);
      float var6 = (float)Math.sin((double)var4);
      this.aFloat4066 = var5 + var1 * var1 * (1.0F - var5);
      this.aFloat4070 = var3 * var6 + var2 * var1 * (1.0F - var5);
      this.aFloat4068 = -var2 * var6 + var3 * var1 * (1.0F - var5);
      this.aFloat4069 = -var3 * var6 + var1 * var2 * (1.0F - var5);
      this.aFloat4065 = var5 + var2 * var2 * (1.0F - var5);
      this.aFloat4071 = var1 * var6 + var3 * var2 * (1.0F - var5);
      this.aFloat4072 = var2 * var6 + var1 * var3 * (1.0F - var5);
      this.aFloat4076 = -var1 * var6 + var2 * var3 * (1.0F - var5);
      this.aFloat4073 = var5 + var3 * var3 * (1.0F - var5);
      this.aFloat4067 = 0.0F;
      this.aFloat4077 = 0.0F;
      this.aFloat4075 = 0.0F;
   }

   public void method6037(Class321 var1) {
      this.method6052(var1.aFloat4020, var1.aFloat4016, var1.aFloat4021, var1.aFloat4017);
   }

   public void method6038(float var1, float var2, float var3) {
      this.aFloat4076 = 0.0F;
      this.aFloat4072 = 0.0F;
      this.aFloat4071 = 0.0F;
      this.aFloat4069 = 0.0F;
      this.aFloat4068 = 0.0F;
      this.aFloat4070 = 0.0F;
      this.aFloat4073 = 1.0F;
      this.aFloat4065 = 1.0F;
      this.aFloat4066 = 1.0F;
      this.aFloat4075 = var1;
      this.aFloat4077 = var2;
      this.aFloat4067 = var3;
   }

   void method6039(float var1, float var2, float var3, float var4) {
      float var5 = var1 * var1;
      float var6 = var1 * var2;
      float var7 = var1 * var3;
      float var8 = var1 * var4;
      float var9 = var2 * var2;
      float var10 = var2 * var3;
      float var11 = var2 * var4;
      float var12 = var3 * var3;
      float var13 = var3 * var4;
      this.aFloat4066 = 1.0F - 2.0F * (var9 + var12);
      this.aFloat4069 = 2.0F * (var6 - var13);
      this.aFloat4072 = 2.0F * (var7 + var11);
      this.aFloat4070 = 2.0F * (var6 + var13);
      this.aFloat4065 = 1.0F - 2.0F * (var5 + var12);
      this.aFloat4076 = 2.0F * (var10 - var8);
      this.aFloat4068 = 2.0F * (var7 - var11);
      this.aFloat4071 = 2.0F * (var10 + var8);
      this.aFloat4073 = 1.0F - 2.0F * (var5 + var9);
      this.aFloat4067 = 0.0F;
      this.aFloat4077 = 0.0F;
      this.aFloat4075 = 0.0F;
   }

   void method6040(float var1, float var2, float var3, float var4) {
      float var5 = var1 * var1;
      float var6 = var1 * var2;
      float var7 = var1 * var3;
      float var8 = var1 * var4;
      float var9 = var2 * var2;
      float var10 = var2 * var3;
      float var11 = var2 * var4;
      float var12 = var3 * var3;
      float var13 = var3 * var4;
      this.aFloat4066 = 1.0F - 2.0F * (var9 + var12);
      this.aFloat4069 = 2.0F * (var6 - var13);
      this.aFloat4072 = 2.0F * (var7 + var11);
      this.aFloat4070 = 2.0F * (var6 + var13);
      this.aFloat4065 = 1.0F - 2.0F * (var5 + var12);
      this.aFloat4076 = 2.0F * (var10 - var8);
      this.aFloat4068 = 2.0F * (var7 - var11);
      this.aFloat4071 = 2.0F * (var10 + var8);
      this.aFloat4073 = 1.0F - 2.0F * (var5 + var9);
      this.aFloat4067 = 0.0F;
      this.aFloat4077 = 0.0F;
      this.aFloat4075 = 0.0F;
   }

   public void method6041(Class325 var1) {
      this.method5998(var1.aClass321_4032);
      this.method6004(var1.aClass326_4031);
   }

   void method6042(float var1, float var2, float var3, float var4) {
      float var5 = var1 * var1;
      float var6 = var1 * var2;
      float var7 = var1 * var3;
      float var8 = var1 * var4;
      float var9 = var2 * var2;
      float var10 = var2 * var3;
      float var11 = var2 * var4;
      float var12 = var3 * var3;
      float var13 = var3 * var4;
      this.aFloat4066 = 1.0F - 2.0F * (var9 + var12);
      this.aFloat4069 = 2.0F * (var6 - var13);
      this.aFloat4072 = 2.0F * (var7 + var11);
      this.aFloat4070 = 2.0F * (var6 + var13);
      this.aFloat4065 = 1.0F - 2.0F * (var5 + var12);
      this.aFloat4076 = 2.0F * (var10 - var8);
      this.aFloat4068 = 2.0F * (var7 - var11);
      this.aFloat4071 = 2.0F * (var10 + var8);
      this.aFloat4073 = 1.0F - 2.0F * (var5 + var9);
      this.aFloat4067 = 0.0F;
      this.aFloat4077 = 0.0F;
      this.aFloat4075 = 0.0F;
   }

   public void method6043(Class328 var1) {
      this.aFloat4066 = var1.aFloat4066;
      this.aFloat4069 = var1.aFloat4069;
      this.aFloat4072 = var1.aFloat4072;
      this.aFloat4075 = var1.aFloat4075;
      this.aFloat4070 = var1.aFloat4070;
      this.aFloat4065 = var1.aFloat4065;
      this.aFloat4076 = var1.aFloat4076;
      this.aFloat4077 = var1.aFloat4077;
      this.aFloat4068 = var1.aFloat4068;
      this.aFloat4071 = var1.aFloat4071;
      this.aFloat4073 = var1.aFloat4073;
      this.aFloat4067 = var1.aFloat4067;
   }

   public void method6044(float var1, float var2, float var3, float var4) {
      float var5 = (float)Math.cos((double)var4);
      float var6 = (float)Math.sin((double)var4);
      float var7 = var5 + var1 * var1 * (1.0F - var5);
      float var8 = var3 * var6 + var2 * var1 * (1.0F - var5);
      float var9 = -var2 * var6 + var3 * var1 * (1.0F - var5);
      float var10 = -var3 * var6 + var1 * var2 * (1.0F - var5);
      float var11 = var5 + var2 * var2 * (1.0F - var5);
      float var12 = var1 * var6 + var3 * var2 * (1.0F - var5);
      float var13 = var2 * var6 + var1 * var3 * (1.0F - var5);
      float var14 = -var1 * var6 + var2 * var3 * (1.0F - var5);
      float var15 = var5 + var3 * var3 * (1.0F - var5);
      float var16 = this.aFloat4066;
      float var17 = this.aFloat4070;
      float var18 = this.aFloat4069;
      float var19 = this.aFloat4065;
      float var20 = this.aFloat4072;
      float var21 = this.aFloat4076;
      float var22 = this.aFloat4075;
      float var23 = this.aFloat4077;
      this.aFloat4066 = var16 * var7 + var17 * var10 + this.aFloat4068 * var13;
      this.aFloat4070 = var16 * var8 + var17 * var11 + this.aFloat4068 * var14;
      this.aFloat4068 = var16 * var9 + var17 * var12 + this.aFloat4068 * var15;
      this.aFloat4069 = var18 * var7 + var19 * var10 + this.aFloat4071 * var13;
      this.aFloat4065 = var18 * var8 + var19 * var11 + this.aFloat4071 * var14;
      this.aFloat4071 = var18 * var9 + var19 * var12 + this.aFloat4071 * var15;
      this.aFloat4072 = var20 * var7 + var21 * var10 + this.aFloat4073 * var13;
      this.aFloat4076 = var20 * var8 + var21 * var11 + this.aFloat4073 * var14;
      this.aFloat4073 = var20 * var9 + var21 * var12 + this.aFloat4073 * var15;
      this.aFloat4075 = var22 * var7 + var23 * var10 + this.aFloat4067 * var13;
      this.aFloat4077 = var22 * var8 + var23 * var11 + this.aFloat4067 * var14;
      this.aFloat4067 = var22 * var9 + var23 * var12 + this.aFloat4067 * var15;
   }

   public void method6045() {
      float var1 = this.aFloat4075;
      float var2 = this.aFloat4077;
      float var3 = this.aFloat4069;
      this.aFloat4069 = this.aFloat4070;
      this.aFloat4070 = var3;
      float var4 = this.aFloat4072;
      this.aFloat4072 = this.aFloat4068;
      this.aFloat4068 = var4;
      float var5 = this.aFloat4076;
      this.aFloat4076 = this.aFloat4071;
      this.aFloat4071 = var5;
      this.aFloat4075 = -(var1 * this.aFloat4066 + var2 * this.aFloat4069 + this.aFloat4067 * this.aFloat4072);
      this.aFloat4077 = -(var1 * this.aFloat4070 + var2 * this.aFloat4065 + this.aFloat4067 * this.aFloat4076);
      this.aFloat4067 = -(var1 * this.aFloat4068 + var2 * this.aFloat4071 + this.aFloat4067 * this.aFloat4073);
   }

   public void method6046(float var1, float var2, float var3, float var4, float var5, float var6, float var7, float var8, float var9) {
      this.aFloat4066 = var1;
      this.aFloat4069 = var4;
      this.aFloat4072 = var7;
      this.aFloat4075 = 0.0F;
      this.aFloat4070 = var2;
      this.aFloat4065 = var5;
      this.aFloat4076 = var8;
      this.aFloat4077 = 0.0F;
      this.aFloat4068 = var3;
      this.aFloat4071 = var6;
      this.aFloat4073 = var9;
      this.aFloat4067 = 0.0F;
   }

   public void method6047(float var1, float var2, float var3) {
      this.aFloat4066 = var1;
      this.aFloat4069 = 0.0F;
      this.aFloat4072 = 0.0F;
      this.aFloat4075 = 0.0F;
      this.aFloat4070 = 0.0F;
      this.aFloat4065 = var2;
      this.aFloat4076 = 0.0F;
      this.aFloat4077 = 0.0F;
      this.aFloat4068 = 0.0F;
      this.aFloat4071 = 0.0F;
      this.aFloat4073 = var3;
      this.aFloat4067 = 0.0F;
   }

   public void method6048(float var1, float var2, float var3) {
      this.aFloat4066 *= var1;
      this.aFloat4069 *= var1;
      this.aFloat4072 *= var1;
      this.aFloat4075 *= var1;
      this.aFloat4070 *= var2;
      this.aFloat4065 *= var2;
      this.aFloat4076 *= var2;
      this.aFloat4077 *= var2;
      this.aFloat4068 *= var3;
      this.aFloat4071 *= var3;
      this.aFloat4073 *= var3;
      this.aFloat4067 *= var3;
   }

   public void method6049(float var1, float var2, float var3) {
      this.aFloat4066 *= var1;
      this.aFloat4069 *= var1;
      this.aFloat4072 *= var1;
      this.aFloat4075 *= var1;
      this.aFloat4070 *= var2;
      this.aFloat4065 *= var2;
      this.aFloat4076 *= var2;
      this.aFloat4077 *= var2;
      this.aFloat4068 *= var3;
      this.aFloat4071 *= var3;
      this.aFloat4073 *= var3;
      this.aFloat4067 *= var3;
   }

   public void method6050(float var1, float var2, float var3) {
      this.aFloat4076 = 0.0F;
      this.aFloat4072 = 0.0F;
      this.aFloat4071 = 0.0F;
      this.aFloat4069 = 0.0F;
      this.aFloat4068 = 0.0F;
      this.aFloat4070 = 0.0F;
      this.aFloat4073 = 1.0F;
      this.aFloat4065 = 1.0F;
      this.aFloat4066 = 1.0F;
      this.aFloat4075 = var1;
      this.aFloat4077 = var2;
      this.aFloat4067 = var3;
   }

   public void method6051(float var1, float var2, float var3) {
      this.aFloat4076 = 0.0F;
      this.aFloat4072 = 0.0F;
      this.aFloat4071 = 0.0F;
      this.aFloat4069 = 0.0F;
      this.aFloat4068 = 0.0F;
      this.aFloat4070 = 0.0F;
      this.aFloat4073 = 1.0F;
      this.aFloat4065 = 1.0F;
      this.aFloat4066 = 1.0F;
      this.aFloat4075 = var1;
      this.aFloat4077 = var2;
      this.aFloat4067 = var3;
   }

   void method6052(float var1, float var2, float var3, float var4) {
      float var5 = var1 * var1;
      float var6 = var1 * var2;
      float var7 = var1 * var3;
      float var8 = var1 * var4;
      float var9 = var2 * var2;
      float var10 = var2 * var3;
      float var11 = var2 * var4;
      float var12 = var3 * var3;
      float var13 = var3 * var4;
      this.aFloat4066 = 1.0F - 2.0F * (var9 + var12);
      this.aFloat4069 = 2.0F * (var6 - var13);
      this.aFloat4072 = 2.0F * (var7 + var11);
      this.aFloat4070 = 2.0F * (var6 + var13);
      this.aFloat4065 = 1.0F - 2.0F * (var5 + var12);
      this.aFloat4076 = 2.0F * (var10 - var8);
      this.aFloat4068 = 2.0F * (var7 - var11);
      this.aFloat4071 = 2.0F * (var10 + var8);
      this.aFloat4073 = 1.0F - 2.0F * (var5 + var9);
      this.aFloat4067 = 0.0F;
      this.aFloat4077 = 0.0F;
      this.aFloat4075 = 0.0F;
   }

   public String method6053() {
      return this.aFloat4066 + "," + this.aFloat4069 + "," + this.aFloat4072 + "," + this.aFloat4075 + " - " + this.aFloat4070 + "," + this.aFloat4065 + "," + this.aFloat4076 + "," + this.aFloat4077 + " - " + this.aFloat4068 + "," + this.aFloat4071 + "," + this.aFloat4073 + "," + this.aFloat4067;
   }

   public void method6054(Class326 var1) {
      this.method6005(var1.aFloat4036, var1.aFloat4037, var1.aFloat4033);
   }

   public void method6055(Class326 var1) {
      this.method6005(var1.aFloat4036, var1.aFloat4037, var1.aFloat4033);
   }

   public void method6056(float var1, float var2, float var3) {
      this.aFloat4075 += var1;
      this.aFloat4077 += var2;
      this.aFloat4067 += var3;
   }

   public void method6057(float var1, float var2, float var3) {
      this.aFloat4075 += var1;
      this.aFloat4077 += var2;
      this.aFloat4067 += var3;
   }

   public void method6058(float var1, float var2, float var3) {
      this.aFloat4076 = 0.0F;
      this.aFloat4072 = 0.0F;
      this.aFloat4071 = 0.0F;
      this.aFloat4069 = 0.0F;
      this.aFloat4068 = 0.0F;
      this.aFloat4070 = 0.0F;
      this.aFloat4073 = 1.0F;
      this.aFloat4065 = 1.0F;
      this.aFloat4066 = 1.0F;
      this.aFloat4075 = var1;
      this.aFloat4077 = var2;
      this.aFloat4067 = var3;
   }

   public void method6059() {
      float var1 = this.aFloat4075;
      float var2 = this.aFloat4077;
      float var3 = this.aFloat4069;
      this.aFloat4069 = this.aFloat4070;
      this.aFloat4070 = var3;
      float var4 = this.aFloat4072;
      this.aFloat4072 = this.aFloat4068;
      this.aFloat4068 = var4;
      float var5 = this.aFloat4076;
      this.aFloat4076 = this.aFloat4071;
      this.aFloat4071 = var5;
      this.aFloat4075 = -(var1 * this.aFloat4066 + var2 * this.aFloat4069 + this.aFloat4067 * this.aFloat4072);
      this.aFloat4077 = -(var1 * this.aFloat4070 + var2 * this.aFloat4065 + this.aFloat4067 * this.aFloat4076);
      this.aFloat4067 = -(var1 * this.aFloat4068 + var2 * this.aFloat4071 + this.aFloat4067 * this.aFloat4073);
   }

   void method6060(float var1, float var2, float var3, float var4) {
      float var5 = var1 * var1;
      float var6 = var1 * var2;
      float var7 = var1 * var3;
      float var8 = var1 * var4;
      float var9 = var2 * var2;
      float var10 = var2 * var3;
      float var11 = var2 * var4;
      float var12 = var3 * var3;
      float var13 = var3 * var4;
      this.aFloat4066 = 1.0F - 2.0F * (var9 + var12);
      this.aFloat4069 = 2.0F * (var6 - var13);
      this.aFloat4072 = 2.0F * (var7 + var11);
      this.aFloat4070 = 2.0F * (var6 + var13);
      this.aFloat4065 = 1.0F - 2.0F * (var5 + var12);
      this.aFloat4076 = 2.0F * (var10 - var8);
      this.aFloat4068 = 2.0F * (var7 - var11);
      this.aFloat4071 = 2.0F * (var10 + var8);
      this.aFloat4073 = 1.0F - 2.0F * (var5 + var9);
      this.aFloat4067 = 0.0F;
      this.aFloat4077 = 0.0F;
      this.aFloat4075 = 0.0F;
   }

   public void method6061(float var1, float var2, float var3, float var4) {
      float var5 = (float)Math.cos((double)var4);
      float var6 = (float)Math.sin((double)var4);
      float var7 = var5 + var1 * var1 * (1.0F - var5);
      float var8 = var3 * var6 + var2 * var1 * (1.0F - var5);
      float var9 = -var2 * var6 + var3 * var1 * (1.0F - var5);
      float var10 = -var3 * var6 + var1 * var2 * (1.0F - var5);
      float var11 = var5 + var2 * var2 * (1.0F - var5);
      float var12 = var1 * var6 + var3 * var2 * (1.0F - var5);
      float var13 = var2 * var6 + var1 * var3 * (1.0F - var5);
      float var14 = -var1 * var6 + var2 * var3 * (1.0F - var5);
      float var15 = var5 + var3 * var3 * (1.0F - var5);
      float var16 = this.aFloat4066;
      float var17 = this.aFloat4070;
      float var18 = this.aFloat4069;
      float var19 = this.aFloat4065;
      float var20 = this.aFloat4072;
      float var21 = this.aFloat4076;
      float var22 = this.aFloat4075;
      float var23 = this.aFloat4077;
      this.aFloat4066 = var16 * var7 + var17 * var10 + this.aFloat4068 * var13;
      this.aFloat4070 = var16 * var8 + var17 * var11 + this.aFloat4068 * var14;
      this.aFloat4068 = var16 * var9 + var17 * var12 + this.aFloat4068 * var15;
      this.aFloat4069 = var18 * var7 + var19 * var10 + this.aFloat4071 * var13;
      this.aFloat4065 = var18 * var8 + var19 * var11 + this.aFloat4071 * var14;
      this.aFloat4071 = var18 * var9 + var19 * var12 + this.aFloat4071 * var15;
      this.aFloat4072 = var20 * var7 + var21 * var10 + this.aFloat4073 * var13;
      this.aFloat4076 = var20 * var8 + var21 * var11 + this.aFloat4073 * var14;
      this.aFloat4073 = var20 * var9 + var21 * var12 + this.aFloat4073 * var15;
      this.aFloat4075 = var22 * var7 + var23 * var10 + this.aFloat4067 * var13;
      this.aFloat4077 = var22 * var8 + var23 * var11 + this.aFloat4067 * var14;
      this.aFloat4067 = var22 * var9 + var23 * var12 + this.aFloat4067 * var15;
   }

   public void method6062(Class325 var1) {
      this.method5998(var1.aClass321_4032);
      this.method6004(var1.aClass326_4031);
   }

   public void method6063(float var1, float var2, float var3, float[] var4) {
      var1 -= this.aFloat4075;
      var2 -= this.aFloat4077;
      var3 -= this.aFloat4067;
      var4[0] = (float)((int)(this.aFloat4066 * var1 + this.aFloat4070 * var2 + this.aFloat4068 * var3));
      var4[1] = (float)((int)(this.aFloat4069 * var1 + this.aFloat4065 * var2 + this.aFloat4071 * var3));
      var4[2] = (float)((int)(this.aFloat4072 * var1 + this.aFloat4076 * var2 + this.aFloat4073 * var3));
   }

   public void method6064(Class325 var1) {
      float var2 = var1.aClass321_4032.aFloat4017 * var1.aClass321_4032.aFloat4017;
      float var3 = var1.aClass321_4032.aFloat4017 * var1.aClass321_4032.aFloat4020;
      float var4 = var1.aClass321_4032.aFloat4017 * var1.aClass321_4032.aFloat4016;
      float var5 = var1.aClass321_4032.aFloat4017 * var1.aClass321_4032.aFloat4021;
      float var6 = var1.aClass321_4032.aFloat4020 * var1.aClass321_4032.aFloat4020;
      float var7 = var1.aClass321_4032.aFloat4020 * var1.aClass321_4032.aFloat4016;
      float var8 = var1.aClass321_4032.aFloat4020 * var1.aClass321_4032.aFloat4021;
      float var9 = var1.aClass321_4032.aFloat4016 * var1.aClass321_4032.aFloat4016;
      float var10 = var1.aClass321_4032.aFloat4016 * var1.aClass321_4032.aFloat4021;
      float var11 = var1.aClass321_4032.aFloat4021 * var1.aClass321_4032.aFloat4021;
      this.aFloat4066 = var6 + var2 - var11 - var9;
      this.aFloat4070 = var7 + var5 + var7 + var5;
      this.aFloat4068 = var8 - var4 - var4 + var8;
      this.aFloat4069 = var7 - var5 - var5 + var7;
      this.aFloat4065 = var9 + var2 - var6 - var11;
      this.aFloat4071 = var10 + var3 + var10 + var3;
      this.aFloat4072 = var8 + var4 + var8 + var4;
      this.aFloat4076 = var10 - var3 - var3 + var10;
      this.aFloat4073 = var11 + var2 - var9 - var6;
      this.aFloat4075 = var1.aClass326_4031.aFloat4036;
      this.aFloat4077 = var1.aClass326_4031.aFloat4037;
      this.aFloat4067 = var1.aClass326_4031.aFloat4033;
   }
}
