
public class Class568_Sub2 extends Class568 {

   float[] aFloatArray9299;
   short aShort9300;
   Class174 aClass174_9301;
   Class174 aClass174_9302;
   Class143 aClass143_9303;
   boolean aBool9304 = false;
   float[] aFloatArray9305;
   static final int anInt9306 = -1;
   static final int anInt9307 = 7;
   int anInt9308;
   short[] aShortArray9309;
   int[] anIntArray9310;
   static final int anInt9311 = 618648;
   short[] aShortArray9312;
   int anInt9313;
   short aShort9314;
   int anInt9315 = 0;
   int anInt9316 = 0;
   static int anInt9317 = 4096;
   int[] anIntArray9318;
   int[] anIntArray9319;
   short[] aShortArray9320;
   int[] anIntArray9321;
   Class183[] aClass183Array9322;
   static int anInt9323 = 4096;
   int anInt9324;
   short[] aShortArray9325;
   byte[] aByteArray9326;
   float[][] aFloatArrayArray9327;
   float[][] aFloatArrayArray9328;
   int[] anIntArray9329;
   int[] anIntArray9330;
   int[] anIntArray9331;
   static final int anInt9332 = 0;
   static final int anInt9333 = 1;
   static final int anInt9334 = 2;
   int anInt9335;
   int[] anIntArray9336;
   static final int anInt9337 = -2;
   byte[] aByteArray9338;
   byte[] aByteArray9339;
   Class183[] aClass183Array9340;
   Class166[] aClass166Array9341;
   short[] aShortArray9342;
   Class545_Sub3 aClass545_Sub3_9343;
   int[][] anIntArrayArray9344;
   int[][] anIntArrayArray9345;
   boolean aBool9346;
   boolean aBool9347 = false;
   static final int anInt9348 = 618520;
   int anInt9349;
   int anInt9350;
   short[] aShortArray9351;
   Class80[] aClass80Array9352;
   int anInt9353 = 0;
   int anInt9354;
   Class133[] aClass133Array9355;
   Class187[] aClass187Array9356;
   int[][] anIntArrayArray9357;
   boolean aBool9358 = false;
   boolean aBool9359 = false;
   short aShort9360;
   float[] aFloatArray9361;
   short aShort9362;
   short aShort9363;
   short aShort9364;
   short aShort9365;
   short aShort9366;
   boolean aBool9367 = false;
   boolean aBool9368 = false;
   static int anInt9369 = 0;
   int[] anIntArray9370;
   Class189[] aClass189Array9371;
   short[] aShortArray9372;
   float[] aFloatArray9373;
   short[] aShortArray9374;
   int[] anIntArray9375;
   int[] anIntArray9376;
   int[] anIntArray9377;
   static final int anInt9378 = 4;
   int[] anIntArray9379;
   int anInt9380 = 0;
   Class568_Sub2[] aClass568_Sub2Array9381;
   Class568_Sub2[] aClass568_Sub2Array9382;


   public Class225_Sub14_Sub16 ga(Class225_Sub14_Sub16 var1) {
      return null;
   }

   final boolean method14742(int var1) {
      return this.aByteArray9339 == null?false:this.aByteArray9339[var1] != 0;
   }

   void method14743(Class174 var1) {
      this.aClass143_9303 = var1.aClass143_2098;
      if(var1 != this.aClass174_9301) {
         this.aClass174_9301 = var1;
         this.anIntArray9370 = this.aClass174_9301.anIntArray2102;
         this.aFloatArray9361 = this.aClass174_9301.aFloatArray2103;
         this.aFloatArray9299 = this.aClass174_9301.aFloatArray2104;
         this.aFloatArray9373 = this.aClass174_9301.aFloatArray2105;
         this.aFloatArray9305 = this.aClass174_9301.aFloatArray2106;
         this.anIntArray9375 = this.aClass174_9301.anIntArray2107;
         this.anIntArray9376 = this.aClass174_9301.anIntArray2118;
         this.anIntArray9377 = this.aClass174_9301.anIntArray2109;
         this.anIntArray9329 = this.aClass174_9301.anIntArray2110;
         this.anIntArray9379 = this.aClass174_9301.anIntArray2128;
         this.anIntArray9321 = this.aClass174_9301.anIntArray2112;
      }
   }

   void method14744(Thread var1) {
      Class174 var2 = this.aClass545_Sub3_9343.method15346(var1);
      if(var2 != this.aClass174_9302) {
         this.aClass174_9302 = var2;
         this.aClass568_Sub2Array9381 = this.aClass174_9302.aClass568_Sub2Array2087;
         this.aClass568_Sub2Array9382 = this.aClass174_9302.aClass568_Sub2Array2123;
      }
   }

   public int cs() {
      if(!this.aBool9358) {
         this.method14765();
      }

      return this.aShort9365;
   }

   void method14745() {
      this.aClass183Array9340 = new Class183[this.anInt9316];

      int var1;
      for(var1 = 0; var1 < this.anInt9316; ++var1) {
         this.aClass183Array9340[var1] = new Class183();
      }

      for(var1 = 0; var1 < this.anInt9353; ++var1) {
         short var2 = this.aShortArray9372[var1];
         short var3 = this.aShortArray9325[var1];
         short var4 = this.aShortArray9309[var1];
         int var5 = this.anIntArray9336[var3] - this.anIntArray9336[var2];
         int var6 = this.anIntArray9318[var3] - this.anIntArray9318[var2];
         int var7 = this.anIntArray9319[var3] - this.anIntArray9319[var2];
         int var8 = this.anIntArray9336[var4] - this.anIntArray9336[var2];
         int var9 = this.anIntArray9318[var4] - this.anIntArray9318[var2];
         int var10 = this.anIntArray9319[var4] - this.anIntArray9319[var2];
         int var11 = var6 * var10 - var9 * var7;
         int var12 = var7 * var8 - var10 * var5;

         int var13;
         for(var13 = var5 * var9 - var8 * var6; var11 > 8192 || var12 > 8192 || var13 > 8192 || var11 < -8192 || var12 < -8192 || var13 < -8192; var13 >>= 1) {
            var11 >>= 1;
            var12 >>= 1;
         }

         int var14 = (int)Math.sqrt((double)(var11 * var11 + var12 * var12 + var13 * var13));
         if(var14 <= 0) {
            var14 = 1;
         }

         var11 = var11 * 256 / var14;
         var12 = var12 * 256 / var14;
         var13 = var13 * 256 / var14;
         byte var15;
         if(this.aByteArray9326 == null) {
            var15 = 0;
         } else {
            var15 = this.aByteArray9326[var1];
         }

         if(var15 == 0) {
            Class183 var16 = this.aClass183Array9340[var2];
            var16.anInt2200 += var11;
            var16.anInt2201 += var12;
            var16.anInt2202 += var13;
            ++var16.anInt2203;
            var16 = this.aClass183Array9340[var3];
            var16.anInt2200 += var11;
            var16.anInt2201 += var12;
            var16.anInt2202 += var13;
            ++var16.anInt2203;
            var16 = this.aClass183Array9340[var4];
            var16.anInt2200 += var11;
            var16.anInt2201 += var12;
            var16.anInt2202 += var13;
            ++var16.anInt2203;
         } else if(var15 == 1) {
            if(this.aClass189Array9371 == null) {
               this.aClass189Array9371 = new Class189[this.anInt9353];
            }

            Class189 var17 = this.aClass189Array9371[var1] = new Class189();
            var17.anInt2269 = var11;
            var17.anInt2270 = var12;
            var17.anInt2271 = var13;
         }
      }

   }

   void method14746(boolean var1) {
      if(this.aClass545_Sub3_9343.anInt9817 * -310738315 > 1) {
         synchronized(this) {
            this.method14814(var1);
         }
      } else {
         this.method14814(var1);
      }

   }

   public int cb() {
      if(!this.aBool9358) {
         this.method14765();
      }

      return this.aShort9366;
   }

   public void af(int var1) {
      if((this.anInt9335 & 13) != 13) {
         throw new IllegalStateException();
      } else {
         if(this.aClass183Array9340 != null) {
            if(var1 == 4096) {
               this.method14811();
               return;
            }

            if(var1 == 8192) {
               this.method14756();
               return;
            }

            if(var1 == 12288) {
               this.method14799();
               return;
            }

            int var2 = Class312.anIntArray3943[var1];
            int var3 = Class312.anIntArray3956[var1];
            synchronized(this) {
               int var5;
               int var6;
               for(var5 = 0; var5 < this.anInt9316; ++var5) {
                  var6 = this.anIntArray9319[var5] * var2 + this.anIntArray9336[var5] * var3 >> 14;
                  this.anIntArray9319[var5] = this.anIntArray9319[var5] * var3 - this.anIntArray9336[var5] * var2 >> 14;
                  this.anIntArray9336[var5] = var6;
                  if(this.aClass183Array9340[var5] != null) {
                     var6 = this.aClass183Array9340[var5].anInt2202 * var2 + this.aClass183Array9340[var5].anInt2200 * var3 >> 14;
                     this.aClass183Array9340[var5].anInt2202 = this.aClass183Array9340[var5].anInt2202 * var3 - this.aClass183Array9340[var5].anInt2200 * var2 >> 14;
                     this.aClass183Array9340[var5].anInt2200 = var6;
                  }
               }

               if(this.aClass189Array9371 != null) {
                  for(var5 = 0; var5 < this.anInt9353; ++var5) {
                     if(this.aClass189Array9371[var5] != null) {
                        var6 = this.aClass189Array9371[var5].anInt2271 * var2 + this.aClass189Array9371[var5].anInt2269 * var3 >> 14;
                        this.aClass189Array9371[var5].anInt2271 = this.aClass189Array9371[var5].anInt2271 * var3 - this.aClass189Array9371[var5].anInt2269 * var2 >> 14;
                        this.aClass189Array9371[var5].anInt2269 = var6;
                     }
                  }
               }

               for(var5 = this.anInt9316; var5 < this.anInt9315; ++var5) {
                  var6 = this.anIntArray9319[var5] * var2 + this.anIntArray9336[var5] * var3 >> 14;
                  this.anIntArray9319[var5] = this.anIntArray9319[var5] * var3 - this.anIntArray9336[var5] * var2 >> 14;
                  this.anIntArray9336[var5] = var6;
               }

               this.anInt9380 = 0;
               this.aBool9358 = false;
            }
         } else {
            this.f(var1);
         }

      }
   }

   int method14747(int var1, int var2) {
      var2 = var2 * (var1 & 127) >> 7;
      if(var2 < 2) {
         var2 = 2;
      } else if(var2 > 126) {
         var2 = 126;
      }

      return (var1 & '\uff80') + var2;
   }

   public int ab() {
      return this.anInt9335;
   }

   void method14748() {
      if(this.anInt9380 == 0) {
         this.method14746(false);
      } else {
         if(this.aClass545_Sub3_9343.anInt9817 * -310738315 > 1) {
            synchronized(this) {
               this.method14800();
            }
         } else {
            this.method14800();
         }

      }
   }

   public int c() {
      return this.anInt9313;
   }

   void method14749() {
      if(this.anInt9380 == 0) {
         this.method14746(false);
      } else {
         if(this.aClass545_Sub3_9343.anInt9817 * -310738315 > 1) {
            synchronized(this) {
               this.method14800();
            }
         } else {
            this.method14800();
         }

      }
   }

   public Class568 method12060(byte var1, int var2, boolean var3) {
      this.method14744(Thread.currentThread());
      boolean var4 = false;
      Class568_Sub2 var5;
      Class568_Sub2 var6;
      if(var1 > 0 && var1 <= 7) {
         var5 = this.aClass568_Sub2Array9382[var1 - 1];
         var6 = this.aClass568_Sub2Array9381[var1 - 1];
         var4 = true;
      } else {
         var6 = var5 = new Class568_Sub2(this.aClass545_Sub3_9343);
      }

      return this.method14750(var6, var5, var2, var4, var3);
   }

   Class568 method14750(Class568_Sub2 var1, Class568_Sub2 var2, int var3, boolean var4, boolean var5) {
      var1.aBool9358 = this.aBool9358;
      if(this.aBool9358) {
         var1.aShort9364 = this.aShort9364;
         var1.aShort9362 = this.aShort9362;
         var1.aShort9366 = this.aShort9366;
         var1.aShort9363 = this.aShort9363;
         var1.aShort9300 = this.aShort9300;
         var1.aShort9365 = this.aShort9365;
         var1.aShort9314 = this.aShort9314;
         var1.aShort9360 = this.aShort9360;
      }

      var1.anInt9313 = this.anInt9313;
      var1.anInt9324 = this.anInt9324;
      var1.anInt9315 = this.anInt9315;
      var1.anInt9316 = this.anInt9316;
      var1.anInt9353 = this.anInt9353;
      var1.anInt9354 = this.anInt9354;
      if((var3 & 256) != 0) {
         var1.aBool9367 = true;
      } else {
         var1.aBool9367 = this.aBool9367;
      }

      var1.aBool9368 = this.aBool9368;
      boolean var6 = (var3 & 7) == 7 | (var3 & 32) != 0;
      boolean var7 = var6 || (var3 & 1) != 0;
      boolean var8 = var6 || (var3 & 2) != 0;
      boolean var9 = var6 || (var3 & 4) != 0 || (var3 & 16) != 0;
      int var10;
      if(!var7 && !var8 && !var9) {
         var1.anIntArray9336 = this.anIntArray9336;
         var1.anIntArray9318 = this.anIntArray9318;
         var1.anIntArray9319 = this.anIntArray9319;
      } else {
         if(var7) {
            if(var2.anIntArray9336 != null && var2.anIntArray9336.length >= this.anInt9315) {
               var1.anIntArray9336 = var2.anIntArray9336;
            } else {
               var1.anIntArray9336 = var2.anIntArray9336 = new int[this.anInt9315];
            }

            for(var10 = 0; var10 < this.anInt9315; ++var10) {
               var1.anIntArray9336[var10] = this.anIntArray9336[var10];
            }
         } else {
            var1.anIntArray9336 = this.anIntArray9336;
         }

         if(var8) {
            if(var2.anIntArray9318 != null && var2.anIntArray9318.length >= this.anInt9315) {
               var1.anIntArray9318 = var2.anIntArray9318;
            } else {
               var1.anIntArray9318 = var2.anIntArray9318 = new int[this.anInt9315];
            }

            for(var10 = 0; var10 < this.anInt9315; ++var10) {
               var1.anIntArray9318[var10] = this.anIntArray9318[var10];
            }
         } else {
            var1.anIntArray9318 = this.anIntArray9318;
         }

         if(var9) {
            if(var2.anIntArray9319 != null && var2.anIntArray9319.length >= this.anInt9315) {
               var1.anIntArray9319 = var2.anIntArray9319;
            } else {
               var1.anIntArray9319 = var2.anIntArray9319 = new int[this.anInt9315];
            }

            for(var10 = 0; var10 < this.anInt9315; ++var10) {
               var1.anIntArray9319[var10] = this.anIntArray9319[var10];
            }
         } else {
            var1.anIntArray9319 = this.anIntArray9319;
         }
      }

      if((var3 & 540800) != 0) {
         if(var2.aShortArray9351 != null && var2.aShortArray9351.length >= this.anInt9353) {
            var1.aShortArray9351 = var2.aShortArray9351;
         } else {
            var10 = this.anInt9353;
            var1.aShortArray9351 = var2.aShortArray9351 = new short[var10];
         }

         for(var10 = 0; var10 < this.anInt9353; ++var10) {
            var1.aShortArray9351[var10] = this.aShortArray9351[var10];
         }
      } else {
         var1.aShortArray9351 = this.aShortArray9351;
      }

      if((var3 & 618520) != 0) {
         var1.anInt9380 = 0;
         var1.anIntArray9331 = null;
         var1.anIntArray9330 = null;
         var1.anIntArray9310 = null;
      } else if((var3 & 128) != 0) {
         if(var5) {
            this.method14746(false);
         }

         if(this.anIntArray9310 != null) {
            if(var2.anIntArray9310 != null && var2.anIntArray9310.length >= this.anInt9353) {
               var1.anIntArray9310 = var2.anIntArray9310;
               var1.anIntArray9330 = var2.anIntArray9330;
               var1.anIntArray9331 = var2.anIntArray9331;
            } else {
               var10 = this.anInt9353;
               var1.anIntArray9310 = var2.anIntArray9310 = new int[var10];
               var1.anIntArray9330 = var2.anIntArray9330 = new int[var10];
               var1.anIntArray9331 = var2.anIntArray9331 = new int[var10];
            }

            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               var1.anIntArray9310[var10] = this.anIntArray9310[var10];
               var1.anIntArray9330[var10] = this.anIntArray9330[var10];
               var1.anIntArray9331[var10] = this.anIntArray9331[var10];
            }
         }

         var1.anInt9380 = this.anInt9380;
      } else {
         if(var5) {
            this.method14746(false);
         }

         var1.anIntArray9310 = this.anIntArray9310;
         var1.anIntArray9330 = this.anIntArray9330;
         var1.anIntArray9331 = this.anIntArray9331;
         var1.anInt9380 = this.anInt9380;
      }

      if((var3 & 256) != 0) {
         if(var2.aByteArray9339 != null && var2.aByteArray9339.length >= this.anInt9353) {
            var1.aByteArray9339 = var2.aByteArray9339;
         } else {
            var10 = this.anInt9353;
            var1.aByteArray9339 = var2.aByteArray9339 = new byte[var10];
         }

         if(this.aByteArray9339 != null) {
            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               var1.aByteArray9339[var10] = this.aByteArray9339[var10];
            }
         } else {
            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               var1.aByteArray9339[var10] = 0;
            }
         }
      } else {
         var1.aByteArray9339 = this.aByteArray9339;
      }

      if((var3 & 8) == 0 && (var3 & 16) == 0) {
         if(var5) {
            this.method14757();
         }

         var1.aClass183Array9340 = this.aClass183Array9340;
         var1.aClass189Array9371 = this.aClass189Array9371;
      } else {
         if(var2.aClass183Array9340 != null && var2.aClass183Array9340.length >= this.anInt9316) {
            var1.aClass183Array9340 = var2.aClass183Array9340;
         } else {
            var10 = this.anInt9316;
            var1.aClass183Array9340 = var2.aClass183Array9340 = new Class183[var10];
         }

         if(this.aClass183Array9340 != null) {
            for(var10 = 0; var10 < this.anInt9316; ++var10) {
               var1.aClass183Array9340[var10] = new Class183(this.aClass183Array9340[var10]);
            }
         } else {
            var1.aClass183Array9340 = null;
         }

         if(this.aClass189Array9371 != null) {
            if(var2.aClass189Array9371 != null && var2.aClass189Array9371.length >= this.anInt9353) {
               var1.aClass189Array9371 = var2.aClass189Array9371;
            } else {
               var10 = this.anInt9353;
               var1.aClass189Array9371 = var2.aClass189Array9371 = new Class189[var10];
            }

            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               var1.aClass189Array9371[var10] = this.aClass189Array9371[var10] != null?new Class189(this.aClass189Array9371[var10]):null;
            }
         } else {
            var1.aClass189Array9371 = null;
         }
      }

      if((var3 & '\u8000') != 0) {
         if(this.aShortArray9374 == null) {
            var1.aShortArray9374 = null;
         } else {
            if(var2.aShortArray9374 != null && var2.aShortArray9374.length >= this.anInt9353) {
               var1.aShortArray9374 = var2.aShortArray9374;
            } else {
               var10 = this.anInt9353;
               var1.aShortArray9374 = var2.aShortArray9374 = new short[var10];
            }

            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               var1.aShortArray9374[var10] = this.aShortArray9374[var10];
            }
         }
      } else {
         var1.aShortArray9374 = this.aShortArray9374;
      }

      if((var3 & 65536) != 0) {
         if(this.aByteArray9326 == null) {
            var1.aByteArray9326 = null;
         } else {
            if(var2.aByteArray9326 != null && var2.aByteArray9326.length >= this.anInt9353) {
               var1.aByteArray9326 = var2.aByteArray9326;
            } else {
               var10 = var4?this.anInt9353 + 100:this.anInt9353;
               var1.aByteArray9326 = var2.aByteArray9326 = new byte[var10];
            }

            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               var1.aByteArray9326[var10] = this.aByteArray9326[var10];
            }
         }
      } else {
         var1.aByteArray9326 = this.aByteArray9326;
      }

      if((var3 & '\uc580') != 0) {
         if(var2.aClass187Array9356 != null && var2.aClass187Array9356.length >= this.anInt9354) {
            var1.aClass187Array9356 = var2.aClass187Array9356;

            for(var10 = 0; var10 < this.anInt9354; ++var10) {
               var1.aClass187Array9356[var10].method3276(this.aClass187Array9356[var10], 750984819);
            }
         } else {
            var10 = this.anInt9354;
            var1.aClass187Array9356 = var2.aClass187Array9356 = new Class187[var10];

            for(int var11 = 0; var11 < this.anInt9354; ++var11) {
               var1.aClass187Array9356[var11] = this.aClass187Array9356[var11].method3274((byte)-105);
            }
         }
      } else {
         var1.aClass187Array9356 = this.aClass187Array9356;
      }

      if(this.aFloatArrayArray9327 != null && (var3 & 16) != 0) {
         if(var2.aFloatArrayArray9327 != null && var2.aFloatArrayArray9327.length >= this.anInt9353) {
            var1.aFloatArrayArray9327 = var2.aFloatArrayArray9327;
         } else {
            var10 = var4?this.anInt9353 + 100:this.anInt9353;
            var1.aFloatArrayArray9327 = var2.aFloatArrayArray9327 = new float[var10][3];
         }

         for(var10 = 0; var10 < this.anInt9353; ++var10) {
            if(this.aFloatArrayArray9327[var10] != null) {
               var1.aFloatArrayArray9327[var10][0] = this.aFloatArrayArray9327[var10][0];
               var1.aFloatArrayArray9327[var10][1] = this.aFloatArrayArray9327[var10][1];
               var1.aFloatArrayArray9327[var10][2] = this.aFloatArrayArray9327[var10][2];
            }
         }

         if(var2.aFloatArrayArray9328 != null && var2.aFloatArrayArray9328.length >= this.anInt9353) {
            var1.aFloatArrayArray9328 = var2.aFloatArrayArray9328;
         } else {
            var10 = var4?this.anInt9353 + 100:this.anInt9353;
            var1.aFloatArrayArray9328 = var2.aFloatArrayArray9328 = new float[var10][3];
         }

         for(var10 = 0; var10 < this.anInt9353; ++var10) {
            if(this.aFloatArrayArray9328[var10] != null) {
               var1.aFloatArrayArray9328[var10][0] = this.aFloatArrayArray9328[var10][0];
               var1.aFloatArrayArray9328[var10][1] = this.aFloatArrayArray9328[var10][1];
               var1.aFloatArrayArray9328[var10][2] = this.aFloatArrayArray9328[var10][2];
            }
         }
      } else {
         var1.aFloatArrayArray9327 = this.aFloatArrayArray9327;
         var1.aFloatArrayArray9328 = this.aFloatArrayArray9328;
      }

      var1.anIntArrayArray9344 = this.anIntArrayArray9344;
      var1.anIntArrayArray9345 = this.anIntArrayArray9345;
      var1.anIntArrayArray9357 = this.anIntArrayArray9357;
      var1.aShortArray9320 = this.aShortArray9320;
      var1.aShortArray9342 = this.aShortArray9342;
      var1.aByteArray9338 = this.aByteArray9338;
      var1.aShortArray9372 = this.aShortArray9372;
      var1.aShortArray9325 = this.aShortArray9325;
      var1.aShortArray9309 = this.aShortArray9309;
      var1.aClass80Array9352 = this.aClass80Array9352;
      var1.aClass166Array9341 = this.aClass166Array9341;
      var1.aClass133Array9355 = this.aClass133Array9355;
      var1.aShortArray9312 = this.aShortArray9312;
      var1.anInt9335 = var3;
      return var1;
   }

   int method14751(int var1, short var2, int var3) {
      int var4 = Exception_Sub5.anIntArray10376[this.method14747(var1, var3)];
      Class161 var5 = this.aClass545_Sub3_9343.anInterface24_7370.method113(var2 & '\uffff', -923222076);
      int var6 = var5.aByte1990 & 255;
      int var7;
      int var9;
      if(var6 != 0) {
         var7 = 131586 * var3;
         if(var6 == 256) {
            var4 = var7;
         } else {
            var9 = 256 - var6;
            var4 = ((var7 & 16711935) * var6 + (var4 & 16711935) * var9 & -16711936) + ((var7 & '\uff00') * var6 + (var4 & '\uff00') * var9 & 16711680) >> 8;
         }
      }

      var7 = var5.aByte1991 & 255;
      if(var7 != 0) {
         var7 += 256;
         int var8 = ((var4 & 16711680) >> 16) * var7;
         if(var8 > '\uffff') {
            var8 = '\uffff';
         }

         var9 = ((var4 & '\uff00') >> 8) * var7;
         if(var9 > '\uffff') {
            var9 = '\uffff';
         }

         int var10 = (var4 & 255) * var7;
         if(var10 > '\uffff') {
            var10 = '\uffff';
         }

         var4 = (var8 << 8 & 16711680) + (var9 & '\uff00') + (var10 >> 8);
      }

      return var4;
   }

   public void KA(int var1) {
      if(this.aClass545_Sub3_9343.anInt9817 * -310738315 > 1) {
         synchronized(this) {
            if((this.anInt9335 & 65536) == 65536 && (var1 & 65536) == 0) {
               this.method14746(true);
            }

            this.anInt9335 = var1;
         }
      } else {
         if((this.anInt9335 & 65536) == 65536 && (var1 & 65536) == 0) {
            this.method14746(true);
         }

         this.anInt9335 = var1;
      }

   }

   void method14752() {
      for(int var1 = 0; var1 < this.anInt9353; ++var1) {
         short var2 = this.aShortArray9374 != null?this.aShortArray9374[var1]:-1;
         if(var2 == -1) {
            int var3 = this.aShortArray9351[var1] & '\uffff';
            int var4 = (var3 & 127) * this.anInt9313 >> 7;
            short var6 = Class166.method2855(var3 & -128 | var4, 2114693747);
            int var5;
            if(this.anIntArray9331[var1] == -1) {
               var5 = this.anIntArray9310[var1] & -131072;
               this.anIntArray9310[var1] = var5 | Class576.method12223(var6, var5 >> 17, 431922138);
            } else if(this.anIntArray9331[var1] != -2) {
               var5 = this.anIntArray9310[var1] & -131072;
               this.anIntArray9310[var1] = var5 | Class576.method12223(var6, var5 >> 17, 431922138);
               var5 = this.anIntArray9330[var1] & -131072;
               this.anIntArray9330[var1] = var5 | Class576.method12223(var6, var5 >> 17, 431922138);
               var5 = this.anIntArray9331[var1] & -131072;
               this.anIntArray9331[var1] = var5 | Class576.method12223(var6, var5 >> 17, 431922138);
            }
         }
      }

      this.anInt9380 = 2;
   }

   void method14753() {
      synchronized(this) {
         int var2;
         int var3;
         for(var2 = 0; var2 < this.anInt9316; ++var2) {
            var3 = this.anIntArray9319[var2];
            this.anIntArray9319[var2] = this.anIntArray9336[var2];
            this.anIntArray9336[var2] = -var3;
            if(this.aClass183Array9340[var2] != null) {
               var3 = this.aClass183Array9340[var2].anInt2202;
               this.aClass183Array9340[var2].anInt2202 = this.aClass183Array9340[var2].anInt2200;
               this.aClass183Array9340[var2].anInt2200 = -var3;
            }
         }

         if(this.aClass189Array9371 != null) {
            for(var2 = 0; var2 < this.anInt9353; ++var2) {
               if(this.aClass189Array9371[var2] != null) {
                  var3 = this.aClass189Array9371[var2].anInt2271;
                  this.aClass189Array9371[var2].anInt2271 = this.aClass189Array9371[var2].anInt2269;
                  this.aClass189Array9371[var2].anInt2269 = -var3;
               }
            }
         }

         for(var2 = this.anInt9316; var2 < this.anInt9315; ++var2) {
            var3 = this.anIntArray9319[var2];
            this.anIntArray9319[var2] = this.anIntArray9336[var2];
            this.anIntArray9336[var2] = -var3;
         }

         this.anInt9380 = 0;
         this.aBool9358 = false;
      }
   }

   public void S(int var1) {
      if((this.anInt9335 & 13) != 13) {
         throw new IllegalStateException();
      } else {
         if(this.aClass183Array9340 != null) {
            if(var1 == 4096) {
               this.method14811();
               return;
            }

            if(var1 == 8192) {
               this.method14756();
               return;
            }

            if(var1 == 12288) {
               this.method14799();
               return;
            }

            int var2 = Class312.anIntArray3943[var1];
            int var3 = Class312.anIntArray3956[var1];
            synchronized(this) {
               int var5;
               int var6;
               for(var5 = 0; var5 < this.anInt9316; ++var5) {
                  var6 = this.anIntArray9319[var5] * var2 + this.anIntArray9336[var5] * var3 >> 14;
                  this.anIntArray9319[var5] = this.anIntArray9319[var5] * var3 - this.anIntArray9336[var5] * var2 >> 14;
                  this.anIntArray9336[var5] = var6;
                  if(this.aClass183Array9340[var5] != null) {
                     var6 = this.aClass183Array9340[var5].anInt2202 * var2 + this.aClass183Array9340[var5].anInt2200 * var3 >> 14;
                     this.aClass183Array9340[var5].anInt2202 = this.aClass183Array9340[var5].anInt2202 * var3 - this.aClass183Array9340[var5].anInt2200 * var2 >> 14;
                     this.aClass183Array9340[var5].anInt2200 = var6;
                  }
               }

               if(this.aClass189Array9371 != null) {
                  for(var5 = 0; var5 < this.anInt9353; ++var5) {
                     if(this.aClass189Array9371[var5] != null) {
                        var6 = this.aClass189Array9371[var5].anInt2271 * var2 + this.aClass189Array9371[var5].anInt2269 * var3 >> 14;
                        this.aClass189Array9371[var5].anInt2271 = this.aClass189Array9371[var5].anInt2271 * var3 - this.aClass189Array9371[var5].anInt2269 * var2 >> 14;
                        this.aClass189Array9371[var5].anInt2269 = var6;
                     }
                  }
               }

               for(var5 = this.anInt9316; var5 < this.anInt9315; ++var5) {
                  var6 = this.anIntArray9319[var5] * var2 + this.anIntArray9336[var5] * var3 >> 14;
                  this.anIntArray9319[var5] = this.anIntArray9319[var5] * var3 - this.anIntArray9336[var5] * var2 >> 14;
                  this.anIntArray9336[var5] = var6;
               }

               this.anInt9380 = 0;
               this.aBool9358 = false;
            }
         } else {
            this.f(var1);
         }

      }
   }

   public Class166[] method12077() {
      return this.aClass166Array9341;
   }

   public void method12112(Class328 var1, int var2, boolean var3) {
      if(this.aShortArray9320 != null) {
         Class174 var4 = this.aClass545_Sub3_9343.method15346(Thread.currentThread());
         Class328 var5 = var4.aClass328_2111;
         var5.method5991(var1);
         if(var3) {
            var5.method5996();
         }

         Class317 var6 = var4.aClass317_2100;
         var6.method5613(var5);
         float[] var7 = new float[3];

         for(int var8 = 0; var8 < this.anInt9316; ++var8) {
            if((var2 & this.aShortArray9320[var8]) != 0) {
               var6.method5618((float)this.anIntArray9336[var8], (float)this.anIntArray9318[var8], (float)this.anIntArray9319[var8], var7);
               this.anIntArray9336[var8] = (int)var7[0];
               this.anIntArray9318[var8] = (int)var7[1];
               this.anIntArray9319[var8] = (int)var7[2];
            }
         }

      }
   }

   void method14754() {
      synchronized(this) {
         for(int var2 = 0; var2 < this.anInt9315; ++var2) {
            int var3 = this.anIntArray9319[var2];
            this.anIntArray9319[var2] = this.anIntArray9336[var2];
            this.anIntArray9336[var2] = -var3;
         }

         this.method14815();
      }
   }

   int method14755(int var1, int var2) {
      var2 = var2 * (var1 & 127) >> 7;
      if(var2 < 2) {
         var2 = 2;
      } else if(var2 > 126) {
         var2 = 126;
      }

      return (var1 & '\uff80') + var2;
   }

   void method14756() {
      synchronized(this) {
         int var2;
         for(var2 = 0; var2 < this.anInt9316; ++var2) {
            this.anIntArray9336[var2] = -this.anIntArray9336[var2];
            this.anIntArray9319[var2] = -this.anIntArray9319[var2];
            if(this.aClass183Array9340[var2] != null) {
               this.aClass183Array9340[var2].anInt2200 = -this.aClass183Array9340[var2].anInt2200;
               this.aClass183Array9340[var2].anInt2202 = -this.aClass183Array9340[var2].anInt2202;
            }
         }

         if(this.aClass189Array9371 != null) {
            for(var2 = 0; var2 < this.anInt9353; ++var2) {
               if(this.aClass189Array9371[var2] != null) {
                  this.aClass189Array9371[var2].anInt2269 = -this.aClass189Array9371[var2].anInt2269;
                  this.aClass189Array9371[var2].anInt2271 = -this.aClass189Array9371[var2].anInt2271;
               }
            }
         }

         for(var2 = this.anInt9316; var2 < this.anInt9315; ++var2) {
            this.anIntArray9336[var2] = -this.anIntArray9336[var2];
            this.anIntArray9319[var2] = -this.anIntArray9319[var2];
         }

         this.anInt9380 = 0;
         this.aBool9358 = false;
      }
   }

   public void t(int var1) {
      if((this.anInt9335 & 6) != 6) {
         throw new IllegalStateException();
      } else {
         int var2 = Class312.anIntArray3943[var1];
         int var3 = Class312.anIntArray3956[var1];
         synchronized(this) {
            for(int var5 = 0; var5 < this.anInt9315; ++var5) {
               int var6 = this.anIntArray9318[var5] * var3 - this.anIntArray9319[var5] * var2 >> 14;
               this.anIntArray9319[var5] = this.anIntArray9318[var5] * var2 + this.anIntArray9319[var5] * var3 >> 14;
               this.anIntArray9318[var5] = var6;
            }

            this.method14815();
         }
      }
   }

   void method14757() {
      if(this.anInt9380 == 0 && this.aClass183Array9340 == null) {
         if(this.aClass545_Sub3_9343.anInt9817 * -310738315 > 1) {
            synchronized(this) {
               this.method14745();
            }
         } else {
            this.method14745();
         }

      }
   }

   public int native_do() {
      return this.anInt9324;
   }

   public Class80[] method12105() {
      return this.aClass80Array9352;
   }

   public void oa(int var1, int var2, int var3) {
      if(var1 != 128 && (this.anInt9335 & 1) != 1) {
         throw new IllegalStateException();
      } else if(var2 != 128 && (this.anInt9335 & 2) != 2) {
         throw new IllegalStateException();
      } else if(var3 != 128 && (this.anInt9335 & 4) != 4) {
         throw new IllegalStateException();
      } else {
         synchronized(this) {
            for(int var5 = 0; var5 < this.anInt9315; ++var5) {
               this.anIntArray9336[var5] = this.anIntArray9336[var5] * var1 >> 7;
               this.anIntArray9318[var5] = this.anIntArray9318[var5] * var2 >> 7;
               this.anIntArray9319[var5] = this.anIntArray9319[var5] * var3 >> 7;
            }

            this.aBool9358 = false;
         }
      }
   }

   public void pa(int var1, int var2, Class400 var3, Class400 var4, int var5, int var6, int var7) {
      if(var1 == 3) {
         if((this.anInt9335 & 7) != 7) {
            throw new IllegalStateException();
         }
      } else if((this.anInt9335 & 2) != 2) {
         throw new IllegalStateException();
      }

      if(!this.aBool9358) {
         this.method14765();
      }

      int var8 = var5 + this.aShort9363;
      int var9 = var5 + this.aShort9364;
      int var10 = var7 + this.aShort9365;
      int var11 = var7 + this.aShort9366;
      if(var1 == 4 || var8 >= 0 && var9 + var3.anInt4910 * 2111724147 >> var3.anInt4909 * -1451148795 < var3.anInt4911 * 1724373523 && var10 >= 0 && var11 + var3.anInt4910 * 2111724147 >> var3.anInt4909 * -1451148795 < var3.anInt4908 * 1696648095) {
         int[][] var12 = var3.anIntArrayArray4912;
         int[][] var13 = (int[][])null;
         if(var4 != null) {
            var13 = var4.anIntArrayArray4912;
         }

         if(var1 != 4 && var1 != 5) {
            var8 >>= var3.anInt4909 * -1451148795;
            var9 = var9 + (var3.anInt4910 * 2111724147 - 1) >> var3.anInt4909 * -1451148795;
            var10 >>= var3.anInt4909 * -1451148795;
            var11 = var11 + (var3.anInt4910 * 2111724147 - 1) >> var3.anInt4909 * -1451148795;
            if(var12[var8][var10] == var6 && var12[var9][var10] == var6 && var12[var8][var11] == var6 && var12[var9][var11] == var6) {
               return;
            }
         } else {
            if(var4 == null) {
               return;
            }

            if(var8 < 0 || var9 + var4.anInt4910 * 2111724147 >> var4.anInt4909 * -1451148795 >= var4.anInt4911 * 1724373523 || var10 < 0 || var11 + var4.anInt4910 * 2111724147 >> var4.anInt4909 * -1451148795 >= var4.anInt4908 * 1696648095) {
               return;
            }
         }

         synchronized(this) {
            int var15;
            int var17;
            int var16;
            int var19;
            int var18;
            int var21;
            int var20;
            int var23;
            int var22;
            int var25;
            int var24;
            if(var1 == 1) {
               var15 = var3.anInt4910 * 2111724147 - 1;

               for(var16 = 0; var16 < this.anInt9316; ++var16) {
                  var17 = this.anIntArray9336[var16] + var5;
                  var18 = this.anIntArray9319[var16] + var7;
                  var19 = var17 & var15;
                  var20 = var18 & var15;
                  var21 = var17 >> var3.anInt4909 * -1451148795;
                  var22 = var18 >> var3.anInt4909 * -1451148795;
                  var23 = var12[var21][var22] * (var3.anInt4910 * 2111724147 - var19) + var12[var21 + 1][var22] * var19 >> var3.anInt4909 * -1451148795;
                  var24 = var12[var21][var22 + 1] * (var3.anInt4910 * 2111724147 - var19) + var12[var21 + 1][var22 + 1] * var19 >> var3.anInt4909 * -1451148795;
                  var25 = var23 * (var3.anInt4910 * 2111724147 - var20) + var24 * var20 >> var3.anInt4909 * -1451148795;
                  this.anIntArray9318[var16] = this.anIntArray9318[var16] + var25 - var6;
               }

               for(var16 = this.anInt9316; var16 < this.anInt9315; ++var16) {
                  var17 = this.anIntArray9336[var16] + var5;
                  var18 = this.anIntArray9319[var16] + var7;
                  var19 = var17 & var15;
                  var20 = var18 & var15;
                  var21 = var17 >> var3.anInt4909 * -1451148795;
                  var22 = var18 >> var3.anInt4909 * -1451148795;
                  if(var21 >= 0 && var21 < var12.length - 1 && var22 >= 0 && var22 < var12[0].length - 1) {
                     var23 = var12[var21][var22] * (var3.anInt4910 * 2111724147 - var19) + var12[var21 + 1][var22] * var19 >> var3.anInt4909 * -1451148795;
                     var24 = var12[var21][var22 + 1] * (var3.anInt4910 * 2111724147 - var19) + var12[var21 + 1][var22 + 1] * var19 >> var3.anInt4909 * -1451148795;
                     var25 = var23 * (var3.anInt4910 * 2111724147 - var20) + var24 * var20 >> var3.anInt4909 * -1451148795;
                     this.anIntArray9318[var16] = this.anIntArray9318[var16] + var25 - var6;
                  }
               }
            } else {
               int var26;
               if(var1 == 2) {
                  if(this.aShort9300 == 0) {
                     return;
                  }

                  var15 = var3.anInt4910 * 2111724147 - 1;

                  for(var16 = 0; var16 < this.anInt9316; ++var16) {
                     var17 = (this.anIntArray9318[var16] << 16) / this.aShort9300;
                     if(var17 < var2) {
                        var18 = this.anIntArray9336[var16] + var5;
                        var19 = this.anIntArray9319[var16] + var7;
                        var20 = var18 & var15;
                        var21 = var19 & var15;
                        var22 = var18 >> var3.anInt4909 * -1451148795;
                        var23 = var19 >> var3.anInt4909 * -1451148795;
                        var24 = var12[var22][var23] * (var3.anInt4910 * 2111724147 - var20) + var12[var22 + 1][var23] * var20 >> var3.anInt4909 * -1451148795;
                        var25 = var12[var22][var23 + 1] * (var3.anInt4910 * 2111724147 - var20) + var12[var22 + 1][var23 + 1] * var20 >> var3.anInt4909 * -1451148795;
                        var26 = var24 * (var3.anInt4910 * 2111724147 - var21) + var25 * var21 >> var3.anInt4909 * -1451148795;
                        this.anIntArray9318[var16] += (var26 - var6) * (var2 - var17) / var2;
                     } else {
                        this.anIntArray9318[var16] = this.anIntArray9318[var16];
                     }
                  }

                  for(var16 = this.anInt9316; var16 < this.anInt9315; ++var16) {
                     var17 = (this.anIntArray9318[var16] << 16) / this.aShort9300;
                     if(var17 < var2) {
                        var18 = this.anIntArray9336[var16] + var5;
                        var19 = this.anIntArray9319[var16] + var7;
                        var20 = var18 & var15;
                        var21 = var19 & var15;
                        var22 = var18 >> var3.anInt4909 * -1451148795;
                        var23 = var19 >> var3.anInt4909 * -1451148795;
                        if(var22 >= 0 && var22 < var3.anInt4911 * 1724373523 - 1 && var23 >= 0 && var23 < var3.anInt4908 * 1696648095 - 1) {
                           var24 = var12[var22][var23] * (var3.anInt4910 * 2111724147 - var20) + var12[var22 + 1][var23] * var20 >> var3.anInt4909 * -1451148795;
                           var25 = var12[var22][var23 + 1] * (var3.anInt4910 * 2111724147 - var20) + var12[var22 + 1][var23 + 1] * var20 >> var3.anInt4909 * -1451148795;
                           var26 = var24 * (var3.anInt4910 * 2111724147 - var21) + var25 * var21 >> var3.anInt4909 * -1451148795;
                           this.anIntArray9318[var16] += (var26 - var6) * (var2 - var17) / var2;
                        }
                     } else {
                        this.anIntArray9318[var16] = this.anIntArray9318[var16];
                     }
                  }
               } else if(var1 == 3) {
                  var15 = (var2 & 255) * 4;
                  var16 = (var2 >> 8 & 255) * 4;
                  var17 = (var2 >> 16 & 255) << 6;
                  var18 = (var2 >> 24 & 255) << 6;
                  if(var5 - (var15 >> 1) < 0 || var5 + (var15 >> 1) + var3.anInt4910 * 2111724147 >= var3.anInt4911 * 1724373523 << var3.anInt4909 * -1451148795 || var7 - (var16 >> 1) < 0 || var7 + (var16 >> 1) + var3.anInt4910 * 2111724147 >= var3.anInt4908 * 1696648095 << var3.anInt4909 * -1451148795) {
                     return;
                  }

                  this.method12121(var3, var5, var6, var7, var15, var16, var17, var18);
               } else if(var1 == 4) {
                  var15 = var4.anInt4910 * 2111724147 - 1;
                  var16 = this.aShort9362 - this.aShort9300;

                  for(var17 = 0; var17 < this.anInt9316; ++var17) {
                     var18 = this.anIntArray9336[var17] + var5;
                     var19 = this.anIntArray9319[var17] + var7;
                     var20 = var18 & var15;
                     var21 = var19 & var15;
                     var22 = var18 >> var4.anInt4909 * -1451148795;
                     var23 = var19 >> var4.anInt4909 * -1451148795;
                     var24 = var13[var22][var23] * (var4.anInt4910 * 2111724147 - var20) + var13[var22 + 1][var23] * var20 >> var4.anInt4909 * -1451148795;
                     var25 = var13[var22][var23 + 1] * (var4.anInt4910 * 2111724147 - var20) + var13[var22 + 1][var23 + 1] * var20 >> var4.anInt4909 * -1451148795;
                     var26 = var24 * (var4.anInt4910 * 2111724147 - var21) + var25 * var21 >> var4.anInt4909 * -1451148795;
                     this.anIntArray9318[var17] = this.anIntArray9318[var17] + (var26 - var6) + var16;
                  }

                  for(var17 = this.anInt9316; var17 < this.anInt9315; ++var17) {
                     var18 = this.anIntArray9336[var17] + var5;
                     var19 = this.anIntArray9319[var17] + var7;
                     var20 = var18 & var15;
                     var21 = var19 & var15;
                     var22 = var18 >> var4.anInt4909 * -1451148795;
                     var23 = var19 >> var4.anInt4909 * -1451148795;
                     if(var22 >= 0 && var22 < var4.anInt4911 * 1724373523 - 1 && var23 >= 0 && var23 < var4.anInt4908 * 1696648095 - 1) {
                        var24 = var13[var22][var23] * (var4.anInt4910 * 2111724147 - var20) + var13[var22 + 1][var23] * var20 >> var4.anInt4909 * -1451148795;
                        var25 = var13[var22][var23 + 1] * (var4.anInt4910 * 2111724147 - var20) + var13[var22 + 1][var23 + 1] * var20 >> var4.anInt4909 * -1451148795;
                        var26 = var24 * (var4.anInt4910 * 2111724147 - var21) + var25 * var21 >> var4.anInt4909 * -1451148795;
                        this.anIntArray9318[var17] = this.anIntArray9318[var17] + (var26 - var6) + var16;
                     }
                  }
               } else if(var1 == 5) {
                  var15 = var4.anInt4910 * 2111724147 - 1;
                  var16 = this.aShort9362 - this.aShort9300;

                  int var27;
                  int var28;
                  for(var17 = 0; var17 < this.anInt9316; ++var17) {
                     var18 = this.anIntArray9336[var17] + var5;
                     var19 = this.anIntArray9319[var17] + var7;
                     var20 = var18 & var15;
                     var21 = var19 & var15;
                     var22 = var18 >> var3.anInt4909 * -1451148795;
                     var23 = var19 >> var3.anInt4909 * -1451148795;
                     var24 = var12[var22][var23] * (var3.anInt4910 * 2111724147 - var20) + var12[var22 + 1][var23] * var20 >> var3.anInt4909 * -1451148795;
                     var25 = var12[var22][var23 + 1] * (var3.anInt4910 * 2111724147 - var20) + var12[var22 + 1][var23 + 1] * var20 >> var3.anInt4909 * -1451148795;
                     var26 = var24 * (var3.anInt4910 * 2111724147 - var21) + var25 * var21 >> var3.anInt4909 * -1451148795;
                     var24 = var13[var22][var23] * (var4.anInt4910 * 2111724147 - var20) + var13[var22 + 1][var23] * var20 >> var4.anInt4909 * -1451148795;
                     var25 = var13[var22][var23 + 1] * (var4.anInt4910 * 2111724147 - var20) + var13[var22 + 1][var23 + 1] * var20 >> var4.anInt4909 * -1451148795;
                     var27 = var24 * (var4.anInt4910 * 2111724147 - var21) + var25 * var21 >> var4.anInt4909 * -1451148795;
                     var28 = var26 - var27 - var2;
                     this.anIntArray9318[var17] = ((this.anIntArray9318[var17] << 8) / var16 * var28 >> 8) - (var6 - var26);
                  }

                  for(var17 = this.anInt9316; var17 < this.anInt9315; ++var17) {
                     var18 = this.anIntArray9336[var17] + var5;
                     var19 = this.anIntArray9319[var17] + var7;
                     var20 = var18 & var15;
                     var21 = var19 & var15;
                     var22 = var18 >> var3.anInt4909 * -1451148795;
                     var23 = var19 >> var3.anInt4909 * -1451148795;
                     if(var22 >= 0 && var22 < var3.anInt4911 * 1724373523 - 1 && var22 < var4.anInt4911 * 1724373523 - 1 && var23 >= 0 && var23 < var3.anInt4908 * 1696648095 - 1 && var23 < var4.anInt4908 * 1696648095 - 1) {
                        var24 = var12[var22][var23] * (var3.anInt4910 * 2111724147 - var20) + var12[var22 + 1][var23] * var20 >> var3.anInt4909 * -1451148795;
                        var25 = var12[var22][var23 + 1] * (var3.anInt4910 * 2111724147 - var20) + var12[var22 + 1][var23 + 1] * var20 >> var3.anInt4909 * -1451148795;
                        var26 = var24 * (var3.anInt4910 * 2111724147 - var21) + var25 * var21 >> var3.anInt4909 * -1451148795;
                        var24 = var13[var22][var23] * (var4.anInt4910 * 2111724147 - var20) + var13[var22 + 1][var23] * var20 >> var4.anInt4909 * -1451148795;
                        var25 = var13[var22][var23 + 1] * (var4.anInt4910 * 2111724147 - var20) + var13[var22 + 1][var23 + 1] * var20 >> var4.anInt4909 * -1451148795;
                        var27 = var24 * (var4.anInt4910 * 2111724147 - var21) + var25 * var21 >> var4.anInt4909 * -1451148795;
                        var28 = var26 - var27 - var2;
                        this.anIntArray9318[var17] = ((this.anIntArray9318[var17] << 8) / var16 * var28 >> 8) - (var6 - var26);
                     }
                  }
               }
            }

            this.aBool9358 = false;
         }
      }
   }

   public void bp() {
      if((this.anInt9335 & 16) != 16) {
         throw new IllegalStateException();
      } else {
         synchronized(this) {
            int var2;
            for(var2 = 0; var2 < this.anInt9315; ++var2) {
               this.anIntArray9319[var2] = -this.anIntArray9319[var2];
            }

            if(this.aClass183Array9340 != null) {
               for(var2 = 0; var2 < this.anInt9316; ++var2) {
                  if(this.aClass183Array9340[var2] != null) {
                     this.aClass183Array9340[var2].anInt2202 = -this.aClass183Array9340[var2].anInt2202;
                  }
               }
            }

            if(this.aClass183Array9322 != null) {
               for(var2 = 0; var2 < this.anInt9316; ++var2) {
                  if(this.aClass183Array9322[var2] != null) {
                     this.aClass183Array9322[var2].anInt2202 = -this.aClass183Array9322[var2].anInt2202;
                  }
               }
            }

            if(this.aClass189Array9371 != null) {
               for(var2 = 0; var2 < this.anInt9353; ++var2) {
                  if(this.aClass189Array9371[var2] != null) {
                     this.aClass189Array9371[var2].anInt2271 = -this.aClass189Array9371[var2].anInt2271;
                  }
               }
            }

            short[] var7 = this.aShortArray9372;
            this.aShortArray9372 = this.aShortArray9309;
            this.aShortArray9309 = var7;
            if(this.aFloatArrayArray9327 != null) {
               for(int var3 = 0; var3 < this.anInt9353; ++var3) {
                  float var4;
                  if(this.aFloatArrayArray9327[var3] != null) {
                     var4 = this.aFloatArrayArray9327[var3][0];
                     this.aFloatArrayArray9327[var3][0] = this.aFloatArrayArray9327[var3][2];
                     this.aFloatArrayArray9327[var3][2] = var4;
                  }

                  if(this.aFloatArrayArray9328[var3] != null) {
                     var4 = this.aFloatArrayArray9328[var3][0];
                     this.aFloatArrayArray9328[var3][0] = this.aFloatArrayArray9328[var3][2];
                     this.aFloatArrayArray9328[var3][2] = var4;
                  }
               }
            }

            this.aBool9358 = false;
            this.anInt9380 = 0;
         }
      }
   }

   void method12063() {
      if(this.aClass545_Sub3_9343.anInt9817 * -310738315 > 1) {
         synchronized(this) {
            while(this.aBool7555) {
               try {
                  this.wait();
               } catch (InterruptedException var4) {
                  ;
               }
            }

            this.aBool7555 = true;
         }
      }

   }

   void method12127() {
      if(this.aClass545_Sub3_9343.anInt9817 * -310738315 > 1) {
         synchronized(this) {
            this.aBool7555 = false;
            this.notifyAll();
         }
      }

   }

   void method14758() {
      if(!this.aBool9358) {
         int var1 = 0;
         int var2 = 0;
         int var3 = 32767;
         int var4 = 32767;
         int var5 = 32767;
         int var6 = -32768;
         int var7 = -32768;
         int var8 = -32768;

         for(int var9 = 0; var9 < this.anInt9316; ++var9) {
            int var10 = this.anIntArray9336[var9];
            int var11 = this.anIntArray9318[var9];
            int var12 = this.anIntArray9319[var9];
            if(var10 < var3) {
               var3 = var10;
            }

            if(var10 > var6) {
               var6 = var10;
            }

            if(var11 < var4) {
               var4 = var11;
            }

            if(var11 > var7) {
               var7 = var11;
            }

            if(var12 < var5) {
               var5 = var12;
            }

            if(var12 > var8) {
               var8 = var12;
            }

            int var13 = var10 * var10 + var12 * var12;
            if(var13 > var1) {
               var1 = var13;
            }

            var13 += var11 * var11;
            if(var13 > var2) {
               var2 = var13;
            }
         }

         this.aShort9363 = (short)var3;
         this.aShort9364 = (short)var6;
         this.aShort9300 = (short)var4;
         this.aShort9362 = (short)var7;
         this.aShort9365 = (short)var5;
         this.aShort9366 = (short)var8;
         this.aShort9314 = (short)((int)(Math.sqrt((double)var1) + 0.99D));
         this.aShort9360 = (short)((int)(Math.sqrt((double)var2) + 0.99D));
         this.aBool9358 = true;
      }
   }

   void ka() {
      if(this.aBool9347) {
         for(int var1 = 0; var1 < this.anInt9315; ++var1) {
            this.anIntArray9336[var1] = this.anIntArray9336[var1] + 7 >> 4;
            this.anIntArray9318[var1] = this.anIntArray9318[var1] + 7 >> 4;
            this.anIntArray9319[var1] = this.anIntArray9319[var1] + 7 >> 4;
         }

         this.aBool9347 = false;
      }

      if(this.aBool9346) {
         this.method14748();
         this.aBool9346 = false;
      }

      this.aBool9358 = false;
   }

   public boolean eo() {
      return this.aBool9368;
   }

   void e(int var1, int[] var2, int var3, int var4, int var5, boolean var6, int var7, int[] var8) {
      int var9 = var2.length;
      int var10;
      int var11;
      int var15;
      int var50;
      int var49;
      if(var1 == 0) {
         var3 <<= 4;
         var4 <<= 4;
         var5 <<= 4;
         if(!this.aBool9347) {
            for(var10 = 0; var10 < this.anInt9315; ++var10) {
               this.anIntArray9336[var10] <<= 4;
               this.anIntArray9318[var10] <<= 4;
               this.anIntArray9319[var10] <<= 4;
            }

            this.aBool9347 = true;
         }

         var10 = 0;
         this.anInt9308 = 0;
         this.anInt9349 = 0;
         this.anInt9350 = 0;

         for(var11 = 0; var11 < var9; ++var11) {
            var50 = var2[var11];
            if(var50 < this.anIntArrayArray9344.length) {
               int[] var51 = this.anIntArrayArray9344[var50];

               for(var49 = 0; var49 < var51.length; ++var49) {
                  var15 = var51[var49];
                  if(this.aShortArray9320 == null || (var7 & this.aShortArray9320[var15]) != 0) {
                     this.anInt9308 += this.anIntArray9336[var15];
                     this.anInt9349 += this.anIntArray9318[var15];
                     this.anInt9350 += this.anIntArray9319[var15];
                     ++var10;
                  }
               }
            }
         }

         if(var10 > 0) {
            this.anInt9308 = this.anInt9308 / var10 + var3;
            this.anInt9349 = this.anInt9349 / var10 + var4;
            this.anInt9350 = this.anInt9350 / var10 + var5;
            this.aBool9359 = true;
         } else {
            this.anInt9308 = var3;
            this.anInt9349 = var4;
            this.anInt9350 = var5;
         }

      } else {
         int[] var12;
         int var13;
         if(var1 == 1) {
            if(var8 != null) {
               var10 = var8[0] * var3 + var8[1] * var4 + var8[2] * var5 + 8192 >> 14;
               var11 = var8[3] * var3 + var8[4] * var4 + var8[5] * var5 + 8192 >> 14;
               var50 = var8[6] * var3 + var8[7] * var4 + var8[8] * var5 + 8192 >> 14;
               var3 = var10;
               var4 = var11;
               var5 = var50;
            }

            var3 <<= 4;
            var4 <<= 4;
            var5 <<= 4;
            if(!this.aBool9347) {
               for(var10 = 0; var10 < this.anInt9315; ++var10) {
                  this.anIntArray9336[var10] <<= 4;
                  this.anIntArray9318[var10] <<= 4;
                  this.anIntArray9319[var10] <<= 4;
               }

               this.aBool9347 = true;
            }

            for(var10 = 0; var10 < var9; ++var10) {
               var11 = var2[var10];
               if(var11 < this.anIntArrayArray9344.length) {
                  var12 = this.anIntArrayArray9344[var11];

                  for(var13 = 0; var13 < var12.length; ++var13) {
                     var49 = var12[var13];
                     if(this.aShortArray9320 == null || (var7 & this.aShortArray9320[var49]) != 0) {
                        this.anIntArray9336[var49] += var3;
                        this.anIntArray9318[var49] += var4;
                        this.anIntArray9319[var49] += var5;
                     }
                  }
               }
            }

         } else {
            int var17;
            int var16;
            int var19;
            int var18;
            int var21;
            int var20;
            int var23;
            int var22;
            int var24;
            int var27;
            int var26;
            int var28;
            int var30;
            int var34;
            int[] var35;
            int var32;
            int var33;
            int var38;
            int var39;
            int var36;
            int var37;
            int var40;
            if(var1 == 2) {
               if(var8 != null) {
                  if(!this.aBool9347) {
                     for(var10 = 0; var10 < this.anInt9315; ++var10) {
                        this.anIntArray9336[var10] <<= 4;
                        this.anIntArray9318[var10] <<= 4;
                        this.anIntArray9319[var10] <<= 4;
                     }

                     this.aBool9347 = true;
                  }

                  var10 = var8[9] << 4;
                  var11 = var8[10] << 4;
                  var50 = var8[11] << 4;
                  var13 = var8[12] << 4;
                  var49 = var8[13] << 4;
                  var15 = var8[14] << 4;
                  if(this.aBool9359) {
                     var16 = var8[0] * this.anInt9308 + var8[3] * this.anInt9349 + var8[6] * this.anInt9350 + 8192 >> 14;
                     var17 = var8[1] * this.anInt9308 + var8[4] * this.anInt9349 + var8[7] * this.anInt9350 + 8192 >> 14;
                     var18 = var8[2] * this.anInt9308 + var8[5] * this.anInt9349 + var8[8] * this.anInt9350 + 8192 >> 14;
                     var16 += var13;
                     var17 += var49;
                     var18 += var15;
                     this.anInt9308 = var16;
                     this.anInt9349 = var17;
                     this.anInt9350 = var18;
                     this.aBool9359 = false;
                  }

                  int[] var52 = new int[9];
                  var17 = Class312.anIntArray3956[var3];
                  var18 = Class312.anIntArray3943[var3];
                  var19 = Class312.anIntArray3956[var4];
                  var20 = Class312.anIntArray3943[var4];
                  var21 = Class312.anIntArray3956[var5];
                  var22 = Class312.anIntArray3943[var5];
                  var23 = var18 * var21 + 8192 >> 14;
                  var24 = var18 * var22 + 8192 >> 14;
                  var52[0] = var19 * var21 + var20 * var24 + 8192 >> 14;
                  var52[1] = -var19 * var22 + var20 * var23 + 8192 >> 14;
                  var52[2] = var20 * var17 + 8192 >> 14;
                  var52[3] = var17 * var22 + 8192 >> 14;
                  var52[4] = var17 * var21 + 8192 >> 14;
                  var52[5] = -var18;
                  var52[6] = -var20 * var21 + var19 * var24 + 8192 >> 14;
                  var52[7] = var20 * var22 + var19 * var23 + 8192 >> 14;
                  var52[8] = var19 * var17 + 8192 >> 14;
                  int var53 = var52[0] * -this.anInt9308 + var52[1] * -this.anInt9349 + var52[2] * -this.anInt9350 + 8192 >> 14;
                  var26 = var52[3] * -this.anInt9308 + var52[4] * -this.anInt9349 + var52[5] * -this.anInt9350 + 8192 >> 14;
                  var27 = var52[6] * -this.anInt9308 + var52[7] * -this.anInt9349 + var52[8] * -this.anInt9350 + 8192 >> 14;
                  var28 = var53 + this.anInt9308;
                  int var54 = var26 + this.anInt9349;
                  var30 = var27 + this.anInt9350;
                  int[] var55 = new int[9];

                  for(var32 = 0; var32 < 3; ++var32) {
                     for(var33 = 0; var33 < 3; ++var33) {
                        var34 = 0;

                        for(int var56 = 0; var56 < 3; ++var56) {
                           var34 += var52[var32 * 3 + var56] * var8[var33 * 3 + var56];
                        }

                        var55[var32 * 3 + var33] = var34 + 8192 >> 14;
                     }
                  }

                  var32 = var52[0] * var13 + var52[1] * var49 + var52[2] * var15 + 8192 >> 14;
                  var33 = var52[3] * var13 + var52[4] * var49 + var52[5] * var15 + 8192 >> 14;
                  var34 = var52[6] * var13 + var52[7] * var49 + var52[8] * var15 + 8192 >> 14;
                  var32 += var28;
                  var33 += var54;
                  var34 += var30;
                  var35 = new int[9];

                  for(var36 = 0; var36 < 3; ++var36) {
                     for(var37 = 0; var37 < 3; ++var37) {
                        var38 = 0;

                        for(var39 = 0; var39 < 3; ++var39) {
                           var38 += var8[var36 * 3 + var39] * var55[var37 + var39 * 3];
                        }

                        var35[var36 * 3 + var37] = var38 + 8192 >> 14;
                     }
                  }

                  var36 = var8[0] * var32 + var8[1] * var33 + var8[2] * var34 + 8192 >> 14;
                  var37 = var8[3] * var32 + var8[4] * var33 + var8[5] * var34 + 8192 >> 14;
                  var38 = var8[6] * var32 + var8[7] * var33 + var8[8] * var34 + 8192 >> 14;
                  var36 += var10;
                  var37 += var11;
                  var38 += var50;

                  for(var39 = 0; var39 < var9; ++var39) {
                     var40 = var2[var39];
                     if(var40 < this.anIntArrayArray9344.length) {
                        int[] var41 = this.anIntArrayArray9344[var40];

                        for(int var42 = 0; var42 < var41.length; ++var42) {
                           int var43 = var41[var42];
                           if(this.aShortArray9320 == null || (var7 & this.aShortArray9320[var43]) != 0) {
                              int var44 = var35[0] * this.anIntArray9336[var43] + var35[1] * this.anIntArray9318[var43] + var35[2] * this.anIntArray9319[var43] + 8192 >> 14;
                              int var45 = var35[3] * this.anIntArray9336[var43] + var35[4] * this.anIntArray9318[var43] + var35[5] * this.anIntArray9319[var43] + 8192 >> 14;
                              int var46 = var35[6] * this.anIntArray9336[var43] + var35[7] * this.anIntArray9318[var43] + var35[8] * this.anIntArray9319[var43] + 8192 >> 14;
                              var44 += var36;
                              var45 += var37;
                              var46 += var38;
                              this.anIntArray9336[var43] = var44;
                              this.anIntArray9318[var43] = var45;
                              this.anIntArray9319[var43] = var46;
                           }
                        }
                     }
                  }
               } else {
                  for(var10 = 0; var10 < var9; ++var10) {
                     var11 = var2[var10];
                     if(var11 < this.anIntArrayArray9344.length) {
                        var12 = this.anIntArrayArray9344[var11];

                        for(var13 = 0; var13 < var12.length; ++var13) {
                           var49 = var12[var13];
                           if(this.aShortArray9320 == null || (var7 & this.aShortArray9320[var49]) != 0) {
                              this.anIntArray9336[var49] -= this.anInt9308;
                              this.anIntArray9318[var49] -= this.anInt9349;
                              this.anIntArray9319[var49] -= this.anInt9350;
                              if(var5 != 0) {
                                 var15 = Class312.anIntArray3943[var5];
                                 var16 = Class312.anIntArray3956[var5];
                                 var17 = this.anIntArray9318[var49] * var15 + this.anIntArray9336[var49] * var16 + 16383 >> 14;
                                 this.anIntArray9318[var49] = this.anIntArray9318[var49] * var16 - this.anIntArray9336[var49] * var15 + 16383 >> 14;
                                 this.anIntArray9336[var49] = var17;
                              }

                              if(var3 != 0) {
                                 var15 = Class312.anIntArray3943[var3];
                                 var16 = Class312.anIntArray3956[var3];
                                 var17 = this.anIntArray9318[var49] * var16 - this.anIntArray9319[var49] * var15 + 16383 >> 14;
                                 this.anIntArray9319[var49] = this.anIntArray9318[var49] * var15 + this.anIntArray9319[var49] * var16 + 16383 >> 14;
                                 this.anIntArray9318[var49] = var17;
                              }

                              if(var4 != 0) {
                                 var15 = Class312.anIntArray3943[var4];
                                 var16 = Class312.anIntArray3956[var4];
                                 var17 = this.anIntArray9319[var49] * var15 + this.anIntArray9336[var49] * var16 + 16383 >> 14;
                                 this.anIntArray9319[var49] = this.anIntArray9319[var49] * var16 - this.anIntArray9336[var49] * var15 + 16383 >> 14;
                                 this.anIntArray9336[var49] = var17;
                              }

                              this.anIntArray9336[var49] += this.anInt9308;
                              this.anIntArray9318[var49] += this.anInt9349;
                              this.anIntArray9319[var49] += this.anInt9350;
                           }
                        }
                     }
                  }
               }

            } else if(var1 == 3) {
               if(var8 != null) {
                  if(!this.aBool9347) {
                     for(var10 = 0; var10 < this.anInt9315; ++var10) {
                        this.anIntArray9336[var10] <<= 4;
                        this.anIntArray9318[var10] <<= 4;
                        this.anIntArray9319[var10] <<= 4;
                     }

                     this.aBool9347 = true;
                  }

                  var10 = var8[9] << 4;
                  var11 = var8[10] << 4;
                  var50 = var8[11] << 4;
                  var13 = var8[12] << 4;
                  var49 = var8[13] << 4;
                  var15 = var8[14] << 4;
                  if(this.aBool9359) {
                     var16 = var8[0] * this.anInt9308 + var8[3] * this.anInt9349 + var8[6] * this.anInt9350 + 8192 >> 14;
                     var17 = var8[1] * this.anInt9308 + var8[4] * this.anInt9349 + var8[7] * this.anInt9350 + 8192 >> 14;
                     var18 = var8[2] * this.anInt9308 + var8[5] * this.anInt9349 + var8[8] * this.anInt9350 + 8192 >> 14;
                     var16 += var13;
                     var17 += var49;
                     var18 += var15;
                     this.anInt9308 = var16;
                     this.anInt9349 = var17;
                     this.anInt9350 = var18;
                     this.aBool9359 = false;
                  }

                  var16 = var3 << 15 >> 7;
                  var17 = var4 << 15 >> 7;
                  var18 = var5 << 15 >> 7;
                  var19 = var16 * -this.anInt9308 + 8192 >> 14;
                  var20 = var17 * -this.anInt9349 + 8192 >> 14;
                  var21 = var18 * -this.anInt9350 + 8192 >> 14;
                  var22 = var19 + this.anInt9308;
                  var23 = var20 + this.anInt9349;
                  var24 = var21 + this.anInt9350;
                  int[] var25 = new int[]{var16 * var8[0] + 8192 >> 14, var16 * var8[3] + 8192 >> 14, var16 * var8[6] + 8192 >> 14, var17 * var8[1] + 8192 >> 14, var17 * var8[4] + 8192 >> 14, var17 * var8[7] + 8192 >> 14, var18 * var8[2] + 8192 >> 14, var18 * var8[5] + 8192 >> 14, var18 * var8[8] + 8192 >> 14};
                  var26 = var16 * var13 + 8192 >> 14;
                  var27 = var17 * var49 + 8192 >> 14;
                  var28 = var18 * var15 + 8192 >> 14;
                  var26 += var22;
                  var27 += var23;
                  var28 += var24;
                  int[] var29 = new int[9];

                  int var31;
                  for(var30 = 0; var30 < 3; ++var30) {
                     for(var31 = 0; var31 < 3; ++var31) {
                        var32 = 0;

                        for(var33 = 0; var33 < 3; ++var33) {
                           var32 += var8[var30 * 3 + var33] * var25[var31 + var33 * 3];
                        }

                        var29[var30 * 3 + var31] = var32 + 8192 >> 14;
                     }
                  }

                  var30 = var8[0] * var26 + var8[1] * var27 + var8[2] * var28 + 8192 >> 14;
                  var31 = var8[3] * var26 + var8[4] * var27 + var8[5] * var28 + 8192 >> 14;
                  var32 = var8[6] * var26 + var8[7] * var27 + var8[8] * var28 + 8192 >> 14;
                  var30 += var10;
                  var31 += var11;
                  var32 += var50;

                  for(var33 = 0; var33 < var9; ++var33) {
                     var34 = var2[var33];
                     if(var34 < this.anIntArrayArray9344.length) {
                        var35 = this.anIntArrayArray9344[var34];

                        for(var36 = 0; var36 < var35.length; ++var36) {
                           var37 = var35[var36];
                           if(this.aShortArray9320 == null || (var7 & this.aShortArray9320[var37]) != 0) {
                              var38 = var29[0] * this.anIntArray9336[var37] + var29[1] * this.anIntArray9318[var37] + var29[2] * this.anIntArray9319[var37] + 8192 >> 14;
                              var39 = var29[3] * this.anIntArray9336[var37] + var29[4] * this.anIntArray9318[var37] + var29[5] * this.anIntArray9319[var37] + 8192 >> 14;
                              var40 = var29[6] * this.anIntArray9336[var37] + var29[7] * this.anIntArray9318[var37] + var29[8] * this.anIntArray9319[var37] + 8192 >> 14;
                              var38 += var30;
                              var39 += var31;
                              var40 += var32;
                              this.anIntArray9336[var37] = var38;
                              this.anIntArray9318[var37] = var39;
                              this.anIntArray9319[var37] = var40;
                           }
                        }
                     }
                  }
               } else {
                  for(var10 = 0; var10 < var9; ++var10) {
                     var11 = var2[var10];
                     if(var11 < this.anIntArrayArray9344.length) {
                        var12 = this.anIntArrayArray9344[var11];

                        for(var13 = 0; var13 < var12.length; ++var13) {
                           var49 = var12[var13];
                           if(this.aShortArray9320 == null || (var7 & this.aShortArray9320[var49]) != 0) {
                              this.anIntArray9336[var49] -= this.anInt9308;
                              this.anIntArray9318[var49] -= this.anInt9349;
                              this.anIntArray9319[var49] -= this.anInt9350;
                              this.anIntArray9336[var49] = this.anIntArray9336[var49] * var3 / 128;
                              this.anIntArray9318[var49] = this.anIntArray9318[var49] * var4 / 128;
                              this.anIntArray9319[var49] = this.anIntArray9319[var49] * var5 / 128;
                              this.anIntArray9336[var49] += this.anInt9308;
                              this.anIntArray9318[var49] += this.anInt9349;
                              this.anIntArray9319[var49] += this.anInt9350;
                           }
                        }
                     }
                  }
               }

            } else {
               Class133 var47;
               Class187 var48;
               if(var1 == 5) {
                  if(this.anIntArrayArray9345 != null && this.aByteArray9339 != null) {
                     for(var10 = 0; var10 < var9; ++var10) {
                        var11 = var2[var10];
                        if(var11 < this.anIntArrayArray9345.length) {
                           var12 = this.anIntArrayArray9345[var11];

                           for(var13 = 0; var13 < var12.length; ++var13) {
                              var49 = var12[var13];
                              if(this.aShortArray9342 == null || (var7 & this.aShortArray9342[var49]) != 0) {
                                 var15 = (this.aByteArray9339[var49] & 255) + var3 * 8;
                                 if(var15 < 0) {
                                    var15 = 0;
                                 } else if(var15 > 255) {
                                    var15 = 255;
                                 }

                                 this.aByteArray9339[var49] = (byte)var15;
                              }
                           }
                        }
                     }

                     if(this.aClass133Array9355 != null) {
                        for(var10 = 0; var10 < this.anInt9354; ++var10) {
                           var47 = this.aClass133Array9355[var10];
                           var48 = this.aClass187Array9356[var10];
                           var48.anInt2250 = (var48.anInt2250 * 958896329 & 16777215 | 255 - (this.aByteArray9339[var47.anInt1577 * 1911690377] & 255) << 24) * 925892985;
                        }
                     }
                  }

               } else if(var1 == 7) {
                  if(this.anIntArrayArray9345 != null) {
                     for(var10 = 0; var10 < var9; ++var10) {
                        var11 = var2[var10];
                        if(var11 < this.anIntArrayArray9345.length) {
                           var12 = this.anIntArrayArray9345[var11];

                           for(var13 = 0; var13 < var12.length; ++var13) {
                              var49 = var12[var13];
                              if(this.aShortArray9342 == null || (var7 & this.aShortArray9342[var49]) != 0) {
                                 var15 = this.aShortArray9351[var49] & '\uffff';
                                 var16 = var15 >> 10 & 63;
                                 var17 = var15 >> 7 & 7;
                                 var18 = var15 & 127;
                                 var16 = var16 + var3 & 63;
                                 var17 += var4;
                                 if(var17 < 0) {
                                    var17 = 0;
                                 } else if(var17 > 7) {
                                    var17 = 7;
                                 }

                                 var18 += var5;
                                 if(var18 < 0) {
                                    var18 = 0;
                                 } else if(var18 > 127) {
                                    var18 = 127;
                                 }

                                 this.aShortArray9351[var49] = (short)(var16 << 10 | var17 << 7 | var18);
                              }
                           }

                           this.aBool9346 = true;
                        }
                     }

                     if(this.aClass133Array9355 != null) {
                        for(var10 = 0; var10 < this.anInt9354; ++var10) {
                           var47 = this.aClass133Array9355[var10];
                           var48 = this.aClass187Array9356[var10];
                           var48.anInt2250 = (var48.anInt2250 * 958896329 & -16777216 | Class516.anIntArray6082[Class166.method2855(this.aShortArray9351[var47.anInt1577 * 1911690377] & '\uffff', 321007369) & '\uffff'] & 16777215) * 925892985;
                        }
                     }
                  }

               } else {
                  Class187 var14;
                  if(var1 == 8) {
                     if(this.anIntArrayArray9357 != null) {
                        for(var10 = 0; var10 < var9; ++var10) {
                           var11 = var2[var10];
                           if(var11 < this.anIntArrayArray9357.length) {
                              var12 = this.anIntArrayArray9357[var11];

                              for(var13 = 0; var13 < var12.length; ++var13) {
                                 var14 = this.aClass187Array9356[var12[var13]];
                                 var14.anInt2243 += var3 * -715097745;
                                 var14.anInt2244 += var4 * 2037475277;
                              }
                           }
                        }
                     }

                  } else if(var1 == 10) {
                     if(this.anIntArrayArray9357 != null) {
                        for(var10 = 0; var10 < var9; ++var10) {
                           var11 = var2[var10];
                           if(var11 < this.anIntArrayArray9357.length) {
                              var12 = this.anIntArrayArray9357[var11];

                              for(var13 = 0; var13 < var12.length; ++var13) {
                                 var14 = this.aClass187Array9356[var12[var13]];
                                 var14.aFloat2242 = var14.aFloat2242 * (float)var3 / 128.0F;
                                 var14.aFloat2247 = var14.aFloat2247 * (float)var4 / 128.0F;
                              }
                           }
                        }
                     }

                  } else if(var1 == 9) {
                     if(this.anIntArrayArray9357 != null) {
                        for(var10 = 0; var10 < var9; ++var10) {
                           var11 = var2[var10];
                           if(var11 < this.anIntArrayArray9357.length) {
                              var12 = this.anIntArrayArray9357[var11];

                              for(var13 = 0; var13 < var12.length; ++var13) {
                                 var14 = this.aClass187Array9356[var12[var13]];
                                 var14.anInt2240 = (var14.anInt2240 * -644012521 + var3 & 16383) * -1875611225;
                              }
                           }
                        }
                     }

                  }
               }
            }
         }
      }
   }

   void w(int var1, int var2, int var3, int var4) {
      int var5;
      int var11;
      if(var1 == 0) {
         var5 = 0;
         this.anInt9308 = 0;
         this.anInt9349 = 0;
         this.anInt9350 = 0;

         for(var11 = 0; var11 < this.anInt9315; ++var11) {
            this.anInt9308 += this.anIntArray9336[var11];
            this.anInt9349 += this.anIntArray9318[var11];
            this.anInt9350 += this.anIntArray9319[var11];
            ++var5;
         }

         if(var5 > 0) {
            this.anInt9308 = this.anInt9308 / var5 + var2;
            this.anInt9349 = this.anInt9349 / var5 + var3;
            this.anInt9350 = this.anInt9350 / var5 + var4;
         } else {
            this.anInt9308 = var2;
            this.anInt9349 = var3;
            this.anInt9350 = var4;
         }

      } else if(var1 == 1) {
         for(var5 = 0; var5 < this.anInt9315; ++var5) {
            this.anIntArray9336[var5] += var2;
            this.anIntArray9318[var5] += var3;
            this.anIntArray9319[var5] += var4;
         }

      } else {
         int var7;
         int var8;
         if(var1 == 2) {
            for(var5 = 0; var5 < this.anInt9315; ++var5) {
               this.anIntArray9336[var5] -= this.anInt9308;
               this.anIntArray9318[var5] -= this.anInt9349;
               this.anIntArray9319[var5] -= this.anInt9350;
               if(var4 != 0) {
                  var11 = Class312.anIntArray3943[var4];
                  var7 = Class312.anIntArray3956[var4];
                  var8 = this.anIntArray9318[var5] * var11 + this.anIntArray9336[var5] * var7 + 16383 >> 14;
                  this.anIntArray9318[var5] = this.anIntArray9318[var5] * var7 - this.anIntArray9336[var5] * var11 + 16383 >> 14;
                  this.anIntArray9336[var5] = var8;
               }

               if(var2 != 0) {
                  var11 = Class312.anIntArray3943[var2];
                  var7 = Class312.anIntArray3956[var2];
                  var8 = this.anIntArray9318[var5] * var7 - this.anIntArray9319[var5] * var11 + 16383 >> 14;
                  this.anIntArray9319[var5] = this.anIntArray9318[var5] * var11 + this.anIntArray9319[var5] * var7 + 16383 >> 14;
                  this.anIntArray9318[var5] = var8;
               }

               if(var3 != 0) {
                  var11 = Class312.anIntArray3943[var3];
                  var7 = Class312.anIntArray3956[var3];
                  var8 = this.anIntArray9319[var5] * var11 + this.anIntArray9336[var5] * var7 + 16383 >> 14;
                  this.anIntArray9319[var5] = this.anIntArray9319[var5] * var7 - this.anIntArray9336[var5] * var11 + 16383 >> 14;
                  this.anIntArray9336[var5] = var8;
               }

               this.anIntArray9336[var5] += this.anInt9308;
               this.anIntArray9318[var5] += this.anInt9349;
               this.anIntArray9319[var5] += this.anInt9350;
            }

         } else if(var1 == 3) {
            for(var5 = 0; var5 < this.anInt9315; ++var5) {
               this.anIntArray9336[var5] -= this.anInt9308;
               this.anIntArray9318[var5] -= this.anInt9349;
               this.anIntArray9319[var5] -= this.anInt9350;
               this.anIntArray9336[var5] = this.anIntArray9336[var5] * var2 / 128;
               this.anIntArray9318[var5] = this.anIntArray9318[var5] * var3 / 128;
               this.anIntArray9319[var5] = this.anIntArray9319[var5] * var4 / 128;
               this.anIntArray9336[var5] += this.anInt9308;
               this.anIntArray9318[var5] += this.anInt9349;
               this.anIntArray9319[var5] += this.anInt9350;
            }

         } else {
            Class133 var10;
            Class187 var12;
            if(var1 == 5) {
               for(var5 = 0; var5 < this.anInt9353; ++var5) {
                  var11 = (this.aByteArray9339[var5] & 255) + var2 * 8;
                  if(var11 < 0) {
                     var11 = 0;
                  } else if(var11 > 255) {
                     var11 = 255;
                  }

                  this.aByteArray9339[var5] = (byte)var11;
               }

               if(this.aClass133Array9355 != null) {
                  for(var5 = 0; var5 < this.anInt9354; ++var5) {
                     var10 = this.aClass133Array9355[var5];
                     var12 = this.aClass187Array9356[var5];
                     var12.anInt2250 = (var12.anInt2250 * 958896329 & 16777215 | 255 - (this.aByteArray9339[var10.anInt1577 * 1911690377] & 255) << 24) * 925892985;
                  }
               }

            } else if(var1 == 7) {
               for(var5 = 0; var5 < this.anInt9353; ++var5) {
                  var11 = this.aShortArray9351[var5] & '\uffff';
                  var7 = var11 >> 10 & 63;
                  var8 = var11 >> 7 & 7;
                  int var9 = var11 & 127;
                  var7 = var7 + var2 & 63;
                  var8 += var3;
                  if(var8 < 0) {
                     var8 = 0;
                  } else if(var8 > 7) {
                     var8 = 7;
                  }

                  var9 += var4;
                  if(var9 < 0) {
                     var9 = 0;
                  } else if(var9 > 127) {
                     var9 = 127;
                  }

                  this.aShortArray9351[var5] = (short)(var7 << 10 | var8 << 7 | var9);
               }

               this.aBool9346 = true;
               if(this.aClass133Array9355 != null) {
                  for(var5 = 0; var5 < this.anInt9354; ++var5) {
                     var10 = this.aClass133Array9355[var5];
                     var12 = this.aClass187Array9356[var5];
                     var12.anInt2250 = (var12.anInt2250 * 958896329 & -16777216 | Class516.anIntArray6082[Class166.method2855(this.aShortArray9351[var10.anInt1577 * 1911690377] & '\uffff', -1138476589) & '\uffff'] & 16777215) * 925892985;
                  }
               }

            } else {
               Class187 var6;
               if(var1 == 8) {
                  for(var5 = 0; var5 < this.anInt9354; ++var5) {
                     var6 = this.aClass187Array9356[var5];
                     var6.anInt2243 += var2 * -715097745;
                     var6.anInt2244 += var3 * 2037475277;
                  }

               } else if(var1 == 10) {
                  for(var5 = 0; var5 < this.anInt9354; ++var5) {
                     var6 = this.aClass187Array9356[var5];
                     var6.aFloat2242 = var6.aFloat2242 * (float)var2 / 128.0F;
                     var6.aFloat2247 = var6.aFloat2247 * (float)var3 / 128.0F;
                  }

               } else if(var1 == 9) {
                  for(var5 = 0; var5 < this.anInt9354; ++var5) {
                     var6 = this.aClass187Array9356[var5];
                     var6.anInt2240 = (var6.anInt2240 * -644012521 + var2 & 16383) * -1875611225;
                  }

               }
            }
         }
      }
   }

   public void method12114(Class328 var1, int var2, boolean var3) {
      if(this.aShortArray9320 != null) {
         Class174 var4 = this.aClass545_Sub3_9343.method15346(Thread.currentThread());
         Class328 var5 = var4.aClass328_2111;
         var5.method5991(var1);
         if(var3) {
            var5.method5996();
         }

         Class317 var6 = var4.aClass317_2100;
         var6.method5613(var5);
         float[] var7 = new float[3];

         for(int var8 = 0; var8 < this.anInt9316; ++var8) {
            if((var2 & this.aShortArray9320[var8]) != 0) {
               var6.method5618((float)this.anIntArray9336[var8], (float)this.anIntArray9318[var8], (float)this.anIntArray9319[var8], var7);
               this.anIntArray9336[var8] = (int)var7[0];
               this.anIntArray9318[var8] = (int)var7[1];
               this.anIntArray9319[var8] = (int)var7[2];
            }
         }

      }
   }

   public void method12069(Class328 var1, Class89 var2, int var3) {
      this.method14759(var1, var2, var3);
   }

   void method14759(Class328 var1, Class89 var2, int var3) {
      if(this.anInt9316 >= 1) {
         Class174 var4 = this.aClass545_Sub3_9343.method15346(Thread.currentThread());
         Class317 var5 = var4.aClass317_2100;
         var5.method5613(var1);
         Class317 var6 = this.aClass545_Sub3_9343.aClass317_9803;
         Class317 var7 = this.aClass545_Sub3_9343.aClass317_9819;
         if(!this.aBool9358) {
            this.method14765();
         }

         boolean var8 = var5.method5617();
         float[] var9 = var4.aFloatArray2122;
         var5.method5618(0.0F, (float)this.aShort9300, 0.0F, var9);
         float var10 = var9[0];
         float var11 = var9[1];
         float var12 = var9[2];
         var5.method5618(0.0F, (float)this.aShort9362, 0.0F, var9);
         float var13 = var9[0];
         float var14 = var9[1];
         float var15 = var9[2];

         float var19;
         float var18;
         for(int var16 = 0; var16 < 6; ++var16) {
            float[] var17 = this.aClass545_Sub3_9343.aFloatArrayArray9806[var16];
            var18 = var17[0] * var10 + var17[1] * var11 + var17[2] * var12 + var17[3] + (float)this.aShort9314;
            var19 = var17[0] * var13 + var17[1] * var14 + var17[2] * var15 + var17[3] + (float)this.aShort9314;
            if(var18 < 0.0F && var19 < 0.0F) {
               return;
            }
         }

         float var51;
         float var52;
         if(var8) {
            var51 = var6.aFloatArray4000[14];
            var52 = var6.aFloatArray4000[6];
         } else {
            var51 = var5.aFloatArray4000[12] * var6.aFloatArray4000[2] + var5.aFloatArray4000[13] * var6.aFloatArray4000[6] + var5.aFloatArray4000[14] * var6.aFloatArray4000[10] + var6.aFloatArray4000[14];
            var52 = var5.aFloatArray4000[4] * var6.aFloatArray4000[2] + var5.aFloatArray4000[5] * var6.aFloatArray4000[6] + var5.aFloatArray4000[6] * var6.aFloatArray4000[10];
         }

         var18 = var51 + (float)this.aShort9300 * var52;
         var19 = var51 + (float)this.aShort9362 * var52;
         float var20 = var18 > var19?var18 + (float)this.aShort9314:var19 + (float)this.aShort9314;
         float var21 = var7.aFloatArray4000[10] * var20 + var7.aFloatArray4000[14];
         if(this.aClass545_Sub3_9343.anInt9817 * -310738315 > 1) {
            synchronized(this) {
               while(this.aBool9304) {
                  try {
                     this.wait();
                  } catch (InterruptedException var48) {
                     ;
                  }
               }

               this.aBool9304 = true;
            }
         }

         this.method14743(var4);
         Class317 var22 = this.aClass174_9301.aClass317_2101;
         var22.method5609(var5);
         var22.method5612(this.aClass545_Sub3_9343.aClass317_9805);
         if((var3 & 2) != 0) {
            this.aClass143_9303.method2643(true);
         } else {
            this.aClass143_9303.method2643(false);
         }

         boolean var23 = false;
         this.aClass174_9301.aFloat2095 = this.aClass143_9303.aFloat1641;
         this.aClass174_9301.aFloat2115 = this.aClass143_9303.aFloat1663;
         this.aClass174_9301.aFloat2089 = this.aClass143_9303.aFloat1645;
         this.aClass174_9301.aFloat2119 = 1.0F / this.aClass143_9303.aFloat1645;
         this.aClass174_9301.aFloat2114 = this.aClass143_9303.aFloat1646;
         this.aClass174_9301.aFloat2116 = this.aClass143_9303.aFloat1660;
         this.aClass174_9301.aFloat2099 = this.aClass143_9303.aFloat1644;
         this.aClass174_9301.anInt2084 = this.aClass143_9303.anInt1640 * -645652523;

         int var25;
         float var24;
         int var27;
         int var26;
         float var29;
         int var28;
         float var31;
         float var30;
         for(var25 = 0; var25 < this.anInt9315; ++var25) {
            var26 = this.anIntArray9336[var25];
            var27 = this.anIntArray9318[var25];
            var28 = this.anIntArray9319[var25];
            var24 = var22.aFloatArray4000[0] * (float)var26 + var22.aFloatArray4000[4] * (float)var27 + var22.aFloatArray4000[8] * (float)var28 + var22.aFloatArray4000[12];
            var29 = var22.aFloatArray4000[1] * (float)var26 + var22.aFloatArray4000[5] * (float)var27 + var22.aFloatArray4000[9] * (float)var28 + var22.aFloatArray4000[13];
            var30 = var22.aFloatArray4000[2] * (float)var26 + var22.aFloatArray4000[6] * (float)var27 + var22.aFloatArray4000[10] * (float)var28 + var22.aFloatArray4000[14];
            var31 = var22.aFloatArray4000[3] * (float)var26 + var22.aFloatArray4000[7] * (float)var27 + var22.aFloatArray4000[11] * (float)var28 + var22.aFloatArray4000[15];
            this.aFloatArray9373[var25] = this.aClass174_9301.aFloat2099 + this.aClass174_9301.aFloat2089 * var30 / var31;
            this.aFloatArray9305[var25] = var31;
            if(var30 >= -var31) {
               this.aFloatArray9361[var25] = (float)((int)(this.aClass174_9301.aFloat2114 + this.aClass174_9301.aFloat2095 * var24 / var31));
               this.aFloatArray9299[var25] = (float)((int)(this.aClass174_9301.aFloat2116 + this.aClass174_9301.aFloat2115 * var29 / var31));
            } else {
               this.aFloatArray9361[var25] = -5000.0F;
               var23 = true;
            }

            if(this.aClass174_9301.aBool2092) {
               this.anIntArray9370[var25] = (int)(var5.aFloatArray4000[13] + var5.aFloatArray4000[1] * (float)var26 + var5.aFloatArray4000[5] * (float)var27 + var5.aFloatArray4000[9] * (float)var28);
            }
         }

         float var38;
         float var39;
         float var37;
         float var42;
         float var40;
         float var41;
         if(this.aClass133Array9355 != null) {
            for(var25 = 0; var25 < this.anInt9354; ++var25) {
               Class133 var32 = this.aClass133Array9355[var25];
               Class187 var33 = this.aClass187Array9356[var25];
               short var34 = this.aShortArray9372[var32.anInt1577 * 1911690377];
               short var35 = this.aShortArray9325[var32.anInt1577 * 1911690377];
               short var36 = this.aShortArray9309[var32.anInt1577 * 1911690377];
               var26 = (this.anIntArray9336[var34] + this.anIntArray9336[var35] + this.anIntArray9336[var36]) / 3;
               var27 = (this.anIntArray9318[var34] + this.anIntArray9318[var35] + this.anIntArray9318[var36]) / 3;
               var28 = (this.anIntArray9319[var34] + this.anIntArray9319[var35] + this.anIntArray9319[var36]) / 3;
               var24 = var22.aFloatArray4000[0] * (float)var26 + var22.aFloatArray4000[4] * (float)var27 + var22.aFloatArray4000[8] * (float)var28 + var22.aFloatArray4000[12];
               var29 = var22.aFloatArray4000[1] * (float)var26 + var22.aFloatArray4000[5] * (float)var27 + var22.aFloatArray4000[9] * (float)var28 + var22.aFloatArray4000[13];
               var30 = var22.aFloatArray4000[2] * (float)var26 + var22.aFloatArray4000[6] * (float)var27 + var22.aFloatArray4000[10] * (float)var28 + var22.aFloatArray4000[14];
               var31 = var22.aFloatArray4000[3] * (float)var26 + var22.aFloatArray4000[7] * (float)var27 + var22.aFloatArray4000[11] * (float)var28 + var22.aFloatArray4000[15];
               var30 += var7.aFloatArray4000[2] * (float)(var33.anInt2243 * -292354673) + var7.aFloatArray4000[6] * (float)(var33.anInt2244 * 2078399749);
               var31 += var7.aFloatArray4000[3] * (float)(var33.anInt2243 * -292354673) + var7.aFloatArray4000[7] * (float)(var33.anInt2244 * 2078399749);
               if(var30 > -var31) {
                  var24 += var7.aFloatArray4000[0] * (float)(var33.anInt2243 * -292354673) + var7.aFloatArray4000[4] * (float)(var33.anInt2244 * 2078399749);
                  var29 += var7.aFloatArray4000[1] * (float)(var33.anInt2243 * -292354673) + var7.aFloatArray4000[5] * (float)(var33.anInt2244 * 2078399749);
                  var37 = this.aClass545_Sub3_9343.aFloat9812 + this.aClass545_Sub3_9343.aFloat9810 * var24 / var31;
                  var38 = this.aClass545_Sub3_9343.aFloat9814 + this.aClass545_Sub3_9343.aFloat9813 * var29 / var31;
                  var39 = var33.aFloat2242 * (float)var32.aShort1572;
                  var40 = var33.aFloat2247 * (float)var32.aShort1575;
                  var41 = var24 + var7.aFloatArray4000[0] * var39 + var7.aFloatArray4000[4] * var40;
                  var42 = var29 + var7.aFloatArray4000[1] * var39 + var7.aFloatArray4000[5] * var40;
                  float var43 = var31 + var7.aFloatArray4000[3] * var39 + var7.aFloatArray4000[7] * var40;
                  float var44 = this.aClass545_Sub3_9343.aFloat9812 + this.aClass545_Sub3_9343.aFloat9810 * var41 / var43;
                  float var45 = this.aClass545_Sub3_9343.aFloat9814 + this.aClass545_Sub3_9343.aFloat9813 * var42 / var43;
                  var33.anInt2246 = (int)var37 * 1145500977;
                  var33.anInt2241 = (int)var38 * 696228361;
                  var33.aFloat2245 = this.aClass545_Sub3_9343.aFloat9816 + this.aClass545_Sub3_9343.aFloat9815 * (var30 - var7.aFloatArray4000[10] * (float)(var32.anInt1578 * -465808607)) / var31;
                  var33.anInt2248 = (int)(var44 < var37?var37 - var44:var44 - var37) * 1422789491;
                  var33.anInt2249 = (int)(var45 < var38?var38 - var45:var45 - var38) * 2070970431;
               } else {
                  var33.anInt2249 = 0;
                  var33.anInt2248 = 0;
               }
            }
         }

         if(var2 != null) {
            boolean var54 = false;
            boolean var56 = true;
            int var55 = this.aShort9363 + this.aShort9364 >> 1;
            int var59 = this.aShort9365 + this.aShort9366 >> 1;
            short var53 = this.aShort9300;
            var24 = var22.aFloatArray4000[0] * (float)var55 + var22.aFloatArray4000[4] * (float)var53 + var22.aFloatArray4000[8] * (float)var59 + var22.aFloatArray4000[12];
            var29 = var22.aFloatArray4000[1] * (float)var55 + var22.aFloatArray4000[5] * (float)var53 + var22.aFloatArray4000[9] * (float)var59 + var22.aFloatArray4000[13];
            var30 = var22.aFloatArray4000[2] * (float)var55 + var22.aFloatArray4000[6] * (float)var53 + var22.aFloatArray4000[10] * (float)var59 + var22.aFloatArray4000[14];
            var31 = var22.aFloatArray4000[3] * (float)var55 + var22.aFloatArray4000[7] * (float)var53 + var22.aFloatArray4000[11] * (float)var59 + var22.aFloatArray4000[15];
            if(var30 >= -var31) {
               var2.anInt884 = (int)(this.aClass545_Sub3_9343.aFloat9812 + this.aClass545_Sub3_9343.aFloat9810 * var24 / var31);
               var2.anInt888 = (int)(this.aClass545_Sub3_9343.aFloat9814 + this.aClass545_Sub3_9343.aFloat9813 * var29 / var31);
            } else {
               var54 = true;
            }

            var53 = this.aShort9362;
            float var58 = var22.aFloatArray4000[0] * (float)var55 + var22.aFloatArray4000[4] * (float)var53 + var22.aFloatArray4000[8] * (float)var59 + var22.aFloatArray4000[12];
            float var57 = var22.aFloatArray4000[1] * (float)var55 + var22.aFloatArray4000[5] * (float)var53 + var22.aFloatArray4000[9] * (float)var59 + var22.aFloatArray4000[13];
            var37 = var22.aFloatArray4000[2] * (float)var55 + var22.aFloatArray4000[6] * (float)var53 + var22.aFloatArray4000[10] * (float)var59 + var22.aFloatArray4000[14];
            var38 = var22.aFloatArray4000[3] * (float)var55 + var22.aFloatArray4000[7] * (float)var53 + var22.aFloatArray4000[11] * (float)var59 + var22.aFloatArray4000[15];
            if(var37 >= -var38) {
               var2.anInt887 = (int)(this.aClass545_Sub3_9343.aFloat9812 + this.aClass545_Sub3_9343.aFloat9810 * var58 / var38);
               var2.anInt885 = (int)(this.aClass545_Sub3_9343.aFloat9814 + this.aClass545_Sub3_9343.aFloat9813 * var57 / var38);
            } else {
               var54 = true;
            }

            if(var54) {
               if(var30 < -var31 && var37 < -var38) {
                  var56 = false;
               } else if(var30 < -var31) {
                  var39 = (var30 + var31) / (var37 + var38) - 1.0F;
                  var40 = var24 + var39 * (var58 - var24);
                  var41 = var29 + var39 * (var57 - var29);
                  var42 = var31 + var39 * (var38 - var31);
                  var2.anInt884 = (int)(this.aClass545_Sub3_9343.aFloat9812 + this.aClass545_Sub3_9343.aFloat9810 * var40 / var42);
                  var2.anInt888 = (int)(this.aClass545_Sub3_9343.aFloat9814 + this.aClass545_Sub3_9343.aFloat9813 * var41 / var42);
               } else if(var37 < -var38) {
                  var39 = (var37 + var38) / (var30 + var31) - 1.0F;
                  var40 = var58 + var39 * (var24 - var58);
                  var41 = var57 + var39 * (var29 - var57);
                  var42 = var38 + var39 * (var31 - var38);
                  var2.anInt887 = (int)(this.aClass545_Sub3_9343.aFloat9812 + this.aClass545_Sub3_9343.aFloat9810 * var40 / var42);
                  var2.anInt885 = (int)(this.aClass545_Sub3_9343.aFloat9814 + this.aClass545_Sub3_9343.aFloat9813 * var41 / var42);
               }
            }

            if(var56) {
               if(var30 / var31 > var37 / var38) {
                  var39 = var24 + var7.aFloatArray4000[0] * (float)this.aShort9314 + var7.aFloatArray4000[12];
                  var40 = var31 + var7.aFloatArray4000[3] * (float)this.aShort9314 + var7.aFloatArray4000[15];
                  var2.anInt883 = (int)(this.aClass545_Sub3_9343.aFloat9812 - (float)var2.anInt884 + this.aClass545_Sub3_9343.aFloat9810 * var39 / var40);
               } else {
                  var39 = var58 + var7.aFloatArray4000[0] * (float)this.aShort9314 + var7.aFloatArray4000[12];
                  var40 = var38 + var7.aFloatArray4000[3] * (float)this.aShort9314 + var7.aFloatArray4000[15];
                  var2.anInt883 = (int)(this.aClass545_Sub3_9343.aFloat9812 - (float)var2.anInt887 + this.aClass545_Sub3_9343.aFloat9810 * var39 / var40);
               }

               var2.aBool886 = true;
            }
         }

         this.method14746(true);
         this.aClass143_9303.aBool1634 = (var3 & 1) == 0;
         this.aClass143_9303.aBool1635 = false;

         try {
            this.method14760(this.aClass545_Sub3_9343.anIntArray9788 != null, this.aClass545_Sub3_9343.aFloatArray9808 != null, (var3 & 4) != 0, var23, this.aClass174_9301.aBool2108 && var21 > this.aClass174_9301.aFloat2088 || this.aClass174_9301.aBool2092);
         } catch (Exception var49) {
            ;
         }

         if(this.aClass133Array9355 != null) {
            for(var25 = 0; var25 < this.anInt9353; ++var25) {
               this.anIntArray9321[var25] = -1;
            }
         }

         this.aClass143_9303 = null;
         if(this.aClass545_Sub3_9343.anInt9817 * -310738315 > 1) {
            synchronized(this) {
               this.aBool9304 = false;
               this.notifyAll();
            }
         }

      }
   }

   final void method14760(boolean var1, boolean var2, boolean var3, boolean var4, boolean var5) {
      int var6;
      Class133 var7;
      if(this.aClass133Array9355 != null) {
         for(var6 = 0; var6 < this.anInt9354; this.anIntArray9321[var7.anInt1577 * 1911690377] = var6++) {
            var7 = this.aClass133Array9355[var6];
         }
      }

      if(!this.aBool9367 && this.aClass133Array9355 == null) {
         for(var6 = 0; var6 < this.anInt9353; ++var6) {
            this.method14764(var1, var2, var3, var6, var4, var5);
         }
      } else if((this.anInt9335 & 256) == 0 && this.aShortArray9312 != null) {
         for(var6 = 0; var6 < this.anInt9353; ++var6) {
            short var9 = this.aShortArray9312[var6];
            this.method14764(var1, var2, var3, var9, var4, var5);
         }
      } else {
         for(var6 = 0; var6 < this.anInt9353; ++var6) {
            if(!this.method14801(var6) && !this.method14761(var6)) {
               this.method14764(var1, var2, var3, var6, var4, var5);
            }
         }

         if(this.aByteArray9338 == null) {
            for(var6 = 0; var6 < this.anInt9353; ++var6) {
               if(this.method14801(var6) || this.method14761(var6)) {
                  this.method14764(var1, var2, var3, var6, var4, var5);
               }
            }
         } else {
            for(var6 = 0; var6 < 12; ++var6) {
               for(int var8 = 0; var8 < this.anInt9353; ++var8) {
                  if(this.aByteArray9338[var8] == var6 && (this.method14801(var8) || this.method14761(var8))) {
                     this.method14764(var1, var2, var3, var8, var4, var5);
                  }
               }
            }
         }
      }

   }

   public void ak(int var1) {
      if((this.anInt9335 & 13) != 13) {
         throw new IllegalStateException();
      } else {
         if(this.aClass183Array9340 != null) {
            if(var1 == 4096) {
               this.method14811();
               return;
            }

            if(var1 == 8192) {
               this.method14756();
               return;
            }

            if(var1 == 12288) {
               this.method14799();
               return;
            }

            int var2 = Class312.anIntArray3943[var1];
            int var3 = Class312.anIntArray3956[var1];
            synchronized(this) {
               int var5;
               int var6;
               for(var5 = 0; var5 < this.anInt9316; ++var5) {
                  var6 = this.anIntArray9319[var5] * var2 + this.anIntArray9336[var5] * var3 >> 14;
                  this.anIntArray9319[var5] = this.anIntArray9319[var5] * var3 - this.anIntArray9336[var5] * var2 >> 14;
                  this.anIntArray9336[var5] = var6;
                  if(this.aClass183Array9340[var5] != null) {
                     var6 = this.aClass183Array9340[var5].anInt2202 * var2 + this.aClass183Array9340[var5].anInt2200 * var3 >> 14;
                     this.aClass183Array9340[var5].anInt2202 = this.aClass183Array9340[var5].anInt2202 * var3 - this.aClass183Array9340[var5].anInt2200 * var2 >> 14;
                     this.aClass183Array9340[var5].anInt2200 = var6;
                  }
               }

               if(this.aClass189Array9371 != null) {
                  for(var5 = 0; var5 < this.anInt9353; ++var5) {
                     if(this.aClass189Array9371[var5] != null) {
                        var6 = this.aClass189Array9371[var5].anInt2271 * var2 + this.aClass189Array9371[var5].anInt2269 * var3 >> 14;
                        this.aClass189Array9371[var5].anInt2271 = this.aClass189Array9371[var5].anInt2271 * var3 - this.aClass189Array9371[var5].anInt2269 * var2 >> 14;
                        this.aClass189Array9371[var5].anInt2269 = var6;
                     }
                  }
               }

               for(var5 = this.anInt9316; var5 < this.anInt9315; ++var5) {
                  var6 = this.anIntArray9319[var5] * var2 + this.anIntArray9336[var5] * var3 >> 14;
                  this.anIntArray9319[var5] = this.anIntArray9319[var5] * var3 - this.anIntArray9336[var5] * var2 >> 14;
                  this.anIntArray9336[var5] = var6;
               }

               this.anInt9380 = 0;
               this.aBool9358 = false;
            }
         } else {
            this.f(var1);
         }

      }
   }

   final boolean method14761(int var1) {
      return this.anIntArray9321 == null?false:this.anIntArray9321[var1] != -1;
   }

   void method12086() {
      if(this.aClass545_Sub3_9343.anInt9817 * -310738315 > 1) {
         synchronized(this) {
            while(this.aBool7555) {
               try {
                  this.wait();
               } catch (InterruptedException var4) {
                  ;
               }
            }

            this.aBool7555 = true;
         }
      }

   }

   final void method14762(boolean var1, boolean var2, boolean var3, int var4) {
      short var5 = this.aShortArray9372[var4];
      short var6 = this.aShortArray9325[var4];
      short var7 = this.aShortArray9309[var4];
      if(this.aShortArray9374 != null && this.aShortArray9374[var4] != -1) {
         int var8 = -16777216;
         if(this.aByteArray9339 != null) {
            var8 = 255 - (this.aByteArray9339[var4] & 255) << 24;
         }

         if(this.anIntArray9331[var4] == -1) {
            int var9 = var8 | this.anIntArray9310[var4] & 16777215;
            this.aClass143_9303.method2650(var1, var2, var3, this.aFloatArray9299[var5], this.aFloatArray9299[var6], this.aFloatArray9299[var7], this.aFloatArray9361[var5], this.aFloatArray9361[var6], this.aFloatArray9361[var7], this.aFloatArray9373[var5], this.aFloatArray9373[var6], this.aFloatArray9373[var7], this.aFloatArray9305[var5], this.aFloatArray9305[var6], this.aFloatArray9305[var7], this.aFloatArrayArray9327[var4][0], this.aFloatArrayArray9327[var4][1], this.aFloatArrayArray9327[var4][2], this.aFloatArrayArray9328[var4][0], this.aFloatArrayArray9328[var4][1], this.aFloatArrayArray9328[var4][2], var9, var9, var9, this.aClass174_9301.anInt2090 * 723388769, 0.0F, 0.0F, 0.0F, this.aShortArray9374[var4]);
         } else {
            this.aClass143_9303.method2650(var1, var2, var3, this.aFloatArray9299[var5], this.aFloatArray9299[var6], this.aFloatArray9299[var7], this.aFloatArray9361[var5], this.aFloatArray9361[var6], this.aFloatArray9361[var7], this.aFloatArray9373[var5], this.aFloatArray9373[var6], this.aFloatArray9373[var7], this.aFloatArray9305[var5], this.aFloatArray9305[var6], this.aFloatArray9305[var7], this.aFloatArrayArray9327[var4][0], this.aFloatArrayArray9327[var4][1], this.aFloatArrayArray9327[var4][2], this.aFloatArrayArray9328[var4][0], this.aFloatArrayArray9328[var4][1], this.aFloatArrayArray9328[var4][2], var8 | this.anIntArray9310[var4] & 16777215, var8 | this.anIntArray9330[var4] & 16777215, var8 | this.anIntArray9331[var4] & 16777215, this.aClass174_9301.anInt2090 * 723388769, 0.0F, 0.0F, 0.0F, this.aShortArray9374[var4]);
         }
      } else {
         if(this.aByteArray9339 == null) {
            this.aClass143_9303.anInt1636 = 0;
         } else {
            this.aClass143_9303.anInt1636 = this.aByteArray9339[var4] & 255;
         }

         if(this.anIntArray9331[var4] == -1) {
            this.aClass143_9303.method2640(var1, var2, var3, this.aFloatArray9299[var5], this.aFloatArray9299[var6], this.aFloatArray9299[var7], this.aFloatArray9361[var5], this.aFloatArray9361[var6], this.aFloatArray9361[var7], this.aFloatArray9373[var5], this.aFloatArray9373[var6], this.aFloatArray9373[var7], Class516.anIntArray6082[this.anIntArray9310[var4] & '\uffff']);
         } else {
            this.aClass143_9303.method2644(var1, var2, var3, this.aFloatArray9299[var5], this.aFloatArray9299[var6], this.aFloatArray9299[var7], this.aFloatArray9361[var5], this.aFloatArray9361[var6], this.aFloatArray9361[var7], this.aFloatArray9373[var5], this.aFloatArray9373[var6], this.aFloatArray9373[var7], (float)(this.anIntArray9310[var4] & '\uffff'), (float)(this.anIntArray9330[var4] & '\uffff'), (float)(this.anIntArray9331[var4] & '\uffff'));
         }
      }

   }

   final void method14763(boolean var1, boolean var2, boolean var3, int var4) {
      short var5;
      short var6;
      short var7;
      float var9;
      float var10;
      if(!this.aClass174_9301.aBool2092) {
         var5 = this.aShortArray9372[var4];
         var6 = this.aShortArray9325[var4];
         var7 = this.aShortArray9309[var4];
         Class317 var8 = this.aClass545_Sub3_9343.aClass317_9819;
         var9 = var8.aFloatArray4000[10];
         var10 = var8.aFloatArray4000[14];
         float var11 = var8.aFloatArray4000[11];
         float var12 = var8.aFloatArray4000[15];
         float var13 = var10 * var11 - var9 * var12;
         float var14 = (this.aFloatArray9373[var5] - this.aClass174_9301.aFloat2099) * this.aClass174_9301.aFloat2119;
         float var15 = (this.aFloatArray9373[var6] - this.aClass174_9301.aFloat2099) * this.aClass174_9301.aFloat2119;
         float var16 = (this.aFloatArray9373[var7] - this.aClass174_9301.aFloat2099) * this.aClass174_9301.aFloat2119;
         float var17 = var14 * var13 / (var14 * var11 - var9);
         float var18 = var15 * var13 / (var15 * var11 - var9);
         float var19 = var16 * var13 / (var16 * var11 - var9);
         float var20 = (var17 - this.aClass174_9301.aFloat2088) / this.aClass174_9301.aFloat2091;
         if(var20 > 1.0F) {
            var20 = 1.0F;
         } else if(var20 < 0.0F) {
            var20 = 0.0F;
         }

         float var21 = (var18 - this.aClass174_9301.aFloat2088) / this.aClass174_9301.aFloat2091;
         if(var21 > 1.0F) {
            var21 = 1.0F;
         } else if(var21 < 0.0F) {
            var21 = 0.0F;
         }

         float var22 = (var19 - this.aClass174_9301.aFloat2088) / this.aClass174_9301.aFloat2091;
         if(var22 > 1.0F) {
            var22 = 1.0F;
         } else if(var22 < 0.0F) {
            var22 = 0.0F;
         }

         float var23 = var20 + var21 + var22;
         if(var23 >= 3.0F) {
            return;
         }

         if(var23 <= 0.0F) {
            this.method14762(var1, var2, var3, var4);
            return;
         }

         if(this.aByteArray9339 == null) {
            this.aClass143_9303.anInt1636 = 0;
         } else {
            this.aClass143_9303.anInt1636 = this.aByteArray9339[var4] & 255;
         }

         if(this.aShortArray9374 != null && this.aShortArray9374[var4] != -1) {
            int var24 = -16777216;
            if(this.aByteArray9339 != null) {
               var24 = 255 - (this.aByteArray9339[var4] & 255) << 24;
            }

            if(this.anIntArray9331[var4] == -1) {
               int var25 = var24 | this.anIntArray9310[var4] & 16777215;
               this.aClass143_9303.method2650(var1, var2, var3, this.aFloatArray9299[var5], this.aFloatArray9299[var6], this.aFloatArray9299[var7], this.aFloatArray9361[var5], this.aFloatArray9361[var6], this.aFloatArray9361[var7], this.aFloatArray9373[var5], this.aFloatArray9373[var6], this.aFloatArray9373[var7], this.aFloatArray9305[var5], this.aFloatArray9305[var6], this.aFloatArray9305[var7], this.aFloatArrayArray9327[var4][0], this.aFloatArrayArray9327[var4][1], this.aFloatArrayArray9327[var4][2], this.aFloatArrayArray9328[var4][0], this.aFloatArrayArray9328[var4][1], this.aFloatArrayArray9328[var4][2], var25, var25, var25, this.aClass174_9301.anInt2090 * 723388769, var20 * 255.0F, var21 * 255.0F, var22 * 255.0F, this.aShortArray9374[var4]);
            } else {
               this.aClass143_9303.method2650(var1, var2, var3, this.aFloatArray9299[var5], this.aFloatArray9299[var6], this.aFloatArray9299[var7], this.aFloatArray9361[var5], this.aFloatArray9361[var6], this.aFloatArray9361[var7], this.aFloatArray9373[var5], this.aFloatArray9373[var6], this.aFloatArray9373[var7], this.aFloatArray9305[var5], this.aFloatArray9305[var6], this.aFloatArray9305[var7], this.aFloatArrayArray9327[var4][0], this.aFloatArrayArray9327[var4][1], this.aFloatArrayArray9327[var4][2], this.aFloatArrayArray9328[var4][0], this.aFloatArrayArray9328[var4][1], this.aFloatArrayArray9328[var4][2], var24 | this.anIntArray9310[var4] & 16777215, var24 | this.anIntArray9330[var4] & 16777215, var24 | this.anIntArray9331[var4] & 16777215, this.aClass174_9301.anInt2090 * 723388769, var20 * 255.0F, var21 * 255.0F, var22 * 255.0F, this.aShortArray9374[var4]);
            }
         } else if(this.anIntArray9331[var4] == -1) {
            this.aClass143_9303.method2646(var1, var2, var3, this.aFloatArray9299[var5], this.aFloatArray9299[var6], this.aFloatArray9299[var7], this.aFloatArray9361[var5], this.aFloatArray9361[var6], this.aFloatArray9361[var7], this.aFloatArray9373[var5], this.aFloatArray9373[var6], this.aFloatArray9373[var7], Class169.method2899(Class516.anIntArray6082[this.anIntArray9310[var4] & '\uffff'], this.aClass174_9301.anInt2090 * 723388769, var20 * 255.0F, 806435690), Class169.method2899(Class516.anIntArray6082[this.anIntArray9310[var4] & '\uffff'], this.aClass174_9301.anInt2090 * 723388769, var21 * 255.0F, 996805924), Class169.method2899(Class516.anIntArray6082[this.anIntArray9310[var4] & '\uffff'], this.aClass174_9301.anInt2090 * 723388769, var22 * 255.0F, 1982207400));
         } else {
            this.aClass143_9303.method2646(var1, var2, var3, this.aFloatArray9299[var5], this.aFloatArray9299[var6], this.aFloatArray9299[var7], this.aFloatArray9361[var5], this.aFloatArray9361[var6], this.aFloatArray9361[var7], this.aFloatArray9373[var5], this.aFloatArray9373[var6], this.aFloatArray9373[var7], Class169.method2899(Class516.anIntArray6082[this.anIntArray9310[var4] & '\uffff'], this.aClass174_9301.anInt2090 * 723388769, var20 * 255.0F, 1832962277), Class169.method2899(Class516.anIntArray6082[this.anIntArray9330[var4] & '\uffff'], this.aClass174_9301.anInt2090 * 723388769, var21 * 255.0F, 946099777), Class169.method2899(Class516.anIntArray6082[this.anIntArray9331[var4] & '\uffff'], this.aClass174_9301.anInt2090 * 723388769, var22 * 255.0F, 598349756));
         }
      } else {
         var5 = this.aShortArray9372[var4];
         var6 = this.aShortArray9325[var4];
         var7 = this.aShortArray9309[var4];
         float var26 = 0.0F;
         var9 = 0.0F;
         var10 = 0.0F;
         if(this.anIntArray9370[var5] > this.aClass174_9301.anInt2094 * -180786903) {
            var26 = 1.0F;
         } else if(this.anIntArray9370[var5] > this.aClass174_9301.anInt2093 * 2077373099) {
            var26 = (float)(this.aClass174_9301.anInt2093 * 2077373099 - this.anIntArray9370[var5]) * 1.0F / (float)(this.aClass174_9301.anInt2093 * 2077373099 - this.aClass174_9301.anInt2094 * -180786903);
         }

         if(this.anIntArray9370[var6] > this.aClass174_9301.anInt2094 * -180786903) {
            var9 = 1.0F;
         } else if(this.anIntArray9370[var6] > this.aClass174_9301.anInt2093 * 2077373099) {
            var9 = (float)(this.aClass174_9301.anInt2093 * 2077373099 - this.anIntArray9370[var6]) * 1.0F / (float)(this.aClass174_9301.anInt2093 * 2077373099 - this.aClass174_9301.anInt2094 * -180786903);
         }

         if(this.anIntArray9370[var7] > this.aClass174_9301.anInt2094 * -180786903) {
            var10 = 1.0F;
         } else if(this.anIntArray9370[var7] > this.aClass174_9301.anInt2093 * 2077373099) {
            var10 = (float)(this.aClass174_9301.anInt2093 * 2077373099 - this.anIntArray9370[var7]) * 1.0F / (float)(this.aClass174_9301.anInt2093 * 2077373099 - this.aClass174_9301.anInt2094 * -180786903);
         }

         if(this.aByteArray9339 == null) {
            this.aClass143_9303.anInt1636 = 0;
         } else {
            this.aClass143_9303.anInt1636 = this.aByteArray9339[var4] & 255;
         }

         if(this.aShortArray9374 != null && this.aShortArray9374[var4] != -1) {
            int var27 = -16777216;
            if(this.aByteArray9339 != null) {
               var27 = 255 - (this.aByteArray9339[var4] & 255) << 24;
            }

            if(this.anIntArray9331[var4] == -1) {
               int var28 = var27 | this.anIntArray9310[var4] & 16777215;
               this.aClass143_9303.method2650(var1, var2, var3, this.aFloatArray9299[var5], this.aFloatArray9299[var6], this.aFloatArray9299[var7], this.aFloatArray9361[var5], this.aFloatArray9361[var6], this.aFloatArray9361[var7], this.aFloatArray9373[var5], this.aFloatArray9373[var6], this.aFloatArray9373[var7], this.aFloatArray9305[var5], this.aFloatArray9305[var6], this.aFloatArray9305[var7], this.aFloatArrayArray9327[var4][0], this.aFloatArrayArray9327[var4][1], this.aFloatArrayArray9327[var4][2], this.aFloatArrayArray9328[var4][0], this.aFloatArrayArray9328[var4][1], this.aFloatArrayArray9328[var4][2], var28, var28, var28, this.aClass174_9301.anInt2090 * 723388769, var26 * 255.0F, var9 * 255.0F, var10 * 255.0F, this.aShortArray9374[var4]);
            } else {
               this.aClass143_9303.method2650(var1, var2, var3, this.aFloatArray9299[var5], this.aFloatArray9299[var6], this.aFloatArray9299[var7], this.aFloatArray9361[var5], this.aFloatArray9361[var6], this.aFloatArray9361[var7], this.aFloatArray9373[var5], this.aFloatArray9373[var6], this.aFloatArray9373[var7], this.aFloatArray9305[var5], this.aFloatArray9305[var6], this.aFloatArray9305[var7], this.aFloatArrayArray9327[var4][0], this.aFloatArrayArray9327[var4][1], this.aFloatArrayArray9327[var4][2], this.aFloatArrayArray9328[var4][0], this.aFloatArrayArray9328[var4][1], this.aFloatArrayArray9328[var4][2], var27 | this.anIntArray9310[var4] & 16777215, var27 | this.anIntArray9330[var4] & 16777215, var27 | this.anIntArray9331[var4] & 16777215, this.aClass174_9301.anInt2090 * 723388769, var26 * 255.0F, var9 * 255.0F, var10 * 255.0F, this.aShortArray9374[var4]);
            }
         } else if(this.anIntArray9331[var4] == -1) {
            this.aClass143_9303.method2646(var1, var2, var3, this.aFloatArray9299[var5], this.aFloatArray9299[var6], this.aFloatArray9299[var7], this.aFloatArray9361[var5], this.aFloatArray9361[var6], this.aFloatArray9361[var7], this.aFloatArray9373[var5], this.aFloatArray9373[var6], this.aFloatArray9373[var7], Class169.method2899(Class516.anIntArray6082[this.anIntArray9310[var4] & '\uffff'], this.aClass174_9301.anInt2090 * 723388769, var26 * 255.0F, 1113866578), Class169.method2899(Class516.anIntArray6082[this.anIntArray9310[var4] & '\uffff'], this.aClass174_9301.anInt2090 * 723388769, var9 * 255.0F, 2069443651), Class169.method2899(Class516.anIntArray6082[this.anIntArray9310[var4] & '\uffff'], this.aClass174_9301.anInt2090 * 723388769, var10 * 255.0F, 566777656));
         } else {
            this.aClass143_9303.method2646(var1, var2, var3, this.aFloatArray9299[var5], this.aFloatArray9299[var6], this.aFloatArray9299[var7], this.aFloatArray9361[var5], this.aFloatArray9361[var6], this.aFloatArray9361[var7], this.aFloatArray9373[var5], this.aFloatArray9373[var6], this.aFloatArray9373[var7], Class169.method2899(Class516.anIntArray6082[this.anIntArray9310[var4] & '\uffff'], this.aClass174_9301.anInt2090 * 723388769, var26 * 255.0F, 578917913), Class169.method2899(Class516.anIntArray6082[this.anIntArray9330[var4] & '\uffff'], this.aClass174_9301.anInt2090 * 723388769, var9 * 255.0F, 654124814), Class169.method2899(Class516.anIntArray6082[this.anIntArray9331[var4] & '\uffff'], this.aClass174_9301.anInt2090 * 723388769, var10 * 255.0F, 1407666076));
         }
      }

   }

   public int AA() {
      if(!this.aBool9358) {
         this.method14765();
      }

      return this.aShort9365;
   }

   public int Z() {
      return this.anInt9324;
   }

   final void method14764(boolean var1, boolean var2, boolean var3, int var4, boolean var5, boolean var6) {
      if(this.anIntArray9331[var4] != -2) {
         short var7 = this.aShortArray9372[var4];
         short var8 = this.aShortArray9325[var4];
         short var9 = this.aShortArray9309[var4];
         float var10 = this.aFloatArray9361[var7];
         float var11 = this.aFloatArray9361[var8];
         float var12 = this.aFloatArray9361[var9];
         if(!var5 || var10 != -5000.0F && var11 != -5000.0F && var12 != -5000.0F) {
            float var13 = this.aFloatArray9299[var7];
            float var14 = this.aFloatArray9299[var8];
            float var15 = this.aFloatArray9299[var9];
            if(this.anIntArray9321[var4] != -1 || (var10 - var11) * (var15 - var14) - (var13 - var14) * (var12 - var11) > 0.0F) {
               if(var10 >= 0.0F && var11 >= 0.0F && var12 >= 0.0F && var10 <= (float)(this.aClass174_9301.anInt2084 * -1948638851) && var11 <= (float)(this.aClass174_9301.anInt2084 * -1948638851) && var12 <= (float)(this.aClass174_9301.anInt2084 * -1948638851)) {
                  this.aClass143_9303.aBool1650 = false;
               } else {
                  this.aClass143_9303.aBool1650 = true;
               }

               int var16;
               if(var6) {
                  var16 = this.anIntArray9321[var4];
                  if(var16 == -1 || !this.aClass133Array9355[var16].aBool1574) {
                     this.method14763(var1, var2, var3, var4);
                  }
               } else {
                  var16 = this.anIntArray9321[var4];
                  if(var16 != -1) {
                     Class133 var17 = this.aClass133Array9355[var16];
                     Class187 var18 = this.aClass187Array9356[var16];
                     if(!var17.aBool1574) {
                        this.method14762(var1, var2, var3, var4);
                     }

                     this.aClass545_Sub3_9343.method15349(var1, var2, var3, var18.anInt2246 * -859421743, var18.anInt2241 * 832443449, var18.aFloat2245, var18.anInt2248 * -1650912837, var18.anInt2249 * 860581823, var17.aShort1573 & '\uffff', var18.anInt2250 * 958896329, var17.aByte1576, var17.aByte1571);
                  } else {
                     this.method14762(var1, var2, var3, var4);
                  }
               }
            }

         }
      }
   }

   public boolean ee() {
      return this.aBool9367;
   }

   void method14765() {
      if(!this.aBool9358) {
         int var1 = 0;
         int var2 = 0;
         int var3 = 32767;
         int var4 = 32767;
         int var5 = 32767;
         int var6 = -32768;
         int var7 = -32768;
         int var8 = -32768;

         for(int var9 = 0; var9 < this.anInt9316; ++var9) {
            int var10 = this.anIntArray9336[var9];
            int var11 = this.anIntArray9318[var9];
            int var12 = this.anIntArray9319[var9];
            if(var10 < var3) {
               var3 = var10;
            }

            if(var10 > var6) {
               var6 = var10;
            }

            if(var11 < var4) {
               var4 = var11;
            }

            if(var11 > var7) {
               var7 = var11;
            }

            if(var12 < var5) {
               var5 = var12;
            }

            if(var12 > var8) {
               var8 = var12;
            }

            int var13 = var10 * var10 + var12 * var12;
            if(var13 > var1) {
               var1 = var13;
            }

            var13 += var11 * var11;
            if(var13 > var2) {
               var2 = var13;
            }
         }

         this.aShort9363 = (short)var3;
         this.aShort9364 = (short)var6;
         this.aShort9300 = (short)var4;
         this.aShort9362 = (short)var7;
         this.aShort9365 = (short)var5;
         this.aShort9366 = (short)var8;
         this.aShort9314 = (short)((int)(Math.sqrt((double)var1) + 0.99D));
         this.aShort9360 = (short)((int)(Math.sqrt((double)var2) + 0.99D));
         this.aBool9358 = true;
      }
   }

   public int N() {
      if(!this.aBool9358) {
         this.method14765();
      }

      return this.aShort9314;
   }

   public int n() {
      if(!this.aBool9358) {
         this.method14765();
      }

      return this.aShort9360;
   }

   Class568 method14766(Class568_Sub2 var1, Class568_Sub2 var2, int var3, boolean var4, boolean var5) {
      var1.aBool9358 = this.aBool9358;
      if(this.aBool9358) {
         var1.aShort9364 = this.aShort9364;
         var1.aShort9362 = this.aShort9362;
         var1.aShort9366 = this.aShort9366;
         var1.aShort9363 = this.aShort9363;
         var1.aShort9300 = this.aShort9300;
         var1.aShort9365 = this.aShort9365;
         var1.aShort9314 = this.aShort9314;
         var1.aShort9360 = this.aShort9360;
      }

      var1.anInt9313 = this.anInt9313;
      var1.anInt9324 = this.anInt9324;
      var1.anInt9315 = this.anInt9315;
      var1.anInt9316 = this.anInt9316;
      var1.anInt9353 = this.anInt9353;
      var1.anInt9354 = this.anInt9354;
      if((var3 & 256) != 0) {
         var1.aBool9367 = true;
      } else {
         var1.aBool9367 = this.aBool9367;
      }

      var1.aBool9368 = this.aBool9368;
      boolean var6 = (var3 & 7) == 7 | (var3 & 32) != 0;
      boolean var7 = var6 || (var3 & 1) != 0;
      boolean var8 = var6 || (var3 & 2) != 0;
      boolean var9 = var6 || (var3 & 4) != 0 || (var3 & 16) != 0;
      int var10;
      if(!var7 && !var8 && !var9) {
         var1.anIntArray9336 = this.anIntArray9336;
         var1.anIntArray9318 = this.anIntArray9318;
         var1.anIntArray9319 = this.anIntArray9319;
      } else {
         if(var7) {
            if(var2.anIntArray9336 != null && var2.anIntArray9336.length >= this.anInt9315) {
               var1.anIntArray9336 = var2.anIntArray9336;
            } else {
               var1.anIntArray9336 = var2.anIntArray9336 = new int[this.anInt9315];
            }

            for(var10 = 0; var10 < this.anInt9315; ++var10) {
               var1.anIntArray9336[var10] = this.anIntArray9336[var10];
            }
         } else {
            var1.anIntArray9336 = this.anIntArray9336;
         }

         if(var8) {
            if(var2.anIntArray9318 != null && var2.anIntArray9318.length >= this.anInt9315) {
               var1.anIntArray9318 = var2.anIntArray9318;
            } else {
               var1.anIntArray9318 = var2.anIntArray9318 = new int[this.anInt9315];
            }

            for(var10 = 0; var10 < this.anInt9315; ++var10) {
               var1.anIntArray9318[var10] = this.anIntArray9318[var10];
            }
         } else {
            var1.anIntArray9318 = this.anIntArray9318;
         }

         if(var9) {
            if(var2.anIntArray9319 != null && var2.anIntArray9319.length >= this.anInt9315) {
               var1.anIntArray9319 = var2.anIntArray9319;
            } else {
               var1.anIntArray9319 = var2.anIntArray9319 = new int[this.anInt9315];
            }

            for(var10 = 0; var10 < this.anInt9315; ++var10) {
               var1.anIntArray9319[var10] = this.anIntArray9319[var10];
            }
         } else {
            var1.anIntArray9319 = this.anIntArray9319;
         }
      }

      if((var3 & 540800) != 0) {
         if(var2.aShortArray9351 != null && var2.aShortArray9351.length >= this.anInt9353) {
            var1.aShortArray9351 = var2.aShortArray9351;
         } else {
            var10 = this.anInt9353;
            var1.aShortArray9351 = var2.aShortArray9351 = new short[var10];
         }

         for(var10 = 0; var10 < this.anInt9353; ++var10) {
            var1.aShortArray9351[var10] = this.aShortArray9351[var10];
         }
      } else {
         var1.aShortArray9351 = this.aShortArray9351;
      }

      if((var3 & 618520) != 0) {
         var1.anInt9380 = 0;
         var1.anIntArray9331 = null;
         var1.anIntArray9330 = null;
         var1.anIntArray9310 = null;
      } else if((var3 & 128) != 0) {
         if(var5) {
            this.method14746(false);
         }

         if(this.anIntArray9310 != null) {
            if(var2.anIntArray9310 != null && var2.anIntArray9310.length >= this.anInt9353) {
               var1.anIntArray9310 = var2.anIntArray9310;
               var1.anIntArray9330 = var2.anIntArray9330;
               var1.anIntArray9331 = var2.anIntArray9331;
            } else {
               var10 = this.anInt9353;
               var1.anIntArray9310 = var2.anIntArray9310 = new int[var10];
               var1.anIntArray9330 = var2.anIntArray9330 = new int[var10];
               var1.anIntArray9331 = var2.anIntArray9331 = new int[var10];
            }

            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               var1.anIntArray9310[var10] = this.anIntArray9310[var10];
               var1.anIntArray9330[var10] = this.anIntArray9330[var10];
               var1.anIntArray9331[var10] = this.anIntArray9331[var10];
            }
         }

         var1.anInt9380 = this.anInt9380;
      } else {
         if(var5) {
            this.method14746(false);
         }

         var1.anIntArray9310 = this.anIntArray9310;
         var1.anIntArray9330 = this.anIntArray9330;
         var1.anIntArray9331 = this.anIntArray9331;
         var1.anInt9380 = this.anInt9380;
      }

      if((var3 & 256) != 0) {
         if(var2.aByteArray9339 != null && var2.aByteArray9339.length >= this.anInt9353) {
            var1.aByteArray9339 = var2.aByteArray9339;
         } else {
            var10 = this.anInt9353;
            var1.aByteArray9339 = var2.aByteArray9339 = new byte[var10];
         }

         if(this.aByteArray9339 != null) {
            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               var1.aByteArray9339[var10] = this.aByteArray9339[var10];
            }
         } else {
            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               var1.aByteArray9339[var10] = 0;
            }
         }
      } else {
         var1.aByteArray9339 = this.aByteArray9339;
      }

      if((var3 & 8) == 0 && (var3 & 16) == 0) {
         if(var5) {
            this.method14757();
         }

         var1.aClass183Array9340 = this.aClass183Array9340;
         var1.aClass189Array9371 = this.aClass189Array9371;
      } else {
         if(var2.aClass183Array9340 != null && var2.aClass183Array9340.length >= this.anInt9316) {
            var1.aClass183Array9340 = var2.aClass183Array9340;
         } else {
            var10 = this.anInt9316;
            var1.aClass183Array9340 = var2.aClass183Array9340 = new Class183[var10];
         }

         if(this.aClass183Array9340 != null) {
            for(var10 = 0; var10 < this.anInt9316; ++var10) {
               var1.aClass183Array9340[var10] = new Class183(this.aClass183Array9340[var10]);
            }
         } else {
            var1.aClass183Array9340 = null;
         }

         if(this.aClass189Array9371 != null) {
            if(var2.aClass189Array9371 != null && var2.aClass189Array9371.length >= this.anInt9353) {
               var1.aClass189Array9371 = var2.aClass189Array9371;
            } else {
               var10 = this.anInt9353;
               var1.aClass189Array9371 = var2.aClass189Array9371 = new Class189[var10];
            }

            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               var1.aClass189Array9371[var10] = this.aClass189Array9371[var10] != null?new Class189(this.aClass189Array9371[var10]):null;
            }
         } else {
            var1.aClass189Array9371 = null;
         }
      }

      if((var3 & '\u8000') != 0) {
         if(this.aShortArray9374 == null) {
            var1.aShortArray9374 = null;
         } else {
            if(var2.aShortArray9374 != null && var2.aShortArray9374.length >= this.anInt9353) {
               var1.aShortArray9374 = var2.aShortArray9374;
            } else {
               var10 = this.anInt9353;
               var1.aShortArray9374 = var2.aShortArray9374 = new short[var10];
            }

            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               var1.aShortArray9374[var10] = this.aShortArray9374[var10];
            }
         }
      } else {
         var1.aShortArray9374 = this.aShortArray9374;
      }

      if((var3 & 65536) != 0) {
         if(this.aByteArray9326 == null) {
            var1.aByteArray9326 = null;
         } else {
            if(var2.aByteArray9326 != null && var2.aByteArray9326.length >= this.anInt9353) {
               var1.aByteArray9326 = var2.aByteArray9326;
            } else {
               var10 = var4?this.anInt9353 + 100:this.anInt9353;
               var1.aByteArray9326 = var2.aByteArray9326 = new byte[var10];
            }

            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               var1.aByteArray9326[var10] = this.aByteArray9326[var10];
            }
         }
      } else {
         var1.aByteArray9326 = this.aByteArray9326;
      }

      if((var3 & '\uc580') != 0) {
         if(var2.aClass187Array9356 != null && var2.aClass187Array9356.length >= this.anInt9354) {
            var1.aClass187Array9356 = var2.aClass187Array9356;

            for(var10 = 0; var10 < this.anInt9354; ++var10) {
               var1.aClass187Array9356[var10].method3276(this.aClass187Array9356[var10], -2066613008);
            }
         } else {
            var10 = this.anInt9354;
            var1.aClass187Array9356 = var2.aClass187Array9356 = new Class187[var10];

            for(int var11 = 0; var11 < this.anInt9354; ++var11) {
               var1.aClass187Array9356[var11] = this.aClass187Array9356[var11].method3274((byte)-106);
            }
         }
      } else {
         var1.aClass187Array9356 = this.aClass187Array9356;
      }

      if(this.aFloatArrayArray9327 != null && (var3 & 16) != 0) {
         if(var2.aFloatArrayArray9327 != null && var2.aFloatArrayArray9327.length >= this.anInt9353) {
            var1.aFloatArrayArray9327 = var2.aFloatArrayArray9327;
         } else {
            var10 = var4?this.anInt9353 + 100:this.anInt9353;
            var1.aFloatArrayArray9327 = var2.aFloatArrayArray9327 = new float[var10][3];
         }

         for(var10 = 0; var10 < this.anInt9353; ++var10) {
            if(this.aFloatArrayArray9327[var10] != null) {
               var1.aFloatArrayArray9327[var10][0] = this.aFloatArrayArray9327[var10][0];
               var1.aFloatArrayArray9327[var10][1] = this.aFloatArrayArray9327[var10][1];
               var1.aFloatArrayArray9327[var10][2] = this.aFloatArrayArray9327[var10][2];
            }
         }

         if(var2.aFloatArrayArray9328 != null && var2.aFloatArrayArray9328.length >= this.anInt9353) {
            var1.aFloatArrayArray9328 = var2.aFloatArrayArray9328;
         } else {
            var10 = var4?this.anInt9353 + 100:this.anInt9353;
            var1.aFloatArrayArray9328 = var2.aFloatArrayArray9328 = new float[var10][3];
         }

         for(var10 = 0; var10 < this.anInt9353; ++var10) {
            if(this.aFloatArrayArray9328[var10] != null) {
               var1.aFloatArrayArray9328[var10][0] = this.aFloatArrayArray9328[var10][0];
               var1.aFloatArrayArray9328[var10][1] = this.aFloatArrayArray9328[var10][1];
               var1.aFloatArrayArray9328[var10][2] = this.aFloatArrayArray9328[var10][2];
            }
         }
      } else {
         var1.aFloatArrayArray9327 = this.aFloatArrayArray9327;
         var1.aFloatArrayArray9328 = this.aFloatArrayArray9328;
      }

      var1.anIntArrayArray9344 = this.anIntArrayArray9344;
      var1.anIntArrayArray9345 = this.anIntArrayArray9345;
      var1.anIntArrayArray9357 = this.anIntArrayArray9357;
      var1.aShortArray9320 = this.aShortArray9320;
      var1.aShortArray9342 = this.aShortArray9342;
      var1.aByteArray9338 = this.aByteArray9338;
      var1.aShortArray9372 = this.aShortArray9372;
      var1.aShortArray9325 = this.aShortArray9325;
      var1.aShortArray9309 = this.aShortArray9309;
      var1.aClass80Array9352 = this.aClass80Array9352;
      var1.aClass166Array9341 = this.aClass166Array9341;
      var1.aClass133Array9355 = this.aClass133Array9355;
      var1.aShortArray9312 = this.aShortArray9312;
      var1.anInt9335 = var3;
      return var1;
   }

   public int ya() {
      if(!this.aBool9358) {
         this.method14765();
      }

      return this.aShort9364;
   }

   public int YA() {
      if(!this.aBool9358) {
         this.method14765();
      }

      return this.aShort9300;
   }

   public int o() {
      if(!this.aBool9358) {
         this.method14765();
      }

      return this.aShort9362;
   }

   boolean ea() {
      if(this.anIntArrayArray9344 == null) {
         return false;
      } else {
         this.anInt9308 = 0;
         this.anInt9349 = 0;
         this.anInt9350 = 0;
         return true;
      }
   }

   boolean method14767(int var1, int var2, float var3, float var4, float var5, float var6, float var7, float var8) {
      return (float)var2 < var3 && (float)var2 < var4 && (float)var2 < var5?false:((float)var2 > var3 && (float)var2 > var4 && (float)var2 > var5?false:((float)var1 < var6 && (float)var1 < var7 && (float)var1 < var8?false:(float)var1 <= var6 || (float)var1 <= var7 || (float)var1 <= var8));
   }

   public void p(int var1) {
      if((this.anInt9335 & 4096) != 4096) {
         throw new IllegalStateException();
      } else {
         this.anInt9313 = var1;
         this.anInt9380 = 0;
      }
   }

   void method14768(boolean var1) {
      if(this.anInt9380 == 1) {
         this.method14748();
      } else if(this.anInt9380 == 2) {
         if((this.anInt9335 & 618648) == 0 && this.aFloatArrayArray9327 == null) {
            this.aShortArray9351 = null;
         }

         if(var1) {
            this.aByteArray9326 = null;
         }

      } else {
         this.method14757();
         int var2 = this.aClass545_Sub3_9343.anInt9796 * -326293289;
         int var3 = this.aClass545_Sub3_9343.anInt9821 * -830589473;
         int var4 = this.aClass545_Sub3_9343.anInt9798 * 1044205117;
         int var5 = this.aClass545_Sub3_9343.anInt9801 * 39418165 >> 8;
         int var6 = 0;
         int var7 = 0;
         if(this.anInt9324 != 0) {
            var6 = this.aClass545_Sub3_9343.anInt9799 * -753343744 / this.anInt9324;
            var7 = this.aClass545_Sub3_9343.anInt9804 * -1350128896 / this.anInt9324;
         }

         if(this.anIntArray9310 == null) {
            this.anIntArray9310 = new int[this.anInt9353];
            this.anIntArray9330 = new int[this.anInt9353];
            this.anIntArray9331 = new int[this.anInt9353];
         }

         for(int var8 = 0; var8 < this.anInt9353; ++var8) {
            byte var9;
            if(this.aByteArray9326 == null) {
               var9 = 0;
            } else {
               var9 = this.aByteArray9326[var8];
            }

            byte var10;
            if(this.aByteArray9339 == null) {
               var10 = 0;
            } else {
               var10 = this.aByteArray9339[var8];
            }

            short var11;
            if(this.aShortArray9374 == null) {
               var11 = -1;
            } else {
               var11 = this.aShortArray9374[var8];
            }

            if(var10 == -2) {
               var9 = 3;
            }

            if(var10 == -1) {
               var9 = 2;
            }

            int var12;
            int var18;
            if(var11 == -1) {
               int var13;
               short var14;
               int var17;
               int var16;
               if(var9 == 0) {
                  var12 = this.aShortArray9351[var8] & '\uffff';
                  var13 = (var12 & 127) * this.anInt9313 >> 7;
                  var14 = Class166.method2855(var12 & -128 | var13, -1057294234);
                  Class183 var15;
                  if(this.aClass183Array9322 != null && this.aClass183Array9322[this.aShortArray9372[var8]] != null) {
                     var15 = this.aClass183Array9322[this.aShortArray9372[var8]];
                  } else {
                     var15 = this.aClass183Array9340[this.aShortArray9372[var8]];
                  }

                  var16 = (var2 * var15.anInt2200 + var3 * var15.anInt2201 + var4 * var15.anInt2202) / var15.anInt2203 >> 16;
                  var17 = var16 > 256?var6:var7;
                  var18 = (var5 >> 1) + (var17 * var16 >> 17);
                  this.anIntArray9310[var8] = var18 << 17 | Class576.method12223(var14, var18, 431922138);
                  if(this.aClass183Array9322 != null && this.aClass183Array9322[this.aShortArray9325[var8]] != null) {
                     var15 = this.aClass183Array9322[this.aShortArray9325[var8]];
                  } else {
                     var15 = this.aClass183Array9340[this.aShortArray9325[var8]];
                  }

                  var16 = (var2 * var15.anInt2200 + var3 * var15.anInt2201 + var4 * var15.anInt2202) / var15.anInt2203 >> 16;
                  var17 = var16 > 256?var6:var7;
                  var18 = (var5 >> 1) + (var17 * var16 >> 17);
                  this.anIntArray9330[var8] = var18 << 17 | Class576.method12223(var14, var18, 431922138);
                  if(this.aClass183Array9322 != null && this.aClass183Array9322[this.aShortArray9309[var8]] != null) {
                     var15 = this.aClass183Array9322[this.aShortArray9309[var8]];
                  } else {
                     var15 = this.aClass183Array9340[this.aShortArray9309[var8]];
                  }

                  var16 = (var2 * var15.anInt2200 + var3 * var15.anInt2201 + var4 * var15.anInt2202) / var15.anInt2203 >> 16;
                  var17 = var16 > 256?var6:var7;
                  var18 = (var5 >> 1) + (var17 * var16 >> 17);
                  this.anIntArray9331[var8] = var18 << 17 | Class576.method12223(var14, var18, 431922138);
               } else if(var9 == 1) {
                  var12 = this.aShortArray9351[var8] & '\uffff';
                  var13 = (var12 & 127) * this.anInt9313 >> 7;
                  var14 = Class166.method2855(var12 & -128 | var13, -64737229);
                  Class189 var22 = this.aClass189Array9371[var8];
                  var18 = var2 * var22.anInt2269 + var3 * var22.anInt2270 + var4 * var22.anInt2271 >> 16;
                  var16 = var18 > 256?var6:var7;
                  var17 = (var5 >> 1) + (var16 * var18 >> 17);
                  this.anIntArray9310[var8] = var17 << 17 | Class576.method12223(var14, var17, 431922138);
                  this.anIntArray9331[var8] = -1;
               } else if(var9 == 3) {
                  this.anIntArray9310[var8] = 128;
                  this.anIntArray9331[var8] = -1;
               } else {
                  this.anIntArray9331[var8] = -2;
               }
            } else {
               var12 = this.aShortArray9351[var8] & '\uffff';
               int var20;
               int var23;
               if(var9 == 0) {
                  Class183 var19;
                  if(this.aClass183Array9322 != null && this.aClass183Array9322[this.aShortArray9372[var8]] != null) {
                     var19 = this.aClass183Array9322[this.aShortArray9372[var8]];
                  } else {
                     var19 = this.aClass183Array9340[this.aShortArray9372[var8]];
                  }

                  var23 = (var2 * var19.anInt2200 + var3 * var19.anInt2201 + var4 * var19.anInt2202) / var19.anInt2203 >> 16;
                  var18 = var23 > 256?var6:var7;
                  var20 = this.method14818((var5 >> 2) + (var18 * var23 >> 18));
                  this.anIntArray9310[var8] = var20 << 24 | this.method14751(var12, var11, var20);
                  if(this.aClass183Array9322 != null && this.aClass183Array9322[this.aShortArray9325[var8]] != null) {
                     var19 = this.aClass183Array9322[this.aShortArray9325[var8]];
                  } else {
                     var19 = this.aClass183Array9340[this.aShortArray9325[var8]];
                  }

                  var23 = (var2 * var19.anInt2200 + var3 * var19.anInt2201 + var4 * var19.anInt2202) / var19.anInt2203 >> 16;
                  var18 = var23 > 256?var6:var7;
                  var20 = this.method14818((var5 >> 2) + (var18 * var23 >> 18));
                  this.anIntArray9330[var8] = var20 << 24 | this.method14751(var12, var11, var20);
                  if(this.aClass183Array9322 != null && this.aClass183Array9322[this.aShortArray9309[var8]] != null) {
                     var19 = this.aClass183Array9322[this.aShortArray9309[var8]];
                  } else {
                     var19 = this.aClass183Array9340[this.aShortArray9309[var8]];
                  }

                  var23 = (var2 * var19.anInt2200 + var3 * var19.anInt2201 + var4 * var19.anInt2202) / var19.anInt2203 >> 16;
                  var18 = var23 > 256?var6:var7;
                  var20 = this.method14818((var5 >> 2) + (var18 * var23 >> 18));
                  this.anIntArray9331[var8] = var20 << 24 | this.method14751(var12, var11, var20);
               } else if(var9 == 1) {
                  Class189 var21 = this.aClass189Array9371[var8];
                  var20 = var2 * var21.anInt2269 + var3 * var21.anInt2270 + var4 * var21.anInt2271 >> 16;
                  var23 = var20 > 256?var6:var7;
                  var18 = this.method14818((var5 >> 2) + (var23 * var20 >> 18));
                  this.anIntArray9310[var8] = var18 << 24 | this.method14751(var12, var11, var18);
                  this.anIntArray9331[var8] = -1;
               } else {
                  this.anIntArray9331[var8] = -2;
               }
            }
         }

         this.aClass183Array9340 = null;
         this.aClass183Array9322 = null;
         this.aClass189Array9371 = null;
         if((this.anInt9335 & 618648) == 0 && this.aFloatArrayArray9327 == null) {
            this.aShortArray9351 = null;
         }

         if(var1) {
            this.aByteArray9326 = null;
         }

         this.anInt9380 = 2;
      }
   }

   public int m() {
      return this.anInt9335;
   }

   boolean method14769(int var1, int var2, float var3, float var4, float var5, float var6, float var7, float var8) {
      return (float)var2 < var3 && (float)var2 < var4 && (float)var2 < var5?false:((float)var2 > var3 && (float)var2 > var4 && (float)var2 > var5?false:((float)var1 < var6 && (float)var1 < var7 && (float)var1 < var8?false:(float)var1 <= var6 || (float)var1 <= var7 || (float)var1 <= var8));
   }

   public byte[] ao() {
      return this.aByteArray9339;
   }

   public void X(short var1, short var2) {
      int var3;
      for(var3 = 0; var3 < this.anInt9353; ++var3) {
         if(this.aShortArray9351[var3] == var1) {
            this.aShortArray9351[var3] = var2;
         }
      }

      if(this.aClass133Array9355 != null) {
         for(var3 = 0; var3 < this.anInt9354; ++var3) {
            Class133 var4 = this.aClass133Array9355[var3];
            Class187 var5 = this.aClass187Array9356[var3];
            var5.anInt2250 = (var5.anInt2250 * 958896329 & -16777216 | Class516.anIntArray6082[Class166.method2855(this.aShortArray9351[var4.anInt1577 * 1911690377], 1631327947) & '\uffff'] & 16777215) * 925892985;
         }
      }

      if(this.anInt9380 == 2) {
         this.anInt9380 = 1;
      }

   }

   public void method12072(byte var1, byte[] var2) {
      if((this.anInt9335 & 1048576) == 0) {
         throw new RuntimeException();
      } else {
         if(this.aByteArray9339 == null) {
            this.aByteArray9339 = new byte[this.anInt9353];
         }

         int var3;
         if(var2 == null) {
            for(var3 = 0; var3 < this.anInt9353; ++var3) {
               this.aByteArray9339[var3] = var1;
            }
         } else {
            for(var3 = 0; var3 < this.anInt9353; ++var3) {
               int var4 = 255 - (255 - (var2[var3] & 255)) * (255 - (var1 & 255)) / 255;
               this.aByteArray9339[var3] = (byte)var4;
            }
         }

         if(this.anInt9380 == 2) {
            this.anInt9380 = 1;
         }

      }
   }

   public void W(short var1, short var2) {
      if(this.aShortArray9374 != null) {
         if(!this.aBool9368 && var2 >= 0) {
            Class161 var3 = this.aClass545_Sub3_9343.anInterface24_7370.method113(var2 & '\uffff', 1402255422);
            if(var3.aByte1972 != 0 || var3.aByte1993 != 0) {
               this.aBool9368 = true;
            }
         }

         for(int var4 = 0; var4 < this.anInt9353; ++var4) {
            if(this.aShortArray9374[var4] == var1) {
               this.aShortArray9374[var4] = var2;
            }
         }

      }
   }

   void method14770() {
      if(this.anInt9380 == 0 && this.aClass183Array9340 == null) {
         if(this.aClass545_Sub3_9343.anInt9817 * -310738315 > 1) {
            synchronized(this) {
               this.method14745();
            }
         } else {
            this.method14745();
         }

      }
   }

   public Class80[] method12076() {
      return this.aClass80Array9352;
   }

   public int ha() {
      if(!this.aBool9358) {
         this.method14765();
      }

      return this.aShort9366;
   }

   public boolean method12101() {
      if(this.aShortArray9374 == null) {
         return true;
      } else {
         for(int var1 = 0; var1 < this.aShortArray9374.length; ++var1) {
            if(this.aShortArray9374[var1] != -1 && !this.aClass545_Sub3_9343.method15337(this.aShortArray9374[var1])) {
               return false;
            }
         }

         return true;
      }
   }

   public boolean i() {
      return this.aBool9367;
   }

   public boolean u() {
      return this.aBool9368;
   }

   public void Q(int var1) {
      if((this.anInt9335 & 8192) != 8192) {
         throw new IllegalStateException();
      } else {
         this.anInt9324 = var1;
         this.anInt9380 = 0;
      }
   }

   void method14771(Class174 var1) {
      this.aClass143_9303 = var1.aClass143_2098;
      if(var1 != this.aClass174_9301) {
         this.aClass174_9301 = var1;
         this.anIntArray9370 = this.aClass174_9301.anIntArray2102;
         this.aFloatArray9361 = this.aClass174_9301.aFloatArray2103;
         this.aFloatArray9299 = this.aClass174_9301.aFloatArray2104;
         this.aFloatArray9373 = this.aClass174_9301.aFloatArray2105;
         this.aFloatArray9305 = this.aClass174_9301.aFloatArray2106;
         this.anIntArray9375 = this.aClass174_9301.anIntArray2107;
         this.anIntArray9376 = this.aClass174_9301.anIntArray2118;
         this.anIntArray9377 = this.aClass174_9301.anIntArray2109;
         this.anIntArray9329 = this.aClass174_9301.anIntArray2110;
         this.anIntArray9379 = this.aClass174_9301.anIntArray2128;
         this.anIntArray9321 = this.aClass174_9301.anIntArray2112;
      }
   }

   Class568_Sub2(Class545_Sub3 var1) {
      this.aClass545_Sub3_9343 = var1;
   }

   void method14772(Thread var1) {
      Class174 var2 = this.aClass545_Sub3_9343.method15346(var1);
      if(var2 != this.aClass174_9302) {
         this.aClass174_9302 = var2;
         this.aClass568_Sub2Array9381 = this.aClass174_9302.aClass568_Sub2Array2087;
         this.aClass568_Sub2Array9382 = this.aClass174_9302.aClass568_Sub2Array2123;
      }
   }

   void method14773(Thread var1) {
      Class174 var2 = this.aClass545_Sub3_9343.method15346(var1);
      if(var2 != this.aClass174_9302) {
         this.aClass174_9302 = var2;
         this.aClass568_Sub2Array9381 = this.aClass174_9302.aClass568_Sub2Array2087;
         this.aClass568_Sub2Array9382 = this.aClass174_9302.aClass568_Sub2Array2123;
      }
   }

   void method14774(Thread var1) {
      Class174 var2 = this.aClass545_Sub3_9343.method15346(var1);
      if(var2 != this.aClass174_9302) {
         this.aClass174_9302 = var2;
         this.aClass568_Sub2Array9381 = this.aClass174_9302.aClass568_Sub2Array2087;
         this.aClass568_Sub2Array9382 = this.aClass174_9302.aClass568_Sub2Array2123;
      }
   }

   public void EA(int var1) {
      if((this.anInt9335 & 3) != 3) {
         throw new IllegalStateException();
      } else {
         int var2 = Class312.anIntArray3943[var1];
         int var3 = Class312.anIntArray3956[var1];
         synchronized(this) {
            for(int var5 = 0; var5 < this.anInt9315; ++var5) {
               int var6 = this.anIntArray9318[var5] * var2 + this.anIntArray9336[var5] * var3 >> 14;
               this.anIntArray9318[var5] = this.anIntArray9318[var5] * var3 - this.anIntArray9336[var5] * var2 >> 14;
               this.anIntArray9336[var5] = var6;
            }

            this.method14815();
         }
      }
   }

   void method14775() {
      this.aClass183Array9340 = new Class183[this.anInt9316];

      int var1;
      for(var1 = 0; var1 < this.anInt9316; ++var1) {
         this.aClass183Array9340[var1] = new Class183();
      }

      for(var1 = 0; var1 < this.anInt9353; ++var1) {
         short var2 = this.aShortArray9372[var1];
         short var3 = this.aShortArray9325[var1];
         short var4 = this.aShortArray9309[var1];
         int var5 = this.anIntArray9336[var3] - this.anIntArray9336[var2];
         int var6 = this.anIntArray9318[var3] - this.anIntArray9318[var2];
         int var7 = this.anIntArray9319[var3] - this.anIntArray9319[var2];
         int var8 = this.anIntArray9336[var4] - this.anIntArray9336[var2];
         int var9 = this.anIntArray9318[var4] - this.anIntArray9318[var2];
         int var10 = this.anIntArray9319[var4] - this.anIntArray9319[var2];
         int var11 = var6 * var10 - var9 * var7;
         int var12 = var7 * var8 - var10 * var5;

         int var13;
         for(var13 = var5 * var9 - var8 * var6; var11 > 8192 || var12 > 8192 || var13 > 8192 || var11 < -8192 || var12 < -8192 || var13 < -8192; var13 >>= 1) {
            var11 >>= 1;
            var12 >>= 1;
         }

         int var14 = (int)Math.sqrt((double)(var11 * var11 + var12 * var12 + var13 * var13));
         if(var14 <= 0) {
            var14 = 1;
         }

         var11 = var11 * 256 / var14;
         var12 = var12 * 256 / var14;
         var13 = var13 * 256 / var14;
         byte var15;
         if(this.aByteArray9326 == null) {
            var15 = 0;
         } else {
            var15 = this.aByteArray9326[var1];
         }

         if(var15 == 0) {
            Class183 var16 = this.aClass183Array9340[var2];
            var16.anInt2200 += var11;
            var16.anInt2201 += var12;
            var16.anInt2202 += var13;
            ++var16.anInt2203;
            var16 = this.aClass183Array9340[var3];
            var16.anInt2200 += var11;
            var16.anInt2201 += var12;
            var16.anInt2202 += var13;
            ++var16.anInt2203;
            var16 = this.aClass183Array9340[var4];
            var16.anInt2200 += var11;
            var16.anInt2201 += var12;
            var16.anInt2202 += var13;
            ++var16.anInt2203;
         } else if(var15 == 1) {
            if(this.aClass189Array9371 == null) {
               this.aClass189Array9371 = new Class189[this.anInt9353];
            }

            Class189 var17 = this.aClass189Array9371[var1] = new Class189();
            var17.anInt2269 = var11;
            var17.anInt2270 = var12;
            var17.anInt2271 = var13;
         }
      }

   }

   void method14776(boolean var1) {
      if(this.aClass545_Sub3_9343.anInt9817 * -310738315 > 1) {
         synchronized(this) {
            this.method14814(var1);
         }
      } else {
         this.method14814(var1);
      }

   }

   void method14777(boolean var1) {
      if(this.aClass545_Sub3_9343.anInt9817 * -310738315 > 1) {
         synchronized(this) {
            this.method14814(var1);
         }
      } else {
         this.method14814(var1);
      }

   }

   void method14778(boolean var1) {
      if(this.aClass545_Sub3_9343.anInt9817 * -310738315 > 1) {
         synchronized(this) {
            this.method14814(var1);
         }
      } else {
         this.method14814(var1);
      }

   }

   void method14779(boolean var1) {
      if(this.aClass545_Sub3_9343.anInt9817 * -310738315 > 1) {
         synchronized(this) {
            this.method14814(var1);
         }
      } else {
         this.method14814(var1);
      }

   }

   void method14780(boolean var1) {
      if(this.anInt9380 == 1) {
         this.method14748();
      } else if(this.anInt9380 == 2) {
         if((this.anInt9335 & 618648) == 0 && this.aFloatArrayArray9327 == null) {
            this.aShortArray9351 = null;
         }

         if(var1) {
            this.aByteArray9326 = null;
         }

      } else {
         this.method14757();
         int var2 = this.aClass545_Sub3_9343.anInt9796 * -326293289;
         int var3 = this.aClass545_Sub3_9343.anInt9821 * -830589473;
         int var4 = this.aClass545_Sub3_9343.anInt9798 * 1044205117;
         int var5 = this.aClass545_Sub3_9343.anInt9801 * 39418165 >> 8;
         int var6 = 0;
         int var7 = 0;
         if(this.anInt9324 != 0) {
            var6 = this.aClass545_Sub3_9343.anInt9799 * -753343744 / this.anInt9324;
            var7 = this.aClass545_Sub3_9343.anInt9804 * -1350128896 / this.anInt9324;
         }

         if(this.anIntArray9310 == null) {
            this.anIntArray9310 = new int[this.anInt9353];
            this.anIntArray9330 = new int[this.anInt9353];
            this.anIntArray9331 = new int[this.anInt9353];
         }

         for(int var8 = 0; var8 < this.anInt9353; ++var8) {
            byte var9;
            if(this.aByteArray9326 == null) {
               var9 = 0;
            } else {
               var9 = this.aByteArray9326[var8];
            }

            byte var10;
            if(this.aByteArray9339 == null) {
               var10 = 0;
            } else {
               var10 = this.aByteArray9339[var8];
            }

            short var11;
            if(this.aShortArray9374 == null) {
               var11 = -1;
            } else {
               var11 = this.aShortArray9374[var8];
            }

            if(var10 == -2) {
               var9 = 3;
            }

            if(var10 == -1) {
               var9 = 2;
            }

            int var12;
            int var18;
            if(var11 == -1) {
               int var13;
               short var14;
               int var17;
               int var16;
               if(var9 == 0) {
                  var12 = this.aShortArray9351[var8] & '\uffff';
                  var13 = (var12 & 127) * this.anInt9313 >> 7;
                  var14 = Class166.method2855(var12 & -128 | var13, 784371501);
                  Class183 var15;
                  if(this.aClass183Array9322 != null && this.aClass183Array9322[this.aShortArray9372[var8]] != null) {
                     var15 = this.aClass183Array9322[this.aShortArray9372[var8]];
                  } else {
                     var15 = this.aClass183Array9340[this.aShortArray9372[var8]];
                  }

                  var16 = (var2 * var15.anInt2200 + var3 * var15.anInt2201 + var4 * var15.anInt2202) / var15.anInt2203 >> 16;
                  var17 = var16 > 256?var6:var7;
                  var18 = (var5 >> 1) + (var17 * var16 >> 17);
                  this.anIntArray9310[var8] = var18 << 17 | Class576.method12223(var14, var18, 431922138);
                  if(this.aClass183Array9322 != null && this.aClass183Array9322[this.aShortArray9325[var8]] != null) {
                     var15 = this.aClass183Array9322[this.aShortArray9325[var8]];
                  } else {
                     var15 = this.aClass183Array9340[this.aShortArray9325[var8]];
                  }

                  var16 = (var2 * var15.anInt2200 + var3 * var15.anInt2201 + var4 * var15.anInt2202) / var15.anInt2203 >> 16;
                  var17 = var16 > 256?var6:var7;
                  var18 = (var5 >> 1) + (var17 * var16 >> 17);
                  this.anIntArray9330[var8] = var18 << 17 | Class576.method12223(var14, var18, 431922138);
                  if(this.aClass183Array9322 != null && this.aClass183Array9322[this.aShortArray9309[var8]] != null) {
                     var15 = this.aClass183Array9322[this.aShortArray9309[var8]];
                  } else {
                     var15 = this.aClass183Array9340[this.aShortArray9309[var8]];
                  }

                  var16 = (var2 * var15.anInt2200 + var3 * var15.anInt2201 + var4 * var15.anInt2202) / var15.anInt2203 >> 16;
                  var17 = var16 > 256?var6:var7;
                  var18 = (var5 >> 1) + (var17 * var16 >> 17);
                  this.anIntArray9331[var8] = var18 << 17 | Class576.method12223(var14, var18, 431922138);
               } else if(var9 == 1) {
                  var12 = this.aShortArray9351[var8] & '\uffff';
                  var13 = (var12 & 127) * this.anInt9313 >> 7;
                  var14 = Class166.method2855(var12 & -128 | var13, 1897846773);
                  Class189 var22 = this.aClass189Array9371[var8];
                  var18 = var2 * var22.anInt2269 + var3 * var22.anInt2270 + var4 * var22.anInt2271 >> 16;
                  var16 = var18 > 256?var6:var7;
                  var17 = (var5 >> 1) + (var16 * var18 >> 17);
                  this.anIntArray9310[var8] = var17 << 17 | Class576.method12223(var14, var17, 431922138);
                  this.anIntArray9331[var8] = -1;
               } else if(var9 == 3) {
                  this.anIntArray9310[var8] = 128;
                  this.anIntArray9331[var8] = -1;
               } else {
                  this.anIntArray9331[var8] = -2;
               }
            } else {
               var12 = this.aShortArray9351[var8] & '\uffff';
               int var20;
               int var23;
               if(var9 == 0) {
                  Class183 var19;
                  if(this.aClass183Array9322 != null && this.aClass183Array9322[this.aShortArray9372[var8]] != null) {
                     var19 = this.aClass183Array9322[this.aShortArray9372[var8]];
                  } else {
                     var19 = this.aClass183Array9340[this.aShortArray9372[var8]];
                  }

                  var23 = (var2 * var19.anInt2200 + var3 * var19.anInt2201 + var4 * var19.anInt2202) / var19.anInt2203 >> 16;
                  var18 = var23 > 256?var6:var7;
                  var20 = this.method14818((var5 >> 2) + (var18 * var23 >> 18));
                  this.anIntArray9310[var8] = var20 << 24 | this.method14751(var12, var11, var20);
                  if(this.aClass183Array9322 != null && this.aClass183Array9322[this.aShortArray9325[var8]] != null) {
                     var19 = this.aClass183Array9322[this.aShortArray9325[var8]];
                  } else {
                     var19 = this.aClass183Array9340[this.aShortArray9325[var8]];
                  }

                  var23 = (var2 * var19.anInt2200 + var3 * var19.anInt2201 + var4 * var19.anInt2202) / var19.anInt2203 >> 16;
                  var18 = var23 > 256?var6:var7;
                  var20 = this.method14818((var5 >> 2) + (var18 * var23 >> 18));
                  this.anIntArray9330[var8] = var20 << 24 | this.method14751(var12, var11, var20);
                  if(this.aClass183Array9322 != null && this.aClass183Array9322[this.aShortArray9309[var8]] != null) {
                     var19 = this.aClass183Array9322[this.aShortArray9309[var8]];
                  } else {
                     var19 = this.aClass183Array9340[this.aShortArray9309[var8]];
                  }

                  var23 = (var2 * var19.anInt2200 + var3 * var19.anInt2201 + var4 * var19.anInt2202) / var19.anInt2203 >> 16;
                  var18 = var23 > 256?var6:var7;
                  var20 = this.method14818((var5 >> 2) + (var18 * var23 >> 18));
                  this.anIntArray9331[var8] = var20 << 24 | this.method14751(var12, var11, var20);
               } else if(var9 == 1) {
                  Class189 var21 = this.aClass189Array9371[var8];
                  var20 = var2 * var21.anInt2269 + var3 * var21.anInt2270 + var4 * var21.anInt2271 >> 16;
                  var23 = var20 > 256?var6:var7;
                  var18 = this.method14818((var5 >> 2) + (var23 * var20 >> 18));
                  this.anIntArray9310[var8] = var18 << 24 | this.method14751(var12, var11, var18);
                  this.anIntArray9331[var8] = -1;
               } else {
                  this.anIntArray9331[var8] = -2;
               }
            }
         }

         this.aClass183Array9340 = null;
         this.aClass183Array9322 = null;
         this.aClass189Array9371 = null;
         if((this.anInt9335 & 618648) == 0 && this.aFloatArrayArray9327 == null) {
            this.aShortArray9351 = null;
         }

         if(var1) {
            this.aByteArray9326 = null;
         }

         this.anInt9380 = 2;
      }
   }

   void method14781() {
      for(int var1 = 0; var1 < this.anInt9353; ++var1) {
         short var2 = this.aShortArray9374 != null?this.aShortArray9374[var1]:-1;
         if(var2 == -1) {
            int var3 = this.aShortArray9351[var1] & '\uffff';
            int var4 = (var3 & 127) * this.anInt9313 >> 7;
            short var6 = Class166.method2855(var3 & -128 | var4, -1354075224);
            int var5;
            if(this.anIntArray9331[var1] == -1) {
               var5 = this.anIntArray9310[var1] & -131072;
               this.anIntArray9310[var1] = var5 | Class576.method12223(var6, var5 >> 17, 431922138);
            } else if(this.anIntArray9331[var1] != -2) {
               var5 = this.anIntArray9310[var1] & -131072;
               this.anIntArray9310[var1] = var5 | Class576.method12223(var6, var5 >> 17, 431922138);
               var5 = this.anIntArray9330[var1] & -131072;
               this.anIntArray9330[var1] = var5 | Class576.method12223(var6, var5 >> 17, 431922138);
               var5 = this.anIntArray9331[var1] & -131072;
               this.anIntArray9331[var1] = var5 | Class576.method12223(var6, var5 >> 17, 431922138);
            }
         }
      }

      this.anInt9380 = 2;
   }

   public void wa() {
      if((this.anInt9335 & 16) != 16) {
         throw new IllegalStateException();
      } else {
         synchronized(this) {
            int var2;
            for(var2 = 0; var2 < this.anInt9315; ++var2) {
               this.anIntArray9319[var2] = -this.anIntArray9319[var2];
            }

            if(this.aClass183Array9340 != null) {
               for(var2 = 0; var2 < this.anInt9316; ++var2) {
                  if(this.aClass183Array9340[var2] != null) {
                     this.aClass183Array9340[var2].anInt2202 = -this.aClass183Array9340[var2].anInt2202;
                  }
               }
            }

            if(this.aClass183Array9322 != null) {
               for(var2 = 0; var2 < this.anInt9316; ++var2) {
                  if(this.aClass183Array9322[var2] != null) {
                     this.aClass183Array9322[var2].anInt2202 = -this.aClass183Array9322[var2].anInt2202;
                  }
               }
            }

            if(this.aClass189Array9371 != null) {
               for(var2 = 0; var2 < this.anInt9353; ++var2) {
                  if(this.aClass189Array9371[var2] != null) {
                     this.aClass189Array9371[var2].anInt2271 = -this.aClass189Array9371[var2].anInt2271;
                  }
               }
            }

            short[] var7 = this.aShortArray9372;
            this.aShortArray9372 = this.aShortArray9309;
            this.aShortArray9309 = var7;
            if(this.aFloatArrayArray9327 != null) {
               for(int var3 = 0; var3 < this.anInt9353; ++var3) {
                  float var4;
                  if(this.aFloatArrayArray9327[var3] != null) {
                     var4 = this.aFloatArrayArray9327[var3][0];
                     this.aFloatArrayArray9327[var3][0] = this.aFloatArrayArray9327[var3][2];
                     this.aFloatArrayArray9327[var3][2] = var4;
                  }

                  if(this.aFloatArrayArray9328[var3] != null) {
                     var4 = this.aFloatArrayArray9328[var3][0];
                     this.aFloatArrayArray9328[var3][0] = this.aFloatArrayArray9328[var3][2];
                     this.aFloatArrayArray9328[var3][2] = var4;
                  }
               }
            }

            this.aBool9358 = false;
            this.anInt9380 = 0;
         }
      }
   }

   void method12089(int var1, int[] var2, int var3, int var4, int var5, int var6, boolean var7) {
      int var8 = var2.length;
      int var9;
      int var10;
      int var14;
      int var20;
      if(var1 == 0) {
         var3 <<= 4;
         var4 <<= 4;
         var5 <<= 4;
         if(!this.aBool9347) {
            for(var9 = 0; var9 < this.anInt9315; ++var9) {
               this.anIntArray9336[var9] <<= 4;
               this.anIntArray9318[var9] <<= 4;
               this.anIntArray9319[var9] <<= 4;
            }

            this.aBool9347 = true;
         }

         var9 = 0;
         this.anInt9308 = 0;
         this.anInt9349 = 0;
         this.anInt9350 = 0;

         for(var10 = 0; var10 < var8; ++var10) {
            int var21 = var2[var10];
            if(var21 < this.anIntArrayArray9344.length) {
               int[] var22 = this.anIntArrayArray9344[var21];

               for(var20 = 0; var20 < var22.length; ++var20) {
                  var14 = var22[var20];
                  this.anInt9308 += this.anIntArray9336[var14];
                  this.anInt9349 += this.anIntArray9318[var14];
                  this.anInt9350 += this.anIntArray9319[var14];
                  ++var9;
               }
            }
         }

         if(var9 > 0) {
            this.anInt9308 = this.anInt9308 / var9 + var3;
            this.anInt9349 = this.anInt9349 / var9 + var4;
            this.anInt9350 = this.anInt9350 / var9 + var5;
         } else {
            this.anInt9308 = var3;
            this.anInt9349 = var4;
            this.anInt9350 = var5;
         }

      } else {
         int[] var11;
         int var12;
         if(var1 == 1) {
            var3 <<= 4;
            var4 <<= 4;
            var5 <<= 4;
            if(!this.aBool9347) {
               for(var9 = 0; var9 < this.anInt9315; ++var9) {
                  this.anIntArray9336[var9] <<= 4;
                  this.anIntArray9318[var9] <<= 4;
                  this.anIntArray9319[var9] <<= 4;
               }

               this.aBool9347 = true;
            }

            for(var9 = 0; var9 < var8; ++var9) {
               var10 = var2[var9];
               if(var10 < this.anIntArrayArray9344.length) {
                  var11 = this.anIntArrayArray9344[var10];

                  for(var12 = 0; var12 < var11.length; ++var12) {
                     var20 = var11[var12];
                     this.anIntArray9336[var20] += var3;
                     this.anIntArray9318[var20] += var4;
                     this.anIntArray9319[var20] += var5;
                  }
               }
            }

         } else {
            int var15;
            int var16;
            if(var1 == 2) {
               for(var9 = 0; var9 < var8; ++var9) {
                  var10 = var2[var9];
                  if(var10 < this.anIntArrayArray9344.length) {
                     var11 = this.anIntArrayArray9344[var10];
                     if((var6 & 1) == 0) {
                        for(var12 = 0; var12 < var11.length; ++var12) {
                           var20 = var11[var12];
                           this.anIntArray9336[var20] -= this.anInt9308;
                           this.anIntArray9318[var20] -= this.anInt9349;
                           this.anIntArray9319[var20] -= this.anInt9350;
                           if(var5 != 0) {
                              var14 = Class312.anIntArray3943[var5];
                              var15 = Class312.anIntArray3956[var5];
                              var16 = this.anIntArray9318[var20] * var14 + this.anIntArray9336[var20] * var15 + 16383 >> 14;
                              this.anIntArray9318[var20] = this.anIntArray9318[var20] * var15 - this.anIntArray9336[var20] * var14 + 16383 >> 14;
                              this.anIntArray9336[var20] = var16;
                           }

                           if(var3 != 0) {
                              var14 = Class312.anIntArray3943[var3];
                              var15 = Class312.anIntArray3956[var3];
                              var16 = this.anIntArray9318[var20] * var15 - this.anIntArray9319[var20] * var14 + 16383 >> 14;
                              this.anIntArray9319[var20] = this.anIntArray9318[var20] * var14 + this.anIntArray9319[var20] * var15 + 16383 >> 14;
                              this.anIntArray9318[var20] = var16;
                           }

                           if(var4 != 0) {
                              var14 = Class312.anIntArray3943[var4];
                              var15 = Class312.anIntArray3956[var4];
                              var16 = this.anIntArray9319[var20] * var14 + this.anIntArray9336[var20] * var15 + 16383 >> 14;
                              this.anIntArray9319[var20] = this.anIntArray9319[var20] * var15 - this.anIntArray9336[var20] * var14 + 16383 >> 14;
                              this.anIntArray9336[var20] = var16;
                           }

                           this.anIntArray9336[var20] += this.anInt9308;
                           this.anIntArray9318[var20] += this.anInt9349;
                           this.anIntArray9319[var20] += this.anInt9350;
                        }
                     } else {
                        for(var12 = 0; var12 < var11.length; ++var12) {
                           var20 = var11[var12];
                           this.anIntArray9336[var20] -= this.anInt9308;
                           this.anIntArray9318[var20] -= this.anInt9349;
                           this.anIntArray9319[var20] -= this.anInt9350;
                           if(var3 != 0) {
                              var14 = Class312.anIntArray3943[var3];
                              var15 = Class312.anIntArray3956[var3];
                              var16 = this.anIntArray9318[var20] * var15 - this.anIntArray9319[var20] * var14 + 16383 >> 14;
                              this.anIntArray9319[var20] = this.anIntArray9318[var20] * var14 + this.anIntArray9319[var20] * var15 + 16383 >> 14;
                              this.anIntArray9318[var20] = var16;
                           }

                           if(var5 != 0) {
                              var14 = Class312.anIntArray3943[var5];
                              var15 = Class312.anIntArray3956[var5];
                              var16 = this.anIntArray9318[var20] * var14 + this.anIntArray9336[var20] * var15 + 16383 >> 14;
                              this.anIntArray9318[var20] = this.anIntArray9318[var20] * var15 - this.anIntArray9336[var20] * var14 + 16383 >> 14;
                              this.anIntArray9336[var20] = var16;
                           }

                           if(var4 != 0) {
                              var14 = Class312.anIntArray3943[var4];
                              var15 = Class312.anIntArray3956[var4];
                              var16 = this.anIntArray9319[var20] * var14 + this.anIntArray9336[var20] * var15 + 16383 >> 14;
                              this.anIntArray9319[var20] = this.anIntArray9319[var20] * var15 - this.anIntArray9336[var20] * var14 + 16383 >> 14;
                              this.anIntArray9336[var20] = var16;
                           }

                           this.anIntArray9336[var20] += this.anInt9308;
                           this.anIntArray9318[var20] += this.anInt9349;
                           this.anIntArray9319[var20] += this.anInt9350;
                        }
                     }
                  }
               }

            } else if(var1 == 3) {
               for(var9 = 0; var9 < var8; ++var9) {
                  var10 = var2[var9];
                  if(var10 < this.anIntArrayArray9344.length) {
                     var11 = this.anIntArrayArray9344[var10];

                     for(var12 = 0; var12 < var11.length; ++var12) {
                        var20 = var11[var12];
                        this.anIntArray9336[var20] -= this.anInt9308;
                        this.anIntArray9318[var20] -= this.anInt9349;
                        this.anIntArray9319[var20] -= this.anInt9350;
                        this.anIntArray9336[var20] = this.anIntArray9336[var20] * var3 / 128;
                        this.anIntArray9318[var20] = this.anIntArray9318[var20] * var4 / 128;
                        this.anIntArray9319[var20] = this.anIntArray9319[var20] * var5 / 128;
                        this.anIntArray9336[var20] += this.anInt9308;
                        this.anIntArray9318[var20] += this.anInt9349;
                        this.anIntArray9319[var20] += this.anInt9350;
                     }
                  }
               }

            } else {
               Class187 var19;
               Class133 var18;
               if(var1 == 5) {
                  if(this.anIntArrayArray9345 != null && this.aByteArray9339 != null) {
                     for(var9 = 0; var9 < var8; ++var9) {
                        var10 = var2[var9];
                        if(var10 < this.anIntArrayArray9345.length) {
                           var11 = this.anIntArrayArray9345[var10];

                           for(var12 = 0; var12 < var11.length; ++var12) {
                              var20 = var11[var12];
                              var14 = (this.aByteArray9339[var20] & 255) + var3 * 8;
                              if(var14 < 0) {
                                 var14 = 0;
                              } else if(var14 > 255) {
                                 var14 = 255;
                              }

                              this.aByteArray9339[var20] = (byte)var14;
                           }
                        }
                     }

                     if(this.aClass133Array9355 != null) {
                        for(var9 = 0; var9 < this.anInt9354; ++var9) {
                           var18 = this.aClass133Array9355[var9];
                           var19 = this.aClass187Array9356[var9];
                           var19.anInt2250 = (var19.anInt2250 * 958896329 & 16777215 | 255 - (this.aByteArray9339[var18.anInt1577 * 1911690377] & 255) << 24) * 925892985;
                        }
                     }
                  }

               } else if(var1 == 7) {
                  if(this.anIntArrayArray9345 != null) {
                     for(var9 = 0; var9 < var8; ++var9) {
                        var10 = var2[var9];
                        if(var10 < this.anIntArrayArray9345.length) {
                           var11 = this.anIntArrayArray9345[var10];

                           for(var12 = 0; var12 < var11.length; ++var12) {
                              var20 = var11[var12];
                              var14 = this.aShortArray9351[var20] & '\uffff';
                              var15 = var14 >> 10 & 63;
                              var16 = var14 >> 7 & 7;
                              int var17 = var14 & 127;
                              var15 = var15 + var3 & 63;
                              var16 += var4;
                              if(var16 < 0) {
                                 var16 = 0;
                              } else if(var16 > 7) {
                                 var16 = 7;
                              }

                              var17 += var5;
                              if(var17 < 0) {
                                 var17 = 0;
                              } else if(var17 > 127) {
                                 var17 = 127;
                              }

                              this.aShortArray9351[var20] = (short)(var15 << 10 | var16 << 7 | var17);
                           }

                           this.aBool9346 = true;
                        }
                     }

                     if(this.aClass133Array9355 != null) {
                        for(var9 = 0; var9 < this.anInt9354; ++var9) {
                           var18 = this.aClass133Array9355[var9];
                           var19 = this.aClass187Array9356[var9];
                           var19.anInt2250 = (var19.anInt2250 * 958896329 & -16777216 | Class516.anIntArray6082[Class166.method2855(this.aShortArray9351[var18.anInt1577 * 1911690377] & '\uffff', 1120295342) & '\uffff'] & 16777215) * 925892985;
                        }
                     }
                  }

               } else {
                  Class187 var13;
                  if(var1 == 8) {
                     if(this.anIntArrayArray9357 != null) {
                        for(var9 = 0; var9 < var8; ++var9) {
                           var10 = var2[var9];
                           if(var10 < this.anIntArrayArray9357.length) {
                              var11 = this.anIntArrayArray9357[var10];

                              for(var12 = 0; var12 < var11.length; ++var12) {
                                 var13 = this.aClass187Array9356[var11[var12]];
                                 var13.anInt2243 += var3 * -715097745;
                                 var13.anInt2244 += var4 * 2037475277;
                              }
                           }
                        }
                     }

                  } else if(var1 == 10) {
                     if(this.anIntArrayArray9357 != null) {
                        for(var9 = 0; var9 < var8; ++var9) {
                           var10 = var2[var9];
                           if(var10 < this.anIntArrayArray9357.length) {
                              var11 = this.anIntArrayArray9357[var10];

                              for(var12 = 0; var12 < var11.length; ++var12) {
                                 var13 = this.aClass187Array9356[var11[var12]];
                                 var13.aFloat2242 = var13.aFloat2242 * (float)var3 / 128.0F;
                                 var13.aFloat2247 = var13.aFloat2247 * (float)var4 / 128.0F;
                              }
                           }
                        }
                     }

                  } else if(var1 == 9) {
                     if(this.anIntArrayArray9357 != null) {
                        for(var9 = 0; var9 < var8; ++var9) {
                           var10 = var2[var9];
                           if(var10 < this.anIntArrayArray9357.length) {
                              var11 = this.anIntArrayArray9357[var10];

                              for(var12 = 0; var12 < var11.length; ++var12) {
                                 var13 = this.aClass187Array9356[var11[var12]];
                                 var13.anInt2240 = (var13.anInt2240 * -644012521 + var3 & 16383) * -1875611225;
                              }
                           }
                        }
                     }

                  }
               }
            }
         }
      }
   }

   public void dr(int var1) {
      if((this.anInt9335 & 4096) != 4096) {
         throw new IllegalStateException();
      } else {
         this.anInt9313 = var1;
         this.anInt9380 = 0;
      }
   }

   void method14782() {
      if(this.anInt9380 == 0) {
         this.method14746(false);
      } else {
         if(this.aClass545_Sub3_9343.anInt9817 * -310738315 > 1) {
            synchronized(this) {
               this.method14800();
            }
         } else {
            this.method14800();
         }

      }
   }

   public Class568 method12082(byte var1, int var2, boolean var3) {
      this.method14744(Thread.currentThread());
      boolean var4 = false;
      Class568_Sub2 var5;
      Class568_Sub2 var6;
      if(var1 > 0 && var1 <= 7) {
         var5 = this.aClass568_Sub2Array9382[var1 - 1];
         var6 = this.aClass568_Sub2Array9381[var1 - 1];
         var4 = true;
      } else {
         var6 = var5 = new Class568_Sub2(this.aClass545_Sub3_9343);
      }

      return this.method14750(var6, var5, var2, var4, var3);
   }

   public void method12100() {}

   public void method12079(Class568 var1, int var2, int var3, int var4, boolean var5) {
      Class568_Sub2 var6 = (Class568_Sub2)var1;
      if((this.anInt9335 & 65536) != 65536) {
         throw new IllegalStateException("");
      } else if((var6.anInt9335 & 65536) != 65536) {
         throw new IllegalStateException("");
      } else {
         this.method14743(this.aClass545_Sub3_9343.method15346(Thread.currentThread()));
         this.method14765();
         this.method14757();
         var6.method14765();
         var6.method14757();
         ++anInt9369;
         int var7 = 0;
         int[] var8 = var6.anIntArray9336;
         int var9 = var6.anInt9316;

         int var10;
         for(var10 = 0; var10 < this.anInt9316; ++var10) {
            Class183 var11 = this.aClass183Array9340[var10];
            if(var11.anInt2203 != 0) {
               int var12 = this.anIntArray9318[var10] - var3;
               if(var12 >= var6.aShort9300 && var12 <= var6.aShort9362) {
                  int var13 = this.anIntArray9336[var10] - var2;
                  if(var13 >= var6.aShort9363 && var13 <= var6.aShort9364) {
                     int var14 = this.anIntArray9319[var10] - var4;
                     if(var14 >= var6.aShort9365 && var14 <= var6.aShort9366) {
                        for(int var15 = 0; var15 < var9; ++var15) {
                           Class183 var16 = var6.aClass183Array9340[var15];
                           if(var13 == var8[var15] && var14 == var6.anIntArray9319[var15] && var12 == var6.anIntArray9318[var15] && var16.anInt2203 != 0) {
                              if(this.aClass183Array9322 == null) {
                                 this.aClass183Array9322 = new Class183[this.anInt9316];
                              }

                              if(var6.aClass183Array9322 == null) {
                                 var6.aClass183Array9322 = new Class183[var9];
                              }

                              Class183 var17 = this.aClass183Array9322[var10];
                              if(var17 == null) {
                                 var17 = this.aClass183Array9322[var10] = new Class183(var11);
                              }

                              Class183 var18 = var6.aClass183Array9322[var15];
                              if(var18 == null) {
                                 var18 = var6.aClass183Array9322[var15] = new Class183(var16);
                              }

                              var17.anInt2200 += var16.anInt2200;
                              var17.anInt2201 += var16.anInt2201;
                              var17.anInt2202 += var16.anInt2202;
                              var17.anInt2203 += var16.anInt2203;
                              var18.anInt2200 += var11.anInt2200;
                              var18.anInt2201 += var11.anInt2201;
                              var18.anInt2202 += var11.anInt2202;
                              var18.anInt2203 += var11.anInt2203;
                              ++var7;
                              this.anIntArray9329[var10] = anInt9369;
                              this.anIntArray9379[var15] = anInt9369;
                           }
                        }
                     }
                  }
               }
            }
         }

         if(var7 >= 3 && var5) {
            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               if(this.anIntArray9329[this.aShortArray9372[var10]] == anInt9369 && this.anIntArray9329[this.aShortArray9325[var10]] == anInt9369 && this.anIntArray9329[this.aShortArray9309[var10]] == anInt9369) {
                  if(this.aByteArray9326 == null) {
                     this.aByteArray9326 = new byte[this.anInt9353];
                  }

                  this.aByteArray9326[var10] = 2;
               }
            }

            for(var10 = 0; var10 < var6.anInt9353; ++var10) {
               if(this.anIntArray9379[var6.aShortArray9372[var10]] == anInt9369 && this.anIntArray9379[var6.aShortArray9325[var10]] == anInt9369 && this.anIntArray9379[var6.aShortArray9309[var10]] == anInt9369) {
                  if(var6.aByteArray9326 == null) {
                     var6.aByteArray9326 = new byte[var6.anInt9353];
                  }

                  var6.aByteArray9326[var10] = 2;
               }
            }

         }
      }
   }

   public void method12080(Class568 var1, int var2, int var3, int var4, boolean var5) {
      Class568_Sub2 var6 = (Class568_Sub2)var1;
      if((this.anInt9335 & 65536) != 65536) {
         throw new IllegalStateException("");
      } else if((var6.anInt9335 & 65536) != 65536) {
         throw new IllegalStateException("");
      } else {
         this.method14743(this.aClass545_Sub3_9343.method15346(Thread.currentThread()));
         this.method14765();
         this.method14757();
         var6.method14765();
         var6.method14757();
         ++anInt9369;
         int var7 = 0;
         int[] var8 = var6.anIntArray9336;
         int var9 = var6.anInt9316;

         int var10;
         for(var10 = 0; var10 < this.anInt9316; ++var10) {
            Class183 var11 = this.aClass183Array9340[var10];
            if(var11.anInt2203 != 0) {
               int var12 = this.anIntArray9318[var10] - var3;
               if(var12 >= var6.aShort9300 && var12 <= var6.aShort9362) {
                  int var13 = this.anIntArray9336[var10] - var2;
                  if(var13 >= var6.aShort9363 && var13 <= var6.aShort9364) {
                     int var14 = this.anIntArray9319[var10] - var4;
                     if(var14 >= var6.aShort9365 && var14 <= var6.aShort9366) {
                        for(int var15 = 0; var15 < var9; ++var15) {
                           Class183 var16 = var6.aClass183Array9340[var15];
                           if(var13 == var8[var15] && var14 == var6.anIntArray9319[var15] && var12 == var6.anIntArray9318[var15] && var16.anInt2203 != 0) {
                              if(this.aClass183Array9322 == null) {
                                 this.aClass183Array9322 = new Class183[this.anInt9316];
                              }

                              if(var6.aClass183Array9322 == null) {
                                 var6.aClass183Array9322 = new Class183[var9];
                              }

                              Class183 var17 = this.aClass183Array9322[var10];
                              if(var17 == null) {
                                 var17 = this.aClass183Array9322[var10] = new Class183(var11);
                              }

                              Class183 var18 = var6.aClass183Array9322[var15];
                              if(var18 == null) {
                                 var18 = var6.aClass183Array9322[var15] = new Class183(var16);
                              }

                              var17.anInt2200 += var16.anInt2200;
                              var17.anInt2201 += var16.anInt2201;
                              var17.anInt2202 += var16.anInt2202;
                              var17.anInt2203 += var16.anInt2203;
                              var18.anInt2200 += var11.anInt2200;
                              var18.anInt2201 += var11.anInt2201;
                              var18.anInt2202 += var11.anInt2202;
                              var18.anInt2203 += var11.anInt2203;
                              ++var7;
                              this.anIntArray9329[var10] = anInt9369;
                              this.anIntArray9379[var15] = anInt9369;
                           }
                        }
                     }
                  }
               }
            }
         }

         if(var7 >= 3 && var5) {
            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               if(this.anIntArray9329[this.aShortArray9372[var10]] == anInt9369 && this.anIntArray9329[this.aShortArray9325[var10]] == anInt9369 && this.anIntArray9329[this.aShortArray9309[var10]] == anInt9369) {
                  if(this.aByteArray9326 == null) {
                     this.aByteArray9326 = new byte[this.anInt9353];
                  }

                  this.aByteArray9326[var10] = 2;
               }
            }

            for(var10 = 0; var10 < var6.anInt9353; ++var10) {
               if(this.anIntArray9379[var6.aShortArray9372[var10]] == anInt9369 && this.anIntArray9379[var6.aShortArray9325[var10]] == anInt9369 && this.anIntArray9379[var6.aShortArray9309[var10]] == anInt9369) {
                  if(var6.aByteArray9326 == null) {
                     var6.aByteArray9326 = new byte[var6.anInt9353];
                  }

                  var6.aByteArray9326[var10] = 2;
               }
            }

         }
      }
   }

   public Class568 method12081(byte var1, int var2, boolean var3) {
      this.method14744(Thread.currentThread());
      boolean var4 = false;
      Class568_Sub2 var5;
      Class568_Sub2 var6;
      if(var1 > 0 && var1 <= 7) {
         var5 = this.aClass568_Sub2Array9382[var1 - 1];
         var6 = this.aClass568_Sub2Array9381[var1 - 1];
         var4 = true;
      } else {
         var6 = var5 = new Class568_Sub2(this.aClass545_Sub3_9343);
      }

      return this.method14750(var6, var5, var2, var4, var3);
   }

   public int cz() {
      if(!this.aBool9358) {
         this.method14765();
      }

      return this.aShort9363;
   }

   public int ck() {
      if(!this.aBool9358) {
         this.method14765();
      }

      return this.aShort9363;
   }

   Class568 method14783(Class568_Sub2 var1, Class568_Sub2 var2, int var3, boolean var4, boolean var5) {
      var1.aBool9358 = this.aBool9358;
      if(this.aBool9358) {
         var1.aShort9364 = this.aShort9364;
         var1.aShort9362 = this.aShort9362;
         var1.aShort9366 = this.aShort9366;
         var1.aShort9363 = this.aShort9363;
         var1.aShort9300 = this.aShort9300;
         var1.aShort9365 = this.aShort9365;
         var1.aShort9314 = this.aShort9314;
         var1.aShort9360 = this.aShort9360;
      }

      var1.anInt9313 = this.anInt9313;
      var1.anInt9324 = this.anInt9324;
      var1.anInt9315 = this.anInt9315;
      var1.anInt9316 = this.anInt9316;
      var1.anInt9353 = this.anInt9353;
      var1.anInt9354 = this.anInt9354;
      if((var3 & 256) != 0) {
         var1.aBool9367 = true;
      } else {
         var1.aBool9367 = this.aBool9367;
      }

      var1.aBool9368 = this.aBool9368;
      boolean var6 = (var3 & 7) == 7 | (var3 & 32) != 0;
      boolean var7 = var6 || (var3 & 1) != 0;
      boolean var8 = var6 || (var3 & 2) != 0;
      boolean var9 = var6 || (var3 & 4) != 0 || (var3 & 16) != 0;
      int var10;
      if(!var7 && !var8 && !var9) {
         var1.anIntArray9336 = this.anIntArray9336;
         var1.anIntArray9318 = this.anIntArray9318;
         var1.anIntArray9319 = this.anIntArray9319;
      } else {
         if(var7) {
            if(var2.anIntArray9336 != null && var2.anIntArray9336.length >= this.anInt9315) {
               var1.anIntArray9336 = var2.anIntArray9336;
            } else {
               var1.anIntArray9336 = var2.anIntArray9336 = new int[this.anInt9315];
            }

            for(var10 = 0; var10 < this.anInt9315; ++var10) {
               var1.anIntArray9336[var10] = this.anIntArray9336[var10];
            }
         } else {
            var1.anIntArray9336 = this.anIntArray9336;
         }

         if(var8) {
            if(var2.anIntArray9318 != null && var2.anIntArray9318.length >= this.anInt9315) {
               var1.anIntArray9318 = var2.anIntArray9318;
            } else {
               var1.anIntArray9318 = var2.anIntArray9318 = new int[this.anInt9315];
            }

            for(var10 = 0; var10 < this.anInt9315; ++var10) {
               var1.anIntArray9318[var10] = this.anIntArray9318[var10];
            }
         } else {
            var1.anIntArray9318 = this.anIntArray9318;
         }

         if(var9) {
            if(var2.anIntArray9319 != null && var2.anIntArray9319.length >= this.anInt9315) {
               var1.anIntArray9319 = var2.anIntArray9319;
            } else {
               var1.anIntArray9319 = var2.anIntArray9319 = new int[this.anInt9315];
            }

            for(var10 = 0; var10 < this.anInt9315; ++var10) {
               var1.anIntArray9319[var10] = this.anIntArray9319[var10];
            }
         } else {
            var1.anIntArray9319 = this.anIntArray9319;
         }
      }

      if((var3 & 540800) != 0) {
         if(var2.aShortArray9351 != null && var2.aShortArray9351.length >= this.anInt9353) {
            var1.aShortArray9351 = var2.aShortArray9351;
         } else {
            var10 = this.anInt9353;
            var1.aShortArray9351 = var2.aShortArray9351 = new short[var10];
         }

         for(var10 = 0; var10 < this.anInt9353; ++var10) {
            var1.aShortArray9351[var10] = this.aShortArray9351[var10];
         }
      } else {
         var1.aShortArray9351 = this.aShortArray9351;
      }

      if((var3 & 618520) != 0) {
         var1.anInt9380 = 0;
         var1.anIntArray9331 = null;
         var1.anIntArray9330 = null;
         var1.anIntArray9310 = null;
      } else if((var3 & 128) != 0) {
         if(var5) {
            this.method14746(false);
         }

         if(this.anIntArray9310 != null) {
            if(var2.anIntArray9310 != null && var2.anIntArray9310.length >= this.anInt9353) {
               var1.anIntArray9310 = var2.anIntArray9310;
               var1.anIntArray9330 = var2.anIntArray9330;
               var1.anIntArray9331 = var2.anIntArray9331;
            } else {
               var10 = this.anInt9353;
               var1.anIntArray9310 = var2.anIntArray9310 = new int[var10];
               var1.anIntArray9330 = var2.anIntArray9330 = new int[var10];
               var1.anIntArray9331 = var2.anIntArray9331 = new int[var10];
            }

            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               var1.anIntArray9310[var10] = this.anIntArray9310[var10];
               var1.anIntArray9330[var10] = this.anIntArray9330[var10];
               var1.anIntArray9331[var10] = this.anIntArray9331[var10];
            }
         }

         var1.anInt9380 = this.anInt9380;
      } else {
         if(var5) {
            this.method14746(false);
         }

         var1.anIntArray9310 = this.anIntArray9310;
         var1.anIntArray9330 = this.anIntArray9330;
         var1.anIntArray9331 = this.anIntArray9331;
         var1.anInt9380 = this.anInt9380;
      }

      if((var3 & 256) != 0) {
         if(var2.aByteArray9339 != null && var2.aByteArray9339.length >= this.anInt9353) {
            var1.aByteArray9339 = var2.aByteArray9339;
         } else {
            var10 = this.anInt9353;
            var1.aByteArray9339 = var2.aByteArray9339 = new byte[var10];
         }

         if(this.aByteArray9339 != null) {
            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               var1.aByteArray9339[var10] = this.aByteArray9339[var10];
            }
         } else {
            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               var1.aByteArray9339[var10] = 0;
            }
         }
      } else {
         var1.aByteArray9339 = this.aByteArray9339;
      }

      if((var3 & 8) == 0 && (var3 & 16) == 0) {
         if(var5) {
            this.method14757();
         }

         var1.aClass183Array9340 = this.aClass183Array9340;
         var1.aClass189Array9371 = this.aClass189Array9371;
      } else {
         if(var2.aClass183Array9340 != null && var2.aClass183Array9340.length >= this.anInt9316) {
            var1.aClass183Array9340 = var2.aClass183Array9340;
         } else {
            var10 = this.anInt9316;
            var1.aClass183Array9340 = var2.aClass183Array9340 = new Class183[var10];
         }

         if(this.aClass183Array9340 != null) {
            for(var10 = 0; var10 < this.anInt9316; ++var10) {
               var1.aClass183Array9340[var10] = new Class183(this.aClass183Array9340[var10]);
            }
         } else {
            var1.aClass183Array9340 = null;
         }

         if(this.aClass189Array9371 != null) {
            if(var2.aClass189Array9371 != null && var2.aClass189Array9371.length >= this.anInt9353) {
               var1.aClass189Array9371 = var2.aClass189Array9371;
            } else {
               var10 = this.anInt9353;
               var1.aClass189Array9371 = var2.aClass189Array9371 = new Class189[var10];
            }

            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               var1.aClass189Array9371[var10] = this.aClass189Array9371[var10] != null?new Class189(this.aClass189Array9371[var10]):null;
            }
         } else {
            var1.aClass189Array9371 = null;
         }
      }

      if((var3 & '\u8000') != 0) {
         if(this.aShortArray9374 == null) {
            var1.aShortArray9374 = null;
         } else {
            if(var2.aShortArray9374 != null && var2.aShortArray9374.length >= this.anInt9353) {
               var1.aShortArray9374 = var2.aShortArray9374;
            } else {
               var10 = this.anInt9353;
               var1.aShortArray9374 = var2.aShortArray9374 = new short[var10];
            }

            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               var1.aShortArray9374[var10] = this.aShortArray9374[var10];
            }
         }
      } else {
         var1.aShortArray9374 = this.aShortArray9374;
      }

      if((var3 & 65536) != 0) {
         if(this.aByteArray9326 == null) {
            var1.aByteArray9326 = null;
         } else {
            if(var2.aByteArray9326 != null && var2.aByteArray9326.length >= this.anInt9353) {
               var1.aByteArray9326 = var2.aByteArray9326;
            } else {
               var10 = var4?this.anInt9353 + 100:this.anInt9353;
               var1.aByteArray9326 = var2.aByteArray9326 = new byte[var10];
            }

            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               var1.aByteArray9326[var10] = this.aByteArray9326[var10];
            }
         }
      } else {
         var1.aByteArray9326 = this.aByteArray9326;
      }

      if((var3 & '\uc580') != 0) {
         if(var2.aClass187Array9356 != null && var2.aClass187Array9356.length >= this.anInt9354) {
            var1.aClass187Array9356 = var2.aClass187Array9356;

            for(var10 = 0; var10 < this.anInt9354; ++var10) {
               var1.aClass187Array9356[var10].method3276(this.aClass187Array9356[var10], 363722031);
            }
         } else {
            var10 = this.anInt9354;
            var1.aClass187Array9356 = var2.aClass187Array9356 = new Class187[var10];

            for(int var11 = 0; var11 < this.anInt9354; ++var11) {
               var1.aClass187Array9356[var11] = this.aClass187Array9356[var11].method3274((byte)-57);
            }
         }
      } else {
         var1.aClass187Array9356 = this.aClass187Array9356;
      }

      if(this.aFloatArrayArray9327 != null && (var3 & 16) != 0) {
         if(var2.aFloatArrayArray9327 != null && var2.aFloatArrayArray9327.length >= this.anInt9353) {
            var1.aFloatArrayArray9327 = var2.aFloatArrayArray9327;
         } else {
            var10 = var4?this.anInt9353 + 100:this.anInt9353;
            var1.aFloatArrayArray9327 = var2.aFloatArrayArray9327 = new float[var10][3];
         }

         for(var10 = 0; var10 < this.anInt9353; ++var10) {
            if(this.aFloatArrayArray9327[var10] != null) {
               var1.aFloatArrayArray9327[var10][0] = this.aFloatArrayArray9327[var10][0];
               var1.aFloatArrayArray9327[var10][1] = this.aFloatArrayArray9327[var10][1];
               var1.aFloatArrayArray9327[var10][2] = this.aFloatArrayArray9327[var10][2];
            }
         }

         if(var2.aFloatArrayArray9328 != null && var2.aFloatArrayArray9328.length >= this.anInt9353) {
            var1.aFloatArrayArray9328 = var2.aFloatArrayArray9328;
         } else {
            var10 = var4?this.anInt9353 + 100:this.anInt9353;
            var1.aFloatArrayArray9328 = var2.aFloatArrayArray9328 = new float[var10][3];
         }

         for(var10 = 0; var10 < this.anInt9353; ++var10) {
            if(this.aFloatArrayArray9328[var10] != null) {
               var1.aFloatArrayArray9328[var10][0] = this.aFloatArrayArray9328[var10][0];
               var1.aFloatArrayArray9328[var10][1] = this.aFloatArrayArray9328[var10][1];
               var1.aFloatArrayArray9328[var10][2] = this.aFloatArrayArray9328[var10][2];
            }
         }
      } else {
         var1.aFloatArrayArray9327 = this.aFloatArrayArray9327;
         var1.aFloatArrayArray9328 = this.aFloatArrayArray9328;
      }

      var1.anIntArrayArray9344 = this.anIntArrayArray9344;
      var1.anIntArrayArray9345 = this.anIntArrayArray9345;
      var1.anIntArrayArray9357 = this.anIntArrayArray9357;
      var1.aShortArray9320 = this.aShortArray9320;
      var1.aShortArray9342 = this.aShortArray9342;
      var1.aByteArray9338 = this.aByteArray9338;
      var1.aShortArray9372 = this.aShortArray9372;
      var1.aShortArray9325 = this.aShortArray9325;
      var1.aShortArray9309 = this.aShortArray9309;
      var1.aClass80Array9352 = this.aClass80Array9352;
      var1.aClass166Array9341 = this.aClass166Array9341;
      var1.aClass133Array9355 = this.aClass133Array9355;
      var1.aShortArray9312 = this.aShortArray9312;
      var1.anInt9335 = var3;
      return var1;
   }

   Class568 method14784(Class568_Sub2 var1, Class568_Sub2 var2, int var3, boolean var4, boolean var5) {
      var1.aBool9358 = this.aBool9358;
      if(this.aBool9358) {
         var1.aShort9364 = this.aShort9364;
         var1.aShort9362 = this.aShort9362;
         var1.aShort9366 = this.aShort9366;
         var1.aShort9363 = this.aShort9363;
         var1.aShort9300 = this.aShort9300;
         var1.aShort9365 = this.aShort9365;
         var1.aShort9314 = this.aShort9314;
         var1.aShort9360 = this.aShort9360;
      }

      var1.anInt9313 = this.anInt9313;
      var1.anInt9324 = this.anInt9324;
      var1.anInt9315 = this.anInt9315;
      var1.anInt9316 = this.anInt9316;
      var1.anInt9353 = this.anInt9353;
      var1.anInt9354 = this.anInt9354;
      if((var3 & 256) != 0) {
         var1.aBool9367 = true;
      } else {
         var1.aBool9367 = this.aBool9367;
      }

      var1.aBool9368 = this.aBool9368;
      boolean var6 = (var3 & 7) == 7 | (var3 & 32) != 0;
      boolean var7 = var6 || (var3 & 1) != 0;
      boolean var8 = var6 || (var3 & 2) != 0;
      boolean var9 = var6 || (var3 & 4) != 0 || (var3 & 16) != 0;
      int var10;
      if(!var7 && !var8 && !var9) {
         var1.anIntArray9336 = this.anIntArray9336;
         var1.anIntArray9318 = this.anIntArray9318;
         var1.anIntArray9319 = this.anIntArray9319;
      } else {
         if(var7) {
            if(var2.anIntArray9336 != null && var2.anIntArray9336.length >= this.anInt9315) {
               var1.anIntArray9336 = var2.anIntArray9336;
            } else {
               var1.anIntArray9336 = var2.anIntArray9336 = new int[this.anInt9315];
            }

            for(var10 = 0; var10 < this.anInt9315; ++var10) {
               var1.anIntArray9336[var10] = this.anIntArray9336[var10];
            }
         } else {
            var1.anIntArray9336 = this.anIntArray9336;
         }

         if(var8) {
            if(var2.anIntArray9318 != null && var2.anIntArray9318.length >= this.anInt9315) {
               var1.anIntArray9318 = var2.anIntArray9318;
            } else {
               var1.anIntArray9318 = var2.anIntArray9318 = new int[this.anInt9315];
            }

            for(var10 = 0; var10 < this.anInt9315; ++var10) {
               var1.anIntArray9318[var10] = this.anIntArray9318[var10];
            }
         } else {
            var1.anIntArray9318 = this.anIntArray9318;
         }

         if(var9) {
            if(var2.anIntArray9319 != null && var2.anIntArray9319.length >= this.anInt9315) {
               var1.anIntArray9319 = var2.anIntArray9319;
            } else {
               var1.anIntArray9319 = var2.anIntArray9319 = new int[this.anInt9315];
            }

            for(var10 = 0; var10 < this.anInt9315; ++var10) {
               var1.anIntArray9319[var10] = this.anIntArray9319[var10];
            }
         } else {
            var1.anIntArray9319 = this.anIntArray9319;
         }
      }

      if((var3 & 540800) != 0) {
         if(var2.aShortArray9351 != null && var2.aShortArray9351.length >= this.anInt9353) {
            var1.aShortArray9351 = var2.aShortArray9351;
         } else {
            var10 = this.anInt9353;
            var1.aShortArray9351 = var2.aShortArray9351 = new short[var10];
         }

         for(var10 = 0; var10 < this.anInt9353; ++var10) {
            var1.aShortArray9351[var10] = this.aShortArray9351[var10];
         }
      } else {
         var1.aShortArray9351 = this.aShortArray9351;
      }

      if((var3 & 618520) != 0) {
         var1.anInt9380 = 0;
         var1.anIntArray9331 = null;
         var1.anIntArray9330 = null;
         var1.anIntArray9310 = null;
      } else if((var3 & 128) != 0) {
         if(var5) {
            this.method14746(false);
         }

         if(this.anIntArray9310 != null) {
            if(var2.anIntArray9310 != null && var2.anIntArray9310.length >= this.anInt9353) {
               var1.anIntArray9310 = var2.anIntArray9310;
               var1.anIntArray9330 = var2.anIntArray9330;
               var1.anIntArray9331 = var2.anIntArray9331;
            } else {
               var10 = this.anInt9353;
               var1.anIntArray9310 = var2.anIntArray9310 = new int[var10];
               var1.anIntArray9330 = var2.anIntArray9330 = new int[var10];
               var1.anIntArray9331 = var2.anIntArray9331 = new int[var10];
            }

            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               var1.anIntArray9310[var10] = this.anIntArray9310[var10];
               var1.anIntArray9330[var10] = this.anIntArray9330[var10];
               var1.anIntArray9331[var10] = this.anIntArray9331[var10];
            }
         }

         var1.anInt9380 = this.anInt9380;
      } else {
         if(var5) {
            this.method14746(false);
         }

         var1.anIntArray9310 = this.anIntArray9310;
         var1.anIntArray9330 = this.anIntArray9330;
         var1.anIntArray9331 = this.anIntArray9331;
         var1.anInt9380 = this.anInt9380;
      }

      if((var3 & 256) != 0) {
         if(var2.aByteArray9339 != null && var2.aByteArray9339.length >= this.anInt9353) {
            var1.aByteArray9339 = var2.aByteArray9339;
         } else {
            var10 = this.anInt9353;
            var1.aByteArray9339 = var2.aByteArray9339 = new byte[var10];
         }

         if(this.aByteArray9339 != null) {
            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               var1.aByteArray9339[var10] = this.aByteArray9339[var10];
            }
         } else {
            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               var1.aByteArray9339[var10] = 0;
            }
         }
      } else {
         var1.aByteArray9339 = this.aByteArray9339;
      }

      if((var3 & 8) == 0 && (var3 & 16) == 0) {
         if(var5) {
            this.method14757();
         }

         var1.aClass183Array9340 = this.aClass183Array9340;
         var1.aClass189Array9371 = this.aClass189Array9371;
      } else {
         if(var2.aClass183Array9340 != null && var2.aClass183Array9340.length >= this.anInt9316) {
            var1.aClass183Array9340 = var2.aClass183Array9340;
         } else {
            var10 = this.anInt9316;
            var1.aClass183Array9340 = var2.aClass183Array9340 = new Class183[var10];
         }

         if(this.aClass183Array9340 != null) {
            for(var10 = 0; var10 < this.anInt9316; ++var10) {
               var1.aClass183Array9340[var10] = new Class183(this.aClass183Array9340[var10]);
            }
         } else {
            var1.aClass183Array9340 = null;
         }

         if(this.aClass189Array9371 != null) {
            if(var2.aClass189Array9371 != null && var2.aClass189Array9371.length >= this.anInt9353) {
               var1.aClass189Array9371 = var2.aClass189Array9371;
            } else {
               var10 = this.anInt9353;
               var1.aClass189Array9371 = var2.aClass189Array9371 = new Class189[var10];
            }

            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               var1.aClass189Array9371[var10] = this.aClass189Array9371[var10] != null?new Class189(this.aClass189Array9371[var10]):null;
            }
         } else {
            var1.aClass189Array9371 = null;
         }
      }

      if((var3 & '\u8000') != 0) {
         if(this.aShortArray9374 == null) {
            var1.aShortArray9374 = null;
         } else {
            if(var2.aShortArray9374 != null && var2.aShortArray9374.length >= this.anInt9353) {
               var1.aShortArray9374 = var2.aShortArray9374;
            } else {
               var10 = this.anInt9353;
               var1.aShortArray9374 = var2.aShortArray9374 = new short[var10];
            }

            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               var1.aShortArray9374[var10] = this.aShortArray9374[var10];
            }
         }
      } else {
         var1.aShortArray9374 = this.aShortArray9374;
      }

      if((var3 & 65536) != 0) {
         if(this.aByteArray9326 == null) {
            var1.aByteArray9326 = null;
         } else {
            if(var2.aByteArray9326 != null && var2.aByteArray9326.length >= this.anInt9353) {
               var1.aByteArray9326 = var2.aByteArray9326;
            } else {
               var10 = var4?this.anInt9353 + 100:this.anInt9353;
               var1.aByteArray9326 = var2.aByteArray9326 = new byte[var10];
            }

            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               var1.aByteArray9326[var10] = this.aByteArray9326[var10];
            }
         }
      } else {
         var1.aByteArray9326 = this.aByteArray9326;
      }

      if((var3 & '\uc580') != 0) {
         if(var2.aClass187Array9356 != null && var2.aClass187Array9356.length >= this.anInt9354) {
            var1.aClass187Array9356 = var2.aClass187Array9356;

            for(var10 = 0; var10 < this.anInt9354; ++var10) {
               var1.aClass187Array9356[var10].method3276(this.aClass187Array9356[var10], -14237726);
            }
         } else {
            var10 = this.anInt9354;
            var1.aClass187Array9356 = var2.aClass187Array9356 = new Class187[var10];

            for(int var11 = 0; var11 < this.anInt9354; ++var11) {
               var1.aClass187Array9356[var11] = this.aClass187Array9356[var11].method3274((byte)-64);
            }
         }
      } else {
         var1.aClass187Array9356 = this.aClass187Array9356;
      }

      if(this.aFloatArrayArray9327 != null && (var3 & 16) != 0) {
         if(var2.aFloatArrayArray9327 != null && var2.aFloatArrayArray9327.length >= this.anInt9353) {
            var1.aFloatArrayArray9327 = var2.aFloatArrayArray9327;
         } else {
            var10 = var4?this.anInt9353 + 100:this.anInt9353;
            var1.aFloatArrayArray9327 = var2.aFloatArrayArray9327 = new float[var10][3];
         }

         for(var10 = 0; var10 < this.anInt9353; ++var10) {
            if(this.aFloatArrayArray9327[var10] != null) {
               var1.aFloatArrayArray9327[var10][0] = this.aFloatArrayArray9327[var10][0];
               var1.aFloatArrayArray9327[var10][1] = this.aFloatArrayArray9327[var10][1];
               var1.aFloatArrayArray9327[var10][2] = this.aFloatArrayArray9327[var10][2];
            }
         }

         if(var2.aFloatArrayArray9328 != null && var2.aFloatArrayArray9328.length >= this.anInt9353) {
            var1.aFloatArrayArray9328 = var2.aFloatArrayArray9328;
         } else {
            var10 = var4?this.anInt9353 + 100:this.anInt9353;
            var1.aFloatArrayArray9328 = var2.aFloatArrayArray9328 = new float[var10][3];
         }

         for(var10 = 0; var10 < this.anInt9353; ++var10) {
            if(this.aFloatArrayArray9328[var10] != null) {
               var1.aFloatArrayArray9328[var10][0] = this.aFloatArrayArray9328[var10][0];
               var1.aFloatArrayArray9328[var10][1] = this.aFloatArrayArray9328[var10][1];
               var1.aFloatArrayArray9328[var10][2] = this.aFloatArrayArray9328[var10][2];
            }
         }
      } else {
         var1.aFloatArrayArray9327 = this.aFloatArrayArray9327;
         var1.aFloatArrayArray9328 = this.aFloatArrayArray9328;
      }

      var1.anIntArrayArray9344 = this.anIntArrayArray9344;
      var1.anIntArrayArray9345 = this.anIntArrayArray9345;
      var1.anIntArrayArray9357 = this.anIntArrayArray9357;
      var1.aShortArray9320 = this.aShortArray9320;
      var1.aShortArray9342 = this.aShortArray9342;
      var1.aByteArray9338 = this.aByteArray9338;
      var1.aShortArray9372 = this.aShortArray9372;
      var1.aShortArray9325 = this.aShortArray9325;
      var1.aShortArray9309 = this.aShortArray9309;
      var1.aClass80Array9352 = this.aClass80Array9352;
      var1.aClass166Array9341 = this.aClass166Array9341;
      var1.aClass133Array9355 = this.aClass133Array9355;
      var1.aShortArray9312 = this.aShortArray9312;
      var1.anInt9335 = var3;
      return var1;
   }

   public int en() {
      if(!this.aBool9358) {
         this.method14765();
      }

      return this.aShort9314;
   }

   public void am(int var1) {
      if(this.aClass545_Sub3_9343.anInt9817 * -310738315 > 1) {
         synchronized(this) {
            if((this.anInt9335 & 65536) == 65536 && (var1 & 65536) == 0) {
               this.method14746(true);
            }

            this.anInt9335 = var1;
         }
      } else {
         if((this.anInt9335 & 65536) == 65536 && (var1 & 65536) == 0) {
            this.method14746(true);
         }

         this.anInt9335 = var1;
      }

   }

   public void ay(int var1) {
      if(this.aClass545_Sub3_9343.anInt9817 * -310738315 > 1) {
         synchronized(this) {
            if((this.anInt9335 & 65536) == 65536 && (var1 & 65536) == 0) {
               this.method14746(true);
            }

            this.anInt9335 = var1;
         }
      } else {
         if((this.anInt9335 & 65536) == 65536 && (var1 & 65536) == 0) {
            this.method14746(true);
         }

         this.anInt9335 = var1;
      }

   }

   public int ca() {
      if(!this.aBool9358) {
         this.method14765();
      }

      return this.aShort9360;
   }

   public void av(int var1) {
      if((this.anInt9335 & 5) != 5) {
         throw new IllegalStateException();
      } else if(var1 == 4096) {
         this.method14812();
      } else if(var1 == 8192) {
         this.method14798();
      } else if(var1 == 12288) {
         this.method14754();
      } else {
         int var2 = Class312.anIntArray3943[var1];
         int var3 = Class312.anIntArray3956[var1];
         synchronized(this) {
            for(int var5 = 0; var5 < this.anInt9315; ++var5) {
               int var6 = this.anIntArray9319[var5] * var2 + this.anIntArray9336[var5] * var3 >> 14;
               this.anIntArray9319[var5] = this.anIntArray9319[var5] * var3 - this.anIntArray9336[var5] * var2 >> 14;
               this.anIntArray9336[var5] = var6;
            }

            this.method14815();
         }
      }
   }

   public int dd() {
      return this.anInt9324;
   }

   public void by(int var1, int var2, Class400 var3, Class400 var4, int var5, int var6, int var7) {
      if(var1 == 3) {
         if((this.anInt9335 & 7) != 7) {
            throw new IllegalStateException();
         }
      } else if((this.anInt9335 & 2) != 2) {
         throw new IllegalStateException();
      }

      if(!this.aBool9358) {
         this.method14765();
      }

      int var8 = var5 + this.aShort9363;
      int var9 = var5 + this.aShort9364;
      int var10 = var7 + this.aShort9365;
      int var11 = var7 + this.aShort9366;
      if(var1 == 4 || var8 >= 0 && var9 + var3.anInt4910 * 2111724147 >> var3.anInt4909 * -1451148795 < var3.anInt4911 * 1724373523 && var10 >= 0 && var11 + var3.anInt4910 * 2111724147 >> var3.anInt4909 * -1451148795 < var3.anInt4908 * 1696648095) {
         int[][] var12 = var3.anIntArrayArray4912;
         int[][] var13 = (int[][])null;
         if(var4 != null) {
            var13 = var4.anIntArrayArray4912;
         }

         if(var1 != 4 && var1 != 5) {
            var8 >>= var3.anInt4909 * -1451148795;
            var9 = var9 + (var3.anInt4910 * 2111724147 - 1) >> var3.anInt4909 * -1451148795;
            var10 >>= var3.anInt4909 * -1451148795;
            var11 = var11 + (var3.anInt4910 * 2111724147 - 1) >> var3.anInt4909 * -1451148795;
            if(var12[var8][var10] == var6 && var12[var9][var10] == var6 && var12[var8][var11] == var6 && var12[var9][var11] == var6) {
               return;
            }
         } else {
            if(var4 == null) {
               return;
            }

            if(var8 < 0 || var9 + var4.anInt4910 * 2111724147 >> var4.anInt4909 * -1451148795 >= var4.anInt4911 * 1724373523 || var10 < 0 || var11 + var4.anInt4910 * 2111724147 >> var4.anInt4909 * -1451148795 >= var4.anInt4908 * 1696648095) {
               return;
            }
         }

         synchronized(this) {
            int var15;
            int var17;
            int var16;
            int var19;
            int var18;
            int var21;
            int var20;
            int var23;
            int var22;
            int var25;
            int var24;
            if(var1 == 1) {
               var15 = var3.anInt4910 * 2111724147 - 1;

               for(var16 = 0; var16 < this.anInt9316; ++var16) {
                  var17 = this.anIntArray9336[var16] + var5;
                  var18 = this.anIntArray9319[var16] + var7;
                  var19 = var17 & var15;
                  var20 = var18 & var15;
                  var21 = var17 >> var3.anInt4909 * -1451148795;
                  var22 = var18 >> var3.anInt4909 * -1451148795;
                  var23 = var12[var21][var22] * (var3.anInt4910 * 2111724147 - var19) + var12[var21 + 1][var22] * var19 >> var3.anInt4909 * -1451148795;
                  var24 = var12[var21][var22 + 1] * (var3.anInt4910 * 2111724147 - var19) + var12[var21 + 1][var22 + 1] * var19 >> var3.anInt4909 * -1451148795;
                  var25 = var23 * (var3.anInt4910 * 2111724147 - var20) + var24 * var20 >> var3.anInt4909 * -1451148795;
                  this.anIntArray9318[var16] = this.anIntArray9318[var16] + var25 - var6;
               }

               for(var16 = this.anInt9316; var16 < this.anInt9315; ++var16) {
                  var17 = this.anIntArray9336[var16] + var5;
                  var18 = this.anIntArray9319[var16] + var7;
                  var19 = var17 & var15;
                  var20 = var18 & var15;
                  var21 = var17 >> var3.anInt4909 * -1451148795;
                  var22 = var18 >> var3.anInt4909 * -1451148795;
                  if(var21 >= 0 && var21 < var12.length - 1 && var22 >= 0 && var22 < var12[0].length - 1) {
                     var23 = var12[var21][var22] * (var3.anInt4910 * 2111724147 - var19) + var12[var21 + 1][var22] * var19 >> var3.anInt4909 * -1451148795;
                     var24 = var12[var21][var22 + 1] * (var3.anInt4910 * 2111724147 - var19) + var12[var21 + 1][var22 + 1] * var19 >> var3.anInt4909 * -1451148795;
                     var25 = var23 * (var3.anInt4910 * 2111724147 - var20) + var24 * var20 >> var3.anInt4909 * -1451148795;
                     this.anIntArray9318[var16] = this.anIntArray9318[var16] + var25 - var6;
                  }
               }
            } else {
               int var26;
               if(var1 == 2) {
                  if(this.aShort9300 == 0) {
                     return;
                  }

                  var15 = var3.anInt4910 * 2111724147 - 1;

                  for(var16 = 0; var16 < this.anInt9316; ++var16) {
                     var17 = (this.anIntArray9318[var16] << 16) / this.aShort9300;
                     if(var17 < var2) {
                        var18 = this.anIntArray9336[var16] + var5;
                        var19 = this.anIntArray9319[var16] + var7;
                        var20 = var18 & var15;
                        var21 = var19 & var15;
                        var22 = var18 >> var3.anInt4909 * -1451148795;
                        var23 = var19 >> var3.anInt4909 * -1451148795;
                        var24 = var12[var22][var23] * (var3.anInt4910 * 2111724147 - var20) + var12[var22 + 1][var23] * var20 >> var3.anInt4909 * -1451148795;
                        var25 = var12[var22][var23 + 1] * (var3.anInt4910 * 2111724147 - var20) + var12[var22 + 1][var23 + 1] * var20 >> var3.anInt4909 * -1451148795;
                        var26 = var24 * (var3.anInt4910 * 2111724147 - var21) + var25 * var21 >> var3.anInt4909 * -1451148795;
                        this.anIntArray9318[var16] += (var26 - var6) * (var2 - var17) / var2;
                     } else {
                        this.anIntArray9318[var16] = this.anIntArray9318[var16];
                     }
                  }

                  for(var16 = this.anInt9316; var16 < this.anInt9315; ++var16) {
                     var17 = (this.anIntArray9318[var16] << 16) / this.aShort9300;
                     if(var17 < var2) {
                        var18 = this.anIntArray9336[var16] + var5;
                        var19 = this.anIntArray9319[var16] + var7;
                        var20 = var18 & var15;
                        var21 = var19 & var15;
                        var22 = var18 >> var3.anInt4909 * -1451148795;
                        var23 = var19 >> var3.anInt4909 * -1451148795;
                        if(var22 >= 0 && var22 < var3.anInt4911 * 1724373523 - 1 && var23 >= 0 && var23 < var3.anInt4908 * 1696648095 - 1) {
                           var24 = var12[var22][var23] * (var3.anInt4910 * 2111724147 - var20) + var12[var22 + 1][var23] * var20 >> var3.anInt4909 * -1451148795;
                           var25 = var12[var22][var23 + 1] * (var3.anInt4910 * 2111724147 - var20) + var12[var22 + 1][var23 + 1] * var20 >> var3.anInt4909 * -1451148795;
                           var26 = var24 * (var3.anInt4910 * 2111724147 - var21) + var25 * var21 >> var3.anInt4909 * -1451148795;
                           this.anIntArray9318[var16] += (var26 - var6) * (var2 - var17) / var2;
                        }
                     } else {
                        this.anIntArray9318[var16] = this.anIntArray9318[var16];
                     }
                  }
               } else if(var1 == 3) {
                  var15 = (var2 & 255) * 4;
                  var16 = (var2 >> 8 & 255) * 4;
                  var17 = (var2 >> 16 & 255) << 6;
                  var18 = (var2 >> 24 & 255) << 6;
                  if(var5 - (var15 >> 1) < 0 || var5 + (var15 >> 1) + var3.anInt4910 * 2111724147 >= var3.anInt4911 * 1724373523 << var3.anInt4909 * -1451148795 || var7 - (var16 >> 1) < 0 || var7 + (var16 >> 1) + var3.anInt4910 * 2111724147 >= var3.anInt4908 * 1696648095 << var3.anInt4909 * -1451148795) {
                     return;
                  }

                  this.method12121(var3, var5, var6, var7, var15, var16, var17, var18);
               } else if(var1 == 4) {
                  var15 = var4.anInt4910 * 2111724147 - 1;
                  var16 = this.aShort9362 - this.aShort9300;

                  for(var17 = 0; var17 < this.anInt9316; ++var17) {
                     var18 = this.anIntArray9336[var17] + var5;
                     var19 = this.anIntArray9319[var17] + var7;
                     var20 = var18 & var15;
                     var21 = var19 & var15;
                     var22 = var18 >> var4.anInt4909 * -1451148795;
                     var23 = var19 >> var4.anInt4909 * -1451148795;
                     var24 = var13[var22][var23] * (var4.anInt4910 * 2111724147 - var20) + var13[var22 + 1][var23] * var20 >> var4.anInt4909 * -1451148795;
                     var25 = var13[var22][var23 + 1] * (var4.anInt4910 * 2111724147 - var20) + var13[var22 + 1][var23 + 1] * var20 >> var4.anInt4909 * -1451148795;
                     var26 = var24 * (var4.anInt4910 * 2111724147 - var21) + var25 * var21 >> var4.anInt4909 * -1451148795;
                     this.anIntArray9318[var17] = this.anIntArray9318[var17] + (var26 - var6) + var16;
                  }

                  for(var17 = this.anInt9316; var17 < this.anInt9315; ++var17) {
                     var18 = this.anIntArray9336[var17] + var5;
                     var19 = this.anIntArray9319[var17] + var7;
                     var20 = var18 & var15;
                     var21 = var19 & var15;
                     var22 = var18 >> var4.anInt4909 * -1451148795;
                     var23 = var19 >> var4.anInt4909 * -1451148795;
                     if(var22 >= 0 && var22 < var4.anInt4911 * 1724373523 - 1 && var23 >= 0 && var23 < var4.anInt4908 * 1696648095 - 1) {
                        var24 = var13[var22][var23] * (var4.anInt4910 * 2111724147 - var20) + var13[var22 + 1][var23] * var20 >> var4.anInt4909 * -1451148795;
                        var25 = var13[var22][var23 + 1] * (var4.anInt4910 * 2111724147 - var20) + var13[var22 + 1][var23 + 1] * var20 >> var4.anInt4909 * -1451148795;
                        var26 = var24 * (var4.anInt4910 * 2111724147 - var21) + var25 * var21 >> var4.anInt4909 * -1451148795;
                        this.anIntArray9318[var17] = this.anIntArray9318[var17] + (var26 - var6) + var16;
                     }
                  }
               } else if(var1 == 5) {
                  var15 = var4.anInt4910 * 2111724147 - 1;
                  var16 = this.aShort9362 - this.aShort9300;

                  int var27;
                  int var28;
                  for(var17 = 0; var17 < this.anInt9316; ++var17) {
                     var18 = this.anIntArray9336[var17] + var5;
                     var19 = this.anIntArray9319[var17] + var7;
                     var20 = var18 & var15;
                     var21 = var19 & var15;
                     var22 = var18 >> var3.anInt4909 * -1451148795;
                     var23 = var19 >> var3.anInt4909 * -1451148795;
                     var24 = var12[var22][var23] * (var3.anInt4910 * 2111724147 - var20) + var12[var22 + 1][var23] * var20 >> var3.anInt4909 * -1451148795;
                     var25 = var12[var22][var23 + 1] * (var3.anInt4910 * 2111724147 - var20) + var12[var22 + 1][var23 + 1] * var20 >> var3.anInt4909 * -1451148795;
                     var26 = var24 * (var3.anInt4910 * 2111724147 - var21) + var25 * var21 >> var3.anInt4909 * -1451148795;
                     var24 = var13[var22][var23] * (var4.anInt4910 * 2111724147 - var20) + var13[var22 + 1][var23] * var20 >> var4.anInt4909 * -1451148795;
                     var25 = var13[var22][var23 + 1] * (var4.anInt4910 * 2111724147 - var20) + var13[var22 + 1][var23 + 1] * var20 >> var4.anInt4909 * -1451148795;
                     var27 = var24 * (var4.anInt4910 * 2111724147 - var21) + var25 * var21 >> var4.anInt4909 * -1451148795;
                     var28 = var26 - var27 - var2;
                     this.anIntArray9318[var17] = ((this.anIntArray9318[var17] << 8) / var16 * var28 >> 8) - (var6 - var26);
                  }

                  for(var17 = this.anInt9316; var17 < this.anInt9315; ++var17) {
                     var18 = this.anIntArray9336[var17] + var5;
                     var19 = this.anIntArray9319[var17] + var7;
                     var20 = var18 & var15;
                     var21 = var19 & var15;
                     var22 = var18 >> var3.anInt4909 * -1451148795;
                     var23 = var19 >> var3.anInt4909 * -1451148795;
                     if(var22 >= 0 && var22 < var3.anInt4911 * 1724373523 - 1 && var22 < var4.anInt4911 * 1724373523 - 1 && var23 >= 0 && var23 < var3.anInt4908 * 1696648095 - 1 && var23 < var4.anInt4908 * 1696648095 - 1) {
                        var24 = var12[var22][var23] * (var3.anInt4910 * 2111724147 - var20) + var12[var22 + 1][var23] * var20 >> var3.anInt4909 * -1451148795;
                        var25 = var12[var22][var23 + 1] * (var3.anInt4910 * 2111724147 - var20) + var12[var22 + 1][var23 + 1] * var20 >> var3.anInt4909 * -1451148795;
                        var26 = var24 * (var3.anInt4910 * 2111724147 - var21) + var25 * var21 >> var3.anInt4909 * -1451148795;
                        var24 = var13[var22][var23] * (var4.anInt4910 * 2111724147 - var20) + var13[var22 + 1][var23] * var20 >> var4.anInt4909 * -1451148795;
                        var25 = var13[var22][var23 + 1] * (var4.anInt4910 * 2111724147 - var20) + var13[var22 + 1][var23 + 1] * var20 >> var4.anInt4909 * -1451148795;
                        var27 = var24 * (var4.anInt4910 * 2111724147 - var21) + var25 * var21 >> var4.anInt4909 * -1451148795;
                        var28 = var26 - var27 - var2;
                        this.anIntArray9318[var17] = ((this.anIntArray9318[var17] << 8) / var16 * var28 >> 8) - (var6 - var26);
                     }
                  }
               }
            }

            this.aBool9358 = false;
         }
      }
   }

   void method14785() {
      synchronized(this) {
         for(int var2 = 0; var2 < this.anInt9315; ++var2) {
            int var3 = this.anIntArray9336[var2];
            this.anIntArray9336[var2] = this.anIntArray9319[var2];
            this.anIntArray9319[var2] = -var3;
         }

         this.method14815();
      }
   }

   void method14786() {
      synchronized(this) {
         for(int var2 = 0; var2 < this.anInt9315; ++var2) {
            this.anIntArray9336[var2] = -this.anIntArray9336[var2];
            this.anIntArray9319[var2] = -this.anIntArray9319[var2];
         }

         this.method14815();
      }
   }

   public byte[] da() {
      return this.aByteArray9339;
   }

   void method14787() {
      synchronized(this) {
         for(int var2 = 0; var2 < this.anInt9315; ++var2) {
            this.anIntArray9336[var2] = -this.anIntArray9336[var2];
            this.anIntArray9319[var2] = -this.anIntArray9319[var2];
         }

         this.method14815();
      }
   }

   void method14788() {
      synchronized(this) {
         for(int var2 = 0; var2 < this.anInt9315; ++var2) {
            int var3 = this.anIntArray9319[var2];
            this.anIntArray9319[var2] = this.anIntArray9336[var2];
            this.anIntArray9336[var2] = -var3;
         }

         this.method14815();
      }
   }

   void method14789() {
      synchronized(this) {
         for(int var2 = 0; var2 < this.anInt9315; ++var2) {
            int var3 = this.anIntArray9319[var2];
            this.anIntArray9319[var2] = this.anIntArray9336[var2];
            this.anIntArray9336[var2] = -var3;
         }

         this.method14815();
      }
   }

   void method14790() {
      synchronized(this) {
         for(int var2 = 0; var2 < this.anInt9315; ++var2) {
            int var3 = this.anIntArray9319[var2];
            this.anIntArray9319[var2] = this.anIntArray9336[var2];
            this.anIntArray9336[var2] = -var3;
         }

         this.method14815();
      }
   }

   void method14791() {
      synchronized(this) {
         int var2;
         int var3;
         for(var2 = 0; var2 < this.anInt9316; ++var2) {
            var3 = this.anIntArray9336[var2];
            this.anIntArray9336[var2] = this.anIntArray9319[var2];
            this.anIntArray9319[var2] = -var3;
            if(this.aClass183Array9340[var2] != null) {
               var3 = this.aClass183Array9340[var2].anInt2200;
               this.aClass183Array9340[var2].anInt2200 = this.aClass183Array9340[var2].anInt2202;
               this.aClass183Array9340[var2].anInt2202 = -var3;
            }
         }

         if(this.aClass189Array9371 != null) {
            for(var2 = 0; var2 < this.anInt9353; ++var2) {
               if(this.aClass189Array9371[var2] != null) {
                  var3 = this.aClass189Array9371[var2].anInt2269;
                  this.aClass189Array9371[var2].anInt2269 = this.aClass189Array9371[var2].anInt2271;
                  this.aClass189Array9371[var2].anInt2271 = -var3;
               }
            }
         }

         for(var2 = this.anInt9316; var2 < this.anInt9315; ++var2) {
            var3 = this.anIntArray9336[var2];
            this.anIntArray9336[var2] = this.anIntArray9319[var2];
            this.anIntArray9319[var2] = -var3;
         }

         this.anInt9380 = 0;
         this.aBool9358 = false;
      }
   }

   void method14792() {
      synchronized(this) {
         int var2;
         int var3;
         for(var2 = 0; var2 < this.anInt9316; ++var2) {
            var3 = this.anIntArray9336[var2];
            this.anIntArray9336[var2] = this.anIntArray9319[var2];
            this.anIntArray9319[var2] = -var3;
            if(this.aClass183Array9340[var2] != null) {
               var3 = this.aClass183Array9340[var2].anInt2200;
               this.aClass183Array9340[var2].anInt2200 = this.aClass183Array9340[var2].anInt2202;
               this.aClass183Array9340[var2].anInt2202 = -var3;
            }
         }

         if(this.aClass189Array9371 != null) {
            for(var2 = 0; var2 < this.anInt9353; ++var2) {
               if(this.aClass189Array9371[var2] != null) {
                  var3 = this.aClass189Array9371[var2].anInt2269;
                  this.aClass189Array9371[var2].anInt2269 = this.aClass189Array9371[var2].anInt2271;
                  this.aClass189Array9371[var2].anInt2271 = -var3;
               }
            }
         }

         for(var2 = this.anInt9316; var2 < this.anInt9315; ++var2) {
            var3 = this.anIntArray9336[var2];
            this.anIntArray9336[var2] = this.anIntArray9319[var2];
            this.anIntArray9319[var2] = -var3;
         }

         this.anInt9380 = 0;
         this.aBool9358 = false;
      }
   }

   void method14793() {
      synchronized(this) {
         int var2;
         for(var2 = 0; var2 < this.anInt9316; ++var2) {
            this.anIntArray9336[var2] = -this.anIntArray9336[var2];
            this.anIntArray9319[var2] = -this.anIntArray9319[var2];
            if(this.aClass183Array9340[var2] != null) {
               this.aClass183Array9340[var2].anInt2200 = -this.aClass183Array9340[var2].anInt2200;
               this.aClass183Array9340[var2].anInt2202 = -this.aClass183Array9340[var2].anInt2202;
            }
         }

         if(this.aClass189Array9371 != null) {
            for(var2 = 0; var2 < this.anInt9353; ++var2) {
               if(this.aClass189Array9371[var2] != null) {
                  this.aClass189Array9371[var2].anInt2269 = -this.aClass189Array9371[var2].anInt2269;
                  this.aClass189Array9371[var2].anInt2271 = -this.aClass189Array9371[var2].anInt2271;
               }
            }
         }

         for(var2 = this.anInt9316; var2 < this.anInt9315; ++var2) {
            this.anIntArray9336[var2] = -this.anIntArray9336[var2];
            this.anIntArray9319[var2] = -this.anIntArray9319[var2];
         }

         this.anInt9380 = 0;
         this.aBool9358 = false;
      }
   }

   void method14794() {
      synchronized(this) {
         int var2;
         for(var2 = 0; var2 < this.anInt9316; ++var2) {
            this.anIntArray9336[var2] = -this.anIntArray9336[var2];
            this.anIntArray9319[var2] = -this.anIntArray9319[var2];
            if(this.aClass183Array9340[var2] != null) {
               this.aClass183Array9340[var2].anInt2200 = -this.aClass183Array9340[var2].anInt2200;
               this.aClass183Array9340[var2].anInt2202 = -this.aClass183Array9340[var2].anInt2202;
            }
         }

         if(this.aClass189Array9371 != null) {
            for(var2 = 0; var2 < this.anInt9353; ++var2) {
               if(this.aClass189Array9371[var2] != null) {
                  this.aClass189Array9371[var2].anInt2269 = -this.aClass189Array9371[var2].anInt2269;
                  this.aClass189Array9371[var2].anInt2271 = -this.aClass189Array9371[var2].anInt2271;
               }
            }
         }

         for(var2 = this.anInt9316; var2 < this.anInt9315; ++var2) {
            this.anIntArray9336[var2] = -this.anIntArray9336[var2];
            this.anIntArray9319[var2] = -this.anIntArray9319[var2];
         }

         this.anInt9380 = 0;
         this.aBool9358 = false;
      }
   }

   void method14795() {
      synchronized(this) {
         int var2;
         int var3;
         for(var2 = 0; var2 < this.anInt9316; ++var2) {
            var3 = this.anIntArray9319[var2];
            this.anIntArray9319[var2] = this.anIntArray9336[var2];
            this.anIntArray9336[var2] = -var3;
            if(this.aClass183Array9340[var2] != null) {
               var3 = this.aClass183Array9340[var2].anInt2202;
               this.aClass183Array9340[var2].anInt2202 = this.aClass183Array9340[var2].anInt2200;
               this.aClass183Array9340[var2].anInt2200 = -var3;
            }
         }

         if(this.aClass189Array9371 != null) {
            for(var2 = 0; var2 < this.anInt9353; ++var2) {
               if(this.aClass189Array9371[var2] != null) {
                  var3 = this.aClass189Array9371[var2].anInt2271;
                  this.aClass189Array9371[var2].anInt2271 = this.aClass189Array9371[var2].anInt2269;
                  this.aClass189Array9371[var2].anInt2269 = -var3;
               }
            }
         }

         for(var2 = this.anInt9316; var2 < this.anInt9315; ++var2) {
            var3 = this.anIntArray9319[var2];
            this.anIntArray9319[var2] = this.anIntArray9336[var2];
            this.anIntArray9336[var2] = -var3;
         }

         this.anInt9380 = 0;
         this.aBool9358 = false;
      }
   }

   void method14796() {
      synchronized(this) {
         int var2;
         int var3;
         for(var2 = 0; var2 < this.anInt9316; ++var2) {
            var3 = this.anIntArray9319[var2];
            this.anIntArray9319[var2] = this.anIntArray9336[var2];
            this.anIntArray9336[var2] = -var3;
            if(this.aClass183Array9340[var2] != null) {
               var3 = this.aClass183Array9340[var2].anInt2202;
               this.aClass183Array9340[var2].anInt2202 = this.aClass183Array9340[var2].anInt2200;
               this.aClass183Array9340[var2].anInt2200 = -var3;
            }
         }

         if(this.aClass189Array9371 != null) {
            for(var2 = 0; var2 < this.anInt9353; ++var2) {
               if(this.aClass189Array9371[var2] != null) {
                  var3 = this.aClass189Array9371[var2].anInt2271;
                  this.aClass189Array9371[var2].anInt2271 = this.aClass189Array9371[var2].anInt2269;
                  this.aClass189Array9371[var2].anInt2269 = -var3;
               }
            }
         }

         for(var2 = this.anInt9316; var2 < this.anInt9315; ++var2) {
            var3 = this.anIntArray9319[var2];
            this.anIntArray9319[var2] = this.anIntArray9336[var2];
            this.anIntArray9336[var2] = -var3;
         }

         this.anInt9380 = 0;
         this.aBool9358 = false;
      }
   }

   void method14797() {
      synchronized(this) {
         int var2;
         int var3;
         for(var2 = 0; var2 < this.anInt9316; ++var2) {
            var3 = this.anIntArray9319[var2];
            this.anIntArray9319[var2] = this.anIntArray9336[var2];
            this.anIntArray9336[var2] = -var3;
            if(this.aClass183Array9340[var2] != null) {
               var3 = this.aClass183Array9340[var2].anInt2202;
               this.aClass183Array9340[var2].anInt2202 = this.aClass183Array9340[var2].anInt2200;
               this.aClass183Array9340[var2].anInt2200 = -var3;
            }
         }

         if(this.aClass189Array9371 != null) {
            for(var2 = 0; var2 < this.anInt9353; ++var2) {
               if(this.aClass189Array9371[var2] != null) {
                  var3 = this.aClass189Array9371[var2].anInt2271;
                  this.aClass189Array9371[var2].anInt2271 = this.aClass189Array9371[var2].anInt2269;
                  this.aClass189Array9371[var2].anInt2269 = -var3;
               }
            }
         }

         for(var2 = this.anInt9316; var2 < this.anInt9315; ++var2) {
            var3 = this.anIntArray9319[var2];
            this.anIntArray9319[var2] = this.anIntArray9336[var2];
            this.anIntArray9336[var2] = -var3;
         }

         this.anInt9380 = 0;
         this.aBool9358 = false;
      }
   }

   void method14798() {
      synchronized(this) {
         for(int var2 = 0; var2 < this.anInt9315; ++var2) {
            this.anIntArray9336[var2] = -this.anIntArray9336[var2];
            this.anIntArray9319[var2] = -this.anIntArray9319[var2];
         }

         this.method14815();
      }
   }

   void method14799() {
      synchronized(this) {
         int var2;
         int var3;
         for(var2 = 0; var2 < this.anInt9316; ++var2) {
            var3 = this.anIntArray9319[var2];
            this.anIntArray9319[var2] = this.anIntArray9336[var2];
            this.anIntArray9336[var2] = -var3;
            if(this.aClass183Array9340[var2] != null) {
               var3 = this.aClass183Array9340[var2].anInt2202;
               this.aClass183Array9340[var2].anInt2202 = this.aClass183Array9340[var2].anInt2200;
               this.aClass183Array9340[var2].anInt2200 = -var3;
            }
         }

         if(this.aClass189Array9371 != null) {
            for(var2 = 0; var2 < this.anInt9353; ++var2) {
               if(this.aClass189Array9371[var2] != null) {
                  var3 = this.aClass189Array9371[var2].anInt2271;
                  this.aClass189Array9371[var2].anInt2271 = this.aClass189Array9371[var2].anInt2269;
                  this.aClass189Array9371[var2].anInt2269 = -var3;
               }
            }
         }

         for(var2 = this.anInt9316; var2 < this.anInt9315; ++var2) {
            var3 = this.anIntArray9319[var2];
            this.anIntArray9319[var2] = this.anIntArray9336[var2];
            this.anIntArray9336[var2] = -var3;
         }

         this.anInt9380 = 0;
         this.aBool9358 = false;
      }
   }

   public void br(int var1) {
      if((this.anInt9335 & 6) != 6) {
         throw new IllegalStateException();
      } else {
         int var2 = Class312.anIntArray3943[var1];
         int var3 = Class312.anIntArray3956[var1];
         synchronized(this) {
            for(int var5 = 0; var5 < this.anInt9315; ++var5) {
               int var6 = this.anIntArray9318[var5] * var3 - this.anIntArray9319[var5] * var2 >> 14;
               this.anIntArray9319[var5] = this.anIntArray9318[var5] * var2 + this.anIntArray9319[var5] * var3 >> 14;
               this.anIntArray9318[var5] = var6;
            }

            this.method14815();
         }
      }
   }

   public void bq(int var1) {
      if((this.anInt9335 & 6) != 6) {
         throw new IllegalStateException();
      } else {
         int var2 = Class312.anIntArray3943[var1];
         int var3 = Class312.anIntArray3956[var1];
         synchronized(this) {
            for(int var5 = 0; var5 < this.anInt9315; ++var5) {
               int var6 = this.anIntArray9318[var5] * var3 - this.anIntArray9319[var5] * var2 >> 14;
               this.anIntArray9319[var5] = this.anIntArray9318[var5] * var2 + this.anIntArray9319[var5] * var3 >> 14;
               this.anIntArray9318[var5] = var6;
            }

            this.method14815();
         }
      }
   }

   public void bg(int var1) {
      if((this.anInt9335 & 3) != 3) {
         throw new IllegalStateException();
      } else {
         int var2 = Class312.anIntArray3943[var1];
         int var3 = Class312.anIntArray3956[var1];
         synchronized(this) {
            for(int var5 = 0; var5 < this.anInt9315; ++var5) {
               int var6 = this.anIntArray9318[var5] * var2 + this.anIntArray9336[var5] * var3 >> 14;
               this.anIntArray9318[var5] = this.anIntArray9318[var5] * var3 - this.anIntArray9336[var5] * var2 >> 14;
               this.anIntArray9336[var5] = var6;
            }

            this.method14815();
         }
      }
   }

   void method14800() {
      for(int var1 = 0; var1 < this.anInt9353; ++var1) {
         short var2 = this.aShortArray9374 != null?this.aShortArray9374[var1]:-1;
         if(var2 == -1) {
            int var3 = this.aShortArray9351[var1] & '\uffff';
            int var4 = (var3 & 127) * this.anInt9313 >> 7;
            short var6 = Class166.method2855(var3 & -128 | var4, -2066609386);
            int var5;
            if(this.anIntArray9331[var1] == -1) {
               var5 = this.anIntArray9310[var1] & -131072;
               this.anIntArray9310[var1] = var5 | Class576.method12223(var6, var5 >> 17, 431922138);
            } else if(this.anIntArray9331[var1] != -2) {
               var5 = this.anIntArray9310[var1] & -131072;
               this.anIntArray9310[var1] = var5 | Class576.method12223(var6, var5 >> 17, 431922138);
               var5 = this.anIntArray9330[var1] & -131072;
               this.anIntArray9330[var1] = var5 | Class576.method12223(var6, var5 >> 17, 431922138);
               var5 = this.anIntArray9331[var1] & -131072;
               this.anIntArray9331[var1] = var5 | Class576.method12223(var6, var5 >> 17, 431922138);
            }
         }
      }

      this.anInt9380 = 2;
   }

   public void bw(int var1) {
      if((this.anInt9335 & 3) != 3) {
         throw new IllegalStateException();
      } else {
         int var2 = Class312.anIntArray3943[var1];
         int var3 = Class312.anIntArray3956[var1];
         synchronized(this) {
            for(int var5 = 0; var5 < this.anInt9315; ++var5) {
               int var6 = this.anIntArray9318[var5] * var2 + this.anIntArray9336[var5] * var3 >> 14;
               this.anIntArray9318[var5] = this.anIntArray9318[var5] * var3 - this.anIntArray9336[var5] * var2 >> 14;
               this.anIntArray9336[var5] = var6;
            }

            this.method14815();
         }
      }
   }

   public void bf(int var1) {
      if((this.anInt9335 & 3) != 3) {
         throw new IllegalStateException();
      } else {
         int var2 = Class312.anIntArray3943[var1];
         int var3 = Class312.anIntArray3956[var1];
         synchronized(this) {
            for(int var5 = 0; var5 < this.anInt9315; ++var5) {
               int var6 = this.anIntArray9318[var5] * var2 + this.anIntArray9336[var5] * var3 >> 14;
               this.anIntArray9318[var5] = this.anIntArray9318[var5] * var3 - this.anIntArray9336[var5] * var2 >> 14;
               this.anIntArray9336[var5] = var6;
            }

            this.method14815();
         }
      }
   }

   public void bz(int var1, int var2, int var3) {
      if(var1 != 0 && (this.anInt9335 & 1) != 1) {
         throw new IllegalStateException();
      } else if(var2 != 0 && (this.anInt9335 & 2) != 2) {
         throw new IllegalStateException();
      } else if(var3 != 0 && (this.anInt9335 & 4) != 4) {
         throw new IllegalStateException();
      } else {
         synchronized(this) {
            for(int var5 = 0; var5 < this.anInt9315; ++var5) {
               this.anIntArray9336[var5] += var1;
               this.anIntArray9318[var5] += var2;
               this.anIntArray9319[var5] += var3;
            }

         }
      }
   }

   public void ds(int var1) {
      if((this.anInt9335 & 8192) != 8192) {
         throw new IllegalStateException();
      } else {
         this.anInt9324 = var1;
         this.anInt9380 = 0;
      }
   }

   public void method12106(Class328 var1, int var2, boolean var3) {
      if(this.aShortArray9320 != null) {
         Class174 var4 = this.aClass545_Sub3_9343.method15346(Thread.currentThread());
         Class328 var5 = var4.aClass328_2111;
         var5.method5991(var1);
         if(var3) {
            var5.method5996();
         }

         Class317 var6 = var4.aClass317_2100;
         var6.method5613(var5);
         float[] var7 = new float[3];

         for(int var8 = 0; var8 < this.anInt9316; ++var8) {
            if((var2 & this.aShortArray9320[var8]) != 0) {
               var6.method5618((float)this.anIntArray9336[var8], (float)this.anIntArray9318[var8], (float)this.anIntArray9319[var8], var7);
               this.anIntArray9336[var8] = (int)var7[0];
               this.anIntArray9318[var8] = (int)var7[1];
               this.anIntArray9319[var8] = (int)var7[2];
            }
         }

      }
   }

   public void bb(int var1, int var2, int var3) {
      if(var1 != 128 && (this.anInt9335 & 1) != 1) {
         throw new IllegalStateException();
      } else if(var2 != 128 && (this.anInt9335 & 2) != 2) {
         throw new IllegalStateException();
      } else if(var3 != 128 && (this.anInt9335 & 4) != 4) {
         throw new IllegalStateException();
      } else {
         synchronized(this) {
            for(int var5 = 0; var5 < this.anInt9315; ++var5) {
               this.anIntArray9336[var5] = this.anIntArray9336[var5] * var1 >> 7;
               this.anIntArray9318[var5] = this.anIntArray9318[var5] * var2 >> 7;
               this.anIntArray9319[var5] = this.anIntArray9319[var5] * var3 >> 7;
            }

            this.aBool9358 = false;
         }
      }
   }

   public void method12091(Class328 var1, Class89 var2, int var3) {
      this.method14759(var1, var2, var3);
   }

   public void bu(int var1, int var2, Class400 var3, Class400 var4, int var5, int var6, int var7) {
      if(var1 == 3) {
         if((this.anInt9335 & 7) != 7) {
            throw new IllegalStateException();
         }
      } else if((this.anInt9335 & 2) != 2) {
         throw new IllegalStateException();
      }

      if(!this.aBool9358) {
         this.method14765();
      }

      int var8 = var5 + this.aShort9363;
      int var9 = var5 + this.aShort9364;
      int var10 = var7 + this.aShort9365;
      int var11 = var7 + this.aShort9366;
      if(var1 == 4 || var8 >= 0 && var9 + var3.anInt4910 * 2111724147 >> var3.anInt4909 * -1451148795 < var3.anInt4911 * 1724373523 && var10 >= 0 && var11 + var3.anInt4910 * 2111724147 >> var3.anInt4909 * -1451148795 < var3.anInt4908 * 1696648095) {
         int[][] var12 = var3.anIntArrayArray4912;
         int[][] var13 = (int[][])null;
         if(var4 != null) {
            var13 = var4.anIntArrayArray4912;
         }

         if(var1 != 4 && var1 != 5) {
            var8 >>= var3.anInt4909 * -1451148795;
            var9 = var9 + (var3.anInt4910 * 2111724147 - 1) >> var3.anInt4909 * -1451148795;
            var10 >>= var3.anInt4909 * -1451148795;
            var11 = var11 + (var3.anInt4910 * 2111724147 - 1) >> var3.anInt4909 * -1451148795;
            if(var12[var8][var10] == var6 && var12[var9][var10] == var6 && var12[var8][var11] == var6 && var12[var9][var11] == var6) {
               return;
            }
         } else {
            if(var4 == null) {
               return;
            }

            if(var8 < 0 || var9 + var4.anInt4910 * 2111724147 >> var4.anInt4909 * -1451148795 >= var4.anInt4911 * 1724373523 || var10 < 0 || var11 + var4.anInt4910 * 2111724147 >> var4.anInt4909 * -1451148795 >= var4.anInt4908 * 1696648095) {
               return;
            }
         }

         synchronized(this) {
            int var15;
            int var17;
            int var16;
            int var19;
            int var18;
            int var21;
            int var20;
            int var23;
            int var22;
            int var25;
            int var24;
            if(var1 == 1) {
               var15 = var3.anInt4910 * 2111724147 - 1;

               for(var16 = 0; var16 < this.anInt9316; ++var16) {
                  var17 = this.anIntArray9336[var16] + var5;
                  var18 = this.anIntArray9319[var16] + var7;
                  var19 = var17 & var15;
                  var20 = var18 & var15;
                  var21 = var17 >> var3.anInt4909 * -1451148795;
                  var22 = var18 >> var3.anInt4909 * -1451148795;
                  var23 = var12[var21][var22] * (var3.anInt4910 * 2111724147 - var19) + var12[var21 + 1][var22] * var19 >> var3.anInt4909 * -1451148795;
                  var24 = var12[var21][var22 + 1] * (var3.anInt4910 * 2111724147 - var19) + var12[var21 + 1][var22 + 1] * var19 >> var3.anInt4909 * -1451148795;
                  var25 = var23 * (var3.anInt4910 * 2111724147 - var20) + var24 * var20 >> var3.anInt4909 * -1451148795;
                  this.anIntArray9318[var16] = this.anIntArray9318[var16] + var25 - var6;
               }

               for(var16 = this.anInt9316; var16 < this.anInt9315; ++var16) {
                  var17 = this.anIntArray9336[var16] + var5;
                  var18 = this.anIntArray9319[var16] + var7;
                  var19 = var17 & var15;
                  var20 = var18 & var15;
                  var21 = var17 >> var3.anInt4909 * -1451148795;
                  var22 = var18 >> var3.anInt4909 * -1451148795;
                  if(var21 >= 0 && var21 < var12.length - 1 && var22 >= 0 && var22 < var12[0].length - 1) {
                     var23 = var12[var21][var22] * (var3.anInt4910 * 2111724147 - var19) + var12[var21 + 1][var22] * var19 >> var3.anInt4909 * -1451148795;
                     var24 = var12[var21][var22 + 1] * (var3.anInt4910 * 2111724147 - var19) + var12[var21 + 1][var22 + 1] * var19 >> var3.anInt4909 * -1451148795;
                     var25 = var23 * (var3.anInt4910 * 2111724147 - var20) + var24 * var20 >> var3.anInt4909 * -1451148795;
                     this.anIntArray9318[var16] = this.anIntArray9318[var16] + var25 - var6;
                  }
               }
            } else {
               int var26;
               if(var1 == 2) {
                  if(this.aShort9300 == 0) {
                     return;
                  }

                  var15 = var3.anInt4910 * 2111724147 - 1;

                  for(var16 = 0; var16 < this.anInt9316; ++var16) {
                     var17 = (this.anIntArray9318[var16] << 16) / this.aShort9300;
                     if(var17 < var2) {
                        var18 = this.anIntArray9336[var16] + var5;
                        var19 = this.anIntArray9319[var16] + var7;
                        var20 = var18 & var15;
                        var21 = var19 & var15;
                        var22 = var18 >> var3.anInt4909 * -1451148795;
                        var23 = var19 >> var3.anInt4909 * -1451148795;
                        var24 = var12[var22][var23] * (var3.anInt4910 * 2111724147 - var20) + var12[var22 + 1][var23] * var20 >> var3.anInt4909 * -1451148795;
                        var25 = var12[var22][var23 + 1] * (var3.anInt4910 * 2111724147 - var20) + var12[var22 + 1][var23 + 1] * var20 >> var3.anInt4909 * -1451148795;
                        var26 = var24 * (var3.anInt4910 * 2111724147 - var21) + var25 * var21 >> var3.anInt4909 * -1451148795;
                        this.anIntArray9318[var16] += (var26 - var6) * (var2 - var17) / var2;
                     } else {
                        this.anIntArray9318[var16] = this.anIntArray9318[var16];
                     }
                  }

                  for(var16 = this.anInt9316; var16 < this.anInt9315; ++var16) {
                     var17 = (this.anIntArray9318[var16] << 16) / this.aShort9300;
                     if(var17 < var2) {
                        var18 = this.anIntArray9336[var16] + var5;
                        var19 = this.anIntArray9319[var16] + var7;
                        var20 = var18 & var15;
                        var21 = var19 & var15;
                        var22 = var18 >> var3.anInt4909 * -1451148795;
                        var23 = var19 >> var3.anInt4909 * -1451148795;
                        if(var22 >= 0 && var22 < var3.anInt4911 * 1724373523 - 1 && var23 >= 0 && var23 < var3.anInt4908 * 1696648095 - 1) {
                           var24 = var12[var22][var23] * (var3.anInt4910 * 2111724147 - var20) + var12[var22 + 1][var23] * var20 >> var3.anInt4909 * -1451148795;
                           var25 = var12[var22][var23 + 1] * (var3.anInt4910 * 2111724147 - var20) + var12[var22 + 1][var23 + 1] * var20 >> var3.anInt4909 * -1451148795;
                           var26 = var24 * (var3.anInt4910 * 2111724147 - var21) + var25 * var21 >> var3.anInt4909 * -1451148795;
                           this.anIntArray9318[var16] += (var26 - var6) * (var2 - var17) / var2;
                        }
                     } else {
                        this.anIntArray9318[var16] = this.anIntArray9318[var16];
                     }
                  }
               } else if(var1 == 3) {
                  var15 = (var2 & 255) * 4;
                  var16 = (var2 >> 8 & 255) * 4;
                  var17 = (var2 >> 16 & 255) << 6;
                  var18 = (var2 >> 24 & 255) << 6;
                  if(var5 - (var15 >> 1) < 0 || var5 + (var15 >> 1) + var3.anInt4910 * 2111724147 >= var3.anInt4911 * 1724373523 << var3.anInt4909 * -1451148795 || var7 - (var16 >> 1) < 0 || var7 + (var16 >> 1) + var3.anInt4910 * 2111724147 >= var3.anInt4908 * 1696648095 << var3.anInt4909 * -1451148795) {
                     return;
                  }

                  this.method12121(var3, var5, var6, var7, var15, var16, var17, var18);
               } else if(var1 == 4) {
                  var15 = var4.anInt4910 * 2111724147 - 1;
                  var16 = this.aShort9362 - this.aShort9300;

                  for(var17 = 0; var17 < this.anInt9316; ++var17) {
                     var18 = this.anIntArray9336[var17] + var5;
                     var19 = this.anIntArray9319[var17] + var7;
                     var20 = var18 & var15;
                     var21 = var19 & var15;
                     var22 = var18 >> var4.anInt4909 * -1451148795;
                     var23 = var19 >> var4.anInt4909 * -1451148795;
                     var24 = var13[var22][var23] * (var4.anInt4910 * 2111724147 - var20) + var13[var22 + 1][var23] * var20 >> var4.anInt4909 * -1451148795;
                     var25 = var13[var22][var23 + 1] * (var4.anInt4910 * 2111724147 - var20) + var13[var22 + 1][var23 + 1] * var20 >> var4.anInt4909 * -1451148795;
                     var26 = var24 * (var4.anInt4910 * 2111724147 - var21) + var25 * var21 >> var4.anInt4909 * -1451148795;
                     this.anIntArray9318[var17] = this.anIntArray9318[var17] + (var26 - var6) + var16;
                  }

                  for(var17 = this.anInt9316; var17 < this.anInt9315; ++var17) {
                     var18 = this.anIntArray9336[var17] + var5;
                     var19 = this.anIntArray9319[var17] + var7;
                     var20 = var18 & var15;
                     var21 = var19 & var15;
                     var22 = var18 >> var4.anInt4909 * -1451148795;
                     var23 = var19 >> var4.anInt4909 * -1451148795;
                     if(var22 >= 0 && var22 < var4.anInt4911 * 1724373523 - 1 && var23 >= 0 && var23 < var4.anInt4908 * 1696648095 - 1) {
                        var24 = var13[var22][var23] * (var4.anInt4910 * 2111724147 - var20) + var13[var22 + 1][var23] * var20 >> var4.anInt4909 * -1451148795;
                        var25 = var13[var22][var23 + 1] * (var4.anInt4910 * 2111724147 - var20) + var13[var22 + 1][var23 + 1] * var20 >> var4.anInt4909 * -1451148795;
                        var26 = var24 * (var4.anInt4910 * 2111724147 - var21) + var25 * var21 >> var4.anInt4909 * -1451148795;
                        this.anIntArray9318[var17] = this.anIntArray9318[var17] + (var26 - var6) + var16;
                     }
                  }
               } else if(var1 == 5) {
                  var15 = var4.anInt4910 * 2111724147 - 1;
                  var16 = this.aShort9362 - this.aShort9300;

                  int var27;
                  int var28;
                  for(var17 = 0; var17 < this.anInt9316; ++var17) {
                     var18 = this.anIntArray9336[var17] + var5;
                     var19 = this.anIntArray9319[var17] + var7;
                     var20 = var18 & var15;
                     var21 = var19 & var15;
                     var22 = var18 >> var3.anInt4909 * -1451148795;
                     var23 = var19 >> var3.anInt4909 * -1451148795;
                     var24 = var12[var22][var23] * (var3.anInt4910 * 2111724147 - var20) + var12[var22 + 1][var23] * var20 >> var3.anInt4909 * -1451148795;
                     var25 = var12[var22][var23 + 1] * (var3.anInt4910 * 2111724147 - var20) + var12[var22 + 1][var23 + 1] * var20 >> var3.anInt4909 * -1451148795;
                     var26 = var24 * (var3.anInt4910 * 2111724147 - var21) + var25 * var21 >> var3.anInt4909 * -1451148795;
                     var24 = var13[var22][var23] * (var4.anInt4910 * 2111724147 - var20) + var13[var22 + 1][var23] * var20 >> var4.anInt4909 * -1451148795;
                     var25 = var13[var22][var23 + 1] * (var4.anInt4910 * 2111724147 - var20) + var13[var22 + 1][var23 + 1] * var20 >> var4.anInt4909 * -1451148795;
                     var27 = var24 * (var4.anInt4910 * 2111724147 - var21) + var25 * var21 >> var4.anInt4909 * -1451148795;
                     var28 = var26 - var27 - var2;
                     this.anIntArray9318[var17] = ((this.anIntArray9318[var17] << 8) / var16 * var28 >> 8) - (var6 - var26);
                  }

                  for(var17 = this.anInt9316; var17 < this.anInt9315; ++var17) {
                     var18 = this.anIntArray9336[var17] + var5;
                     var19 = this.anIntArray9319[var17] + var7;
                     var20 = var18 & var15;
                     var21 = var19 & var15;
                     var22 = var18 >> var3.anInt4909 * -1451148795;
                     var23 = var19 >> var3.anInt4909 * -1451148795;
                     if(var22 >= 0 && var22 < var3.anInt4911 * 1724373523 - 1 && var22 < var4.anInt4911 * 1724373523 - 1 && var23 >= 0 && var23 < var3.anInt4908 * 1696648095 - 1 && var23 < var4.anInt4908 * 1696648095 - 1) {
                        var24 = var12[var22][var23] * (var3.anInt4910 * 2111724147 - var20) + var12[var22 + 1][var23] * var20 >> var3.anInt4909 * -1451148795;
                        var25 = var12[var22][var23 + 1] * (var3.anInt4910 * 2111724147 - var20) + var12[var22 + 1][var23 + 1] * var20 >> var3.anInt4909 * -1451148795;
                        var26 = var24 * (var3.anInt4910 * 2111724147 - var21) + var25 * var21 >> var3.anInt4909 * -1451148795;
                        var24 = var13[var22][var23] * (var4.anInt4910 * 2111724147 - var20) + var13[var22 + 1][var23] * var20 >> var4.anInt4909 * -1451148795;
                        var25 = var13[var22][var23 + 1] * (var4.anInt4910 * 2111724147 - var20) + var13[var22 + 1][var23 + 1] * var20 >> var4.anInt4909 * -1451148795;
                        var27 = var24 * (var4.anInt4910 * 2111724147 - var21) + var25 * var21 >> var4.anInt4909 * -1451148795;
                        var28 = var26 - var27 - var2;
                        this.anIntArray9318[var17] = ((this.anIntArray9318[var17] << 8) / var16 * var28 >> 8) - (var6 - var26);
                     }
                  }
               }
            }

            this.aBool9358 = false;
         }
      }
   }

   void method12084() {
      if(this.aClass545_Sub3_9343.anInt9817 * -310738315 > 1) {
         synchronized(this) {
            while(this.aBool7555) {
               try {
                  this.wait();
               } catch (InterruptedException var4) {
                  ;
               }
            }

            this.aBool7555 = true;
         }
      }

   }

   public boolean method12107() {
      if(this.aShortArray9374 == null) {
         return true;
      } else {
         for(int var1 = 0; var1 < this.aShortArray9374.length; ++var1) {
            if(this.aShortArray9374[var1] != -1 && !this.aClass545_Sub3_9343.method15337(this.aShortArray9374[var1])) {
               return false;
            }
         }

         return true;
      }
   }

   public void bi(int var1) {
      if((this.anInt9335 & 6) != 6) {
         throw new IllegalStateException();
      } else {
         int var2 = Class312.anIntArray3943[var1];
         int var3 = Class312.anIntArray3956[var1];
         synchronized(this) {
            for(int var5 = 0; var5 < this.anInt9315; ++var5) {
               int var6 = this.anIntArray9318[var5] * var3 - this.anIntArray9319[var5] * var2 >> 14;
               this.anIntArray9319[var5] = this.anIntArray9318[var5] * var2 + this.anIntArray9319[var5] * var3 >> 14;
               this.anIntArray9318[var5] = var6;
            }

            this.method14815();
         }
      }
   }

   void method12087() {
      if(this.aClass545_Sub3_9343.anInt9817 * -310738315 > 1) {
         synchronized(this) {
            this.aBool7555 = false;
            this.notifyAll();
         }
      }

   }

   void method12088() {
      if(this.aClass545_Sub3_9343.anInt9817 * -310738315 > 1) {
         synchronized(this) {
            this.aBool7555 = false;
            this.notifyAll();
         }
      }

   }

   final boolean method14801(int var1) {
      return this.aByteArray9339 == null?false:this.aByteArray9339[var1] != 0;
   }

   boolean bn() {
      if(this.anIntArrayArray9344 == null) {
         return false;
      } else {
         this.anInt9308 = 0;
         this.anInt9349 = 0;
         this.anInt9350 = 0;
         return true;
      }
   }

   boolean bc() {
      if(this.anIntArrayArray9344 == null) {
         return false;
      } else {
         this.anInt9308 = 0;
         this.anInt9349 = 0;
         this.anInt9350 = 0;
         return true;
      }
   }

   void bx() {
      if(this.aBool9347) {
         for(int var1 = 0; var1 < this.anInt9315; ++var1) {
            this.anIntArray9336[var1] = this.anIntArray9336[var1] + 7 >> 4;
            this.anIntArray9318[var1] = this.anIntArray9318[var1] + 7 >> 4;
            this.anIntArray9319[var1] = this.anIntArray9319[var1] + 7 >> 4;
         }

         this.aBool9347 = false;
      }

      if(this.aBool9346) {
         this.method14748();
         this.aBool9346 = false;
      }

      this.aBool9358 = false;
   }

   void be() {
      if(this.aBool9347) {
         for(int var1 = 0; var1 < this.anInt9315; ++var1) {
            this.anIntArray9336[var1] = this.anIntArray9336[var1] + 7 >> 4;
            this.anIntArray9318[var1] = this.anIntArray9318[var1] + 7 >> 4;
            this.anIntArray9319[var1] = this.anIntArray9319[var1] + 7 >> 4;
         }

         this.aBool9347 = false;
      }

      if(this.aBool9346) {
         this.method14748();
         this.aBool9346 = false;
      }

      this.aBool9358 = false;
   }

   void bm() {
      if(this.aBool9347) {
         for(int var1 = 0; var1 < this.anInt9315; ++var1) {
            this.anIntArray9336[var1] = this.anIntArray9336[var1] + 7 >> 4;
            this.anIntArray9318[var1] = this.anIntArray9318[var1] + 7 >> 4;
            this.anIntArray9319[var1] = this.anIntArray9319[var1] + 7 >> 4;
         }

         this.aBool9347 = false;
      }

      if(this.aBool9346) {
         this.method14748();
         this.aBool9346 = false;
      }

      this.aBool9358 = false;
   }

   void bh() {
      if(this.aBool9347) {
         for(int var1 = 0; var1 < this.anInt9315; ++var1) {
            this.anIntArray9336[var1] = this.anIntArray9336[var1] + 7 >> 4;
            this.anIntArray9318[var1] = this.anIntArray9318[var1] + 7 >> 4;
            this.anIntArray9319[var1] = this.anIntArray9319[var1] + 7 >> 4;
         }

         this.aBool9347 = false;
      }

      if(this.aBool9346) {
         this.method14748();
         this.aBool9346 = false;
      }

      this.aBool9358 = false;
   }

   public int cg() {
      if(!this.aBool9358) {
         this.method14765();
      }

      return this.aShort9362;
   }

   void cu(int var1, int[] var2, int var3, int var4, int var5, boolean var6, int var7, int[] var8) {
      int var9 = var2.length;
      int var10;
      int var11;
      int var15;
      int var50;
      int var49;
      if(var1 == 0) {
         var3 <<= 4;
         var4 <<= 4;
         var5 <<= 4;
         if(!this.aBool9347) {
            for(var10 = 0; var10 < this.anInt9315; ++var10) {
               this.anIntArray9336[var10] <<= 4;
               this.anIntArray9318[var10] <<= 4;
               this.anIntArray9319[var10] <<= 4;
            }

            this.aBool9347 = true;
         }

         var10 = 0;
         this.anInt9308 = 0;
         this.anInt9349 = 0;
         this.anInt9350 = 0;

         for(var11 = 0; var11 < var9; ++var11) {
            var50 = var2[var11];
            if(var50 < this.anIntArrayArray9344.length) {
               int[] var51 = this.anIntArrayArray9344[var50];

               for(var49 = 0; var49 < var51.length; ++var49) {
                  var15 = var51[var49];
                  if(this.aShortArray9320 == null || (var7 & this.aShortArray9320[var15]) != 0) {
                     this.anInt9308 += this.anIntArray9336[var15];
                     this.anInt9349 += this.anIntArray9318[var15];
                     this.anInt9350 += this.anIntArray9319[var15];
                     ++var10;
                  }
               }
            }
         }

         if(var10 > 0) {
            this.anInt9308 = this.anInt9308 / var10 + var3;
            this.anInt9349 = this.anInt9349 / var10 + var4;
            this.anInt9350 = this.anInt9350 / var10 + var5;
            this.aBool9359 = true;
         } else {
            this.anInt9308 = var3;
            this.anInt9349 = var4;
            this.anInt9350 = var5;
         }

      } else {
         int[] var12;
         int var13;
         if(var1 == 1) {
            if(var8 != null) {
               var10 = var8[0] * var3 + var8[1] * var4 + var8[2] * var5 + 8192 >> 14;
               var11 = var8[3] * var3 + var8[4] * var4 + var8[5] * var5 + 8192 >> 14;
               var50 = var8[6] * var3 + var8[7] * var4 + var8[8] * var5 + 8192 >> 14;
               var3 = var10;
               var4 = var11;
               var5 = var50;
            }

            var3 <<= 4;
            var4 <<= 4;
            var5 <<= 4;
            if(!this.aBool9347) {
               for(var10 = 0; var10 < this.anInt9315; ++var10) {
                  this.anIntArray9336[var10] <<= 4;
                  this.anIntArray9318[var10] <<= 4;
                  this.anIntArray9319[var10] <<= 4;
               }

               this.aBool9347 = true;
            }

            for(var10 = 0; var10 < var9; ++var10) {
               var11 = var2[var10];
               if(var11 < this.anIntArrayArray9344.length) {
                  var12 = this.anIntArrayArray9344[var11];

                  for(var13 = 0; var13 < var12.length; ++var13) {
                     var49 = var12[var13];
                     if(this.aShortArray9320 == null || (var7 & this.aShortArray9320[var49]) != 0) {
                        this.anIntArray9336[var49] += var3;
                        this.anIntArray9318[var49] += var4;
                        this.anIntArray9319[var49] += var5;
                     }
                  }
               }
            }

         } else {
            int var17;
            int var16;
            int var19;
            int var18;
            int var21;
            int var20;
            int var23;
            int var22;
            int var24;
            int var27;
            int var26;
            int var28;
            int var30;
            int var34;
            int[] var35;
            int var32;
            int var33;
            int var38;
            int var39;
            int var36;
            int var37;
            int var40;
            if(var1 == 2) {
               if(var8 != null) {
                  if(!this.aBool9347) {
                     for(var10 = 0; var10 < this.anInt9315; ++var10) {
                        this.anIntArray9336[var10] <<= 4;
                        this.anIntArray9318[var10] <<= 4;
                        this.anIntArray9319[var10] <<= 4;
                     }

                     this.aBool9347 = true;
                  }

                  var10 = var8[9] << 4;
                  var11 = var8[10] << 4;
                  var50 = var8[11] << 4;
                  var13 = var8[12] << 4;
                  var49 = var8[13] << 4;
                  var15 = var8[14] << 4;
                  if(this.aBool9359) {
                     var16 = var8[0] * this.anInt9308 + var8[3] * this.anInt9349 + var8[6] * this.anInt9350 + 8192 >> 14;
                     var17 = var8[1] * this.anInt9308 + var8[4] * this.anInt9349 + var8[7] * this.anInt9350 + 8192 >> 14;
                     var18 = var8[2] * this.anInt9308 + var8[5] * this.anInt9349 + var8[8] * this.anInt9350 + 8192 >> 14;
                     var16 += var13;
                     var17 += var49;
                     var18 += var15;
                     this.anInt9308 = var16;
                     this.anInt9349 = var17;
                     this.anInt9350 = var18;
                     this.aBool9359 = false;
                  }

                  int[] var52 = new int[9];
                  var17 = Class312.anIntArray3956[var3];
                  var18 = Class312.anIntArray3943[var3];
                  var19 = Class312.anIntArray3956[var4];
                  var20 = Class312.anIntArray3943[var4];
                  var21 = Class312.anIntArray3956[var5];
                  var22 = Class312.anIntArray3943[var5];
                  var23 = var18 * var21 + 8192 >> 14;
                  var24 = var18 * var22 + 8192 >> 14;
                  var52[0] = var19 * var21 + var20 * var24 + 8192 >> 14;
                  var52[1] = -var19 * var22 + var20 * var23 + 8192 >> 14;
                  var52[2] = var20 * var17 + 8192 >> 14;
                  var52[3] = var17 * var22 + 8192 >> 14;
                  var52[4] = var17 * var21 + 8192 >> 14;
                  var52[5] = -var18;
                  var52[6] = -var20 * var21 + var19 * var24 + 8192 >> 14;
                  var52[7] = var20 * var22 + var19 * var23 + 8192 >> 14;
                  var52[8] = var19 * var17 + 8192 >> 14;
                  int var53 = var52[0] * -this.anInt9308 + var52[1] * -this.anInt9349 + var52[2] * -this.anInt9350 + 8192 >> 14;
                  var26 = var52[3] * -this.anInt9308 + var52[4] * -this.anInt9349 + var52[5] * -this.anInt9350 + 8192 >> 14;
                  var27 = var52[6] * -this.anInt9308 + var52[7] * -this.anInt9349 + var52[8] * -this.anInt9350 + 8192 >> 14;
                  var28 = var53 + this.anInt9308;
                  int var54 = var26 + this.anInt9349;
                  var30 = var27 + this.anInt9350;
                  int[] var55 = new int[9];

                  for(var32 = 0; var32 < 3; ++var32) {
                     for(var33 = 0; var33 < 3; ++var33) {
                        var34 = 0;

                        for(int var56 = 0; var56 < 3; ++var56) {
                           var34 += var52[var32 * 3 + var56] * var8[var33 * 3 + var56];
                        }

                        var55[var32 * 3 + var33] = var34 + 8192 >> 14;
                     }
                  }

                  var32 = var52[0] * var13 + var52[1] * var49 + var52[2] * var15 + 8192 >> 14;
                  var33 = var52[3] * var13 + var52[4] * var49 + var52[5] * var15 + 8192 >> 14;
                  var34 = var52[6] * var13 + var52[7] * var49 + var52[8] * var15 + 8192 >> 14;
                  var32 += var28;
                  var33 += var54;
                  var34 += var30;
                  var35 = new int[9];

                  for(var36 = 0; var36 < 3; ++var36) {
                     for(var37 = 0; var37 < 3; ++var37) {
                        var38 = 0;

                        for(var39 = 0; var39 < 3; ++var39) {
                           var38 += var8[var36 * 3 + var39] * var55[var37 + var39 * 3];
                        }

                        var35[var36 * 3 + var37] = var38 + 8192 >> 14;
                     }
                  }

                  var36 = var8[0] * var32 + var8[1] * var33 + var8[2] * var34 + 8192 >> 14;
                  var37 = var8[3] * var32 + var8[4] * var33 + var8[5] * var34 + 8192 >> 14;
                  var38 = var8[6] * var32 + var8[7] * var33 + var8[8] * var34 + 8192 >> 14;
                  var36 += var10;
                  var37 += var11;
                  var38 += var50;

                  for(var39 = 0; var39 < var9; ++var39) {
                     var40 = var2[var39];
                     if(var40 < this.anIntArrayArray9344.length) {
                        int[] var41 = this.anIntArrayArray9344[var40];

                        for(int var42 = 0; var42 < var41.length; ++var42) {
                           int var43 = var41[var42];
                           if(this.aShortArray9320 == null || (var7 & this.aShortArray9320[var43]) != 0) {
                              int var44 = var35[0] * this.anIntArray9336[var43] + var35[1] * this.anIntArray9318[var43] + var35[2] * this.anIntArray9319[var43] + 8192 >> 14;
                              int var45 = var35[3] * this.anIntArray9336[var43] + var35[4] * this.anIntArray9318[var43] + var35[5] * this.anIntArray9319[var43] + 8192 >> 14;
                              int var46 = var35[6] * this.anIntArray9336[var43] + var35[7] * this.anIntArray9318[var43] + var35[8] * this.anIntArray9319[var43] + 8192 >> 14;
                              var44 += var36;
                              var45 += var37;
                              var46 += var38;
                              this.anIntArray9336[var43] = var44;
                              this.anIntArray9318[var43] = var45;
                              this.anIntArray9319[var43] = var46;
                           }
                        }
                     }
                  }
               } else {
                  for(var10 = 0; var10 < var9; ++var10) {
                     var11 = var2[var10];
                     if(var11 < this.anIntArrayArray9344.length) {
                        var12 = this.anIntArrayArray9344[var11];

                        for(var13 = 0; var13 < var12.length; ++var13) {
                           var49 = var12[var13];
                           if(this.aShortArray9320 == null || (var7 & this.aShortArray9320[var49]) != 0) {
                              this.anIntArray9336[var49] -= this.anInt9308;
                              this.anIntArray9318[var49] -= this.anInt9349;
                              this.anIntArray9319[var49] -= this.anInt9350;
                              if(var5 != 0) {
                                 var15 = Class312.anIntArray3943[var5];
                                 var16 = Class312.anIntArray3956[var5];
                                 var17 = this.anIntArray9318[var49] * var15 + this.anIntArray9336[var49] * var16 + 16383 >> 14;
                                 this.anIntArray9318[var49] = this.anIntArray9318[var49] * var16 - this.anIntArray9336[var49] * var15 + 16383 >> 14;
                                 this.anIntArray9336[var49] = var17;
                              }

                              if(var3 != 0) {
                                 var15 = Class312.anIntArray3943[var3];
                                 var16 = Class312.anIntArray3956[var3];
                                 var17 = this.anIntArray9318[var49] * var16 - this.anIntArray9319[var49] * var15 + 16383 >> 14;
                                 this.anIntArray9319[var49] = this.anIntArray9318[var49] * var15 + this.anIntArray9319[var49] * var16 + 16383 >> 14;
                                 this.anIntArray9318[var49] = var17;
                              }

                              if(var4 != 0) {
                                 var15 = Class312.anIntArray3943[var4];
                                 var16 = Class312.anIntArray3956[var4];
                                 var17 = this.anIntArray9319[var49] * var15 + this.anIntArray9336[var49] * var16 + 16383 >> 14;
                                 this.anIntArray9319[var49] = this.anIntArray9319[var49] * var16 - this.anIntArray9336[var49] * var15 + 16383 >> 14;
                                 this.anIntArray9336[var49] = var17;
                              }

                              this.anIntArray9336[var49] += this.anInt9308;
                              this.anIntArray9318[var49] += this.anInt9349;
                              this.anIntArray9319[var49] += this.anInt9350;
                           }
                        }
                     }
                  }
               }

            } else if(var1 == 3) {
               if(var8 != null) {
                  if(!this.aBool9347) {
                     for(var10 = 0; var10 < this.anInt9315; ++var10) {
                        this.anIntArray9336[var10] <<= 4;
                        this.anIntArray9318[var10] <<= 4;
                        this.anIntArray9319[var10] <<= 4;
                     }

                     this.aBool9347 = true;
                  }

                  var10 = var8[9] << 4;
                  var11 = var8[10] << 4;
                  var50 = var8[11] << 4;
                  var13 = var8[12] << 4;
                  var49 = var8[13] << 4;
                  var15 = var8[14] << 4;
                  if(this.aBool9359) {
                     var16 = var8[0] * this.anInt9308 + var8[3] * this.anInt9349 + var8[6] * this.anInt9350 + 8192 >> 14;
                     var17 = var8[1] * this.anInt9308 + var8[4] * this.anInt9349 + var8[7] * this.anInt9350 + 8192 >> 14;
                     var18 = var8[2] * this.anInt9308 + var8[5] * this.anInt9349 + var8[8] * this.anInt9350 + 8192 >> 14;
                     var16 += var13;
                     var17 += var49;
                     var18 += var15;
                     this.anInt9308 = var16;
                     this.anInt9349 = var17;
                     this.anInt9350 = var18;
                     this.aBool9359 = false;
                  }

                  var16 = var3 << 15 >> 7;
                  var17 = var4 << 15 >> 7;
                  var18 = var5 << 15 >> 7;
                  var19 = var16 * -this.anInt9308 + 8192 >> 14;
                  var20 = var17 * -this.anInt9349 + 8192 >> 14;
                  var21 = var18 * -this.anInt9350 + 8192 >> 14;
                  var22 = var19 + this.anInt9308;
                  var23 = var20 + this.anInt9349;
                  var24 = var21 + this.anInt9350;
                  int[] var25 = new int[]{var16 * var8[0] + 8192 >> 14, var16 * var8[3] + 8192 >> 14, var16 * var8[6] + 8192 >> 14, var17 * var8[1] + 8192 >> 14, var17 * var8[4] + 8192 >> 14, var17 * var8[7] + 8192 >> 14, var18 * var8[2] + 8192 >> 14, var18 * var8[5] + 8192 >> 14, var18 * var8[8] + 8192 >> 14};
                  var26 = var16 * var13 + 8192 >> 14;
                  var27 = var17 * var49 + 8192 >> 14;
                  var28 = var18 * var15 + 8192 >> 14;
                  var26 += var22;
                  var27 += var23;
                  var28 += var24;
                  int[] var29 = new int[9];

                  int var31;
                  for(var30 = 0; var30 < 3; ++var30) {
                     for(var31 = 0; var31 < 3; ++var31) {
                        var32 = 0;

                        for(var33 = 0; var33 < 3; ++var33) {
                           var32 += var8[var30 * 3 + var33] * var25[var31 + var33 * 3];
                        }

                        var29[var30 * 3 + var31] = var32 + 8192 >> 14;
                     }
                  }

                  var30 = var8[0] * var26 + var8[1] * var27 + var8[2] * var28 + 8192 >> 14;
                  var31 = var8[3] * var26 + var8[4] * var27 + var8[5] * var28 + 8192 >> 14;
                  var32 = var8[6] * var26 + var8[7] * var27 + var8[8] * var28 + 8192 >> 14;
                  var30 += var10;
                  var31 += var11;
                  var32 += var50;

                  for(var33 = 0; var33 < var9; ++var33) {
                     var34 = var2[var33];
                     if(var34 < this.anIntArrayArray9344.length) {
                        var35 = this.anIntArrayArray9344[var34];

                        for(var36 = 0; var36 < var35.length; ++var36) {
                           var37 = var35[var36];
                           if(this.aShortArray9320 == null || (var7 & this.aShortArray9320[var37]) != 0) {
                              var38 = var29[0] * this.anIntArray9336[var37] + var29[1] * this.anIntArray9318[var37] + var29[2] * this.anIntArray9319[var37] + 8192 >> 14;
                              var39 = var29[3] * this.anIntArray9336[var37] + var29[4] * this.anIntArray9318[var37] + var29[5] * this.anIntArray9319[var37] + 8192 >> 14;
                              var40 = var29[6] * this.anIntArray9336[var37] + var29[7] * this.anIntArray9318[var37] + var29[8] * this.anIntArray9319[var37] + 8192 >> 14;
                              var38 += var30;
                              var39 += var31;
                              var40 += var32;
                              this.anIntArray9336[var37] = var38;
                              this.anIntArray9318[var37] = var39;
                              this.anIntArray9319[var37] = var40;
                           }
                        }
                     }
                  }
               } else {
                  for(var10 = 0; var10 < var9; ++var10) {
                     var11 = var2[var10];
                     if(var11 < this.anIntArrayArray9344.length) {
                        var12 = this.anIntArrayArray9344[var11];

                        for(var13 = 0; var13 < var12.length; ++var13) {
                           var49 = var12[var13];
                           if(this.aShortArray9320 == null || (var7 & this.aShortArray9320[var49]) != 0) {
                              this.anIntArray9336[var49] -= this.anInt9308;
                              this.anIntArray9318[var49] -= this.anInt9349;
                              this.anIntArray9319[var49] -= this.anInt9350;
                              this.anIntArray9336[var49] = this.anIntArray9336[var49] * var3 / 128;
                              this.anIntArray9318[var49] = this.anIntArray9318[var49] * var4 / 128;
                              this.anIntArray9319[var49] = this.anIntArray9319[var49] * var5 / 128;
                              this.anIntArray9336[var49] += this.anInt9308;
                              this.anIntArray9318[var49] += this.anInt9349;
                              this.anIntArray9319[var49] += this.anInt9350;
                           }
                        }
                     }
                  }
               }

            } else {
               Class133 var47;
               Class187 var48;
               if(var1 == 5) {
                  if(this.anIntArrayArray9345 != null && this.aByteArray9339 != null) {
                     for(var10 = 0; var10 < var9; ++var10) {
                        var11 = var2[var10];
                        if(var11 < this.anIntArrayArray9345.length) {
                           var12 = this.anIntArrayArray9345[var11];

                           for(var13 = 0; var13 < var12.length; ++var13) {
                              var49 = var12[var13];
                              if(this.aShortArray9342 == null || (var7 & this.aShortArray9342[var49]) != 0) {
                                 var15 = (this.aByteArray9339[var49] & 255) + var3 * 8;
                                 if(var15 < 0) {
                                    var15 = 0;
                                 } else if(var15 > 255) {
                                    var15 = 255;
                                 }

                                 this.aByteArray9339[var49] = (byte)var15;
                              }
                           }
                        }
                     }

                     if(this.aClass133Array9355 != null) {
                        for(var10 = 0; var10 < this.anInt9354; ++var10) {
                           var47 = this.aClass133Array9355[var10];
                           var48 = this.aClass187Array9356[var10];
                           var48.anInt2250 = (var48.anInt2250 * 958896329 & 16777215 | 255 - (this.aByteArray9339[var47.anInt1577 * 1911690377] & 255) << 24) * 925892985;
                        }
                     }
                  }

               } else if(var1 == 7) {
                  if(this.anIntArrayArray9345 != null) {
                     for(var10 = 0; var10 < var9; ++var10) {
                        var11 = var2[var10];
                        if(var11 < this.anIntArrayArray9345.length) {
                           var12 = this.anIntArrayArray9345[var11];

                           for(var13 = 0; var13 < var12.length; ++var13) {
                              var49 = var12[var13];
                              if(this.aShortArray9342 == null || (var7 & this.aShortArray9342[var49]) != 0) {
                                 var15 = this.aShortArray9351[var49] & '\uffff';
                                 var16 = var15 >> 10 & 63;
                                 var17 = var15 >> 7 & 7;
                                 var18 = var15 & 127;
                                 var16 = var16 + var3 & 63;
                                 var17 += var4;
                                 if(var17 < 0) {
                                    var17 = 0;
                                 } else if(var17 > 7) {
                                    var17 = 7;
                                 }

                                 var18 += var5;
                                 if(var18 < 0) {
                                    var18 = 0;
                                 } else if(var18 > 127) {
                                    var18 = 127;
                                 }

                                 this.aShortArray9351[var49] = (short)(var16 << 10 | var17 << 7 | var18);
                              }
                           }

                           this.aBool9346 = true;
                        }
                     }

                     if(this.aClass133Array9355 != null) {
                        for(var10 = 0; var10 < this.anInt9354; ++var10) {
                           var47 = this.aClass133Array9355[var10];
                           var48 = this.aClass187Array9356[var10];
                           var48.anInt2250 = (var48.anInt2250 * 958896329 & -16777216 | Class516.anIntArray6082[Class166.method2855(this.aShortArray9351[var47.anInt1577 * 1911690377] & '\uffff', 1310061785) & '\uffff'] & 16777215) * 925892985;
                        }
                     }
                  }

               } else {
                  Class187 var14;
                  if(var1 == 8) {
                     if(this.anIntArrayArray9357 != null) {
                        for(var10 = 0; var10 < var9; ++var10) {
                           var11 = var2[var10];
                           if(var11 < this.anIntArrayArray9357.length) {
                              var12 = this.anIntArrayArray9357[var11];

                              for(var13 = 0; var13 < var12.length; ++var13) {
                                 var14 = this.aClass187Array9356[var12[var13]];
                                 var14.anInt2243 += var3 * -715097745;
                                 var14.anInt2244 += var4 * 2037475277;
                              }
                           }
                        }
                     }

                  } else if(var1 == 10) {
                     if(this.anIntArrayArray9357 != null) {
                        for(var10 = 0; var10 < var9; ++var10) {
                           var11 = var2[var10];
                           if(var11 < this.anIntArrayArray9357.length) {
                              var12 = this.anIntArrayArray9357[var11];

                              for(var13 = 0; var13 < var12.length; ++var13) {
                                 var14 = this.aClass187Array9356[var12[var13]];
                                 var14.aFloat2242 = var14.aFloat2242 * (float)var3 / 128.0F;
                                 var14.aFloat2247 = var14.aFloat2247 * (float)var4 / 128.0F;
                              }
                           }
                        }
                     }

                  } else if(var1 == 9) {
                     if(this.anIntArrayArray9357 != null) {
                        for(var10 = 0; var10 < var9; ++var10) {
                           var11 = var2[var10];
                           if(var11 < this.anIntArrayArray9357.length) {
                              var12 = this.anIntArrayArray9357[var11];

                              for(var13 = 0; var13 < var12.length; ++var13) {
                                 var14 = this.aClass187Array9356[var12[var13]];
                                 var14.anInt2240 = (var14.anInt2240 * -644012521 + var3 & 16383) * -1875611225;
                              }
                           }
                        }
                     }

                  }
               }
            }
         }
      }
   }

   final boolean method14802(int var1) {
      return this.anIntArray9321 == null?false:this.anIntArray9321[var1] != -1;
   }

   void cf(int var1, int var2, int var3, int var4) {
      int var5;
      int var11;
      if(var1 == 0) {
         var5 = 0;
         this.anInt9308 = 0;
         this.anInt9349 = 0;
         this.anInt9350 = 0;

         for(var11 = 0; var11 < this.anInt9315; ++var11) {
            this.anInt9308 += this.anIntArray9336[var11];
            this.anInt9349 += this.anIntArray9318[var11];
            this.anInt9350 += this.anIntArray9319[var11];
            ++var5;
         }

         if(var5 > 0) {
            this.anInt9308 = this.anInt9308 / var5 + var2;
            this.anInt9349 = this.anInt9349 / var5 + var3;
            this.anInt9350 = this.anInt9350 / var5 + var4;
         } else {
            this.anInt9308 = var2;
            this.anInt9349 = var3;
            this.anInt9350 = var4;
         }

      } else if(var1 == 1) {
         for(var5 = 0; var5 < this.anInt9315; ++var5) {
            this.anIntArray9336[var5] += var2;
            this.anIntArray9318[var5] += var3;
            this.anIntArray9319[var5] += var4;
         }

      } else {
         int var7;
         int var8;
         if(var1 == 2) {
            for(var5 = 0; var5 < this.anInt9315; ++var5) {
               this.anIntArray9336[var5] -= this.anInt9308;
               this.anIntArray9318[var5] -= this.anInt9349;
               this.anIntArray9319[var5] -= this.anInt9350;
               if(var4 != 0) {
                  var11 = Class312.anIntArray3943[var4];
                  var7 = Class312.anIntArray3956[var4];
                  var8 = this.anIntArray9318[var5] * var11 + this.anIntArray9336[var5] * var7 + 16383 >> 14;
                  this.anIntArray9318[var5] = this.anIntArray9318[var5] * var7 - this.anIntArray9336[var5] * var11 + 16383 >> 14;
                  this.anIntArray9336[var5] = var8;
               }

               if(var2 != 0) {
                  var11 = Class312.anIntArray3943[var2];
                  var7 = Class312.anIntArray3956[var2];
                  var8 = this.anIntArray9318[var5] * var7 - this.anIntArray9319[var5] * var11 + 16383 >> 14;
                  this.anIntArray9319[var5] = this.anIntArray9318[var5] * var11 + this.anIntArray9319[var5] * var7 + 16383 >> 14;
                  this.anIntArray9318[var5] = var8;
               }

               if(var3 != 0) {
                  var11 = Class312.anIntArray3943[var3];
                  var7 = Class312.anIntArray3956[var3];
                  var8 = this.anIntArray9319[var5] * var11 + this.anIntArray9336[var5] * var7 + 16383 >> 14;
                  this.anIntArray9319[var5] = this.anIntArray9319[var5] * var7 - this.anIntArray9336[var5] * var11 + 16383 >> 14;
                  this.anIntArray9336[var5] = var8;
               }

               this.anIntArray9336[var5] += this.anInt9308;
               this.anIntArray9318[var5] += this.anInt9349;
               this.anIntArray9319[var5] += this.anInt9350;
            }

         } else if(var1 == 3) {
            for(var5 = 0; var5 < this.anInt9315; ++var5) {
               this.anIntArray9336[var5] -= this.anInt9308;
               this.anIntArray9318[var5] -= this.anInt9349;
               this.anIntArray9319[var5] -= this.anInt9350;
               this.anIntArray9336[var5] = this.anIntArray9336[var5] * var2 / 128;
               this.anIntArray9318[var5] = this.anIntArray9318[var5] * var3 / 128;
               this.anIntArray9319[var5] = this.anIntArray9319[var5] * var4 / 128;
               this.anIntArray9336[var5] += this.anInt9308;
               this.anIntArray9318[var5] += this.anInt9349;
               this.anIntArray9319[var5] += this.anInt9350;
            }

         } else {
            Class133 var10;
            Class187 var12;
            if(var1 == 5) {
               for(var5 = 0; var5 < this.anInt9353; ++var5) {
                  var11 = (this.aByteArray9339[var5] & 255) + var2 * 8;
                  if(var11 < 0) {
                     var11 = 0;
                  } else if(var11 > 255) {
                     var11 = 255;
                  }

                  this.aByteArray9339[var5] = (byte)var11;
               }

               if(this.aClass133Array9355 != null) {
                  for(var5 = 0; var5 < this.anInt9354; ++var5) {
                     var10 = this.aClass133Array9355[var5];
                     var12 = this.aClass187Array9356[var5];
                     var12.anInt2250 = (var12.anInt2250 * 958896329 & 16777215 | 255 - (this.aByteArray9339[var10.anInt1577 * 1911690377] & 255) << 24) * 925892985;
                  }
               }

            } else if(var1 == 7) {
               for(var5 = 0; var5 < this.anInt9353; ++var5) {
                  var11 = this.aShortArray9351[var5] & '\uffff';
                  var7 = var11 >> 10 & 63;
                  var8 = var11 >> 7 & 7;
                  int var9 = var11 & 127;
                  var7 = var7 + var2 & 63;
                  var8 += var3;
                  if(var8 < 0) {
                     var8 = 0;
                  } else if(var8 > 7) {
                     var8 = 7;
                  }

                  var9 += var4;
                  if(var9 < 0) {
                     var9 = 0;
                  } else if(var9 > 127) {
                     var9 = 127;
                  }

                  this.aShortArray9351[var5] = (short)(var7 << 10 | var8 << 7 | var9);
               }

               this.aBool9346 = true;
               if(this.aClass133Array9355 != null) {
                  for(var5 = 0; var5 < this.anInt9354; ++var5) {
                     var10 = this.aClass133Array9355[var5];
                     var12 = this.aClass187Array9356[var5];
                     var12.anInt2250 = (var12.anInt2250 * 958896329 & -16777216 | Class516.anIntArray6082[Class166.method2855(this.aShortArray9351[var10.anInt1577 * 1911690377] & '\uffff', 285024462) & '\uffff'] & 16777215) * 925892985;
                  }
               }

            } else {
               Class187 var6;
               if(var1 == 8) {
                  for(var5 = 0; var5 < this.anInt9354; ++var5) {
                     var6 = this.aClass187Array9356[var5];
                     var6.anInt2243 += var2 * -715097745;
                     var6.anInt2244 += var3 * 2037475277;
                  }

               } else if(var1 == 10) {
                  for(var5 = 0; var5 < this.anInt9354; ++var5) {
                     var6 = this.aClass187Array9356[var5];
                     var6.aFloat2242 = var6.aFloat2242 * (float)var2 / 128.0F;
                     var6.aFloat2247 = var6.aFloat2247 * (float)var3 / 128.0F;
                  }

               } else if(var1 == 9) {
                  for(var5 = 0; var5 < this.anInt9354; ++var5) {
                     var6 = this.aClass187Array9356[var5];
                     var6.anInt2240 = (var6.anInt2240 * -644012521 + var2 & 16383) * -1875611225;
                  }

               }
            }
         }
      }
   }

   void cy(int var1, int var2, int var3, int var4) {
      int var5;
      int var11;
      if(var1 == 0) {
         var5 = 0;
         this.anInt9308 = 0;
         this.anInt9349 = 0;
         this.anInt9350 = 0;

         for(var11 = 0; var11 < this.anInt9315; ++var11) {
            this.anInt9308 += this.anIntArray9336[var11];
            this.anInt9349 += this.anIntArray9318[var11];
            this.anInt9350 += this.anIntArray9319[var11];
            ++var5;
         }

         if(var5 > 0) {
            this.anInt9308 = this.anInt9308 / var5 + var2;
            this.anInt9349 = this.anInt9349 / var5 + var3;
            this.anInt9350 = this.anInt9350 / var5 + var4;
         } else {
            this.anInt9308 = var2;
            this.anInt9349 = var3;
            this.anInt9350 = var4;
         }

      } else if(var1 == 1) {
         for(var5 = 0; var5 < this.anInt9315; ++var5) {
            this.anIntArray9336[var5] += var2;
            this.anIntArray9318[var5] += var3;
            this.anIntArray9319[var5] += var4;
         }

      } else {
         int var7;
         int var8;
         if(var1 == 2) {
            for(var5 = 0; var5 < this.anInt9315; ++var5) {
               this.anIntArray9336[var5] -= this.anInt9308;
               this.anIntArray9318[var5] -= this.anInt9349;
               this.anIntArray9319[var5] -= this.anInt9350;
               if(var4 != 0) {
                  var11 = Class312.anIntArray3943[var4];
                  var7 = Class312.anIntArray3956[var4];
                  var8 = this.anIntArray9318[var5] * var11 + this.anIntArray9336[var5] * var7 + 16383 >> 14;
                  this.anIntArray9318[var5] = this.anIntArray9318[var5] * var7 - this.anIntArray9336[var5] * var11 + 16383 >> 14;
                  this.anIntArray9336[var5] = var8;
               }

               if(var2 != 0) {
                  var11 = Class312.anIntArray3943[var2];
                  var7 = Class312.anIntArray3956[var2];
                  var8 = this.anIntArray9318[var5] * var7 - this.anIntArray9319[var5] * var11 + 16383 >> 14;
                  this.anIntArray9319[var5] = this.anIntArray9318[var5] * var11 + this.anIntArray9319[var5] * var7 + 16383 >> 14;
                  this.anIntArray9318[var5] = var8;
               }

               if(var3 != 0) {
                  var11 = Class312.anIntArray3943[var3];
                  var7 = Class312.anIntArray3956[var3];
                  var8 = this.anIntArray9319[var5] * var11 + this.anIntArray9336[var5] * var7 + 16383 >> 14;
                  this.anIntArray9319[var5] = this.anIntArray9319[var5] * var7 - this.anIntArray9336[var5] * var11 + 16383 >> 14;
                  this.anIntArray9336[var5] = var8;
               }

               this.anIntArray9336[var5] += this.anInt9308;
               this.anIntArray9318[var5] += this.anInt9349;
               this.anIntArray9319[var5] += this.anInt9350;
            }

         } else if(var1 == 3) {
            for(var5 = 0; var5 < this.anInt9315; ++var5) {
               this.anIntArray9336[var5] -= this.anInt9308;
               this.anIntArray9318[var5] -= this.anInt9349;
               this.anIntArray9319[var5] -= this.anInt9350;
               this.anIntArray9336[var5] = this.anIntArray9336[var5] * var2 / 128;
               this.anIntArray9318[var5] = this.anIntArray9318[var5] * var3 / 128;
               this.anIntArray9319[var5] = this.anIntArray9319[var5] * var4 / 128;
               this.anIntArray9336[var5] += this.anInt9308;
               this.anIntArray9318[var5] += this.anInt9349;
               this.anIntArray9319[var5] += this.anInt9350;
            }

         } else {
            Class133 var10;
            Class187 var12;
            if(var1 == 5) {
               for(var5 = 0; var5 < this.anInt9353; ++var5) {
                  var11 = (this.aByteArray9339[var5] & 255) + var2 * 8;
                  if(var11 < 0) {
                     var11 = 0;
                  } else if(var11 > 255) {
                     var11 = 255;
                  }

                  this.aByteArray9339[var5] = (byte)var11;
               }

               if(this.aClass133Array9355 != null) {
                  for(var5 = 0; var5 < this.anInt9354; ++var5) {
                     var10 = this.aClass133Array9355[var5];
                     var12 = this.aClass187Array9356[var5];
                     var12.anInt2250 = (var12.anInt2250 * 958896329 & 16777215 | 255 - (this.aByteArray9339[var10.anInt1577 * 1911690377] & 255) << 24) * 925892985;
                  }
               }

            } else if(var1 == 7) {
               for(var5 = 0; var5 < this.anInt9353; ++var5) {
                  var11 = this.aShortArray9351[var5] & '\uffff';
                  var7 = var11 >> 10 & 63;
                  var8 = var11 >> 7 & 7;
                  int var9 = var11 & 127;
                  var7 = var7 + var2 & 63;
                  var8 += var3;
                  if(var8 < 0) {
                     var8 = 0;
                  } else if(var8 > 7) {
                     var8 = 7;
                  }

                  var9 += var4;
                  if(var9 < 0) {
                     var9 = 0;
                  } else if(var9 > 127) {
                     var9 = 127;
                  }

                  this.aShortArray9351[var5] = (short)(var7 << 10 | var8 << 7 | var9);
               }

               this.aBool9346 = true;
               if(this.aClass133Array9355 != null) {
                  for(var5 = 0; var5 < this.anInt9354; ++var5) {
                     var10 = this.aClass133Array9355[var5];
                     var12 = this.aClass187Array9356[var5];
                     var12.anInt2250 = (var12.anInt2250 * 958896329 & -16777216 | Class516.anIntArray6082[Class166.method2855(this.aShortArray9351[var10.anInt1577 * 1911690377] & '\uffff', -2143738627) & '\uffff'] & 16777215) * 925892985;
                  }
               }

            } else {
               Class187 var6;
               if(var1 == 8) {
                  for(var5 = 0; var5 < this.anInt9354; ++var5) {
                     var6 = this.aClass187Array9356[var5];
                     var6.anInt2243 += var2 * -715097745;
                     var6.anInt2244 += var3 * 2037475277;
                  }

               } else if(var1 == 10) {
                  for(var5 = 0; var5 < this.anInt9354; ++var5) {
                     var6 = this.aClass187Array9356[var5];
                     var6.aFloat2242 = var6.aFloat2242 * (float)var2 / 128.0F;
                     var6.aFloat2247 = var6.aFloat2247 * (float)var3 / 128.0F;
                  }

               } else if(var1 == 9) {
                  for(var5 = 0; var5 < this.anInt9354; ++var5) {
                     var6 = this.aClass187Array9356[var5];
                     var6.anInt2240 = (var6.anInt2240 * -644012521 + var2 & 16383) * -1875611225;
                  }

               }
            }
         }
      }
   }

   void cv(int var1, int var2, int var3, int var4) {
      int var5;
      int var11;
      if(var1 == 0) {
         var5 = 0;
         this.anInt9308 = 0;
         this.anInt9349 = 0;
         this.anInt9350 = 0;

         for(var11 = 0; var11 < this.anInt9315; ++var11) {
            this.anInt9308 += this.anIntArray9336[var11];
            this.anInt9349 += this.anIntArray9318[var11];
            this.anInt9350 += this.anIntArray9319[var11];
            ++var5;
         }

         if(var5 > 0) {
            this.anInt9308 = this.anInt9308 / var5 + var2;
            this.anInt9349 = this.anInt9349 / var5 + var3;
            this.anInt9350 = this.anInt9350 / var5 + var4;
         } else {
            this.anInt9308 = var2;
            this.anInt9349 = var3;
            this.anInt9350 = var4;
         }

      } else if(var1 == 1) {
         for(var5 = 0; var5 < this.anInt9315; ++var5) {
            this.anIntArray9336[var5] += var2;
            this.anIntArray9318[var5] += var3;
            this.anIntArray9319[var5] += var4;
         }

      } else {
         int var7;
         int var8;
         if(var1 == 2) {
            for(var5 = 0; var5 < this.anInt9315; ++var5) {
               this.anIntArray9336[var5] -= this.anInt9308;
               this.anIntArray9318[var5] -= this.anInt9349;
               this.anIntArray9319[var5] -= this.anInt9350;
               if(var4 != 0) {
                  var11 = Class312.anIntArray3943[var4];
                  var7 = Class312.anIntArray3956[var4];
                  var8 = this.anIntArray9318[var5] * var11 + this.anIntArray9336[var5] * var7 + 16383 >> 14;
                  this.anIntArray9318[var5] = this.anIntArray9318[var5] * var7 - this.anIntArray9336[var5] * var11 + 16383 >> 14;
                  this.anIntArray9336[var5] = var8;
               }

               if(var2 != 0) {
                  var11 = Class312.anIntArray3943[var2];
                  var7 = Class312.anIntArray3956[var2];
                  var8 = this.anIntArray9318[var5] * var7 - this.anIntArray9319[var5] * var11 + 16383 >> 14;
                  this.anIntArray9319[var5] = this.anIntArray9318[var5] * var11 + this.anIntArray9319[var5] * var7 + 16383 >> 14;
                  this.anIntArray9318[var5] = var8;
               }

               if(var3 != 0) {
                  var11 = Class312.anIntArray3943[var3];
                  var7 = Class312.anIntArray3956[var3];
                  var8 = this.anIntArray9319[var5] * var11 + this.anIntArray9336[var5] * var7 + 16383 >> 14;
                  this.anIntArray9319[var5] = this.anIntArray9319[var5] * var7 - this.anIntArray9336[var5] * var11 + 16383 >> 14;
                  this.anIntArray9336[var5] = var8;
               }

               this.anIntArray9336[var5] += this.anInt9308;
               this.anIntArray9318[var5] += this.anInt9349;
               this.anIntArray9319[var5] += this.anInt9350;
            }

         } else if(var1 == 3) {
            for(var5 = 0; var5 < this.anInt9315; ++var5) {
               this.anIntArray9336[var5] -= this.anInt9308;
               this.anIntArray9318[var5] -= this.anInt9349;
               this.anIntArray9319[var5] -= this.anInt9350;
               this.anIntArray9336[var5] = this.anIntArray9336[var5] * var2 / 128;
               this.anIntArray9318[var5] = this.anIntArray9318[var5] * var3 / 128;
               this.anIntArray9319[var5] = this.anIntArray9319[var5] * var4 / 128;
               this.anIntArray9336[var5] += this.anInt9308;
               this.anIntArray9318[var5] += this.anInt9349;
               this.anIntArray9319[var5] += this.anInt9350;
            }

         } else {
            Class133 var10;
            Class187 var12;
            if(var1 == 5) {
               for(var5 = 0; var5 < this.anInt9353; ++var5) {
                  var11 = (this.aByteArray9339[var5] & 255) + var2 * 8;
                  if(var11 < 0) {
                     var11 = 0;
                  } else if(var11 > 255) {
                     var11 = 255;
                  }

                  this.aByteArray9339[var5] = (byte)var11;
               }

               if(this.aClass133Array9355 != null) {
                  for(var5 = 0; var5 < this.anInt9354; ++var5) {
                     var10 = this.aClass133Array9355[var5];
                     var12 = this.aClass187Array9356[var5];
                     var12.anInt2250 = (var12.anInt2250 * 958896329 & 16777215 | 255 - (this.aByteArray9339[var10.anInt1577 * 1911690377] & 255) << 24) * 925892985;
                  }
               }

            } else if(var1 == 7) {
               for(var5 = 0; var5 < this.anInt9353; ++var5) {
                  var11 = this.aShortArray9351[var5] & '\uffff';
                  var7 = var11 >> 10 & 63;
                  var8 = var11 >> 7 & 7;
                  int var9 = var11 & 127;
                  var7 = var7 + var2 & 63;
                  var8 += var3;
                  if(var8 < 0) {
                     var8 = 0;
                  } else if(var8 > 7) {
                     var8 = 7;
                  }

                  var9 += var4;
                  if(var9 < 0) {
                     var9 = 0;
                  } else if(var9 > 127) {
                     var9 = 127;
                  }

                  this.aShortArray9351[var5] = (short)(var7 << 10 | var8 << 7 | var9);
               }

               this.aBool9346 = true;
               if(this.aClass133Array9355 != null) {
                  for(var5 = 0; var5 < this.anInt9354; ++var5) {
                     var10 = this.aClass133Array9355[var5];
                     var12 = this.aClass187Array9356[var5];
                     var12.anInt2250 = (var12.anInt2250 * 958896329 & -16777216 | Class516.anIntArray6082[Class166.method2855(this.aShortArray9351[var10.anInt1577 * 1911690377] & '\uffff', -494143993) & '\uffff'] & 16777215) * 925892985;
                  }
               }

            } else {
               Class187 var6;
               if(var1 == 8) {
                  for(var5 = 0; var5 < this.anInt9354; ++var5) {
                     var6 = this.aClass187Array9356[var5];
                     var6.anInt2243 += var2 * -715097745;
                     var6.anInt2244 += var3 * 2037475277;
                  }

               } else if(var1 == 10) {
                  for(var5 = 0; var5 < this.anInt9354; ++var5) {
                     var6 = this.aClass187Array9356[var5];
                     var6.aFloat2242 = var6.aFloat2242 * (float)var2 / 128.0F;
                     var6.aFloat2247 = var6.aFloat2247 * (float)var3 / 128.0F;
                  }

               } else if(var1 == 9) {
                  for(var5 = 0; var5 < this.anInt9354; ++var5) {
                     var6 = this.aClass187Array9356[var5];
                     var6.anInt2240 = (var6.anInt2240 * -644012521 + var2 & 16383) * -1875611225;
                  }

               }
            }
         }
      }
   }

   public void method12090(Class328 var1, Class89 var2, int var3) {
      this.method14759(var1, var2, var3);
   }

   public void f(int var1) {
      if((this.anInt9335 & 5) != 5) {
         throw new IllegalStateException();
      } else if(var1 == 4096) {
         this.method14812();
      } else if(var1 == 8192) {
         this.method14798();
      } else if(var1 == 12288) {
         this.method14754();
      } else {
         int var2 = Class312.anIntArray3943[var1];
         int var3 = Class312.anIntArray3956[var1];
         synchronized(this) {
            for(int var5 = 0; var5 < this.anInt9315; ++var5) {
               int var6 = this.anIntArray9319[var5] * var2 + this.anIntArray9336[var5] * var3 >> 14;
               this.anIntArray9319[var5] = this.anIntArray9319[var5] * var3 - this.anIntArray9336[var5] * var2 >> 14;
               this.anIntArray9336[var5] = var6;
            }

            this.method14815();
         }
      }
   }

   public void method12092(Class328 var1, Class89 var2, int var3) {
      this.method14759(var1, var2, var3);
   }

   public void bk(int var1) {
      if((this.anInt9335 & 3) != 3) {
         throw new IllegalStateException();
      } else {
         int var2 = Class312.anIntArray3943[var1];
         int var3 = Class312.anIntArray3956[var1];
         synchronized(this) {
            for(int var5 = 0; var5 < this.anInt9315; ++var5) {
               int var6 = this.anIntArray9318[var5] * var2 + this.anIntArray9336[var5] * var3 >> 14;
               this.anIntArray9318[var5] = this.anIntArray9318[var5] * var3 - this.anIntArray9336[var5] * var2 >> 14;
               this.anIntArray9336[var5] = var6;
            }

            this.method14815();
         }
      }
   }

   final boolean method14803(int var1) {
      return this.aByteArray9339 == null?false:this.aByteArray9339[var1] != 0;
   }

   final boolean method14804(int var1) {
      return this.aByteArray9339 == null?false:this.aByteArray9339[var1] != 0;
   }

   final boolean method14805(int var1) {
      return this.anIntArray9321 == null?false:this.anIntArray9321[var1] != -1;
   }

   public void method12054(byte var1, byte[] var2) {
      if((this.anInt9335 & 1048576) == 0) {
         throw new RuntimeException();
      } else {
         if(this.aByteArray9339 == null) {
            this.aByteArray9339 = new byte[this.anInt9353];
         }

         int var3;
         if(var2 == null) {
            for(var3 = 0; var3 < this.anInt9353; ++var3) {
               this.aByteArray9339[var3] = var1;
            }
         } else {
            for(var3 = 0; var3 < this.anInt9353; ++var3) {
               int var4 = 255 - (255 - (var2[var3] & 255)) * (255 - (var1 & 255)) / 255;
               this.aByteArray9339[var3] = (byte)var4;
            }
         }

         if(this.anInt9380 == 2) {
            this.anInt9380 = 1;
         }

      }
   }

   final void method14806(boolean var1, boolean var2, boolean var3, int var4, boolean var5, boolean var6) {
      if(this.anIntArray9331[var4] != -2) {
         short var7 = this.aShortArray9372[var4];
         short var8 = this.aShortArray9325[var4];
         short var9 = this.aShortArray9309[var4];
         float var10 = this.aFloatArray9361[var7];
         float var11 = this.aFloatArray9361[var8];
         float var12 = this.aFloatArray9361[var9];
         if(!var5 || var10 != -5000.0F && var11 != -5000.0F && var12 != -5000.0F) {
            float var13 = this.aFloatArray9299[var7];
            float var14 = this.aFloatArray9299[var8];
            float var15 = this.aFloatArray9299[var9];
            if(this.anIntArray9321[var4] != -1 || (var10 - var11) * (var15 - var14) - (var13 - var14) * (var12 - var11) > 0.0F) {
               if(var10 >= 0.0F && var11 >= 0.0F && var12 >= 0.0F && var10 <= (float)(this.aClass174_9301.anInt2084 * -1948638851) && var11 <= (float)(this.aClass174_9301.anInt2084 * -1948638851) && var12 <= (float)(this.aClass174_9301.anInt2084 * -1948638851)) {
                  this.aClass143_9303.aBool1650 = false;
               } else {
                  this.aClass143_9303.aBool1650 = true;
               }

               int var16;
               if(var6) {
                  var16 = this.anIntArray9321[var4];
                  if(var16 == -1 || !this.aClass133Array9355[var16].aBool1574) {
                     this.method14763(var1, var2, var3, var4);
                  }
               } else {
                  var16 = this.anIntArray9321[var4];
                  if(var16 != -1) {
                     Class133 var17 = this.aClass133Array9355[var16];
                     Class187 var18 = this.aClass187Array9356[var16];
                     if(!var17.aBool1574) {
                        this.method14762(var1, var2, var3, var4);
                     }

                     this.aClass545_Sub3_9343.method15349(var1, var2, var3, var18.anInt2246 * -859421743, var18.anInt2241 * 832443449, var18.aFloat2245, var18.anInt2248 * -1650912837, var18.anInt2249 * 860581823, var17.aShort1573 & '\uffff', var18.anInt2250 * 958896329, var17.aByte1576, var17.aByte1571);
                  } else {
                     this.method14762(var1, var2, var3, var4);
                  }
               }
            }

         }
      }
   }

   final void method14807(boolean var1, boolean var2, boolean var3, int var4) {
      short var5 = this.aShortArray9372[var4];
      short var6 = this.aShortArray9325[var4];
      short var7 = this.aShortArray9309[var4];
      if(this.aShortArray9374 != null && this.aShortArray9374[var4] != -1) {
         int var8 = -16777216;
         if(this.aByteArray9339 != null) {
            var8 = 255 - (this.aByteArray9339[var4] & 255) << 24;
         }

         if(this.anIntArray9331[var4] == -1) {
            int var9 = var8 | this.anIntArray9310[var4] & 16777215;
            this.aClass143_9303.method2650(var1, var2, var3, this.aFloatArray9299[var5], this.aFloatArray9299[var6], this.aFloatArray9299[var7], this.aFloatArray9361[var5], this.aFloatArray9361[var6], this.aFloatArray9361[var7], this.aFloatArray9373[var5], this.aFloatArray9373[var6], this.aFloatArray9373[var7], this.aFloatArray9305[var5], this.aFloatArray9305[var6], this.aFloatArray9305[var7], this.aFloatArrayArray9327[var4][0], this.aFloatArrayArray9327[var4][1], this.aFloatArrayArray9327[var4][2], this.aFloatArrayArray9328[var4][0], this.aFloatArrayArray9328[var4][1], this.aFloatArrayArray9328[var4][2], var9, var9, var9, this.aClass174_9301.anInt2090 * 723388769, 0.0F, 0.0F, 0.0F, this.aShortArray9374[var4]);
         } else {
            this.aClass143_9303.method2650(var1, var2, var3, this.aFloatArray9299[var5], this.aFloatArray9299[var6], this.aFloatArray9299[var7], this.aFloatArray9361[var5], this.aFloatArray9361[var6], this.aFloatArray9361[var7], this.aFloatArray9373[var5], this.aFloatArray9373[var6], this.aFloatArray9373[var7], this.aFloatArray9305[var5], this.aFloatArray9305[var6], this.aFloatArray9305[var7], this.aFloatArrayArray9327[var4][0], this.aFloatArrayArray9327[var4][1], this.aFloatArrayArray9327[var4][2], this.aFloatArrayArray9328[var4][0], this.aFloatArrayArray9328[var4][1], this.aFloatArrayArray9328[var4][2], var8 | this.anIntArray9310[var4] & 16777215, var8 | this.anIntArray9330[var4] & 16777215, var8 | this.anIntArray9331[var4] & 16777215, this.aClass174_9301.anInt2090 * 723388769, 0.0F, 0.0F, 0.0F, this.aShortArray9374[var4]);
         }
      } else {
         if(this.aByteArray9339 == null) {
            this.aClass143_9303.anInt1636 = 0;
         } else {
            this.aClass143_9303.anInt1636 = this.aByteArray9339[var4] & 255;
         }

         if(this.anIntArray9331[var4] == -1) {
            this.aClass143_9303.method2640(var1, var2, var3, this.aFloatArray9299[var5], this.aFloatArray9299[var6], this.aFloatArray9299[var7], this.aFloatArray9361[var5], this.aFloatArray9361[var6], this.aFloatArray9361[var7], this.aFloatArray9373[var5], this.aFloatArray9373[var6], this.aFloatArray9373[var7], Class516.anIntArray6082[this.anIntArray9310[var4] & '\uffff']);
         } else {
            this.aClass143_9303.method2644(var1, var2, var3, this.aFloatArray9299[var5], this.aFloatArray9299[var6], this.aFloatArray9299[var7], this.aFloatArray9361[var5], this.aFloatArray9361[var6], this.aFloatArray9361[var7], this.aFloatArray9373[var5], this.aFloatArray9373[var6], this.aFloatArray9373[var7], (float)(this.anIntArray9310[var4] & '\uffff'), (float)(this.anIntArray9330[var4] & '\uffff'), (float)(this.anIntArray9331[var4] & '\uffff'));
         }
      }

   }

   public boolean method12104(int var1, int var2, Class328 var3, boolean var4, int var5) {
      this.method14743(this.aClass545_Sub3_9343.method15346(Thread.currentThread()));
      Class317 var6 = this.aClass174_9301.aClass317_2100;
      var6.method5613(var3);
      Class317 var7 = this.aClass174_9301.aClass317_2101;
      var7.method5609(var6);
      var7.method5612(this.aClass545_Sub3_9343.aClass317_9805);
      boolean var8 = false;
      int var9 = Integer.MAX_VALUE;
      int var10 = Integer.MIN_VALUE;
      int var11 = Integer.MAX_VALUE;
      int var12 = Integer.MIN_VALUE;
      if(!this.aBool9358) {
         this.method14765();
      }

      int var13 = this.aShort9364 - this.aShort9363 >> 1;
      int var14 = this.aShort9362 - this.aShort9300 >> 1;
      int var15 = this.aShort9366 - this.aShort9365 >> 1;
      int var16 = this.aShort9363 + var13;
      int var17 = this.aShort9300 + var14;
      int var18 = this.aShort9365 + var15;
      int var19 = var16 - (var13 << var5);
      int var20 = var17 - (var14 << var5);
      int var21 = var18 - (var15 << var5);
      int var22 = var16 + (var13 << var5);
      int var23 = var17 + (var14 << var5);
      int var24 = var18 + (var15 << var5);
      this.anIntArray9375[0] = var19;
      this.anIntArray9376[0] = var20;
      this.anIntArray9377[0] = var21;
      this.anIntArray9375[1] = var22;
      this.anIntArray9376[1] = var20;
      this.anIntArray9377[1] = var21;
      this.anIntArray9375[2] = var19;
      this.anIntArray9376[2] = var23;
      this.anIntArray9377[2] = var21;
      this.anIntArray9375[3] = var22;
      this.anIntArray9376[3] = var23;
      this.anIntArray9377[3] = var21;
      this.anIntArray9375[4] = var19;
      this.anIntArray9376[4] = var20;
      this.anIntArray9377[4] = var24;
      this.anIntArray9375[5] = var22;
      this.anIntArray9376[5] = var20;
      this.anIntArray9377[5] = var24;
      this.anIntArray9375[6] = var19;
      this.anIntArray9376[6] = var23;
      this.anIntArray9377[6] = var24;
      this.anIntArray9375[7] = var22;
      this.anIntArray9376[7] = var23;
      this.anIntArray9377[7] = var24;

      int var25;
      int var27;
      int var26;
      float var29;
      int var28;
      float var31;
      float var30;
      float var32;
      for(var25 = 0; var25 < 8; ++var25) {
         var26 = this.anIntArray9375[var25];
         var27 = this.anIntArray9376[var25];
         var28 = this.anIntArray9377[var25];
         var29 = var7.aFloatArray4000[2] * (float)var26 + var7.aFloatArray4000[6] * (float)var27 + var7.aFloatArray4000[10] * (float)var28 + var7.aFloatArray4000[14];
         var30 = var7.aFloatArray4000[3] * (float)var26 + var7.aFloatArray4000[7] * (float)var27 + var7.aFloatArray4000[11] * (float)var28 + var7.aFloatArray4000[15];
         if(var29 >= -var30) {
            var31 = var7.aFloatArray4000[0] * (float)var26 + var7.aFloatArray4000[4] * (float)var27 + var7.aFloatArray4000[8] * (float)var28 + var7.aFloatArray4000[12];
            var32 = var7.aFloatArray4000[1] * (float)var26 + var7.aFloatArray4000[5] * (float)var27 + var7.aFloatArray4000[9] * (float)var28 + var7.aFloatArray4000[13];
            int var33 = (int)(this.aClass545_Sub3_9343.aFloat9812 + this.aClass545_Sub3_9343.aFloat9810 * var31 / var30);
            int var34 = (int)(this.aClass545_Sub3_9343.aFloat9814 + this.aClass545_Sub3_9343.aFloat9813 * var32 / var30);
            if(var33 < var9) {
               var9 = var33;
            }

            if(var33 > var10) {
               var10 = var33;
            }

            if(var34 < var11) {
               var11 = var34;
            }

            if(var34 > var12) {
               var12 = var34;
            }

            var8 = true;
         }
      }

      if(var8 && var1 > var9 && var1 < var10 && var2 > var11 && var2 < var12) {
         if(var4) {
            return true;
         }

         for(var25 = 0; var25 < this.anInt9315; ++var25) {
            var26 = this.anIntArray9336[var25];
            var27 = this.anIntArray9318[var25];
            var28 = this.anIntArray9319[var25];
            var29 = var7.aFloatArray4000[2] * (float)var26 + var7.aFloatArray4000[6] * (float)var27 + var7.aFloatArray4000[10] * (float)var28 + var7.aFloatArray4000[14];
            var30 = var7.aFloatArray4000[3] * (float)var26 + var7.aFloatArray4000[7] * (float)var27 + var7.aFloatArray4000[11] * (float)var28 + var7.aFloatArray4000[15];
            if(var29 >= -var30) {
               var31 = var7.aFloatArray4000[0] * (float)var26 + var7.aFloatArray4000[4] * (float)var27 + var7.aFloatArray4000[8] * (float)var28 + var7.aFloatArray4000[12];
               var32 = var7.aFloatArray4000[1] * (float)var26 + var7.aFloatArray4000[5] * (float)var27 + var7.aFloatArray4000[9] * (float)var28 + var7.aFloatArray4000[13];
               this.aFloatArray9361[var25] = (float)((int)(this.aClass545_Sub3_9343.aFloat9812 + this.aClass545_Sub3_9343.aFloat9810 * var31 / var30));
               this.aFloatArray9299[var25] = (float)((int)(this.aClass545_Sub3_9343.aFloat9814 + this.aClass545_Sub3_9343.aFloat9813 * var32 / var30));
            } else {
               this.aFloatArray9361[var25] = -999999.0F;
            }
         }

         for(var25 = 0; var25 < this.anInt9353; ++var25) {
            if(this.aFloatArray9361[this.aShortArray9372[var25]] != -999999.0F && this.aFloatArray9361[this.aShortArray9325[var25]] != -999999.0F && this.aFloatArray9361[this.aShortArray9309[var25]] != -999999.0F && this.method14769(var1, var2, this.aFloatArray9299[this.aShortArray9372[var25]], this.aFloatArray9299[this.aShortArray9325[var25]], this.aFloatArray9299[this.aShortArray9309[var25]], this.aFloatArray9361[this.aShortArray9372[var25]], this.aFloatArray9361[this.aShortArray9325[var25]], this.aFloatArray9361[this.aShortArray9309[var25]])) {
               return true;
            }
         }
      }

      return false;
   }

   public boolean method12061(int var1, int var2, Class328 var3, boolean var4, int var5) {
      this.method14743(this.aClass545_Sub3_9343.method15346(Thread.currentThread()));
      Class317 var6 = this.aClass174_9301.aClass317_2100;
      var6.method5613(var3);
      Class317 var7 = this.aClass174_9301.aClass317_2101;
      var7.method5609(var6);
      var7.method5612(this.aClass545_Sub3_9343.aClass317_9805);
      boolean var8 = false;
      int var9 = Integer.MAX_VALUE;
      int var10 = Integer.MIN_VALUE;
      int var11 = Integer.MAX_VALUE;
      int var12 = Integer.MIN_VALUE;
      if(!this.aBool9358) {
         this.method14765();
      }

      int var13 = this.aShort9364 - this.aShort9363 >> 1;
      int var14 = this.aShort9362 - this.aShort9300 >> 1;
      int var15 = this.aShort9366 - this.aShort9365 >> 1;
      int var16 = this.aShort9363 + var13;
      int var17 = this.aShort9300 + var14;
      int var18 = this.aShort9365 + var15;
      int var19 = var16 - (var13 << var5);
      int var20 = var17 - (var14 << var5);
      int var21 = var18 - (var15 << var5);
      int var22 = var16 + (var13 << var5);
      int var23 = var17 + (var14 << var5);
      int var24 = var18 + (var15 << var5);
      this.anIntArray9375[0] = var19;
      this.anIntArray9376[0] = var20;
      this.anIntArray9377[0] = var21;
      this.anIntArray9375[1] = var22;
      this.anIntArray9376[1] = var20;
      this.anIntArray9377[1] = var21;
      this.anIntArray9375[2] = var19;
      this.anIntArray9376[2] = var23;
      this.anIntArray9377[2] = var21;
      this.anIntArray9375[3] = var22;
      this.anIntArray9376[3] = var23;
      this.anIntArray9377[3] = var21;
      this.anIntArray9375[4] = var19;
      this.anIntArray9376[4] = var20;
      this.anIntArray9377[4] = var24;
      this.anIntArray9375[5] = var22;
      this.anIntArray9376[5] = var20;
      this.anIntArray9377[5] = var24;
      this.anIntArray9375[6] = var19;
      this.anIntArray9376[6] = var23;
      this.anIntArray9377[6] = var24;
      this.anIntArray9375[7] = var22;
      this.anIntArray9376[7] = var23;
      this.anIntArray9377[7] = var24;

      int var25;
      int var27;
      int var26;
      float var29;
      int var28;
      float var31;
      float var30;
      float var32;
      for(var25 = 0; var25 < 8; ++var25) {
         var26 = this.anIntArray9375[var25];
         var27 = this.anIntArray9376[var25];
         var28 = this.anIntArray9377[var25];
         var29 = var7.aFloatArray4000[2] * (float)var26 + var7.aFloatArray4000[6] * (float)var27 + var7.aFloatArray4000[10] * (float)var28 + var7.aFloatArray4000[14];
         var30 = var7.aFloatArray4000[3] * (float)var26 + var7.aFloatArray4000[7] * (float)var27 + var7.aFloatArray4000[11] * (float)var28 + var7.aFloatArray4000[15];
         if(var29 >= -var30) {
            var31 = var7.aFloatArray4000[0] * (float)var26 + var7.aFloatArray4000[4] * (float)var27 + var7.aFloatArray4000[8] * (float)var28 + var7.aFloatArray4000[12];
            var32 = var7.aFloatArray4000[1] * (float)var26 + var7.aFloatArray4000[5] * (float)var27 + var7.aFloatArray4000[9] * (float)var28 + var7.aFloatArray4000[13];
            int var33 = (int)(this.aClass545_Sub3_9343.aFloat9812 + this.aClass545_Sub3_9343.aFloat9810 * var31 / var30);
            int var34 = (int)(this.aClass545_Sub3_9343.aFloat9814 + this.aClass545_Sub3_9343.aFloat9813 * var32 / var30);
            if(var33 < var9) {
               var9 = var33;
            }

            if(var33 > var10) {
               var10 = var33;
            }

            if(var34 < var11) {
               var11 = var34;
            }

            if(var34 > var12) {
               var12 = var34;
            }

            var8 = true;
         }
      }

      if(var8 && var1 > var9 && var1 < var10 && var2 > var11 && var2 < var12) {
         if(var4) {
            return true;
         }

         for(var25 = 0; var25 < this.anInt9315; ++var25) {
            var26 = this.anIntArray9336[var25];
            var27 = this.anIntArray9318[var25];
            var28 = this.anIntArray9319[var25];
            var29 = var7.aFloatArray4000[2] * (float)var26 + var7.aFloatArray4000[6] * (float)var27 + var7.aFloatArray4000[10] * (float)var28 + var7.aFloatArray4000[14];
            var30 = var7.aFloatArray4000[3] * (float)var26 + var7.aFloatArray4000[7] * (float)var27 + var7.aFloatArray4000[11] * (float)var28 + var7.aFloatArray4000[15];
            if(var29 >= -var30) {
               var31 = var7.aFloatArray4000[0] * (float)var26 + var7.aFloatArray4000[4] * (float)var27 + var7.aFloatArray4000[8] * (float)var28 + var7.aFloatArray4000[12];
               var32 = var7.aFloatArray4000[1] * (float)var26 + var7.aFloatArray4000[5] * (float)var27 + var7.aFloatArray4000[9] * (float)var28 + var7.aFloatArray4000[13];
               this.aFloatArray9361[var25] = (float)((int)(this.aClass545_Sub3_9343.aFloat9812 + this.aClass545_Sub3_9343.aFloat9810 * var31 / var30));
               this.aFloatArray9299[var25] = (float)((int)(this.aClass545_Sub3_9343.aFloat9814 + this.aClass545_Sub3_9343.aFloat9813 * var32 / var30));
            } else {
               this.aFloatArray9361[var25] = -999999.0F;
            }
         }

         for(var25 = 0; var25 < this.anInt9353; ++var25) {
            if(this.aFloatArray9361[this.aShortArray9372[var25]] != -999999.0F && this.aFloatArray9361[this.aShortArray9325[var25]] != -999999.0F && this.aFloatArray9361[this.aShortArray9309[var25]] != -999999.0F && this.method14769(var1, var2, this.aFloatArray9299[this.aShortArray9372[var25]], this.aFloatArray9299[this.aShortArray9325[var25]], this.aFloatArray9299[this.aShortArray9309[var25]], this.aFloatArray9361[this.aShortArray9372[var25]], this.aFloatArray9361[this.aShortArray9325[var25]], this.aFloatArray9361[this.aShortArray9309[var25]])) {
               return true;
            }
         }
      }

      return false;
   }

   boolean method14808(int var1, int var2, float var3, float var4, float var5, float var6, float var7, float var8) {
      return (float)var2 < var3 && (float)var2 < var4 && (float)var2 < var5?false:((float)var2 > var3 && (float)var2 > var4 && (float)var2 > var5?false:((float)var1 < var6 && (float)var1 < var7 && (float)var1 < var8?false:(float)var1 <= var6 || (float)var1 <= var7 || (float)var1 <= var8));
   }

   boolean bt() {
      if(this.anIntArrayArray9344 == null) {
         return false;
      } else {
         this.anInt9308 = 0;
         this.anInt9349 = 0;
         this.anInt9350 = 0;
         return true;
      }
   }

   boolean method14809(int var1, int var2, float var3, float var4, float var5, float var6, float var7, float var8) {
      return (float)var2 < var3 && (float)var2 < var4 && (float)var2 < var5?false:((float)var2 > var3 && (float)var2 > var4 && (float)var2 > var5?false:((float)var1 < var6 && (float)var1 < var7 && (float)var1 < var8?false:(float)var1 <= var6 || (float)var1 <= var7 || (float)var1 <= var8));
   }

   boolean method14810(int var1, int var2, float var3, float var4, float var5, float var6, float var7, float var8) {
      return (float)var2 < var3 && (float)var2 < var4 && (float)var2 < var5?false:((float)var2 > var3 && (float)var2 > var4 && (float)var2 > var5?false:((float)var1 < var6 && (float)var1 < var7 && (float)var1 < var8?false:(float)var1 <= var6 || (float)var1 <= var7 || (float)var1 <= var8));
   }

   public void method12095(Class328 var1) {
      this.method14743(this.aClass545_Sub3_9343.method15346(Thread.currentThread()));
      Class317 var2 = this.aClass174_9301.aClass317_2100;
      var2.method5613(var1);
      int var3;
      if(this.aClass80Array9352 != null) {
         for(var3 = 0; var3 < this.aClass80Array9352.length; ++var3) {
            Class80 var4 = this.aClass80Array9352[var3];
            Class80 var5 = var4;
            if(var4.aClass80_813 != null) {
               var5 = var4.aClass80_813;
            }

            var5.anInt818 = (int)(var2.aFloatArray4000[12] + var2.aFloatArray4000[0] * (float)this.anIntArray9336[var4.anInt823 * -1938327915] + var2.aFloatArray4000[4] * (float)this.anIntArray9318[var4.anInt823 * -1938327915] + var2.aFloatArray4000[8] * (float)this.anIntArray9319[var4.anInt823 * -1938327915]) * -106916481;
            var5.anInt819 = (int)(var2.aFloatArray4000[13] + var2.aFloatArray4000[1] * (float)this.anIntArray9336[var4.anInt823 * -1938327915] + var2.aFloatArray4000[5] * (float)this.anIntArray9318[var4.anInt823 * -1938327915] + var2.aFloatArray4000[9] * (float)this.anIntArray9319[var4.anInt823 * -1938327915]) * 1242813859;
            var5.anInt820 = (int)(var2.aFloatArray4000[14] + var2.aFloatArray4000[2] * (float)this.anIntArray9336[var4.anInt823 * -1938327915] + var2.aFloatArray4000[6] * (float)this.anIntArray9318[var4.anInt823 * -1938327915] + var2.aFloatArray4000[10] * (float)this.anIntArray9319[var4.anInt823 * -1938327915]) * -1262846693;
            var5.anInt821 = (int)(var2.aFloatArray4000[12] + var2.aFloatArray4000[0] * (float)this.anIntArray9336[var4.anInt817 * 155642623] + var2.aFloatArray4000[4] * (float)this.anIntArray9318[var4.anInt817 * 155642623] + var2.aFloatArray4000[8] * (float)this.anIntArray9319[var4.anInt817 * 155642623]) * 1390482017;
            var5.anInt822 = (int)(var2.aFloatArray4000[13] + var2.aFloatArray4000[1] * (float)this.anIntArray9336[var4.anInt817 * 155642623] + var2.aFloatArray4000[5] * (float)this.anIntArray9318[var4.anInt817 * 155642623] + var2.aFloatArray4000[9] * (float)this.anIntArray9319[var4.anInt817 * 155642623]) * 113198053;
            var5.anInt812 = (int)(var2.aFloatArray4000[14] + var2.aFloatArray4000[2] * (float)this.anIntArray9336[var4.anInt817 * 155642623] + var2.aFloatArray4000[6] * (float)this.anIntArray9318[var4.anInt817 * 155642623] + var2.aFloatArray4000[10] * (float)this.anIntArray9319[var4.anInt817 * 155642623]) * -345033777;
            var5.anInt814 = (int)(var2.aFloatArray4000[12] + var2.aFloatArray4000[0] * (float)this.anIntArray9336[var4.anInt816 * 1387679] + var2.aFloatArray4000[4] * (float)this.anIntArray9318[var4.anInt816 * 1387679] + var2.aFloatArray4000[8] * (float)this.anIntArray9319[var4.anInt816 * 1387679]) * 1898027;
            var5.anInt825 = (int)(var2.aFloatArray4000[13] + var2.aFloatArray4000[1] * (float)this.anIntArray9336[var4.anInt816 * 1387679] + var2.aFloatArray4000[5] * (float)this.anIntArray9318[var4.anInt816 * 1387679] + var2.aFloatArray4000[9] * (float)this.anIntArray9319[var4.anInt816 * 1387679]) * 572237437;
            var5.anInt826 = (int)(var2.aFloatArray4000[14] + var2.aFloatArray4000[2] * (float)this.anIntArray9336[var4.anInt816 * 1387679] + var2.aFloatArray4000[6] * (float)this.anIntArray9318[var4.anInt816 * 1387679] + var2.aFloatArray4000[10] * (float)this.anIntArray9319[var4.anInt816 * 1387679]) * -1729217923;
         }
      }

      if(this.aClass166Array9341 != null) {
         for(var3 = 0; var3 < this.aClass166Array9341.length; ++var3) {
            Class166 var6 = this.aClass166Array9341[var3];
            Class166 var7 = var6;
            if(var6.aClass166_2016 != null) {
               var7 = var6.aClass166_2016;
            }

            if(var6.aClass317_2019 != null) {
               var6.aClass317_2019.method5609(var2);
            } else {
               var6.aClass317_2019 = new Class317(var2);
            }

            var7.anInt2018 = (int)(var2.aFloatArray4000[12] + var2.aFloatArray4000[0] * (float)this.anIntArray9336[var6.anInt2017 * 1229316477] + var2.aFloatArray4000[4] * (float)this.anIntArray9318[var6.anInt2017 * 1229316477] + var2.aFloatArray4000[8] * (float)this.anIntArray9319[var6.anInt2017 * 1229316477]) * -404024063;
            var7.anInt2015 = (int)(var2.aFloatArray4000[13] + var2.aFloatArray4000[1] * (float)this.anIntArray9336[var6.anInt2017 * 1229316477] + var2.aFloatArray4000[5] * (float)this.anIntArray9318[var6.anInt2017 * 1229316477] + var2.aFloatArray4000[9] * (float)this.anIntArray9319[var6.anInt2017 * 1229316477]) * -212113837;
            var7.anInt2020 = (int)(var2.aFloatArray4000[14] + var2.aFloatArray4000[2] * (float)this.anIntArray9336[var6.anInt2017 * 1229316477] + var2.aFloatArray4000[6] * (float)this.anIntArray9318[var6.anInt2017 * 1229316477] + var2.aFloatArray4000[10] * (float)this.anIntArray9319[var6.anInt2017 * 1229316477]) * -306574699;
         }
      }

   }

   public boolean er() {
      return this.aBool9368;
   }

   public void ia(int var1, int var2, int var3) {
      if(var1 != 0 && (this.anInt9335 & 1) != 1) {
         throw new IllegalStateException();
      } else if(var2 != 0 && (this.anInt9335 & 2) != 2) {
         throw new IllegalStateException();
      } else if(var3 != 0 && (this.anInt9335 & 4) != 4) {
         throw new IllegalStateException();
      } else {
         synchronized(this) {
            for(int var5 = 0; var5 < this.anInt9315; ++var5) {
               this.anIntArray9336[var5] += var1;
               this.anIntArray9318[var5] += var2;
               this.anIntArray9319[var5] += var3;
            }

         }
      }
   }

   void method14811() {
      synchronized(this) {
         int var2;
         int var3;
         for(var2 = 0; var2 < this.anInt9316; ++var2) {
            var3 = this.anIntArray9336[var2];
            this.anIntArray9336[var2] = this.anIntArray9319[var2];
            this.anIntArray9319[var2] = -var3;
            if(this.aClass183Array9340[var2] != null) {
               var3 = this.aClass183Array9340[var2].anInt2200;
               this.aClass183Array9340[var2].anInt2200 = this.aClass183Array9340[var2].anInt2202;
               this.aClass183Array9340[var2].anInt2202 = -var3;
            }
         }

         if(this.aClass189Array9371 != null) {
            for(var2 = 0; var2 < this.anInt9353; ++var2) {
               if(this.aClass189Array9371[var2] != null) {
                  var3 = this.aClass189Array9371[var2].anInt2269;
                  this.aClass189Array9371[var2].anInt2269 = this.aClass189Array9371[var2].anInt2271;
                  this.aClass189Array9371[var2].anInt2271 = -var3;
               }
            }
         }

         for(var2 = this.anInt9316; var2 < this.anInt9315; ++var2) {
            var3 = this.anIntArray9336[var2];
            this.anIntArray9336[var2] = this.anIntArray9319[var2];
            this.anIntArray9319[var2] = -var3;
         }

         this.anInt9380 = 0;
         this.aBool9358 = false;
      }
   }

   void method14812() {
      synchronized(this) {
         for(int var2 = 0; var2 < this.anInt9315; ++var2) {
            int var3 = this.anIntArray9336[var2];
            this.anIntArray9336[var2] = this.anIntArray9319[var2];
            this.anIntArray9319[var2] = -var3;
         }

         this.method14815();
      }
   }

   public int cp() {
      if(!this.aBool9358) {
         this.method14765();
      }

      return this.aShort9363;
   }

   public void PA(int var1, int var2, int var3, int var4) {
      if((this.anInt9335 & 524288) != 524288) {
         throw new IllegalStateException();
      } else {
         int var5;
         for(var5 = 0; var5 < this.anInt9353; ++var5) {
            int var6 = this.aShortArray9351[var5] & '\uffff';
            int var7 = var6 >> 10 & 63;
            int var8 = var6 >> 7 & 7;
            int var9 = var6 & 127;
            if(var1 != -1) {
               var7 += (var1 - var7) * var4 >> 7;
            }

            if(var2 != -1) {
               var8 += (var2 - var8) * var4 >> 7;
            }

            if(var3 != -1) {
               var9 += (var3 - var9) * var4 >> 7;
            }

            this.aShortArray9351[var5] = (short)(var7 << 10 | var8 << 7 | var9);
         }

         if(this.aClass133Array9355 != null) {
            for(var5 = 0; var5 < this.anInt9354; ++var5) {
               Class133 var10 = this.aClass133Array9355[var5];
               Class187 var11 = this.aClass187Array9356[var5];
               var11.anInt2250 = (var11.anInt2250 * 958896329 & -16777216 | Class516.anIntArray6082[Class166.method2855(this.aShortArray9351[var10.anInt1577 * 1911690377] & '\uffff', -1009445689) & '\uffff'] & 16777215) * 925892985;
            }
         }

         if(this.anInt9380 == 2) {
            this.anInt9380 = 1;
         }

      }
   }

   public int ct() {
      if(!this.aBool9358) {
         this.method14765();
      }

      return this.aShort9364;
   }

   public int ce() {
      if(!this.aBool9358) {
         this.method14765();
      }

      return this.aShort9300;
   }

   public int ci() {
      if(!this.aBool9358) {
         this.method14765();
      }

      return this.aShort9300;
   }

   void method14813(Class174 var1) {
      this.aClass143_9303 = var1.aClass143_2098;
      if(var1 != this.aClass174_9301) {
         this.aClass174_9301 = var1;
         this.anIntArray9370 = this.aClass174_9301.anIntArray2102;
         this.aFloatArray9361 = this.aClass174_9301.aFloatArray2103;
         this.aFloatArray9299 = this.aClass174_9301.aFloatArray2104;
         this.aFloatArray9373 = this.aClass174_9301.aFloatArray2105;
         this.aFloatArray9305 = this.aClass174_9301.aFloatArray2106;
         this.anIntArray9375 = this.aClass174_9301.anIntArray2107;
         this.anIntArray9376 = this.aClass174_9301.anIntArray2118;
         this.anIntArray9377 = this.aClass174_9301.anIntArray2109;
         this.anIntArray9329 = this.aClass174_9301.anIntArray2110;
         this.anIntArray9379 = this.aClass174_9301.anIntArray2128;
         this.anIntArray9321 = this.aClass174_9301.anIntArray2112;
      }
   }

   void method14814(boolean var1) {
      if(this.anInt9380 == 1) {
         this.method14748();
      } else if(this.anInt9380 == 2) {
         if((this.anInt9335 & 618648) == 0 && this.aFloatArrayArray9327 == null) {
            this.aShortArray9351 = null;
         }

         if(var1) {
            this.aByteArray9326 = null;
         }

      } else {
         this.method14757();
         int var2 = this.aClass545_Sub3_9343.anInt9796 * -326293289;
         int var3 = this.aClass545_Sub3_9343.anInt9821 * -830589473;
         int var4 = this.aClass545_Sub3_9343.anInt9798 * 1044205117;
         int var5 = this.aClass545_Sub3_9343.anInt9801 * 39418165 >> 8;
         int var6 = 0;
         int var7 = 0;
         if(this.anInt9324 != 0) {
            var6 = this.aClass545_Sub3_9343.anInt9799 * -753343744 / this.anInt9324;
            var7 = this.aClass545_Sub3_9343.anInt9804 * -1350128896 / this.anInt9324;
         }

         if(this.anIntArray9310 == null) {
            this.anIntArray9310 = new int[this.anInt9353];
            this.anIntArray9330 = new int[this.anInt9353];
            this.anIntArray9331 = new int[this.anInt9353];
         }

         for(int var8 = 0; var8 < this.anInt9353; ++var8) {
            byte var9;
            if(this.aByteArray9326 == null) {
               var9 = 0;
            } else {
               var9 = this.aByteArray9326[var8];
            }

            byte var10;
            if(this.aByteArray9339 == null) {
               var10 = 0;
            } else {
               var10 = this.aByteArray9339[var8];
            }

            short var11;
            if(this.aShortArray9374 == null) {
               var11 = -1;
            } else {
               var11 = this.aShortArray9374[var8];
            }

            if(var10 == -2) {
               var9 = 3;
            }

            if(var10 == -1) {
               var9 = 2;
            }

            int var12;
            int var18;
            if(var11 == -1) {
               int var13;
               short var14;
               int var17;
               int var16;
               if(var9 == 0) {
                  var12 = this.aShortArray9351[var8] & '\uffff';
                  var13 = (var12 & 127) * this.anInt9313 >> 7;
                  var14 = Class166.method2855(var12 & -128 | var13, -1711997699);
                  Class183 var15;
                  if(this.aClass183Array9322 != null && this.aClass183Array9322[this.aShortArray9372[var8]] != null) {
                     var15 = this.aClass183Array9322[this.aShortArray9372[var8]];
                  } else {
                     var15 = this.aClass183Array9340[this.aShortArray9372[var8]];
                  }

                  var16 = (var2 * var15.anInt2200 + var3 * var15.anInt2201 + var4 * var15.anInt2202) / var15.anInt2203 >> 16;
                  var17 = var16 > 256?var6:var7;
                  var18 = (var5 >> 1) + (var17 * var16 >> 17);
                  this.anIntArray9310[var8] = var18 << 17 | Class576.method12223(var14, var18, 431922138);
                  if(this.aClass183Array9322 != null && this.aClass183Array9322[this.aShortArray9325[var8]] != null) {
                     var15 = this.aClass183Array9322[this.aShortArray9325[var8]];
                  } else {
                     var15 = this.aClass183Array9340[this.aShortArray9325[var8]];
                  }

                  var16 = (var2 * var15.anInt2200 + var3 * var15.anInt2201 + var4 * var15.anInt2202) / var15.anInt2203 >> 16;
                  var17 = var16 > 256?var6:var7;
                  var18 = (var5 >> 1) + (var17 * var16 >> 17);
                  this.anIntArray9330[var8] = var18 << 17 | Class576.method12223(var14, var18, 431922138);
                  if(this.aClass183Array9322 != null && this.aClass183Array9322[this.aShortArray9309[var8]] != null) {
                     var15 = this.aClass183Array9322[this.aShortArray9309[var8]];
                  } else {
                     var15 = this.aClass183Array9340[this.aShortArray9309[var8]];
                  }

                  var16 = (var2 * var15.anInt2200 + var3 * var15.anInt2201 + var4 * var15.anInt2202) / var15.anInt2203 >> 16;
                  var17 = var16 > 256?var6:var7;
                  var18 = (var5 >> 1) + (var17 * var16 >> 17);
                  this.anIntArray9331[var8] = var18 << 17 | Class576.method12223(var14, var18, 431922138);
               } else if(var9 == 1) {
                  var12 = this.aShortArray9351[var8] & '\uffff';
                  var13 = (var12 & 127) * this.anInt9313 >> 7;
                  var14 = Class166.method2855(var12 & -128 | var13, 559934102);
                  Class189 var22 = this.aClass189Array9371[var8];
                  var18 = var2 * var22.anInt2269 + var3 * var22.anInt2270 + var4 * var22.anInt2271 >> 16;
                  var16 = var18 > 256?var6:var7;
                  var17 = (var5 >> 1) + (var16 * var18 >> 17);
                  this.anIntArray9310[var8] = var17 << 17 | Class576.method12223(var14, var17, 431922138);
                  this.anIntArray9331[var8] = -1;
               } else if(var9 == 3) {
                  this.anIntArray9310[var8] = 128;
                  this.anIntArray9331[var8] = -1;
               } else {
                  this.anIntArray9331[var8] = -2;
               }
            } else {
               var12 = this.aShortArray9351[var8] & '\uffff';
               int var20;
               int var23;
               if(var9 == 0) {
                  Class183 var19;
                  if(this.aClass183Array9322 != null && this.aClass183Array9322[this.aShortArray9372[var8]] != null) {
                     var19 = this.aClass183Array9322[this.aShortArray9372[var8]];
                  } else {
                     var19 = this.aClass183Array9340[this.aShortArray9372[var8]];
                  }

                  var23 = (var2 * var19.anInt2200 + var3 * var19.anInt2201 + var4 * var19.anInt2202) / var19.anInt2203 >> 16;
                  var18 = var23 > 256?var6:var7;
                  var20 = this.method14818((var5 >> 2) + (var18 * var23 >> 18));
                  this.anIntArray9310[var8] = var20 << 24 | this.method14751(var12, var11, var20);
                  if(this.aClass183Array9322 != null && this.aClass183Array9322[this.aShortArray9325[var8]] != null) {
                     var19 = this.aClass183Array9322[this.aShortArray9325[var8]];
                  } else {
                     var19 = this.aClass183Array9340[this.aShortArray9325[var8]];
                  }

                  var23 = (var2 * var19.anInt2200 + var3 * var19.anInt2201 + var4 * var19.anInt2202) / var19.anInt2203 >> 16;
                  var18 = var23 > 256?var6:var7;
                  var20 = this.method14818((var5 >> 2) + (var18 * var23 >> 18));
                  this.anIntArray9330[var8] = var20 << 24 | this.method14751(var12, var11, var20);
                  if(this.aClass183Array9322 != null && this.aClass183Array9322[this.aShortArray9309[var8]] != null) {
                     var19 = this.aClass183Array9322[this.aShortArray9309[var8]];
                  } else {
                     var19 = this.aClass183Array9340[this.aShortArray9309[var8]];
                  }

                  var23 = (var2 * var19.anInt2200 + var3 * var19.anInt2201 + var4 * var19.anInt2202) / var19.anInt2203 >> 16;
                  var18 = var23 > 256?var6:var7;
                  var20 = this.method14818((var5 >> 2) + (var18 * var23 >> 18));
                  this.anIntArray9331[var8] = var20 << 24 | this.method14751(var12, var11, var20);
               } else if(var9 == 1) {
                  Class189 var21 = this.aClass189Array9371[var8];
                  var20 = var2 * var21.anInt2269 + var3 * var21.anInt2270 + var4 * var21.anInt2271 >> 16;
                  var23 = var20 > 256?var6:var7;
                  var18 = this.method14818((var5 >> 2) + (var23 * var20 >> 18));
                  this.anIntArray9310[var8] = var18 << 24 | this.method14751(var12, var11, var18);
                  this.anIntArray9331[var8] = -1;
               } else {
                  this.anIntArray9331[var8] = -2;
               }
            }
         }

         this.aClass183Array9340 = null;
         this.aClass183Array9322 = null;
         this.aClass189Array9371 = null;
         if((this.anInt9335 & 618648) == 0 && this.aFloatArrayArray9327 == null) {
            this.aShortArray9351 = null;
         }

         if(var1) {
            this.aByteArray9326 = null;
         }

         this.anInt9380 = 2;
      }
   }

   public int cc() {
      if(!this.aBool9358) {
         this.method14765();
      }

      return this.aShort9362;
   }

   public int cn() {
      if(!this.aBool9358) {
         this.method14765();
      }

      return this.aShort9362;
   }

   void co(int var1, int[] var2, int var3, int var4, int var5, boolean var6, int var7, int[] var8) {
      int var9 = var2.length;
      int var10;
      int var11;
      int var15;
      int var50;
      int var49;
      if(var1 == 0) {
         var3 <<= 4;
         var4 <<= 4;
         var5 <<= 4;
         if(!this.aBool9347) {
            for(var10 = 0; var10 < this.anInt9315; ++var10) {
               this.anIntArray9336[var10] <<= 4;
               this.anIntArray9318[var10] <<= 4;
               this.anIntArray9319[var10] <<= 4;
            }

            this.aBool9347 = true;
         }

         var10 = 0;
         this.anInt9308 = 0;
         this.anInt9349 = 0;
         this.anInt9350 = 0;

         for(var11 = 0; var11 < var9; ++var11) {
            var50 = var2[var11];
            if(var50 < this.anIntArrayArray9344.length) {
               int[] var51 = this.anIntArrayArray9344[var50];

               for(var49 = 0; var49 < var51.length; ++var49) {
                  var15 = var51[var49];
                  if(this.aShortArray9320 == null || (var7 & this.aShortArray9320[var15]) != 0) {
                     this.anInt9308 += this.anIntArray9336[var15];
                     this.anInt9349 += this.anIntArray9318[var15];
                     this.anInt9350 += this.anIntArray9319[var15];
                     ++var10;
                  }
               }
            }
         }

         if(var10 > 0) {
            this.anInt9308 = this.anInt9308 / var10 + var3;
            this.anInt9349 = this.anInt9349 / var10 + var4;
            this.anInt9350 = this.anInt9350 / var10 + var5;
            this.aBool9359 = true;
         } else {
            this.anInt9308 = var3;
            this.anInt9349 = var4;
            this.anInt9350 = var5;
         }

      } else {
         int[] var12;
         int var13;
         if(var1 == 1) {
            if(var8 != null) {
               var10 = var8[0] * var3 + var8[1] * var4 + var8[2] * var5 + 8192 >> 14;
               var11 = var8[3] * var3 + var8[4] * var4 + var8[5] * var5 + 8192 >> 14;
               var50 = var8[6] * var3 + var8[7] * var4 + var8[8] * var5 + 8192 >> 14;
               var3 = var10;
               var4 = var11;
               var5 = var50;
            }

            var3 <<= 4;
            var4 <<= 4;
            var5 <<= 4;
            if(!this.aBool9347) {
               for(var10 = 0; var10 < this.anInt9315; ++var10) {
                  this.anIntArray9336[var10] <<= 4;
                  this.anIntArray9318[var10] <<= 4;
                  this.anIntArray9319[var10] <<= 4;
               }

               this.aBool9347 = true;
            }

            for(var10 = 0; var10 < var9; ++var10) {
               var11 = var2[var10];
               if(var11 < this.anIntArrayArray9344.length) {
                  var12 = this.anIntArrayArray9344[var11];

                  for(var13 = 0; var13 < var12.length; ++var13) {
                     var49 = var12[var13];
                     if(this.aShortArray9320 == null || (var7 & this.aShortArray9320[var49]) != 0) {
                        this.anIntArray9336[var49] += var3;
                        this.anIntArray9318[var49] += var4;
                        this.anIntArray9319[var49] += var5;
                     }
                  }
               }
            }

         } else {
            int var17;
            int var16;
            int var19;
            int var18;
            int var21;
            int var20;
            int var23;
            int var22;
            int var24;
            int var27;
            int var26;
            int var28;
            int var30;
            int var34;
            int[] var35;
            int var32;
            int var33;
            int var38;
            int var39;
            int var36;
            int var37;
            int var40;
            if(var1 == 2) {
               if(var8 != null) {
                  if(!this.aBool9347) {
                     for(var10 = 0; var10 < this.anInt9315; ++var10) {
                        this.anIntArray9336[var10] <<= 4;
                        this.anIntArray9318[var10] <<= 4;
                        this.anIntArray9319[var10] <<= 4;
                     }

                     this.aBool9347 = true;
                  }

                  var10 = var8[9] << 4;
                  var11 = var8[10] << 4;
                  var50 = var8[11] << 4;
                  var13 = var8[12] << 4;
                  var49 = var8[13] << 4;
                  var15 = var8[14] << 4;
                  if(this.aBool9359) {
                     var16 = var8[0] * this.anInt9308 + var8[3] * this.anInt9349 + var8[6] * this.anInt9350 + 8192 >> 14;
                     var17 = var8[1] * this.anInt9308 + var8[4] * this.anInt9349 + var8[7] * this.anInt9350 + 8192 >> 14;
                     var18 = var8[2] * this.anInt9308 + var8[5] * this.anInt9349 + var8[8] * this.anInt9350 + 8192 >> 14;
                     var16 += var13;
                     var17 += var49;
                     var18 += var15;
                     this.anInt9308 = var16;
                     this.anInt9349 = var17;
                     this.anInt9350 = var18;
                     this.aBool9359 = false;
                  }

                  int[] var52 = new int[9];
                  var17 = Class312.anIntArray3956[var3];
                  var18 = Class312.anIntArray3943[var3];
                  var19 = Class312.anIntArray3956[var4];
                  var20 = Class312.anIntArray3943[var4];
                  var21 = Class312.anIntArray3956[var5];
                  var22 = Class312.anIntArray3943[var5];
                  var23 = var18 * var21 + 8192 >> 14;
                  var24 = var18 * var22 + 8192 >> 14;
                  var52[0] = var19 * var21 + var20 * var24 + 8192 >> 14;
                  var52[1] = -var19 * var22 + var20 * var23 + 8192 >> 14;
                  var52[2] = var20 * var17 + 8192 >> 14;
                  var52[3] = var17 * var22 + 8192 >> 14;
                  var52[4] = var17 * var21 + 8192 >> 14;
                  var52[5] = -var18;
                  var52[6] = -var20 * var21 + var19 * var24 + 8192 >> 14;
                  var52[7] = var20 * var22 + var19 * var23 + 8192 >> 14;
                  var52[8] = var19 * var17 + 8192 >> 14;
                  int var53 = var52[0] * -this.anInt9308 + var52[1] * -this.anInt9349 + var52[2] * -this.anInt9350 + 8192 >> 14;
                  var26 = var52[3] * -this.anInt9308 + var52[4] * -this.anInt9349 + var52[5] * -this.anInt9350 + 8192 >> 14;
                  var27 = var52[6] * -this.anInt9308 + var52[7] * -this.anInt9349 + var52[8] * -this.anInt9350 + 8192 >> 14;
                  var28 = var53 + this.anInt9308;
                  int var54 = var26 + this.anInt9349;
                  var30 = var27 + this.anInt9350;
                  int[] var55 = new int[9];

                  for(var32 = 0; var32 < 3; ++var32) {
                     for(var33 = 0; var33 < 3; ++var33) {
                        var34 = 0;

                        for(int var56 = 0; var56 < 3; ++var56) {
                           var34 += var52[var32 * 3 + var56] * var8[var33 * 3 + var56];
                        }

                        var55[var32 * 3 + var33] = var34 + 8192 >> 14;
                     }
                  }

                  var32 = var52[0] * var13 + var52[1] * var49 + var52[2] * var15 + 8192 >> 14;
                  var33 = var52[3] * var13 + var52[4] * var49 + var52[5] * var15 + 8192 >> 14;
                  var34 = var52[6] * var13 + var52[7] * var49 + var52[8] * var15 + 8192 >> 14;
                  var32 += var28;
                  var33 += var54;
                  var34 += var30;
                  var35 = new int[9];

                  for(var36 = 0; var36 < 3; ++var36) {
                     for(var37 = 0; var37 < 3; ++var37) {
                        var38 = 0;

                        for(var39 = 0; var39 < 3; ++var39) {
                           var38 += var8[var36 * 3 + var39] * var55[var37 + var39 * 3];
                        }

                        var35[var36 * 3 + var37] = var38 + 8192 >> 14;
                     }
                  }

                  var36 = var8[0] * var32 + var8[1] * var33 + var8[2] * var34 + 8192 >> 14;
                  var37 = var8[3] * var32 + var8[4] * var33 + var8[5] * var34 + 8192 >> 14;
                  var38 = var8[6] * var32 + var8[7] * var33 + var8[8] * var34 + 8192 >> 14;
                  var36 += var10;
                  var37 += var11;
                  var38 += var50;

                  for(var39 = 0; var39 < var9; ++var39) {
                     var40 = var2[var39];
                     if(var40 < this.anIntArrayArray9344.length) {
                        int[] var41 = this.anIntArrayArray9344[var40];

                        for(int var42 = 0; var42 < var41.length; ++var42) {
                           int var43 = var41[var42];
                           if(this.aShortArray9320 == null || (var7 & this.aShortArray9320[var43]) != 0) {
                              int var44 = var35[0] * this.anIntArray9336[var43] + var35[1] * this.anIntArray9318[var43] + var35[2] * this.anIntArray9319[var43] + 8192 >> 14;
                              int var45 = var35[3] * this.anIntArray9336[var43] + var35[4] * this.anIntArray9318[var43] + var35[5] * this.anIntArray9319[var43] + 8192 >> 14;
                              int var46 = var35[6] * this.anIntArray9336[var43] + var35[7] * this.anIntArray9318[var43] + var35[8] * this.anIntArray9319[var43] + 8192 >> 14;
                              var44 += var36;
                              var45 += var37;
                              var46 += var38;
                              this.anIntArray9336[var43] = var44;
                              this.anIntArray9318[var43] = var45;
                              this.anIntArray9319[var43] = var46;
                           }
                        }
                     }
                  }
               } else {
                  for(var10 = 0; var10 < var9; ++var10) {
                     var11 = var2[var10];
                     if(var11 < this.anIntArrayArray9344.length) {
                        var12 = this.anIntArrayArray9344[var11];

                        for(var13 = 0; var13 < var12.length; ++var13) {
                           var49 = var12[var13];
                           if(this.aShortArray9320 == null || (var7 & this.aShortArray9320[var49]) != 0) {
                              this.anIntArray9336[var49] -= this.anInt9308;
                              this.anIntArray9318[var49] -= this.anInt9349;
                              this.anIntArray9319[var49] -= this.anInt9350;
                              if(var5 != 0) {
                                 var15 = Class312.anIntArray3943[var5];
                                 var16 = Class312.anIntArray3956[var5];
                                 var17 = this.anIntArray9318[var49] * var15 + this.anIntArray9336[var49] * var16 + 16383 >> 14;
                                 this.anIntArray9318[var49] = this.anIntArray9318[var49] * var16 - this.anIntArray9336[var49] * var15 + 16383 >> 14;
                                 this.anIntArray9336[var49] = var17;
                              }

                              if(var3 != 0) {
                                 var15 = Class312.anIntArray3943[var3];
                                 var16 = Class312.anIntArray3956[var3];
                                 var17 = this.anIntArray9318[var49] * var16 - this.anIntArray9319[var49] * var15 + 16383 >> 14;
                                 this.anIntArray9319[var49] = this.anIntArray9318[var49] * var15 + this.anIntArray9319[var49] * var16 + 16383 >> 14;
                                 this.anIntArray9318[var49] = var17;
                              }

                              if(var4 != 0) {
                                 var15 = Class312.anIntArray3943[var4];
                                 var16 = Class312.anIntArray3956[var4];
                                 var17 = this.anIntArray9319[var49] * var15 + this.anIntArray9336[var49] * var16 + 16383 >> 14;
                                 this.anIntArray9319[var49] = this.anIntArray9319[var49] * var16 - this.anIntArray9336[var49] * var15 + 16383 >> 14;
                                 this.anIntArray9336[var49] = var17;
                              }

                              this.anIntArray9336[var49] += this.anInt9308;
                              this.anIntArray9318[var49] += this.anInt9349;
                              this.anIntArray9319[var49] += this.anInt9350;
                           }
                        }
                     }
                  }
               }

            } else if(var1 == 3) {
               if(var8 != null) {
                  if(!this.aBool9347) {
                     for(var10 = 0; var10 < this.anInt9315; ++var10) {
                        this.anIntArray9336[var10] <<= 4;
                        this.anIntArray9318[var10] <<= 4;
                        this.anIntArray9319[var10] <<= 4;
                     }

                     this.aBool9347 = true;
                  }

                  var10 = var8[9] << 4;
                  var11 = var8[10] << 4;
                  var50 = var8[11] << 4;
                  var13 = var8[12] << 4;
                  var49 = var8[13] << 4;
                  var15 = var8[14] << 4;
                  if(this.aBool9359) {
                     var16 = var8[0] * this.anInt9308 + var8[3] * this.anInt9349 + var8[6] * this.anInt9350 + 8192 >> 14;
                     var17 = var8[1] * this.anInt9308 + var8[4] * this.anInt9349 + var8[7] * this.anInt9350 + 8192 >> 14;
                     var18 = var8[2] * this.anInt9308 + var8[5] * this.anInt9349 + var8[8] * this.anInt9350 + 8192 >> 14;
                     var16 += var13;
                     var17 += var49;
                     var18 += var15;
                     this.anInt9308 = var16;
                     this.anInt9349 = var17;
                     this.anInt9350 = var18;
                     this.aBool9359 = false;
                  }

                  var16 = var3 << 15 >> 7;
                  var17 = var4 << 15 >> 7;
                  var18 = var5 << 15 >> 7;
                  var19 = var16 * -this.anInt9308 + 8192 >> 14;
                  var20 = var17 * -this.anInt9349 + 8192 >> 14;
                  var21 = var18 * -this.anInt9350 + 8192 >> 14;
                  var22 = var19 + this.anInt9308;
                  var23 = var20 + this.anInt9349;
                  var24 = var21 + this.anInt9350;
                  int[] var25 = new int[]{var16 * var8[0] + 8192 >> 14, var16 * var8[3] + 8192 >> 14, var16 * var8[6] + 8192 >> 14, var17 * var8[1] + 8192 >> 14, var17 * var8[4] + 8192 >> 14, var17 * var8[7] + 8192 >> 14, var18 * var8[2] + 8192 >> 14, var18 * var8[5] + 8192 >> 14, var18 * var8[8] + 8192 >> 14};
                  var26 = var16 * var13 + 8192 >> 14;
                  var27 = var17 * var49 + 8192 >> 14;
                  var28 = var18 * var15 + 8192 >> 14;
                  var26 += var22;
                  var27 += var23;
                  var28 += var24;
                  int[] var29 = new int[9];

                  int var31;
                  for(var30 = 0; var30 < 3; ++var30) {
                     for(var31 = 0; var31 < 3; ++var31) {
                        var32 = 0;

                        for(var33 = 0; var33 < 3; ++var33) {
                           var32 += var8[var30 * 3 + var33] * var25[var31 + var33 * 3];
                        }

                        var29[var30 * 3 + var31] = var32 + 8192 >> 14;
                     }
                  }

                  var30 = var8[0] * var26 + var8[1] * var27 + var8[2] * var28 + 8192 >> 14;
                  var31 = var8[3] * var26 + var8[4] * var27 + var8[5] * var28 + 8192 >> 14;
                  var32 = var8[6] * var26 + var8[7] * var27 + var8[8] * var28 + 8192 >> 14;
                  var30 += var10;
                  var31 += var11;
                  var32 += var50;

                  for(var33 = 0; var33 < var9; ++var33) {
                     var34 = var2[var33];
                     if(var34 < this.anIntArrayArray9344.length) {
                        var35 = this.anIntArrayArray9344[var34];

                        for(var36 = 0; var36 < var35.length; ++var36) {
                           var37 = var35[var36];
                           if(this.aShortArray9320 == null || (var7 & this.aShortArray9320[var37]) != 0) {
                              var38 = var29[0] * this.anIntArray9336[var37] + var29[1] * this.anIntArray9318[var37] + var29[2] * this.anIntArray9319[var37] + 8192 >> 14;
                              var39 = var29[3] * this.anIntArray9336[var37] + var29[4] * this.anIntArray9318[var37] + var29[5] * this.anIntArray9319[var37] + 8192 >> 14;
                              var40 = var29[6] * this.anIntArray9336[var37] + var29[7] * this.anIntArray9318[var37] + var29[8] * this.anIntArray9319[var37] + 8192 >> 14;
                              var38 += var30;
                              var39 += var31;
                              var40 += var32;
                              this.anIntArray9336[var37] = var38;
                              this.anIntArray9318[var37] = var39;
                              this.anIntArray9319[var37] = var40;
                           }
                        }
                     }
                  }
               } else {
                  for(var10 = 0; var10 < var9; ++var10) {
                     var11 = var2[var10];
                     if(var11 < this.anIntArrayArray9344.length) {
                        var12 = this.anIntArrayArray9344[var11];

                        for(var13 = 0; var13 < var12.length; ++var13) {
                           var49 = var12[var13];
                           if(this.aShortArray9320 == null || (var7 & this.aShortArray9320[var49]) != 0) {
                              this.anIntArray9336[var49] -= this.anInt9308;
                              this.anIntArray9318[var49] -= this.anInt9349;
                              this.anIntArray9319[var49] -= this.anInt9350;
                              this.anIntArray9336[var49] = this.anIntArray9336[var49] * var3 / 128;
                              this.anIntArray9318[var49] = this.anIntArray9318[var49] * var4 / 128;
                              this.anIntArray9319[var49] = this.anIntArray9319[var49] * var5 / 128;
                              this.anIntArray9336[var49] += this.anInt9308;
                              this.anIntArray9318[var49] += this.anInt9349;
                              this.anIntArray9319[var49] += this.anInt9350;
                           }
                        }
                     }
                  }
               }

            } else {
               Class133 var47;
               Class187 var48;
               if(var1 == 5) {
                  if(this.anIntArrayArray9345 != null && this.aByteArray9339 != null) {
                     for(var10 = 0; var10 < var9; ++var10) {
                        var11 = var2[var10];
                        if(var11 < this.anIntArrayArray9345.length) {
                           var12 = this.anIntArrayArray9345[var11];

                           for(var13 = 0; var13 < var12.length; ++var13) {
                              var49 = var12[var13];
                              if(this.aShortArray9342 == null || (var7 & this.aShortArray9342[var49]) != 0) {
                                 var15 = (this.aByteArray9339[var49] & 255) + var3 * 8;
                                 if(var15 < 0) {
                                    var15 = 0;
                                 } else if(var15 > 255) {
                                    var15 = 255;
                                 }

                                 this.aByteArray9339[var49] = (byte)var15;
                              }
                           }
                        }
                     }

                     if(this.aClass133Array9355 != null) {
                        for(var10 = 0; var10 < this.anInt9354; ++var10) {
                           var47 = this.aClass133Array9355[var10];
                           var48 = this.aClass187Array9356[var10];
                           var48.anInt2250 = (var48.anInt2250 * 958896329 & 16777215 | 255 - (this.aByteArray9339[var47.anInt1577 * 1911690377] & 255) << 24) * 925892985;
                        }
                     }
                  }

               } else if(var1 == 7) {
                  if(this.anIntArrayArray9345 != null) {
                     for(var10 = 0; var10 < var9; ++var10) {
                        var11 = var2[var10];
                        if(var11 < this.anIntArrayArray9345.length) {
                           var12 = this.anIntArrayArray9345[var11];

                           for(var13 = 0; var13 < var12.length; ++var13) {
                              var49 = var12[var13];
                              if(this.aShortArray9342 == null || (var7 & this.aShortArray9342[var49]) != 0) {
                                 var15 = this.aShortArray9351[var49] & '\uffff';
                                 var16 = var15 >> 10 & 63;
                                 var17 = var15 >> 7 & 7;
                                 var18 = var15 & 127;
                                 var16 = var16 + var3 & 63;
                                 var17 += var4;
                                 if(var17 < 0) {
                                    var17 = 0;
                                 } else if(var17 > 7) {
                                    var17 = 7;
                                 }

                                 var18 += var5;
                                 if(var18 < 0) {
                                    var18 = 0;
                                 } else if(var18 > 127) {
                                    var18 = 127;
                                 }

                                 this.aShortArray9351[var49] = (short)(var16 << 10 | var17 << 7 | var18);
                              }
                           }

                           this.aBool9346 = true;
                        }
                     }

                     if(this.aClass133Array9355 != null) {
                        for(var10 = 0; var10 < this.anInt9354; ++var10) {
                           var47 = this.aClass133Array9355[var10];
                           var48 = this.aClass187Array9356[var10];
                           var48.anInt2250 = (var48.anInt2250 * 958896329 & -16777216 | Class516.anIntArray6082[Class166.method2855(this.aShortArray9351[var47.anInt1577 * 1911690377] & '\uffff', 686393931) & '\uffff'] & 16777215) * 925892985;
                        }
                     }
                  }

               } else {
                  Class187 var14;
                  if(var1 == 8) {
                     if(this.anIntArrayArray9357 != null) {
                        for(var10 = 0; var10 < var9; ++var10) {
                           var11 = var2[var10];
                           if(var11 < this.anIntArrayArray9357.length) {
                              var12 = this.anIntArrayArray9357[var11];

                              for(var13 = 0; var13 < var12.length; ++var13) {
                                 var14 = this.aClass187Array9356[var12[var13]];
                                 var14.anInt2243 += var3 * -715097745;
                                 var14.anInt2244 += var4 * 2037475277;
                              }
                           }
                        }
                     }

                  } else if(var1 == 10) {
                     if(this.anIntArrayArray9357 != null) {
                        for(var10 = 0; var10 < var9; ++var10) {
                           var11 = var2[var10];
                           if(var11 < this.anIntArrayArray9357.length) {
                              var12 = this.anIntArrayArray9357[var11];

                              for(var13 = 0; var13 < var12.length; ++var13) {
                                 var14 = this.aClass187Array9356[var12[var13]];
                                 var14.aFloat2242 = var14.aFloat2242 * (float)var3 / 128.0F;
                                 var14.aFloat2247 = var14.aFloat2247 * (float)var4 / 128.0F;
                              }
                           }
                        }
                     }

                  } else if(var1 == 9) {
                     if(this.anIntArrayArray9357 != null) {
                        for(var10 = 0; var10 < var9; ++var10) {
                           var11 = var2[var10];
                           if(var11 < this.anIntArrayArray9357.length) {
                              var12 = this.anIntArrayArray9357[var11];

                              for(var13 = 0; var13 < var12.length; ++var13) {
                                 var14 = this.aClass187Array9356[var12[var13]];
                                 var14.anInt2240 = (var14.anInt2240 * -644012521 + var3 & 16383) * -1875611225;
                              }
                           }
                        }
                     }

                  }
               }
            }
         }
      }
   }

   public void method12115(byte var1, byte[] var2) {
      if((this.anInt9335 & 1048576) == 0) {
         throw new RuntimeException();
      } else {
         if(this.aByteArray9339 == null) {
            this.aByteArray9339 = new byte[this.anInt9353];
         }

         int var3;
         if(var2 == null) {
            for(var3 = 0; var3 < this.anInt9353; ++var3) {
               this.aByteArray9339[var3] = var1;
            }
         } else {
            for(var3 = 0; var3 < this.anInt9353; ++var3) {
               int var4 = 255 - (255 - (var2[var3] & 255)) * (255 - (var1 & 255)) / 255;
               this.aByteArray9339[var3] = (byte)var4;
            }
         }

         if(this.anInt9380 == 2) {
            this.anInt9380 = 1;
         }

      }
   }

   void method14815() {
      this.aClass183Array9340 = null;
      this.aClass183Array9322 = null;
      this.aClass189Array9371 = null;
      this.aBool9358 = false;
   }

   public int dk() {
      if(!this.aBool9358) {
         this.method14765();
      }

      return this.aShort9366;
   }

   void method12085() {
      if(this.aClass545_Sub3_9343.anInt9817 * -310738315 > 1) {
         synchronized(this) {
            while(this.aBool7555) {
               try {
                  this.wait();
               } catch (InterruptedException var4) {
                  ;
               }
            }

            this.aBool7555 = true;
         }
      }

   }

   public void db(int var1) {
      if((this.anInt9335 & 8192) != 8192) {
         throw new IllegalStateException();
      } else {
         this.anInt9324 = var1;
         this.anInt9380 = 0;
      }
   }

   public void dc(int var1) {
      if((this.anInt9335 & 8192) != 8192) {
         throw new IllegalStateException();
      } else {
         this.anInt9324 = var1;
         this.anInt9380 = 0;
      }
   }

   public void dw(int var1) {
      if((this.anInt9335 & 8192) != 8192) {
         throw new IllegalStateException();
      } else {
         this.anInt9324 = var1;
         this.anInt9380 = 0;
      }
   }

   public Class225_Sub14_Sub16 ch(Class225_Sub14_Sub16 var1) {
      return null;
   }

   public int dp() {
      return this.anInt9313;
   }

   public int dt() {
      return this.anInt9313;
   }

   public int dm() {
      return this.anInt9324;
   }

   public boolean method12070(int var1, int var2, Class328 var3, boolean var4, int var5) {
      this.method14743(this.aClass545_Sub3_9343.method15346(Thread.currentThread()));
      Class317 var6 = this.aClass174_9301.aClass317_2100;
      var6.method5613(var3);
      Class317 var7 = this.aClass174_9301.aClass317_2101;
      var7.method5609(var6);
      var7.method5612(this.aClass545_Sub3_9343.aClass317_9805);
      boolean var8 = false;
      int var9 = Integer.MAX_VALUE;
      int var10 = Integer.MIN_VALUE;
      int var11 = Integer.MAX_VALUE;
      int var12 = Integer.MIN_VALUE;
      if(!this.aBool9358) {
         this.method14765();
      }

      int var13 = this.aShort9364 - this.aShort9363 >> 1;
      int var14 = this.aShort9362 - this.aShort9300 >> 1;
      int var15 = this.aShort9366 - this.aShort9365 >> 1;
      int var16 = this.aShort9363 + var13;
      int var17 = this.aShort9300 + var14;
      int var18 = this.aShort9365 + var15;
      int var19 = var16 - (var13 << var5);
      int var20 = var17 - (var14 << var5);
      int var21 = var18 - (var15 << var5);
      int var22 = var16 + (var13 << var5);
      int var23 = var17 + (var14 << var5);
      int var24 = var18 + (var15 << var5);
      this.anIntArray9375[0] = var19;
      this.anIntArray9376[0] = var20;
      this.anIntArray9377[0] = var21;
      this.anIntArray9375[1] = var22;
      this.anIntArray9376[1] = var20;
      this.anIntArray9377[1] = var21;
      this.anIntArray9375[2] = var19;
      this.anIntArray9376[2] = var23;
      this.anIntArray9377[2] = var21;
      this.anIntArray9375[3] = var22;
      this.anIntArray9376[3] = var23;
      this.anIntArray9377[3] = var21;
      this.anIntArray9375[4] = var19;
      this.anIntArray9376[4] = var20;
      this.anIntArray9377[4] = var24;
      this.anIntArray9375[5] = var22;
      this.anIntArray9376[5] = var20;
      this.anIntArray9377[5] = var24;
      this.anIntArray9375[6] = var19;
      this.anIntArray9376[6] = var23;
      this.anIntArray9377[6] = var24;
      this.anIntArray9375[7] = var22;
      this.anIntArray9376[7] = var23;
      this.anIntArray9377[7] = var24;

      int var25;
      int var27;
      int var26;
      float var29;
      int var28;
      float var31;
      float var30;
      float var32;
      for(var25 = 0; var25 < 8; ++var25) {
         var26 = this.anIntArray9375[var25];
         var27 = this.anIntArray9376[var25];
         var28 = this.anIntArray9377[var25];
         var29 = var7.aFloatArray4000[2] * (float)var26 + var7.aFloatArray4000[6] * (float)var27 + var7.aFloatArray4000[10] * (float)var28 + var7.aFloatArray4000[14];
         var30 = var7.aFloatArray4000[3] * (float)var26 + var7.aFloatArray4000[7] * (float)var27 + var7.aFloatArray4000[11] * (float)var28 + var7.aFloatArray4000[15];
         if(var29 >= -var30) {
            var31 = var7.aFloatArray4000[0] * (float)var26 + var7.aFloatArray4000[4] * (float)var27 + var7.aFloatArray4000[8] * (float)var28 + var7.aFloatArray4000[12];
            var32 = var7.aFloatArray4000[1] * (float)var26 + var7.aFloatArray4000[5] * (float)var27 + var7.aFloatArray4000[9] * (float)var28 + var7.aFloatArray4000[13];
            int var33 = (int)(this.aClass545_Sub3_9343.aFloat9812 + this.aClass545_Sub3_9343.aFloat9810 * var31 / var30);
            int var34 = (int)(this.aClass545_Sub3_9343.aFloat9814 + this.aClass545_Sub3_9343.aFloat9813 * var32 / var30);
            if(var33 < var9) {
               var9 = var33;
            }

            if(var33 > var10) {
               var10 = var33;
            }

            if(var34 < var11) {
               var11 = var34;
            }

            if(var34 > var12) {
               var12 = var34;
            }

            var8 = true;
         }
      }

      if(var8 && var1 > var9 && var1 < var10 && var2 > var11 && var2 < var12) {
         if(var4) {
            return true;
         }

         for(var25 = 0; var25 < this.anInt9315; ++var25) {
            var26 = this.anIntArray9336[var25];
            var27 = this.anIntArray9318[var25];
            var28 = this.anIntArray9319[var25];
            var29 = var7.aFloatArray4000[2] * (float)var26 + var7.aFloatArray4000[6] * (float)var27 + var7.aFloatArray4000[10] * (float)var28 + var7.aFloatArray4000[14];
            var30 = var7.aFloatArray4000[3] * (float)var26 + var7.aFloatArray4000[7] * (float)var27 + var7.aFloatArray4000[11] * (float)var28 + var7.aFloatArray4000[15];
            if(var29 >= -var30) {
               var31 = var7.aFloatArray4000[0] * (float)var26 + var7.aFloatArray4000[4] * (float)var27 + var7.aFloatArray4000[8] * (float)var28 + var7.aFloatArray4000[12];
               var32 = var7.aFloatArray4000[1] * (float)var26 + var7.aFloatArray4000[5] * (float)var27 + var7.aFloatArray4000[9] * (float)var28 + var7.aFloatArray4000[13];
               this.aFloatArray9361[var25] = (float)((int)(this.aClass545_Sub3_9343.aFloat9812 + this.aClass545_Sub3_9343.aFloat9810 * var31 / var30));
               this.aFloatArray9299[var25] = (float)((int)(this.aClass545_Sub3_9343.aFloat9814 + this.aClass545_Sub3_9343.aFloat9813 * var32 / var30));
            } else {
               this.aFloatArray9361[var25] = -999999.0F;
            }
         }

         for(var25 = 0; var25 < this.anInt9353; ++var25) {
            if(this.aFloatArray9361[this.aShortArray9372[var25]] != -999999.0F && this.aFloatArray9361[this.aShortArray9325[var25]] != -999999.0F && this.aFloatArray9361[this.aShortArray9309[var25]] != -999999.0F && this.method14769(var1, var2, this.aFloatArray9299[this.aShortArray9372[var25]], this.aFloatArray9299[this.aShortArray9325[var25]], this.aFloatArray9299[this.aShortArray9309[var25]], this.aFloatArray9361[this.aShortArray9372[var25]], this.aFloatArray9361[this.aShortArray9325[var25]], this.aFloatArray9361[this.aShortArray9309[var25]])) {
               return true;
            }
         }
      }

      return false;
   }

   public int cl() {
      if(!this.aBool9358) {
         this.method14765();
      }

      return this.aShort9300;
   }

   public int dx() {
      return this.anInt9324;
   }

   public int dv() {
      return this.anInt9324;
   }

   public byte[] dy() {
      return this.aByteArray9339;
   }

   public int de() {
      if(!this.aBool9358) {
         this.method14765();
      }

      return this.aShort9366;
   }

   public void dq(short var1, short var2) {
      int var3;
      for(var3 = 0; var3 < this.anInt9353; ++var3) {
         if(this.aShortArray9351[var3] == var1) {
            this.aShortArray9351[var3] = var2;
         }
      }

      if(this.aClass133Array9355 != null) {
         for(var3 = 0; var3 < this.anInt9354; ++var3) {
            Class133 var4 = this.aClass133Array9355[var3];
            Class187 var5 = this.aClass187Array9356[var3];
            var5.anInt2250 = (var5.anInt2250 * 958896329 & -16777216 | Class516.anIntArray6082[Class166.method2855(this.aShortArray9351[var4.anInt1577 * 1911690377], 915683959) & '\uffff'] & 16777215) * 925892985;
         }
      }

      if(this.anInt9380 == 2) {
         this.anInt9380 = 1;
      }

   }

   public void dj(short var1, short var2) {
      if(this.aShortArray9374 != null) {
         if(!this.aBool9368 && var2 >= 0) {
            Class161 var3 = this.aClass545_Sub3_9343.anInterface24_7370.method113(var2 & '\uffff', -742593763);
            if(var3.aByte1972 != 0 || var3.aByte1993 != 0) {
               this.aBool9368 = true;
            }
         }

         for(int var4 = 0; var4 < this.anInt9353; ++var4) {
            if(this.aShortArray9374[var4] == var1) {
               this.aShortArray9374[var4] = var2;
            }
         }

      }
   }

   public void dg(int var1, int var2, int var3, int var4) {
      if((this.anInt9335 & 524288) != 524288) {
         throw new IllegalStateException();
      } else {
         int var5;
         for(var5 = 0; var5 < this.anInt9353; ++var5) {
            int var6 = this.aShortArray9351[var5] & '\uffff';
            int var7 = var6 >> 10 & 63;
            int var8 = var6 >> 7 & 7;
            int var9 = var6 & 127;
            if(var1 != -1) {
               var7 += (var1 - var7) * var4 >> 7;
            }

            if(var2 != -1) {
               var8 += (var2 - var8) * var4 >> 7;
            }

            if(var3 != -1) {
               var9 += (var3 - var9) * var4 >> 7;
            }

            this.aShortArray9351[var5] = (short)(var7 << 10 | var8 << 7 | var9);
         }

         if(this.aClass133Array9355 != null) {
            for(var5 = 0; var5 < this.anInt9354; ++var5) {
               Class133 var10 = this.aClass133Array9355[var5];
               Class187 var11 = this.aClass187Array9356[var5];
               var11.anInt2250 = (var11.anInt2250 * 958896329 & -16777216 | Class516.anIntArray6082[Class166.method2855(this.aShortArray9351[var10.anInt1577 * 1911690377] & '\uffff', -146970979) & '\uffff'] & 16777215) * 925892985;
            }
         }

         if(this.anInt9380 == 2) {
            this.anInt9380 = 1;
         }

      }
   }

   Class568_Sub2(Class545_Sub3 var1, Class96 var2, int var3, int var4, int var5, int var6) {
      this.aClass545_Sub3_9343 = var1;
      this.anInt9335 = var3;
      this.anInt9313 = var4;
      this.anInt9324 = var5;
      Interface24 var7 = this.aClass545_Sub3_9343.anInterface24_7370;
      this.anInt9315 = var2.anInt962;
      this.anInt9316 = var2.anInt946;
      this.anIntArray9336 = var2.anIntArray970;
      this.anIntArray9318 = var2.anIntArray948;
      this.anIntArray9319 = var2.anIntArray968;
      this.anInt9353 = var2.anInt952;
      this.aShortArray9372 = var2.aShortArray955;
      this.aShortArray9325 = var2.aShortArray954;
      this.aShortArray9309 = var2.aShortArray945;
      this.aByteArray9338 = var2.aByteArray978;
      this.aShortArray9351 = var2.aShortArray960;
      this.aByteArray9339 = var2.aByteArray958;
      this.aShortArray9342 = var2.aShortArray964;
      this.aByteArray9326 = var2.aByteArray956;
      this.aClass80Array9352 = var2.aClass80Array971;
      this.aClass166Array9341 = var2.aClass166Array979;
      this.aShortArray9320 = var2.aShortArray953;
      int[] var8 = new int[this.anInt9353];

      for(int var9 = 0; var9 < this.anInt9353; var8[var9] = var9++) {
         ;
      }

      long[] var54 = new long[this.anInt9353];
      boolean var10 = (this.anInt9335 & 256) != 0;

      int var11;
      int var14;
      byte var17;
      int var59;
      short var66;
      for(var11 = 0; var11 < this.anInt9353; ++var11) {
         int var12 = var8[var11];
         Class161 var13 = null;
         var14 = 0;
         byte var15 = 0;
         byte var16 = 0;
         var17 = 0;
         if(var2.aClass92Array980 != null) {
            boolean var18 = false;

            for(int var19 = 0; var19 < var2.aClass92Array980.length; ++var19) {
               Class92 var20 = var2.aClass92Array980[var19];
               if(var12 == var20.anInt910 * -1848462151) {
                  Class363 var21 = Class365.method6498(var20.anInt907 * -1088039237, (byte)-36);
                  if(var21.aBool4518) {
                     var18 = true;
                  }

                  if(var21.anInt4512 * 1783365595 != -1) {
                     Class161 var22 = var7.method113(var21.anInt4512 * 1783365595, 258312133);
                     if(var22.aClass565_1987 == Class565.aClass565_7503) {
                        this.aBool9367 = true;
                     }
                  }
               }
            }

            if(var18) {
               var54[var11] = Long.MAX_VALUE;
            }
         }

         var66 = -1;
         if(var2.aShortArray961 != null) {
            var66 = var2.aShortArray961[var12];
            if(var66 != -1) {
               var13 = var7.method113(var66 & '\uffff', 2001467376);
               if((var6 & 64) != 0 && var13.aBool1994) {
                  var66 = -1;
               } else {
                  var16 = var13.aByte1986;
                  var17 = var13.aByte1999;
               }
            }
         }

         boolean var70 = this.aByteArray9339 != null && this.aByteArray9339[var12] != 0 || var13 != null && var13.aClass565_1987 == Class565.aClass565_7503;
         if((var10 || var70) && this.aByteArray9338 != null) {
            var14 += this.aByteArray9338[var12] << 17;
         }

         if(var70) {
            var14 += 65536;
         }

         var14 += (var16 & 255) << 8;
         var14 += var17 & 255;
         var59 = var15 + ((var66 & '\uffff') << 16);
         var59 += var11 & '\uffff';
         var54[var11] = ((long)var14 << 32) + (long)var59;
         this.aBool9367 |= var70;
      }

      Class304.method5433(var54, var8, 606995546);
      if(var2.aClass92Array980 != null) {
         this.anInt9354 = var2.aClass92Array980.length;
         this.aClass133Array9355 = new Class133[this.anInt9354];
         this.aClass187Array9356 = new Class187[this.anInt9354];

         for(var11 = 0; var11 < var2.aClass92Array980.length; ++var11) {
            Class92 var55 = var2.aClass92Array980[var11];
            Class363 var58 = Class365.method6498(var55.anInt907 * -1088039237, (byte)-3);
            var14 = Class516.anIntArray6082[var2.aShortArray960[var55.anInt910 * -1848462151] & '\uffff'] & 16777215;
            var14 |= 255 - (var2.aByteArray958 != null?var2.aByteArray958[var55.anInt910 * -1848462151] & 255:0) << 24;
            this.aClass133Array9355[var11] = new Class133(var55.anInt910 * -1848462151, var2.aShortArray955[var55.anInt910 * -1848462151], var2.aShortArray954[var55.anInt910 * -1848462151], var2.aShortArray945[var55.anInt910 * -1848462151], var58.anInt4517 * -1285243639, var58.anInt4514 * 329927051, var58.anInt4512 * 1783365595, var58.anInt4516 * 1064097259, var58.anInt4515 * -2026459051, var58.aBool4518, var55.anInt908 * 1260888395);
            this.aClass187Array9356[var11] = new Class187(var14);
         }
      }

      this.aFloatArrayArray9327 = new float[this.anInt9353][];
      this.aFloatArrayArray9328 = new float[this.anInt9353][];
      Class77 var56 = this.method12058(var2, var8, this.anInt9353);
      Class174 var57 = this.aClass545_Sub3_9343.method15346(Thread.currentThread());
      float[] var60 = var57.aFloatArray2120;
      boolean var63 = false;

      int var62;
      for(var59 = 0; var59 < this.anInt9353; ++var59) {
         var62 = var8[var59];
         if(var2.aByteArray951 == null) {
            var17 = -1;
         } else {
            var17 = var2.aByteArray951[var62];
         }

         var66 = var2.aShortArray961 == null?-1:var2.aShortArray961[var62];
         if(var66 != -1 && (var6 & 64) != 0) {
            Class161 var69 = var7.method113(var66 & '\uffff', -2067085444);
            if(var69.aBool1994) {
               var66 = -1;
            }
         }

         if(var66 != -1) {
            var63 = true;
            float[] var67 = this.aFloatArrayArray9327[var62] = new float[3];
            float[] var68 = this.aFloatArrayArray9328[var62] = new float[3];
            boolean var73 = false;
            if(var17 == -1) {
               var67[0] = 0.0F;
               var68[0] = 1.0F;
               var67[1] = 1.0F;
               var68[1] = 1.0F;
               var67[2] = 0.0F;
               var68[2] = 0.0F;
            } else {
               int var65 = var17 & 255;
               byte var71 = var2.aByteArray957[var65];
               short var23;
               short var25;
               short var24;
               float var31;
               float var32;
               float var33;
               float var43;
               float var46;
               float var47;
               float var44;
               float var45;
               float var48;
               if(var71 == 0) {
                  var23 = this.aShortArray9372[var62];
                  var24 = this.aShortArray9325[var62];
                  var25 = this.aShortArray9309[var62];
                  short var26 = var2.aShortArray967[var65];
                  short var27 = var2.aShortArray977[var65];
                  short var28 = var2.aShortArray969[var65];
                  float var29 = (float)this.anIntArray9336[var26];
                  float var30 = (float)this.anIntArray9318[var26];
                  var31 = (float)this.anIntArray9319[var26];
                  var32 = (float)this.anIntArray9336[var27] - var29;
                  var33 = (float)this.anIntArray9318[var27] - var30;
                  float var34 = (float)this.anIntArray9319[var27] - var31;
                  float var35 = (float)this.anIntArray9336[var28] - var29;
                  float var36 = (float)this.anIntArray9318[var28] - var30;
                  float var37 = (float)this.anIntArray9319[var28] - var31;
                  float var38 = (float)this.anIntArray9336[var23] - var29;
                  float var39 = (float)this.anIntArray9318[var23] - var30;
                  float var40 = (float)this.anIntArray9319[var23] - var31;
                  float var41 = (float)this.anIntArray9336[var24] - var29;
                  float var42 = (float)this.anIntArray9318[var24] - var30;
                  var43 = (float)this.anIntArray9319[var24] - var31;
                  var44 = (float)this.anIntArray9336[var25] - var29;
                  var45 = (float)this.anIntArray9318[var25] - var30;
                  var46 = (float)this.anIntArray9319[var25] - var31;
                  var47 = var33 * var37 - var34 * var36;
                  var48 = var34 * var35 - var32 * var37;
                  float var49 = var32 * var36 - var33 * var35;
                  float var50 = var36 * var49 - var37 * var48;
                  float var51 = var37 * var47 - var35 * var49;
                  float var52 = var35 * var48 - var36 * var47;
                  float var53 = 1.0F / (var50 * var32 + var51 * var33 + var52 * var34);
                  var67[0] = (var50 * var38 + var51 * var39 + var52 * var40) * var53;
                  var67[1] = (var50 * var41 + var51 * var42 + var52 * var43) * var53;
                  var67[2] = (var50 * var44 + var51 * var45 + var52 * var46) * var53;
                  var50 = var33 * var49 - var34 * var48;
                  var51 = var34 * var47 - var32 * var49;
                  var52 = var32 * var48 - var33 * var47;
                  var53 = 1.0F / (var50 * var35 + var51 * var36 + var52 * var37);
                  var68[0] = (var50 * var38 + var51 * var39 + var52 * var40) * var53;
                  var68[1] = (var50 * var41 + var51 * var42 + var52 * var43) * var53;
                  var68[2] = (var50 * var44 + var51 * var45 + var52 * var46) * var53;
               } else {
                  var23 = this.aShortArray9372[var62];
                  var24 = this.aShortArray9325[var62];
                  var25 = this.aShortArray9309[var62];
                  int var76 = var56.anIntArray714[var65];
                  int var77 = var56.anIntArray717[var65];
                  int var75 = var56.anIntArray716[var65];
                  float[] var79 = var56.aFloatArrayArray715[var65];
                  byte var78 = var2.aByteArray959[var65];
                  var31 = (float)var2.anIntArray973[var65] / 256.0F;
                  if(var71 == 1) {
                     var32 = (float)var2.anIntArray972[var65] / 1024.0F;
                     this.method12055(this.anIntArray9336[var23], this.anIntArray9318[var23], this.anIntArray9319[var23], var76, var77, var75, var79, var32, var78, var31, var60);
                     var67[0] = var60[0];
                     var68[0] = var60[1];
                     this.method12055(this.anIntArray9336[var24], this.anIntArray9318[var24], this.anIntArray9319[var24], var76, var77, var75, var79, var32, var78, var31, var60);
                     var67[1] = var60[0];
                     var68[1] = var60[1];
                     this.method12055(this.anIntArray9336[var25], this.anIntArray9318[var25], this.anIntArray9319[var25], var76, var77, var75, var79, var32, var78, var31, var60);
                     var67[2] = var60[0];
                     var68[2] = var60[1];
                     var33 = var32 / 2.0F;
                     if((var78 & 1) == 0) {
                        if(var67[1] - var67[0] > var33) {
                           var67[1] -= var32;
                        } else if(var67[0] - var67[1] > var33) {
                           var67[1] += var32;
                        }

                        if(var67[2] - var67[0] > var33) {
                           var67[2] -= var32;
                        } else if(var67[0] - var67[2] > var33) {
                           var67[2] += var32;
                        }
                     } else {
                        if(var68[1] - var68[0] > var33) {
                           var68[1] -= var32;
                        } else if(var68[0] - var68[1] > var33) {
                           var68[1] += var32;
                        }

                        if(var68[2] - var68[0] > var33) {
                           var68[2] -= var32;
                        } else if(var68[0] - var68[2] > var33) {
                           var68[2] += var32;
                        }
                     }
                  } else if(var71 == 2) {
                     var32 = (float)var2.anIntArray974[var65] / 256.0F;
                     var33 = (float)var2.anIntArray975[var65] / 256.0F;
                     int var82 = this.anIntArray9336[var24] - this.anIntArray9336[var23];
                     int var81 = this.anIntArray9318[var24] - this.anIntArray9318[var23];
                     int var80 = this.anIntArray9319[var24] - this.anIntArray9319[var23];
                     int var85 = this.anIntArray9336[var25] - this.anIntArray9336[var23];
                     int var84 = this.anIntArray9318[var25] - this.anIntArray9318[var23];
                     int var83 = this.anIntArray9319[var25] - this.anIntArray9319[var23];
                     int var87 = var81 * var83 - var84 * var80;
                     int var86 = var80 * var85 - var83 * var82;
                     int var88 = var82 * var84 - var85 * var81;
                     var43 = 64.0F / (float)var2.anIntArray966[var65];
                     var44 = 64.0F / (float)var2.anIntArray949[var65];
                     var45 = 64.0F / (float)var2.anIntArray972[var65];
                     var46 = ((float)var87 * var79[0] + (float)var86 * var79[1] + (float)var88 * var79[2]) / var43;
                     var47 = ((float)var87 * var79[3] + (float)var86 * var79[4] + (float)var88 * var79[5]) / var44;
                     var48 = ((float)var87 * var79[6] + (float)var86 * var79[7] + (float)var88 * var79[8]) / var45;
                     int var74 = this.method12056(var46, var47, var48);
                     this.method12057(this.anIntArray9336[var23], this.anIntArray9318[var23], this.anIntArray9319[var23], var76, var77, var75, var74, var79, var78, var31, var32, var33, var60);
                     var67[0] = var60[0];
                     var68[0] = var60[1];
                     this.method12057(this.anIntArray9336[var24], this.anIntArray9318[var24], this.anIntArray9319[var24], var76, var77, var75, var74, var79, var78, var31, var32, var33, var60);
                     var67[1] = var60[0];
                     var68[1] = var60[1];
                     this.method12057(this.anIntArray9336[var25], this.anIntArray9318[var25], this.anIntArray9319[var25], var76, var77, var75, var74, var79, var78, var31, var32, var33, var60);
                     var67[2] = var60[0];
                     var68[2] = var60[1];
                  } else if(var71 == 3) {
                     this.method12067(this.anIntArray9336[var23], this.anIntArray9318[var23], this.anIntArray9319[var23], var76, var77, var75, var79, var78, var31, var60);
                     var67[0] = var60[0];
                     var68[0] = var60[1];
                     this.method12067(this.anIntArray9336[var24], this.anIntArray9318[var24], this.anIntArray9319[var24], var76, var77, var75, var79, var78, var31, var60);
                     var67[1] = var60[0];
                     var68[1] = var60[1];
                     this.method12067(this.anIntArray9336[var25], this.anIntArray9318[var25], this.anIntArray9319[var25], var76, var77, var75, var79, var78, var31, var60);
                     var67[2] = var60[0];
                     var68[2] = var60[1];
                     if((var78 & 1) == 0) {
                        if(var67[1] - var67[0] > 0.5F) {
                           --var67[1];
                        } else if(var67[0] - var67[1] > 0.5F) {
                           ++var67[1];
                        }

                        if(var67[2] - var67[0] > 0.5F) {
                           --var67[2];
                        } else if(var67[0] - var67[2] > 0.5F) {
                           ++var67[2];
                        }
                     } else {
                        if(var68[1] - var68[0] > 0.5F) {
                           --var68[1];
                        } else if(var68[0] - var68[1] > 0.5F) {
                           ++var68[1];
                        }

                        if(var68[2] - var68[0] > 0.5F) {
                           --var68[2];
                        } else if(var68[0] - var68[2] > 0.5F) {
                           ++var68[2];
                        }
                     }
                  }
               }
            }
         }
      }

      if(!var63) {
         this.aFloatArrayArray9328 = (float[][])null;
         this.aFloatArrayArray9327 = (float[][])null;
      }

      if(var2.anIntArray950 != null && (this.anInt9335 & 32) != 0) {
         this.anIntArrayArray9344 = var2.method1894(true);
      }

      if(var2.anIntArray944 != null && (this.anInt9335 & 384) != 0) {
         this.anIntArrayArray9345 = var2.method1847();
      }

      if(var2.aClass92Array980 != null && (this.anInt9335 & 1024) != 0) {
         this.anIntArrayArray9357 = var2.method1859();
      }

      if(var2.aShortArray961 != null) {
         this.aShortArray9374 = new short[this.anInt9353];
         boolean var61 = false;

         for(var62 = 0; var62 < this.anInt9353; ++var62) {
            short var64 = var2.aShortArray961[var62];
            if(var64 != -1) {
               Class161 var72 = this.aClass545_Sub3_9343.anInterface24_7370.method113(var64, -485049215);
               if((var6 & 64) != 0 && var72.aBool1994) {
                  this.aShortArray9374[var62] = -1;
               } else {
                  this.aShortArray9374[var62] = var64;
                  var61 = true;
                  if(var72.aClass565_1987 == Class565.aClass565_7503) {
                     this.aBool9367 = true;
                  }

                  if(var72.aByte1972 != 0 || var72.aByte1993 != 0) {
                     this.aBool9368 = true;
                  }
               }
            } else {
               this.aShortArray9374[var62] = -1;
            }
         }

         if(!var61) {
            this.aShortArray9374 = null;
         }
      } else {
         this.aShortArray9374 = null;
      }

      if(this.aBool9367 || this.aClass133Array9355 != null) {
         this.aShortArray9312 = new short[this.anInt9353];

         for(var59 = 0; var59 < this.anInt9353; ++var59) {
            this.aShortArray9312[var59] = (short)var8[var59];
         }
      }

   }

   public Class80[] method12062() {
      return this.aClass80Array9352;
   }

   public Class166[] method12103() {
      return this.aClass166Array9341;
   }

   void method12093(int var1, int[] var2, int var3, int var4, int var5, int var6, boolean var7) {
      int var8 = var2.length;
      int var9;
      int var10;
      int var14;
      int var20;
      if(var1 == 0) {
         var3 <<= 4;
         var4 <<= 4;
         var5 <<= 4;
         if(!this.aBool9347) {
            for(var9 = 0; var9 < this.anInt9315; ++var9) {
               this.anIntArray9336[var9] <<= 4;
               this.anIntArray9318[var9] <<= 4;
               this.anIntArray9319[var9] <<= 4;
            }

            this.aBool9347 = true;
         }

         var9 = 0;
         this.anInt9308 = 0;
         this.anInt9349 = 0;
         this.anInt9350 = 0;

         for(var10 = 0; var10 < var8; ++var10) {
            int var21 = var2[var10];
            if(var21 < this.anIntArrayArray9344.length) {
               int[] var22 = this.anIntArrayArray9344[var21];

               for(var20 = 0; var20 < var22.length; ++var20) {
                  var14 = var22[var20];
                  this.anInt9308 += this.anIntArray9336[var14];
                  this.anInt9349 += this.anIntArray9318[var14];
                  this.anInt9350 += this.anIntArray9319[var14];
                  ++var9;
               }
            }
         }

         if(var9 > 0) {
            this.anInt9308 = this.anInt9308 / var9 + var3;
            this.anInt9349 = this.anInt9349 / var9 + var4;
            this.anInt9350 = this.anInt9350 / var9 + var5;
         } else {
            this.anInt9308 = var3;
            this.anInt9349 = var4;
            this.anInt9350 = var5;
         }

      } else {
         int[] var11;
         int var12;
         if(var1 == 1) {
            var3 <<= 4;
            var4 <<= 4;
            var5 <<= 4;
            if(!this.aBool9347) {
               for(var9 = 0; var9 < this.anInt9315; ++var9) {
                  this.anIntArray9336[var9] <<= 4;
                  this.anIntArray9318[var9] <<= 4;
                  this.anIntArray9319[var9] <<= 4;
               }

               this.aBool9347 = true;
            }

            for(var9 = 0; var9 < var8; ++var9) {
               var10 = var2[var9];
               if(var10 < this.anIntArrayArray9344.length) {
                  var11 = this.anIntArrayArray9344[var10];

                  for(var12 = 0; var12 < var11.length; ++var12) {
                     var20 = var11[var12];
                     this.anIntArray9336[var20] += var3;
                     this.anIntArray9318[var20] += var4;
                     this.anIntArray9319[var20] += var5;
                  }
               }
            }

         } else {
            int var15;
            int var16;
            if(var1 == 2) {
               for(var9 = 0; var9 < var8; ++var9) {
                  var10 = var2[var9];
                  if(var10 < this.anIntArrayArray9344.length) {
                     var11 = this.anIntArrayArray9344[var10];
                     if((var6 & 1) == 0) {
                        for(var12 = 0; var12 < var11.length; ++var12) {
                           var20 = var11[var12];
                           this.anIntArray9336[var20] -= this.anInt9308;
                           this.anIntArray9318[var20] -= this.anInt9349;
                           this.anIntArray9319[var20] -= this.anInt9350;
                           if(var5 != 0) {
                              var14 = Class312.anIntArray3943[var5];
                              var15 = Class312.anIntArray3956[var5];
                              var16 = this.anIntArray9318[var20] * var14 + this.anIntArray9336[var20] * var15 + 16383 >> 14;
                              this.anIntArray9318[var20] = this.anIntArray9318[var20] * var15 - this.anIntArray9336[var20] * var14 + 16383 >> 14;
                              this.anIntArray9336[var20] = var16;
                           }

                           if(var3 != 0) {
                              var14 = Class312.anIntArray3943[var3];
                              var15 = Class312.anIntArray3956[var3];
                              var16 = this.anIntArray9318[var20] * var15 - this.anIntArray9319[var20] * var14 + 16383 >> 14;
                              this.anIntArray9319[var20] = this.anIntArray9318[var20] * var14 + this.anIntArray9319[var20] * var15 + 16383 >> 14;
                              this.anIntArray9318[var20] = var16;
                           }

                           if(var4 != 0) {
                              var14 = Class312.anIntArray3943[var4];
                              var15 = Class312.anIntArray3956[var4];
                              var16 = this.anIntArray9319[var20] * var14 + this.anIntArray9336[var20] * var15 + 16383 >> 14;
                              this.anIntArray9319[var20] = this.anIntArray9319[var20] * var15 - this.anIntArray9336[var20] * var14 + 16383 >> 14;
                              this.anIntArray9336[var20] = var16;
                           }

                           this.anIntArray9336[var20] += this.anInt9308;
                           this.anIntArray9318[var20] += this.anInt9349;
                           this.anIntArray9319[var20] += this.anInt9350;
                        }
                     } else {
                        for(var12 = 0; var12 < var11.length; ++var12) {
                           var20 = var11[var12];
                           this.anIntArray9336[var20] -= this.anInt9308;
                           this.anIntArray9318[var20] -= this.anInt9349;
                           this.anIntArray9319[var20] -= this.anInt9350;
                           if(var3 != 0) {
                              var14 = Class312.anIntArray3943[var3];
                              var15 = Class312.anIntArray3956[var3];
                              var16 = this.anIntArray9318[var20] * var15 - this.anIntArray9319[var20] * var14 + 16383 >> 14;
                              this.anIntArray9319[var20] = this.anIntArray9318[var20] * var14 + this.anIntArray9319[var20] * var15 + 16383 >> 14;
                              this.anIntArray9318[var20] = var16;
                           }

                           if(var5 != 0) {
                              var14 = Class312.anIntArray3943[var5];
                              var15 = Class312.anIntArray3956[var5];
                              var16 = this.anIntArray9318[var20] * var14 + this.anIntArray9336[var20] * var15 + 16383 >> 14;
                              this.anIntArray9318[var20] = this.anIntArray9318[var20] * var15 - this.anIntArray9336[var20] * var14 + 16383 >> 14;
                              this.anIntArray9336[var20] = var16;
                           }

                           if(var4 != 0) {
                              var14 = Class312.anIntArray3943[var4];
                              var15 = Class312.anIntArray3956[var4];
                              var16 = this.anIntArray9319[var20] * var14 + this.anIntArray9336[var20] * var15 + 16383 >> 14;
                              this.anIntArray9319[var20] = this.anIntArray9319[var20] * var15 - this.anIntArray9336[var20] * var14 + 16383 >> 14;
                              this.anIntArray9336[var20] = var16;
                           }

                           this.anIntArray9336[var20] += this.anInt9308;
                           this.anIntArray9318[var20] += this.anInt9349;
                           this.anIntArray9319[var20] += this.anInt9350;
                        }
                     }
                  }
               }

            } else if(var1 == 3) {
               for(var9 = 0; var9 < var8; ++var9) {
                  var10 = var2[var9];
                  if(var10 < this.anIntArrayArray9344.length) {
                     var11 = this.anIntArrayArray9344[var10];

                     for(var12 = 0; var12 < var11.length; ++var12) {
                        var20 = var11[var12];
                        this.anIntArray9336[var20] -= this.anInt9308;
                        this.anIntArray9318[var20] -= this.anInt9349;
                        this.anIntArray9319[var20] -= this.anInt9350;
                        this.anIntArray9336[var20] = this.anIntArray9336[var20] * var3 / 128;
                        this.anIntArray9318[var20] = this.anIntArray9318[var20] * var4 / 128;
                        this.anIntArray9319[var20] = this.anIntArray9319[var20] * var5 / 128;
                        this.anIntArray9336[var20] += this.anInt9308;
                        this.anIntArray9318[var20] += this.anInt9349;
                        this.anIntArray9319[var20] += this.anInt9350;
                     }
                  }
               }

            } else {
               Class187 var19;
               Class133 var18;
               if(var1 == 5) {
                  if(this.anIntArrayArray9345 != null && this.aByteArray9339 != null) {
                     for(var9 = 0; var9 < var8; ++var9) {
                        var10 = var2[var9];
                        if(var10 < this.anIntArrayArray9345.length) {
                           var11 = this.anIntArrayArray9345[var10];

                           for(var12 = 0; var12 < var11.length; ++var12) {
                              var20 = var11[var12];
                              var14 = (this.aByteArray9339[var20] & 255) + var3 * 8;
                              if(var14 < 0) {
                                 var14 = 0;
                              } else if(var14 > 255) {
                                 var14 = 255;
                              }

                              this.aByteArray9339[var20] = (byte)var14;
                           }
                        }
                     }

                     if(this.aClass133Array9355 != null) {
                        for(var9 = 0; var9 < this.anInt9354; ++var9) {
                           var18 = this.aClass133Array9355[var9];
                           var19 = this.aClass187Array9356[var9];
                           var19.anInt2250 = (var19.anInt2250 * 958896329 & 16777215 | 255 - (this.aByteArray9339[var18.anInt1577 * 1911690377] & 255) << 24) * 925892985;
                        }
                     }
                  }

               } else if(var1 == 7) {
                  if(this.anIntArrayArray9345 != null) {
                     for(var9 = 0; var9 < var8; ++var9) {
                        var10 = var2[var9];
                        if(var10 < this.anIntArrayArray9345.length) {
                           var11 = this.anIntArrayArray9345[var10];

                           for(var12 = 0; var12 < var11.length; ++var12) {
                              var20 = var11[var12];
                              var14 = this.aShortArray9351[var20] & '\uffff';
                              var15 = var14 >> 10 & 63;
                              var16 = var14 >> 7 & 7;
                              int var17 = var14 & 127;
                              var15 = var15 + var3 & 63;
                              var16 += var4;
                              if(var16 < 0) {
                                 var16 = 0;
                              } else if(var16 > 7) {
                                 var16 = 7;
                              }

                              var17 += var5;
                              if(var17 < 0) {
                                 var17 = 0;
                              } else if(var17 > 127) {
                                 var17 = 127;
                              }

                              this.aShortArray9351[var20] = (short)(var15 << 10 | var16 << 7 | var17);
                           }

                           this.aBool9346 = true;
                        }
                     }

                     if(this.aClass133Array9355 != null) {
                        for(var9 = 0; var9 < this.anInt9354; ++var9) {
                           var18 = this.aClass133Array9355[var9];
                           var19 = this.aClass187Array9356[var9];
                           var19.anInt2250 = (var19.anInt2250 * 958896329 & -16777216 | Class516.anIntArray6082[Class166.method2855(this.aShortArray9351[var18.anInt1577 * 1911690377] & '\uffff', -1174263208) & '\uffff'] & 16777215) * 925892985;
                        }
                     }
                  }

               } else {
                  Class187 var13;
                  if(var1 == 8) {
                     if(this.anIntArrayArray9357 != null) {
                        for(var9 = 0; var9 < var8; ++var9) {
                           var10 = var2[var9];
                           if(var10 < this.anIntArrayArray9357.length) {
                              var11 = this.anIntArrayArray9357[var10];

                              for(var12 = 0; var12 < var11.length; ++var12) {
                                 var13 = this.aClass187Array9356[var11[var12]];
                                 var13.anInt2243 += var3 * -715097745;
                                 var13.anInt2244 += var4 * 2037475277;
                              }
                           }
                        }
                     }

                  } else if(var1 == 10) {
                     if(this.anIntArrayArray9357 != null) {
                        for(var9 = 0; var9 < var8; ++var9) {
                           var10 = var2[var9];
                           if(var10 < this.anIntArrayArray9357.length) {
                              var11 = this.anIntArrayArray9357[var10];

                              for(var12 = 0; var12 < var11.length; ++var12) {
                                 var13 = this.aClass187Array9356[var11[var12]];
                                 var13.aFloat2242 = var13.aFloat2242 * (float)var3 / 128.0F;
                                 var13.aFloat2247 = var13.aFloat2247 * (float)var4 / 128.0F;
                              }
                           }
                        }
                     }

                  } else if(var1 == 9) {
                     if(this.anIntArrayArray9357 != null) {
                        for(var9 = 0; var9 < var8; ++var9) {
                           var10 = var2[var9];
                           if(var10 < this.anIntArrayArray9357.length) {
                              var11 = this.anIntArrayArray9357[var10];

                              for(var12 = 0; var12 < var11.length; ++var12) {
                                 var13 = this.aClass187Array9356[var11[var12]];
                                 var13.anInt2240 = (var13.anInt2240 * -644012521 + var3 & 16383) * -1875611225;
                              }
                           }
                        }
                     }

                  }
               }
            }
         }
      }
   }

   public boolean method12108() {
      if(this.aShortArray9374 == null) {
         return true;
      } else {
         for(int var1 = 0; var1 < this.aShortArray9374.length; ++var1) {
            if(this.aShortArray9374[var1] != -1 && !this.aClass545_Sub3_9343.method15337(this.aShortArray9374[var1])) {
               return false;
            }
         }

         return true;
      }
   }

   public boolean di() {
      return this.aBool9367;
   }

   public boolean df() {
      return this.aBool9367;
   }

   public void method12078(Class568 var1, int var2, int var3, int var4, boolean var5) {
      Class568_Sub2 var6 = (Class568_Sub2)var1;
      if((this.anInt9335 & 65536) != 65536) {
         throw new IllegalStateException("");
      } else if((var6.anInt9335 & 65536) != 65536) {
         throw new IllegalStateException("");
      } else {
         this.method14743(this.aClass545_Sub3_9343.method15346(Thread.currentThread()));
         this.method14765();
         this.method14757();
         var6.method14765();
         var6.method14757();
         ++anInt9369;
         int var7 = 0;
         int[] var8 = var6.anIntArray9336;
         int var9 = var6.anInt9316;

         int var10;
         for(var10 = 0; var10 < this.anInt9316; ++var10) {
            Class183 var11 = this.aClass183Array9340[var10];
            if(var11.anInt2203 != 0) {
               int var12 = this.anIntArray9318[var10] - var3;
               if(var12 >= var6.aShort9300 && var12 <= var6.aShort9362) {
                  int var13 = this.anIntArray9336[var10] - var2;
                  if(var13 >= var6.aShort9363 && var13 <= var6.aShort9364) {
                     int var14 = this.anIntArray9319[var10] - var4;
                     if(var14 >= var6.aShort9365 && var14 <= var6.aShort9366) {
                        for(int var15 = 0; var15 < var9; ++var15) {
                           Class183 var16 = var6.aClass183Array9340[var15];
                           if(var13 == var8[var15] && var14 == var6.anIntArray9319[var15] && var12 == var6.anIntArray9318[var15] && var16.anInt2203 != 0) {
                              if(this.aClass183Array9322 == null) {
                                 this.aClass183Array9322 = new Class183[this.anInt9316];
                              }

                              if(var6.aClass183Array9322 == null) {
                                 var6.aClass183Array9322 = new Class183[var9];
                              }

                              Class183 var17 = this.aClass183Array9322[var10];
                              if(var17 == null) {
                                 var17 = this.aClass183Array9322[var10] = new Class183(var11);
                              }

                              Class183 var18 = var6.aClass183Array9322[var15];
                              if(var18 == null) {
                                 var18 = var6.aClass183Array9322[var15] = new Class183(var16);
                              }

                              var17.anInt2200 += var16.anInt2200;
                              var17.anInt2201 += var16.anInt2201;
                              var17.anInt2202 += var16.anInt2202;
                              var17.anInt2203 += var16.anInt2203;
                              var18.anInt2200 += var11.anInt2200;
                              var18.anInt2201 += var11.anInt2201;
                              var18.anInt2202 += var11.anInt2202;
                              var18.anInt2203 += var11.anInt2203;
                              ++var7;
                              this.anIntArray9329[var10] = anInt9369;
                              this.anIntArray9379[var15] = anInt9369;
                           }
                        }
                     }
                  }
               }
            }
         }

         if(var7 >= 3 && var5) {
            for(var10 = 0; var10 < this.anInt9353; ++var10) {
               if(this.anIntArray9329[this.aShortArray9372[var10]] == anInt9369 && this.anIntArray9329[this.aShortArray9325[var10]] == anInt9369 && this.anIntArray9329[this.aShortArray9309[var10]] == anInt9369) {
                  if(this.aByteArray9326 == null) {
                     this.aByteArray9326 = new byte[this.anInt9353];
                  }

                  this.aByteArray9326[var10] = 2;
               }
            }

            for(var10 = 0; var10 < var6.anInt9353; ++var10) {
               if(this.anIntArray9379[var6.aShortArray9372[var10]] == anInt9369 && this.anIntArray9379[var6.aShortArray9325[var10]] == anInt9369 && this.anIntArray9379[var6.aShortArray9309[var10]] == anInt9369) {
                  if(var6.aByteArray9326 == null) {
                     var6.aByteArray9326 = new byte[var6.anInt9353];
                  }

                  var6.aByteArray9326[var10] = 2;
               }
            }

         }
      }
   }

   void method14816() {
      synchronized(this) {
         for(int var2 = 0; var2 < this.anInt9315; ++var2) {
            this.anIntArray9336[var2] = -this.anIntArray9336[var2];
            this.anIntArray9319[var2] = -this.anIntArray9319[var2];
         }

         this.method14815();
      }
   }

   int method14817(int var1) {
      if(var1 < 2) {
         var1 = 2;
      } else if(var1 > 126) {
         var1 = 126;
      }

      return var1;
   }

   public void method12110() {}

   public void method12111() {}

   public int RA() {
      if(!this.aBool9358) {
         this.method14765();
      }

      return this.aShort9363;
   }

   public void method12075(Class328 var1) {
      this.method14743(this.aClass545_Sub3_9343.method15346(Thread.currentThread()));
      Class317 var2 = this.aClass174_9301.aClass317_2100;
      var2.method5613(var1);
      int var3;
      if(this.aClass80Array9352 != null) {
         for(var3 = 0; var3 < this.aClass80Array9352.length; ++var3) {
            Class80 var4 = this.aClass80Array9352[var3];
            Class80 var5 = var4;
            if(var4.aClass80_813 != null) {
               var5 = var4.aClass80_813;
            }

            var5.anInt818 = (int)(var2.aFloatArray4000[12] + var2.aFloatArray4000[0] * (float)this.anIntArray9336[var4.anInt823 * -1938327915] + var2.aFloatArray4000[4] * (float)this.anIntArray9318[var4.anInt823 * -1938327915] + var2.aFloatArray4000[8] * (float)this.anIntArray9319[var4.anInt823 * -1938327915]) * -106916481;
            var5.anInt819 = (int)(var2.aFloatArray4000[13] + var2.aFloatArray4000[1] * (float)this.anIntArray9336[var4.anInt823 * -1938327915] + var2.aFloatArray4000[5] * (float)this.anIntArray9318[var4.anInt823 * -1938327915] + var2.aFloatArray4000[9] * (float)this.anIntArray9319[var4.anInt823 * -1938327915]) * 1242813859;
            var5.anInt820 = (int)(var2.aFloatArray4000[14] + var2.aFloatArray4000[2] * (float)this.anIntArray9336[var4.anInt823 * -1938327915] + var2.aFloatArray4000[6] * (float)this.anIntArray9318[var4.anInt823 * -1938327915] + var2.aFloatArray4000[10] * (float)this.anIntArray9319[var4.anInt823 * -1938327915]) * -1262846693;
            var5.anInt821 = (int)(var2.aFloatArray4000[12] + var2.aFloatArray4000[0] * (float)this.anIntArray9336[var4.anInt817 * 155642623] + var2.aFloatArray4000[4] * (float)this.anIntArray9318[var4.anInt817 * 155642623] + var2.aFloatArray4000[8] * (float)this.anIntArray9319[var4.anInt817 * 155642623]) * 1390482017;
            var5.anInt822 = (int)(var2.aFloatArray4000[13] + var2.aFloatArray4000[1] * (float)this.anIntArray9336[var4.anInt817 * 155642623] + var2.aFloatArray4000[5] * (float)this.anIntArray9318[var4.anInt817 * 155642623] + var2.aFloatArray4000[9] * (float)this.anIntArray9319[var4.anInt817 * 155642623]) * 113198053;
            var5.anInt812 = (int)(var2.aFloatArray4000[14] + var2.aFloatArray4000[2] * (float)this.anIntArray9336[var4.anInt817 * 155642623] + var2.aFloatArray4000[6] * (float)this.anIntArray9318[var4.anInt817 * 155642623] + var2.aFloatArray4000[10] * (float)this.anIntArray9319[var4.anInt817 * 155642623]) * -345033777;
            var5.anInt814 = (int)(var2.aFloatArray4000[12] + var2.aFloatArray4000[0] * (float)this.anIntArray9336[var4.anInt816 * 1387679] + var2.aFloatArray4000[4] * (float)this.anIntArray9318[var4.anInt816 * 1387679] + var2.aFloatArray4000[8] * (float)this.anIntArray9319[var4.anInt816 * 1387679]) * 1898027;
            var5.anInt825 = (int)(var2.aFloatArray4000[13] + var2.aFloatArray4000[1] * (float)this.anIntArray9336[var4.anInt816 * 1387679] + var2.aFloatArray4000[5] * (float)this.anIntArray9318[var4.anInt816 * 1387679] + var2.aFloatArray4000[9] * (float)this.anIntArray9319[var4.anInt816 * 1387679]) * 572237437;
            var5.anInt826 = (int)(var2.aFloatArray4000[14] + var2.aFloatArray4000[2] * (float)this.anIntArray9336[var4.anInt816 * 1387679] + var2.aFloatArray4000[6] * (float)this.anIntArray9318[var4.anInt816 * 1387679] + var2.aFloatArray4000[10] * (float)this.anIntArray9319[var4.anInt816 * 1387679]) * -1729217923;
         }
      }

      if(this.aClass166Array9341 != null) {
         for(var3 = 0; var3 < this.aClass166Array9341.length; ++var3) {
            Class166 var6 = this.aClass166Array9341[var3];
            Class166 var7 = var6;
            if(var6.aClass166_2016 != null) {
               var7 = var6.aClass166_2016;
            }

            if(var6.aClass317_2019 != null) {
               var6.aClass317_2019.method5609(var2);
            } else {
               var6.aClass317_2019 = new Class317(var2);
            }

            var7.anInt2018 = (int)(var2.aFloatArray4000[12] + var2.aFloatArray4000[0] * (float)this.anIntArray9336[var6.anInt2017 * 1229316477] + var2.aFloatArray4000[4] * (float)this.anIntArray9318[var6.anInt2017 * 1229316477] + var2.aFloatArray4000[8] * (float)this.anIntArray9319[var6.anInt2017 * 1229316477]) * -404024063;
            var7.anInt2015 = (int)(var2.aFloatArray4000[13] + var2.aFloatArray4000[1] * (float)this.anIntArray9336[var6.anInt2017 * 1229316477] + var2.aFloatArray4000[5] * (float)this.anIntArray9318[var6.anInt2017 * 1229316477] + var2.aFloatArray4000[9] * (float)this.anIntArray9319[var6.anInt2017 * 1229316477]) * -212113837;
            var7.anInt2020 = (int)(var2.aFloatArray4000[14] + var2.aFloatArray4000[2] * (float)this.anIntArray9336[var6.anInt2017 * 1229316477] + var2.aFloatArray4000[6] * (float)this.anIntArray9318[var6.anInt2017 * 1229316477] + var2.aFloatArray4000[10] * (float)this.anIntArray9319[var6.anInt2017 * 1229316477]) * -306574699;
         }
      }

   }

   int method14818(int var1) {
      if(var1 < 2) {
         var1 = 2;
      } else if(var1 > 126) {
         var1 = 126;
      }

      return var1;
   }

   public void method12139(Class328 var1, int var2, boolean var3) {
      if(this.aShortArray9320 != null) {
         Class174 var4 = this.aClass545_Sub3_9343.method15346(Thread.currentThread());
         Class328 var5 = var4.aClass328_2111;
         var5.method5991(var1);
         if(var3) {
            var5.method5996();
         }

         Class317 var6 = var4.aClass317_2100;
         var6.method5613(var5);
         float[] var7 = new float[3];

         for(int var8 = 0; var8 < this.anInt9316; ++var8) {
            if((var2 & this.aShortArray9320[var8]) != 0) {
               var6.method5618((float)this.anIntArray9336[var8], (float)this.anIntArray9318[var8], (float)this.anIntArray9319[var8], var7);
               this.anIntArray9336[var8] = (int)var7[0];
               this.anIntArray9318[var8] = (int)var7[1];
               this.anIntArray9319[var8] = (int)var7[2];
            }
         }

      }
   }

   public void method12099(Class328 var1, int var2, boolean var3) {
      if(this.aShortArray9320 != null) {
         Class174 var4 = this.aClass545_Sub3_9343.method15346(Thread.currentThread());
         Class328 var5 = var4.aClass328_2111;
         var5.method5991(var1);
         if(var3) {
            var5.method5996();
         }

         Class317 var6 = var4.aClass317_2100;
         var6.method5613(var5);
         float[] var7 = new float[3];

         for(int var8 = 0; var8 < this.anInt9316; ++var8) {
            if((var2 & this.aShortArray9320[var8]) != 0) {
               var6.method5618((float)this.anIntArray9336[var8], (float)this.anIntArray9318[var8], (float)this.anIntArray9319[var8], var7);
               this.anIntArray9336[var8] = (int)var7[0];
               this.anIntArray9318[var8] = (int)var7[1];
               this.anIntArray9319[var8] = (int)var7[2];
            }
         }

      }
   }

   public void method12113(Class328 var1, int var2, boolean var3) {
      if(this.aShortArray9320 != null) {
         Class174 var4 = this.aClass545_Sub3_9343.method15346(Thread.currentThread());
         Class328 var5 = var4.aClass328_2111;
         var5.method5991(var1);
         if(var3) {
            var5.method5996();
         }

         Class317 var6 = var4.aClass317_2100;
         var6.method5613(var5);
         float[] var7 = new float[3];

         for(int var8 = 0; var8 < this.anInt9316; ++var8) {
            if((var2 & this.aShortArray9320[var8]) != 0) {
               var6.method5618((float)this.anIntArray9336[var8], (float)this.anIntArray9318[var8], (float)this.anIntArray9319[var8], var7);
               this.anIntArray9336[var8] = (int)var7[0];
               this.anIntArray9318[var8] = (int)var7[1];
               this.anIntArray9319[var8] = (int)var7[2];
            }
         }

      }
   }

   public void bo(int var1, int var2, int var3) {
      if(var1 != 128 && (this.anInt9335 & 1) != 1) {
         throw new IllegalStateException();
      } else if(var2 != 128 && (this.anInt9335 & 2) != 2) {
         throw new IllegalStateException();
      } else if(var3 != 128 && (this.anInt9335 & 4) != 4) {
         throw new IllegalStateException();
      } else {
         synchronized(this) {
            for(int var5 = 0; var5 < this.anInt9315; ++var5) {
               this.anIntArray9336[var5] = this.anIntArray9336[var5] * var1 >> 7;
               this.anIntArray9318[var5] = this.anIntArray9318[var5] * var2 >> 7;
               this.anIntArray9319[var5] = this.anIntArray9319[var5] * var3 >> 7;
            }

            this.aBool9358 = false;
         }
      }
   }

   public void ac(int var1) {
      if((this.anInt9335 & 5) != 5) {
         throw new IllegalStateException();
      } else if(var1 == 4096) {
         this.method14812();
      } else if(var1 == 8192) {
         this.method14798();
      } else if(var1 == 12288) {
         this.method14754();
      } else {
         int var2 = Class312.anIntArray3943[var1];
         int var3 = Class312.anIntArray3956[var1];
         synchronized(this) {
            for(int var5 = 0; var5 < this.anInt9315; ++var5) {
               int var6 = this.anIntArray9319[var5] * var2 + this.anIntArray9336[var5] * var3 >> 14;
               this.anIntArray9319[var5] = this.anIntArray9319[var5] * var3 - this.anIntArray9336[var5] * var2 >> 14;
               this.anIntArray9336[var5] = var6;
            }

            this.method14815();
         }
      }
   }

   public void method12116(byte var1, byte[] var2) {
      if((this.anInt9335 & 1048576) == 0) {
         throw new RuntimeException();
      } else {
         if(this.aByteArray9339 == null) {
            this.aByteArray9339 = new byte[this.anInt9353];
         }

         int var3;
         if(var2 == null) {
            for(var3 = 0; var3 < this.anInt9353; ++var3) {
               this.aByteArray9339[var3] = var1;
            }
         } else {
            for(var3 = 0; var3 < this.anInt9353; ++var3) {
               int var4 = 255 - (255 - (var2[var3] & 255)) * (255 - (var1 & 255)) / 255;
               this.aByteArray9339[var3] = (byte)var4;
            }
         }

         if(this.anInt9380 == 2) {
            this.anInt9380 = 1;
         }

      }
   }
}
