import java.util.Iterator;

public class Class241 {

   public Class400[] aClass400Array2859;
   public int anInt2860;
   int anInt2861;
   int anInt2862;
   int anInt2863 = 16;
   Class545 aClass545_2864;
   float[] aFloatArray2865 = new float[3];
   Class420 aClass420_2866;
   public Class400[] aClass400Array2867;
   public Class572[][][] aClass572ArrayArrayArray2868;
   public int anInt2869;
   public int anInt2870;
   int anInt2871;
   int anInt2872 = 5098;
   boolean[][] aBoolArrayArray2873;
   public Class572[][][] aClass572ArrayArrayArray2874;
   int anInt2875;
   public Class572[][][] aClass572ArrayArrayArray2876;
   int anInt2877;
   int[][] anIntArrayArray2878;
   short[][] aShortArrayArray2879;
   byte[][] aByteArrayArray2880;
   byte[][] aByteArrayArray2881;
   byte[][] aByteArrayArray2882;
   public Class576 aClass576_2883;
   int anInt2884 = 0;
   public int anInt2885;
   int anInt2886;
   int anInt2887 = 5078;
   Class515_Sub1[] aClass515_Sub1Array2888;
   Class515_Sub1[] aClass515_Sub1Array2889;
   Class515_Sub1[] aClass515_Sub1Array2890;
   int anInt2891;
   int anInt2892;
   Class515_Sub1[] aClass515_Sub1Array2893;
   Class515_Sub1[] aClass515_Sub1Array2894;
   Class515_Sub1_Sub4[] aClass515_Sub1_Sub4Array2895;
   int anInt2896;
   int anInt2897;
   int anInt2898;
   int anInt2899 = 10055;
   int anInt2900;
   int anInt2901;
   boolean aBool2902;
   int anInt2903;
   int anInt2904;
   int anInt2905;
   public Class236 aClass236_2906;
   byte[][] aByteArrayArray2907;
   int anInt2908;
   public Class400[] aClass400Array2909;
   Class225_Sub40[] aClass225_Sub40Array2910 = new Class225_Sub40[8];
   int anInt2911 = '\ufeeb';
   static final int anInt2912 = 4;
   int anInt2913;
   long[][][] aLongArrayArrayArray2914;
   public static boolean aBool2915 = true;
   boolean[] aBoolArray2916;
   boolean aBool2917;
   boolean[][] aBoolArrayArray2918;
   int[] anIntArray2919;
   boolean[][] aBoolArrayArray2920;
   Class230[] aClass230Array2921;


   public void method4169(Class8 var1) {}

   public void method4170(int var1, int var2) {}

   public void method4171(Class8 var1, byte var2) {}

   public void method4172(boolean var1, byte var2) {
      if(var1) {
         if(var2 == 18) {
            ;
         }

         this.aClass572ArrayArrayArray2868 = this.aClass572ArrayArrayArray2876;
         this.aClass400Array2859 = this.aClass400Array2909;
      } else {
         this.aClass572ArrayArrayArray2868 = this.aClass572ArrayArrayArray2874;
         this.aClass400Array2859 = this.aClass400Array2867;
      }

      this.anInt2869 = 1260461895 * this.aClass572ArrayArrayArray2868.length;
   }

   public void method4173(int var1) {
      for(int var2 = 0; var2 < -648719443 * this.anInt2870; ++var2) {
         for(int var3 = 0; var3 < 1301377571 * this.anInt2885; ++var3) {
            if(this.aClass572ArrayArrayArray2868[0][var2][var3] == null) {
               this.aClass572ArrayArrayArray2868[0][var2][var3] = new Class572(0);
            }
         }
      }

   }

   boolean method4174(Class515_Sub1 var1, boolean var2, byte[][][] var3, int var4, byte var5) {
      if(!this.aBool2917) {
         return false;
      } else if(var1 instanceof Class515_Sub1_Sub4) {
         short var12 = ((Class515_Sub1_Sub4)var1).aShort10429;
         short var13 = ((Class515_Sub1_Sub4)var1).aShort10426;
         short var14 = ((Class515_Sub1_Sub4)var1).aShort10430;
         short var9 = ((Class515_Sub1_Sub4)var1).aShort10424;

         for(int var10 = var14; var10 <= var12; ++var10) {
            for(int var11 = var9; var11 <= var13; ++var11) {
               if(var1.aByte8444 < this.anInt2869 * -716645769 && var10 >= this.anInt2905 * 1510659669 && var10 < -38087527 * this.anInt2871 && var11 >= -1221937525 * this.anInt2903 && var11 < this.anInt2897 * -1598005123) {
                  if((null == var3 || var1.aByte8443 < var4 || var3[var1.aByte8443][var10][var11] != var5) && var1.method13403((short)-26222) && !var1.method13428(this.aClass545_2864, 177172437)) {
                     return false;
                  }

                  if(!var2 && var10 >= 463854619 * this.anInt2896 - 16 && var10 <= this.anInt2896 * 463854619 + 16 && var11 >= 1686765659 * this.anInt2908 - 16 && var11 <= this.anInt2908 * 1686765659 + 16) {
                     var1.method13402(this.aClass545_2864, 783528092);
                  }

                  return true;
               }
            }
         }

         return true;
      } else {
         Class326 var6 = var1.method10913().aClass326_4031;
         int var7 = (int)var6.aFloat4036 >> 1261520001 * this.anInt2860;
         int var8 = (int)var6.aFloat4033 >> 1261520001 * this.anInt2860;
         if(var1.aByte8444 < -716645769 * this.anInt2869 && var7 >= 1510659669 * this.anInt2905 && var7 < -38087527 * this.anInt2871 && var8 >= -1221937525 * this.anInt2903 && var8 < -1598005123 * this.anInt2897) {
            if((var3 == null || var1.aByte8443 < var4 || var3[var1.aByte8443][var7][var8] != var5) && var1.method13403((short)-14361) && !var1.method13428(this.aClass545_2864, -229262136)) {
               return false;
            } else {
               if(!var2 && var7 >= 463854619 * this.anInt2896 - 16 && var7 <= this.anInt2896 * 463854619 + 16 && var8 >= 1686765659 * this.anInt2908 - 16 && var8 <= 1686765659 * this.anInt2908 + 16) {
                  var1.method13402(this.aClass545_2864, 1818529584);
               }

               return true;
            }
         } else {
            return true;
         }
      }
   }

   public void method4175(int var1, int var2, int var3) {
      Class572 var4 = this.aClass572ArrayArrayArray2868[0][var1][var2];

      for(int var5 = 0; var5 < 3; ++var5) {
         Class572 var6 = this.aClass572ArrayArrayArray2868[var5][var1][var2] = this.aClass572ArrayArrayArray2868[var5 + 1][var1][var2];
         if(null != var6) {
            for(Class239 var7 = var6.aClass239_7584; null != var7; var7 = var7.aClass239_2838) {
               Class515_Sub1_Sub4 var8 = var7.aClass515_Sub1_Sub4_2839;
               if(var1 == var8.aShort10430 && var2 == var8.aShort10424) {
                  --var8.aByte8443;
               }
            }

            if(var6.aClass515_Sub1_Sub2_7582 != null) {
               --var6.aClass515_Sub1_Sub2_7582.aByte8443;
            }

            if(null != var6.aClass515_Sub1_Sub3_7578) {
               --var6.aClass515_Sub1_Sub3_7578.aByte8443;
            }

            if(null != var6.aClass515_Sub1_Sub3_7586) {
               --var6.aClass515_Sub1_Sub3_7586.aByte8443;
            }

            if(var6.aClass515_Sub1_Sub5_7580 != null) {
               --var6.aClass515_Sub1_Sub5_7580.aByte8443;
            }

            if(var6.aClass515_Sub1_Sub5_7581 != null) {
               --var6.aClass515_Sub1_Sub5_7581.aByte8443;
            }
         }
      }

      if(this.aClass572ArrayArrayArray2868[0][var1][var2] == null) {
         this.aClass572ArrayArrayArray2868[0][var1][var2] = new Class572(0);
         this.aClass572ArrayArrayArray2868[0][var1][var2].aByte7585 = 1;
      }

      this.aClass572ArrayArrayArray2868[0][var1][var2].aClass572_7577 = var4;
      this.aClass572ArrayArrayArray2868[3][var1][var2] = null;
   }

   public void method4176(int var1, int var2, int var3, short var4) {
      boolean var5 = null != this.aClass572ArrayArrayArray2868[0][var2][var3] && null != this.aClass572ArrayArrayArray2868[0][var2][var3].aClass572_7577;

      for(int var6 = var1; var6 >= 0; --var6) {
         if(this.aClass572ArrayArrayArray2868[var6][var2][var3] == null) {
            Class572 var7 = this.aClass572ArrayArrayArray2868[var6][var2][var3] = new Class572(var6);
            if(var5) {
               ++var7.aByte7585;
            }
         }
      }

   }

   public void method4177(int var1, Class400 var2, int var3) {
      this.aClass400Array2859[var1] = var2;
   }

   public int method4178(int var1, int var2, int var3) {
      int var10000;
      if(null != this.aShortArrayArray2879) {
         if(var3 == 435004441) {
            ;
         }

         var10000 = this.aShortArrayArray2879[var1][var2] & '\uffff';
      } else {
         var10000 = 0;
      }

      return var10000;
   }

   public int method4179(int var1, int var2, int var3) {
      return this.anIntArrayArray2878 != null?this.anIntArrayArray2878[var1][var2] & 16777215:0;
   }

   public int method4180(int var1, int var2, byte var3) {
      return this.aByteArrayArray2880 != null?this.aByteArrayArray2880[var1][var2] & 255:0;
   }

   public int method4181(int var1, int var2, int var3) {
      return this.aByteArrayArray2881 != null?this.aByteArrayArray2881[var1][var2] & 255:0;
   }

   public int method4182(int var1, int var2, byte var3) {
      return this.aByteArrayArray2882 != null?this.aByteArrayArray2882[var1][var2] & 255:0;
   }

   public int method4183(int var1, int var2, int var3) {
      return this.aByteArrayArray2907 != null?this.aByteArrayArray2907[var1][var2] & 255:0;
   }

   public Class241(Class545 var1, int var2, int var3, int var4, int var5, int var6, boolean var7, boolean var8) {
      this.aClass545_2864 = var1;
      this.aBool2902 = this.aClass545_2864.method11505() > 0;
      this.anInt2860 = -989660287 * var2;
      this.anInt2861 = (1 << this.anInt2860 * 1261520001) * 988192339;
      this.anInt2862 = (-156805669 * this.anInt2861 >> 1) * 1124367683;
      this.anInt2869 = 1260461895 * var3;
      this.anInt2870 = -906786779 * var4;
      this.anInt2885 = var5 * 1198247307;
      this.anInt2886 = var6 * 1391073401;
      this.aClass420_2866 = new Class420();
      this.aClass236_2906 = new Class236(this);
      this.aClass572ArrayArrayArray2874 = new Class572[var3][this.anInt2870 * -648719443][1301377571 * this.anInt2885];
      this.aClass400Array2867 = new Class400[var3];
      if(var7) {
         this.anIntArrayArray2878 = new int[-648719443 * this.anInt2870][this.anInt2885 * 1301377571];
         this.aByteArrayArray2880 = new byte[this.anInt2870 * -648719443][1301377571 * this.anInt2885];
         this.aShortArrayArray2879 = new short[this.anInt2870 * -648719443][1301377571 * this.anInt2885];
         this.aByteArrayArray2881 = new byte[this.anInt2870 * -648719443][this.anInt2885 * 1301377571];
         this.aByteArrayArray2882 = new byte[-648719443 * this.anInt2870][1301377571 * this.anInt2885];
         this.aByteArrayArray2907 = new byte[this.anInt2870 * -648719443][1301377571 * this.anInt2885];
         this.aClass572ArrayArrayArray2876 = new Class572[1][-648719443 * this.anInt2870][this.anInt2885 * 1301377571];
         this.aClass400Array2909 = new Class400[1];
      }

      if(var8) {
         this.aLongArrayArrayArray2914 = new long[var3][var4][var5];
         this.aClass230Array2921 = new Class230['\ufeeb'];
         this.aBoolArray2916 = new boolean['\ufeeb'];
         this.anInt2913 = 0;
      }

      this.method4172(false, (byte)-19);
      this.aClass515_Sub1Array2888 = new Class515_Sub1[2];
      this.aClass515_Sub1Array2889 = new Class515_Sub1[2];
      this.aClass515_Sub1Array2890 = new Class515_Sub1[2];
      this.aClass515_Sub1Array2894 = new Class515_Sub1[10055];
      this.anInt2891 = 0;
      this.aClass515_Sub1Array2893 = new Class515_Sub1[5098];
      this.anInt2892 = 0;
      this.aClass515_Sub1_Sub4Array2895 = new Class515_Sub1_Sub4[5078];
      this.anInt2884 = 0;
      this.aBoolArrayArray2920 = new boolean[1 + this.anInt2886 * -336014903 + -336014903 * this.anInt2886][-336014903 * this.anInt2886 + this.anInt2886 * -336014903 + 1];
      this.aBoolArrayArray2918 = new boolean[this.anInt2886 * -336014903 + -336014903 * this.anInt2886 + 2][-336014903 * this.anInt2886 + -336014903 * this.anInt2886 + 2];
      this.anIntArray2919 = new int[2 + -336014903 * this.anInt2886 + this.anInt2886 * -336014903];
      this.aClass576_2883 = new Class576(false);
   }

   public void method4184(int var1, int var2, int var3, Class515_Sub1_Sub2 var4, int var5) {
      Class572 var6 = this.method4280(var1, var2, var3, 1344478846);
      if(var6 != null) {
         var6.aClass515_Sub1_Sub2_7582 = var4;
         int var7 = this.aClass400Array2909 == this.aClass400Array2859?1:0;
         if(var4.method13394((byte)1)) {
            if(var4.method13451((byte)1)) {
               var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2889[var7];
               this.aClass515_Sub1Array2889[var7] = var4;
            } else {
               var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2888[var7];
               this.aClass515_Sub1Array2888[var7] = var4;
            }
         } else {
            var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2890[var7];
            this.aClass515_Sub1Array2890[var7] = var4;
         }
      }

   }

   public void method4185(int var1, int var2, int var3, int var4, Class515_Sub1_Sub1 var5, byte var6) {
      Class572 var7 = this.method4280(var1, var2, var3, 1344478846);
      if(var7 != null) {
         var5.method10918(new Class326((float)(-261294229 * this.anInt2862 + (var2 << this.anInt2860 * 1261520001)), (float)var4, (float)((var3 << this.anInt2860 * 1261520001) + -261294229 * this.anInt2862)));
         var7.aClass515_Sub1_Sub1_7583 = var5;
         int var8 = this.aClass400Array2909 == this.aClass400Array2859?1:0;
         if(var5.method13394((byte)1)) {
            if(var5.method13451((byte)1)) {
               var5.aClass515_Sub1_8442 = this.aClass515_Sub1Array2889[var8];
               this.aClass515_Sub1Array2889[var8] = var5;
            } else {
               var5.aClass515_Sub1_8442 = this.aClass515_Sub1Array2888[var8];
               this.aClass515_Sub1Array2888[var8] = var5;
            }
         } else {
            var5.aClass515_Sub1_8442 = this.aClass515_Sub1Array2890[var8];
            this.aClass515_Sub1Array2890[var8] = var5;
         }
      }

   }

   public void method4186(int var1, int var2, int var3, Class515_Sub1_Sub3 var4, Class515_Sub1_Sub3 var5, int var6) {
      Class572 var7 = this.method4280(var1, var2, var3, 1344478846);
      if(null != var7) {
         var7.aClass515_Sub1_Sub3_7578 = var4;
         var7.aClass515_Sub1_Sub3_7586 = var5;
         int var8 = this.aClass400Array2859 == this.aClass400Array2909?1:0;
         if(var4.method13394((byte)1)) {
            if(var4.method13451((byte)1)) {
               var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2889[var8];
               this.aClass515_Sub1Array2889[var8] = var4;
            } else {
               var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2888[var8];
               this.aClass515_Sub1Array2888[var8] = var4;
            }
         } else {
            var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2890[var8];
            this.aClass515_Sub1Array2890[var8] = var4;
         }

         if(null != var5) {
            if(var5.method13394((byte)1)) {
               if(var5.method13451((byte)1)) {
                  var5.aClass515_Sub1_8442 = this.aClass515_Sub1Array2889[var8];
                  this.aClass515_Sub1Array2889[var8] = var5;
               } else {
                  var5.aClass515_Sub1_8442 = this.aClass515_Sub1Array2888[var8];
                  this.aClass515_Sub1Array2888[var8] = var5;
               }
            } else {
               var5.aClass515_Sub1_8442 = this.aClass515_Sub1Array2890[var8];
               this.aClass515_Sub1Array2890[var8] = var5;
            }
         }
      }

   }

   public void method4187(int var1, Class400 var2) {
      this.aClass400Array2859[var1] = var2;
   }

   public boolean method4188(Class515_Sub1_Sub4 var1, boolean var2, byte var3) {
      boolean var4 = this.aClass400Array2909 == this.aClass400Array2859;
      int var5 = 0;
      short var6 = 0;
      byte var7 = 0;
      var1.method16058(1838940242);
      if(var1.aShort10430 >= 0 && var1.aShort10424 >= 0 && var1.aShort10429 < this.anInt2870 * -648719443 && var1.aShort10426 < this.anInt2885 * 1301377571) {
         short var8 = 0;

         int var9;
         int var10;
         for(var9 = var1.aShort10430; var9 <= var1.aShort10429; ++var9) {
            for(var10 = var1.aShort10424; var10 <= var1.aShort10426; ++var10) {
               Class572 var11 = this.method4280(var1.aByte8443, var9, var10, 1344478846);
               if(null != var11) {
                  Class239 var12 = Class146.method2691(var1, (byte)16);
                  Class239 var13 = var11.aClass239_7584;
                  if(null == var13) {
                     var11.aClass239_7584 = var12;
                  } else {
                     while(var13.aClass239_2838 != null) {
                        var13 = var13.aClass239_2838;
                     }

                     var13.aClass239_2838 = var12;
                  }

                  if(var4 && (this.anIntArrayArray2878[var9][var10] & -16777216) != 0) {
                     var5 = this.anIntArrayArray2878[var9][var10];
                     var6 = this.aShortArrayArray2879[var9][var10];
                     var7 = this.aByteArrayArray2880[var9][var10];
                  }

                  if(!var2 && var11.aClass515_Sub1_Sub2_7582 != null && var11.aClass515_Sub1_Sub2_7582.aShort10389 > var8) {
                     var8 = var11.aClass515_Sub1_Sub2_7582.aShort10389;
                  }
               }
            }
         }

         if(var4 && (var5 & -16777216) != 0) {
            for(var9 = var1.aShort10430; var9 <= var1.aShort10429; ++var9) {
               for(var10 = var1.aShort10424; var10 <= var1.aShort10426; ++var10) {
                  if(0 == (this.anIntArrayArray2878[var9][var10] & -16777216)) {
                     this.anIntArrayArray2878[var9][var10] = var5;
                     this.aShortArrayArray2879[var9][var10] = var6;
                     this.aByteArrayArray2880[var9][var10] = var7;
                  }
               }
            }
         }

         if(var2) {
            this.aClass515_Sub1_Sub4Array2895[(this.anInt2884 += -1562067799) * 252815257 - 1] = var1;
            var1.aClass241_8441 = this;
         } else {
            var9 = this.aClass400Array2859 == this.aClass400Array2909?1:0;
            if(var1.method13394((byte)1)) {
               if(var1.method13451((byte)1)) {
                  var1.aClass515_Sub1_8442 = this.aClass515_Sub1Array2889[var9];
                  this.aClass515_Sub1Array2889[var9] = var1;
               } else {
                  var1.aClass515_Sub1_8442 = this.aClass515_Sub1Array2888[var9];
                  this.aClass515_Sub1Array2888[var9] = var1;
               }
            } else {
               var1.aClass515_Sub1_8442 = this.aClass515_Sub1Array2890[var9];
               this.aClass515_Sub1Array2890[var9] = var1;
            }
         }

         if(var2) {
            Class326 var14 = Class326.method5922(var1.method10913().aClass326_4031);
            var14.aFloat4037 -= (float)var8;
            var1.method10918(var14);
            var14.method5948();
         }

         return true;
      } else {
         return false;
      }
   }

   public Class515_Sub1_Sub5 method4189(int var1, int var2, int var3) {
      Class572 var4 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(var4 != null) {
         this.method4318(var4.aClass515_Sub1_Sub5_7581, 1021342938);
         if(var4.aClass515_Sub1_Sub5_7581 != null) {
            Class515_Sub1_Sub5 var5 = var4.aClass515_Sub1_Sub5_7581;
            var4.aClass515_Sub1_Sub5_7581 = null;
            return var5;
         }
      }

      return null;
   }

   Class572 method4190(int var1, int var2, int var3) {
      if(null == this.aClass572ArrayArrayArray2868[var1][var2][var3]) {
         boolean var4 = this.aClass572ArrayArrayArray2868[0][var2][var3] != null && this.aClass572ArrayArrayArray2868[0][var2][var3].aClass572_7577 != null;
         if(var4 && var1 >= -716645769 * this.anInt2869 - 1) {
            return null;
         }

         this.method4176(var1, var2, var3, (short)10115);
      }

      return this.aClass572ArrayArrayArray2868[var1][var2][var3];
   }

   public Class515_Sub1_Sub3 method4191(int var1, int var2, int var3, int var4) {
      Class572 var5 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(null != var5) {
         this.method4318(var5.aClass515_Sub1_Sub3_7578, 2110077392);
         if(var5.aClass515_Sub1_Sub3_7578 != null) {
            Class515_Sub1_Sub3 var6 = var5.aClass515_Sub1_Sub3_7578;
            var5.aClass515_Sub1_Sub3_7578 = null;
            return var6;
         }
      }

      return null;
   }

   void method4192(Class515_Sub1 var1) {
      Class326 var2 = var1.method10913().aClass326_4031;
      this.aClass545_2864.method11650((float)((int)var2.aFloat4036), (float)((int)var2.aFloat4037 + (var1.method13404((byte)-63) >> 1)), (float)((int)var2.aFloat4033), this.aFloatArray2865);
      var1.anInt8445 = -2036700181 * (int)this.aFloatArray2865[2];
   }

   public void method4193(int var1, int var2, int var3, int var4, byte[][][] var5, int[] var6, int[] var7, int[] var8, int[] var9, int[] var10, int var11, byte var12, int var13, int var14, boolean var15, boolean var16, int var17, boolean var18) {
      this.aClass236_2906.aBool2815 = true;
      this.aBool2917 = var16;
      this.anInt2896 = (var2 >> 1261520001 * this.anInt2860) * 1544068627;
      this.anInt2908 = (var4 >> 1261520001 * this.anInt2860) * 1264791507;
      this.anInt2898 = 413465585 * var2;
      this.anInt2877 = -436349937 * var4;
      this.anInt2900 = -1446974667 * var3;
      this.anInt2905 = -516949841 * this.anInt2896 - this.anInt2886 * 1383397797;
      if(this.anInt2905 * 1510659669 < 0) {
         this.anInt2875 = -(this.anInt2905 * 527548429);
         this.anInt2905 = 0;
      } else {
         this.anInt2875 = 0;
      }

      this.anInt2903 = -152508559 * this.anInt2908 - 2052716411 * this.anInt2886;
      if(-1221937525 * this.anInt2903 < 0) {
         this.anInt2904 = -(-1820223365 * this.anInt2903);
         this.anInt2903 = 0;
      } else {
         this.anInt2904 = 0;
      }

      this.anInt2871 = 691073747 * this.anInt2896 + this.anInt2886 * 347796657;
      if(-38087527 * this.anInt2871 > this.anInt2870 * -648719443) {
         this.anInt2871 = this.anInt2870 * -1809592267;
      }

      this.anInt2897 = -1076440137 * this.anInt2908 + this.anInt2886 * -838507459;
      if(this.anInt2897 * -1598005123 > 1301377571 * this.anInt2885) {
         this.anInt2897 = -296534241 * this.anInt2885;
      }

      boolean[][] var19 = this.aBoolArrayArray2920;
      boolean[][] var20 = this.aBoolArrayArray2918;
      int var21;
      int var22;
      if(this.aBool2917) {
         for(var21 = 0; var21 < -336014903 * this.anInt2886 + -336014903 * this.anInt2886 + 2; ++var21) {
            var22 = 0;
            int var23 = 0;

            for(int var24 = 0; var24 < 2 + this.anInt2886 * -336014903 + -336014903 * this.anInt2886; ++var24) {
               if(var24 > 1) {
                  this.anIntArray2919[var24 - 2] = var22;
               }

               var22 = var23;
               int var25 = this.anInt2896 * 463854619 - this.anInt2886 * -336014903 + var21;
               int var26 = var24 + (1686765659 * this.anInt2908 - this.anInt2886 * -336014903);
               int var27;
               if(var25 >= 0 && var26 >= 0 && var25 < this.anInt2870 * -648719443 && var26 < 1301377571 * this.anInt2885) {
                  var27 = var25 << this.anInt2860 * 1261520001;
                  int var28 = var26 << this.anInt2860 * 1261520001;
                  int var29 = this.aClass400Array2867[this.aClass400Array2867.length - 1].method6789(var25, var26, (byte)3) - (1000 << 1261520001 * this.anInt2860 - 7);
                  int var30 = (null != this.aClass400Array2909?this.aClass400Array2909[0].method6789(var25, var26, (byte)3) + -156805669 * this.anInt2861:this.aClass400Array2867[0].method6789(var25, var26, (byte)3) + -156805669 * this.anInt2861) + (1000 << this.anInt2860 * 1261520001 - 7);
                  var23 = this.aClass545_2864.method11477(var27, var29, var28, var27, var30, var28);
                  this.aBoolArrayArray2918[var21][var24] = var23 == 0;
               } else {
                  var23 = -1;
                  this.aBoolArrayArray2918[var21][var24] = false;
               }

               if(var21 > 0 && var24 > 0) {
                  var27 = this.anIntArray2919[var24 - 1] & this.anIntArray2919[var24] & var22 & var23;
                  this.aBoolArrayArray2920[var21 - 1][var24 - 1] = var27 == 0;
               }
            }

            this.anIntArray2919[-336014903 * this.anInt2886 + -336014903 * this.anInt2886] = var22;
            this.anIntArray2919[-336014903 * this.anInt2886 + -336014903 * this.anInt2886 + 1] = var23;
         }

         if(!var18) {
            this.aClass236_2906.aBool2815 = false;
         } else {
            this.aClass236_2906.anIntArray2806 = var6;
            this.aClass236_2906.anIntArray2816 = var7;
            this.aClass236_2906.anIntArray2817 = var8;
            this.aClass236_2906.anIntArray2818 = var9;
            this.aClass236_2906.anIntArray2819 = var10;
            this.aClass236_2906.method4082(this.aClass545_2864, var11);
         }
      } else {
         if(this.aBoolArrayArray2873 == null) {
            this.aBoolArrayArray2873 = new boolean[2 + this.anInt2886 * -336014903 + this.anInt2886 * -336014903][-336014903 * this.anInt2886 + -336014903 * this.anInt2886 + 2];
         }

         for(var21 = 0; var21 < this.aBoolArrayArray2873.length; ++var21) {
            for(var22 = 0; var22 < this.aBoolArrayArray2873[0].length; ++var22) {
               this.aBoolArrayArray2873[var21][var22] = true;
            }
         }

         this.aBoolArrayArray2918 = this.aBoolArrayArray2873;
         this.aBoolArrayArray2920 = this.aBoolArrayArray2873;
         this.anInt2905 = 0;
         this.anInt2903 = 0;
         this.anInt2871 = this.anInt2870 * -1809592267;
         this.anInt2897 = this.anInt2885 * -296534241;
         this.aClass236_2906.aBool2815 = false;
      }

      Class36.method1026(this, this.aClass545_2864, (byte)17);
      if(!this.aClass576_2883.aBool7608) {
         Iterator var31 = this.aClass576_2883.aList7607.iterator();

         while(var31.hasNext()) {
            Class579 var32 = (Class579)var31.next();
            var31.remove();
            Class332.method6153(var32, -2112209685);
         }
      }

      if(this.aBool2902) {
         for(var21 = 0; var21 < this.anInt2913 * -88975437; ++var21) {
            this.aClass230Array2921[var21].method3964(var1, var15, (byte)58);
         }
      }

      if(null != this.aClass572ArrayArrayArray2876) {
         this.method4172(true, (byte)22);
         this.aClass545_2864.method11543(-1, new Class153(1583160, 40, 127, 63, 0, 0, 0));
         this.method4250(true, var5, var11, var12, var17);
         this.aClass545_2864.O();
         this.method4172(false, (byte)82);
      }

      this.method4250(false, var5, var11, var12, var17);
      if(!this.aBool2917) {
         this.aBoolArrayArray2920 = var19;
         this.aBoolArrayArray2918 = var20;
      }

   }

   public Class515_Sub1_Sub5 method4194(int var1, int var2, int var3, int var4) {
      Class572 var5 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(var5 != null) {
         this.method4318(var5.aClass515_Sub1_Sub5_7581, -426911824);
         if(var5.aClass515_Sub1_Sub5_7581 != null) {
            Class515_Sub1_Sub5 var6 = var5.aClass515_Sub1_Sub5_7581;
            var5.aClass515_Sub1_Sub5_7581 = null;
            return var6;
         }
      }

      return null;
   }

   public Class515_Sub1_Sub4 method4195(int var1, int var2, int var3, Interface23 var4) {
      Class572 var5 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(null == var5) {
         return null;
      } else {
         for(Class239 var6 = var5.aClass239_7584; null != var6; var6 = var6.aClass239_2838) {
            Class515_Sub1_Sub4 var7 = var6.aClass515_Sub1_Sub4_2839;
            if((var4 == null || var4.method110(var7, -1377529922)) && var7.aShort10430 == var2 && var7.aShort10424 == var3) {
               this.method4257(var7, false, 1071938745);
               return var7;
            }
         }

         return null;
      }
   }

   public Class515_Sub1_Sub1 method4196(int var1, int var2, int var3) {
      Class572 var4 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(null == var4) {
         return null;
      } else {
         Class515_Sub1_Sub1 var5 = var4.aClass515_Sub1_Sub1_7583;
         var4.aClass515_Sub1_Sub1_7583 = null;
         this.method4318(var5, 1141911738);
         return var5;
      }
   }

   public Class515_Sub1_Sub4 method4197(int var1, int var2, int var3, Interface23 var4, int var5) {
      Class572 var6 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(null == var6) {
         return null;
      } else {
         for(Class239 var7 = var6.aClass239_7584; null != var7; var7 = var7.aClass239_2838) {
            Class515_Sub1_Sub4 var8 = var7.aClass515_Sub1_Sub4_2839;
            if((var4 == null || var4.method110(var8, -1924615271)) && var8.aShort10430 == var2 && var8.aShort10424 == var3) {
               this.method4257(var8, false, -797242714);
               return var8;
            }
         }

         return null;
      }
   }

   void method4198(Class515_Sub1[] var1, int var2, int var3) {
      if(var2 < var3) {
         int var4 = (var2 + var3) / 2;
         int var5 = var2;
         Class515_Sub1 var6 = var1[var4];
         var1[var4] = var1[var3];
         var1[var3] = var6;
         int var7 = var6.anInt8445 * -56073021;

         for(int var8 = var2; var8 < var3; ++var8) {
            if(-56073021 * var1[var8].anInt8445 > var7 + (var8 & 1)) {
               Class515_Sub1 var9 = var1[var8];
               var1[var8] = var1[var5];
               var1[var5++] = var9;
            }
         }

         var1[var3] = var1[var5];
         var1[var5] = var6;
         this.method4198(var1, var2, var5 - 1);
         this.method4198(var1, var5 + 1, var3);
      }

   }

   public int method4199(int var1, int var2) {
      return this.aByteArrayArray2907 != null?this.aByteArrayArray2907[var1][var2] & 255:0;
   }

   public int method4200(int var1, int var2) {
      return this.aByteArrayArray2881 != null?this.aByteArrayArray2881[var1][var2] & 255:0;
   }

   public Class515_Sub1_Sub3 method4201(int var1, int var2, int var3, int var4) {
      Class572 var5 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(var5 == null) {
         if(var4 <= -1917131595) {
            ;
         }

         return null;
      } else {
         return var5.aClass515_Sub1_Sub3_7586;
      }
   }

   public Class515_Sub1_Sub5 method4202(int var1, int var2, int var3, byte var4) {
      Class572 var5 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      return var5 == null?null:var5.aClass515_Sub1_Sub5_7580;
   }

   public Class515_Sub1_Sub1 method4203(int var1, int var2, int var3, byte var4) {
      Class572 var5 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(var5 == null) {
         if(var4 <= 0) {
            ;
         }

         return null;
      } else {
         return var5.aClass515_Sub1_Sub1_7583;
      }
   }

   public void method4204() {
      for(int var1 = 0; var1 < this.anInt2884 * 252815257; ++var1) {
         Class515_Sub1_Sub4 var2 = this.aClass515_Sub1_Sub4Array2895[var1];
         this.method4257(var2, true, 1876518673);
         this.aClass515_Sub1_Sub4Array2895[var1] = null;
      }

      this.anInt2884 = 0;
   }

   public Class239 method4205(int var1, int var2, int var3, short var4) {
      Class572 var5 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      return null == var5?null:var5.aClass239_7584;
   }

   public Class515_Sub1_Sub2 method4206(int var1, int var2, int var3, byte var4) {
      Class572 var5 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      return var5 != null && var5.aClass515_Sub1_Sub2_7582 != null?var5.aClass515_Sub1_Sub2_7582:null;
   }

   public void method4207() {
      for(int var1 = 0; var1 < this.anInt2869 * -716645769; ++var1) {
         for(int var2 = 0; var2 < -648719443 * this.anInt2870; ++var2) {
            for(int var3 = 0; var3 < 1301377571 * this.anInt2885; ++var3) {
               Class572 var4 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
               if(var4 != null) {
                  Class515_Sub1_Sub3 var5 = var4.aClass515_Sub1_Sub3_7578;
                  Class515_Sub1_Sub3 var6 = var4.aClass515_Sub1_Sub3_7586;
                  if(null != var5 && var5.method13423((byte)31)) {
                     this.method4209(var5, var1, var2, var3, 1, 1);
                     if(null != var6 && var6.method13423((byte)44)) {
                        this.method4209(var6, var1, var2, var3, 1, 1);
                        var6.method13424(this.aClass545_2864, var5, 0, 0, 0, false, -1949357021);
                        var6.method13397(-1715490032);
                     }

                     var5.method13397(-1702544317);
                  }

                  for(Class239 var7 = var4.aClass239_7584; var7 != null; var7 = var7.aClass239_2838) {
                     Class515_Sub1_Sub4 var8 = var7.aClass515_Sub1_Sub4_2839;
                     if(null != var8 && var8.method13423((byte)124)) {
                        this.method4209(var8, var1, var2, var3, var8.aShort10429 - var8.aShort10430 + 1, 1 + (var8.aShort10426 - var8.aShort10424));
                        var8.method13397(-1309968840);
                     }
                  }

                  Class515_Sub1_Sub2 var9 = var4.aClass515_Sub1_Sub2_7582;
                  if(var9 != null && var9.method13423((byte)106)) {
                     this.method4208(var9, var1, var2, var3, (byte)98);
                     var9.method13397(-1455883869);
                  }
               }
            }
         }
      }

   }

   void method4208(Class515_Sub1 var1, int var2, int var3, int var4, byte var5) {
      Class572 var6;
      int var7;
      if(var3 < this.anInt2870 * -648719443) {
         var6 = this.aClass572ArrayArrayArray2868[var2][1 + var3][var4];
         if(null != var6 && null != var6.aClass515_Sub1_Sub2_7582 && var6.aClass515_Sub1_Sub2_7582.method13423((byte)22)) {
            var7 = (this.aClass400Array2859[var2].method6789(var3 + 1, var4, (byte)3) + this.aClass400Array2859[var2].method6789(var3 + 1 + 1, var4, (byte)3) + this.aClass400Array2859[var2].method6789(var3 + 1, 1 + var4, (byte)3) + this.aClass400Array2859[var2].method6789(1 + var3 + 1, 1 + var4, (byte)3)) / 4 - (this.aClass400Array2859[var2].method6789(var3, var4, (byte)3) + this.aClass400Array2859[var2].method6789(var3 + 1, var4, (byte)3) + this.aClass400Array2859[var2].method6789(var3, var4 + 1, (byte)3) + this.aClass400Array2859[var2].method6789(1 + var3, 1 + var4, (byte)3)) / 4;
            var1.method13424(this.aClass545_2864, var6.aClass515_Sub1_Sub2_7582, -156805669 * this.anInt2861, var7, 0, true, -1312459738);
         }
      }

      if(var4 < this.anInt2870 * -648719443) {
         var6 = this.aClass572ArrayArrayArray2868[var2][var3][1 + var4];
         if(var6 != null && null != var6.aClass515_Sub1_Sub2_7582 && var6.aClass515_Sub1_Sub2_7582.method13423((byte)56)) {
            var7 = (this.aClass400Array2859[var2].method6789(var3, var4, (byte)3) + this.aClass400Array2859[var2].method6789(1 + var3, var4 + 1, (byte)3) + this.aClass400Array2859[var2].method6789(var3, 1 + 1 + var4, (byte)3) + this.aClass400Array2859[var2].method6789(1 + var3, 1 + var4 + 1, (byte)3)) / 4 - (this.aClass400Array2859[var2].method6789(var3, var4, (byte)3) + this.aClass400Array2859[var2].method6789(1 + var3, var4, (byte)3) + this.aClass400Array2859[var2].method6789(var3, var4 + 1, (byte)3) + this.aClass400Array2859[var2].method6789(1 + var3, 1 + var4, (byte)3)) / 4;
            var1.method13424(this.aClass545_2864, var6.aClass515_Sub1_Sub2_7582, 0, var7, -156805669 * this.anInt2861, true, 625044377);
         }
      }

      if(var3 < -648719443 * this.anInt2870 && var4 < 1301377571 * this.anInt2885) {
         var6 = this.aClass572ArrayArrayArray2868[var2][var3 + 1][1 + var4];
         if(var6 != null && var6.aClass515_Sub1_Sub2_7582 != null && var6.aClass515_Sub1_Sub2_7582.method13423((byte)117)) {
            var7 = (this.aClass400Array2859[var2].method6789(var3 + 1, var4 + 1, (byte)3) + this.aClass400Array2859[var2].method6789(var3 + 1 + 1, var4 + 1, (byte)3) + this.aClass400Array2859[var2].method6789(var3 + 1, 1 + var4 + 1, (byte)3) + this.aClass400Array2859[var2].method6789(1 + 1 + var3, var4 + 1 + 1, (byte)3)) / 4 - (this.aClass400Array2859[var2].method6789(var3, var4, (byte)3) + this.aClass400Array2859[var2].method6789(var3 + 1, var4, (byte)3) + this.aClass400Array2859[var2].method6789(var3, 1 + var4, (byte)3) + this.aClass400Array2859[var2].method6789(1 + var3, 1 + var4, (byte)3)) / 4;
            var1.method13424(this.aClass545_2864, var6.aClass515_Sub1_Sub2_7582, this.anInt2861 * -156805669, var7, this.anInt2861 * -156805669, true, -564116451);
         }
      }

      if(var3 < this.anInt2870 * -648719443 && var4 > 0) {
         var6 = this.aClass572ArrayArrayArray2868[var2][var3 + 1][var4 - 1];
         if(null != var6 && null != var6.aClass515_Sub1_Sub2_7582 && var6.aClass515_Sub1_Sub2_7582.method13423((byte)79)) {
            var7 = (this.aClass400Array2859[var2].method6789(var3 + 1, var4 - 1, (byte)3) + this.aClass400Array2859[var2].method6789(var3 + 1 + 1, var4 - 1, (byte)3) + this.aClass400Array2859[var2].method6789(1 + var3, var4 + 1 - 1, (byte)3) + this.aClass400Array2859[var2].method6789(1 + var3 + 1, 1 + var4 - 1, (byte)3)) / 4 - (this.aClass400Array2859[var2].method6789(var3, var4, (byte)3) + this.aClass400Array2859[var2].method6789(var3 + 1, var4, (byte)3) + this.aClass400Array2859[var2].method6789(var3, 1 + var4, (byte)3) + this.aClass400Array2859[var2].method6789(var3 + 1, var4 + 1, (byte)3)) / 4;
            var1.method13424(this.aClass545_2864, var6.aClass515_Sub1_Sub2_7582, -156805669 * this.anInt2861, var7, -(this.anInt2861 * -156805669), true, -562003553);
         }
      }

   }

   void method4209(Class515_Sub1 var1, int var2, int var3, int var4, int var5, int var6) {
      boolean var7 = true;
      int var8 = var3;
      int var9 = var3 + var5;
      int var10 = var4 - 1;
      int var11 = var4 + var6;

      for(int var12 = var2; var12 <= var2 + 1; ++var12) {
         if(this.anInt2869 * -716645769 != var12) {
            for(int var13 = var8; var13 <= var9; ++var13) {
               if(var13 >= 0 && var13 < -648719443 * this.anInt2870) {
                  for(int var14 = var10; var14 <= var11; ++var14) {
                     if(var14 >= 0 && var14 < 1301377571 * this.anInt2885 && (!var7 || var13 >= var9 || var14 >= var11 || var14 < var4 && var13 != var3)) {
                        Class572 var15 = this.aClass572ArrayArrayArray2868[var12][var13][var14];
                        if(null != var15) {
                           int var16 = (this.aClass400Array2859[var12].method6789(var13, var14, (byte)3) + this.aClass400Array2859[var12].method6789(1 + var13, var14, (byte)3) + this.aClass400Array2859[var12].method6789(var13, 1 + var14, (byte)3) + this.aClass400Array2859[var12].method6789(var13 + 1, var14 + 1, (byte)3)) / 4 - (this.aClass400Array2859[var2].method6789(var3, var4, (byte)3) + this.aClass400Array2859[var2].method6789(1 + var3, var4, (byte)3) + this.aClass400Array2859[var2].method6789(var3, var4 + 1, (byte)3) + this.aClass400Array2859[var2].method6789(var3 + 1, 1 + var4, (byte)3)) / 4;
                           Class515_Sub1_Sub3 var17 = var15.aClass515_Sub1_Sub3_7578;
                           Class515_Sub1_Sub3 var18 = var15.aClass515_Sub1_Sub3_7586;
                           if(var17 != null && var17.method13423((byte)62)) {
                              var1.method13424(this.aClass545_2864, var17, this.anInt2862 * -261294229 * (1 - var5) + -156805669 * this.anInt2861 * (var13 - var3), var16, -156805669 * this.anInt2861 * (var14 - var4) + (1 - var6) * this.anInt2862 * -261294229, var7, 572461069);
                           }

                           if(var18 != null && var18.method13423((byte)117)) {
                              var1.method13424(this.aClass545_2864, var18, -156805669 * this.anInt2861 * (var13 - var3) + -261294229 * this.anInt2862 * (1 - var5), var16, (1 - var6) * this.anInt2862 * -261294229 + -156805669 * this.anInt2861 * (var14 - var4), var7, 1611844978);
                           }

                           for(Class239 var19 = var15.aClass239_7584; null != var19; var19 = var19.aClass239_2838) {
                              Class515_Sub1_Sub4 var20 = var19.aClass515_Sub1_Sub4_2839;
                              if(var20 != null && var20.method13423((byte)70) && (var13 == var20.aShort10430 || var13 == var8) && (var20.aShort10424 == var14 || var10 == var14)) {
                                 int var21 = var20.aShort10429 - var20.aShort10430 + 1;
                                 int var22 = var20.aShort10426 - var20.aShort10424 + 1;
                                 var1.method13424(this.aClass545_2864, var20, (var20.aShort10430 - var3) * -156805669 * this.anInt2861 + this.anInt2862 * -261294229 * (var21 - var5), var16, this.anInt2861 * -156805669 * (var20.aShort10424 - var4) + -261294229 * this.anInt2862 * (var22 - var6), var7, 458142140);
                              }
                           }
                        }
                     }
                  }
               }
            }

            --var8;
            var7 = false;
         }
      }

   }

   public void method4210(int var1, int var2, int var3, int var4, byte[][][] var5, int[] var6, int[] var7, int[] var8, int[] var9, int[] var10, int var11, byte var12, int var13, int var14, boolean var15, boolean var16, int var17, boolean var18) {
      this.aClass236_2906.aBool2815 = true;
      this.aBool2917 = var16;
      this.anInt2896 = (var2 >> 1261520001 * this.anInt2860) * 1544068627;
      this.anInt2908 = (var4 >> 1261520001 * this.anInt2860) * 1264791507;
      this.anInt2898 = 413465585 * var2;
      this.anInt2877 = -436349937 * var4;
      this.anInt2900 = -1446974667 * var3;
      this.anInt2905 = -516949841 * this.anInt2896 - this.anInt2886 * 1383397797;
      if(this.anInt2905 * 1510659669 < 0) {
         this.anInt2875 = -(this.anInt2905 * 527548429);
         this.anInt2905 = 0;
      } else {
         this.anInt2875 = 0;
      }

      this.anInt2903 = -152508559 * this.anInt2908 - 2052716411 * this.anInt2886;
      if(-1221937525 * this.anInt2903 < 0) {
         this.anInt2904 = -(-1820223365 * this.anInt2903);
         this.anInt2903 = 0;
      } else {
         this.anInt2904 = 0;
      }

      this.anInt2871 = 691073747 * this.anInt2896 + this.anInt2886 * 347796657;
      if(-38087527 * this.anInt2871 > this.anInt2870 * -648719443) {
         this.anInt2871 = this.anInt2870 * -1809592267;
      }

      this.anInt2897 = -1076440137 * this.anInt2908 + this.anInt2886 * -838507459;
      if(this.anInt2897 * -1598005123 > 1301377571 * this.anInt2885) {
         this.anInt2897 = -296534241 * this.anInt2885;
      }

      boolean[][] var19 = this.aBoolArrayArray2920;
      boolean[][] var20 = this.aBoolArrayArray2918;
      int var21;
      int var22;
      if(this.aBool2917) {
         for(var21 = 0; var21 < -336014903 * this.anInt2886 + -336014903 * this.anInt2886 + 2; ++var21) {
            var22 = 0;
            int var23 = 0;

            for(int var24 = 0; var24 < 2 + this.anInt2886 * -336014903 + -336014903 * this.anInt2886; ++var24) {
               if(var24 > 1) {
                  this.anIntArray2919[var24 - 2] = var22;
               }

               var22 = var23;
               int var25 = this.anInt2896 * 463854619 - this.anInt2886 * -336014903 + var21;
               int var26 = var24 + (1686765659 * this.anInt2908 - this.anInt2886 * -336014903);
               int var27;
               if(var25 >= 0 && var26 >= 0 && var25 < this.anInt2870 * -648719443 && var26 < 1301377571 * this.anInt2885) {
                  var27 = var25 << this.anInt2860 * 1261520001;
                  int var28 = var26 << this.anInt2860 * 1261520001;
                  int var29 = this.aClass400Array2867[this.aClass400Array2867.length - 1].method6789(var25, var26, (byte)3) - (1000 << 1261520001 * this.anInt2860 - 7);
                  int var30 = (null != this.aClass400Array2909?this.aClass400Array2909[0].method6789(var25, var26, (byte)3) + -156805669 * this.anInt2861:this.aClass400Array2867[0].method6789(var25, var26, (byte)3) + -156805669 * this.anInt2861) + (1000 << this.anInt2860 * 1261520001 - 7);
                  var23 = this.aClass545_2864.method11477(var27, var29, var28, var27, var30, var28);
                  this.aBoolArrayArray2918[var21][var24] = var23 == 0;
               } else {
                  var23 = -1;
                  this.aBoolArrayArray2918[var21][var24] = false;
               }

               if(var21 > 0 && var24 > 0) {
                  var27 = this.anIntArray2919[var24 - 1] & this.anIntArray2919[var24] & var22 & var23;
                  this.aBoolArrayArray2920[var21 - 1][var24 - 1] = var27 == 0;
               }
            }

            this.anIntArray2919[-336014903 * this.anInt2886 + -336014903 * this.anInt2886] = var22;
            this.anIntArray2919[-336014903 * this.anInt2886 + -336014903 * this.anInt2886 + 1] = var23;
         }

         if(!var18) {
            this.aClass236_2906.aBool2815 = false;
         } else {
            this.aClass236_2906.anIntArray2806 = var6;
            this.aClass236_2906.anIntArray2816 = var7;
            this.aClass236_2906.anIntArray2817 = var8;
            this.aClass236_2906.anIntArray2818 = var9;
            this.aClass236_2906.anIntArray2819 = var10;
            this.aClass236_2906.method4082(this.aClass545_2864, var11);
         }
      } else {
         if(this.aBoolArrayArray2873 == null) {
            this.aBoolArrayArray2873 = new boolean[2 + this.anInt2886 * -336014903 + this.anInt2886 * -336014903][-336014903 * this.anInt2886 + -336014903 * this.anInt2886 + 2];
         }

         for(var21 = 0; var21 < this.aBoolArrayArray2873.length; ++var21) {
            for(var22 = 0; var22 < this.aBoolArrayArray2873[0].length; ++var22) {
               this.aBoolArrayArray2873[var21][var22] = true;
            }
         }

         this.aBoolArrayArray2918 = this.aBoolArrayArray2873;
         this.aBoolArrayArray2920 = this.aBoolArrayArray2873;
         this.anInt2905 = 0;
         this.anInt2903 = 0;
         this.anInt2871 = this.anInt2870 * -1809592267;
         this.anInt2897 = this.anInt2885 * -296534241;
         this.aClass236_2906.aBool2815 = false;
      }

      Class36.method1026(this, this.aClass545_2864, (byte)34);
      if(!this.aClass576_2883.aBool7608) {
         Iterator var31 = this.aClass576_2883.aList7607.iterator();

         while(var31.hasNext()) {
            Class579 var32 = (Class579)var31.next();
            var31.remove();
            Class332.method6153(var32, -2043032423);
         }
      }

      if(this.aBool2902) {
         for(var21 = 0; var21 < this.anInt2913 * -88975437; ++var21) {
            this.aClass230Array2921[var21].method3964(var1, var15, (byte)127);
         }
      }

      if(null != this.aClass572ArrayArrayArray2876) {
         this.method4172(true, (byte)57);
         this.aClass545_2864.method11543(-1, new Class153(1583160, 40, 127, 63, 0, 0, 0));
         this.method4250(true, var5, var11, var12, var17);
         this.aClass545_2864.O();
         this.method4172(false, (byte)-116);
      }

      this.method4250(false, var5, var11, var12, var17);
      if(!this.aBool2917) {
         this.aBoolArrayArray2920 = var19;
         this.aBoolArrayArray2918 = var20;
      }

   }

   public void method4211(int var1, int var2, int var3, Class515_Sub1_Sub2 var4) {
      Class572 var5 = this.method4280(var1, var2, var3, 1344478846);
      if(var5 != null) {
         var5.aClass515_Sub1_Sub2_7582 = var4;
         int var6 = this.aClass400Array2909 == this.aClass400Array2859?1:0;
         if(var4.method13394((byte)1)) {
            if(var4.method13451((byte)1)) {
               var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2889[var6];
               this.aClass515_Sub1Array2889[var6] = var4;
            } else {
               var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2888[var6];
               this.aClass515_Sub1Array2888[var6] = var4;
            }
         } else {
            var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2890[var6];
            this.aClass515_Sub1Array2890[var6] = var4;
         }
      }

   }

   void method4212(Class515_Sub1 var1, byte var2) {
      Class326 var3 = var1.method10913().aClass326_4031;
      this.aClass545_2864.method11650((float)((int)var3.aFloat4036), (float)((int)var3.aFloat4037 + (var1.method13404((byte)1) >> 1)), (float)((int)var3.aFloat4033), this.aFloatArray2865);
      var1.anInt8445 = -2036700181 * (int)this.aFloatArray2865[2];
   }

   public int method4213(int var1, int var2) {
      return this.aByteArrayArray2907 != null?this.aByteArrayArray2907[var1][var2] & 255:0;
   }

   void method4214(Class515_Sub1[] var1, int var2, int var3) {
      if(var2 < var3) {
         int var4 = (var3 + var2) / 2;
         int var5 = var2;
         Class515_Sub1 var6 = var1[var4];
         var1[var4] = var1[var3];
         var1[var3] = var6;
         int var7 = var6.anInt8445 * -56073021;

         for(int var8 = var2; var8 < var3; ++var8) {
            if(-56073021 * var1[var8].anInt8445 < (var8 & 1) + var7) {
               Class515_Sub1 var9 = var1[var8];
               var1[var8] = var1[var5];
               var1[var5++] = var9;
            }
         }

         var1[var3] = var1[var5];
         var1[var5] = var6;
         this.method4214(var1, var2, var5 - 1);
         this.method4214(var1, 1 + var5, var3);
      }

   }

   public Class515_Sub1_Sub5 method4215(int var1, int var2, int var3, int var4) {
      Class572 var5 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(var5 != null) {
         this.method4318(var5.aClass515_Sub1_Sub5_7580, 436027418);
         if(null != var5.aClass515_Sub1_Sub5_7580) {
            Class515_Sub1_Sub5 var6 = var5.aClass515_Sub1_Sub5_7580;
            var5.aClass515_Sub1_Sub5_7580 = null;
            return var6;
         }
      }

      return null;
   }

   void method4216(Class515_Sub1 var1, Class225_Sub40[] var2) {
      int var3;
      if(this.aBool2902) {
         var3 = var1.method13401(var2, -796038612);
         this.aClass545_2864.method11563(var3, var2);
      }

      if(this.aClass400Array2859 == this.aClass400Array2909) {
         boolean var7 = false;
         boolean var4 = false;
         Class326 var5 = var1.method10913().aClass326_4031;
         int var8;
         if(var1 instanceof Class515_Sub1_Sub4) {
            var3 = ((Class515_Sub1_Sub4)var1).aShort10430;
            var8 = ((Class515_Sub1_Sub4)var1).aShort10424;
         } else {
            var3 = (int)var5.aFloat4036 >> this.anInt2860 * 1261520001;
            var8 = (int)var5.aFloat4033 >> 1261520001 * this.anInt2860;
         }

         Class153 var6 = new Class153();
         var6.anInt1727 = this.method4179(var3, var8, Integer.MIN_VALUE) * 1609872797;
         var6.anInt1731 = this.method4178(var3, var8, -5601616) * -1158708007;
         var6.anInt1725 = this.method4180(var3, var8, (byte)-40) * -766948059;
         var6.anInt1729 = this.method4181(var3, var8, 106825277) * -2028135829;
         var6.anInt1730 = this.method4182(var3, var8, (byte)0) * 1968080381;
         var6.anInt1726 = this.method4183(var3, var8, 1148725073) * -1564760023;
         this.aClass545_2864.method11496(this.aClass400Array2867[0].method6791((int)var5.aFloat4036, (int)var5.aFloat4033, 701663251), var6);
      }

      Class579 var9 = var1.method13398(this.aClass545_2864, (byte)8);
      if(null != var9) {
         if(var9.aBool7619) {
            var9.aClass515_Sub1_7618 = var1;
            this.aClass576_2883.method12217(var9, -2049691771);
         } else {
            Class332.method6153(var9, -2085092180);
         }
      }

   }

   public void method4217(int var1, int var2, int var3, Class515_Sub1_Sub5 var4, Class515_Sub1_Sub5 var5) {
      Class572 var6 = this.method4280(var1, var2, var3, 1344478846);
      if(null != var6) {
         var6.aClass515_Sub1_Sub5_7580 = var4;
         var6.aClass515_Sub1_Sub5_7581 = var5;
         int var7 = this.aClass400Array2859 == this.aClass400Array2909?1:0;
         if(var4.method13394((byte)1)) {
            if(var4.method13451((byte)1)) {
               var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2889[var7];
               this.aClass515_Sub1Array2889[var7] = var4;
            } else {
               var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2888[var7];
               this.aClass515_Sub1Array2888[var7] = var4;
            }
         } else {
            var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2890[var7];
            this.aClass515_Sub1Array2890[var7] = var4;
         }

         if(var5 != null) {
            if(var5.method13394((byte)1)) {
               if(var5.method13451((byte)1)) {
                  var5.aClass515_Sub1_8442 = this.aClass515_Sub1Array2889[var7];
                  this.aClass515_Sub1Array2889[var7] = var5;
               } else {
                  var5.aClass515_Sub1_8442 = this.aClass515_Sub1Array2888[var7];
                  this.aClass515_Sub1Array2888[var7] = var5;
               }
            } else {
               var5.aClass515_Sub1_8442 = this.aClass515_Sub1Array2890[var7];
               this.aClass515_Sub1Array2890[var7] = var5;
            }
         }
      }

   }

   public void method4218(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, boolean[] var5, int var6) {
      if(this.aClass400Array2909 != this.aClass400Array2859) {
         int var7 = this.aClass400Array2867[var2].method6791(var3, var4, 701663251);

         for(int var8 = 0; var8 <= var2; ++var8) {
            if(null == var5 || var5[var8]) {
               Class400 var9 = this.aClass400Array2867[var8];
               if(null != var9) {
                  var9.NA(var1, var3, var7 - var9.method6791(var3, var4, 701663251), var4, 0, false);
               }
            }
         }
      }

   }

   public Class515_Sub1_Sub5 method4219(int var1, int var2, int var3) {
      Class572 var4 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(var4 != null) {
         this.method4318(var4.aClass515_Sub1_Sub5_7581, 37423798);
         if(var4.aClass515_Sub1_Sub5_7581 != null) {
            Class515_Sub1_Sub5 var5 = var4.aClass515_Sub1_Sub5_7581;
            var4.aClass515_Sub1_Sub5_7581 = null;
            return var5;
         }
      }

      return null;
   }

   public void method4220(byte var1) {
      this.method4261(1, this.anInt2869 * -716645769, 1191500316);
   }

   public boolean method4221(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, boolean[] var5) {
      boolean var6 = false;
      if(this.aClass400Array2859 != this.aClass400Array2909) {
         int var7 = this.aClass400Array2867[var2].method6791(var3, var4, 701663251);

         for(int var8 = 0; var8 <= var2; ++var8) {
            Class400 var9 = this.aClass400Array2867[var8];
            if(null != var9) {
               int var10 = var7 - var9.method6791(var3, var4, 701663251);
               if(var5 != null) {
                  var5[var8] = var9.method6792(var1, var3, var10, var4, 0, false);
                  if(!var5[var8]) {
                     continue;
                  }
               }

               var9.UA(var1, var3, var10, var4, 0, false);
               var6 = true;
            }
         }
      }

      return var6;
   }

   void method4222(Class515_Sub1[] var1, int var2, int var3) {
      if(var2 < var3) {
         int var4 = (var3 + var2) / 2;
         int var5 = var2;
         Class515_Sub1 var6 = var1[var4];
         var1[var4] = var1[var3];
         var1[var3] = var6;
         int var7 = var6.anInt8445 * -56073021;

         for(int var8 = var2; var8 < var3; ++var8) {
            if(-56073021 * var1[var8].anInt8445 < (var8 & 1) + var7) {
               Class515_Sub1 var9 = var1[var8];
               var1[var8] = var1[var5];
               var1[var5++] = var9;
            }
         }

         var1[var3] = var1[var5];
         var1[var5] = var6;
         this.method4214(var1, var2, var5 - 1);
         this.method4214(var1, 1 + var5, var3);
      }

   }

   public void method4223(int var1, int var2, int var3, int var4, Class515_Sub1_Sub1 var5) {
      Class572 var6 = this.method4280(var1, var2, var3, 1344478846);
      if(var6 != null) {
         var5.method10918(new Class326((float)(-261294229 * this.anInt2862 + (var2 << this.anInt2860 * 1261520001)), (float)var4, (float)((var3 << this.anInt2860 * 1261520001) + -261294229 * this.anInt2862)));
         var6.aClass515_Sub1_Sub1_7583 = var5;
         int var7 = this.aClass400Array2909 == this.aClass400Array2859?1:0;
         if(var5.method13394((byte)1)) {
            if(var5.method13451((byte)1)) {
               var5.aClass515_Sub1_8442 = this.aClass515_Sub1Array2889[var7];
               this.aClass515_Sub1Array2889[var7] = var5;
            } else {
               var5.aClass515_Sub1_8442 = this.aClass515_Sub1Array2888[var7];
               this.aClass515_Sub1Array2888[var7] = var5;
            }
         } else {
            var5.aClass515_Sub1_8442 = this.aClass515_Sub1Array2890[var7];
            this.aClass515_Sub1Array2890[var7] = var5;
         }
      }

   }

   public void method4224(int var1) {}

   public int method4225(int var1, int var2) {
      return this.aByteArrayArray2907 != null?this.aByteArrayArray2907[var1][var2] & 255:0;
   }

   void method4226(Class515_Sub1 var1, Class225_Sub40[] var2) {
      int var3;
      if(this.aBool2902) {
         var3 = var1.method13401(var2, 730616238);
         this.aClass545_2864.method11563(var3, var2);
      }

      if(this.aClass400Array2859 == this.aClass400Array2909) {
         boolean var7 = false;
         boolean var4 = false;
         Class326 var5 = var1.method10913().aClass326_4031;
         int var8;
         if(var1 instanceof Class515_Sub1_Sub4) {
            var3 = ((Class515_Sub1_Sub4)var1).aShort10430;
            var8 = ((Class515_Sub1_Sub4)var1).aShort10424;
         } else {
            var3 = (int)var5.aFloat4036 >> this.anInt2860 * 1261520001;
            var8 = (int)var5.aFloat4033 >> 1261520001 * this.anInt2860;
         }

         Class153 var6 = new Class153();
         var6.anInt1727 = this.method4179(var3, var8, Integer.MIN_VALUE) * 1609872797;
         var6.anInt1731 = this.method4178(var3, var8, -1762075541) * -1158708007;
         var6.anInt1725 = this.method4180(var3, var8, (byte)-67) * -766948059;
         var6.anInt1729 = this.method4181(var3, var8, -360109536) * -2028135829;
         var6.anInt1730 = this.method4182(var3, var8, (byte)0) * 1968080381;
         var6.anInt1726 = this.method4183(var3, var8, 1788594451) * -1564760023;
         this.aClass545_2864.method11496(this.aClass400Array2867[0].method6791((int)var5.aFloat4036, (int)var5.aFloat4033, 701663251), var6);
      }

      Class579 var9 = var1.method13398(this.aClass545_2864, (byte)8);
      if(null != var9) {
         if(var9.aBool7619) {
            var9.aClass515_Sub1_7618 = var1;
            this.aClass576_2883.method12217(var9, -626521948);
         } else {
            Class332.method6153(var9, -2137486969);
         }
      }

   }

   public void method4227(int var1, int var2) {
      Class572 var3 = this.aClass572ArrayArrayArray2868[0][var1][var2];

      for(int var4 = 0; var4 < 3; ++var4) {
         Class572 var5 = this.aClass572ArrayArrayArray2868[var4][var1][var2] = this.aClass572ArrayArrayArray2868[var4 + 1][var1][var2];
         if(null != var5) {
            for(Class239 var6 = var5.aClass239_7584; null != var6; var6 = var6.aClass239_2838) {
               Class515_Sub1_Sub4 var7 = var6.aClass515_Sub1_Sub4_2839;
               if(var1 == var7.aShort10430 && var2 == var7.aShort10424) {
                  --var7.aByte8443;
               }
            }

            if(var5.aClass515_Sub1_Sub2_7582 != null) {
               --var5.aClass515_Sub1_Sub2_7582.aByte8443;
            }

            if(null != var5.aClass515_Sub1_Sub3_7578) {
               --var5.aClass515_Sub1_Sub3_7578.aByte8443;
            }

            if(null != var5.aClass515_Sub1_Sub3_7586) {
               --var5.aClass515_Sub1_Sub3_7586.aByte8443;
            }

            if(var5.aClass515_Sub1_Sub5_7580 != null) {
               --var5.aClass515_Sub1_Sub5_7580.aByte8443;
            }

            if(var5.aClass515_Sub1_Sub5_7581 != null) {
               --var5.aClass515_Sub1_Sub5_7581.aByte8443;
            }
         }
      }

      if(this.aClass572ArrayArrayArray2868[0][var1][var2] == null) {
         this.aClass572ArrayArrayArray2868[0][var1][var2] = new Class572(0);
         this.aClass572ArrayArrayArray2868[0][var1][var2].aByte7585 = 1;
      }

      this.aClass572ArrayArrayArray2868[0][var1][var2].aClass572_7577 = var3;
      this.aClass572ArrayArrayArray2868[3][var1][var2] = null;
   }

   public void method4228(int var1, int var2) {
      Class572 var3 = this.aClass572ArrayArrayArray2868[0][var1][var2];

      for(int var4 = 0; var4 < 3; ++var4) {
         Class572 var5 = this.aClass572ArrayArrayArray2868[var4][var1][var2] = this.aClass572ArrayArrayArray2868[var4 + 1][var1][var2];
         if(null != var5) {
            for(Class239 var6 = var5.aClass239_7584; null != var6; var6 = var6.aClass239_2838) {
               Class515_Sub1_Sub4 var7 = var6.aClass515_Sub1_Sub4_2839;
               if(var1 == var7.aShort10430 && var2 == var7.aShort10424) {
                  --var7.aByte8443;
               }
            }

            if(var5.aClass515_Sub1_Sub2_7582 != null) {
               --var5.aClass515_Sub1_Sub2_7582.aByte8443;
            }

            if(null != var5.aClass515_Sub1_Sub3_7578) {
               --var5.aClass515_Sub1_Sub3_7578.aByte8443;
            }

            if(null != var5.aClass515_Sub1_Sub3_7586) {
               --var5.aClass515_Sub1_Sub3_7586.aByte8443;
            }

            if(var5.aClass515_Sub1_Sub5_7580 != null) {
               --var5.aClass515_Sub1_Sub5_7580.aByte8443;
            }

            if(var5.aClass515_Sub1_Sub5_7581 != null) {
               --var5.aClass515_Sub1_Sub5_7581.aByte8443;
            }
         }
      }

      if(this.aClass572ArrayArrayArray2868[0][var1][var2] == null) {
         this.aClass572ArrayArrayArray2868[0][var1][var2] = new Class572(0);
         this.aClass572ArrayArrayArray2868[0][var1][var2].aByte7585 = 1;
      }

      this.aClass572ArrayArrayArray2868[0][var1][var2].aClass572_7577 = var3;
      this.aClass572ArrayArrayArray2868[3][var1][var2] = null;
   }

   public void method4229(int var1, int var2) {
      Class572 var3 = this.aClass572ArrayArrayArray2868[0][var1][var2];

      for(int var4 = 0; var4 < 3; ++var4) {
         Class572 var5 = this.aClass572ArrayArrayArray2868[var4][var1][var2] = this.aClass572ArrayArrayArray2868[var4 + 1][var1][var2];
         if(null != var5) {
            for(Class239 var6 = var5.aClass239_7584; null != var6; var6 = var6.aClass239_2838) {
               Class515_Sub1_Sub4 var7 = var6.aClass515_Sub1_Sub4_2839;
               if(var1 == var7.aShort10430 && var2 == var7.aShort10424) {
                  --var7.aByte8443;
               }
            }

            if(var5.aClass515_Sub1_Sub2_7582 != null) {
               --var5.aClass515_Sub1_Sub2_7582.aByte8443;
            }

            if(null != var5.aClass515_Sub1_Sub3_7578) {
               --var5.aClass515_Sub1_Sub3_7578.aByte8443;
            }

            if(null != var5.aClass515_Sub1_Sub3_7586) {
               --var5.aClass515_Sub1_Sub3_7586.aByte8443;
            }

            if(var5.aClass515_Sub1_Sub5_7580 != null) {
               --var5.aClass515_Sub1_Sub5_7580.aByte8443;
            }

            if(var5.aClass515_Sub1_Sub5_7581 != null) {
               --var5.aClass515_Sub1_Sub5_7581.aByte8443;
            }
         }
      }

      if(this.aClass572ArrayArrayArray2868[0][var1][var2] == null) {
         this.aClass572ArrayArrayArray2868[0][var1][var2] = new Class572(0);
         this.aClass572ArrayArrayArray2868[0][var1][var2].aByte7585 = 1;
      }

      this.aClass572ArrayArrayArray2868[0][var1][var2].aClass572_7577 = var3;
      this.aClass572ArrayArrayArray2868[3][var1][var2] = null;
   }

   public Class515_Sub1_Sub3 method4230(int var1, int var2, int var3, byte var4) {
      Class572 var5 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      return null == var5?null:var5.aClass515_Sub1_Sub3_7578;
   }

   public void method4231(int var1, int var2, int var3) {
      boolean var4 = null != this.aClass572ArrayArrayArray2868[0][var2][var3] && null != this.aClass572ArrayArrayArray2868[0][var2][var3].aClass572_7577;

      for(int var5 = var1; var5 >= 0; --var5) {
         if(this.aClass572ArrayArrayArray2868[var5][var2][var3] == null) {
            Class572 var6 = this.aClass572ArrayArrayArray2868[var5][var2][var3] = new Class572(var5);
            if(var4) {
               ++var6.aByte7585;
            }
         }
      }

   }

   public void method4232(int var1, int var2, int var3) {
      boolean var4 = null != this.aClass572ArrayArrayArray2868[0][var2][var3] && null != this.aClass572ArrayArrayArray2868[0][var2][var3].aClass572_7577;

      for(int var5 = var1; var5 >= 0; --var5) {
         if(this.aClass572ArrayArrayArray2868[var5][var2][var3] == null) {
            Class572 var6 = this.aClass572ArrayArrayArray2868[var5][var2][var3] = new Class572(var5);
            if(var4) {
               ++var6.aByte7585;
            }
         }
      }

   }

   public void method4233(int var1, int var2, int var3) {
      boolean var4 = null != this.aClass572ArrayArrayArray2868[0][var2][var3] && null != this.aClass572ArrayArrayArray2868[0][var2][var3].aClass572_7577;

      for(int var5 = var1; var5 >= 0; --var5) {
         if(this.aClass572ArrayArrayArray2868[var5][var2][var3] == null) {
            Class572 var6 = this.aClass572ArrayArrayArray2868[var5][var2][var3] = new Class572(var5);
            if(var4) {
               ++var6.aByte7585;
            }
         }
      }

   }

   public Class515_Sub1_Sub3 method4234(int var1, int var2, int var3) {
      Class572 var4 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      return var4 == null?null:var4.aClass515_Sub1_Sub3_7586;
   }

   public void method4235(int var1, Class400 var2) {
      this.aClass400Array2859[var1] = var2;
   }

   public int method4236(int var1, int var2) {
      return this.aByteArrayArray2907 != null?this.aByteArrayArray2907[var1][var2] & 255:0;
   }

   public int method4237(int var1, int var2) {
      return null != this.aShortArrayArray2879?this.aShortArrayArray2879[var1][var2] & '\uffff':0;
   }

   public int method4238(int var1, int var2) {
      return this.anIntArrayArray2878 != null?this.anIntArrayArray2878[var1][var2] & 16777215:0;
   }

   public int method4239(int var1, int var2) {
      return this.anIntArrayArray2878 != null?this.anIntArrayArray2878[var1][var2] & 16777215:0;
   }

   public int method4240(int var1, int var2) {
      return this.aByteArrayArray2881 != null?this.aByteArrayArray2881[var1][var2] & 255:0;
   }

   public void method4241(int var1, int var2, int var3, Class515_Sub1_Sub3 var4, Class515_Sub1_Sub3 var5) {
      Class572 var6 = this.method4280(var1, var2, var3, 1344478846);
      if(null != var6) {
         var6.aClass515_Sub1_Sub3_7578 = var4;
         var6.aClass515_Sub1_Sub3_7586 = var5;
         int var7 = this.aClass400Array2859 == this.aClass400Array2909?1:0;
         if(var4.method13394((byte)1)) {
            if(var4.method13451((byte)1)) {
               var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2889[var7];
               this.aClass515_Sub1Array2889[var7] = var4;
            } else {
               var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2888[var7];
               this.aClass515_Sub1Array2888[var7] = var4;
            }
         } else {
            var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2890[var7];
            this.aClass515_Sub1Array2890[var7] = var4;
         }

         if(null != var5) {
            if(var5.method13394((byte)1)) {
               if(var5.method13451((byte)1)) {
                  var5.aClass515_Sub1_8442 = this.aClass515_Sub1Array2889[var7];
                  this.aClass515_Sub1Array2889[var7] = var5;
               } else {
                  var5.aClass515_Sub1_8442 = this.aClass515_Sub1Array2888[var7];
                  this.aClass515_Sub1Array2888[var7] = var5;
               }
            } else {
               var5.aClass515_Sub1_8442 = this.aClass515_Sub1Array2890[var7];
               this.aClass515_Sub1Array2890[var7] = var5;
            }
         }
      }

   }

   public void method4242(Class230 var1, int var2) {
      if(this.anInt2913 * -88975437 < '\ufeeb') {
         Class225_Sub40 var3 = var1.aClass225_Sub40_2649;
         this.aClass230Array2921[-88975437 * this.anInt2913] = var1;
         this.aBoolArray2916[this.anInt2913 * -88975437] = false;
         this.anInt2913 += -34459781;
         int var4 = 1943174005 * var1.anInt2652;
         if(var1.aBool2651) {
            var4 = 0;
         }

         int var5 = var1.anInt2652 * 1943174005;
         if(var1.aBool2637) {
            var5 = this.anInt2869 * -716645769 - 1;
         }

         for(int var6 = var4; var6 <= var5; ++var6) {
            int var7 = 0;
            int var8 = var3.method14105((byte)95) - var3.method14113(1284049165) + this.anInt2862 * -261294229 >> 1261520001 * this.anInt2860;
            if(var8 < 0) {
               var7 -= var8;
               var8 = 0;
            }

            int var9 = var3.method14105((byte)52) + var3.method14113(986881938) - this.anInt2862 * -261294229 >> 1261520001 * this.anInt2860;
            if(var9 >= this.anInt2885 * 1301377571) {
               var9 = this.anInt2885 * 1301377571 - 1;
            }

            for(int var10 = var8; var10 <= var9; ++var10) {
               short var11 = var1.aShortArray2653[var7++];
               int var12 = (var3.method14103(-659934946) - var3.method14113(1963170730) + this.anInt2862 * -261294229 >> 1261520001 * this.anInt2860) + (var11 >>> 8);
               int var13 = var12 + (var11 & 255) - 1;
               if(var12 < 0) {
                  var12 = 0;
               }

               if(var13 >= this.anInt2870 * -648719443) {
                  var13 = this.anInt2870 * -648719443 - 1;
               }

               for(int var14 = var12; var14 <= var13; ++var14) {
                  long var15 = this.aLongArrayArrayArray2914[var6][var14][var10];
                  if(0L == (var15 & 65535L)) {
                     this.aLongArrayArrayArray2914[var6][var14][var10] = var15 | (long)(-88975437 * this.anInt2913);
                  } else if(0L == (var15 & 4294901760L)) {
                     this.aLongArrayArrayArray2914[var6][var14][var10] = var15 | (long)(this.anInt2913 * -88975437) << 16;
                  } else if((var15 & 281470681743360L) == 0L) {
                     this.aLongArrayArrayArray2914[var6][var14][var10] = var15 | (long)(-88975437 * this.anInt2913) << 32;
                  } else if((var15 & -281474976710656L) == 0L) {
                     this.aLongArrayArrayArray2914[var6][var14][var10] = var15 | (long)(-88975437 * this.anInt2913) << 48;
                  }
               }
            }
         }

      }
   }

   public void method4243() {
      for(int var1 = 0; var1 < -648719443 * this.anInt2870; ++var1) {
         for(int var2 = 0; var2 < 1301377571 * this.anInt2885; ++var2) {
            if(this.aClass572ArrayArrayArray2868[0][var1][var2] == null) {
               this.aClass572ArrayArrayArray2868[0][var1][var2] = new Class572(0);
            }
         }
      }

   }

   public int method4244(int var1, int var2) {
      return this.aByteArrayArray2882 != null?this.aByteArrayArray2882[var1][var2] & 255:0;
   }

   public int method4245(int var1, int var2) {
      return this.aByteArrayArray2882 != null?this.aByteArrayArray2882[var1][var2] & 255:0;
   }

   public int method4246(int var1, int var2) {
      return this.aByteArrayArray2907 != null?this.aByteArrayArray2907[var1][var2] & 255:0;
   }

   public void method4247(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) {
      if(this.anIntArrayArray2878 != null) {
         this.anIntArrayArray2878[var1][var2] = -16777216 | var3;
      }

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

      if(this.aByteArrayArray2880 != null) {
         this.aByteArrayArray2880[var1][var2] = (byte)var5;
      }

      if(this.aByteArrayArray2881 != null) {
         this.aByteArrayArray2881[var1][var2] = (byte)var6;
      }

      if(null != this.aByteArrayArray2882) {
         this.aByteArrayArray2882[var1][var2] = (byte)var7;
      }

      if(this.aByteArrayArray2907 != null) {
         this.aByteArrayArray2907[var1][var2] = (byte)var8;
      }

   }

   void method4248(Class515_Sub1 var1) {
      if(null != var1) {
         var1.method10923();

         for(int var2 = 0; var2 < 2; ++var2) {
            Class515_Sub1 var3 = null;

            Class515_Sub1 var4;
            for(var4 = this.aClass515_Sub1Array2888[var2]; var4 != null; var4 = var4.aClass515_Sub1_8442) {
               if(var1 == var4) {
                  if(null != var3) {
                     var3.aClass515_Sub1_8442 = var4.aClass515_Sub1_8442;
                  } else {
                     this.aClass515_Sub1Array2888[var2] = var4.aClass515_Sub1_8442;
                  }

                  return;
               }

               var3 = var4;
            }

            var3 = null;

            for(var4 = this.aClass515_Sub1Array2889[var2]; null != var4; var4 = var4.aClass515_Sub1_8442) {
               if(var1 == var4) {
                  if(var3 != null) {
                     var3.aClass515_Sub1_8442 = var4.aClass515_Sub1_8442;
                  } else {
                     this.aClass515_Sub1Array2889[var2] = var4.aClass515_Sub1_8442;
                  }

                  return;
               }

               var3 = var4;
            }

            var3 = null;

            for(var4 = this.aClass515_Sub1Array2890[var2]; null != var4; var4 = var4.aClass515_Sub1_8442) {
               if(var4 == var1) {
                  if(var3 != null) {
                     var3.aClass515_Sub1_8442 = var4.aClass515_Sub1_8442;
                  } else {
                     this.aClass515_Sub1Array2890[var2] = var4.aClass515_Sub1_8442;
                  }

                  return;
               }

               var3 = var4;
            }
         }

      }
   }

   public Class515_Sub1_Sub2 method4249(int var1, int var2, int var3, int var4) {
      Class572 var5 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(null == var5) {
         return null;
      } else {
         this.method4318(var5.aClass515_Sub1_Sub2_7582, -35455545);
         if(null != var5.aClass515_Sub1_Sub2_7582) {
            Class515_Sub1_Sub2 var6 = var5.aClass515_Sub1_Sub2_7582;
            var5.aClass515_Sub1_Sub2_7582 = null;
            return var6;
         } else {
            return null;
         }
      }
   }

   void method4250(boolean var1, byte[][][] var2, int var3, byte var4, int var5) {
      int var6 = var1?1:0;
      this.anInt2891 = 0;
      this.anInt2892 = 0;
      this.anInt2901 += 2109843513;
      Class515_Sub1 var7;
      if(0 == (var5 & 2)) {
         for(var7 = this.aClass515_Sub1Array2888[var6]; null != var7; var7 = var7.aClass515_Sub1_8442) {
            this.method4212(var7, (byte)0);
            if(-1 != var7.anInt8445 * -56073021 && !this.method4174(var7, var1, var2, var3, var4)) {
               this.aClass515_Sub1Array2894[(this.anInt2891 += -381346059) * -694543011 - 1] = var7;
            }
         }
      }

      int var16;
      if(0 == (var5 & 1)) {
         for(var7 = this.aClass515_Sub1Array2889[var6]; var7 != null; var7 = var7.aClass515_Sub1_8442) {
            this.method4212(var7, (byte)0);
            if(-1 != var7.anInt8445 * -56073021 && !this.method4174(var7, var1, var2, var3, var4)) {
               this.aClass515_Sub1Array2893[(this.anInt2892 += -1618975791) * -2023697103 - 1] = var7;
            }
         }

         for(var7 = this.aClass515_Sub1Array2890[var6]; null != var7; var7 = var7.aClass515_Sub1_8442) {
            this.method4212(var7, (byte)0);
            if(-56073021 * var7.anInt8445 != -1 && !this.method4174(var7, var1, var2, var3, var4)) {
               if(var7.method13451((byte)1)) {
                  this.aClass515_Sub1Array2893[(this.anInt2892 += -1618975791) * -2023697103 - 1] = var7;
               } else {
                  this.aClass515_Sub1Array2894[(this.anInt2891 += -381346059) * -694543011 - 1] = var7;
               }
            }
         }

         if(!var1) {
            for(var16 = 0; var16 < this.anInt2884 * 252815257; ++var16) {
               this.method4212(this.aClass515_Sub1_Sub4Array2895[var16], (byte)0);
               if(-56073021 * this.aClass515_Sub1_Sub4Array2895[var16].anInt8445 != -1 && !this.method4174(this.aClass515_Sub1_Sub4Array2895[var16], var1, var2, var3, var4)) {
                  if(this.aClass515_Sub1_Sub4Array2895[var16].method13451((byte)1)) {
                     this.aClass515_Sub1Array2893[(this.anInt2892 += -1618975791) * -2023697103 - 1] = this.aClass515_Sub1_Sub4Array2895[var16];
                  } else {
                     this.aClass515_Sub1Array2894[(this.anInt2891 += -381346059) * -694543011 - 1] = this.aClass515_Sub1_Sub4Array2895[var16];
                  }
               }
            }
         }
      }

      if(-694543011 * this.anInt2891 > 0) {
         this.method4214(this.aClass515_Sub1Array2894, 0, -694543011 * this.anInt2891 - 1);

         for(var16 = 0; var16 < this.anInt2891 * -694543011; ++var16) {
            this.method4216(this.aClass515_Sub1Array2894[var16], this.aClass225_Sub40Array2910);
         }
      }

      if(this.aBool2902) {
         this.aClass545_2864.method11563(0, (Class225_Sub40[])null);
      }

      if((var5 & 2) == 0) {
         for(var16 = 0; var16 < -716645769 * this.anInt2869; ++var16) {
            int var8;
            int var9;
            boolean[][] var10;
            int var11;
            int var12;
            int var13;
            if(var16 >= var3 && null != var2) {
               var8 = this.aBoolArrayArray2920.length;
               if(this.anInt2905 * 1510659669 + this.aBoolArrayArray2920.length > this.anInt2870 * -648719443) {
                  var8 -= this.aBoolArrayArray2920.length + 1510659669 * this.anInt2905 - this.anInt2870 * -648719443;
               }

               var9 = this.aBoolArrayArray2920[0].length;
               if(this.anInt2903 * -1221937525 + this.aBoolArrayArray2920[0].length > 1301377571 * this.anInt2885) {
                  var9 -= this.anInt2903 * -1221937525 + this.aBoolArrayArray2920[0].length - this.anInt2885 * 1301377571;
               }

               var10 = this.aBoolArrayArray2918;
               if(this.aBool2917) {
                  for(var11 = 866784617 * this.anInt2875; var11 < var8; ++var11) {
                     var12 = 1510659669 * this.anInt2905 + var11 - this.anInt2875 * 866784617;

                     for(var13 = this.anInt2904 * 1247569201; var13 < var9; ++var13) {
                        var10[var11][var13] = false;
                        if(this.aBoolArrayArray2920[var11][var13]) {
                           int var14 = var13 + -1221937525 * this.anInt2903 - this.anInt2904 * 1247569201;

                           for(int var15 = var16; var15 >= 0; --var15) {
                              if(null != this.aClass572ArrayArrayArray2868[var15][var12][var14] && this.aClass572ArrayArrayArray2868[var15][var12][var14].aByte7585 == var16) {
                                 if((var15 < var3 || var2[var15][var12][var14] != var4) && !this.aClass236_2906.method4109(var16, var12, var14)) {
                                    var10[var11][var13] = true;
                                 } else {
                                    var10[var11][var13] = false;
                                 }
                                 break;
                              }
                           }
                        }
                     }
                  }
               }

               this.aClass400Array2859[var16].method6787(this.anInt2896 * 463854619, this.anInt2908 * 1686765659, -336014903 * this.anInt2886, this.aBoolArrayArray2918, false, var5);
            } else {
               var8 = this.aBoolArrayArray2920.length;
               if(this.aBoolArrayArray2920.length + this.anInt2905 * 1510659669 > -648719443 * this.anInt2870) {
                  var8 -= this.aBoolArrayArray2920.length + this.anInt2905 * 1510659669 - -648719443 * this.anInt2870;
               }

               var9 = this.aBoolArrayArray2920[0].length;
               if(-1221937525 * this.anInt2903 + this.aBoolArrayArray2920[0].length > 1301377571 * this.anInt2885) {
                  var9 -= this.aBoolArrayArray2920[0].length + -1221937525 * this.anInt2903 - this.anInt2885 * 1301377571;
               }

               var10 = this.aBoolArrayArray2918;
               if(this.aBool2917) {
                  for(var11 = this.anInt2875 * 866784617; var11 < var8; ++var11) {
                     var12 = 1510659669 * this.anInt2905 + var11 - 866784617 * this.anInt2875;

                     for(var13 = this.anInt2904 * 1247569201; var13 < var9; ++var13) {
                        if(this.aBoolArrayArray2920[var11][var13] && !this.aClass236_2906.method4109(var16, var12, var13 + -1221937525 * this.anInt2903 - 1247569201 * this.anInt2904)) {
                           var10[var11][var13] = true;
                        } else {
                           var10[var11][var13] = false;
                        }
                     }
                  }
               }

               this.aClass400Array2859[var16].method6787(this.anInt2896 * 463854619, this.anInt2908 * 1686765659, this.anInt2886 * -336014903, this.aBoolArrayArray2918, true, var5);
            }
         }
      }

      if(-2023697103 * this.anInt2892 > 0) {
         this.method4198(this.aClass515_Sub1Array2893, 0, this.anInt2892 * -2023697103 - 1);

         for(var16 = 0; var16 < -2023697103 * this.anInt2892; ++var16) {
            this.method4216(this.aClass515_Sub1Array2893[var16], this.aClass225_Sub40Array2910);
         }
      }

   }

   public void method4251(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) {
      if(this.anIntArrayArray2878 != null) {
         this.anIntArrayArray2878[var1][var2] = -16777216 | var3;
      }

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

      if(this.aByteArrayArray2880 != null) {
         this.aByteArrayArray2880[var1][var2] = (byte)var5;
      }

      if(this.aByteArrayArray2881 != null) {
         this.aByteArrayArray2881[var1][var2] = (byte)var6;
      }

      if(null != this.aByteArrayArray2882) {
         this.aByteArrayArray2882[var1][var2] = (byte)var7;
      }

      if(this.aByteArrayArray2907 != null) {
         this.aByteArrayArray2907[var1][var2] = (byte)var8;
      }

   }

   public void method4252(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) {
      if(this.anIntArrayArray2878 != null) {
         this.anIntArrayArray2878[var1][var2] = -16777216 | var3;
      }

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

      if(this.aByteArrayArray2880 != null) {
         this.aByteArrayArray2880[var1][var2] = (byte)var5;
      }

      if(this.aByteArrayArray2881 != null) {
         this.aByteArrayArray2881[var1][var2] = (byte)var6;
      }

      if(null != this.aByteArrayArray2882) {
         this.aByteArrayArray2882[var1][var2] = (byte)var7;
      }

      if(this.aByteArrayArray2907 != null) {
         this.aByteArrayArray2907[var1][var2] = (byte)var8;
      }

   }

   public void method4253(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) {
      if(this.anIntArrayArray2878 != null) {
         this.anIntArrayArray2878[var1][var2] = -16777216 | var3;
      }

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

      if(this.aByteArrayArray2880 != null) {
         this.aByteArrayArray2880[var1][var2] = (byte)var5;
      }

      if(this.aByteArrayArray2881 != null) {
         this.aByteArrayArray2881[var1][var2] = (byte)var6;
      }

      if(null != this.aByteArrayArray2882) {
         this.aByteArrayArray2882[var1][var2] = (byte)var7;
      }

      if(this.aByteArrayArray2907 != null) {
         this.aByteArrayArray2907[var1][var2] = (byte)var8;
      }

   }

   public void method4254(int var1, int var2, int var3, Class515_Sub1_Sub2 var4) {
      Class572 var5 = this.method4280(var1, var2, var3, 1344478846);
      if(var5 != null) {
         var5.aClass515_Sub1_Sub2_7582 = var4;
         int var6 = this.aClass400Array2909 == this.aClass400Array2859?1:0;
         if(var4.method13394((byte)1)) {
            if(var4.method13451((byte)1)) {
               var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2889[var6];
               this.aClass515_Sub1Array2889[var6] = var4;
            } else {
               var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2888[var6];
               this.aClass515_Sub1Array2888[var6] = var4;
            }
         } else {
            var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2890[var6];
            this.aClass515_Sub1Array2890[var6] = var4;
         }
      }

   }

   void method4255(Class515_Sub1_Sub4 var1, boolean var2) {
      for(int var3 = var1.aShort10430; var3 <= var1.aShort10429; ++var3) {
         for(int var4 = var1.aShort10424; var4 <= var1.aShort10426; ++var4) {
            Class572 var5 = this.aClass572ArrayArrayArray2868[var1.aByte8443][var3][var4];
            if(var5 != null) {
               Class239 var6 = var5.aClass239_7584;

               for(Class239 var7 = null; null != var6; var6 = var6.aClass239_2838) {
                  if(var6.aClass515_Sub1_Sub4_2839 == var1) {
                     if(var7 != null) {
                        var7.aClass239_2838 = var6.aClass239_2838;
                     } else {
                        var5.aClass239_7584 = var6.aClass239_2838;
                     }

                     var6.method4153(-39782227);
                     break;
                  }

                  var7 = var6;
               }
            }
         }
      }

      if(!var2) {
         this.method4318(var1, -590529608);
      }

   }

   public void method4256(int var1, int var2, int var3, Class515_Sub1_Sub3 var4, Class515_Sub1_Sub3 var5) {
      Class572 var6 = this.method4280(var1, var2, var3, 1344478846);
      if(null != var6) {
         var6.aClass515_Sub1_Sub3_7578 = var4;
         var6.aClass515_Sub1_Sub3_7586 = var5;
         int var7 = this.aClass400Array2859 == this.aClass400Array2909?1:0;
         if(var4.method13394((byte)1)) {
            if(var4.method13451((byte)1)) {
               var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2889[var7];
               this.aClass515_Sub1Array2889[var7] = var4;
            } else {
               var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2888[var7];
               this.aClass515_Sub1Array2888[var7] = var4;
            }
         } else {
            var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2890[var7];
            this.aClass515_Sub1Array2890[var7] = var4;
         }

         if(null != var5) {
            if(var5.method13394((byte)1)) {
               if(var5.method13451((byte)1)) {
                  var5.aClass515_Sub1_8442 = this.aClass515_Sub1Array2889[var7];
                  this.aClass515_Sub1Array2889[var7] = var5;
               } else {
                  var5.aClass515_Sub1_8442 = this.aClass515_Sub1Array2888[var7];
                  this.aClass515_Sub1Array2888[var7] = var5;
               }
            } else {
               var5.aClass515_Sub1_8442 = this.aClass515_Sub1Array2890[var7];
               this.aClass515_Sub1Array2890[var7] = var5;
            }
         }
      }

   }

   void method4257(Class515_Sub1_Sub4 var1, boolean var2, int var3) {
      for(int var4 = var1.aShort10430; var4 <= var1.aShort10429; ++var4) {
         for(int var5 = var1.aShort10424; var5 <= var1.aShort10426; ++var5) {
            Class572 var6 = this.aClass572ArrayArrayArray2868[var1.aByte8443][var4][var5];
            if(var6 != null) {
               Class239 var7 = var6.aClass239_7584;

               for(Class239 var8 = null; null != var7; var7 = var7.aClass239_2838) {
                  if(var7.aClass515_Sub1_Sub4_2839 == var1) {
                     if(var8 != null) {
                        var8.aClass239_2838 = var7.aClass239_2838;
                     } else {
                        var6.aClass239_7584 = var7.aClass239_2838;
                     }

                     var7.method4153(-39782227);
                     break;
                  }

                  var8 = var7;
               }
            }
         }
      }

      if(!var2) {
         this.method4318(var1, 1960595237);
      }

   }

   public void method4258(int var1, int var2, int var3, Class515_Sub1_Sub5 var4, Class515_Sub1_Sub5 var5) {
      Class572 var6 = this.method4280(var1, var2, var3, 1344478846);
      if(null != var6) {
         var6.aClass515_Sub1_Sub5_7580 = var4;
         var6.aClass515_Sub1_Sub5_7581 = var5;
         int var7 = this.aClass400Array2859 == this.aClass400Array2909?1:0;
         if(var4.method13394((byte)1)) {
            if(var4.method13451((byte)1)) {
               var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2889[var7];
               this.aClass515_Sub1Array2889[var7] = var4;
            } else {
               var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2888[var7];
               this.aClass515_Sub1Array2888[var7] = var4;
            }
         } else {
            var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2890[var7];
            this.aClass515_Sub1Array2890[var7] = var4;
         }

         if(var5 != null) {
            if(var5.method13394((byte)1)) {
               if(var5.method13451((byte)1)) {
                  var5.aClass515_Sub1_8442 = this.aClass515_Sub1Array2889[var7];
                  this.aClass515_Sub1Array2889[var7] = var5;
               } else {
                  var5.aClass515_Sub1_8442 = this.aClass515_Sub1Array2888[var7];
                  this.aClass515_Sub1Array2888[var7] = var5;
               }
            } else {
               var5.aClass515_Sub1_8442 = this.aClass515_Sub1Array2890[var7];
               this.aClass515_Sub1Array2890[var7] = var5;
            }
         }
      }

   }

   public int method4259(int var1, int var2) {
      return this.aByteArrayArray2881 != null?this.aByteArrayArray2881[var1][var2] & 255:0;
   }

   public Class515_Sub1_Sub5 method4260(int var1, int var2, int var3) {
      Class572 var4 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(var4 != null) {
         this.method4318(var4.aClass515_Sub1_Sub5_7580, 738459348);
         if(null != var4.aClass515_Sub1_Sub5_7580) {
            Class515_Sub1_Sub5 var5 = var4.aClass515_Sub1_Sub5_7580;
            var4.aClass515_Sub1_Sub5_7580 = null;
            return var5;
         }
      }

      return null;
   }

   void method4261(int var1, int var2, int var3) {
      Class225_Sub14_Sub16 var4 = null;

      for(int var5 = var1; var5 < var2; ++var5) {
         Class400 var6 = this.aClass400Array2867[var5];
         if(null != var6) {
            for(int var7 = 0; var7 < 1301377571 * this.anInt2885; ++var7) {
               for(int var8 = 0; var8 < this.anInt2870 * -648719443; ++var8) {
                  var4 = var6.w(var8, var7, var4);
                  if(var4 != null) {
                     int var9 = var8 << 1261520001 * this.anInt2860;
                     int var10 = var7 << 1261520001 * this.anInt2860;

                     for(int var11 = var5 - 1; var11 >= 0; --var11) {
                        Class400 var12 = this.aClass400Array2867[var11];
                        if(var12 != null) {
                           int var13 = var6.method6789(var8, var7, (byte)3) - var12.method6789(var8, var7, (byte)3);
                           int var14 = var6.method6789(var8 + 1, var7, (byte)3) - var12.method6789(var8 + 1, var7, (byte)3);
                           int var15 = var6.method6789(var8 + 1, var7 + 1, (byte)3) - var12.method6789(1 + var8, 1 + var7, (byte)3);
                           int var16 = var6.method6789(var8, var7 + 1, (byte)3) - var12.method6789(var8, 1 + var7, (byte)3);
                           var12.UA(var4, var9, (var13 + var14 + var15 + var16) / 4, var10, 0, false);
                        }
                     }
                  }
               }
            }
         }
      }

   }

   public void method4262(int var1, int var2, int var3, int var4) {
      Class572 var5 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(var5 != null) {
         Class515_Sub1_Sub5 var6 = var5.aClass515_Sub1_Sub5_7580;
         Class515_Sub1_Sub5 var7 = var5.aClass515_Sub1_Sub5_7581;
         if(null != var6) {
            var6.aShort10434 = (short)(var6.aShort10434 * var4 / (16 << this.anInt2860 * 1261520001 - 7));
            var6.aShort10432 = (short)(var6.aShort10432 * var4 / (16 << this.anInt2860 * 1261520001 - 7));
         }

         if(null != var7) {
            var7.aShort10434 = (short)(var4 * var7.aShort10434 / (16 << this.anInt2860 * 1261520001 - 7));
            var7.aShort10432 = (short)(var7.aShort10432 * var4 / (16 << 1261520001 * this.anInt2860 - 7));
         }

      }
   }

   public void method4263(int var1, int var2, int var3, int var4) {
      Class572 var5 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(var5 != null) {
         Class515_Sub1_Sub5 var6 = var5.aClass515_Sub1_Sub5_7580;
         Class515_Sub1_Sub5 var7 = var5.aClass515_Sub1_Sub5_7581;
         if(null != var6) {
            var6.aShort10434 = (short)(var6.aShort10434 * var4 / (16 << this.anInt2860 * 1261520001 - 7));
            var6.aShort10432 = (short)(var6.aShort10432 * var4 / (16 << this.anInt2860 * 1261520001 - 7));
         }

         if(null != var7) {
            var7.aShort10434 = (short)(var4 * var7.aShort10434 / (16 << this.anInt2860 * 1261520001 - 7));
            var7.aShort10432 = (short)(var7.aShort10432 * var4 / (16 << 1261520001 * this.anInt2860 - 7));
         }

      }
   }

   public void method4264(int var1, int var2, int var3, int var4) {
      Class572 var5 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(var5 != null) {
         Class515_Sub1_Sub5 var6 = var5.aClass515_Sub1_Sub5_7580;
         Class515_Sub1_Sub5 var7 = var5.aClass515_Sub1_Sub5_7581;
         if(null != var6) {
            var6.aShort10434 = (short)(var6.aShort10434 * var4 / (16 << this.anInt2860 * 1261520001 - 7));
            var6.aShort10432 = (short)(var6.aShort10432 * var4 / (16 << this.anInt2860 * 1261520001 - 7));
         }

         if(null != var7) {
            var7.aShort10434 = (short)(var4 * var7.aShort10434 / (16 << this.anInt2860 * 1261520001 - 7));
            var7.aShort10432 = (short)(var7.aShort10432 * var4 / (16 << 1261520001 * this.anInt2860 - 7));
         }

      }
   }

   public Class515_Sub1_Sub3 method4265(int var1, int var2, int var3, int var4) {
      Class572 var5 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(null != var5) {
         this.method4318(var5.aClass515_Sub1_Sub3_7586, 1464847871);
         if(null != var5.aClass515_Sub1_Sub3_7586) {
            Class515_Sub1_Sub3 var6 = var5.aClass515_Sub1_Sub3_7586;
            var5.aClass515_Sub1_Sub3_7586 = null;
            return var6;
         }
      }

      return null;
   }

   public void method4266(int var1, int var2, int var3, int var4) {
      Class572 var5 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(var5 != null) {
         Class515_Sub1_Sub5 var6 = var5.aClass515_Sub1_Sub5_7580;
         Class515_Sub1_Sub5 var7 = var5.aClass515_Sub1_Sub5_7581;
         if(null != var6) {
            var6.aShort10434 = (short)(var6.aShort10434 * var4 / (16 << this.anInt2860 * 1261520001 - 7));
            var6.aShort10432 = (short)(var6.aShort10432 * var4 / (16 << this.anInt2860 * 1261520001 - 7));
         }

         if(null != var7) {
            var7.aShort10434 = (short)(var4 * var7.aShort10434 / (16 << this.anInt2860 * 1261520001 - 7));
            var7.aShort10432 = (short)(var7.aShort10432 * var4 / (16 << 1261520001 * this.anInt2860 - 7));
         }

      }
   }

   public void method4267(int var1) {
      for(int var2 = 0; var2 < this.anInt2913 * -88975437; ++var2) {
         if(!this.aBoolArray2916[var2]) {
            Class230 var3 = this.aClass230Array2921[var2];
            Class225_Sub40 var4 = var3.aClass225_Sub40_2649;
            int var5 = var3.anInt2652 * 1943174005;
            int var6 = var4.method14113(1090203838) - -261294229 * this.anInt2862;
            int var7 = (var6 * 2 >> this.anInt2860 * 1261520001) + 1;
            int var8 = 0;
            int[] var9 = new int[var7 * var7];
            int var10 = var4.method14103(-223671713) - var6 >> 1261520001 * this.anInt2860;
            int var11 = var4.method14105((byte)68) - var6 >> this.anInt2860 * 1261520001;
            int var12 = var4.method14105((byte)87) + var6 >> 1261520001 * this.anInt2860;
            if(var11 < 0) {
               var8 -= var11;
               var11 = 0;
            }

            if(var12 >= this.anInt2885 * 1301377571) {
               var12 = 1301377571 * this.anInt2885 - 1;
            }

            for(int var13 = var11; var13 <= var12; ++var13) {
               short var14 = var3.aShortArray2653[var8];
               int var15 = var14 >>> 8;
               int var16 = var15 + var7 * var8;
               int var17 = var10 + (var14 >>> 8);
               int var18 = var17 + (var14 & 255) - 1;
               if(var17 < 0) {
                  var16 -= var17;
                  var17 = 0;
               }

               if(var18 >= -648719443 * this.anInt2870) {
                  var18 = this.anInt2870 * -648719443 - 1;
               }

               for(int var19 = var17; var19 <= var18; ++var19) {
                  byte var20 = 1;
                  Class515_Sub1_Sub4 var21 = this.method4309(var5, var19, var13, (Interface23)null, -585025049);
                  if(null != var21 && 0 != var21.aByte10428) {
                     boolean var23;
                     boolean var22;
                     int var25;
                     short var24;
                     int var26;
                     if(1 == var21.aByte10428) {
                        var22 = var19 - 1 >= var17;
                        var23 = 1 + var19 <= var18;
                        if(!var22 && var13 + 1 <= var12) {
                           var24 = var3.aShortArray2653[var8 + 1];
                           var25 = (var24 >>> 8) + var10;
                           var26 = (var24 & 255) + var25;
                           var22 = var19 > var25 && var19 < var26;
                        }

                        if(!var23 && var13 - 1 >= var11) {
                           var24 = var3.aShortArray2653[var8 - 1];
                           var25 = var10 + (var24 >>> 8);
                           var26 = (var24 & 255) + var25;
                           var23 = var19 > var25 && var19 < var26;
                        }

                        if(var22 && !var23) {
                           var20 = 4;
                        } else if(var23 && !var22) {
                           var20 = 2;
                        }
                     } else {
                        var22 = var19 - 1 >= var17;
                        var23 = 1 + var19 <= var18;
                        if(!var22 && var13 - 1 >= var11) {
                           var24 = var3.aShortArray2653[var8 - 1];
                           var25 = var10 + (var24 >>> 8);
                           var26 = var25 + (var24 & 255);
                           var22 = var19 > var25 && var19 < var26;
                        }

                        if(!var23 && var13 + 1 <= var12) {
                           var24 = var3.aShortArray2653[var8 + 1];
                           var25 = var10 + (var24 >>> 8);
                           var26 = (var24 & 255) + var25;
                           var23 = var19 > var25 && var19 < var26;
                        }

                        if(var22 && !var23) {
                           var20 = 3;
                        } else if(var23 && !var22) {
                           var20 = 5;
                        }
                     }
                  }

                  var9[var16++] = var20;
               }

               ++var8;
            }

            this.aBoolArray2916[var2] = true;
            if(aBool2915) {
               this.aClass400Array2859[var5].method6793(var4, var9);
            }
         }
      }

   }

   void method4268(Class515_Sub1 var1, Class225_Sub40[] var2) {
      int var3;
      if(this.aBool2902) {
         var3 = var1.method13401(var2, -2016247913);
         this.aClass545_2864.method11563(var3, var2);
      }

      if(this.aClass400Array2859 == this.aClass400Array2909) {
         boolean var7 = false;
         boolean var4 = false;
         Class326 var5 = var1.method10913().aClass326_4031;
         int var8;
         if(var1 instanceof Class515_Sub1_Sub4) {
            var3 = ((Class515_Sub1_Sub4)var1).aShort10430;
            var8 = ((Class515_Sub1_Sub4)var1).aShort10424;
         } else {
            var3 = (int)var5.aFloat4036 >> this.anInt2860 * 1261520001;
            var8 = (int)var5.aFloat4033 >> 1261520001 * this.anInt2860;
         }

         Class153 var6 = new Class153();
         var6.anInt1727 = this.method4179(var3, var8, Integer.MIN_VALUE) * 1609872797;
         var6.anInt1731 = this.method4178(var3, var8, 180730887) * -1158708007;
         var6.anInt1725 = this.method4180(var3, var8, (byte)-77) * -766948059;
         var6.anInt1729 = this.method4181(var3, var8, 554676290) * -2028135829;
         var6.anInt1730 = this.method4182(var3, var8, (byte)0) * 1968080381;
         var6.anInt1726 = this.method4183(var3, var8, 420299593) * -1564760023;
         this.aClass545_2864.method11496(this.aClass400Array2867[0].method6791((int)var5.aFloat4036, (int)var5.aFloat4033, 701663251), var6);
      }

      Class579 var9 = var1.method13398(this.aClass545_2864, (byte)8);
      if(null != var9) {
         if(var9.aBool7619) {
            var9.aClass515_Sub1_7618 = var1;
            this.aClass576_2883.method12217(var9, -214766360);
         } else {
            Class332.method6153(var9, -2060152596);
         }
      }

   }

   public Class515_Sub1_Sub3 method4269(int var1, int var2, int var3) {
      Class572 var4 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(null != var4) {
         this.method4318(var4.aClass515_Sub1_Sub3_7586, -546577307);
         if(null != var4.aClass515_Sub1_Sub3_7586) {
            Class515_Sub1_Sub3 var5 = var4.aClass515_Sub1_Sub3_7586;
            var4.aClass515_Sub1_Sub3_7586 = null;
            return var5;
         }
      }

      return null;
   }

   public boolean method4270(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, boolean[] var5, int var6) {
      boolean var7 = false;
      if(this.aClass400Array2859 != this.aClass400Array2909) {
         int var8 = this.aClass400Array2867[var2].method6791(var3, var4, 701663251);

         for(int var9 = 0; var9 <= var2; ++var9) {
            Class400 var10 = this.aClass400Array2867[var9];
            if(null != var10) {
               int var11 = var8 - var10.method6791(var3, var4, 701663251);
               if(var5 != null) {
                  var5[var9] = var10.method6792(var1, var3, var11, var4, 0, false);
                  if(!var5[var9]) {
                     continue;
                  }
               }

               var10.UA(var1, var3, var11, var4, 0, false);
               var7 = true;
            }
         }
      }

      return var7;
   }

   public Class515_Sub1_Sub1 method4271(int var1, int var2, int var3, int var4) {
      Class572 var5 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(null == var5) {
         return null;
      } else {
         Class515_Sub1_Sub1 var6 = var5.aClass515_Sub1_Sub1_7583;
         var5.aClass515_Sub1_Sub1_7583 = null;
         this.method4318(var6, -472143068);
         return var6;
      }
   }

   public int method4272(int var1, int var2) {
      return this.aByteArrayArray2881 != null?this.aByteArrayArray2881[var1][var2] & 255:0;
   }

   public Class515_Sub1_Sub5 method4273(int var1, int var2, int var3) {
      Class572 var4 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(var4 != null) {
         this.method4318(var4.aClass515_Sub1_Sub5_7580, 648579228);
         if(null != var4.aClass515_Sub1_Sub5_7580) {
            Class515_Sub1_Sub5 var5 = var4.aClass515_Sub1_Sub5_7580;
            var4.aClass515_Sub1_Sub5_7580 = null;
            return var5;
         }
      }

      return null;
   }

   void method4274(Class515_Sub1 var1, Class225_Sub40[] var2) {
      int var3;
      if(this.aBool2902) {
         var3 = var1.method13401(var2, 1024694516);
         this.aClass545_2864.method11563(var3, var2);
      }

      if(this.aClass400Array2859 == this.aClass400Array2909) {
         boolean var7 = false;
         boolean var4 = false;
         Class326 var5 = var1.method10913().aClass326_4031;
         int var8;
         if(var1 instanceof Class515_Sub1_Sub4) {
            var3 = ((Class515_Sub1_Sub4)var1).aShort10430;
            var8 = ((Class515_Sub1_Sub4)var1).aShort10424;
         } else {
            var3 = (int)var5.aFloat4036 >> this.anInt2860 * 1261520001;
            var8 = (int)var5.aFloat4033 >> 1261520001 * this.anInt2860;
         }

         Class153 var6 = new Class153();
         var6.anInt1727 = this.method4179(var3, var8, Integer.MIN_VALUE) * 1609872797;
         var6.anInt1731 = this.method4178(var3, var8, -771253586) * -1158708007;
         var6.anInt1725 = this.method4180(var3, var8, (byte)-83) * -766948059;
         var6.anInt1729 = this.method4181(var3, var8, 1678083540) * -2028135829;
         var6.anInt1730 = this.method4182(var3, var8, (byte)0) * 1968080381;
         var6.anInt1726 = this.method4183(var3, var8, 1056616382) * -1564760023;
         this.aClass545_2864.method11496(this.aClass400Array2867[0].method6791((int)var5.aFloat4036, (int)var5.aFloat4033, 701663251), var6);
      }

      Class579 var9 = var1.method13398(this.aClass545_2864, (byte)8);
      if(null != var9) {
         if(var9.aBool7619) {
            var9.aClass515_Sub1_7618 = var1;
            this.aClass576_2883.method12217(var9, 334080718);
         } else {
            Class332.method6153(var9, -2119064930);
         }
      }

   }

   public Class515_Sub1_Sub5 method4275(int var1, int var2, int var3) {
      Class572 var4 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(var4 != null) {
         this.method4318(var4.aClass515_Sub1_Sub5_7580, 1910536661);
         if(null != var4.aClass515_Sub1_Sub5_7580) {
            Class515_Sub1_Sub5 var5 = var4.aClass515_Sub1_Sub5_7580;
            var4.aClass515_Sub1_Sub5_7580 = null;
            return var5;
         }
      }

      return null;
   }

   public Class515_Sub1_Sub2 method4276(int var1, int var2, int var3) {
      Class572 var4 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(null == var4) {
         return null;
      } else {
         this.method4318(var4.aClass515_Sub1_Sub2_7582, 1449083847);
         if(null != var4.aClass515_Sub1_Sub2_7582) {
            Class515_Sub1_Sub2 var5 = var4.aClass515_Sub1_Sub2_7582;
            var4.aClass515_Sub1_Sub2_7582 = null;
            return var5;
         } else {
            return null;
         }
      }
   }

   public void method4277(int var1, int var2, int var3, Class515_Sub1_Sub5 var4, Class515_Sub1_Sub5 var5, int var6) {
      Class572 var7 = this.method4280(var1, var2, var3, 1344478846);
      if(null != var7) {
         var7.aClass515_Sub1_Sub5_7580 = var4;
         var7.aClass515_Sub1_Sub5_7581 = var5;
         int var8 = this.aClass400Array2859 == this.aClass400Array2909?1:0;
         if(var4.method13394((byte)1)) {
            if(var4.method13451((byte)1)) {
               var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2889[var8];
               this.aClass515_Sub1Array2889[var8] = var4;
            } else {
               var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2888[var8];
               this.aClass515_Sub1Array2888[var8] = var4;
            }
         } else {
            var4.aClass515_Sub1_8442 = this.aClass515_Sub1Array2890[var8];
            this.aClass515_Sub1Array2890[var8] = var4;
         }

         if(var5 != null) {
            if(var5.method13394((byte)1)) {
               if(var5.method13451((byte)1)) {
                  var5.aClass515_Sub1_8442 = this.aClass515_Sub1Array2889[var8];
                  this.aClass515_Sub1Array2889[var8] = var5;
               } else {
                  var5.aClass515_Sub1_8442 = this.aClass515_Sub1Array2888[var8];
                  this.aClass515_Sub1Array2888[var8] = var5;
               }
            } else {
               var5.aClass515_Sub1_8442 = this.aClass515_Sub1Array2890[var8];
               this.aClass515_Sub1Array2890[var8] = var5;
            }
         }
      }

   }

   public Class515_Sub1_Sub1 method4278(int var1, int var2, int var3) {
      Class572 var4 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(null == var4) {
         return null;
      } else {
         Class515_Sub1_Sub1 var5 = var4.aClass515_Sub1_Sub1_7583;
         var4.aClass515_Sub1_Sub1_7583 = null;
         this.method4318(var5, 1493412591);
         return var5;
      }
   }

   public Class515_Sub1_Sub4 method4279(int var1, int var2, int var3, Interface23 var4) {
      Class572 var5 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(null == var5) {
         return null;
      } else {
         for(Class239 var6 = var5.aClass239_7584; null != var6; var6 = var6.aClass239_2838) {
            Class515_Sub1_Sub4 var7 = var6.aClass515_Sub1_Sub4_2839;
            if((var4 == null || var4.method110(var7, -1027947286)) && var7.aShort10430 == var2 && var7.aShort10424 == var3) {
               this.method4257(var7, false, 1429120893);
               return var7;
            }
         }

         return null;
      }
   }

   Class572 method4280(int var1, int var2, int var3, int var4) {
      if(null == this.aClass572ArrayArrayArray2868[var1][var2][var3]) {
         boolean var5 = this.aClass572ArrayArrayArray2868[0][var2][var3] != null && this.aClass572ArrayArrayArray2868[0][var2][var3].aClass572_7577 != null;
         if(var5 && var1 >= -716645769 * this.anInt2869 - 1) {
            return null;
         }

         this.method4176(var1, var2, var3, (short)19155);
      }

      return this.aClass572ArrayArrayArray2868[var1][var2][var3];
   }

   public Class515_Sub1_Sub4 method4281(int var1, int var2, int var3, Interface23 var4) {
      Class572 var5 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(null == var5) {
         return null;
      } else {
         for(Class239 var6 = var5.aClass239_7584; null != var6; var6 = var6.aClass239_2838) {
            Class515_Sub1_Sub4 var7 = var6.aClass515_Sub1_Sub4_2839;
            if((var4 == null || var4.method110(var7, -1203468878)) && var7.aShort10430 == var2 && var7.aShort10424 == var3) {
               this.method4257(var7, false, 1104509009);
               return var7;
            }
         }

         return null;
      }
   }

   public void method4282(int var1, int var2, int var3, int var4, int var5) {
      Class572 var6 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(var6 != null) {
         Class515_Sub1_Sub5 var7 = var6.aClass515_Sub1_Sub5_7580;
         Class515_Sub1_Sub5 var8 = var6.aClass515_Sub1_Sub5_7581;
         if(null != var7) {
            var7.aShort10434 = (short)(var7.aShort10434 * var4 / (16 << this.anInt2860 * 1261520001 - 7));
            var7.aShort10432 = (short)(var7.aShort10432 * var4 / (16 << this.anInt2860 * 1261520001 - 7));
         }

         if(null != var8) {
            var8.aShort10434 = (short)(var4 * var8.aShort10434 / (16 << this.anInt2860 * 1261520001 - 7));
            var8.aShort10432 = (short)(var8.aShort10432 * var4 / (16 << 1261520001 * this.anInt2860 - 7));
         }

      }
   }

   void method4283(int var1, int var2) {
      Class225_Sub14_Sub16 var3 = null;

      for(int var4 = var1; var4 < var2; ++var4) {
         Class400 var5 = this.aClass400Array2867[var4];
         if(null != var5) {
            for(int var6 = 0; var6 < 1301377571 * this.anInt2885; ++var6) {
               for(int var7 = 0; var7 < this.anInt2870 * -648719443; ++var7) {
                  var3 = var5.w(var7, var6, var3);
                  if(var3 != null) {
                     int var8 = var7 << 1261520001 * this.anInt2860;
                     int var9 = var6 << 1261520001 * this.anInt2860;

                     for(int var10 = var4 - 1; var10 >= 0; --var10) {
                        Class400 var11 = this.aClass400Array2867[var10];
                        if(var11 != null) {
                           int var12 = var5.method6789(var7, var6, (byte)3) - var11.method6789(var7, var6, (byte)3);
                           int var13 = var5.method6789(var7 + 1, var6, (byte)3) - var11.method6789(var7 + 1, var6, (byte)3);
                           int var14 = var5.method6789(var7 + 1, var6 + 1, (byte)3) - var11.method6789(1 + var7, 1 + var6, (byte)3);
                           int var15 = var5.method6789(var7, var6 + 1, (byte)3) - var11.method6789(var7, 1 + var6, (byte)3);
                           var11.UA(var3, var8, (var12 + var13 + var14 + var15) / 4, var9, 0, false);
                        }
                     }
                  }
               }
            }
         }
      }

   }

   public Class515_Sub1_Sub3 method4284(int var1, int var2, int var3) {
      Class572 var4 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      return var4 == null?null:var4.aClass515_Sub1_Sub3_7586;
   }

   public boolean method4285(Class515_Sub1_Sub4 var1, boolean var2) {
      boolean var3 = this.aClass400Array2909 == this.aClass400Array2859;
      int var4 = 0;
      short var5 = 0;
      byte var6 = 0;
      var1.method16058(-604333761);
      if(var1.aShort10430 >= 0 && var1.aShort10424 >= 0 && var1.aShort10429 < this.anInt2870 * -648719443 && var1.aShort10426 < this.anInt2885 * 1301377571) {
         short var7 = 0;

         int var8;
         int var9;
         for(var8 = var1.aShort10430; var8 <= var1.aShort10429; ++var8) {
            for(var9 = var1.aShort10424; var9 <= var1.aShort10426; ++var9) {
               Class572 var10 = this.method4280(var1.aByte8443, var8, var9, 1344478846);
               if(null != var10) {
                  Class239 var11 = Class146.method2691(var1, (byte)16);
                  Class239 var12 = var10.aClass239_7584;
                  if(null == var12) {
                     var10.aClass239_7584 = var11;
                  } else {
                     while(var12.aClass239_2838 != null) {
                        var12 = var12.aClass239_2838;
                     }

                     var12.aClass239_2838 = var11;
                  }

                  if(var3 && (this.anIntArrayArray2878[var8][var9] & -16777216) != 0) {
                     var4 = this.anIntArrayArray2878[var8][var9];
                     var5 = this.aShortArrayArray2879[var8][var9];
                     var6 = this.aByteArrayArray2880[var8][var9];
                  }

                  if(!var2 && var10.aClass515_Sub1_Sub2_7582 != null && var10.aClass515_Sub1_Sub2_7582.aShort10389 > var7) {
                     var7 = var10.aClass515_Sub1_Sub2_7582.aShort10389;
                  }
               }
            }
         }

         if(var3 && (var4 & -16777216) != 0) {
            for(var8 = var1.aShort10430; var8 <= var1.aShort10429; ++var8) {
               for(var9 = var1.aShort10424; var9 <= var1.aShort10426; ++var9) {
                  if(0 == (this.anIntArrayArray2878[var8][var9] & -16777216)) {
                     this.anIntArrayArray2878[var8][var9] = var4;
                     this.aShortArrayArray2879[var8][var9] = var5;
                     this.aByteArrayArray2880[var8][var9] = var6;
                  }
               }
            }
         }

         if(var2) {
            this.aClass515_Sub1_Sub4Array2895[(this.anInt2884 += -1562067799) * 252815257 - 1] = var1;
            var1.aClass241_8441 = this;
         } else {
            var8 = this.aClass400Array2859 == this.aClass400Array2909?1:0;
            if(var1.method13394((byte)1)) {
               if(var1.method13451((byte)1)) {
                  var1.aClass515_Sub1_8442 = this.aClass515_Sub1Array2889[var8];
                  this.aClass515_Sub1Array2889[var8] = var1;
               } else {
                  var1.aClass515_Sub1_8442 = this.aClass515_Sub1Array2888[var8];
                  this.aClass515_Sub1Array2888[var8] = var1;
               }
            } else {
               var1.aClass515_Sub1_8442 = this.aClass515_Sub1Array2890[var8];
               this.aClass515_Sub1Array2890[var8] = var1;
            }
         }

         if(var2) {
            Class326 var13 = Class326.method5922(var1.method10913().aClass326_4031);
            var13.aFloat4037 -= (float)var7;
            var1.method10918(var13);
            var13.method5948();
         }

         return true;
      } else {
         return false;
      }
   }

   public Class515_Sub1_Sub5 method4286(int var1, int var2, int var3) {
      Class572 var4 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      return var4 == null?null:var4.aClass515_Sub1_Sub5_7580;
   }

   public Class515_Sub1_Sub1 method4287(int var1, int var2, int var3) {
      Class572 var4 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      return var4 == null?null:var4.aClass515_Sub1_Sub1_7583;
   }

   public Class515_Sub1_Sub1 method4288(int var1, int var2, int var3) {
      Class572 var4 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      return var4 == null?null:var4.aClass515_Sub1_Sub1_7583;
   }

   public Class515_Sub1_Sub4 method4289(int var1, int var2, int var3, Interface23 var4) {
      Class572 var5 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(null == var5) {
         return null;
      } else {
         for(Class239 var6 = var5.aClass239_7584; var6 != null; var6 = var6.aClass239_2838) {
            Class515_Sub1_Sub4 var7 = var6.aClass515_Sub1_Sub4_2839;
            if((null == var4 || var4.method110(var7, -1261245865)) && var7.aShort10430 == var2 && var7.aShort10424 == var3) {
               return var7;
            }
         }

         return null;
      }
   }

   public Class515_Sub1_Sub4 method4290(int var1, int var2, int var3, Interface23 var4) {
      Class572 var5 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(null == var5) {
         return null;
      } else {
         for(Class239 var6 = var5.aClass239_7584; var6 != null; var6 = var6.aClass239_2838) {
            Class515_Sub1_Sub4 var7 = var6.aClass515_Sub1_Sub4_2839;
            if((null == var4 || var4.method110(var7, -1772107651)) && var7.aShort10430 == var2 && var7.aShort10424 == var3) {
               return var7;
            }
         }

         return null;
      }
   }

   public Class515_Sub1_Sub4 method4291(int var1, int var2, int var3, Interface23 var4) {
      Class572 var5 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(null == var5) {
         return null;
      } else {
         for(Class239 var6 = var5.aClass239_7584; var6 != null; var6 = var6.aClass239_2838) {
            Class515_Sub1_Sub4 var7 = var6.aClass515_Sub1_Sub4_2839;
            if((null == var4 || var4.method110(var7, -60676572)) && var7.aShort10430 == var2 && var7.aShort10424 == var3) {
               return var7;
            }
         }

         return null;
      }
   }

   public Class515_Sub1_Sub2 method4292(int var1, int var2, int var3) {
      Class572 var4 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      return var4 != null && var4.aClass515_Sub1_Sub2_7582 != null?var4.aClass515_Sub1_Sub2_7582:null;
   }

   public Class515_Sub1_Sub2 method4293(int var1, int var2, int var3) {
      Class572 var4 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      return var4 != null && var4.aClass515_Sub1_Sub2_7582 != null?var4.aClass515_Sub1_Sub2_7582:null;
   }

   public void method4294() {
      for(int var1 = 0; var1 < this.anInt2869 * -716645769; ++var1) {
         for(int var2 = 0; var2 < -648719443 * this.anInt2870; ++var2) {
            for(int var3 = 0; var3 < 1301377571 * this.anInt2885; ++var3) {
               Class572 var4 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
               if(var4 != null) {
                  Class515_Sub1_Sub3 var5 = var4.aClass515_Sub1_Sub3_7578;
                  Class515_Sub1_Sub3 var6 = var4.aClass515_Sub1_Sub3_7586;
                  if(null != var5 && var5.method13423((byte)32)) {
                     this.method4209(var5, var1, var2, var3, 1, 1);
                     if(null != var6 && var6.method13423((byte)115)) {
                        this.method4209(var6, var1, var2, var3, 1, 1);
                        var6.method13424(this.aClass545_2864, var5, 0, 0, 0, false, 676040441);
                        var6.method13397(-702685204);
                     }

                     var5.method13397(-238640381);
                  }

                  for(Class239 var7 = var4.aClass239_7584; var7 != null; var7 = var7.aClass239_2838) {
                     Class515_Sub1_Sub4 var8 = var7.aClass515_Sub1_Sub4_2839;
                     if(null != var8 && var8.method13423((byte)41)) {
                        this.method4209(var8, var1, var2, var3, var8.aShort10429 - var8.aShort10430 + 1, 1 + (var8.aShort10426 - var8.aShort10424));
                        var8.method13397(-996605302);
                     }
                  }

                  Class515_Sub1_Sub2 var9 = var4.aClass515_Sub1_Sub2_7582;
                  if(var9 != null && var9.method13423((byte)100)) {
                     this.method4208(var9, var1, var2, var3, (byte)32);
                     var9.method13397(-1867659074);
                  }
               }
            }
         }
      }

   }

   public void method4295() {
      for(int var1 = 0; var1 < this.anInt2869 * -716645769; ++var1) {
         for(int var2 = 0; var2 < -648719443 * this.anInt2870; ++var2) {
            for(int var3 = 0; var3 < 1301377571 * this.anInt2885; ++var3) {
               Class572 var4 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
               if(var4 != null) {
                  Class515_Sub1_Sub3 var5 = var4.aClass515_Sub1_Sub3_7578;
                  Class515_Sub1_Sub3 var6 = var4.aClass515_Sub1_Sub3_7586;
                  if(null != var5 && var5.method13423((byte)75)) {
                     this.method4209(var5, var1, var2, var3, 1, 1);
                     if(null != var6 && var6.method13423((byte)107)) {
                        this.method4209(var6, var1, var2, var3, 1, 1);
                        var6.method13424(this.aClass545_2864, var5, 0, 0, 0, false, -480719875);
                        var6.method13397(-1777756786);
                     }

                     var5.method13397(-1494541259);
                  }

                  for(Class239 var7 = var4.aClass239_7584; var7 != null; var7 = var7.aClass239_2838) {
                     Class515_Sub1_Sub4 var8 = var7.aClass515_Sub1_Sub4_2839;
                     if(null != var8 && var8.method13423((byte)89)) {
                        this.method4209(var8, var1, var2, var3, var8.aShort10429 - var8.aShort10430 + 1, 1 + (var8.aShort10426 - var8.aShort10424));
                        var8.method13397(-985514671);
                     }
                  }

                  Class515_Sub1_Sub2 var9 = var4.aClass515_Sub1_Sub2_7582;
                  if(var9 != null && var9.method13423((byte)69)) {
                     this.method4208(var9, var1, var2, var3, (byte)103);
                     var9.method13397(-331664547);
                  }
               }
            }
         }
      }

   }

   public void method4296() {
      for(int var1 = 0; var1 < this.anInt2869 * -716645769; ++var1) {
         for(int var2 = 0; var2 < -648719443 * this.anInt2870; ++var2) {
            for(int var3 = 0; var3 < 1301377571 * this.anInt2885; ++var3) {
               Class572 var4 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
               if(var4 != null) {
                  Class515_Sub1_Sub3 var5 = var4.aClass515_Sub1_Sub3_7578;
                  Class515_Sub1_Sub3 var6 = var4.aClass515_Sub1_Sub3_7586;
                  if(null != var5 && var5.method13423((byte)55)) {
                     this.method4209(var5, var1, var2, var3, 1, 1);
                     if(null != var6 && var6.method13423((byte)124)) {
                        this.method4209(var6, var1, var2, var3, 1, 1);
                        var6.method13424(this.aClass545_2864, var5, 0, 0, 0, false, -15396484);
                        var6.method13397(-869283865);
                     }

                     var5.method13397(-316331353);
                  }

                  for(Class239 var7 = var4.aClass239_7584; var7 != null; var7 = var7.aClass239_2838) {
                     Class515_Sub1_Sub4 var8 = var7.aClass515_Sub1_Sub4_2839;
                     if(null != var8 && var8.method13423((byte)76)) {
                        this.method4209(var8, var1, var2, var3, var8.aShort10429 - var8.aShort10430 + 1, 1 + (var8.aShort10426 - var8.aShort10424));
                        var8.method13397(-1761572803);
                     }
                  }

                  Class515_Sub1_Sub2 var9 = var4.aClass515_Sub1_Sub2_7582;
                  if(var9 != null && var9.method13423((byte)45)) {
                     this.method4208(var9, var1, var2, var3, (byte)117);
                     var9.method13397(-1178529719);
                  }
               }
            }
         }
      }

   }

   void method4297(Class515_Sub1 var1, int var2, int var3, int var4, int var5, int var6) {
      boolean var7 = true;
      int var8 = var3;
      int var9 = var3 + var5;
      int var10 = var4 - 1;
      int var11 = var4 + var6;

      for(int var12 = var2; var12 <= var2 + 1; ++var12) {
         if(this.anInt2869 * -716645769 != var12) {
            for(int var13 = var8; var13 <= var9; ++var13) {
               if(var13 >= 0 && var13 < -648719443 * this.anInt2870) {
                  for(int var14 = var10; var14 <= var11; ++var14) {
                     if(var14 >= 0 && var14 < 1301377571 * this.anInt2885 && (!var7 || var13 >= var9 || var14 >= var11 || var14 < var4 && var13 != var3)) {
                        Class572 var15 = this.aClass572ArrayArrayArray2868[var12][var13][var14];
                        if(null != var15) {
                           int var16 = (this.aClass400Array2859[var12].method6789(var13, var14, (byte)3) + this.aClass400Array2859[var12].method6789(1 + var13, var14, (byte)3) + this.aClass400Array2859[var12].method6789(var13, 1 + var14, (byte)3) + this.aClass400Array2859[var12].method6789(var13 + 1, var14 + 1, (byte)3)) / 4 - (this.aClass400Array2859[var2].method6789(var3, var4, (byte)3) + this.aClass400Array2859[var2].method6789(1 + var3, var4, (byte)3) + this.aClass400Array2859[var2].method6789(var3, var4 + 1, (byte)3) + this.aClass400Array2859[var2].method6789(var3 + 1, 1 + var4, (byte)3)) / 4;
                           Class515_Sub1_Sub3 var17 = var15.aClass515_Sub1_Sub3_7578;
                           Class515_Sub1_Sub3 var18 = var15.aClass515_Sub1_Sub3_7586;
                           if(var17 != null && var17.method13423((byte)72)) {
                              var1.method13424(this.aClass545_2864, var17, this.anInt2862 * -261294229 * (1 - var5) + -156805669 * this.anInt2861 * (var13 - var3), var16, -156805669 * this.anInt2861 * (var14 - var4) + (1 - var6) * this.anInt2862 * -261294229, var7, 425656887);
                           }

                           if(var18 != null && var18.method13423((byte)54)) {
                              var1.method13424(this.aClass545_2864, var18, -156805669 * this.anInt2861 * (var13 - var3) + -261294229 * this.anInt2862 * (1 - var5), var16, (1 - var6) * this.anInt2862 * -261294229 + -156805669 * this.anInt2861 * (var14 - var4), var7, 114643989);
                           }

                           for(Class239 var19 = var15.aClass239_7584; null != var19; var19 = var19.aClass239_2838) {
                              Class515_Sub1_Sub4 var20 = var19.aClass515_Sub1_Sub4_2839;
                              if(var20 != null && var20.method13423((byte)17) && (var13 == var20.aShort10430 || var13 == var8) && (var20.aShort10424 == var14 || var10 == var14)) {
                                 int var21 = var20.aShort10429 - var20.aShort10430 + 1;
                                 int var22 = var20.aShort10426 - var20.aShort10424 + 1;
                                 var1.method13424(this.aClass545_2864, var20, (var20.aShort10430 - var3) * -156805669 * this.anInt2861 + this.anInt2862 * -261294229 * (var21 - var5), var16, this.anInt2861 * -156805669 * (var20.aShort10424 - var4) + -261294229 * this.anInt2862 * (var22 - var6), var7, -996617853);
                              }
                           }
                        }
                     }
                  }
               }
            }

            --var8;
            var7 = false;
         }
      }

   }

   public int method4298(int var1, int var2) {
      return null != this.aShortArrayArray2879?this.aShortArrayArray2879[var1][var2] & '\uffff':0;
   }

   void method4299(boolean var1, byte[][][] var2, int var3, byte var4, int var5) {
      int var6 = var1?1:0;
      this.anInt2891 = 0;
      this.anInt2892 = 0;
      this.anInt2901 += 2109843513;
      Class515_Sub1 var7;
      if(0 == (var5 & 2)) {
         for(var7 = this.aClass515_Sub1Array2888[var6]; null != var7; var7 = var7.aClass515_Sub1_8442) {
            this.method4212(var7, (byte)0);
            if(-1 != var7.anInt8445 * -56073021 && !this.method4174(var7, var1, var2, var3, var4)) {
               this.aClass515_Sub1Array2894[(this.anInt2891 += -381346059) * -694543011 - 1] = var7;
            }
         }
      }

      int var16;
      if(0 == (var5 & 1)) {
         for(var7 = this.aClass515_Sub1Array2889[var6]; var7 != null; var7 = var7.aClass515_Sub1_8442) {
            this.method4212(var7, (byte)0);
            if(-1 != var7.anInt8445 * -56073021 && !this.method4174(var7, var1, var2, var3, var4)) {
               this.aClass515_Sub1Array2893[(this.anInt2892 += -1618975791) * -2023697103 - 1] = var7;
            }
         }

         for(var7 = this.aClass515_Sub1Array2890[var6]; null != var7; var7 = var7.aClass515_Sub1_8442) {
            this.method4212(var7, (byte)0);
            if(-56073021 * var7.anInt8445 != -1 && !this.method4174(var7, var1, var2, var3, var4)) {
               if(var7.method13451((byte)1)) {
                  this.aClass515_Sub1Array2893[(this.anInt2892 += -1618975791) * -2023697103 - 1] = var7;
               } else {
                  this.aClass515_Sub1Array2894[(this.anInt2891 += -381346059) * -694543011 - 1] = var7;
               }
            }
         }

         if(!var1) {
            for(var16 = 0; var16 < this.anInt2884 * 252815257; ++var16) {
               this.method4212(this.aClass515_Sub1_Sub4Array2895[var16], (byte)0);
               if(-56073021 * this.aClass515_Sub1_Sub4Array2895[var16].anInt8445 != -1 && !this.method4174(this.aClass515_Sub1_Sub4Array2895[var16], var1, var2, var3, var4)) {
                  if(this.aClass515_Sub1_Sub4Array2895[var16].method13451((byte)1)) {
                     this.aClass515_Sub1Array2893[(this.anInt2892 += -1618975791) * -2023697103 - 1] = this.aClass515_Sub1_Sub4Array2895[var16];
                  } else {
                     this.aClass515_Sub1Array2894[(this.anInt2891 += -381346059) * -694543011 - 1] = this.aClass515_Sub1_Sub4Array2895[var16];
                  }
               }
            }
         }
      }

      if(-694543011 * this.anInt2891 > 0) {
         this.method4214(this.aClass515_Sub1Array2894, 0, -694543011 * this.anInt2891 - 1);

         for(var16 = 0; var16 < this.anInt2891 * -694543011; ++var16) {
            this.method4216(this.aClass515_Sub1Array2894[var16], this.aClass225_Sub40Array2910);
         }
      }

      if(this.aBool2902) {
         this.aClass545_2864.method11563(0, (Class225_Sub40[])null);
      }

      if((var5 & 2) == 0) {
         for(var16 = 0; var16 < -716645769 * this.anInt2869; ++var16) {
            int var8;
            int var9;
            boolean[][] var10;
            int var11;
            int var12;
            int var13;
            if(var16 >= var3 && null != var2) {
               var8 = this.aBoolArrayArray2920.length;
               if(this.anInt2905 * 1510659669 + this.aBoolArrayArray2920.length > this.anInt2870 * -648719443) {
                  var8 -= this.aBoolArrayArray2920.length + 1510659669 * this.anInt2905 - this.anInt2870 * -648719443;
               }

               var9 = this.aBoolArrayArray2920[0].length;
               if(this.anInt2903 * -1221937525 + this.aBoolArrayArray2920[0].length > 1301377571 * this.anInt2885) {
                  var9 -= this.anInt2903 * -1221937525 + this.aBoolArrayArray2920[0].length - this.anInt2885 * 1301377571;
               }

               var10 = this.aBoolArrayArray2918;
               if(this.aBool2917) {
                  for(var11 = 866784617 * this.anInt2875; var11 < var8; ++var11) {
                     var12 = 1510659669 * this.anInt2905 + var11 - this.anInt2875 * 866784617;

                     for(var13 = this.anInt2904 * 1247569201; var13 < var9; ++var13) {
                        var10[var11][var13] = false;
                        if(this.aBoolArrayArray2920[var11][var13]) {
                           int var14 = var13 + -1221937525 * this.anInt2903 - this.anInt2904 * 1247569201;

                           for(int var15 = var16; var15 >= 0; --var15) {
                              if(null != this.aClass572ArrayArrayArray2868[var15][var12][var14] && this.aClass572ArrayArrayArray2868[var15][var12][var14].aByte7585 == var16) {
                                 if((var15 < var3 || var2[var15][var12][var14] != var4) && !this.aClass236_2906.method4109(var16, var12, var14)) {
                                    var10[var11][var13] = true;
                                 } else {
                                    var10[var11][var13] = false;
                                 }
                                 break;
                              }
                           }
                        }
                     }
                  }
               }

               this.aClass400Array2859[var16].method6787(this.anInt2896 * 463854619, this.anInt2908 * 1686765659, -336014903 * this.anInt2886, this.aBoolArrayArray2918, false, var5);
            } else {
               var8 = this.aBoolArrayArray2920.length;
               if(this.aBoolArrayArray2920.length + this.anInt2905 * 1510659669 > -648719443 * this.anInt2870) {
                  var8 -= this.aBoolArrayArray2920.length + this.anInt2905 * 1510659669 - -648719443 * this.anInt2870;
               }

               var9 = this.aBoolArrayArray2920[0].length;
               if(-1221937525 * this.anInt2903 + this.aBoolArrayArray2920[0].length > 1301377571 * this.anInt2885) {
                  var9 -= this.aBoolArrayArray2920[0].length + -1221937525 * this.anInt2903 - this.anInt2885 * 1301377571;
               }

               var10 = this.aBoolArrayArray2918;
               if(this.aBool2917) {
                  for(var11 = this.anInt2875 * 866784617; var11 < var8; ++var11) {
                     var12 = 1510659669 * this.anInt2905 + var11 - 866784617 * this.anInt2875;

                     for(var13 = this.anInt2904 * 1247569201; var13 < var9; ++var13) {
                        if(this.aBoolArrayArray2920[var11][var13] && !this.aClass236_2906.method4109(var16, var12, var13 + -1221937525 * this.anInt2903 - 1247569201 * this.anInt2904)) {
                           var10[var11][var13] = true;
                        } else {
                           var10[var11][var13] = false;
                        }
                     }
                  }
               }

               this.aClass400Array2859[var16].method6787(this.anInt2896 * 463854619, this.anInt2908 * 1686765659, this.anInt2886 * -336014903, this.aBoolArrayArray2918, true, var5);
            }
         }
      }

      if(-2023697103 * this.anInt2892 > 0) {
         this.method4198(this.aClass515_Sub1Array2893, 0, this.anInt2892 * -2023697103 - 1);

         for(var16 = 0; var16 < -2023697103 * this.anInt2892; ++var16) {
            this.method4216(this.aClass515_Sub1Array2893[var16], this.aClass225_Sub40Array2910);
         }
      }

   }

   void method4300(boolean var1, byte[][][] var2, int var3, byte var4, int var5) {
      int var6 = var1?1:0;
      this.anInt2891 = 0;
      this.anInt2892 = 0;
      this.anInt2901 += 2109843513;
      Class515_Sub1 var7;
      if(0 == (var5 & 2)) {
         for(var7 = this.aClass515_Sub1Array2888[var6]; null != var7; var7 = var7.aClass515_Sub1_8442) {
            this.method4212(var7, (byte)0);
            if(-1 != var7.anInt8445 * -56073021 && !this.method4174(var7, var1, var2, var3, var4)) {
               this.aClass515_Sub1Array2894[(this.anInt2891 += -381346059) * -694543011 - 1] = var7;
            }
         }
      }

      int var16;
      if(0 == (var5 & 1)) {
         for(var7 = this.aClass515_Sub1Array2889[var6]; var7 != null; var7 = var7.aClass515_Sub1_8442) {
            this.method4212(var7, (byte)0);
            if(-1 != var7.anInt8445 * -56073021 && !this.method4174(var7, var1, var2, var3, var4)) {
               this.aClass515_Sub1Array2893[(this.anInt2892 += -1618975791) * -2023697103 - 1] = var7;
            }
         }

         for(var7 = this.aClass515_Sub1Array2890[var6]; null != var7; var7 = var7.aClass515_Sub1_8442) {
            this.method4212(var7, (byte)0);
            if(-56073021 * var7.anInt8445 != -1 && !this.method4174(var7, var1, var2, var3, var4)) {
               if(var7.method13451((byte)1)) {
                  this.aClass515_Sub1Array2893[(this.anInt2892 += -1618975791) * -2023697103 - 1] = var7;
               } else {
                  this.aClass515_Sub1Array2894[(this.anInt2891 += -381346059) * -694543011 - 1] = var7;
               }
            }
         }

         if(!var1) {
            for(var16 = 0; var16 < this.anInt2884 * 252815257; ++var16) {
               this.method4212(this.aClass515_Sub1_Sub4Array2895[var16], (byte)0);
               if(-56073021 * this.aClass515_Sub1_Sub4Array2895[var16].anInt8445 != -1 && !this.method4174(this.aClass515_Sub1_Sub4Array2895[var16], var1, var2, var3, var4)) {
                  if(this.aClass515_Sub1_Sub4Array2895[var16].method13451((byte)1)) {
                     this.aClass515_Sub1Array2893[(this.anInt2892 += -1618975791) * -2023697103 - 1] = this.aClass515_Sub1_Sub4Array2895[var16];
                  } else {
                     this.aClass515_Sub1Array2894[(this.anInt2891 += -381346059) * -694543011 - 1] = this.aClass515_Sub1_Sub4Array2895[var16];
                  }
               }
            }
         }
      }

      if(-694543011 * this.anInt2891 > 0) {
         this.method4214(this.aClass515_Sub1Array2894, 0, -694543011 * this.anInt2891 - 1);

         for(var16 = 0; var16 < this.anInt2891 * -694543011; ++var16) {
            this.method4216(this.aClass515_Sub1Array2894[var16], this.aClass225_Sub40Array2910);
         }
      }

      if(this.aBool2902) {
         this.aClass545_2864.method11563(0, (Class225_Sub40[])null);
      }

      if((var5 & 2) == 0) {
         for(var16 = 0; var16 < -716645769 * this.anInt2869; ++var16) {
            int var8;
            int var9;
            boolean[][] var10;
            int var11;
            int var12;
            int var13;
            if(var16 >= var3 && null != var2) {
               var8 = this.aBoolArrayArray2920.length;
               if(this.anInt2905 * 1510659669 + this.aBoolArrayArray2920.length > this.anInt2870 * -648719443) {
                  var8 -= this.aBoolArrayArray2920.length + 1510659669 * this.anInt2905 - this.anInt2870 * -648719443;
               }

               var9 = this.aBoolArrayArray2920[0].length;
               if(this.anInt2903 * -1221937525 + this.aBoolArrayArray2920[0].length > 1301377571 * this.anInt2885) {
                  var9 -= this.anInt2903 * -1221937525 + this.aBoolArrayArray2920[0].length - this.anInt2885 * 1301377571;
               }

               var10 = this.aBoolArrayArray2918;
               if(this.aBool2917) {
                  for(var11 = 866784617 * this.anInt2875; var11 < var8; ++var11) {
                     var12 = 1510659669 * this.anInt2905 + var11 - this.anInt2875 * 866784617;

                     for(var13 = this.anInt2904 * 1247569201; var13 < var9; ++var13) {
                        var10[var11][var13] = false;
                        if(this.aBoolArrayArray2920[var11][var13]) {
                           int var14 = var13 + -1221937525 * this.anInt2903 - this.anInt2904 * 1247569201;

                           for(int var15 = var16; var15 >= 0; --var15) {
                              if(null != this.aClass572ArrayArrayArray2868[var15][var12][var14] && this.aClass572ArrayArrayArray2868[var15][var12][var14].aByte7585 == var16) {
                                 if((var15 < var3 || var2[var15][var12][var14] != var4) && !this.aClass236_2906.method4109(var16, var12, var14)) {
                                    var10[var11][var13] = true;
                                 } else {
                                    var10[var11][var13] = false;
                                 }
                                 break;
                              }
                           }
                        }
                     }
                  }
               }

               this.aClass400Array2859[var16].method6787(this.anInt2896 * 463854619, this.anInt2908 * 1686765659, -336014903 * this.anInt2886, this.aBoolArrayArray2918, false, var5);
            } else {
               var8 = this.aBoolArrayArray2920.length;
               if(this.aBoolArrayArray2920.length + this.anInt2905 * 1510659669 > -648719443 * this.anInt2870) {
                  var8 -= this.aBoolArrayArray2920.length + this.anInt2905 * 1510659669 - -648719443 * this.anInt2870;
               }

               var9 = this.aBoolArrayArray2920[0].length;
               if(-1221937525 * this.anInt2903 + this.aBoolArrayArray2920[0].length > 1301377571 * this.anInt2885) {
                  var9 -= this.aBoolArrayArray2920[0].length + -1221937525 * this.anInt2903 - this.anInt2885 * 1301377571;
               }

               var10 = this.aBoolArrayArray2918;
               if(this.aBool2917) {
                  for(var11 = this.anInt2875 * 866784617; var11 < var8; ++var11) {
                     var12 = 1510659669 * this.anInt2905 + var11 - 866784617 * this.anInt2875;

                     for(var13 = this.anInt2904 * 1247569201; var13 < var9; ++var13) {
                        if(this.aBoolArrayArray2920[var11][var13] && !this.aClass236_2906.method4109(var16, var12, var13 + -1221937525 * this.anInt2903 - 1247569201 * this.anInt2904)) {
                           var10[var11][var13] = true;
                        } else {
                           var10[var11][var13] = false;
                        }
                     }
                  }
               }

               this.aClass400Array2859[var16].method6787(this.anInt2896 * 463854619, this.anInt2908 * 1686765659, this.anInt2886 * -336014903, this.aBoolArrayArray2918, true, var5);
            }
         }
      }

      if(-2023697103 * this.anInt2892 > 0) {
         this.method4198(this.aClass515_Sub1Array2893, 0, this.anInt2892 * -2023697103 - 1);

         for(var16 = 0; var16 < -2023697103 * this.anInt2892; ++var16) {
            this.method4216(this.aClass515_Sub1Array2893[var16], this.aClass225_Sub40Array2910);
         }
      }

   }

   void method4301(Class515_Sub1[] var1, int var2, int var3) {
      if(var2 < var3) {
         int var4 = (var2 + var3) / 2;
         int var5 = var2;
         Class515_Sub1 var6 = var1[var4];
         var1[var4] = var1[var3];
         var1[var3] = var6;
         int var7 = var6.anInt8445 * -56073021;

         for(int var8 = var2; var8 < var3; ++var8) {
            if(-56073021 * var1[var8].anInt8445 > var7 + (var8 & 1)) {
               Class515_Sub1 var9 = var1[var8];
               var1[var8] = var1[var5];
               var1[var5++] = var9;
            }
         }

         var1[var3] = var1[var5];
         var1[var5] = var6;
         this.method4198(var1, var2, var5 - 1);
         this.method4198(var1, var5 + 1, var3);
      }

   }

   public Class515_Sub1_Sub3 method4302(int var1, int var2, int var3) {
      Class572 var4 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(null != var4) {
         this.method4318(var4.aClass515_Sub1_Sub3_7578, -629168174);
         if(var4.aClass515_Sub1_Sub3_7578 != null) {
            Class515_Sub1_Sub3 var5 = var4.aClass515_Sub1_Sub3_7578;
            var4.aClass515_Sub1_Sub3_7578 = null;
            return var5;
         }
      }

      return null;
   }

   void method4303(Class515_Sub1[] var1, int var2, int var3) {
      if(var2 < var3) {
         int var4 = (var2 + var3) / 2;
         int var5 = var2;
         Class515_Sub1 var6 = var1[var4];
         var1[var4] = var1[var3];
         var1[var3] = var6;
         int var7 = var6.anInt8445 * -56073021;

         for(int var8 = var2; var8 < var3; ++var8) {
            if(-56073021 * var1[var8].anInt8445 > var7 + (var8 & 1)) {
               Class515_Sub1 var9 = var1[var8];
               var1[var8] = var1[var5];
               var1[var5++] = var9;
            }
         }

         var1[var3] = var1[var5];
         var1[var5] = var6;
         this.method4198(var1, var2, var5 - 1);
         this.method4198(var1, var5 + 1, var3);
      }

   }

   public void method4304(byte var1) {
      for(int var2 = 0; var2 < this.anInt2884 * 252815257; ++var2) {
         if(var1 <= 1) {
            return;
         }

         Class515_Sub1_Sub4 var3 = this.aClass515_Sub1_Sub4Array2895[var2];
         this.method4257(var3, true, 104974828);
         this.aClass515_Sub1_Sub4Array2895[var2] = null;
      }

      this.anInt2884 = 0;
   }

   void method4305(Class515_Sub1[] var1, int var2, int var3) {
      if(var2 < var3) {
         int var4 = (var3 + var2) / 2;
         int var5 = var2;
         Class515_Sub1 var6 = var1[var4];
         var1[var4] = var1[var3];
         var1[var3] = var6;
         int var7 = var6.anInt8445 * -56073021;

         for(int var8 = var2; var8 < var3; ++var8) {
            if(-56073021 * var1[var8].anInt8445 < (var8 & 1) + var7) {
               Class515_Sub1 var9 = var1[var8];
               var1[var8] = var1[var5];
               var1[var5++] = var9;
            }
         }

         var1[var3] = var1[var5];
         var1[var5] = var6;
         this.method4214(var1, var2, var5 - 1);
         this.method4214(var1, 1 + var5, var3);
      }

   }

   void method4306(Class515_Sub1 var1, Class225_Sub40[] var2) {
      int var3;
      if(this.aBool2902) {
         var3 = var1.method13401(var2, 1765035084);
         this.aClass545_2864.method11563(var3, var2);
      }

      if(this.aClass400Array2859 == this.aClass400Array2909) {
         boolean var7 = false;
         boolean var4 = false;
         Class326 var5 = var1.method10913().aClass326_4031;
         int var8;
         if(var1 instanceof Class515_Sub1_Sub4) {
            var3 = ((Class515_Sub1_Sub4)var1).aShort10430;
            var8 = ((Class515_Sub1_Sub4)var1).aShort10424;
         } else {
            var3 = (int)var5.aFloat4036 >> this.anInt2860 * 1261520001;
            var8 = (int)var5.aFloat4033 >> 1261520001 * this.anInt2860;
         }

         Class153 var6 = new Class153();
         var6.anInt1727 = this.method4179(var3, var8, Integer.MIN_VALUE) * 1609872797;
         var6.anInt1731 = this.method4178(var3, var8, -1143104515) * -1158708007;
         var6.anInt1725 = this.method4180(var3, var8, (byte)-36) * -766948059;
         var6.anInt1729 = this.method4181(var3, var8, 1040321530) * -2028135829;
         var6.anInt1730 = this.method4182(var3, var8, (byte)0) * 1968080381;
         var6.anInt1726 = this.method4183(var3, var8, 1519335766) * -1564760023;
         this.aClass545_2864.method11496(this.aClass400Array2867[0].method6791((int)var5.aFloat4036, (int)var5.aFloat4033, 701663251), var6);
      }

      Class579 var9 = var1.method13398(this.aClass545_2864, (byte)8);
      if(null != var9) {
         if(var9.aBool7619) {
            var9.aClass515_Sub1_7618 = var1;
            this.aClass576_2883.method12217(var9, -1955461045);
         } else {
            Class332.method6153(var9, -2112799107);
         }
      }

   }

   public Class515_Sub1_Sub5 method4307(int var1, int var2, int var3) {
      Class572 var4 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(var4 != null) {
         this.method4318(var4.aClass515_Sub1_Sub5_7580, 1533069934);
         if(null != var4.aClass515_Sub1_Sub5_7580) {
            Class515_Sub1_Sub5 var5 = var4.aClass515_Sub1_Sub5_7580;
            var4.aClass515_Sub1_Sub5_7580 = null;
            return var5;
         }
      }

      return null;
   }

   public void method4308(int var1, int var2, int var3, int var4) {
      Class572 var5 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(var5 != null) {
         Class515_Sub1_Sub5 var6 = var5.aClass515_Sub1_Sub5_7580;
         Class515_Sub1_Sub5 var7 = var5.aClass515_Sub1_Sub5_7581;
         if(null != var6) {
            var6.aShort10434 = (short)(var6.aShort10434 * var4 / (16 << this.anInt2860 * 1261520001 - 7));
            var6.aShort10432 = (short)(var6.aShort10432 * var4 / (16 << this.anInt2860 * 1261520001 - 7));
         }

         if(null != var7) {
            var7.aShort10434 = (short)(var4 * var7.aShort10434 / (16 << this.anInt2860 * 1261520001 - 7));
            var7.aShort10432 = (short)(var7.aShort10432 * var4 / (16 << 1261520001 * this.anInt2860 - 7));
         }

      }
   }

   public Class515_Sub1_Sub4 method4309(int var1, int var2, int var3, Interface23 var4, int var5) {
      Class572 var6 = this.aClass572ArrayArrayArray2868[var1][var2][var3];
      if(null == var6) {
         return null;
      } else {
         for(Class239 var7 = var6.aClass239_7584; var7 != null; var7 = var7.aClass239_2838) {
            Class515_Sub1_Sub4 var8 = var7.aClass515_Sub1_Sub4_2839;
            if((null == var4 || var4.method110(var8, -637782559)) && var8.aShort10430 == var2 && var8.aShort10424 == var3) {
               return var8;
            }
         }

         return null;
      }
   }

   void method4310(Class515_Sub1 var1, Class225_Sub40[] var2) {
      int var3;
      if(this.aBool2902) {
         var3 = var1.method13401(var2, 1498731213);
         this.aClass545_2864.method11563(var3, var2);
      }

      if(this.aClass400Array2859 == this.aClass400Array2909) {
         boolean var7 = false;
         boolean var4 = false;
         Class326 var5 = var1.method10913().aClass326_4031;
         int var8;
         if(var1 instanceof Class515_Sub1_Sub4) {
            var3 = ((Class515_Sub1_Sub4)var1).aShort10430;
            var8 = ((Class515_Sub1_Sub4)var1).aShort10424;
         } else {
            var3 = (int)var5.aFloat4036 >> this.anInt2860 * 1261520001;
            var8 = (int)var5.aFloat4033 >> 1261520001 * this.anInt2860;
         }

         Class153 var6 = new Class153();
         var6.anInt1727 = this.method4179(var3, var8, Integer.MIN_VALUE) * 1609872797;
         var6.anInt1731 = this.method4178(var3, var8, -1734438871) * -1158708007;
         var6.anInt1725 = this.method4180(var3, var8, (byte)-113) * -766948059;
         var6.anInt1729 = this.method4181(var3, var8, 1566385009) * -2028135829;
         var6.anInt1730 = this.method4182(var3, var8, (byte)0) * 1968080381;
         var6.anInt1726 = this.method4183(var3, var8, 260505687) * -1564760023;
         this.aClass545_2864.method11496(this.aClass400Array2867[0].method6791((int)var5.aFloat4036, (int)var5.aFloat4033, 701663251), var6);
      }

      Class579 var9 = var1.method13398(this.aClass545_2864, (byte)8);
      if(null != var9) {
         if(var9.aBool7619) {
            var9.aClass515_Sub1_7618 = var1;
            this.aClass576_2883.method12217(var9, -988530677);
         } else {
            Class332.method6153(var9, -2125153835);
         }
      }

   }

   public boolean method4311(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, boolean[] var5) {
      boolean var6 = false;
      if(this.aClass400Array2859 != this.aClass400Array2909) {
         int var7 = this.aClass400Array2867[var2].method6791(var3, var4, 701663251);

         for(int var8 = 0; var8 <= var2; ++var8) {
            Class400 var9 = this.aClass400Array2867[var8];
            if(null != var9) {
               int var10 = var7 - var9.method6791(var3, var4, 701663251);
               if(var5 != null) {
                  var5[var8] = var9.method6792(var1, var3, var10, var4, 0, false);
                  if(!var5[var8]) {
                     continue;
                  }
               }

               var9.UA(var1, var3, var10, var4, 0, false);
               var6 = true;
            }
         }
      }

      return var6;
   }

   public boolean method4312(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, boolean[] var5) {
      boolean var6 = false;
      if(this.aClass400Array2859 != this.aClass400Array2909) {
         int var7 = this.aClass400Array2867[var2].method6791(var3, var4, 701663251);

         for(int var8 = 0; var8 <= var2; ++var8) {
            Class400 var9 = this.aClass400Array2867[var8];
            if(null != var9) {
               int var10 = var7 - var9.method6791(var3, var4, 701663251);
               if(var5 != null) {
                  var5[var8] = var9.method6792(var1, var3, var10, var4, 0, false);
                  if(!var5[var8]) {
                     continue;
                  }
               }

               var9.UA(var1, var3, var10, var4, 0, false);
               var6 = true;
            }
         }
      }

      return var6;
   }

   public boolean method4313(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, boolean[] var5) {
      boolean var6 = false;
      if(this.aClass400Array2859 != this.aClass400Array2909) {
         int var7 = this.aClass400Array2867[var2].method6791(var3, var4, 701663251);

         for(int var8 = 0; var8 <= var2; ++var8) {
            Class400 var9 = this.aClass400Array2867[var8];
            if(null != var9) {
               int var10 = var7 - var9.method6791(var3, var4, 701663251);
               if(var5 != null) {
                  var5[var8] = var9.method6792(var1, var3, var10, var4, 0, false);
                  if(!var5[var8]) {
                     continue;
                  }
               }

               var9.UA(var1, var3, var10, var4, 0, false);
               var6 = true;
            }
         }
      }

      return var6;
   }

   public boolean method4314(Class515_Sub1_Sub4 var1, boolean var2) {
      boolean var3 = this.aClass400Array2909 == this.aClass400Array2859;
      int var4 = 0;
      short var5 = 0;
      byte var6 = 0;
      var1.method16058(-50802745);
      if(var1.aShort10430 >= 0 && var1.aShort10424 >= 0 && var1.aShort10429 < this.anInt2870 * -648719443 && var1.aShort10426 < this.anInt2885 * 1301377571) {
         short var7 = 0;

         int var8;
         int var9;
         for(var8 = var1.aShort10430; var8 <= var1.aShort10429; ++var8) {
            for(var9 = var1.aShort10424; var9 <= var1.aShort10426; ++var9) {
               Class572 var10 = this.method4280(var1.aByte8443, var8, var9, 1344478846);
               if(null != var10) {
                  Class239 var11 = Class146.method2691(var1, (byte)16);
                  Class239 var12 = var10.aClass239_7584;
                  if(null == var12) {
                     var10.aClass239_7584 = var11;
                  } else {
                     while(var12.aClass239_2838 != null) {
                        var12 = var12.aClass239_2838;
                     }

                     var12.aClass239_2838 = var11;
                  }

                  if(var3 && (this.anIntArrayArray2878[var8][var9] & -16777216) != 0) {
                     var4 = this.anIntArrayArray2878[var8][var9];
                     var5 = this.aShortArrayArray2879[var8][var9];
                     var6 = this.aByteArrayArray2880[var8][var9];
                  }

                  if(!var2 && var10.aClass515_Sub1_Sub2_7582 != null && var10.aClass515_Sub1_Sub2_7582.aShort10389 > var7) {
                     var7 = var10.aClass515_Sub1_Sub2_7582.aShort10389;
                  }
               }
            }
         }

         if(var3 && (var4 & -16777216) != 0) {
            for(var8 = var1.aShort10430; var8 <= var1.aShort10429; ++var8) {
               for(var9 = var1.aShort10424; var9 <= var1.aShort10426; ++var9) {
                  if(0 == (this.anIntArrayArray2878[var8][var9] & -16777216)) {
                     this.anIntArrayArray2878[var8][var9] = var4;
                     this.aShortArrayArray2879[var8][var9] = var5;
                     this.aByteArrayArray2880[var8][var9] = var6;
                  }
               }
            }
         }

         if(var2) {
            this.aClass515_Sub1_Sub4Array2895[(this.anInt2884 += -1562067799) * 252815257 - 1] = var1;
            var1.aClass241_8441 = this;
         } else {
            var8 = this.aClass400Array2859 == this.aClass400Array2909?1:0;
            if(var1.method13394((byte)1)) {
               if(var1.method13451((byte)1)) {
                  var1.aClass515_Sub1_8442 = this.aClass515_Sub1Array2889[var8];
                  this.aClass515_Sub1Array2889[var8] = var1;
               } else {
                  var1.aClass515_Sub1_8442 = this.aClass515_Sub1Array2888[var8];
                  this.aClass515_Sub1Array2888[var8] = var1;
               }
            } else {
               var1.aClass515_Sub1_8442 = this.aClass515_Sub1Array2890[var8];
               this.aClass515_Sub1Array2890[var8] = var1;
            }
         }

         if(var2) {
            Class326 var13 = Class326.method5922(var1.method10913().aClass326_4031);
            var13.aFloat4037 -= (float)var7;
            var1.method10918(var13);
            var13.method5948();
         }

         return true;
      } else {
         return false;
      }
   }

   public void method4315(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, boolean[] var5) {
      if(this.aClass400Array2909 != this.aClass400Array2859) {
         int var6 = this.aClass400Array2867[var2].method6791(var3, var4, 701663251);

         for(int var7 = 0; var7 <= var2; ++var7) {
            if(null == var5 || var5[var7]) {
               Class400 var8 = this.aClass400Array2867[var7];
               if(null != var8) {
                  var8.NA(var1, var3, var6 - var8.method6791(var3, var4, 701663251), var4, 0, false);
               }
            }
         }
      }

   }

   public void method4316(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, boolean[] var5) {
      if(this.aClass400Array2909 != this.aClass400Array2859) {
         int var6 = this.aClass400Array2867[var2].method6791(var3, var4, 701663251);

         for(int var7 = 0; var7 <= var2; ++var7) {
            if(null == var5 || var5[var7]) {
               Class400 var8 = this.aClass400Array2867[var7];
               if(null != var8) {
                  var8.NA(var1, var3, var6 - var8.method6791(var3, var4, 701663251), var4, 0, false);
               }
            }
         }
      }

   }

   void method4317(int var1, int var2) {
      Class225_Sub14_Sub16 var3 = null;

      for(int var4 = var1; var4 < var2; ++var4) {
         Class400 var5 = this.aClass400Array2867[var4];
         if(null != var5) {
            for(int var6 = 0; var6 < 1301377571 * this.anInt2885; ++var6) {
               for(int var7 = 0; var7 < this.anInt2870 * -648719443; ++var7) {
                  var3 = var5.w(var7, var6, var3);
                  if(var3 != null) {
                     int var8 = var7 << 1261520001 * this.anInt2860;
                     int var9 = var6 << 1261520001 * this.anInt2860;

                     for(int var10 = var4 - 1; var10 >= 0; --var10) {
                        Class400 var11 = this.aClass400Array2867[var10];
                        if(var11 != null) {
                           int var12 = var5.method6789(var7, var6, (byte)3) - var11.method6789(var7, var6, (byte)3);
                           int var13 = var5.method6789(var7 + 1, var6, (byte)3) - var11.method6789(var7 + 1, var6, (byte)3);
                           int var14 = var5.method6789(var7 + 1, var6 + 1, (byte)3) - var11.method6789(1 + var7, 1 + var6, (byte)3);
                           int var15 = var5.method6789(var7, var6 + 1, (byte)3) - var11.method6789(var7, 1 + var6, (byte)3);
                           var11.UA(var3, var8, (var12 + var13 + var14 + var15) / 4, var9, 0, false);
                        }
                     }
                  }
               }
            }
         }
      }

   }

   void method4318(Class515_Sub1 var1, int var2) {
      if(null != var1) {
         var1.method10923();

         for(int var3 = 0; var3 < 2; ++var3) {
            Class515_Sub1 var4 = null;

            Class515_Sub1 var5;
            for(var5 = this.aClass515_Sub1Array2888[var3]; var5 != null; var5 = var5.aClass515_Sub1_8442) {
               if(var1 == var5) {
                  if(null != var4) {
                     var4.aClass515_Sub1_8442 = var5.aClass515_Sub1_8442;
                  } else {
                     this.aClass515_Sub1Array2888[var3] = var5.aClass515_Sub1_8442;
                  }

                  return;
               }

               var4 = var5;
            }

            var4 = null;

            for(var5 = this.aClass515_Sub1Array2889[var3]; null != var5; var5 = var5.aClass515_Sub1_8442) {
               if(var1 == var5) {
                  if(var4 != null) {
                     var4.aClass515_Sub1_8442 = var5.aClass515_Sub1_8442;
                  } else {
                     this.aClass515_Sub1Array2889[var3] = var5.aClass515_Sub1_8442;
                  }

                  return;
               }

               var4 = var5;
            }

            var4 = null;

            for(var5 = this.aClass515_Sub1Array2890[var3]; null != var5; var5 = var5.aClass515_Sub1_8442) {
               if(var5 == var1) {
                  if(var4 != null) {
                     var4.aClass515_Sub1_8442 = var5.aClass515_Sub1_8442;
                  } else {
                     this.aClass515_Sub1Array2890[var3] = var5.aClass515_Sub1_8442;
                  }

                  return;
               }

               var4 = var5;
            }
         }

      }
   }

   void method4319(int var1, int var2) {
      Class225_Sub14_Sub16 var3 = null;

      for(int var4 = var1; var4 < var2; ++var4) {
         Class400 var5 = this.aClass400Array2867[var4];
         if(null != var5) {
            for(int var6 = 0; var6 < 1301377571 * this.anInt2885; ++var6) {
               for(int var7 = 0; var7 < this.anInt2870 * -648719443; ++var7) {
                  var3 = var5.w(var7, var6, var3);
                  if(var3 != null) {
                     int var8 = var7 << 1261520001 * this.anInt2860;
                     int var9 = var6 << 1261520001 * this.anInt2860;

                     for(int var10 = var4 - 1; var10 >= 0; --var10) {
                        Class400 var11 = this.aClass400Array2867[var10];
                        if(var11 != null) {
                           int var12 = var5.method6789(var7, var6, (byte)3) - var11.method6789(var7, var6, (byte)3);
                           int var13 = var5.method6789(var7 + 1, var6, (byte)3) - var11.method6789(var7 + 1, var6, (byte)3);
                           int var14 = var5.method6789(var7 + 1, var6 + 1, (byte)3) - var11.method6789(1 + var7, 1 + var6, (byte)3);
                           int var15 = var5.method6789(var7, var6 + 1, (byte)3) - var11.method6789(var7, 1 + var6, (byte)3);
                           var11.UA(var3, var8, (var12 + var13 + var14 + var15) / 4, var9, 0, false);
                        }
                     }
                  }
               }
            }
         }
      }

   }

   public void method4320() {
      this.method4261(1, this.anInt2869 * -716645769, 1795817173);
   }

   public void method4321() {
      this.method4261(1, this.anInt2869 * -716645769, 1198633570);
   }

   public void method4322() {
      this.method4261(1, this.anInt2869 * -716645769, 932875787);
   }

   public void method4323(Class230 var1) {
      if(this.anInt2913 * -88975437 < '\ufeeb') {
         Class225_Sub40 var2 = var1.aClass225_Sub40_2649;
         this.aClass230Array2921[-88975437 * this.anInt2913] = var1;
         this.aBoolArray2916[this.anInt2913 * -88975437] = false;
         this.anInt2913 += -34459781;
         int var3 = 1943174005 * var1.anInt2652;
         if(var1.aBool2651) {
            var3 = 0;
         }

         int var4 = var1.anInt2652 * 1943174005;
         if(var1.aBool2637) {
            var4 = this.anInt2869 * -716645769 - 1;
         }

         for(int var5 = var3; var5 <= var4; ++var5) {
            int var6 = 0;
            int var7 = var2.method14105((byte)104) - var2.method14113(1155482619) + this.anInt2862 * -261294229 >> 1261520001 * this.anInt2860;
            if(var7 < 0) {
               var6 -= var7;
               var7 = 0;
            }

            int var8 = var2.method14105((byte)39) + var2.method14113(1932895951) - this.anInt2862 * -261294229 >> 1261520001 * this.anInt2860;
            if(var8 >= this.anInt2885 * 1301377571) {
               var8 = this.anInt2885 * 1301377571 - 1;
            }

            for(int var9 = var7; var9 <= var8; ++var9) {
               short var10 = var1.aShortArray2653[var6++];
               int var11 = (var2.method14103(481857553) - var2.method14113(1523227314) + this.anInt2862 * -261294229 >> 1261520001 * this.anInt2860) + (var10 >>> 8);
               int var12 = var11 + (var10 & 255) - 1;
               if(var11 < 0) {
                  var11 = 0;
               }

               if(var12 >= this.anInt2870 * -648719443) {
                  var12 = this.anInt2870 * -648719443 - 1;
               }

               for(int var13 = var11; var13 <= var12; ++var13) {
                  long var14 = this.aLongArrayArrayArray2914[var5][var13][var9];
                  if(0L == (var14 & 65535L)) {
                     this.aLongArrayArrayArray2914[var5][var13][var9] = var14 | (long)(-88975437 * this.anInt2913);
                  } else if(0L == (var14 & 4294901760L)) {
                     this.aLongArrayArrayArray2914[var5][var13][var9] = var14 | (long)(this.anInt2913 * -88975437) << 16;
                  } else if((var14 & 281470681743360L) == 0L) {
                     this.aLongArrayArrayArray2914[var5][var13][var9] = var14 | (long)(-88975437 * this.anInt2913) << 32;
                  } else if((var14 & -281474976710656L) == 0L) {
                     this.aLongArrayArrayArray2914[var5][var13][var9] = var14 | (long)(-88975437 * this.anInt2913) << 48;
                  }
               }
            }
         }

      }
   }

   static final void method4324(Class508 var0, int var1) {
      int var2 = var0.anIntArray6027[(var0.anInt6003 -= 98312473) * -937710807];
      Class225_Sub14_Sub15 var3 = Class304.aClass243_3879.method4370(var2, (short)-3559);
      if(null == var3.anIntArray10568) {
         if(var1 >= 789365084) {
            ;
         }

         var0.anIntArray6027[(var0.anInt6003 += 98312473) * -937710807 - 1] = 0;
      } else {
         var0.anIntArray6027[(var0.anInt6003 += 98312473) * -937710807 - 1] = var3.anIntArray10568.length;
      }

   }

   static final void method4325(Class508 var0, int var1) {
      var0.anInt6003 -= 294937419;
      int var2 = var0.anIntArray6027[var0.anInt6003 * -937710807];
      int var3 = var0.anIntArray6027[var0.anInt6003 * -937710807 + 1];
      int var4 = var0.anIntArray6027[2 + var0.anInt6003 * -937710807];
      Class557.method11890(6, var2 << 16 | var3, var4, "", 1120430805);
   }

   static final void method4326(Class508 var0, byte var1) {
      int var2 = var0.anIntArray6027[(var0.anInt6003 -= 98312473) * -937710807];
      Class124 var3 = Class97.method1903(var2, -2027967422);
      var0.anIntArray6027[(var0.anInt6003 += 98312473) * -937710807 - 1] = 801863387 * var3.anInt1405;
   }

   static final void method4327(Class508 var0, int var1) {
      var0.anInt6003 -= 196624946;
      int var2 = var0.anIntArray6027[-937710807 * var0.anInt6003];
      int var3 = var0.anIntArray6027[-937710807 * var0.anInt6003 + 1];
      Class401 var4 = Class30.aClass389_367.method6674(var3, -1737472087);
      if(var4.method6815(1249834075)) {
         var0.anObjectArray6004[(var0.anInt6005 += -46848683) * 639741949 - 1] = Class225_Sub21_Sub2.aClass555_10072.method11836(var2, 1982980101).method12039(var3, var4.aString4913, -940213734);
      } else {
         var0.anIntArray6027[(var0.anInt6003 += 98312473) * -937710807 - 1] = Class225_Sub21_Sub2.aClass555_10072.method11836(var2, 264425656).method12030(var3, var4.anInt4914 * 1326753823, 148636357);
      }

   }

   public static void method4328(int var0, int var1, boolean var2, byte var3) {
      if(Class489.aClass423_5910.method7211((long)var0) == null) {
         if(var3 <= 1) {
            ;
         }

         if(!client.aBool7718) {
            if(var3 <= 1) {
               return;
            }

            Class371.method6512(var0, var2, (short)20480);
         } else {
            Class225_Sub2 var4 = new Class225_Sub2(var0, new Class221_Sub1(4096, Class389.aClass253_4848, var0), var1, var2);
            var4.aClass221_Sub1_8365.method3808(Class498.aClass470_5944.method7893((byte)18), 320014375);
            Class489.aClass423_5910.method7206(var4, (long)var0);
         }
      }

   }

   static void method4329(int var0, int var1, int var2, int var3, int var4, int var5, Class469 var6, int var7) {
      Class225_Sub33 var8 = null;

      for(Class225_Sub33 var9 = (Class225_Sub33)Class225_Sub33.aClass456_8686.method7682((byte)9); null != var9; var9 = (Class225_Sub33)Class225_Sub33.aClass456_8686.method7666(-2103123794)) {
         if(-361397125 * var9.anInt8680 == var0 && var1 == -1580217823 * var9.anInt8674 && var2 == 600703327 * var9.anInt8685 && var3 == var9.anInt8677 * 1182541237) {
            var8 = var9;
            break;
         }
      }

      if(null == var8) {
         var8 = new Class225_Sub33();
         var8.anInt8680 = 734640819 * var0;
         var8.anInt8677 = -1938464611 * var3;
         var8.anInt8674 = 1151220193 * var1;
         var8.anInt8685 = -234448225 * var2;
         Class225_Sub33.aClass456_8686.method7712(var8, (byte)26);
      }

      var8.anInt8679 = 1497864451 * var4;
      var8.anInt8675 = -649398499 * var5;
      var8.aClass469_8682 = var6;
      var8.aBool8683 = true;
      var8.aBool8684 = false;
   }
}
