import java.nio.ByteBuffer;
import sun.misc.Unsafe;

public class Class400_Sub2 extends Class400 {

   long aLong9422;
   byte[][] aByteArrayArray9423;
   Class341 aClass341_9424;
   int anInt9425;
   float aFloat9426 = -3.4028235E38F;
   int anInt9427;
   int anInt9428;
   int[] anIntArray9429 = new int[1];
   int anInt9430;
   short[][] aShortArrayArray9431;
   float aFloat9432 = Float.MAX_VALUE;
   static final int anInt9433 = 1;
   Class225_Sub13[][][] aClass225_Sub13ArrayArrayArray9434;
   int[][][] anIntArrayArrayArray9435;
   Interface35 anInterface35_9436;
   int[][][] anIntArrayArrayArray9437;
   int anInt9438;
   int[][][] anIntArrayArrayArray9439;
   int[][][] anIntArrayArrayArray9440;
   Class225[] aClass225Array9441;
   Class343 aClass343_9442;
   Class456 aClass456_9443 = new Class456();
   long aLong9444;
   int anInt9445;
   Interface35 anInterface35_9446;
   int anInt9447;
   byte[][] aByteArrayArray9448;
   int anInt9449;
   static final int anInt9450 = 74;
   float[][] aFloatArrayArray9451;
   float[][] aFloatArrayArray9452;
   float[][] aFloatArrayArray9453;
   Class423 aClass423_9454;
   Class225[] aClass225Array9455;
   int anInt9456;
   Class545_Sub2 aClass545_Sub2_9457;
   long aLong9458;
   int anInt9459;
   int anInt9460;
   int[] anIntArray9461 = new int[1];
   int[][][] anIntArrayArrayArray9462;
   int[][][] anIntArrayArrayArray9463;
   int[] anIntArray9464 = new int[1];


   public void method6786(int var1, int var2, int[] var3, int[] var4, int[] var5, int[] var6, int[] var7, int[] var8, int[] var9, int[] var10, int[] var11, int[] var12, int[] var13, Class153 var14, boolean var15) {
      int var16 = var10.length;
      int[] var17 = new int[var16 * 3];
      int[] var18 = new int[var16 * 3];
      int[] var19 = new int[var16 * 3];
      int[] var20 = new int[var16 * 3];
      int[] var21 = new int[var16 * 3];
      int[] var22 = new int[var16 * 3];
      int[] var23 = var4 != null?new int[var16 * 3]:null;
      int[] var24 = var6 != null?new int[var16 * 3]:null;
      int var25 = 0;

      for(int var26 = 0; var26 < var16; ++var26) {
         int var27 = var7[var26];
         int var28 = var8[var26];
         int var29 = var9[var26];
         var17[var25] = var3[var27];
         var18[var25] = var5[var27];
         var19[var25] = var10[var26];
         var21[var25] = var12[var26];
         var22[var25] = var13[var26];
         var20[var25] = var11 != null?var11[var26]:var10[var26];
         if(var4 != null) {
            var23[var25] = var4[var27];
         }

         if(var6 != null) {
            var24[var25] = var6[var27];
         }

         ++var25;
         var17[var25] = var3[var28];
         var18[var25] = var5[var28];
         var19[var25] = var10[var26];
         var21[var25] = var12[var26];
         var22[var25] = var13[var26];
         var20[var25] = var11 != null?var11[var26]:var10[var26];
         if(var4 != null) {
            var23[var25] = var4[var28];
         }

         if(var6 != null) {
            var24[var25] = var6[var28];
         }

         ++var25;
         var17[var25] = var3[var29];
         var18[var25] = var5[var29];
         var19[var25] = var10[var26];
         var21[var25] = var12[var26];
         var22[var25] = var13[var26];
         var20[var25] = var11 != null?var11[var26]:var10[var26];
         if(var4 != null) {
            var23[var25] = var4[var29];
         }

         if(var6 != null) {
            var24[var25] = var6[var29];
         }

         ++var25;
      }

      this.method6785(var1, var2, var17, var23, var18, var24, var19, var20, var21, var22, var14, var15);
   }

   public void LA(int var1, int var2, int var3) {
      if((this.aByteArrayArray9448[var1][var2] & 255) < var3) {
         this.aByteArrayArray9448[var1][var2] = (byte)var3;
      }

   }

   public void method6785(int var1, int var2, int[] var3, int[] var4, int[] var5, int[] var6, int[] var7, int[] var8, int[] var9, int[] var10, Class153 var11, boolean var12) {
      Interface24 var13 = this.aClass545_Sub2_9457.anInterface24_7370;
      if(var6 != null && this.anIntArrayArrayArray9440 == null) {
         this.anIntArrayArrayArray9440 = new int[this.anInt4911 * 1724373523][this.anInt4908 * 1696648095][];
      }

      if(var4 != null && this.anIntArrayArrayArray9439 == null) {
         this.anIntArrayArrayArray9439 = new int[this.anInt4911 * 1724373523][this.anInt4908 * 1696648095][];
      }

      this.anIntArrayArrayArray9437[var1][var2] = var3;
      this.anIntArrayArrayArray9463[var1][var2] = var5;
      this.anIntArrayArrayArray9435[var1][var2] = var7;
      this.anIntArrayArrayArray9462[var1][var2] = var8;
      if(this.anIntArrayArrayArray9440 != null) {
         this.anIntArrayArrayArray9440[var1][var2] = var6;
      }

      if(this.anIntArrayArrayArray9439 != null) {
         this.anIntArrayArrayArray9439[var1][var2] = var4;
      }

      Class225_Sub13[] var14 = this.aClass225_Sub13ArrayArrayArray9434[var1][var2] = new Class225_Sub13[var7.length];
      int var15 = 0;

      while(var15 < var7.length) {
         int var16 = var9[var15];
         int var17 = var10[var15];
         if((this.anInt9428 & 32) != 0 && var16 != -1 && var13.method113(var16, -724529855).aBool1994) {
            var17 = 128;
            var16 = -1;
         }

         long var18 = (long)(var11.anInt1725 * 495453869) << 48 | (long)(var11.anInt1731 * -663176343) << 42 | (long)(var11.anInt1727 * 1679980725) << 28 | (long)(var17 << 14) | (long)var16;
         Class225 var20 = this.aClass423_9454.method7211(var18);

         while(true) {
            if(var20 != null) {
               Class225_Sub13 var21 = (Class225_Sub13)var20;
               if(var21.anInt8548 != var16 || var21.aFloat8541 != (float)var17 || !var21.aClass153_8543.method2768(var11, 341834606)) {
                  var20 = this.aClass423_9454.method7204(1319869918);
                  continue;
               }
            }

            if(var20 == null) {
               var14[var15] = new Class225_Sub13(this, var16, var17, var11);
               this.aClass423_9454.method7206(var14[var15], var18);
            } else {
               var14[var15] = (Class225_Sub13)var20;
            }

            ++var15;
            break;
         }
      }

      if(var12) {
         this.aByteArrayArray9423[var1][var2] = (byte)(this.aByteArrayArray9423[var1][var2] | 1);
      }

      if(var7.length > this.anInt9449) {
         this.anInt9449 = var7.length;
      }

      this.anInt9459 += var7.length;
   }

   Class400_Sub2(Class545_Sub2 var1, int var2, int var3, int var4, int var5, int[][] var6, int[][] var7, int var8) {
      super(var4, var5, var8, var6);
      this.aClass545_Sub2_9457 = var1;
      this.anInt9425 = this.anInt4909 * -1451148795 - 2;
      this.anInt9438 = 1 << this.anInt9425;
      this.anInt9427 = var2;
      this.anInt9428 = var3;
      this.anIntArrayArrayArray9439 = new int[var4][var5][];
      this.aClass225_Sub13ArrayArrayArray9434 = new Class225_Sub13[var4][var5][];
      this.anIntArrayArrayArray9437 = new int[var4][var5][];
      this.anIntArrayArrayArray9463 = new int[var4][var5][];
      this.anIntArrayArrayArray9435 = new int[var4][var5][];
      this.anIntArrayArrayArray9462 = new int[var4][var5][];
      this.aShortArrayArray9431 = new short[var4 * var5][];
      this.aByteArrayArray9423 = new byte[var4][var5];
      this.aByteArrayArray9448 = new byte[var4 + 1][var5 + 1];
      this.aFloatArrayArray9451 = new float[this.anInt4911 * 1724373523 + 1][this.anInt4908 * 1696648095 + 1];
      this.aFloatArrayArray9452 = new float[this.anInt4911 * 1724373523 + 1][this.anInt4908 * 1696648095 + 1];
      this.aFloatArrayArray9453 = new float[this.anInt4911 * 1724373523 + 1][this.anInt4908 * 1696648095 + 1];

      for(int var9 = 0; var9 <= this.anInt4908 * 1696648095; ++var9) {
         for(int var10 = 0; var10 <= this.anInt4911 * 1724373523; ++var10) {
            int var11 = this.anIntArrayArray4912[var10][var9];
            if((float)var11 < this.aFloat9432) {
               this.aFloat9432 = (float)var11;
            }

            if((float)var11 > this.aFloat9426) {
               this.aFloat9426 = (float)var11;
            }

            if(var10 > 0 && var9 > 0 && var10 < this.anInt4911 * 1724373523 && var9 < this.anInt4908 * 1696648095) {
               int var12 = var7[var10 + 1][var9] - var7[var10 - 1][var9];
               int var13 = var7[var10][var9 + 1] - var7[var10][var9 - 1];
               float var14 = (float)(1.0D / Math.sqrt((double)(var12 * var12 + 4 * var8 * var8 + var13 * var13)));
               this.aFloatArrayArray9451[var10][var9] = (float)var12 * var14;
               this.aFloatArrayArray9452[var10][var9] = (float)(-var8 * 2) * var14;
               this.aFloatArrayArray9453[var10][var9] = (float)var13 * var14;
            }
         }
      }

      --this.aFloat9432;
      ++this.aFloat9426;
      this.aClass423_9454 = new Class423(128);
      if((this.anInt9428 & 16) != 0) {
         this.aClass343_9442 = new Class343(this.aClass545_Sub2_9457, this);
      }

   }

   public boolean method6792(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6) {
      if(this.aClass343_9442 != null && var1 != null) {
         int var7 = var2 - (var3 * this.aClass545_Sub2_9457.anInt9784 >> 8) >> this.aClass545_Sub2_9457.anInt9711;
         int var8 = var4 - (var3 * this.aClass545_Sub2_9457.anInt9687 >> 8) >> this.aClass545_Sub2_9457.anInt9711;
         return this.aClass343_9442.method6279(var1, var7, var8);
      } else {
         return false;
      }
   }

   public void method6805(int var1, int var2, int[] var3, int[] var4, int[] var5, int[] var6, int[] var7, int[] var8, int[] var9, int[] var10, int[] var11, int[] var12, int[] var13, Class153 var14, boolean var15) {
      int var16 = var10.length;
      int[] var17 = new int[var16 * 3];
      int[] var18 = new int[var16 * 3];
      int[] var19 = new int[var16 * 3];
      int[] var20 = new int[var16 * 3];
      int[] var21 = new int[var16 * 3];
      int[] var22 = new int[var16 * 3];
      int[] var23 = var4 != null?new int[var16 * 3]:null;
      int[] var24 = var6 != null?new int[var16 * 3]:null;
      int var25 = 0;

      for(int var26 = 0; var26 < var16; ++var26) {
         int var27 = var7[var26];
         int var28 = var8[var26];
         int var29 = var9[var26];
         var17[var25] = var3[var27];
         var18[var25] = var5[var27];
         var19[var25] = var10[var26];
         var21[var25] = var12[var26];
         var22[var25] = var13[var26];
         var20[var25] = var11 != null?var11[var26]:var10[var26];
         if(var4 != null) {
            var23[var25] = var4[var27];
         }

         if(var6 != null) {
            var24[var25] = var6[var27];
         }

         ++var25;
         var17[var25] = var3[var28];
         var18[var25] = var5[var28];
         var19[var25] = var10[var26];
         var21[var25] = var12[var26];
         var22[var25] = var13[var26];
         var20[var25] = var11 != null?var11[var26]:var10[var26];
         if(var4 != null) {
            var23[var25] = var4[var28];
         }

         if(var6 != null) {
            var24[var25] = var6[var28];
         }

         ++var25;
         var17[var25] = var3[var29];
         var18[var25] = var5[var29];
         var19[var25] = var10[var26];
         var21[var25] = var12[var26];
         var22[var25] = var13[var26];
         var20[var25] = var11 != null?var11[var26]:var10[var26];
         if(var4 != null) {
            var23[var25] = var4[var29];
         }

         if(var6 != null) {
            var24[var25] = var6[var29];
         }

         ++var25;
      }

      this.method6785(var1, var2, var17, var23, var18, var24, var19, var20, var21, var22, var14, var15);
   }

   void method14860() {
      if((this.anInt9427 & 2) == 0) {
         this.anIntArrayArrayArray9463 = (int[][][])null;
         this.anIntArrayArrayArray9437 = (int[][][])null;
         this.anIntArrayArrayArray9435 = (int[][][])null;
      }

      this.anIntArrayArrayArray9440 = (int[][][])null;
      this.anIntArrayArrayArray9462 = (int[][][])null;
      this.anIntArrayArrayArray9439 = (int[][][])null;
      this.aClass225_Sub13ArrayArrayArray9434 = (Class225_Sub13[][][])null;
      this.aByteArrayArray9448 = (byte[][])null;
      this.aClass423_9454 = null;
      this.aClass225Array9455 = null;
      this.aFloatArrayArray9453 = (float[][])null;
      this.aFloatArrayArray9452 = (float[][])null;
      this.aFloatArrayArray9451 = (float[][])null;
   }

   void method14861(int var1, int var2, byte[][] var3, Class225_Sub13[] var4, Class423 var5, Class225_Sub13[] var6) {
      if(this.anIntArrayArrayArray9435[var1][var2] != null) {
         Class225_Sub13[] var7 = this.aClass225_Sub13ArrayArrayArray9434[var1][var2];
         int[] var8 = this.anIntArrayArrayArray9437[var1][var2];
         int[] var9 = this.anIntArrayArrayArray9463[var1][var2];
         int[] var10 = this.anIntArrayArrayArray9462[var1][var2];
         int[] var11 = this.anIntArrayArrayArray9435[var1][var2];
         int[] var12 = this.anIntArrayArrayArray9439 != null?this.anIntArrayArrayArray9439[var1][var2]:null;
         int[] var13 = this.anIntArrayArrayArray9440 != null?this.anIntArrayArrayArray9440[var1][var2]:null;
         if(var10 == null) {
            var10 = var11;
         }

         float var14 = this.aFloatArrayArray9451[var1][var2];
         float var15 = this.aFloatArrayArray9452[var1][var2];
         float var16 = this.aFloatArrayArray9453[var1][var2];
         float var17 = this.aFloatArrayArray9451[var1][var2 + 1];
         float var18 = this.aFloatArrayArray9452[var1][var2 + 1];
         float var19 = this.aFloatArrayArray9453[var1][var2 + 1];
         float var20 = this.aFloatArrayArray9451[var1 + 1][var2 + 1];
         float var21 = this.aFloatArrayArray9452[var1 + 1][var2 + 1];
         float var22 = this.aFloatArrayArray9453[var1 + 1][var2 + 1];
         float var23 = this.aFloatArrayArray9451[var1 + 1][var2];
         float var24 = this.aFloatArrayArray9452[var1 + 1][var2];
         float var25 = this.aFloatArrayArray9453[var1 + 1][var2];
         int var26 = var3[var1][var2] & 255;
         int var27 = var3[var1][var2 + 1] & 255;
         int var28 = var3[var1 + 1][var2 + 1] & 255;
         int var29 = var3[var1 + 1][var2] & 255;
         int var30 = 0;
         int var31 = 0;

         int var33;
         while(var31 < var11.length) {
            Class225_Sub13 var32 = var7[var31];
            var33 = 0;

            while(true) {
               if(var33 < var30) {
                  if(var4[var33] != var32) {
                     ++var33;
                     continue;
                  }
               } else {
                  var4[var30++] = var32;
               }

               ++var31;
               break;
            }
         }

         short[] var62 = this.aShortArrayArray9431[var2 * this.anInt4911 * 1724373523 + var1] = new short[var11.length];

         for(int var61 = 0; var61 < var11.length; ++var61) {
            int var34 = (var1 << this.anInt4909 * -1451148795) + var8[var61];
            int var35 = (var2 << this.anInt4909 * -1451148795) + var9[var61];
            int var36 = var34 >> this.anInt9425;
            int var37 = var35 >> this.anInt9425;
            int var38 = var11[var61];
            int var39 = var10[var61];
            int var40 = var12 != null?var12[var61]:0;
            long var41 = (long)var39 << 48 | (long)var38 << 32 | (long)(var36 << 16) | (long)var37;
            int var43 = var8[var61];
            int var44 = var9[var61];
            byte var45 = 74;
            int var46 = 0;
            float var47 = 1.0F;
            float var50;
            float var49;
            float var48;
            float var54;
            int var63;
            if(var43 == 0 && var44 == 0) {
               var48 = var14;
               var49 = var15;
               var50 = var16;
               var63 = var45 - var26;
            } else if(var43 == 0 && var44 == this.anInt4910 * 2111724147) {
               var48 = var17;
               var49 = var18;
               var50 = var19;
               var63 = var45 - var27;
            } else if(var43 == this.anInt4910 * 2111724147 && var44 == this.anInt4910 * 2111724147) {
               var48 = var20;
               var49 = var21;
               var50 = var22;
               var63 = var45 - var28;
            } else if(var43 == this.anInt4910 * 2111724147 && var44 == 0) {
               var48 = var23;
               var49 = var24;
               var50 = var25;
               var63 = var45 - var29;
            } else {
               float var51 = (float)var43 / (float)(this.anInt4910 * 2111724147);
               float var52 = (float)var44 / (float)(this.anInt4910 * 2111724147);
               float var53 = var14 + (var23 - var14) * var51;
               var54 = var15 + (var24 - var15) * var51;
               float var55 = var16 + (var25 - var16) * var51;
               float var56 = var17 + (var20 - var17) * var51;
               float var57 = var18 + (var21 - var18) * var51;
               float var58 = var19 + (var22 - var19) * var51;
               var48 = var53 + (var56 - var53) * var52;
               var49 = var54 + (var57 - var54) * var52;
               var50 = var55 + (var58 - var55) * var52;
               int var59 = var26 + ((var29 - var26) * var43 >> this.anInt4909 * -1451148795);
               int var60 = var27 + ((var28 - var27) * var43 >> this.anInt4909 * -1451148795);
               var63 = var45 - (var59 + ((var60 - var59) * var44 >> this.anInt4909 * -1451148795));
            }

            if(var38 != -1) {
               int var64 = (var38 & 127) * var63 >> 7;
               if(var64 < 2) {
                  var64 = 2;
               } else if(var64 > 126) {
                  var64 = 126;
               }

               var46 = Class94.anIntArray923[var38 & '\uff80' | var64];
               if((this.anInt9428 & 7) == 0) {
                  var47 = this.aClass545_Sub2_9457.aFloatArray9712[0] * var48 + this.aClass545_Sub2_9457.aFloatArray9712[1] * var49 + this.aClass545_Sub2_9457.aFloatArray9712[2] * var50;
                  var47 = this.aClass545_Sub2_9457.aFloat9760 + var47 * (var47 > 0.0F?this.aClass545_Sub2_9457.aFloat9705:this.aClass545_Sub2_9457.aFloat9706);
               }
            }

            Class225 var66 = null;
            if((var34 & this.anInt9438 - 1) == 0 && (var35 & this.anInt9438 - 1) == 0) {
               var66 = var5.method7211(var41);
            }

            int var65;
            if(var66 == null) {
               if(var39 != var38) {
                  int var69 = (var39 & 127) * var63 >> 7;
                  if(var69 < 2) {
                     var69 = 2;
                  } else if(var69 > 126) {
                     var69 = 126;
                  }

                  var65 = Class94.anIntArray923[var39 & '\uff80' | var69];
                  if((this.anInt9428 & 7) == 0) {
                     float var10000 = this.aClass545_Sub2_9457.aFloatArray9712[0] * var48 + this.aClass545_Sub2_9457.aFloatArray9712[1] * var49 + this.aClass545_Sub2_9457.aFloatArray9712[2] * var50;
                     var54 = this.aClass545_Sub2_9457.aFloat9760 + var47 * (var47 > 0.0F?this.aClass545_Sub2_9457.aFloat9705:this.aClass545_Sub2_9457.aFloat9706);
                     int var70 = var65 >> 16 & 255;
                     int var67 = var65 >> 8 & 255;
                     int var68 = var65 & 255;
                     var70 = (int)((float)var70 * var54);
                     if(var70 < 0) {
                        var70 = 0;
                     } else if(var70 > 255) {
                        var70 = 255;
                     }

                     var67 = (int)((float)var67 * var54);
                     if(var67 < 0) {
                        var67 = 0;
                     } else if(var67 > 255) {
                        var67 = 255;
                     }

                     var68 = (int)((float)var68 * var54);
                     if(var68 < 0) {
                        var68 = 0;
                     } else if(var68 > 255) {
                        var68 = 255;
                     }

                     var65 = var70 << 16 | var67 << 8 | var68;
                  }
               } else {
                  var65 = var46;
               }

               Unsafe var72 = this.aClass545_Sub2_9457.anUnsafe9632;
               var72.putFloat(this.aLong9458, (float)var34);
               this.aLong9458 += 4L;
               var72.putFloat(this.aLong9458, (float)(this.method6791(var34, var35, 701663251) + var40));
               this.aLong9458 += 4L;
               var72.putFloat(this.aLong9458, (float)var35);
               this.aLong9458 += 4L;
               var72.putFloat(this.aLong9458, (float)var34);
               this.aLong9458 += 4L;
               var72.putFloat(this.aLong9458, (float)var35);
               this.aLong9458 += 4L;
               if(this.anIntArrayArrayArray9440 != null) {
                  var72.putFloat(this.aLong9458, var13 != null?(float)(var13[var61] - 1):0.0F);
                  this.aLong9458 += 4L;
               }

               if((this.anInt9428 & 7) != 0) {
                  var72.putFloat(this.aLong9458, var48);
                  this.aLong9458 += 4L;
                  var72.putFloat(this.aLong9458, var49);
                  this.aLong9458 += 4L;
                  var72.putFloat(this.aLong9458, var50);
                  this.aLong9458 += 4L;
               }

               if(this.aClass545_Sub2_9457.anInt9762 == 0) {
                  int var71 = var65 & -16711936;
                  var71 |= (var65 & 16711680) >> 16;
                  var71 |= (var65 & 255) << 16;
                  var65 = var71;
               }

               var72.putInt(this.aLong9422, -16777216 | var65);
               this.aLong9422 += 4L;
               var33 = this.anInt9456++;
               var62[var61] = (short)var33;
               if(var38 != -1) {
                  var6[var33] = var7[var61];
               }

               var5.method7206(new Class225_Sub18(var62[var61]), var41);
            } else {
               var62[var61] = ((Class225_Sub18)var66).aShort8562;
               var33 = var62[var61] & '\uffff';
               if(var38 != -1 && var7[var61].aLong2606 * -7222396723785363401L < var6[var33].aLong2606 * -7222396723785363401L) {
                  var6[var33] = var7[var61];
               }
            }

            for(var65 = 0; var65 < var30; ++var65) {
               var4[var65].method13589(var33, var46, var63, var47);
            }

            ++this.anInt9430;
         }

      }
   }

   public void method6787(int var1, int var2, int var3, boolean[][] var4, boolean var5, int var6) {
      if(this.aClass225Array9441 != null) {
         int var7 = var3 + var3 + 1;
         var7 *= var7;
         if(this.anIntArray9464.length < var7) {
            this.anIntArray9464 = new int[var7];
         }

         int var8 = var1 - var3;
         int var9 = var8;
         if(var8 < 0) {
            var8 = 0;
         }

         int var10 = var2 - var3;
         int var11 = var10;
         if(var10 < 0) {
            var10 = 0;
         }

         int var12 = var1 + var3;
         if(var12 > this.anInt4911 * 1724373523 - 1) {
            var12 = this.anInt4911 * 1724373523 - 1;
         }

         int var13 = var2 + var3;
         if(var13 > this.anInt4908 * 1696648095 - 1) {
            var13 = this.anInt4908 * 1696648095 - 1;
         }

         this.anInt9447 = 0;

         for(int var14 = var8; var14 <= var12; ++var14) {
            boolean[] var15 = var4[var14 - var9];

            for(int var16 = var10; var16 <= var13; ++var16) {
               if(var15[var16 - var11]) {
                  this.anIntArray9464[this.anInt9447++] = var16 * this.anInt4911 * 1724373523 + var14;
               }
            }
         }

         ByteBuffer var25 = this.aClass545_Sub2_9457.aByteBuffer9763;
         var25.clear();

         int var24;
         for(var24 = 0; var24 < this.aClass225Array9441.length; ++var24) {
            Class225_Sub13 var26 = (Class225_Sub13)this.aClass225Array9441[var24];
            var26.method13585(this.anIntArray9464, this.anInt9447);
         }

         var24 = var25.position();
         Class68 var28 = this.aClass545_Sub2_9457.aClass68_9778;
         if(var24 != 0) {
            Interface40 var17 = this.aClass545_Sub2_9457.method14992(var24 / 2);
            var17.method217(0, var24, this.aClass545_Sub2_9457.aLong9730);
            this.aClass545_Sub2_9457.method15088();
            this.aClass545_Sub2_9457.method15078(0, this.anInterface35_9436);
            this.aClass545_Sub2_9457.method15079(var17);
            var28.method1441(Class317.aClass317_3999);
            if(this.aClass545_Sub2_9457.anInt9623 > 0) {
               var28.aClass318_643.method5758(0.0F, 0.0F, 1.0F, -this.aClass545_Sub2_9457.aFloat9751);
               var28.aClass326_648.method5873((float)(this.aClass545_Sub2_9457.anInt9748 >> 16 & 255) / 255.0F, (float)(this.aClass545_Sub2_9457.anInt9748 >> 8 & 255) / 255.0F, (float)(this.aClass545_Sub2_9457.anInt9748 >> 0 & 255) / 255.0F);
               this.aClass545_Sub2_9457.aClass317_9649.method5609(this.aClass545_Sub2_9457.aClass317_9766);
               this.aClass545_Sub2_9457.aClass317_9649.method5627();
               var28.aClass318_643.method5741(this.aClass545_Sub2_9457.aClass317_9649);
               var28.aClass318_643.method5737(1.0F / (this.aClass545_Sub2_9457.aFloat9752 - this.aClass545_Sub2_9457.aFloat9751));
            } else {
               var28.aClass318_643.method5758(0.0F, 0.0F, 0.0F, 0.0F);
               var28.aClass326_648.method5873(0.0F, 0.0F, 0.0F);
            }

            int var19;
            int var18;
            Class225_Sub13 var20;
            Class161 var22;
            if((this.anInt9428 & 7) == 0) {
               var18 = 0;

               for(var19 = 0; var19 < this.aClass225Array9441.length; ++var19) {
                  var20 = (Class225_Sub13)this.aClass225Array9441[var19];
                  if(var20.anInt8539 != 0) {
                     if(this.aClass545_Sub2_9457.aBool9653) {
                        this.aClass545_Sub2_9457.method11496(0, var20.aClass153_8543);
                        var28.aClass318_651.method5758(0.0F, 1.0F, 0.0F, (float)this.aClass545_Sub2_9457.anInt9744 + (float)(var20.aClass153_8543.anInt1725 * 495453869) / 255.0F * (float)(var20.aClass153_8543.anInt1731 * -663176343));
                        var28.aClass318_651.method5737(1.0F / (float)(var20.aClass153_8543.anInt1731 * -663176343));
                        var28.aClass326_652.method5873((float)(var20.aClass153_8543.anInt1727 * 1679980725 >> 16 & 255) / 255.0F, (float)(var20.aClass153_8543.anInt1727 * 1679980725 >> 8 & 255) / 255.0F, (float)(var20.aClass153_8543.anInt1727 * 1679980725 >> 0 & 255) / 255.0F);
                     } else {
                        var28.aClass318_651.method5758(0.0F, 0.0F, 0.0F, 0.0F);
                        var28.aClass326_652.method5873(0.0F, 0.0F, 0.0F);
                     }

                     boolean var21 = false;
                     if(var20.anInt8548 != -1) {
                        var28.anInterface33_645 = this.aClass545_Sub2_9457.aClass58_9721.method1269(var20.anInt8548);
                        var22 = this.aClass545_Sub2_9457.anInterface24_7370.method113(var20.anInt8548, -1595901926);
                        var21 = !Class463_Sub17.method12955(var22.aByte1986, 2080656784);
                     } else {
                        var28.anInterface33_645 = this.aClass545_Sub2_9457.anInterface33_9693;
                     }

                     this.aClass545_Sub2_9457.method15078(1, var20.anInterface35_8544);
                     this.aClass545_Sub2_9457.method14991(this.aClass341_9424);
                     var28.aClass317_654.method5616(1.0F / var20.aFloat8541, 1.0F / var20.aFloat8541, 1.0F, 1.0F);
                     var28.anInt660 = var20.anInt8550;
                     var28.anInt650 = var20.anInt8549 - var20.anInt8550 + 1;
                     var28.anInt662 = var18;
                     var28.anInt663 = var20.anInt8539 / 3;
                     var28.method1442(var21);
                     var18 += var20.anInt8539;
                  }
               }
            } else {
               var28.aClass326_655.method5873(this.aClass545_Sub2_9457.aFloatArray9712[0], this.aClass545_Sub2_9457.aFloatArray9712[1], this.aClass545_Sub2_9457.aFloatArray9712[2]);
               var28.aClass326_656.method5873(this.aClass545_Sub2_9457.aFloat9705 * this.aClass545_Sub2_9457.aFloat9701, this.aClass545_Sub2_9457.aFloat9705 * this.aClass545_Sub2_9457.aFloat9702, this.aClass545_Sub2_9457.aFloat9705 * this.aClass545_Sub2_9457.aFloat9703);
               var28.aClass326_657.method5873(-this.aClass545_Sub2_9457.aFloat9706 * this.aClass545_Sub2_9457.aFloat9701, -this.aClass545_Sub2_9457.aFloat9706 * this.aClass545_Sub2_9457.aFloat9702, -this.aClass545_Sub2_9457.aFloat9706 * this.aClass545_Sub2_9457.aFloat9703);
               var28.aClass326_661.method5873(this.aClass545_Sub2_9457.aFloat9760 * this.aClass545_Sub2_9457.aFloat9701, this.aClass545_Sub2_9457.aFloat9760 * this.aClass545_Sub2_9457.aFloat9702, this.aClass545_Sub2_9457.aFloat9760 * this.aClass545_Sub2_9457.aFloat9703);
               var18 = 0;

               for(var19 = 0; var19 < this.aClass225Array9441.length; ++var19) {
                  var20 = (Class225_Sub13)this.aClass225Array9441[var19];
                  if(var20.anInt8539 > 0) {
                     if(this.aClass545_Sub2_9457.aBool9653) {
                        this.aClass545_Sub2_9457.method11496(0, var20.aClass153_8543);
                        float var31 = 0.15F;
                        var28.aClass318_651.method5758(0.0F, 1.0F / ((float)(var20.aClass153_8543.anInt1731 * -663176343) * var31), 0.0F, 256.0F / ((float)(var20.aClass153_8543.anInt1731 * -663176343) * var31));
                        var28.aClass326_652.method5873((float)(var20.aClass153_8543.anInt1727 * 1679980725 >> 16 & 255) / 255.0F, (float)(var20.aClass153_8543.anInt1727 * 1679980725 >> 8 & 255) / 255.0F, (float)(var20.aClass153_8543.anInt1727 * 1679980725 >> 0 & 255) / 255.0F);
                     } else {
                        var28.aClass318_651.method5758(0.0F, 0.0F, 0.0F, 0.0F);
                        var28.aClass326_652.method5873(0.0F, 0.0F, 0.0F);
                     }

                     byte var29 = 11;
                     if(var20.anInt8548 != -1) {
                        var22 = this.aClass545_Sub2_9457.anInterface24_7370.method113(var20.anInt8548, -1756280711);
                        var29 = var22.aByte1986;
                        var28.anInterface33_645 = this.aClass545_Sub2_9457.aClass58_9721.method1269(var20.anInt8548);
                        var28.method1440(var22);
                     } else {
                        var28.anInterface33_645 = this.aClass545_Sub2_9457.anInterface33_9693;
                     }

                     this.aClass545_Sub2_9457.method15078(1, var20.anInterface35_8544);
                     this.aClass545_Sub2_9457.method14991(this.aClass341_9424);
                     var28.aClass317_654.method5616(1.0F / var20.aFloat8541, 1.0F / var20.aFloat8541, 1.0F, 1.0F);
                     var28.anInt660 = var20.anInt8550;
                     var28.anInt650 = var20.anInt8549 - var20.anInt8550 + 1;
                     var28.anInt662 = var18;
                     var28.anInt663 = var20.anInt8539 / 3;
                     switch(var29) {
                     case 1:
                        var28.aClass326_642.method5873(this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[12], this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[13], this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[14]);
                        if(this.aClass545_Sub2_9457.aBool9653) {
                           var28.method1452();
                        } else {
                           var28.method1451(0);
                        }
                        break;
                     case 2:
                     case 4:
                     case 8:
                     case 9:
                        if(!this.aClass545_Sub2_9457.aBool9681 && (this.anInt9428 & 8) != 0 && this.aClass545_Sub2_9457.aClass74_Sub1_Sub1_9683.method15809(-234889287)) {
                           Class74_Sub1_Sub1 var30 = this.aClass545_Sub2_9457.aClass74_Sub1_Sub1_9683;
                           if(var29 == 2) {
                              var30 = this.aClass545_Sub2_9457.aClass74_Sub1_Sub1_9734;
                           }

                           var30.aClass317_10207.method5609(this.aClass545_Sub2_9457.aClass317_9747);
                           var30.aClass317_10209.method5616(1.0F / (var20.aFloat8541 * (float)(var20.aClass153_8543.anInt1729 * -1856519613)), 1.0F / (var20.aFloat8541 * (float)(var20.aClass153_8543.anInt1729 * -1856519613)), 1.0F, 1.0F);
                           var30.aClass326_10228.method5873(this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[12], this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[13], this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[14]);
                           Class161 var23 = this.aClass545_Sub2_9457.anInterface24_7370.method113(var20.anInt8548, 660517021);
                           var30.anInt10221 = var23.aByte1999 * 1772574011;
                           var30.anInt10217 = var20.anInt8550 * 2044860393;
                           var30.anInt10225 = (var20.anInt8549 - var20.anInt8550 + 1) * -1534617659;
                           var30.anInt10229 = var18 * 1384012691;
                           var30.anInt10230 = var20.anInt8539 / 3 * 642523677;
                           var30.aClass318_10223.method5736(var28.aClass318_651);
                           var30.aClass326_10215.method5894(var28.aClass326_652);
                           var30.aClass318_10224.method5736(var28.aClass318_643);
                           var30.aClass326_10226.method5894(var28.aClass326_648);
                           var30.method15808((byte)80);
                        } else {
                           var28.method1443(0);
                        }
                        break;
                     case 3:
                     case 5:
                     default:
                        if(this.aClass545_Sub2_9457.aBool9653) {
                           var28.method1446();
                        } else {
                           var28.method1443(0);
                        }
                        break;
                     case 6:
                        var28.method1442(!Class463_Sub17.method12955(var29, 1333657641));
                        break;
                     case 7:
                        var28.aClass326_642.method5873(this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[12], this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[13], this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[14]);
                        var28.aClass317_641.method5733();
                        var28.anInterface37_646 = this.aClass545_Sub2_9457.method15028();
                        var28.method1445(0);
                     }

                     var18 += var20.anInt8539;
                  }
               }
            }
         }

         if(this.aClass343_9442 != null) {
            this.aClass545_Sub2_9457.method15173(1);
            this.aClass545_Sub2_9457.method15078(0, this.anInterface35_9436);
            this.aClass545_Sub2_9457.method15078(1, this.anInterface35_9446);
            this.aClass545_Sub2_9457.method14991(this.aClass341_9424);
            Class317 var27 = this.aClass545_Sub2_9457.aClass317_9649;
            var27.method5733();
            var27.aFloatArray4000[13] = -1.0F;
            var28.method1441(var27);
            this.aClass343_9442.method6281(var28, var1, var2, var3, var4, var5);
         }
      }

   }

   public void method6788(int var1, int var2, int var3, int var4, int var5, int var6, int var7, boolean[][] var8) {
      if(this.anInt9459 > 0) {
         Interface40 var9 = this.aClass545_Sub2_9457.method14992(this.anInt9430);
         int var10 = 0;
         int var11 = 32767;
         int var12 = -32768;
         ByteBuffer var13 = this.aClass545_Sub2_9457.aByteBuffer9763;
         var13.clear();

         for(int var14 = var5; var14 < var7; ++var14) {
            int var15 = var14 * this.anInt4911 * 1724373523 + var4;

            for(int var16 = var4; var16 < var6; ++var16) {
               if(var8[var16 - var4][var14 - var5]) {
                  short[] var17 = this.aShortArrayArray9431[var15];
                  if(var17 != null) {
                     for(int var18 = 0; var18 < var17.length; ++var18) {
                        int var19 = var17[var18] & '\uffff';
                        if(var19 > var12) {
                           var12 = var19;
                        }

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

                        var13.putShort((short)var19);
                        ++var10;
                     }
                  }
               }

               ++var15;
            }
         }

         var9.method217(0, var13.position(), this.aClass545_Sub2_9457.aLong9730);
         if(var10 > 0) {
            this.aClass545_Sub2_9457.method15088();
            Class68 var20 = this.aClass545_Sub2_9457.aClass68_9778;
            this.aClass545_Sub2_9457.method15078(0, this.anInterface35_9436);
            this.aClass545_Sub2_9457.method15078(1, this.anInterface35_9446);
            this.aClass545_Sub2_9457.method14991(this.aClass341_9424);
            this.aClass545_Sub2_9457.method15079(var9);
            this.aClass545_Sub2_9457.method11603(Class328.aClass328_4074);
            float var22 = (float)this.aClass545_Sub2_9457.method11482((byte)14).method2741();
            float var21 = (float)this.aClass545_Sub2_9457.method11482((byte)14).method2742();
            Class328 var23 = new Class328();
            Class328 var24 = new Class328();
            var23.method5994(1.0F, 0.0F, 0.0F, 0.0F, 0.0F, 1.0F, 0.0F, 1.0F, 0.0F);
            var24.method6019((float)var3 / (256.0F * (float)(this.anInt4910 * 2111724147)), (float)(-var3) / (256.0F * (float)(this.anInt4910 * 2111724147)), 1.0F / (this.aFloat9426 - this.aFloat9432));
            var24.method6005((float)var1 - (float)(var4 * var3) / 256.0F, (float)var2 + (float)(var7 * var3) / 256.0F, -this.aFloat9432 / (this.aFloat9426 - this.aFloat9432));
            var24.method6002(2.0F / var22, 2.0F / var21, 1.0F);
            var24.method6005(-1.0F, -1.0F, 0.0F);
            this.aClass545_Sub2_9457.aClass328_9648.method6007(var23, var24);
            this.aClass545_Sub2_9457.aClass317_9649.method5613(this.aClass545_Sub2_9457.aClass328_9648);
            this.aClass545_Sub2_9457.method11500(this.aClass545_Sub2_9457.aClass317_9649);
            var20.method1441(Class317.aClass317_3999);
            var20.aClass318_643.method5758(0.0F, 0.0F, 0.0F, 0.0F);
            var20.aClass326_648.method5873(0.0F, 0.0F, 0.0F);
            var20.aClass318_651.method5758(0.0F, 0.0F, 0.0F, 0.0F);
            var20.aClass326_652.method5873(0.0F, 0.0F, 0.0F);
            var20.anInterface33_645 = this.aClass545_Sub2_9457.anInterface33_9693;
            var20.aClass317_654.method5733();
            var20.anInt660 = var11;
            var20.anInt650 = var12 - var11 + 1;
            var20.anInt662 = 0;
            var20.anInt663 = var10 / 3;
            if(this.aClass545_Sub2_9457.aBool9713) {
               this.aClass545_Sub2_9457.RA(false);
               var20.method1442(false);
               this.aClass545_Sub2_9457.RA(true);
            } else {
               var20.method1442(false);
            }
         }

      }
   }

   public Class225_Sub14_Sub16 w(int var1, int var2, Class225_Sub14_Sub16 var3) {
      if((this.aByteArrayArray9423[var1][var2] & 1) == 0) {
         return null;
      } else {
         int var4 = this.anInt4910 * 2111724147 >> this.aClass545_Sub2_9457.anInt9711;
         Class225_Sub14_Sub16_Sub1 var5 = (Class225_Sub14_Sub16_Sub1)var3;
         Class225_Sub14_Sub16_Sub1 var6;
         if(var5 != null && var5.method16449(var4, var4)) {
            var6 = var5;
            var5.method16447();
         } else {
            var6 = new Class225_Sub14_Sub16_Sub1(this.aClass545_Sub2_9457, var4, var4);
         }

         var6.method16448(0, 0, var4, var4);
         this.method14864(var6, var1, var2);
         return var6;
      }
   }

   public void ad(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6) {
      if(this.aClass343_9442 != null && var1 != null) {
         int var7 = var2 - (var3 * this.aClass545_Sub2_9457.anInt9784 >> 8) >> this.aClass545_Sub2_9457.anInt9711;
         int var8 = var4 - (var3 * this.aClass545_Sub2_9457.anInt9687 >> 8) >> this.aClass545_Sub2_9457.anInt9711;
         this.aClass343_9442.method6277(var1, var7, var8);
      }
   }

   public Class225_Sub14_Sub16 k(int var1, int var2, Class225_Sub14_Sub16 var3) {
      if((this.aByteArrayArray9423[var1][var2] & 1) == 0) {
         return null;
      } else {
         int var4 = this.anInt4910 * 2111724147 >> this.aClass545_Sub2_9457.anInt9711;
         Class225_Sub14_Sub16_Sub1 var5 = (Class225_Sub14_Sub16_Sub1)var3;
         Class225_Sub14_Sub16_Sub1 var6;
         if(var5 != null && var5.method16449(var4, var4)) {
            var6 = var5;
            var5.method16447();
         } else {
            var6 = new Class225_Sub14_Sub16_Sub1(this.aClass545_Sub2_9457, var4, var4);
         }

         var6.method16448(0, 0, var4, var4);
         this.method14864(var6, var1, var2);
         return var6;
      }
   }

   public void method6797(int var1, int var2, int var3, boolean[][] var4, boolean var5, int var6) {
      if(this.aClass225Array9441 != null) {
         int var7 = var3 + var3 + 1;
         var7 *= var7;
         if(this.anIntArray9464.length < var7) {
            this.anIntArray9464 = new int[var7];
         }

         int var8 = var1 - var3;
         int var9 = var8;
         if(var8 < 0) {
            var8 = 0;
         }

         int var10 = var2 - var3;
         int var11 = var10;
         if(var10 < 0) {
            var10 = 0;
         }

         int var12 = var1 + var3;
         if(var12 > this.anInt4911 * 1724373523 - 1) {
            var12 = this.anInt4911 * 1724373523 - 1;
         }

         int var13 = var2 + var3;
         if(var13 > this.anInt4908 * 1696648095 - 1) {
            var13 = this.anInt4908 * 1696648095 - 1;
         }

         this.anInt9447 = 0;

         for(int var14 = var8; var14 <= var12; ++var14) {
            boolean[] var15 = var4[var14 - var9];

            for(int var16 = var10; var16 <= var13; ++var16) {
               if(var15[var16 - var11]) {
                  this.anIntArray9464[this.anInt9447++] = var16 * this.anInt4911 * 1724373523 + var14;
               }
            }
         }

         ByteBuffer var25 = this.aClass545_Sub2_9457.aByteBuffer9763;
         var25.clear();

         int var24;
         for(var24 = 0; var24 < this.aClass225Array9441.length; ++var24) {
            Class225_Sub13 var26 = (Class225_Sub13)this.aClass225Array9441[var24];
            var26.method13585(this.anIntArray9464, this.anInt9447);
         }

         var24 = var25.position();
         Class68 var28 = this.aClass545_Sub2_9457.aClass68_9778;
         if(var24 != 0) {
            Interface40 var17 = this.aClass545_Sub2_9457.method14992(var24 / 2);
            var17.method217(0, var24, this.aClass545_Sub2_9457.aLong9730);
            this.aClass545_Sub2_9457.method15088();
            this.aClass545_Sub2_9457.method15078(0, this.anInterface35_9436);
            this.aClass545_Sub2_9457.method15079(var17);
            var28.method1441(Class317.aClass317_3999);
            if(this.aClass545_Sub2_9457.anInt9623 > 0) {
               var28.aClass318_643.method5758(0.0F, 0.0F, 1.0F, -this.aClass545_Sub2_9457.aFloat9751);
               var28.aClass326_648.method5873((float)(this.aClass545_Sub2_9457.anInt9748 >> 16 & 255) / 255.0F, (float)(this.aClass545_Sub2_9457.anInt9748 >> 8 & 255) / 255.0F, (float)(this.aClass545_Sub2_9457.anInt9748 >> 0 & 255) / 255.0F);
               this.aClass545_Sub2_9457.aClass317_9649.method5609(this.aClass545_Sub2_9457.aClass317_9766);
               this.aClass545_Sub2_9457.aClass317_9649.method5627();
               var28.aClass318_643.method5741(this.aClass545_Sub2_9457.aClass317_9649);
               var28.aClass318_643.method5737(1.0F / (this.aClass545_Sub2_9457.aFloat9752 - this.aClass545_Sub2_9457.aFloat9751));
            } else {
               var28.aClass318_643.method5758(0.0F, 0.0F, 0.0F, 0.0F);
               var28.aClass326_648.method5873(0.0F, 0.0F, 0.0F);
            }

            int var19;
            int var18;
            Class225_Sub13 var20;
            Class161 var22;
            if((this.anInt9428 & 7) == 0) {
               var18 = 0;

               for(var19 = 0; var19 < this.aClass225Array9441.length; ++var19) {
                  var20 = (Class225_Sub13)this.aClass225Array9441[var19];
                  if(var20.anInt8539 != 0) {
                     if(this.aClass545_Sub2_9457.aBool9653) {
                        this.aClass545_Sub2_9457.method11496(0, var20.aClass153_8543);
                        var28.aClass318_651.method5758(0.0F, 1.0F, 0.0F, (float)this.aClass545_Sub2_9457.anInt9744 + (float)(var20.aClass153_8543.anInt1725 * 495453869) / 255.0F * (float)(var20.aClass153_8543.anInt1731 * -663176343));
                        var28.aClass318_651.method5737(1.0F / (float)(var20.aClass153_8543.anInt1731 * -663176343));
                        var28.aClass326_652.method5873((float)(var20.aClass153_8543.anInt1727 * 1679980725 >> 16 & 255) / 255.0F, (float)(var20.aClass153_8543.anInt1727 * 1679980725 >> 8 & 255) / 255.0F, (float)(var20.aClass153_8543.anInt1727 * 1679980725 >> 0 & 255) / 255.0F);
                     } else {
                        var28.aClass318_651.method5758(0.0F, 0.0F, 0.0F, 0.0F);
                        var28.aClass326_652.method5873(0.0F, 0.0F, 0.0F);
                     }

                     boolean var21 = false;
                     if(var20.anInt8548 != -1) {
                        var28.anInterface33_645 = this.aClass545_Sub2_9457.aClass58_9721.method1269(var20.anInt8548);
                        var22 = this.aClass545_Sub2_9457.anInterface24_7370.method113(var20.anInt8548, -1873244943);
                        var21 = !Class463_Sub17.method12955(var22.aByte1986, 660494263);
                     } else {
                        var28.anInterface33_645 = this.aClass545_Sub2_9457.anInterface33_9693;
                     }

                     this.aClass545_Sub2_9457.method15078(1, var20.anInterface35_8544);
                     this.aClass545_Sub2_9457.method14991(this.aClass341_9424);
                     var28.aClass317_654.method5616(1.0F / var20.aFloat8541, 1.0F / var20.aFloat8541, 1.0F, 1.0F);
                     var28.anInt660 = var20.anInt8550;
                     var28.anInt650 = var20.anInt8549 - var20.anInt8550 + 1;
                     var28.anInt662 = var18;
                     var28.anInt663 = var20.anInt8539 / 3;
                     var28.method1442(var21);
                     var18 += var20.anInt8539;
                  }
               }
            } else {
               var28.aClass326_655.method5873(this.aClass545_Sub2_9457.aFloatArray9712[0], this.aClass545_Sub2_9457.aFloatArray9712[1], this.aClass545_Sub2_9457.aFloatArray9712[2]);
               var28.aClass326_656.method5873(this.aClass545_Sub2_9457.aFloat9705 * this.aClass545_Sub2_9457.aFloat9701, this.aClass545_Sub2_9457.aFloat9705 * this.aClass545_Sub2_9457.aFloat9702, this.aClass545_Sub2_9457.aFloat9705 * this.aClass545_Sub2_9457.aFloat9703);
               var28.aClass326_657.method5873(-this.aClass545_Sub2_9457.aFloat9706 * this.aClass545_Sub2_9457.aFloat9701, -this.aClass545_Sub2_9457.aFloat9706 * this.aClass545_Sub2_9457.aFloat9702, -this.aClass545_Sub2_9457.aFloat9706 * this.aClass545_Sub2_9457.aFloat9703);
               var28.aClass326_661.method5873(this.aClass545_Sub2_9457.aFloat9760 * this.aClass545_Sub2_9457.aFloat9701, this.aClass545_Sub2_9457.aFloat9760 * this.aClass545_Sub2_9457.aFloat9702, this.aClass545_Sub2_9457.aFloat9760 * this.aClass545_Sub2_9457.aFloat9703);
               var18 = 0;

               for(var19 = 0; var19 < this.aClass225Array9441.length; ++var19) {
                  var20 = (Class225_Sub13)this.aClass225Array9441[var19];
                  if(var20.anInt8539 > 0) {
                     if(this.aClass545_Sub2_9457.aBool9653) {
                        this.aClass545_Sub2_9457.method11496(0, var20.aClass153_8543);
                        float var31 = 0.15F;
                        var28.aClass318_651.method5758(0.0F, 1.0F / ((float)(var20.aClass153_8543.anInt1731 * -663176343) * var31), 0.0F, 256.0F / ((float)(var20.aClass153_8543.anInt1731 * -663176343) * var31));
                        var28.aClass326_652.method5873((float)(var20.aClass153_8543.anInt1727 * 1679980725 >> 16 & 255) / 255.0F, (float)(var20.aClass153_8543.anInt1727 * 1679980725 >> 8 & 255) / 255.0F, (float)(var20.aClass153_8543.anInt1727 * 1679980725 >> 0 & 255) / 255.0F);
                     } else {
                        var28.aClass318_651.method5758(0.0F, 0.0F, 0.0F, 0.0F);
                        var28.aClass326_652.method5873(0.0F, 0.0F, 0.0F);
                     }

                     byte var29 = 11;
                     if(var20.anInt8548 != -1) {
                        var22 = this.aClass545_Sub2_9457.anInterface24_7370.method113(var20.anInt8548, -1333227117);
                        var29 = var22.aByte1986;
                        var28.anInterface33_645 = this.aClass545_Sub2_9457.aClass58_9721.method1269(var20.anInt8548);
                        var28.method1440(var22);
                     } else {
                        var28.anInterface33_645 = this.aClass545_Sub2_9457.anInterface33_9693;
                     }

                     this.aClass545_Sub2_9457.method15078(1, var20.anInterface35_8544);
                     this.aClass545_Sub2_9457.method14991(this.aClass341_9424);
                     var28.aClass317_654.method5616(1.0F / var20.aFloat8541, 1.0F / var20.aFloat8541, 1.0F, 1.0F);
                     var28.anInt660 = var20.anInt8550;
                     var28.anInt650 = var20.anInt8549 - var20.anInt8550 + 1;
                     var28.anInt662 = var18;
                     var28.anInt663 = var20.anInt8539 / 3;
                     switch(var29) {
                     case 1:
                        var28.aClass326_642.method5873(this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[12], this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[13], this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[14]);
                        if(this.aClass545_Sub2_9457.aBool9653) {
                           var28.method1452();
                        } else {
                           var28.method1451(0);
                        }
                        break;
                     case 2:
                     case 4:
                     case 8:
                     case 9:
                        if(!this.aClass545_Sub2_9457.aBool9681 && (this.anInt9428 & 8) != 0 && this.aClass545_Sub2_9457.aClass74_Sub1_Sub1_9683.method15809(-234889287)) {
                           Class74_Sub1_Sub1 var30 = this.aClass545_Sub2_9457.aClass74_Sub1_Sub1_9683;
                           if(var29 == 2) {
                              var30 = this.aClass545_Sub2_9457.aClass74_Sub1_Sub1_9734;
                           }

                           var30.aClass317_10207.method5609(this.aClass545_Sub2_9457.aClass317_9747);
                           var30.aClass317_10209.method5616(1.0F / (var20.aFloat8541 * (float)(var20.aClass153_8543.anInt1729 * -1856519613)), 1.0F / (var20.aFloat8541 * (float)(var20.aClass153_8543.anInt1729 * -1856519613)), 1.0F, 1.0F);
                           var30.aClass326_10228.method5873(this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[12], this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[13], this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[14]);
                           Class161 var23 = this.aClass545_Sub2_9457.anInterface24_7370.method113(var20.anInt8548, -2029627651);
                           var30.anInt10221 = var23.aByte1999 * 1772574011;
                           var30.anInt10217 = var20.anInt8550 * 2044860393;
                           var30.anInt10225 = (var20.anInt8549 - var20.anInt8550 + 1) * -1534617659;
                           var30.anInt10229 = var18 * 1384012691;
                           var30.anInt10230 = var20.anInt8539 / 3 * 642523677;
                           var30.aClass318_10223.method5736(var28.aClass318_651);
                           var30.aClass326_10215.method5894(var28.aClass326_652);
                           var30.aClass318_10224.method5736(var28.aClass318_643);
                           var30.aClass326_10226.method5894(var28.aClass326_648);
                           var30.method15808((byte)-74);
                        } else {
                           var28.method1443(0);
                        }
                        break;
                     case 3:
                     case 5:
                     default:
                        if(this.aClass545_Sub2_9457.aBool9653) {
                           var28.method1446();
                        } else {
                           var28.method1443(0);
                        }
                        break;
                     case 6:
                        var28.method1442(!Class463_Sub17.method12955(var29, 1165114598));
                        break;
                     case 7:
                        var28.aClass326_642.method5873(this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[12], this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[13], this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[14]);
                        var28.aClass317_641.method5733();
                        var28.anInterface37_646 = this.aClass545_Sub2_9457.method15028();
                        var28.method1445(0);
                     }

                     var18 += var20.anInt8539;
                  }
               }
            }
         }

         if(this.aClass343_9442 != null) {
            this.aClass545_Sub2_9457.method15173(1);
            this.aClass545_Sub2_9457.method15078(0, this.anInterface35_9436);
            this.aClass545_Sub2_9457.method15078(1, this.anInterface35_9446);
            this.aClass545_Sub2_9457.method14991(this.aClass341_9424);
            Class317 var27 = this.aClass545_Sub2_9457.aClass317_9649;
            var27.method5733();
            var27.aFloatArray4000[13] = -1.0F;
            var28.method1441(var27);
            this.aClass343_9442.method6281(var28, var1, var2, var3, var4, var5);
         }
      }

   }

   public void NA(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6) {
      if(this.aClass343_9442 != null && var1 != null) {
         int var7 = var2 - (var3 * this.aClass545_Sub2_9457.anInt9784 >> 8) >> this.aClass545_Sub2_9457.anInt9711;
         int var8 = var4 - (var3 * this.aClass545_Sub2_9457.anInt9687 >> 8) >> this.aClass545_Sub2_9457.anInt9711;
         this.aClass343_9442.method6278(var1, var7, var8);
      }
   }

   public void method6793(Class225_Sub40 var1, int[] var2) {
      this.aClass456_9443.method7712(new Class225_Sub47(this.aClass545_Sub2_9457, this, var1, var2), (byte)61);
   }

   public void UA(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6) {
      if(this.aClass343_9442 != null && var1 != null) {
         int var7 = var2 - (var3 * this.aClass545_Sub2_9457.anInt9784 >> 8) >> this.aClass545_Sub2_9457.anInt9711;
         int var8 = var4 - (var3 * this.aClass545_Sub2_9457.anInt9687 >> 8) >> this.aClass545_Sub2_9457.anInt9711;
         this.aClass343_9442.method6277(var1, var7, var8);
      }
   }

   public void h(int var1, int var2, int var3) {
      if((this.aByteArrayArray9448[var1][var2] & 255) < var3) {
         this.aByteArrayArray9448[var1][var2] = (byte)var3;
      }

   }

   public void m(int var1, int var2, int var3) {
      if((this.aByteArrayArray9448[var1][var2] & 255) < var3) {
         this.aByteArrayArray9448[var1][var2] = (byte)var3;
      }

   }

   public void method6794(int var1, int var2, int[] var3, int[] var4, int[] var5, int[] var6, int[] var7, int[] var8, int[] var9, int[] var10, Class153 var11, boolean var12) {
      Interface24 var13 = this.aClass545_Sub2_9457.anInterface24_7370;
      if(var6 != null && this.anIntArrayArrayArray9440 == null) {
         this.anIntArrayArrayArray9440 = new int[this.anInt4911 * 1724373523][this.anInt4908 * 1696648095][];
      }

      if(var4 != null && this.anIntArrayArrayArray9439 == null) {
         this.anIntArrayArrayArray9439 = new int[this.anInt4911 * 1724373523][this.anInt4908 * 1696648095][];
      }

      this.anIntArrayArrayArray9437[var1][var2] = var3;
      this.anIntArrayArrayArray9463[var1][var2] = var5;
      this.anIntArrayArrayArray9435[var1][var2] = var7;
      this.anIntArrayArrayArray9462[var1][var2] = var8;
      if(this.anIntArrayArrayArray9440 != null) {
         this.anIntArrayArrayArray9440[var1][var2] = var6;
      }

      if(this.anIntArrayArrayArray9439 != null) {
         this.anIntArrayArrayArray9439[var1][var2] = var4;
      }

      Class225_Sub13[] var14 = this.aClass225_Sub13ArrayArrayArray9434[var1][var2] = new Class225_Sub13[var7.length];
      int var15 = 0;

      while(var15 < var7.length) {
         int var16 = var9[var15];
         int var17 = var10[var15];
         if((this.anInt9428 & 32) != 0 && var16 != -1 && var13.method113(var16, 1536818659).aBool1994) {
            var17 = 128;
            var16 = -1;
         }

         long var18 = (long)(var11.anInt1725 * 495453869) << 48 | (long)(var11.anInt1731 * -663176343) << 42 | (long)(var11.anInt1727 * 1679980725) << 28 | (long)(var17 << 14) | (long)var16;
         Class225 var20 = this.aClass423_9454.method7211(var18);

         while(true) {
            if(var20 != null) {
               Class225_Sub13 var21 = (Class225_Sub13)var20;
               if(var21.anInt8548 != var16 || var21.aFloat8541 != (float)var17 || !var21.aClass153_8543.method2768(var11, -1020216464)) {
                  var20 = this.aClass423_9454.method7204(1319869918);
                  continue;
               }
            }

            if(var20 == null) {
               var14[var15] = new Class225_Sub13(this, var16, var17, var11);
               this.aClass423_9454.method7206(var14[var15], var18);
            } else {
               var14[var15] = (Class225_Sub13)var20;
            }

            ++var15;
            break;
         }
      }

      if(var12) {
         this.aByteArrayArray9423[var1][var2] = (byte)(this.aByteArrayArray9423[var1][var2] | 1);
      }

      if(var7.length > this.anInt9449) {
         this.anInt9449 = var7.length;
      }

      this.anInt9459 += var7.length;
   }

   public void method6795(int var1, int var2, int[] var3, int[] var4, int[] var5, int[] var6, int[] var7, int[] var8, int[] var9, int[] var10, Class153 var11, boolean var12) {
      Interface24 var13 = this.aClass545_Sub2_9457.anInterface24_7370;
      if(var6 != null && this.anIntArrayArrayArray9440 == null) {
         this.anIntArrayArrayArray9440 = new int[this.anInt4911 * 1724373523][this.anInt4908 * 1696648095][];
      }

      if(var4 != null && this.anIntArrayArrayArray9439 == null) {
         this.anIntArrayArrayArray9439 = new int[this.anInt4911 * 1724373523][this.anInt4908 * 1696648095][];
      }

      this.anIntArrayArrayArray9437[var1][var2] = var3;
      this.anIntArrayArrayArray9463[var1][var2] = var5;
      this.anIntArrayArrayArray9435[var1][var2] = var7;
      this.anIntArrayArrayArray9462[var1][var2] = var8;
      if(this.anIntArrayArrayArray9440 != null) {
         this.anIntArrayArrayArray9440[var1][var2] = var6;
      }

      if(this.anIntArrayArrayArray9439 != null) {
         this.anIntArrayArrayArray9439[var1][var2] = var4;
      }

      Class225_Sub13[] var14 = this.aClass225_Sub13ArrayArrayArray9434[var1][var2] = new Class225_Sub13[var7.length];
      int var15 = 0;

      while(var15 < var7.length) {
         int var16 = var9[var15];
         int var17 = var10[var15];
         if((this.anInt9428 & 32) != 0 && var16 != -1 && var13.method113(var16, 2092848800).aBool1994) {
            var17 = 128;
            var16 = -1;
         }

         long var18 = (long)(var11.anInt1725 * 495453869) << 48 | (long)(var11.anInt1731 * -663176343) << 42 | (long)(var11.anInt1727 * 1679980725) << 28 | (long)(var17 << 14) | (long)var16;
         Class225 var20 = this.aClass423_9454.method7211(var18);

         while(true) {
            if(var20 != null) {
               Class225_Sub13 var21 = (Class225_Sub13)var20;
               if(var21.anInt8548 != var16 || var21.aFloat8541 != (float)var17 || !var21.aClass153_8543.method2768(var11, -1039875027)) {
                  var20 = this.aClass423_9454.method7204(1319869918);
                  continue;
               }
            }

            if(var20 == null) {
               var14[var15] = new Class225_Sub13(this, var16, var17, var11);
               this.aClass423_9454.method7206(var14[var15], var18);
            } else {
               var14[var15] = (Class225_Sub13)var20;
            }

            ++var15;
            break;
         }
      }

      if(var12) {
         this.aByteArrayArray9423[var1][var2] = (byte)(this.aByteArrayArray9423[var1][var2] | 1);
      }

      if(var7.length > this.anInt9449) {
         this.anInt9449 = var7.length;
      }

      this.anInt9459 += var7.length;
   }

   public void q() {
      if(this.anInt9459 <= 0) {
         this.aClass343_9442 = null;
         this.method14860();
      } else {
         byte[][] var1 = new byte[this.anInt4911 * 1724373523 + 1][this.anInt4908 * 1696648095 + 1];

         int var2;
         int var3;
         for(var2 = 1; var2 < this.anInt4911 * 1724373523; ++var2) {
            for(var3 = 1; var3 < this.anInt4908 * 1696648095; ++var3) {
               var1[var2][var3] = (byte)((this.aByteArrayArray9448[var2 - 1][var3] >> 2) + (this.aByteArrayArray9448[var2 + 1][var3] >> 3) + (this.aByteArrayArray9448[var2][var3 - 1] >> 2) + (this.aByteArrayArray9448[var2][var3 + 1] >> 3) + (this.aByteArrayArray9448[var2][var3] >> 1));
            }
         }

         this.aClass225Array9455 = new Class225[this.aClass423_9454.method7230(1243425260)];
         this.aClass423_9454.method7221(this.aClass225Array9455, 242211326);

         for(var2 = 0; var2 < this.aClass225Array9455.length; ++var2) {
            ((Class225_Sub13)this.aClass225Array9455[var2]).method13592(this.anInt9459);
         }

         this.anInt9460 = 20;
         if(this.anIntArrayArrayArray9440 != null) {
            this.anInt9460 += 4;
         }

         if((this.anInt9428 & 7) != 0) {
            this.anInt9460 += 12;
         }

         this.aLong9444 = this.aClass545_Sub2_9457.anUnsafe9632.allocateMemory((long)(this.anInt9459 * 4 + this.anInt9459 * this.anInt9460));
         this.aLong9422 = this.aLong9444;
         this.aLong9458 = this.aLong9444 + (long)(this.anInt9459 * 4);
         Class225_Sub13[] var18 = new Class225_Sub13[this.anInt9459];
         var3 = Class526.method11090(this.anInt9459 / 4, (byte)56);
         if(var3 < 1) {
            var3 = 1;
         }

         Class423 var4 = new Class423(var3);
         Class225_Sub13[] var5 = new Class225_Sub13[this.anInt9449];

         int var6;
         int var7;
         for(var6 = 0; var6 < this.anInt4911 * 1724373523; ++var6) {
            for(var7 = 0; var7 < this.anInt4908 * 1696648095; ++var7) {
               this.method14861(var6, var7, var1, var5, var4, var18);
            }
         }

         Class225_Sub13 var19;
         for(var6 = 0; var6 < this.anInt9456; ++var6) {
            var19 = var18[var6];
            if(var19 != null) {
               var19.method13587(var6);
            }
         }

         for(var6 = 0; var6 < this.anInt4911 * 1724373523; ++var6) {
            for(var7 = 0; var7 < this.anInt4908 * 1696648095; ++var7) {
               short[] var8 = this.aShortArrayArray9431[var7 * this.anInt4911 * 1724373523 + var6];
               if(var8 != null) {
                  int var9 = 0;

                  for(int var10 = 0; var10 < var8.length; ++var9) {
                     int var11 = var8[var10++] & '\uffff';
                     int var12 = var8[var10++] & '\uffff';
                     int var13 = var8[var10++] & '\uffff';
                     Class225_Sub13 var14 = var18[var11];
                     Class225_Sub13 var15 = var18[var12];
                     Class225_Sub13 var16 = var18[var13];
                     Class225_Sub13 var17 = null;
                     if(var14 != null) {
                        var14.method13588(var6, var7, var9);
                        var17 = var14;
                     }

                     if(var15 != null) {
                        var15.method13588(var6, var7, var9);
                        if(var17 == null || var15.aLong2606 * -7222396723785363401L < var17.aLong2606 * -7222396723785363401L) {
                           var17 = var15;
                        }
                     }

                     if(var16 != null) {
                        var16.method13588(var6, var7, var9);
                        if(var17 == null || var16.aLong2606 * -7222396723785363401L < var17.aLong2606 * -7222396723785363401L) {
                           var17 = var16;
                        }
                     }

                     if(var17 != null) {
                        if(var14 != null) {
                           var17.method13587(var11);
                        }

                        if(var15 != null) {
                           var17.method13587(var12);
                        }

                        if(var16 != null) {
                           var17.method13587(var13);
                        }

                        var17.method13588(var6, var7, var9);
                     }
                  }
               }
            }
         }

         this.anInt9445 = 0;

         for(var6 = 0; var6 < this.aClass225Array9455.length; ++var6) {
            var19 = (Class225_Sub13)this.aClass225Array9455[var6];
            if(var19.anInt8545 > 0) {
               this.aClass225Array9455[this.anInt9445++] = var19;
            }
         }

         this.aClass225Array9441 = new Class225[this.anInt9445];
         long[] var20 = new long[this.anInt9445];

         for(var7 = 0; var7 < this.anInt9445; ++var7) {
            Class225_Sub13 var21 = (Class225_Sub13)this.aClass225Array9455[var7];
            var20[var7] = var21.aLong2606 * -7222396723785363401L;
            this.aClass225Array9441[var7] = var21;
         }

         Class100.method1979(var20, this.aClass225Array9441, 528711793);
         this.method14863();
      }
   }

   void method14862() {
      if((this.anInt9427 & 2) == 0) {
         this.anIntArrayArrayArray9463 = (int[][][])null;
         this.anIntArrayArrayArray9437 = (int[][][])null;
         this.anIntArrayArrayArray9435 = (int[][][])null;
      }

      this.anIntArrayArrayArray9440 = (int[][][])null;
      this.anIntArrayArrayArray9462 = (int[][][])null;
      this.anIntArrayArrayArray9439 = (int[][][])null;
      this.aClass225_Sub13ArrayArrayArray9434 = (Class225_Sub13[][][])null;
      this.aByteArrayArray9448 = (byte[][])null;
      this.aClass423_9454 = null;
      this.aClass225Array9455 = null;
      this.aFloatArrayArray9453 = (float[][])null;
      this.aFloatArrayArray9452 = (float[][])null;
      this.aFloatArrayArray9451 = (float[][])null;
   }

   public Class225_Sub14_Sub16 z(int var1, int var2, Class225_Sub14_Sub16 var3) {
      if((this.aByteArrayArray9423[var1][var2] & 1) == 0) {
         return null;
      } else {
         int var4 = this.anInt4910 * 2111724147 >> this.aClass545_Sub2_9457.anInt9711;
         Class225_Sub14_Sub16_Sub1 var5 = (Class225_Sub14_Sub16_Sub1)var3;
         Class225_Sub14_Sub16_Sub1 var6;
         if(var5 != null && var5.method16449(var4, var4)) {
            var6 = var5;
            var5.method16447();
         } else {
            var6 = new Class225_Sub14_Sub16_Sub1(this.aClass545_Sub2_9457, var4, var4);
         }

         var6.method16448(0, 0, var4, var4);
         this.method14864(var6, var1, var2);
         return var6;
      }
   }

   void method14863() {
      this.anInterface35_9446 = this.aClass545_Sub2_9457.method15237(false);
      this.anInterface35_9446.method220(this.anInt9456 * 4, 4);
      this.anInterface35_9446.method217(0, this.anInt9456 * 4, this.aLong9444);
      this.anInterface35_9436 = this.aClass545_Sub2_9457.method15237(false);
      this.anInterface35_9436.method220(this.anInt9456 * this.anInt9460, this.anInt9460);
      this.anInterface35_9436.method217(0, this.anInt9456 * this.anInt9460, this.aLong9444 + (long)(this.anInt9459 * 4));
      this.aClass545_Sub2_9457.anUnsafe9632.freeMemory(this.aLong9444);
      if((this.anInt9428 & 7) != 0) {
         if(this.anIntArrayArrayArray9440 != null) {
            this.aClass341_9424 = this.aClass545_Sub2_9457.method15076(new Class348[]{new Class348(new Class347[]{Class347.aClass347_4429, Class347.aClass347_4440, Class347.aClass347_4439, Class347.aClass347_4435}), new Class348(Class347.aClass347_4445)});
         } else {
            this.aClass341_9424 = this.aClass545_Sub2_9457.method15076(new Class348[]{new Class348(new Class347[]{Class347.aClass347_4429, Class347.aClass347_4440, Class347.aClass347_4435}), new Class348(Class347.aClass347_4445)});
         }
      } else if(this.anIntArrayArrayArray9440 != null) {
         this.aClass341_9424 = this.aClass545_Sub2_9457.method15076(new Class348[]{new Class348(new Class347[]{Class347.aClass347_4429, Class347.aClass347_4440, Class347.aClass347_4439}), new Class348(Class347.aClass347_4445)});
      } else {
         this.aClass341_9424 = this.aClass545_Sub2_9457.method15076(new Class348[]{new Class348(new Class347[]{Class347.aClass347_4429, Class347.aClass347_4440}), new Class348(Class347.aClass347_4445)});
      }

      for(int var1 = 0; var1 < this.anInt9445; ++var1) {
         Class225_Sub13 var2 = (Class225_Sub13)this.aClass225Array9455[var1];
         var2.method13601(this.anInt9456);
      }

      if(this.aClass343_9442 != null) {
         this.aClass343_9442.method6275();
      }

      this.method14860();
   }

   public void ah(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6) {
      if(this.aClass343_9442 != null && var1 != null) {
         int var7 = var2 - (var3 * this.aClass545_Sub2_9457.anInt9784 >> 8) >> this.aClass545_Sub2_9457.anInt9711;
         int var8 = var4 - (var3 * this.aClass545_Sub2_9457.anInt9687 >> 8) >> this.aClass545_Sub2_9457.anInt9711;
         this.aClass343_9442.method6277(var1, var7, var8);
      }
   }

   public Class225_Sub14_Sub16 j(int var1, int var2, Class225_Sub14_Sub16 var3) {
      if((this.aByteArrayArray9423[var1][var2] & 1) == 0) {
         return null;
      } else {
         int var4 = this.anInt4910 * 2111724147 >> this.aClass545_Sub2_9457.anInt9711;
         Class225_Sub14_Sub16_Sub1 var5 = (Class225_Sub14_Sub16_Sub1)var3;
         Class225_Sub14_Sub16_Sub1 var6;
         if(var5 != null && var5.method16449(var4, var4)) {
            var6 = var5;
            var5.method16447();
         } else {
            var6 = new Class225_Sub14_Sub16_Sub1(this.aClass545_Sub2_9457, var4, var4);
         }

         var6.method16448(0, 0, var4, var4);
         this.method14864(var6, var1, var2);
         return var6;
      }
   }

   public void method6798(int var1, int var2, int var3, int var4, int var5, int var6, int var7, boolean[][] var8) {
      if(this.anInt9459 > 0) {
         Interface40 var9 = this.aClass545_Sub2_9457.method14992(this.anInt9430);
         int var10 = 0;
         int var11 = 32767;
         int var12 = -32768;
         ByteBuffer var13 = this.aClass545_Sub2_9457.aByteBuffer9763;
         var13.clear();

         for(int var14 = var5; var14 < var7; ++var14) {
            int var15 = var14 * this.anInt4911 * 1724373523 + var4;

            for(int var16 = var4; var16 < var6; ++var16) {
               if(var8[var16 - var4][var14 - var5]) {
                  short[] var17 = this.aShortArrayArray9431[var15];
                  if(var17 != null) {
                     for(int var18 = 0; var18 < var17.length; ++var18) {
                        int var19 = var17[var18] & '\uffff';
                        if(var19 > var12) {
                           var12 = var19;
                        }

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

                        var13.putShort((short)var19);
                        ++var10;
                     }
                  }
               }

               ++var15;
            }
         }

         var9.method217(0, var13.position(), this.aClass545_Sub2_9457.aLong9730);
         if(var10 > 0) {
            this.aClass545_Sub2_9457.method15088();
            Class68 var20 = this.aClass545_Sub2_9457.aClass68_9778;
            this.aClass545_Sub2_9457.method15078(0, this.anInterface35_9436);
            this.aClass545_Sub2_9457.method15078(1, this.anInterface35_9446);
            this.aClass545_Sub2_9457.method14991(this.aClass341_9424);
            this.aClass545_Sub2_9457.method15079(var9);
            this.aClass545_Sub2_9457.method11603(Class328.aClass328_4074);
            float var22 = (float)this.aClass545_Sub2_9457.method11482((byte)14).method2741();
            float var21 = (float)this.aClass545_Sub2_9457.method11482((byte)14).method2742();
            Class328 var23 = new Class328();
            Class328 var24 = new Class328();
            var23.method5994(1.0F, 0.0F, 0.0F, 0.0F, 0.0F, 1.0F, 0.0F, 1.0F, 0.0F);
            var24.method6019((float)var3 / (256.0F * (float)(this.anInt4910 * 2111724147)), (float)(-var3) / (256.0F * (float)(this.anInt4910 * 2111724147)), 1.0F / (this.aFloat9426 - this.aFloat9432));
            var24.method6005((float)var1 - (float)(var4 * var3) / 256.0F, (float)var2 + (float)(var7 * var3) / 256.0F, -this.aFloat9432 / (this.aFloat9426 - this.aFloat9432));
            var24.method6002(2.0F / var22, 2.0F / var21, 1.0F);
            var24.method6005(-1.0F, -1.0F, 0.0F);
            this.aClass545_Sub2_9457.aClass328_9648.method6007(var23, var24);
            this.aClass545_Sub2_9457.aClass317_9649.method5613(this.aClass545_Sub2_9457.aClass328_9648);
            this.aClass545_Sub2_9457.method11500(this.aClass545_Sub2_9457.aClass317_9649);
            var20.method1441(Class317.aClass317_3999);
            var20.aClass318_643.method5758(0.0F, 0.0F, 0.0F, 0.0F);
            var20.aClass326_648.method5873(0.0F, 0.0F, 0.0F);
            var20.aClass318_651.method5758(0.0F, 0.0F, 0.0F, 0.0F);
            var20.aClass326_652.method5873(0.0F, 0.0F, 0.0F);
            var20.anInterface33_645 = this.aClass545_Sub2_9457.anInterface33_9693;
            var20.aClass317_654.method5733();
            var20.anInt660 = var11;
            var20.anInt650 = var12 - var11 + 1;
            var20.anInt662 = 0;
            var20.anInt663 = var10 / 3;
            if(this.aClass545_Sub2_9457.aBool9713) {
               this.aClass545_Sub2_9457.RA(false);
               var20.method1442(false);
               this.aClass545_Sub2_9457.RA(true);
            } else {
               var20.method1442(false);
            }
         }

      }
   }

   public void i(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6) {
      if(this.aClass343_9442 != null && var1 != null) {
         int var7 = var2 - (var3 * this.aClass545_Sub2_9457.anInt9784 >> 8) >> this.aClass545_Sub2_9457.anInt9711;
         int var8 = var4 - (var3 * this.aClass545_Sub2_9457.anInt9687 >> 8) >> this.aClass545_Sub2_9457.anInt9711;
         this.aClass343_9442.method6277(var1, var7, var8);
      }
   }

   public void s(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6) {
      if(this.aClass343_9442 != null && var1 != null) {
         int var7 = var2 - (var3 * this.aClass545_Sub2_9457.anInt9784 >> 8) >> this.aClass545_Sub2_9457.anInt9711;
         int var8 = var4 - (var3 * this.aClass545_Sub2_9457.anInt9687 >> 8) >> this.aClass545_Sub2_9457.anInt9711;
         this.aClass343_9442.method6277(var1, var7, var8);
      }
   }

   public void method6790(int var1, int var2, int[] var3, int[] var4, int[] var5, int[] var6, int[] var7, int[] var8, int[] var9, int[] var10, int[] var11, int[] var12, int[] var13, Class153 var14, boolean var15) {
      int var16 = var10.length;
      int[] var17 = new int[var16 * 3];
      int[] var18 = new int[var16 * 3];
      int[] var19 = new int[var16 * 3];
      int[] var20 = new int[var16 * 3];
      int[] var21 = new int[var16 * 3];
      int[] var22 = new int[var16 * 3];
      int[] var23 = var4 != null?new int[var16 * 3]:null;
      int[] var24 = var6 != null?new int[var16 * 3]:null;
      int var25 = 0;

      for(int var26 = 0; var26 < var16; ++var26) {
         int var27 = var7[var26];
         int var28 = var8[var26];
         int var29 = var9[var26];
         var17[var25] = var3[var27];
         var18[var25] = var5[var27];
         var19[var25] = var10[var26];
         var21[var25] = var12[var26];
         var22[var25] = var13[var26];
         var20[var25] = var11 != null?var11[var26]:var10[var26];
         if(var4 != null) {
            var23[var25] = var4[var27];
         }

         if(var6 != null) {
            var24[var25] = var6[var27];
         }

         ++var25;
         var17[var25] = var3[var28];
         var18[var25] = var5[var28];
         var19[var25] = var10[var26];
         var21[var25] = var12[var26];
         var22[var25] = var13[var26];
         var20[var25] = var11 != null?var11[var26]:var10[var26];
         if(var4 != null) {
            var23[var25] = var4[var28];
         }

         if(var6 != null) {
            var24[var25] = var6[var28];
         }

         ++var25;
         var17[var25] = var3[var29];
         var18[var25] = var5[var29];
         var19[var25] = var10[var26];
         var21[var25] = var12[var26];
         var22[var25] = var13[var26];
         var20[var25] = var11 != null?var11[var26]:var10[var26];
         if(var4 != null) {
            var23[var25] = var4[var29];
         }

         if(var6 != null) {
            var24[var25] = var6[var29];
         }

         ++var25;
      }

      this.method6785(var1, var2, var17, var23, var18, var24, var19, var20, var21, var22, var14, var15);
   }

   public void method6800(int var1, int var2, int var3, boolean[][] var4, boolean var5, int var6) {
      if(this.aClass225Array9441 != null) {
         int var7 = var3 + var3 + 1;
         var7 *= var7;
         if(this.anIntArray9464.length < var7) {
            this.anIntArray9464 = new int[var7];
         }

         int var8 = var1 - var3;
         int var9 = var8;
         if(var8 < 0) {
            var8 = 0;
         }

         int var10 = var2 - var3;
         int var11 = var10;
         if(var10 < 0) {
            var10 = 0;
         }

         int var12 = var1 + var3;
         if(var12 > this.anInt4911 * 1724373523 - 1) {
            var12 = this.anInt4911 * 1724373523 - 1;
         }

         int var13 = var2 + var3;
         if(var13 > this.anInt4908 * 1696648095 - 1) {
            var13 = this.anInt4908 * 1696648095 - 1;
         }

         this.anInt9447 = 0;

         for(int var14 = var8; var14 <= var12; ++var14) {
            boolean[] var15 = var4[var14 - var9];

            for(int var16 = var10; var16 <= var13; ++var16) {
               if(var15[var16 - var11]) {
                  this.anIntArray9464[this.anInt9447++] = var16 * this.anInt4911 * 1724373523 + var14;
               }
            }
         }

         ByteBuffer var25 = this.aClass545_Sub2_9457.aByteBuffer9763;
         var25.clear();

         int var24;
         for(var24 = 0; var24 < this.aClass225Array9441.length; ++var24) {
            Class225_Sub13 var26 = (Class225_Sub13)this.aClass225Array9441[var24];
            var26.method13585(this.anIntArray9464, this.anInt9447);
         }

         var24 = var25.position();
         Class68 var28 = this.aClass545_Sub2_9457.aClass68_9778;
         if(var24 != 0) {
            Interface40 var17 = this.aClass545_Sub2_9457.method14992(var24 / 2);
            var17.method217(0, var24, this.aClass545_Sub2_9457.aLong9730);
            this.aClass545_Sub2_9457.method15088();
            this.aClass545_Sub2_9457.method15078(0, this.anInterface35_9436);
            this.aClass545_Sub2_9457.method15079(var17);
            var28.method1441(Class317.aClass317_3999);
            if(this.aClass545_Sub2_9457.anInt9623 > 0) {
               var28.aClass318_643.method5758(0.0F, 0.0F, 1.0F, -this.aClass545_Sub2_9457.aFloat9751);
               var28.aClass326_648.method5873((float)(this.aClass545_Sub2_9457.anInt9748 >> 16 & 255) / 255.0F, (float)(this.aClass545_Sub2_9457.anInt9748 >> 8 & 255) / 255.0F, (float)(this.aClass545_Sub2_9457.anInt9748 >> 0 & 255) / 255.0F);
               this.aClass545_Sub2_9457.aClass317_9649.method5609(this.aClass545_Sub2_9457.aClass317_9766);
               this.aClass545_Sub2_9457.aClass317_9649.method5627();
               var28.aClass318_643.method5741(this.aClass545_Sub2_9457.aClass317_9649);
               var28.aClass318_643.method5737(1.0F / (this.aClass545_Sub2_9457.aFloat9752 - this.aClass545_Sub2_9457.aFloat9751));
            } else {
               var28.aClass318_643.method5758(0.0F, 0.0F, 0.0F, 0.0F);
               var28.aClass326_648.method5873(0.0F, 0.0F, 0.0F);
            }

            int var19;
            int var18;
            Class225_Sub13 var20;
            Class161 var22;
            if((this.anInt9428 & 7) == 0) {
               var18 = 0;

               for(var19 = 0; var19 < this.aClass225Array9441.length; ++var19) {
                  var20 = (Class225_Sub13)this.aClass225Array9441[var19];
                  if(var20.anInt8539 != 0) {
                     if(this.aClass545_Sub2_9457.aBool9653) {
                        this.aClass545_Sub2_9457.method11496(0, var20.aClass153_8543);
                        var28.aClass318_651.method5758(0.0F, 1.0F, 0.0F, (float)this.aClass545_Sub2_9457.anInt9744 + (float)(var20.aClass153_8543.anInt1725 * 495453869) / 255.0F * (float)(var20.aClass153_8543.anInt1731 * -663176343));
                        var28.aClass318_651.method5737(1.0F / (float)(var20.aClass153_8543.anInt1731 * -663176343));
                        var28.aClass326_652.method5873((float)(var20.aClass153_8543.anInt1727 * 1679980725 >> 16 & 255) / 255.0F, (float)(var20.aClass153_8543.anInt1727 * 1679980725 >> 8 & 255) / 255.0F, (float)(var20.aClass153_8543.anInt1727 * 1679980725 >> 0 & 255) / 255.0F);
                     } else {
                        var28.aClass318_651.method5758(0.0F, 0.0F, 0.0F, 0.0F);
                        var28.aClass326_652.method5873(0.0F, 0.0F, 0.0F);
                     }

                     boolean var21 = false;
                     if(var20.anInt8548 != -1) {
                        var28.anInterface33_645 = this.aClass545_Sub2_9457.aClass58_9721.method1269(var20.anInt8548);
                        var22 = this.aClass545_Sub2_9457.anInterface24_7370.method113(var20.anInt8548, -2068725302);
                        var21 = !Class463_Sub17.method12955(var22.aByte1986, 133850353);
                     } else {
                        var28.anInterface33_645 = this.aClass545_Sub2_9457.anInterface33_9693;
                     }

                     this.aClass545_Sub2_9457.method15078(1, var20.anInterface35_8544);
                     this.aClass545_Sub2_9457.method14991(this.aClass341_9424);
                     var28.aClass317_654.method5616(1.0F / var20.aFloat8541, 1.0F / var20.aFloat8541, 1.0F, 1.0F);
                     var28.anInt660 = var20.anInt8550;
                     var28.anInt650 = var20.anInt8549 - var20.anInt8550 + 1;
                     var28.anInt662 = var18;
                     var28.anInt663 = var20.anInt8539 / 3;
                     var28.method1442(var21);
                     var18 += var20.anInt8539;
                  }
               }
            } else {
               var28.aClass326_655.method5873(this.aClass545_Sub2_9457.aFloatArray9712[0], this.aClass545_Sub2_9457.aFloatArray9712[1], this.aClass545_Sub2_9457.aFloatArray9712[2]);
               var28.aClass326_656.method5873(this.aClass545_Sub2_9457.aFloat9705 * this.aClass545_Sub2_9457.aFloat9701, this.aClass545_Sub2_9457.aFloat9705 * this.aClass545_Sub2_9457.aFloat9702, this.aClass545_Sub2_9457.aFloat9705 * this.aClass545_Sub2_9457.aFloat9703);
               var28.aClass326_657.method5873(-this.aClass545_Sub2_9457.aFloat9706 * this.aClass545_Sub2_9457.aFloat9701, -this.aClass545_Sub2_9457.aFloat9706 * this.aClass545_Sub2_9457.aFloat9702, -this.aClass545_Sub2_9457.aFloat9706 * this.aClass545_Sub2_9457.aFloat9703);
               var28.aClass326_661.method5873(this.aClass545_Sub2_9457.aFloat9760 * this.aClass545_Sub2_9457.aFloat9701, this.aClass545_Sub2_9457.aFloat9760 * this.aClass545_Sub2_9457.aFloat9702, this.aClass545_Sub2_9457.aFloat9760 * this.aClass545_Sub2_9457.aFloat9703);
               var18 = 0;

               for(var19 = 0; var19 < this.aClass225Array9441.length; ++var19) {
                  var20 = (Class225_Sub13)this.aClass225Array9441[var19];
                  if(var20.anInt8539 > 0) {
                     if(this.aClass545_Sub2_9457.aBool9653) {
                        this.aClass545_Sub2_9457.method11496(0, var20.aClass153_8543);
                        float var31 = 0.15F;
                        var28.aClass318_651.method5758(0.0F, 1.0F / ((float)(var20.aClass153_8543.anInt1731 * -663176343) * var31), 0.0F, 256.0F / ((float)(var20.aClass153_8543.anInt1731 * -663176343) * var31));
                        var28.aClass326_652.method5873((float)(var20.aClass153_8543.anInt1727 * 1679980725 >> 16 & 255) / 255.0F, (float)(var20.aClass153_8543.anInt1727 * 1679980725 >> 8 & 255) / 255.0F, (float)(var20.aClass153_8543.anInt1727 * 1679980725 >> 0 & 255) / 255.0F);
                     } else {
                        var28.aClass318_651.method5758(0.0F, 0.0F, 0.0F, 0.0F);
                        var28.aClass326_652.method5873(0.0F, 0.0F, 0.0F);
                     }

                     byte var29 = 11;
                     if(var20.anInt8548 != -1) {
                        var22 = this.aClass545_Sub2_9457.anInterface24_7370.method113(var20.anInt8548, -332375917);
                        var29 = var22.aByte1986;
                        var28.anInterface33_645 = this.aClass545_Sub2_9457.aClass58_9721.method1269(var20.anInt8548);
                        var28.method1440(var22);
                     } else {
                        var28.anInterface33_645 = this.aClass545_Sub2_9457.anInterface33_9693;
                     }

                     this.aClass545_Sub2_9457.method15078(1, var20.anInterface35_8544);
                     this.aClass545_Sub2_9457.method14991(this.aClass341_9424);
                     var28.aClass317_654.method5616(1.0F / var20.aFloat8541, 1.0F / var20.aFloat8541, 1.0F, 1.0F);
                     var28.anInt660 = var20.anInt8550;
                     var28.anInt650 = var20.anInt8549 - var20.anInt8550 + 1;
                     var28.anInt662 = var18;
                     var28.anInt663 = var20.anInt8539 / 3;
                     switch(var29) {
                     case 1:
                        var28.aClass326_642.method5873(this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[12], this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[13], this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[14]);
                        if(this.aClass545_Sub2_9457.aBool9653) {
                           var28.method1452();
                        } else {
                           var28.method1451(0);
                        }
                        break;
                     case 2:
                     case 4:
                     case 8:
                     case 9:
                        if(!this.aClass545_Sub2_9457.aBool9681 && (this.anInt9428 & 8) != 0 && this.aClass545_Sub2_9457.aClass74_Sub1_Sub1_9683.method15809(-234889287)) {
                           Class74_Sub1_Sub1 var30 = this.aClass545_Sub2_9457.aClass74_Sub1_Sub1_9683;
                           if(var29 == 2) {
                              var30 = this.aClass545_Sub2_9457.aClass74_Sub1_Sub1_9734;
                           }

                           var30.aClass317_10207.method5609(this.aClass545_Sub2_9457.aClass317_9747);
                           var30.aClass317_10209.method5616(1.0F / (var20.aFloat8541 * (float)(var20.aClass153_8543.anInt1729 * -1856519613)), 1.0F / (var20.aFloat8541 * (float)(var20.aClass153_8543.anInt1729 * -1856519613)), 1.0F, 1.0F);
                           var30.aClass326_10228.method5873(this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[12], this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[13], this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[14]);
                           Class161 var23 = this.aClass545_Sub2_9457.anInterface24_7370.method113(var20.anInt8548, 1378419294);
                           var30.anInt10221 = var23.aByte1999 * 1772574011;
                           var30.anInt10217 = var20.anInt8550 * 2044860393;
                           var30.anInt10225 = (var20.anInt8549 - var20.anInt8550 + 1) * -1534617659;
                           var30.anInt10229 = var18 * 1384012691;
                           var30.anInt10230 = var20.anInt8539 / 3 * 642523677;
                           var30.aClass318_10223.method5736(var28.aClass318_651);
                           var30.aClass326_10215.method5894(var28.aClass326_652);
                           var30.aClass318_10224.method5736(var28.aClass318_643);
                           var30.aClass326_10226.method5894(var28.aClass326_648);
                           var30.method15808((byte)-15);
                        } else {
                           var28.method1443(0);
                        }
                        break;
                     case 3:
                     case 5:
                     default:
                        if(this.aClass545_Sub2_9457.aBool9653) {
                           var28.method1446();
                        } else {
                           var28.method1443(0);
                        }
                        break;
                     case 6:
                        var28.method1442(!Class463_Sub17.method12955(var29, 407178471));
                        break;
                     case 7:
                        var28.aClass326_642.method5873(this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[12], this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[13], this.aClass545_Sub2_9457.aClass317_9695.aFloatArray4000[14]);
                        var28.aClass317_641.method5733();
                        var28.anInterface37_646 = this.aClass545_Sub2_9457.method15028();
                        var28.method1445(0);
                     }

                     var18 += var20.anInt8539;
                  }
               }
            }
         }

         if(this.aClass343_9442 != null) {
            this.aClass545_Sub2_9457.method15173(1);
            this.aClass545_Sub2_9457.method15078(0, this.anInterface35_9436);
            this.aClass545_Sub2_9457.method15078(1, this.anInterface35_9446);
            this.aClass545_Sub2_9457.method14991(this.aClass341_9424);
            Class317 var27 = this.aClass545_Sub2_9457.aClass317_9649;
            var27.method5733();
            var27.aFloatArray4000[13] = -1.0F;
            var28.method1441(var27);
            this.aClass343_9442.method6281(var28, var1, var2, var3, var4, var5);
         }
      }

   }

   void method14864(Class225_Sub14_Sub16_Sub1 var1, int var2, int var3) {
      int[] var4 = this.anIntArrayArrayArray9437[var2][var3];
      int[] var5 = this.anIntArrayArrayArray9463[var2][var3];
      int var6 = var4.length;
      if(this.anIntArray9461.length < var6) {
         this.anIntArray9461 = new int[var6];
         this.anIntArray9429 = new int[var6];
      }

      int var7;
      for(var7 = 0; var7 < var6; ++var7) {
         this.anIntArray9461[var7] = var4[var7] >> this.aClass545_Sub2_9457.anInt9711;
         this.anIntArray9429[var7] = var5[var7] >> this.aClass545_Sub2_9457.anInt9711;
      }

      var7 = 0;

      while(var7 < var6) {
         int var8 = this.anIntArray9461[var7];
         int var9 = this.anIntArray9429[var7++];
         int var10 = this.anIntArray9461[var7];
         int var11 = this.anIntArray9429[var7++];
         int var12 = this.anIntArray9461[var7];
         int var13 = this.anIntArray9429[var7++];
         if((var8 - var10) * (var11 - var13) - (var11 - var9) * (var12 - var10) > 0) {
            var1.method16451(var9, var11, var13, var8, var10, var12);
         }
      }

   }

   public boolean method6799(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6) {
      if(this.aClass343_9442 != null && var1 != null) {
         int var7 = var2 - (var3 * this.aClass545_Sub2_9457.anInt9784 >> 8) >> this.aClass545_Sub2_9457.anInt9711;
         int var8 = var4 - (var3 * this.aClass545_Sub2_9457.anInt9687 >> 8) >> this.aClass545_Sub2_9457.anInt9711;
         return this.aClass343_9442.method6279(var1, var7, var8);
      } else {
         return false;
      }
   }

   public boolean method6801(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6) {
      if(this.aClass343_9442 != null && var1 != null) {
         int var7 = var2 - (var3 * this.aClass545_Sub2_9457.anInt9784 >> 8) >> this.aClass545_Sub2_9457.anInt9711;
         int var8 = var4 - (var3 * this.aClass545_Sub2_9457.anInt9687 >> 8) >> this.aClass545_Sub2_9457.anInt9711;
         return this.aClass343_9442.method6279(var1, var7, var8);
      } else {
         return false;
      }
   }

   public boolean method6802(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6) {
      if(this.aClass343_9442 != null && var1 != null) {
         int var7 = var2 - (var3 * this.aClass545_Sub2_9457.anInt9784 >> 8) >> this.aClass545_Sub2_9457.anInt9711;
         int var8 = var4 - (var3 * this.aClass545_Sub2_9457.anInt9687 >> 8) >> this.aClass545_Sub2_9457.anInt9711;
         return this.aClass343_9442.method6279(var1, var7, var8);
      } else {
         return false;
      }
   }

   public void al(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6) {
      if(this.aClass343_9442 != null && var1 != null) {
         int var7 = var2 - (var3 * this.aClass545_Sub2_9457.anInt9784 >> 8) >> this.aClass545_Sub2_9457.anInt9711;
         int var8 = var4 - (var3 * this.aClass545_Sub2_9457.anInt9687 >> 8) >> this.aClass545_Sub2_9457.anInt9711;
         this.aClass343_9442.method6278(var1, var7, var8);
      }
   }

   public void method6803(Class225_Sub40 var1, int[] var2) {
      this.aClass456_9443.method7712(new Class225_Sub47(this.aClass545_Sub2_9457, this, var1, var2), (byte)17);
   }

   public void method6804(Class225_Sub40 var1, int[] var2) {
      this.aClass456_9443.method7712(new Class225_Sub47(this.aClass545_Sub2_9457, this, var1, var2), (byte)19);
   }

   public void e(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6) {
      if(this.aClass343_9442 != null && var1 != null) {
         int var7 = var2 - (var3 * this.aClass545_Sub2_9457.anInt9784 >> 8) >> this.aClass545_Sub2_9457.anInt9711;
         int var8 = var4 - (var3 * this.aClass545_Sub2_9457.anInt9687 >> 8) >> this.aClass545_Sub2_9457.anInt9711;
         this.aClass343_9442.method6277(var1, var7, var8);
      }
   }

   public void b(int var1, int var2, int var3) {
      if((this.aByteArrayArray9448[var1][var2] & 255) < var3) {
         this.aByteArrayArray9448[var1][var2] = (byte)var3;
      }

   }

   void method14865() {
      this.anInterface35_9446 = this.aClass545_Sub2_9457.method15237(false);
      this.anInterface35_9446.method220(this.anInt9456 * 4, 4);
      this.anInterface35_9446.method217(0, this.anInt9456 * 4, this.aLong9444);
      this.anInterface35_9436 = this.aClass545_Sub2_9457.method15237(false);
      this.anInterface35_9436.method220(this.anInt9456 * this.anInt9460, this.anInt9460);
      this.anInterface35_9436.method217(0, this.anInt9456 * this.anInt9460, this.aLong9444 + (long)(this.anInt9459 * 4));
      this.aClass545_Sub2_9457.anUnsafe9632.freeMemory(this.aLong9444);
      if((this.anInt9428 & 7) != 0) {
         if(this.anIntArrayArrayArray9440 != null) {
            this.aClass341_9424 = this.aClass545_Sub2_9457.method15076(new Class348[]{new Class348(new Class347[]{Class347.aClass347_4429, Class347.aClass347_4440, Class347.aClass347_4439, Class347.aClass347_4435}), new Class348(Class347.aClass347_4445)});
         } else {
            this.aClass341_9424 = this.aClass545_Sub2_9457.method15076(new Class348[]{new Class348(new Class347[]{Class347.aClass347_4429, Class347.aClass347_4440, Class347.aClass347_4435}), new Class348(Class347.aClass347_4445)});
         }
      } else if(this.anIntArrayArrayArray9440 != null) {
         this.aClass341_9424 = this.aClass545_Sub2_9457.method15076(new Class348[]{new Class348(new Class347[]{Class347.aClass347_4429, Class347.aClass347_4440, Class347.aClass347_4439}), new Class348(Class347.aClass347_4445)});
      } else {
         this.aClass341_9424 = this.aClass545_Sub2_9457.method15076(new Class348[]{new Class348(new Class347[]{Class347.aClass347_4429, Class347.aClass347_4440}), new Class348(Class347.aClass347_4445)});
      }

      for(int var1 = 0; var1 < this.anInt9445; ++var1) {
         Class225_Sub13 var2 = (Class225_Sub13)this.aClass225Array9455[var1];
         var2.method13601(this.anInt9456);
      }

      if(this.aClass343_9442 != null) {
         this.aClass343_9442.method6275();
      }

      this.method14860();
   }

   public void SA() {
      if(this.anInt9459 <= 0) {
         this.aClass343_9442 = null;
         this.method14860();
      } else {
         byte[][] var1 = new byte[this.anInt4911 * 1724373523 + 1][this.anInt4908 * 1696648095 + 1];

         int var2;
         int var3;
         for(var2 = 1; var2 < this.anInt4911 * 1724373523; ++var2) {
            for(var3 = 1; var3 < this.anInt4908 * 1696648095; ++var3) {
               var1[var2][var3] = (byte)((this.aByteArrayArray9448[var2 - 1][var3] >> 2) + (this.aByteArrayArray9448[var2 + 1][var3] >> 3) + (this.aByteArrayArray9448[var2][var3 - 1] >> 2) + (this.aByteArrayArray9448[var2][var3 + 1] >> 3) + (this.aByteArrayArray9448[var2][var3] >> 1));
            }
         }

         this.aClass225Array9455 = new Class225[this.aClass423_9454.method7230(1067554932)];
         this.aClass423_9454.method7221(this.aClass225Array9455, -823751985);

         for(var2 = 0; var2 < this.aClass225Array9455.length; ++var2) {
            ((Class225_Sub13)this.aClass225Array9455[var2]).method13592(this.anInt9459);
         }

         this.anInt9460 = 20;
         if(this.anIntArrayArrayArray9440 != null) {
            this.anInt9460 += 4;
         }

         if((this.anInt9428 & 7) != 0) {
            this.anInt9460 += 12;
         }

         this.aLong9444 = this.aClass545_Sub2_9457.anUnsafe9632.allocateMemory((long)(this.anInt9459 * 4 + this.anInt9459 * this.anInt9460));
         this.aLong9422 = this.aLong9444;
         this.aLong9458 = this.aLong9444 + (long)(this.anInt9459 * 4);
         Class225_Sub13[] var18 = new Class225_Sub13[this.anInt9459];
         var3 = Class526.method11090(this.anInt9459 / 4, (byte)-78);
         if(var3 < 1) {
            var3 = 1;
         }

         Class423 var4 = new Class423(var3);
         Class225_Sub13[] var5 = new Class225_Sub13[this.anInt9449];

         int var6;
         int var7;
         for(var6 = 0; var6 < this.anInt4911 * 1724373523; ++var6) {
            for(var7 = 0; var7 < this.anInt4908 * 1696648095; ++var7) {
               this.method14861(var6, var7, var1, var5, var4, var18);
            }
         }

         Class225_Sub13 var19;
         for(var6 = 0; var6 < this.anInt9456; ++var6) {
            var19 = var18[var6];
            if(var19 != null) {
               var19.method13587(var6);
            }
         }

         for(var6 = 0; var6 < this.anInt4911 * 1724373523; ++var6) {
            for(var7 = 0; var7 < this.anInt4908 * 1696648095; ++var7) {
               short[] var8 = this.aShortArrayArray9431[var7 * this.anInt4911 * 1724373523 + var6];
               if(var8 != null) {
                  int var9 = 0;

                  for(int var10 = 0; var10 < var8.length; ++var9) {
                     int var11 = var8[var10++] & '\uffff';
                     int var12 = var8[var10++] & '\uffff';
                     int var13 = var8[var10++] & '\uffff';
                     Class225_Sub13 var14 = var18[var11];
                     Class225_Sub13 var15 = var18[var12];
                     Class225_Sub13 var16 = var18[var13];
                     Class225_Sub13 var17 = null;
                     if(var14 != null) {
                        var14.method13588(var6, var7, var9);
                        var17 = var14;
                     }

                     if(var15 != null) {
                        var15.method13588(var6, var7, var9);
                        if(var17 == null || var15.aLong2606 * -7222396723785363401L < var17.aLong2606 * -7222396723785363401L) {
                           var17 = var15;
                        }
                     }

                     if(var16 != null) {
                        var16.method13588(var6, var7, var9);
                        if(var17 == null || var16.aLong2606 * -7222396723785363401L < var17.aLong2606 * -7222396723785363401L) {
                           var17 = var16;
                        }
                     }

                     if(var17 != null) {
                        if(var14 != null) {
                           var17.method13587(var11);
                        }

                        if(var15 != null) {
                           var17.method13587(var12);
                        }

                        if(var16 != null) {
                           var17.method13587(var13);
                        }

                        var17.method13588(var6, var7, var9);
                     }
                  }
               }
            }
         }

         this.anInt9445 = 0;

         for(var6 = 0; var6 < this.aClass225Array9455.length; ++var6) {
            var19 = (Class225_Sub13)this.aClass225Array9455[var6];
            if(var19.anInt8545 > 0) {
               this.aClass225Array9455[this.anInt9445++] = var19;
            }
         }

         this.aClass225Array9441 = new Class225[this.anInt9445];
         long[] var20 = new long[this.anInt9445];

         for(var7 = 0; var7 < this.anInt9445; ++var7) {
            Class225_Sub13 var21 = (Class225_Sub13)this.aClass225Array9455[var7];
            var20[var7] = var21.aLong2606 * -7222396723785363401L;
            this.aClass225Array9441[var7] = var21;
         }

         Class100.method1979(var20, this.aClass225Array9441, 1875546685);
         this.method14863();
      }
   }

   void method14866() {
      this.anInterface35_9446 = this.aClass545_Sub2_9457.method15237(false);
      this.anInterface35_9446.method220(this.anInt9456 * 4, 4);
      this.anInterface35_9446.method217(0, this.anInt9456 * 4, this.aLong9444);
      this.anInterface35_9436 = this.aClass545_Sub2_9457.method15237(false);
      this.anInterface35_9436.method220(this.anInt9456 * this.anInt9460, this.anInt9460);
      this.anInterface35_9436.method217(0, this.anInt9456 * this.anInt9460, this.aLong9444 + (long)(this.anInt9459 * 4));
      this.aClass545_Sub2_9457.anUnsafe9632.freeMemory(this.aLong9444);
      if((this.anInt9428 & 7) != 0) {
         if(this.anIntArrayArrayArray9440 != null) {
            this.aClass341_9424 = this.aClass545_Sub2_9457.method15076(new Class348[]{new Class348(new Class347[]{Class347.aClass347_4429, Class347.aClass347_4440, Class347.aClass347_4439, Class347.aClass347_4435}), new Class348(Class347.aClass347_4445)});
         } else {
            this.aClass341_9424 = this.aClass545_Sub2_9457.method15076(new Class348[]{new Class348(new Class347[]{Class347.aClass347_4429, Class347.aClass347_4440, Class347.aClass347_4435}), new Class348(Class347.aClass347_4445)});
         }
      } else if(this.anIntArrayArrayArray9440 != null) {
         this.aClass341_9424 = this.aClass545_Sub2_9457.method15076(new Class348[]{new Class348(new Class347[]{Class347.aClass347_4429, Class347.aClass347_4440, Class347.aClass347_4439}), new Class348(Class347.aClass347_4445)});
      } else {
         this.aClass341_9424 = this.aClass545_Sub2_9457.method15076(new Class348[]{new Class348(new Class347[]{Class347.aClass347_4429, Class347.aClass347_4440}), new Class348(Class347.aClass347_4445)});
      }

      for(int var1 = 0; var1 < this.anInt9445; ++var1) {
         Class225_Sub13 var2 = (Class225_Sub13)this.aClass225Array9455[var1];
         var2.method13601(this.anInt9456);
      }

      if(this.aClass343_9442 != null) {
         this.aClass343_9442.method6275();
      }

      this.method14860();
   }

   void method14867() {
      this.anInterface35_9446 = this.aClass545_Sub2_9457.method15237(false);
      this.anInterface35_9446.method220(this.anInt9456 * 4, 4);
      this.anInterface35_9446.method217(0, this.anInt9456 * 4, this.aLong9444);
      this.anInterface35_9436 = this.aClass545_Sub2_9457.method15237(false);
      this.anInterface35_9436.method220(this.anInt9456 * this.anInt9460, this.anInt9460);
      this.anInterface35_9436.method217(0, this.anInt9456 * this.anInt9460, this.aLong9444 + (long)(this.anInt9459 * 4));
      this.aClass545_Sub2_9457.anUnsafe9632.freeMemory(this.aLong9444);
      if((this.anInt9428 & 7) != 0) {
         if(this.anIntArrayArrayArray9440 != null) {
            this.aClass341_9424 = this.aClass545_Sub2_9457.method15076(new Class348[]{new Class348(new Class347[]{Class347.aClass347_4429, Class347.aClass347_4440, Class347.aClass347_4439, Class347.aClass347_4435}), new Class348(Class347.aClass347_4445)});
         } else {
            this.aClass341_9424 = this.aClass545_Sub2_9457.method15076(new Class348[]{new Class348(new Class347[]{Class347.aClass347_4429, Class347.aClass347_4440, Class347.aClass347_4435}), new Class348(Class347.aClass347_4445)});
         }
      } else if(this.anIntArrayArrayArray9440 != null) {
         this.aClass341_9424 = this.aClass545_Sub2_9457.method15076(new Class348[]{new Class348(new Class347[]{Class347.aClass347_4429, Class347.aClass347_4440, Class347.aClass347_4439}), new Class348(Class347.aClass347_4445)});
      } else {
         this.aClass341_9424 = this.aClass545_Sub2_9457.method15076(new Class348[]{new Class348(new Class347[]{Class347.aClass347_4429, Class347.aClass347_4440}), new Class348(Class347.aClass347_4445)});
      }

      for(int var1 = 0; var1 < this.anInt9445; ++var1) {
         Class225_Sub13 var2 = (Class225_Sub13)this.aClass225Array9455[var1];
         var2.method13601(this.anInt9456);
      }

      if(this.aClass343_9442 != null) {
         this.aClass343_9442.method6275();
      }

      this.method14860();
   }

   void method14868() {
      if((this.anInt9427 & 2) == 0) {
         this.anIntArrayArrayArray9463 = (int[][][])null;
         this.anIntArrayArrayArray9437 = (int[][][])null;
         this.anIntArrayArrayArray9435 = (int[][][])null;
      }

      this.anIntArrayArrayArray9440 = (int[][][])null;
      this.anIntArrayArrayArray9462 = (int[][][])null;
      this.anIntArrayArrayArray9439 = (int[][][])null;
      this.aClass225_Sub13ArrayArrayArray9434 = (Class225_Sub13[][][])null;
      this.aByteArrayArray9448 = (byte[][])null;
      this.aClass423_9454 = null;
      this.aClass225Array9455 = null;
      this.aFloatArrayArray9453 = (float[][])null;
      this.aFloatArrayArray9452 = (float[][])null;
      this.aFloatArrayArray9451 = (float[][])null;
   }

   void method14869(int var1, int var2, byte[][] var3, Class225_Sub13[] var4, Class423 var5, Class225_Sub13[] var6) {
      if(this.anIntArrayArrayArray9435[var1][var2] != null) {
         Class225_Sub13[] var7 = this.aClass225_Sub13ArrayArrayArray9434[var1][var2];
         int[] var8 = this.anIntArrayArrayArray9437[var1][var2];
         int[] var9 = this.anIntArrayArrayArray9463[var1][var2];
         int[] var10 = this.anIntArrayArrayArray9462[var1][var2];
         int[] var11 = this.anIntArrayArrayArray9435[var1][var2];
         int[] var12 = this.anIntArrayArrayArray9439 != null?this.anIntArrayArrayArray9439[var1][var2]:null;
         int[] var13 = this.anIntArrayArrayArray9440 != null?this.anIntArrayArrayArray9440[var1][var2]:null;
         if(var10 == null) {
            var10 = var11;
         }

         float var14 = this.aFloatArrayArray9451[var1][var2];
         float var15 = this.aFloatArrayArray9452[var1][var2];
         float var16 = this.aFloatArrayArray9453[var1][var2];
         float var17 = this.aFloatArrayArray9451[var1][var2 + 1];
         float var18 = this.aFloatArrayArray9452[var1][var2 + 1];
         float var19 = this.aFloatArrayArray9453[var1][var2 + 1];
         float var20 = this.aFloatArrayArray9451[var1 + 1][var2 + 1];
         float var21 = this.aFloatArrayArray9452[var1 + 1][var2 + 1];
         float var22 = this.aFloatArrayArray9453[var1 + 1][var2 + 1];
         float var23 = this.aFloatArrayArray9451[var1 + 1][var2];
         float var24 = this.aFloatArrayArray9452[var1 + 1][var2];
         float var25 = this.aFloatArrayArray9453[var1 + 1][var2];
         int var26 = var3[var1][var2] & 255;
         int var27 = var3[var1][var2 + 1] & 255;
         int var28 = var3[var1 + 1][var2 + 1] & 255;
         int var29 = var3[var1 + 1][var2] & 255;
         int var30 = 0;
         int var31 = 0;

         int var33;
         while(var31 < var11.length) {
            Class225_Sub13 var32 = var7[var31];
            var33 = 0;

            while(true) {
               if(var33 < var30) {
                  if(var4[var33] != var32) {
                     ++var33;
                     continue;
                  }
               } else {
                  var4[var30++] = var32;
               }

               ++var31;
               break;
            }
         }

         short[] var62 = this.aShortArrayArray9431[var2 * this.anInt4911 * 1724373523 + var1] = new short[var11.length];

         for(int var61 = 0; var61 < var11.length; ++var61) {
            int var34 = (var1 << this.anInt4909 * -1451148795) + var8[var61];
            int var35 = (var2 << this.anInt4909 * -1451148795) + var9[var61];
            int var36 = var34 >> this.anInt9425;
            int var37 = var35 >> this.anInt9425;
            int var38 = var11[var61];
            int var39 = var10[var61];
            int var40 = var12 != null?var12[var61]:0;
            long var41 = (long)var39 << 48 | (long)var38 << 32 | (long)(var36 << 16) | (long)var37;
            int var43 = var8[var61];
            int var44 = var9[var61];
            byte var45 = 74;
            int var46 = 0;
            float var47 = 1.0F;
            float var50;
            float var49;
            float var48;
            float var54;
            int var63;
            if(var43 == 0 && var44 == 0) {
               var48 = var14;
               var49 = var15;
               var50 = var16;
               var63 = var45 - var26;
            } else if(var43 == 0 && var44 == this.anInt4910 * 2111724147) {
               var48 = var17;
               var49 = var18;
               var50 = var19;
               var63 = var45 - var27;
            } else if(var43 == this.anInt4910 * 2111724147 && var44 == this.anInt4910 * 2111724147) {
               var48 = var20;
               var49 = var21;
               var50 = var22;
               var63 = var45 - var28;
            } else if(var43 == this.anInt4910 * 2111724147 && var44 == 0) {
               var48 = var23;
               var49 = var24;
               var50 = var25;
               var63 = var45 - var29;
            } else {
               float var51 = (float)var43 / (float)(this.anInt4910 * 2111724147);
               float var52 = (float)var44 / (float)(this.anInt4910 * 2111724147);
               float var53 = var14 + (var23 - var14) * var51;
               var54 = var15 + (var24 - var15) * var51;
               float var55 = var16 + (var25 - var16) * var51;
               float var56 = var17 + (var20 - var17) * var51;
               float var57 = var18 + (var21 - var18) * var51;
               float var58 = var19 + (var22 - var19) * var51;
               var48 = var53 + (var56 - var53) * var52;
               var49 = var54 + (var57 - var54) * var52;
               var50 = var55 + (var58 - var55) * var52;
               int var59 = var26 + ((var29 - var26) * var43 >> this.anInt4909 * -1451148795);
               int var60 = var27 + ((var28 - var27) * var43 >> this.anInt4909 * -1451148795);
               var63 = var45 - (var59 + ((var60 - var59) * var44 >> this.anInt4909 * -1451148795));
            }

            if(var38 != -1) {
               int var64 = (var38 & 127) * var63 >> 7;
               if(var64 < 2) {
                  var64 = 2;
               } else if(var64 > 126) {
                  var64 = 126;
               }

               var46 = Class94.anIntArray923[var38 & '\uff80' | var64];
               if((this.anInt9428 & 7) == 0) {
                  var47 = this.aClass545_Sub2_9457.aFloatArray9712[0] * var48 + this.aClass545_Sub2_9457.aFloatArray9712[1] * var49 + this.aClass545_Sub2_9457.aFloatArray9712[2] * var50;
                  var47 = this.aClass545_Sub2_9457.aFloat9760 + var47 * (var47 > 0.0F?this.aClass545_Sub2_9457.aFloat9705:this.aClass545_Sub2_9457.aFloat9706);
               }
            }

            Class225 var66 = null;
            if((var34 & this.anInt9438 - 1) == 0 && (var35 & this.anInt9438 - 1) == 0) {
               var66 = var5.method7211(var41);
            }

            int var65;
            if(var66 == null) {
               if(var39 != var38) {
                  int var69 = (var39 & 127) * var63 >> 7;
                  if(var69 < 2) {
                     var69 = 2;
                  } else if(var69 > 126) {
                     var69 = 126;
                  }

                  var65 = Class94.anIntArray923[var39 & '\uff80' | var69];
                  if((this.anInt9428 & 7) == 0) {
                     float var10000 = this.aClass545_Sub2_9457.aFloatArray9712[0] * var48 + this.aClass545_Sub2_9457.aFloatArray9712[1] * var49 + this.aClass545_Sub2_9457.aFloatArray9712[2] * var50;
                     var54 = this.aClass545_Sub2_9457.aFloat9760 + var47 * (var47 > 0.0F?this.aClass545_Sub2_9457.aFloat9705:this.aClass545_Sub2_9457.aFloat9706);
                     int var70 = var65 >> 16 & 255;
                     int var67 = var65 >> 8 & 255;
                     int var68 = var65 & 255;
                     var70 = (int)((float)var70 * var54);
                     if(var70 < 0) {
                        var70 = 0;
                     } else if(var70 > 255) {
                        var70 = 255;
                     }

                     var67 = (int)((float)var67 * var54);
                     if(var67 < 0) {
                        var67 = 0;
                     } else if(var67 > 255) {
                        var67 = 255;
                     }

                     var68 = (int)((float)var68 * var54);
                     if(var68 < 0) {
                        var68 = 0;
                     } else if(var68 > 255) {
                        var68 = 255;
                     }

                     var65 = var70 << 16 | var67 << 8 | var68;
                  }
               } else {
                  var65 = var46;
               }

               Unsafe var72 = this.aClass545_Sub2_9457.anUnsafe9632;
               var72.putFloat(this.aLong9458, (float)var34);
               this.aLong9458 += 4L;
               var72.putFloat(this.aLong9458, (float)(this.method6791(var34, var35, 701663251) + var40));
               this.aLong9458 += 4L;
               var72.putFloat(this.aLong9458, (float)var35);
               this.aLong9458 += 4L;
               var72.putFloat(this.aLong9458, (float)var34);
               this.aLong9458 += 4L;
               var72.putFloat(this.aLong9458, (float)var35);
               this.aLong9458 += 4L;
               if(this.anIntArrayArrayArray9440 != null) {
                  var72.putFloat(this.aLong9458, var13 != null?(float)(var13[var61] - 1):0.0F);
                  this.aLong9458 += 4L;
               }

               if((this.anInt9428 & 7) != 0) {
                  var72.putFloat(this.aLong9458, var48);
                  this.aLong9458 += 4L;
                  var72.putFloat(this.aLong9458, var49);
                  this.aLong9458 += 4L;
                  var72.putFloat(this.aLong9458, var50);
                  this.aLong9458 += 4L;
               }

               if(this.aClass545_Sub2_9457.anInt9762 == 0) {
                  int var71 = var65 & -16711936;
                  var71 |= (var65 & 16711680) >> 16;
                  var71 |= (var65 & 255) << 16;
                  var65 = var71;
               }

               var72.putInt(this.aLong9422, -16777216 | var65);
               this.aLong9422 += 4L;
               var33 = this.anInt9456++;
               var62[var61] = (short)var33;
               if(var38 != -1) {
                  var6[var33] = var7[var61];
               }

               var5.method7206(new Class225_Sub18(var62[var61]), var41);
            } else {
               var62[var61] = ((Class225_Sub18)var66).aShort8562;
               var33 = var62[var61] & '\uffff';
               if(var38 != -1 && var7[var61].aLong2606 * -7222396723785363401L < var6[var33].aLong2606 * -7222396723785363401L) {
                  var6[var33] = var7[var61];
               }
            }

            for(var65 = 0; var65 < var30; ++var65) {
               var4[var65].method13589(var33, var46, var63, var47);
            }

            ++this.anInt9430;
         }

      }
   }

   void method14870(Class225_Sub14_Sub16_Sub1 var1, int var2, int var3) {
      int[] var4 = this.anIntArrayArrayArray9437[var2][var3];
      int[] var5 = this.anIntArrayArrayArray9463[var2][var3];
      int var6 = var4.length;
      if(this.anIntArray9461.length < var6) {
         this.anIntArray9461 = new int[var6];
         this.anIntArray9429 = new int[var6];
      }

      int var7;
      for(var7 = 0; var7 < var6; ++var7) {
         this.anIntArray9461[var7] = var4[var7] >> this.aClass545_Sub2_9457.anInt9711;
         this.anIntArray9429[var7] = var5[var7] >> this.aClass545_Sub2_9457.anInt9711;
      }

      var7 = 0;

      while(var7 < var6) {
         int var8 = this.anIntArray9461[var7];
         int var9 = this.anIntArray9429[var7++];
         int var10 = this.anIntArray9461[var7];
         int var11 = this.anIntArray9429[var7++];
         int var12 = this.anIntArray9461[var7];
         int var13 = this.anIntArray9429[var7++];
         if((var8 - var10) * (var11 - var13) - (var11 - var9) * (var12 - var10) > 0) {
            var1.method16451(var9, var11, var13, var8, var10, var12);
         }
      }

   }
}
