
public class Class236 {

   int anInt2796;
   float[] aFloatArray2797 = new float[3];
   boolean aBool2798 = false;
   static final float aFloat2799 = 3.0F;
   static final int anInt2800 = 101;
   Class241 aClass241_2801;
   public boolean aBool2802 = true;
   boolean aBool2803 = true;
   Class240[] aClass240Array2804;
   int anInt2805;
   int[] anIntArray2806;
   int anInt2807;
   Class240[] aClass240Array2808;
   int anInt2809;
   int[][][] anIntArrayArrayArray2810;
   int anInt2811;
   Class240[] aClass240Array2812;
   int anInt2813 = 0;
   Class240[] aClass240Array2814;
   boolean aBool2815 = true;
   int[] anIntArray2816;
   int[] anIntArray2817;
   int[] anIntArray2818;
   int[] anIntArray2819;
   int[] anIntArray2820;
   static Class545 aClass545_2821;
   static final int anInt2822 = 10;
   int[] anIntArray2823 = new int[2];
   int anInt2824 = -1;
   int anInt2825 = -1;
   Class238 aClass238_2826;


   boolean method4076(Class240 var1, int var2) {
      if(!this.method4085(var1.anIntArray2843[var2], var1.anIntArray2854[var2], var1.anIntArray2855[var2])) {
         return false;
      } else {
         var1.aShortArray2850[var2] = (short)((int)this.aFloatArray2797[0]);
         var1.aShortArray2857[var2] = (short)((int)this.aFloatArray2797[1]);
         var1.aShortArray2858[var2] = (short)((int)this.aFloatArray2797[2]);
         return true;
      }
   }

   public void method4077(int var1, int var2, int var3, int var4, int var5, int var6) {
      if(var1 != 8 && var1 != 16) {
         Class572 var13 = this.aClass241_2801.aClass572ArrayArrayArray2868[var2][var3][var4];
         if(var13 == null) {
            this.aClass241_2801.aClass572ArrayArrayArray2868[var2][var3][var4] = var13 = new Class572(var2);
         }

         if(var1 == 1) {
            var13.aShort7579 = (short)var5;
            var13.aShort7587 = (short)var6;
         } else if(var1 == 2) {
            var13.aShort7588 = (short)var5;
            var13.aShort7576 = (short)var6;
         }

         if(this.aBool2798) {
            this.method4080();
         }
      } else {
         int var7;
         int var8;
         int var9;
         int var10;
         int var11;
         int var12;
         if(var1 == 8) {
            var7 = var3 << this.aClass241_2801.anInt2860 * 1261520001;
            var8 = var7 + this.aClass241_2801.anInt2861 * -156805669;
            var9 = var4 << this.aClass241_2801.anInt2860 * 1261520001;
            var10 = var9 + this.aClass241_2801.anInt2861 * -156805669;
            var11 = this.aClass241_2801.aClass400Array2867[var2].method6789(var3, var4, (byte)3);
            var12 = this.aClass241_2801.aClass400Array2867[var2].method6789(var3 + 1, var4 + 1, (byte)3);
            this.aClass240Array2812[this.anInt2811++] = new Class240(this.aClass241_2801, var1, var2, var7, var8, var8, var7, var11, var12, var12 - var5, var11 - var5, var9, var10, var10, var9);
         } else {
            var7 = (var3 << this.aClass241_2801.anInt2860 * 1261520001) + this.aClass241_2801.anInt2861 * -156805669;
            var8 = var7 - this.aClass241_2801.anInt2861 * -156805669;
            var9 = var4 << this.aClass241_2801.anInt2860 * 1261520001;
            var10 = var9 + this.aClass241_2801.anInt2861 * -156805669;
            var11 = this.aClass241_2801.aClass400Array2867[var2].method6789(var3 + 1, var4, (byte)3);
            var12 = this.aClass241_2801.aClass400Array2867[var2].method6789(var3, var4 + 1, (byte)3);
            this.aClass240Array2812[this.anInt2811++] = new Class240(this.aClass241_2801, var1, var2, var7, var8, var8, var7, var11, var12, var12 - var5, var11 - var5, var9, var10, var10, var9);
         }
      }

   }

   public void method4078(int var1, int var2, int var3, int var4) {
      if(var1 != 8 && var1 != 16) {
         Class572 var7 = this.aClass241_2801.aClass572ArrayArrayArray2868[var2][var3][var4];
         if(var7 != null) {
            if(var1 == 1) {
               var7.aShort7579 = 0;
            } else if(var1 == 2) {
               var7.aShort7588 = 0;
            }
         }

         this.method4080();
      } else {
         for(int var5 = 0; var5 < this.anInt2811; ++var5) {
            Class240 var6 = this.aClass240Array2812[var5];
            if(var6.aByte2847 == var1 && var6.aByte2848 == var2 && (var6.aShort2849 == var3 && var6.aShort2851 == var4 || var6.aShort2856 == var3 && var6.aShort2842 == var4)) {
               if(var5 != this.anInt2811) {
                  System.arraycopy(this.aClass240Array2812, var5 + 1, this.aClass240Array2812, var5, this.aClass240Array2812.length - (var5 + 1));
               }

               --this.anInt2811;
               return;
            }
         }
      }

   }

   public void method4079() {
      this.method4080();
   }

   void method4080() {
      int var1;
      for(var1 = 0; var1 < this.anInt2809; ++var1) {
         this.aClass240Array2804[var1] = null;
      }

      this.anInt2809 = 0;

      int var2;
      int var3;
      Class572 var4;
      for(var1 = 0; var1 < this.aClass241_2801.anInt2869 * -716645769; ++var1) {
         for(var2 = 0; var2 < this.aClass241_2801.anInt2870 * -648719443; ++var2) {
            for(var3 = 0; var3 < this.aClass241_2801.anInt2885 * 1301377571; ++var3) {
               var4 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var2];
               if(var4 != null) {
                  if(var4.aShort7579 > 0) {
                     var4.aShort7579 = (short)(var4.aShort7579 * -1);
                  }

                  if(var4.aShort7588 > 0) {
                     var4.aShort7588 = (short)(var4.aShort7588 * -1);
                  }
               }
            }
         }
      }

      for(var1 = 0; var1 < this.aClass241_2801.anInt2869 * -716645769; ++var1) {
         for(var2 = 0; var2 < this.aClass241_2801.anInt2870 * -648719443; ++var2) {
            for(var3 = 0; var3 < this.aClass241_2801.anInt2885 * 1301377571; ++var3) {
               var4 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var2];
               if(var4 != null) {
                  boolean var5 = this.aClass241_2801.aClass572ArrayArrayArray2868[0][var3][var2] != null && this.aClass241_2801.aClass572ArrayArrayArray2868[0][var3][var2].aClass572_7577 != null;
                  int var6;
                  int var7;
                  int var9;
                  Class572 var10;
                  int var11;
                  int var12;
                  int var13;
                  int var14;
                  int var15;
                  int var17;
                  int var16;
                  int var19;
                  int var18;
                  int var21;
                  int var20;
                  if(var4.aShort7579 < 0) {
                     var6 = var2;
                     var7 = var2;
                     var9 = var1;
                     var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var2 - 1];

                     for(var11 = this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var2, (byte)3); var6 > 0 && var10 != null && var10.aShort7579 < 0 && var10.aShort7579 == var4.aShort7579 && var10.aShort7587 == var4.aShort7587 && var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var6 - 1, (byte)3) && (var6 - 1 <= 0 || var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var6 - 2, (byte)3)) && var7 - var6 <= 10; var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var6 - 1]) {
                        --var6;
                     }

                     for(var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var7 + 1]; var7 < this.aClass241_2801.anInt2885 * 1301377571 && var10 != null && var10.aShort7579 < 0 && var10.aShort7579 == var4.aShort7579 && var10.aShort7587 == var4.aShort7587 && var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var7 + 1, (byte)3) && (var7 + 1 >= this.aClass241_2801.anInt2885 * 1301377571 || var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var7 + 2, (byte)3)) && var7 - var6 <= 10; var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var7 + 1]) {
                        ++var7;
                     }

                     var12 = var1 - var1 + 1;
                     var13 = this.aClass241_2801.aClass400Array2867[var5?var1 + 1:var1].method6789(var3, var6, (byte)3);
                     var14 = var13 + var4.aShort7579 * var12;
                     var15 = this.aClass241_2801.aClass400Array2867[var5?var1 + 1:var1].method6789(var3, var7 + 1, (byte)3);
                     var16 = var15 + var4.aShort7579 * var12;
                     var17 = var3 << this.aClass241_2801.anInt2860 * 1261520001;
                     var18 = var6 << this.aClass241_2801.anInt2860 * 1261520001;
                     var19 = (var7 << this.aClass241_2801.anInt2860 * 1261520001) + this.aClass241_2801.anInt2861 * -156805669;
                     this.aClass240Array2804[this.anInt2809++] = new Class240(this.aClass241_2801, 1, var1, var17 + var4.aShort7587, var17 + var4.aShort7587, var17 + var4.aShort7587, var17 + var4.aShort7587, var13, var15, var16, var14, var18, var19, var19, var18);

                     for(var20 = var1; var20 <= var9; ++var20) {
                        for(var21 = var6; var21 <= var7; ++var21) {
                           this.aClass241_2801.aClass572ArrayArrayArray2868[var20][var3][var21].aShort7579 = (short)(this.aClass241_2801.aClass572ArrayArrayArray2868[var20][var3][var21].aShort7579 * -1);
                        }
                     }
                  }

                  if(var4.aShort7588 < 0) {
                     var6 = var3;
                     var7 = var3;
                     var9 = var1;
                     var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3 - 1][var2];

                     for(var11 = this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var2, (byte)3); var6 > 0 && var10 != null && var10.aShort7588 < 0 && var10.aShort7588 == var4.aShort7588 && var10.aShort7576 == var4.aShort7576 && var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var6 - 1, var2, (byte)3) && (var6 - 1 <= 0 || var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var6 - 2, var2, (byte)3)) && var7 - var6 <= 10; var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var6 - 1][var2]) {
                        --var6;
                     }

                     for(var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var7 + 1][var2]; var7 < this.aClass241_2801.anInt2870 * -648719443 && var10 != null && var10.aShort7588 < 0 && var10.aShort7588 == var4.aShort7588 && var10.aShort7576 == var4.aShort7576 && var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var7 + 1, var2, (byte)3) && (var7 + 1 >= this.aClass241_2801.anInt2870 * -648719443 || var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var7 + 2, var2, (byte)3)) && var7 - var6 <= 10; var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var7 + 1][var2]) {
                        ++var7;
                     }

                     var12 = var1 - var1 + 1;
                     var13 = this.aClass241_2801.aClass400Array2867[var5?var1 + 1:var1].method6789(var6, var2, (byte)3);
                     var14 = var13 + var4.aShort7588 * var12;
                     var15 = this.aClass241_2801.aClass400Array2867[var5?var1 + 1:var1].method6789(var7 + 1, var2, (byte)3);
                     var16 = var15 + var4.aShort7588 * var12;
                     var17 = var6 << this.aClass241_2801.anInt2860 * 1261520001;
                     var18 = (var7 << this.aClass241_2801.anInt2860 * 1261520001) + this.aClass241_2801.anInt2861 * -156805669;
                     var19 = var2 << this.aClass241_2801.anInt2860 * 1261520001;
                     this.aClass240Array2804[this.anInt2809++] = new Class240(this.aClass241_2801, 2, var1, var17, var18, var18, var17, var13, var15, var16, var14, var19 + var4.aShort7576, var19 + var4.aShort7576, var19 + var4.aShort7576, var19 + var4.aShort7576);

                     for(var20 = var1; var20 <= var9; ++var20) {
                        for(var21 = var6; var21 <= var7; ++var21) {
                           this.aClass241_2801.aClass572ArrayArrayArray2868[var20][var21][var2].aShort7588 = (short)(this.aClass241_2801.aClass572ArrayArrayArray2868[var20][var21][var2].aShort7588 * -1);
                        }
                     }
                  }
               }
            }
         }
      }

      this.aBool2798 = true;
   }

   public void method4081(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) {
      this.aClass240Array2808[this.anInt2796++] = new Class240(this.aClass241_2801, var1, var2, var3, var4, var4, var3, var7, var8, var8, var7, var5, var5, var6, var6);
   }

   void method4082(Class545 var1, int var2) {
      aClass545_2821 = var1;
      if(this.aBool2802 && this.aBool2815) {
         if(this.aBool2803) {
            this.aClass241_2801.aClass420_2866.method7173(-565045669);
         }

         aClass545_2821.method11445(this.anIntArray2823);
         if(this.anInt2824 != (int)((float)this.anIntArray2823[0] / 3.0F) || this.anInt2825 != (int)((float)this.anIntArray2823[1] / 3.0F)) {
            this.anInt2824 = (int)((float)this.anIntArray2823[0] / 3.0F);
            this.anInt2825 = (int)((float)this.anIntArray2823[1] / 3.0F);
            this.anIntArray2820 = new int[this.anInt2824 * this.anInt2825];
         }

         this.anInt2813 = 0;

         int var3;
         for(var3 = 0; var3 < this.anInt2796; ++var3) {
            this.method4088(aClass545_2821, this.aClass240Array2808[var3], var2);
         }

         for(var3 = 0; var3 < this.anInt2809; ++var3) {
            this.method4088(aClass545_2821, this.aClass240Array2804[var3], var2);
         }

         for(var3 = 0; var3 < this.anInt2811; ++var3) {
            this.method4088(aClass545_2821, this.aClass240Array2812[var3], var2);
         }

         this.aClass238_2826.anInt2836 = 0;
         if(this.anInt2813 > 0) {
            var3 = this.anIntArray2820.length;
            int var4 = var3 - var3 & 7;

            int var5;
            for(var5 = 0; var5 < var4; this.anIntArray2820[var5++] = Integer.MAX_VALUE) {
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
            }

            while(var5 < var3) {
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
            }

            this.aClass238_2826.anInt2834 = 1;

            for(int var6 = 0; var6 < this.anInt2813; ++var6) {
               Class240 var7 = this.aClass240Array2814[var6];
               this.aClass238_2826.method4149(var7.aShortArray2857[0], var7.aShortArray2857[1], var7.aShortArray2857[3], var7.aShortArray2850[0], var7.aShortArray2850[1], var7.aShortArray2850[3], var7.aShortArray2858[0], var7.aShortArray2858[1], var7.aShortArray2858[3]);
               this.aClass238_2826.method4149(var7.aShortArray2857[1], var7.aShortArray2857[2], var7.aShortArray2857[3], var7.aShortArray2850[1], var7.aShortArray2850[2], var7.aShortArray2850[3], var7.aShortArray2858[1], var7.aShortArray2858[2], var7.aShortArray2858[3]);
            }

            this.aClass238_2826.anInt2834 = 2;
         }

         if(this.aBool2803) {
            this.aClass241_2801.aClass420_2866.method7173(-1556524797);
         }

      } else {
         this.anInt2813 = 0;
      }
   }

   void method4083(Class545 var1, Class240 var2, int var3) {
      aClass545_2821 = var1;
      int var4;
      if(this.anIntArray2806 != null && var2.aByte2848 >= var3) {
         for(var4 = 0; var4 < this.anIntArray2806.length; ++var4) {
            if(this.anIntArray2806[var4] != -1000000 && (var2.anIntArray2854[0] <= this.anIntArray2806[var4] || var2.anIntArray2854[1] <= this.anIntArray2806[var4] || var2.anIntArray2854[2] <= this.anIntArray2806[var4] || var2.anIntArray2854[3] <= this.anIntArray2806[var4]) && (var2.anIntArray2843[0] <= this.anIntArray2817[var4] || var2.anIntArray2843[1] <= this.anIntArray2817[var4] || var2.anIntArray2843[2] <= this.anIntArray2817[var4] || var2.anIntArray2843[3] <= this.anIntArray2817[var4]) && (var2.anIntArray2843[0] >= this.anIntArray2816[var4] || var2.anIntArray2843[1] >= this.anIntArray2816[var4] || var2.anIntArray2843[2] >= this.anIntArray2816[var4] || var2.anIntArray2843[3] >= this.anIntArray2816[var4]) && (var2.anIntArray2855[0] <= this.anIntArray2818[var4] || var2.anIntArray2855[1] <= this.anIntArray2818[var4] || var2.anIntArray2855[2] <= this.anIntArray2818[var4] || var2.anIntArray2855[3] <= this.anIntArray2818[var4]) && (var2.anIntArray2855[0] >= this.anIntArray2819[var4] || var2.anIntArray2855[1] >= this.anIntArray2819[var4] || var2.anIntArray2855[2] >= this.anIntArray2819[var4] || var2.anIntArray2855[3] >= this.anIntArray2819[var4])) {
               return;
            }
         }
      }

      boolean var16;
      int var5;
      int var13;
      float var15;
      if(var2.aByte2847 == 1) {
         var4 = var2.aShort2849 - this.aClass241_2801.anInt2896 * 463854619 + this.aClass241_2801.anInt2886 * -336014903;
         if(var4 >= 0 && var4 <= this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
            var5 = var2.aShort2851 - this.aClass241_2801.anInt2908 * 1686765659 + this.aClass241_2801.anInt2886 * -336014903;
            if(var5 < 0) {
               var5 = 0;
            } else if(var5 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
               return;
            }

            var13 = var2.aShort2842 - this.aClass241_2801.anInt2908 * 1686765659 + this.aClass241_2801.anInt2886 * -336014903;
            if(var13 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
               var13 = this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903;
            } else if(var13 < 0) {
               return;
            }

            var16 = false;

            while(var5 <= var13) {
               if(this.aClass241_2801.aBoolArrayArray2920[var4][var5++]) {
                  var16 = true;
                  break;
               }
            }

            if(var16) {
               var15 = (float)(this.aClass241_2801.anInt2898 * 1156093201 - var2.anIntArray2843[0]);
               if(var15 < 0.0F) {
                  var15 *= -1.0F;
               }

               if(var15 >= (float)this.anInt2807) {
                  if(this.method4076(var2, 0)) {
                     if(this.method4076(var2, 1)) {
                        if(this.method4076(var2, 2)) {
                           if(this.method4076(var2, 3)) {
                              this.aClass240Array2814[this.anInt2813++] = var2;
                           }
                        }
                     }
                  }
               }
            }
         }
      } else if(var2.aByte2847 == 2) {
         var4 = var2.aShort2851 - this.aClass241_2801.anInt2908 * 1686765659 + this.aClass241_2801.anInt2886 * -336014903;
         if(var4 >= 0 && var4 <= this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
            var5 = var2.aShort2849 - this.aClass241_2801.anInt2896 * 463854619 + this.aClass241_2801.anInt2886 * -336014903;
            if(var5 < 0) {
               var5 = 0;
            } else if(var5 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
               return;
            }

            var13 = var2.aShort2856 - this.aClass241_2801.anInt2896 * 463854619 + this.aClass241_2801.anInt2886 * -336014903;
            if(var13 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
               var13 = this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903;
            } else if(var13 < 0) {
               return;
            }

            var16 = false;

            while(var5 <= var13) {
               if(this.aClass241_2801.aBoolArrayArray2920[var5++][var4]) {
                  var16 = true;
                  break;
               }
            }

            if(var16) {
               var15 = (float)(this.aClass241_2801.anInt2877 * 1948949231 - var2.anIntArray2855[0]);
               if(var15 < 0.0F) {
                  var15 *= -1.0F;
               }

               if(var15 >= (float)this.anInt2807) {
                  if(this.method4076(var2, 0)) {
                     if(this.method4076(var2, 1)) {
                        if(this.method4076(var2, 2)) {
                           if(this.method4076(var2, 3)) {
                              this.aClass240Array2814[this.anInt2813++] = var2;
                           }
                        }
                     }
                  }
               }
            }
         }
      } else if(var2.aByte2847 != 16 && var2.aByte2847 != 8) {
         if(var2.aByte2847 == 4) {
            float var12 = (float)(var2.anIntArray2854[0] - this.aClass241_2801.anInt2900 * 1280331549);
            if(var12 > (float)this.anInt2805) {
               var5 = var2.aShort2851 - this.aClass241_2801.anInt2908 * 1686765659 + this.aClass241_2801.anInt2886 * -336014903;
               if(var5 < 0) {
                  var5 = 0;
               } else if(var5 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
                  return;
               }

               var13 = var2.aShort2842 - this.aClass241_2801.anInt2908 * 1686765659 + this.aClass241_2801.anInt2886 * -336014903;
               if(var13 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
                  var13 = this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903;
               } else if(var13 < 0) {
                  return;
               }

               int var14 = var2.aShort2849 - this.aClass241_2801.anInt2896 * 463854619 + this.aClass241_2801.anInt2886 * -336014903;
               if(var14 < 0) {
                  var14 = 0;
               } else if(var14 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
                  return;
               }

               int var8 = var2.aShort2856 - this.aClass241_2801.anInt2896 * 463854619 + this.aClass241_2801.anInt2886 * -336014903;
               if(var8 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
                  var8 = this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903;
               } else if(var8 < 0) {
                  return;
               }

               boolean var9 = false;

               label281:
               for(int var10 = var14; var10 <= var8; ++var10) {
                  for(int var11 = var5; var11 <= var13; ++var11) {
                     if(this.aClass241_2801.aBoolArrayArray2920[var10][var11]) {
                        var9 = true;
                        break label281;
                     }
                  }
               }

               if(var9) {
                  if(this.method4076(var2, 0)) {
                     if(this.method4076(var2, 1)) {
                        if(this.method4076(var2, 2)) {
                           if(this.method4076(var2, 3)) {
                              this.aClass240Array2814[this.anInt2813++] = var2;
                           }
                        }
                     }
                  }
               }
            }
         }
      } else {
         var4 = var2.aShort2849 - this.aClass241_2801.anInt2896 * 463854619 + this.aClass241_2801.anInt2886 * -336014903;
         if(var4 >= 0 && var4 <= this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
            var5 = var2.aShort2851 - this.aClass241_2801.anInt2908 * 1686765659 + this.aClass241_2801.anInt2886 * -336014903;
            if(var5 >= 0 && var5 <= this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
               if(this.aClass241_2801.aBoolArrayArray2920[var4][var5]) {
                  float var6 = (float)(this.aClass241_2801.anInt2898 * 1156093201 - var2.anIntArray2843[0]);
                  if(var6 < 0.0F) {
                     var6 *= -1.0F;
                  }

                  float var7 = (float)(this.aClass241_2801.anInt2877 * 1948949231 - var2.anIntArray2855[0]);
                  if(var7 < 0.0F) {
                     var7 *= -1.0F;
                  }

                  if(var6 >= (float)this.anInt2807 || var7 >= (float)this.anInt2807) {
                     if(this.method4076(var2, 0)) {
                        if(this.method4076(var2, 1)) {
                           if(this.method4076(var2, 2)) {
                              if(this.method4076(var2, 3)) {
                                 this.aClass240Array2814[this.anInt2813++] = var2;
                              }
                           }
                        }
                     }
                  }
               }
            }
         }
      }
   }

   boolean method4084(int var1, int var2, int var3, int var4, int var5, Class571 var6) {
      if(this.aBool2802 && this.aBool2815) {
         if(this.aClass238_2826.anInt2836 < 101) {
            return false;
         } else if(var2 == var3 && var4 == var5) {
            return !this.method4109(var1, var2, var4)?false:this.method4090(var6);
         } else {
            for(int var7 = var2; var7 <= var3; ++var7) {
               for(int var8 = var4; var8 <= var5; ++var8) {
                  if(this.anIntArrayArrayArray2810[var1][var7][var8] == -(this.aClass241_2801.anInt2901 * 1790821897)) {
                     return false;
                  }
               }
            }

            if(!this.method4090(var6)) {
               return false;
            } else {
               return true;
            }
         }
      } else {
         return false;
      }
   }

   final boolean method4085(int var1, int var2, int var3) {
      aClass545_2821.method11650((float)var1, (float)var2, (float)var3, this.aFloatArray2797);
      if(this.aFloatArray2797[2] < 50.0F) {
         return false;
      } else {
         this.aFloatArray2797[0] /= 3.0F;
         this.aFloatArray2797[1] /= 3.0F;
         return true;
      }
   }

   final boolean method4086(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) {
      if(!this.method4085(var1, var2, var3)) {
         return false;
      } else {
         var1 = (int)this.aFloatArray2797[0];
         var2 = (int)this.aFloatArray2797[1];
         var3 = (int)this.aFloatArray2797[2];
         if(!this.method4085(var4, var5, var6)) {
            return false;
         } else {
            var4 = (int)this.aFloatArray2797[0];
            var5 = (int)this.aFloatArray2797[1];
            var6 = (int)this.aFloatArray2797[2];
            if(!this.method4085(var7, var8, var9)) {
               return false;
            } else {
               var7 = (int)this.aFloatArray2797[0];
               var8 = (int)this.aFloatArray2797[1];
               var9 = (int)this.aFloatArray2797[2];
               return this.aClass238_2826.method4149(var2, var5, var8, var1, var4, var7, var3, var6, var9);
            }
         }
      }
   }

   boolean method4087(Class515_Sub1_Sub3 var1, int var2, int var3, int var4) {
      if(this.aBool2802 && this.aBool2815) {
         if(this.aClass238_2826.anInt2836 < 101) {
            return false;
         } else if(!this.method4109(var2, var3, var4)) {
            return false;
         } else {
            int var5 = var3 << this.aClass241_2801.anInt2860 * 1261520001;
            int var6 = var4 << this.aClass241_2801.anInt2860 * 1261520001;
            int var7 = this.aClass241_2801.aClass400Array2859[var2].method6789(var3, var4, (byte)3) - 1;
            int var8 = var7 + var1.method13404((byte)28);
            return var1.aShort10417 == 1?(!this.method4092(var5, var7, var6, var5, var8, var6, var5, var8, var6 + this.aClass241_2801.anInt2861 * -156805669)?false:this.method4092(var5, var7, var6, var5, var8, var6 + this.aClass241_2801.anInt2861 * -156805669, var5, var7, var6 + this.aClass241_2801.anInt2861 * -156805669)):(var1.aShort10417 == 2?(!this.method4092(var5, var7, var6 + this.aClass241_2801.anInt2861 * -156805669, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6 + this.aClass241_2801.anInt2861 * -156805669, var5, var8, var6 + this.aClass241_2801.anInt2861 * -156805669)?false:this.method4092(var5, var7, var6 + this.aClass241_2801.anInt2861 * -156805669, var5 + this.aClass241_2801.anInt2861 * -156805669, var7, var6 + this.aClass241_2801.anInt2861 * -156805669, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6 + this.aClass241_2801.anInt2861 * -156805669)):(var1.aShort10417 == 4?(!this.method4092(var5 + this.aClass241_2801.anInt2861 * -156805669, var7, var6, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6 + this.aClass241_2801.anInt2861 * -156805669)?false:this.method4092(var5 + this.aClass241_2801.anInt2861 * -156805669, var7, var6, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6 + this.aClass241_2801.anInt2861 * -156805669, var5 + this.aClass241_2801.anInt2861 * -156805669, var7, var6 + this.aClass241_2801.anInt2861 * -156805669)):(var1.aShort10417 == 8?(!this.method4092(var5, var7, var6, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6, var5, var8, var6)?false:this.method4092(var5, var7, var6, var5 + this.aClass241_2801.anInt2861 * -156805669, var7, var6, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6)):(var1.aShort10417 == 16?this.method4091(var5, var7, var6 + this.aClass241_2801.anInt2862 * -261294229, this.aClass241_2801.anInt2862 * -261294229, var8, this.aClass241_2801.anInt2862 * -261294229):(var1.aShort10417 == 32?this.method4091(var5 + this.aClass241_2801.anInt2862 * -261294229, var7, var6 + this.aClass241_2801.anInt2862 * -261294229, this.aClass241_2801.anInt2862 * -261294229, var8, this.aClass241_2801.anInt2862 * -261294229):(var1.aShort10417 == 64?this.method4091(var5 + this.aClass241_2801.anInt2862 * -261294229, var7, var6, this.aClass241_2801.anInt2862 * -261294229, var8, this.aClass241_2801.anInt2862 * -261294229):(var1.aShort10417 == 128?this.method4091(var5, var7, var6, this.aClass241_2801.anInt2862 * -261294229, var8, this.aClass241_2801.anInt2862 * -261294229):true)))))));
         }
      } else {
         return false;
      }
   }

   void method4088(Class545 var1, Class240 var2, int var3) {
      aClass545_2821 = var1;
      int var4;
      if(this.anIntArray2806 != null && var2.aByte2848 >= var3) {
         for(var4 = 0; var4 < this.anIntArray2806.length; ++var4) {
            if(this.anIntArray2806[var4] != -1000000 && (var2.anIntArray2854[0] <= this.anIntArray2806[var4] || var2.anIntArray2854[1] <= this.anIntArray2806[var4] || var2.anIntArray2854[2] <= this.anIntArray2806[var4] || var2.anIntArray2854[3] <= this.anIntArray2806[var4]) && (var2.anIntArray2843[0] <= this.anIntArray2817[var4] || var2.anIntArray2843[1] <= this.anIntArray2817[var4] || var2.anIntArray2843[2] <= this.anIntArray2817[var4] || var2.anIntArray2843[3] <= this.anIntArray2817[var4]) && (var2.anIntArray2843[0] >= this.anIntArray2816[var4] || var2.anIntArray2843[1] >= this.anIntArray2816[var4] || var2.anIntArray2843[2] >= this.anIntArray2816[var4] || var2.anIntArray2843[3] >= this.anIntArray2816[var4]) && (var2.anIntArray2855[0] <= this.anIntArray2818[var4] || var2.anIntArray2855[1] <= this.anIntArray2818[var4] || var2.anIntArray2855[2] <= this.anIntArray2818[var4] || var2.anIntArray2855[3] <= this.anIntArray2818[var4]) && (var2.anIntArray2855[0] >= this.anIntArray2819[var4] || var2.anIntArray2855[1] >= this.anIntArray2819[var4] || var2.anIntArray2855[2] >= this.anIntArray2819[var4] || var2.anIntArray2855[3] >= this.anIntArray2819[var4])) {
               return;
            }
         }
      }

      boolean var16;
      int var5;
      int var13;
      float var15;
      if(var2.aByte2847 == 1) {
         var4 = var2.aShort2849 - this.aClass241_2801.anInt2896 * 463854619 + this.aClass241_2801.anInt2886 * -336014903;
         if(var4 >= 0 && var4 <= this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
            var5 = var2.aShort2851 - this.aClass241_2801.anInt2908 * 1686765659 + this.aClass241_2801.anInt2886 * -336014903;
            if(var5 < 0) {
               var5 = 0;
            } else if(var5 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
               return;
            }

            var13 = var2.aShort2842 - this.aClass241_2801.anInt2908 * 1686765659 + this.aClass241_2801.anInt2886 * -336014903;
            if(var13 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
               var13 = this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903;
            } else if(var13 < 0) {
               return;
            }

            var16 = false;

            while(var5 <= var13) {
               if(this.aClass241_2801.aBoolArrayArray2920[var4][var5++]) {
                  var16 = true;
                  break;
               }
            }

            if(var16) {
               var15 = (float)(this.aClass241_2801.anInt2898 * 1156093201 - var2.anIntArray2843[0]);
               if(var15 < 0.0F) {
                  var15 *= -1.0F;
               }

               if(var15 >= (float)this.anInt2807) {
                  if(this.method4076(var2, 0)) {
                     if(this.method4076(var2, 1)) {
                        if(this.method4076(var2, 2)) {
                           if(this.method4076(var2, 3)) {
                              this.aClass240Array2814[this.anInt2813++] = var2;
                           }
                        }
                     }
                  }
               }
            }
         }
      } else if(var2.aByte2847 == 2) {
         var4 = var2.aShort2851 - this.aClass241_2801.anInt2908 * 1686765659 + this.aClass241_2801.anInt2886 * -336014903;
         if(var4 >= 0 && var4 <= this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
            var5 = var2.aShort2849 - this.aClass241_2801.anInt2896 * 463854619 + this.aClass241_2801.anInt2886 * -336014903;
            if(var5 < 0) {
               var5 = 0;
            } else if(var5 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
               return;
            }

            var13 = var2.aShort2856 - this.aClass241_2801.anInt2896 * 463854619 + this.aClass241_2801.anInt2886 * -336014903;
            if(var13 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
               var13 = this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903;
            } else if(var13 < 0) {
               return;
            }

            var16 = false;

            while(var5 <= var13) {
               if(this.aClass241_2801.aBoolArrayArray2920[var5++][var4]) {
                  var16 = true;
                  break;
               }
            }

            if(var16) {
               var15 = (float)(this.aClass241_2801.anInt2877 * 1948949231 - var2.anIntArray2855[0]);
               if(var15 < 0.0F) {
                  var15 *= -1.0F;
               }

               if(var15 >= (float)this.anInt2807) {
                  if(this.method4076(var2, 0)) {
                     if(this.method4076(var2, 1)) {
                        if(this.method4076(var2, 2)) {
                           if(this.method4076(var2, 3)) {
                              this.aClass240Array2814[this.anInt2813++] = var2;
                           }
                        }
                     }
                  }
               }
            }
         }
      } else if(var2.aByte2847 != 16 && var2.aByte2847 != 8) {
         if(var2.aByte2847 == 4) {
            float var12 = (float)(var2.anIntArray2854[0] - this.aClass241_2801.anInt2900 * 1280331549);
            if(var12 > (float)this.anInt2805) {
               var5 = var2.aShort2851 - this.aClass241_2801.anInt2908 * 1686765659 + this.aClass241_2801.anInt2886 * -336014903;
               if(var5 < 0) {
                  var5 = 0;
               } else if(var5 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
                  return;
               }

               var13 = var2.aShort2842 - this.aClass241_2801.anInt2908 * 1686765659 + this.aClass241_2801.anInt2886 * -336014903;
               if(var13 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
                  var13 = this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903;
               } else if(var13 < 0) {
                  return;
               }

               int var14 = var2.aShort2849 - this.aClass241_2801.anInt2896 * 463854619 + this.aClass241_2801.anInt2886 * -336014903;
               if(var14 < 0) {
                  var14 = 0;
               } else if(var14 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
                  return;
               }

               int var8 = var2.aShort2856 - this.aClass241_2801.anInt2896 * 463854619 + this.aClass241_2801.anInt2886 * -336014903;
               if(var8 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
                  var8 = this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903;
               } else if(var8 < 0) {
                  return;
               }

               boolean var9 = false;

               label281:
               for(int var10 = var14; var10 <= var8; ++var10) {
                  for(int var11 = var5; var11 <= var13; ++var11) {
                     if(this.aClass241_2801.aBoolArrayArray2920[var10][var11]) {
                        var9 = true;
                        break label281;
                     }
                  }
               }

               if(var9) {
                  if(this.method4076(var2, 0)) {
                     if(this.method4076(var2, 1)) {
                        if(this.method4076(var2, 2)) {
                           if(this.method4076(var2, 3)) {
                              this.aClass240Array2814[this.anInt2813++] = var2;
                           }
                        }
                     }
                  }
               }
            }
         }
      } else {
         var4 = var2.aShort2849 - this.aClass241_2801.anInt2896 * 463854619 + this.aClass241_2801.anInt2886 * -336014903;
         if(var4 >= 0 && var4 <= this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
            var5 = var2.aShort2851 - this.aClass241_2801.anInt2908 * 1686765659 + this.aClass241_2801.anInt2886 * -336014903;
            if(var5 >= 0 && var5 <= this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
               if(this.aClass241_2801.aBoolArrayArray2920[var4][var5]) {
                  float var6 = (float)(this.aClass241_2801.anInt2898 * 1156093201 - var2.anIntArray2843[0]);
                  if(var6 < 0.0F) {
                     var6 *= -1.0F;
                  }

                  float var7 = (float)(this.aClass241_2801.anInt2877 * 1948949231 - var2.anIntArray2855[0]);
                  if(var7 < 0.0F) {
                     var7 *= -1.0F;
                  }

                  if(var6 >= (float)this.anInt2807 || var7 >= (float)this.anInt2807) {
                     if(this.method4076(var2, 0)) {
                        if(this.method4076(var2, 1)) {
                           if(this.method4076(var2, 2)) {
                              if(this.method4076(var2, 3)) {
                                 this.aClass240Array2814[this.anInt2813++] = var2;
                              }
                           }
                        }
                     }
                  }
               }
            }
         }
      }
   }

   public void method4089(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) {
      this.aClass240Array2808[this.anInt2796++] = new Class240(this.aClass241_2801, var1, var2, var3, var4, var4, var3, var7, var8, var8, var7, var5, var5, var6, var6);
   }

   final boolean method4090(Class571 var1) {
      return var1 == null?false:this.method4091(var1.anInt7570, var1.anInt7567, var1.anInt7572, var1.anInt7571 - var1.anInt7570, var1.anInt7574 - var1.anInt7567, var1.anInt7575 - var1.anInt7572);
   }

   final boolean method4091(int var1, int var2, int var3, int var4, int var5, int var6) {
      int var7 = var1 + var4;
      int var8 = var2 + var5;
      int var9 = var3 + var6;
      if(!this.method4092(var1, var8, var3, var7, var8, var9, var1, var8, var9)) {
         return false;
      } else if(!this.method4092(var1, var8, var3, var7, var8, var3, var7, var8, var9)) {
         return false;
      } else {
         if(var1 < this.aClass241_2801.anInt2898 * 1156093201) {
            if(!this.method4092(var1, var2, var9, var1, var8, var3, var1, var8, var9)) {
               return false;
            }

            if(!this.method4092(var1, var2, var9, var1, var2, var3, var1, var8, var3)) {
               return false;
            }
         } else {
            if(!this.method4092(var7, var2, var9, var7, var8, var3, var7, var8, var9)) {
               return false;
            }

            if(!this.method4092(var7, var2, var9, var7, var2, var3, var7, var8, var3)) {
               return false;
            }
         }

         if(var3 < this.aClass241_2801.anInt2877 * 1948949231) {
            if(!this.method4092(var1, var2, var3, var7, var8, var3, var1, var8, var3)) {
               return false;
            }

            if(!this.method4092(var1, var2, var3, var7, var2, var3, var7, var8, var3)) {
               return false;
            }
         } else {
            if(!this.method4092(var1, var2, var9, var7, var8, var9, var1, var8, var9)) {
               return false;
            }

            if(!this.method4092(var1, var2, var9, var7, var2, var9, var7, var8, var9)) {
               return false;
            }
         }

         return true;
      }
   }

   final boolean method4092(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) {
      if(!this.method4085(var1, var2, var3)) {
         return false;
      } else {
         var1 = (int)this.aFloatArray2797[0];
         var2 = (int)this.aFloatArray2797[1];
         var3 = (int)this.aFloatArray2797[2];
         if(!this.method4085(var4, var5, var6)) {
            return false;
         } else {
            var4 = (int)this.aFloatArray2797[0];
            var5 = (int)this.aFloatArray2797[1];
            var6 = (int)this.aFloatArray2797[2];
            if(!this.method4085(var7, var8, var9)) {
               return false;
            } else {
               var7 = (int)this.aFloatArray2797[0];
               var8 = (int)this.aFloatArray2797[1];
               var9 = (int)this.aFloatArray2797[2];
               return this.aClass238_2826.method4149(var2, var5, var8, var1, var4, var7, var3, var6, var9);
            }
         }
      }
   }

   public void method4093(int var1, int var2, int var3, int var4, int var5, int var6) {
      if(var1 != 8 && var1 != 16) {
         Class572 var13 = this.aClass241_2801.aClass572ArrayArrayArray2868[var2][var3][var4];
         if(var13 == null) {
            this.aClass241_2801.aClass572ArrayArrayArray2868[var2][var3][var4] = var13 = new Class572(var2);
         }

         if(var1 == 1) {
            var13.aShort7579 = (short)var5;
            var13.aShort7587 = (short)var6;
         } else if(var1 == 2) {
            var13.aShort7588 = (short)var5;
            var13.aShort7576 = (short)var6;
         }

         if(this.aBool2798) {
            this.method4080();
         }
      } else {
         int var7;
         int var8;
         int var9;
         int var10;
         int var11;
         int var12;
         if(var1 == 8) {
            var7 = var3 << this.aClass241_2801.anInt2860 * 1261520001;
            var8 = var7 + this.aClass241_2801.anInt2861 * -156805669;
            var9 = var4 << this.aClass241_2801.anInt2860 * 1261520001;
            var10 = var9 + this.aClass241_2801.anInt2861 * -156805669;
            var11 = this.aClass241_2801.aClass400Array2867[var2].method6789(var3, var4, (byte)3);
            var12 = this.aClass241_2801.aClass400Array2867[var2].method6789(var3 + 1, var4 + 1, (byte)3);
            this.aClass240Array2812[this.anInt2811++] = new Class240(this.aClass241_2801, var1, var2, var7, var8, var8, var7, var11, var12, var12 - var5, var11 - var5, var9, var10, var10, var9);
         } else {
            var7 = (var3 << this.aClass241_2801.anInt2860 * 1261520001) + this.aClass241_2801.anInt2861 * -156805669;
            var8 = var7 - this.aClass241_2801.anInt2861 * -156805669;
            var9 = var4 << this.aClass241_2801.anInt2860 * 1261520001;
            var10 = var9 + this.aClass241_2801.anInt2861 * -156805669;
            var11 = this.aClass241_2801.aClass400Array2867[var2].method6789(var3 + 1, var4, (byte)3);
            var12 = this.aClass241_2801.aClass400Array2867[var2].method6789(var3, var4 + 1, (byte)3);
            this.aClass240Array2812[this.anInt2811++] = new Class240(this.aClass241_2801, var1, var2, var7, var8, var8, var7, var11, var12, var12 - var5, var11 - var5, var9, var10, var10, var9);
         }
      }

   }

   public void method4094(int var1, int var2, int var3, int var4) {
      if(var1 != 8 && var1 != 16) {
         Class572 var7 = this.aClass241_2801.aClass572ArrayArrayArray2868[var2][var3][var4];
         if(var7 != null) {
            if(var1 == 1) {
               var7.aShort7579 = 0;
            } else if(var1 == 2) {
               var7.aShort7588 = 0;
            }
         }

         this.method4080();
      } else {
         for(int var5 = 0; var5 < this.anInt2811; ++var5) {
            Class240 var6 = this.aClass240Array2812[var5];
            if(var6.aByte2847 == var1 && var6.aByte2848 == var2 && (var6.aShort2849 == var3 && var6.aShort2851 == var4 || var6.aShort2856 == var3 && var6.aShort2842 == var4)) {
               if(var5 != this.anInt2811) {
                  System.arraycopy(this.aClass240Array2812, var5 + 1, this.aClass240Array2812, var5, this.aClass240Array2812.length - (var5 + 1));
               }

               --this.anInt2811;
               return;
            }
         }
      }

   }

   public void method4095(int var1, int var2, int var3, int var4) {
      if(var1 != 8 && var1 != 16) {
         Class572 var7 = this.aClass241_2801.aClass572ArrayArrayArray2868[var2][var3][var4];
         if(var7 != null) {
            if(var1 == 1) {
               var7.aShort7579 = 0;
            } else if(var1 == 2) {
               var7.aShort7588 = 0;
            }
         }

         this.method4080();
      } else {
         for(int var5 = 0; var5 < this.anInt2811; ++var5) {
            Class240 var6 = this.aClass240Array2812[var5];
            if(var6.aByte2847 == var1 && var6.aByte2848 == var2 && (var6.aShort2849 == var3 && var6.aShort2851 == var4 || var6.aShort2856 == var3 && var6.aShort2842 == var4)) {
               if(var5 != this.anInt2811) {
                  System.arraycopy(this.aClass240Array2812, var5 + 1, this.aClass240Array2812, var5, this.aClass240Array2812.length - (var5 + 1));
               }

               --this.anInt2811;
               return;
            }
         }
      }

   }

   void method4096() {
      int var1;
      for(var1 = 0; var1 < this.anInt2809; ++var1) {
         this.aClass240Array2804[var1] = null;
      }

      this.anInt2809 = 0;

      int var2;
      int var3;
      Class572 var4;
      for(var1 = 0; var1 < this.aClass241_2801.anInt2869 * -716645769; ++var1) {
         for(var2 = 0; var2 < this.aClass241_2801.anInt2870 * -648719443; ++var2) {
            for(var3 = 0; var3 < this.aClass241_2801.anInt2885 * 1301377571; ++var3) {
               var4 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var2];
               if(var4 != null) {
                  if(var4.aShort7579 > 0) {
                     var4.aShort7579 = (short)(var4.aShort7579 * -1);
                  }

                  if(var4.aShort7588 > 0) {
                     var4.aShort7588 = (short)(var4.aShort7588 * -1);
                  }
               }
            }
         }
      }

      for(var1 = 0; var1 < this.aClass241_2801.anInt2869 * -716645769; ++var1) {
         for(var2 = 0; var2 < this.aClass241_2801.anInt2870 * -648719443; ++var2) {
            for(var3 = 0; var3 < this.aClass241_2801.anInt2885 * 1301377571; ++var3) {
               var4 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var2];
               if(var4 != null) {
                  boolean var5 = this.aClass241_2801.aClass572ArrayArrayArray2868[0][var3][var2] != null && this.aClass241_2801.aClass572ArrayArrayArray2868[0][var3][var2].aClass572_7577 != null;
                  int var6;
                  int var7;
                  int var9;
                  Class572 var10;
                  int var11;
                  int var12;
                  int var13;
                  int var14;
                  int var15;
                  int var17;
                  int var16;
                  int var19;
                  int var18;
                  int var21;
                  int var20;
                  if(var4.aShort7579 < 0) {
                     var6 = var2;
                     var7 = var2;
                     var9 = var1;
                     var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var2 - 1];

                     for(var11 = this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var2, (byte)3); var6 > 0 && var10 != null && var10.aShort7579 < 0 && var10.aShort7579 == var4.aShort7579 && var10.aShort7587 == var4.aShort7587 && var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var6 - 1, (byte)3) && (var6 - 1 <= 0 || var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var6 - 2, (byte)3)) && var7 - var6 <= 10; var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var6 - 1]) {
                        --var6;
                     }

                     for(var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var7 + 1]; var7 < this.aClass241_2801.anInt2885 * 1301377571 && var10 != null && var10.aShort7579 < 0 && var10.aShort7579 == var4.aShort7579 && var10.aShort7587 == var4.aShort7587 && var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var7 + 1, (byte)3) && (var7 + 1 >= this.aClass241_2801.anInt2885 * 1301377571 || var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var7 + 2, (byte)3)) && var7 - var6 <= 10; var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var7 + 1]) {
                        ++var7;
                     }

                     var12 = var1 - var1 + 1;
                     var13 = this.aClass241_2801.aClass400Array2867[var5?var1 + 1:var1].method6789(var3, var6, (byte)3);
                     var14 = var13 + var4.aShort7579 * var12;
                     var15 = this.aClass241_2801.aClass400Array2867[var5?var1 + 1:var1].method6789(var3, var7 + 1, (byte)3);
                     var16 = var15 + var4.aShort7579 * var12;
                     var17 = var3 << this.aClass241_2801.anInt2860 * 1261520001;
                     var18 = var6 << this.aClass241_2801.anInt2860 * 1261520001;
                     var19 = (var7 << this.aClass241_2801.anInt2860 * 1261520001) + this.aClass241_2801.anInt2861 * -156805669;
                     this.aClass240Array2804[this.anInt2809++] = new Class240(this.aClass241_2801, 1, var1, var17 + var4.aShort7587, var17 + var4.aShort7587, var17 + var4.aShort7587, var17 + var4.aShort7587, var13, var15, var16, var14, var18, var19, var19, var18);

                     for(var20 = var1; var20 <= var9; ++var20) {
                        for(var21 = var6; var21 <= var7; ++var21) {
                           this.aClass241_2801.aClass572ArrayArrayArray2868[var20][var3][var21].aShort7579 = (short)(this.aClass241_2801.aClass572ArrayArrayArray2868[var20][var3][var21].aShort7579 * -1);
                        }
                     }
                  }

                  if(var4.aShort7588 < 0) {
                     var6 = var3;
                     var7 = var3;
                     var9 = var1;
                     var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3 - 1][var2];

                     for(var11 = this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var2, (byte)3); var6 > 0 && var10 != null && var10.aShort7588 < 0 && var10.aShort7588 == var4.aShort7588 && var10.aShort7576 == var4.aShort7576 && var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var6 - 1, var2, (byte)3) && (var6 - 1 <= 0 || var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var6 - 2, var2, (byte)3)) && var7 - var6 <= 10; var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var6 - 1][var2]) {
                        --var6;
                     }

                     for(var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var7 + 1][var2]; var7 < this.aClass241_2801.anInt2870 * -648719443 && var10 != null && var10.aShort7588 < 0 && var10.aShort7588 == var4.aShort7588 && var10.aShort7576 == var4.aShort7576 && var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var7 + 1, var2, (byte)3) && (var7 + 1 >= this.aClass241_2801.anInt2870 * -648719443 || var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var7 + 2, var2, (byte)3)) && var7 - var6 <= 10; var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var7 + 1][var2]) {
                        ++var7;
                     }

                     var12 = var1 - var1 + 1;
                     var13 = this.aClass241_2801.aClass400Array2867[var5?var1 + 1:var1].method6789(var6, var2, (byte)3);
                     var14 = var13 + var4.aShort7588 * var12;
                     var15 = this.aClass241_2801.aClass400Array2867[var5?var1 + 1:var1].method6789(var7 + 1, var2, (byte)3);
                     var16 = var15 + var4.aShort7588 * var12;
                     var17 = var6 << this.aClass241_2801.anInt2860 * 1261520001;
                     var18 = (var7 << this.aClass241_2801.anInt2860 * 1261520001) + this.aClass241_2801.anInt2861 * -156805669;
                     var19 = var2 << this.aClass241_2801.anInt2860 * 1261520001;
                     this.aClass240Array2804[this.anInt2809++] = new Class240(this.aClass241_2801, 2, var1, var17, var18, var18, var17, var13, var15, var16, var14, var19 + var4.aShort7576, var19 + var4.aShort7576, var19 + var4.aShort7576, var19 + var4.aShort7576);

                     for(var20 = var1; var20 <= var9; ++var20) {
                        for(var21 = var6; var21 <= var7; ++var21) {
                           this.aClass241_2801.aClass572ArrayArrayArray2868[var20][var21][var2].aShort7588 = (short)(this.aClass241_2801.aClass572ArrayArrayArray2868[var20][var21][var2].aShort7588 * -1);
                        }
                     }
                  }
               }
            }
         }
      }

      this.aBool2798 = true;
   }

   boolean method4097(int var1, int var2, int var3, int var4, int var5, Class571 var6) {
      if(this.aBool2802 && this.aBool2815) {
         if(this.aClass238_2826.anInt2836 < 101) {
            return false;
         } else if(var2 == var3 && var4 == var5) {
            return !this.method4109(var1, var2, var4)?false:this.method4090(var6);
         } else {
            for(int var7 = var2; var7 <= var3; ++var7) {
               for(int var8 = var4; var8 <= var5; ++var8) {
                  if(this.anIntArrayArrayArray2810[var1][var7][var8] == -(this.aClass241_2801.anInt2901 * 1790821897)) {
                     return false;
                  }
               }
            }

            if(!this.method4090(var6)) {
               return false;
            } else {
               return true;
            }
         }
      } else {
         return false;
      }
   }

   void method4098() {
      int var1;
      for(var1 = 0; var1 < this.anInt2809; ++var1) {
         this.aClass240Array2804[var1] = null;
      }

      this.anInt2809 = 0;

      int var2;
      int var3;
      Class572 var4;
      for(var1 = 0; var1 < this.aClass241_2801.anInt2869 * -716645769; ++var1) {
         for(var2 = 0; var2 < this.aClass241_2801.anInt2870 * -648719443; ++var2) {
            for(var3 = 0; var3 < this.aClass241_2801.anInt2885 * 1301377571; ++var3) {
               var4 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var2];
               if(var4 != null) {
                  if(var4.aShort7579 > 0) {
                     var4.aShort7579 = (short)(var4.aShort7579 * -1);
                  }

                  if(var4.aShort7588 > 0) {
                     var4.aShort7588 = (short)(var4.aShort7588 * -1);
                  }
               }
            }
         }
      }

      for(var1 = 0; var1 < this.aClass241_2801.anInt2869 * -716645769; ++var1) {
         for(var2 = 0; var2 < this.aClass241_2801.anInt2870 * -648719443; ++var2) {
            for(var3 = 0; var3 < this.aClass241_2801.anInt2885 * 1301377571; ++var3) {
               var4 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var2];
               if(var4 != null) {
                  boolean var5 = this.aClass241_2801.aClass572ArrayArrayArray2868[0][var3][var2] != null && this.aClass241_2801.aClass572ArrayArrayArray2868[0][var3][var2].aClass572_7577 != null;
                  int var6;
                  int var7;
                  int var9;
                  Class572 var10;
                  int var11;
                  int var12;
                  int var13;
                  int var14;
                  int var15;
                  int var17;
                  int var16;
                  int var19;
                  int var18;
                  int var21;
                  int var20;
                  if(var4.aShort7579 < 0) {
                     var6 = var2;
                     var7 = var2;
                     var9 = var1;
                     var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var2 - 1];

                     for(var11 = this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var2, (byte)3); var6 > 0 && var10 != null && var10.aShort7579 < 0 && var10.aShort7579 == var4.aShort7579 && var10.aShort7587 == var4.aShort7587 && var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var6 - 1, (byte)3) && (var6 - 1 <= 0 || var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var6 - 2, (byte)3)) && var7 - var6 <= 10; var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var6 - 1]) {
                        --var6;
                     }

                     for(var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var7 + 1]; var7 < this.aClass241_2801.anInt2885 * 1301377571 && var10 != null && var10.aShort7579 < 0 && var10.aShort7579 == var4.aShort7579 && var10.aShort7587 == var4.aShort7587 && var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var7 + 1, (byte)3) && (var7 + 1 >= this.aClass241_2801.anInt2885 * 1301377571 || var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var7 + 2, (byte)3)) && var7 - var6 <= 10; var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var7 + 1]) {
                        ++var7;
                     }

                     var12 = var1 - var1 + 1;
                     var13 = this.aClass241_2801.aClass400Array2867[var5?var1 + 1:var1].method6789(var3, var6, (byte)3);
                     var14 = var13 + var4.aShort7579 * var12;
                     var15 = this.aClass241_2801.aClass400Array2867[var5?var1 + 1:var1].method6789(var3, var7 + 1, (byte)3);
                     var16 = var15 + var4.aShort7579 * var12;
                     var17 = var3 << this.aClass241_2801.anInt2860 * 1261520001;
                     var18 = var6 << this.aClass241_2801.anInt2860 * 1261520001;
                     var19 = (var7 << this.aClass241_2801.anInt2860 * 1261520001) + this.aClass241_2801.anInt2861 * -156805669;
                     this.aClass240Array2804[this.anInt2809++] = new Class240(this.aClass241_2801, 1, var1, var17 + var4.aShort7587, var17 + var4.aShort7587, var17 + var4.aShort7587, var17 + var4.aShort7587, var13, var15, var16, var14, var18, var19, var19, var18);

                     for(var20 = var1; var20 <= var9; ++var20) {
                        for(var21 = var6; var21 <= var7; ++var21) {
                           this.aClass241_2801.aClass572ArrayArrayArray2868[var20][var3][var21].aShort7579 = (short)(this.aClass241_2801.aClass572ArrayArrayArray2868[var20][var3][var21].aShort7579 * -1);
                        }
                     }
                  }

                  if(var4.aShort7588 < 0) {
                     var6 = var3;
                     var7 = var3;
                     var9 = var1;
                     var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3 - 1][var2];

                     for(var11 = this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var2, (byte)3); var6 > 0 && var10 != null && var10.aShort7588 < 0 && var10.aShort7588 == var4.aShort7588 && var10.aShort7576 == var4.aShort7576 && var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var6 - 1, var2, (byte)3) && (var6 - 1 <= 0 || var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var6 - 2, var2, (byte)3)) && var7 - var6 <= 10; var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var6 - 1][var2]) {
                        --var6;
                     }

                     for(var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var7 + 1][var2]; var7 < this.aClass241_2801.anInt2870 * -648719443 && var10 != null && var10.aShort7588 < 0 && var10.aShort7588 == var4.aShort7588 && var10.aShort7576 == var4.aShort7576 && var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var7 + 1, var2, (byte)3) && (var7 + 1 >= this.aClass241_2801.anInt2870 * -648719443 || var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var7 + 2, var2, (byte)3)) && var7 - var6 <= 10; var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var7 + 1][var2]) {
                        ++var7;
                     }

                     var12 = var1 - var1 + 1;
                     var13 = this.aClass241_2801.aClass400Array2867[var5?var1 + 1:var1].method6789(var6, var2, (byte)3);
                     var14 = var13 + var4.aShort7588 * var12;
                     var15 = this.aClass241_2801.aClass400Array2867[var5?var1 + 1:var1].method6789(var7 + 1, var2, (byte)3);
                     var16 = var15 + var4.aShort7588 * var12;
                     var17 = var6 << this.aClass241_2801.anInt2860 * 1261520001;
                     var18 = (var7 << this.aClass241_2801.anInt2860 * 1261520001) + this.aClass241_2801.anInt2861 * -156805669;
                     var19 = var2 << this.aClass241_2801.anInt2860 * 1261520001;
                     this.aClass240Array2804[this.anInt2809++] = new Class240(this.aClass241_2801, 2, var1, var17, var18, var18, var17, var13, var15, var16, var14, var19 + var4.aShort7576, var19 + var4.aShort7576, var19 + var4.aShort7576, var19 + var4.aShort7576);

                     for(var20 = var1; var20 <= var9; ++var20) {
                        for(var21 = var6; var21 <= var7; ++var21) {
                           this.aClass241_2801.aClass572ArrayArrayArray2868[var20][var21][var2].aShort7588 = (short)(this.aClass241_2801.aClass572ArrayArrayArray2868[var20][var21][var2].aShort7588 * -1);
                        }
                     }
                  }
               }
            }
         }
      }

      this.aBool2798 = true;
   }

   void method4099() {
      int var1;
      for(var1 = 0; var1 < this.anInt2809; ++var1) {
         this.aClass240Array2804[var1] = null;
      }

      this.anInt2809 = 0;

      int var2;
      int var3;
      Class572 var4;
      for(var1 = 0; var1 < this.aClass241_2801.anInt2869 * -716645769; ++var1) {
         for(var2 = 0; var2 < this.aClass241_2801.anInt2870 * -648719443; ++var2) {
            for(var3 = 0; var3 < this.aClass241_2801.anInt2885 * 1301377571; ++var3) {
               var4 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var2];
               if(var4 != null) {
                  if(var4.aShort7579 > 0) {
                     var4.aShort7579 = (short)(var4.aShort7579 * -1);
                  }

                  if(var4.aShort7588 > 0) {
                     var4.aShort7588 = (short)(var4.aShort7588 * -1);
                  }
               }
            }
         }
      }

      for(var1 = 0; var1 < this.aClass241_2801.anInt2869 * -716645769; ++var1) {
         for(var2 = 0; var2 < this.aClass241_2801.anInt2870 * -648719443; ++var2) {
            for(var3 = 0; var3 < this.aClass241_2801.anInt2885 * 1301377571; ++var3) {
               var4 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var2];
               if(var4 != null) {
                  boolean var5 = this.aClass241_2801.aClass572ArrayArrayArray2868[0][var3][var2] != null && this.aClass241_2801.aClass572ArrayArrayArray2868[0][var3][var2].aClass572_7577 != null;
                  int var6;
                  int var7;
                  int var9;
                  Class572 var10;
                  int var11;
                  int var12;
                  int var13;
                  int var14;
                  int var15;
                  int var17;
                  int var16;
                  int var19;
                  int var18;
                  int var21;
                  int var20;
                  if(var4.aShort7579 < 0) {
                     var6 = var2;
                     var7 = var2;
                     var9 = var1;
                     var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var2 - 1];

                     for(var11 = this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var2, (byte)3); var6 > 0 && var10 != null && var10.aShort7579 < 0 && var10.aShort7579 == var4.aShort7579 && var10.aShort7587 == var4.aShort7587 && var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var6 - 1, (byte)3) && (var6 - 1 <= 0 || var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var6 - 2, (byte)3)) && var7 - var6 <= 10; var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var6 - 1]) {
                        --var6;
                     }

                     for(var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var7 + 1]; var7 < this.aClass241_2801.anInt2885 * 1301377571 && var10 != null && var10.aShort7579 < 0 && var10.aShort7579 == var4.aShort7579 && var10.aShort7587 == var4.aShort7587 && var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var7 + 1, (byte)3) && (var7 + 1 >= this.aClass241_2801.anInt2885 * 1301377571 || var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var7 + 2, (byte)3)) && var7 - var6 <= 10; var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var7 + 1]) {
                        ++var7;
                     }

                     var12 = var1 - var1 + 1;
                     var13 = this.aClass241_2801.aClass400Array2867[var5?var1 + 1:var1].method6789(var3, var6, (byte)3);
                     var14 = var13 + var4.aShort7579 * var12;
                     var15 = this.aClass241_2801.aClass400Array2867[var5?var1 + 1:var1].method6789(var3, var7 + 1, (byte)3);
                     var16 = var15 + var4.aShort7579 * var12;
                     var17 = var3 << this.aClass241_2801.anInt2860 * 1261520001;
                     var18 = var6 << this.aClass241_2801.anInt2860 * 1261520001;
                     var19 = (var7 << this.aClass241_2801.anInt2860 * 1261520001) + this.aClass241_2801.anInt2861 * -156805669;
                     this.aClass240Array2804[this.anInt2809++] = new Class240(this.aClass241_2801, 1, var1, var17 + var4.aShort7587, var17 + var4.aShort7587, var17 + var4.aShort7587, var17 + var4.aShort7587, var13, var15, var16, var14, var18, var19, var19, var18);

                     for(var20 = var1; var20 <= var9; ++var20) {
                        for(var21 = var6; var21 <= var7; ++var21) {
                           this.aClass241_2801.aClass572ArrayArrayArray2868[var20][var3][var21].aShort7579 = (short)(this.aClass241_2801.aClass572ArrayArrayArray2868[var20][var3][var21].aShort7579 * -1);
                        }
                     }
                  }

                  if(var4.aShort7588 < 0) {
                     var6 = var3;
                     var7 = var3;
                     var9 = var1;
                     var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3 - 1][var2];

                     for(var11 = this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var2, (byte)3); var6 > 0 && var10 != null && var10.aShort7588 < 0 && var10.aShort7588 == var4.aShort7588 && var10.aShort7576 == var4.aShort7576 && var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var6 - 1, var2, (byte)3) && (var6 - 1 <= 0 || var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var6 - 2, var2, (byte)3)) && var7 - var6 <= 10; var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var6 - 1][var2]) {
                        --var6;
                     }

                     for(var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var7 + 1][var2]; var7 < this.aClass241_2801.anInt2870 * -648719443 && var10 != null && var10.aShort7588 < 0 && var10.aShort7588 == var4.aShort7588 && var10.aShort7576 == var4.aShort7576 && var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var7 + 1, var2, (byte)3) && (var7 + 1 >= this.aClass241_2801.anInt2870 * -648719443 || var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var7 + 2, var2, (byte)3)) && var7 - var6 <= 10; var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var7 + 1][var2]) {
                        ++var7;
                     }

                     var12 = var1 - var1 + 1;
                     var13 = this.aClass241_2801.aClass400Array2867[var5?var1 + 1:var1].method6789(var6, var2, (byte)3);
                     var14 = var13 + var4.aShort7588 * var12;
                     var15 = this.aClass241_2801.aClass400Array2867[var5?var1 + 1:var1].method6789(var7 + 1, var2, (byte)3);
                     var16 = var15 + var4.aShort7588 * var12;
                     var17 = var6 << this.aClass241_2801.anInt2860 * 1261520001;
                     var18 = (var7 << this.aClass241_2801.anInt2860 * 1261520001) + this.aClass241_2801.anInt2861 * -156805669;
                     var19 = var2 << this.aClass241_2801.anInt2860 * 1261520001;
                     this.aClass240Array2804[this.anInt2809++] = new Class240(this.aClass241_2801, 2, var1, var17, var18, var18, var17, var13, var15, var16, var14, var19 + var4.aShort7576, var19 + var4.aShort7576, var19 + var4.aShort7576, var19 + var4.aShort7576);

                     for(var20 = var1; var20 <= var9; ++var20) {
                        for(var21 = var6; var21 <= var7; ++var21) {
                           this.aClass241_2801.aClass572ArrayArrayArray2868[var20][var21][var2].aShort7588 = (short)(this.aClass241_2801.aClass572ArrayArrayArray2868[var20][var21][var2].aShort7588 * -1);
                        }
                     }
                  }
               }
            }
         }
      }

      this.aBool2798 = true;
   }

   final boolean method4100(int var1, int var2, int var3, int var4, int var5, int var6) {
      int var7 = var1 + var4;
      int var8 = var2 + var5;
      int var9 = var3 + var6;
      if(!this.method4092(var1, var8, var3, var7, var8, var9, var1, var8, var9)) {
         return false;
      } else if(!this.method4092(var1, var8, var3, var7, var8, var3, var7, var8, var9)) {
         return false;
      } else {
         if(var1 < this.aClass241_2801.anInt2898 * 1156093201) {
            if(!this.method4092(var1, var2, var9, var1, var8, var3, var1, var8, var9)) {
               return false;
            }

            if(!this.method4092(var1, var2, var9, var1, var2, var3, var1, var8, var3)) {
               return false;
            }
         } else {
            if(!this.method4092(var7, var2, var9, var7, var8, var3, var7, var8, var9)) {
               return false;
            }

            if(!this.method4092(var7, var2, var9, var7, var2, var3, var7, var8, var3)) {
               return false;
            }
         }

         if(var3 < this.aClass241_2801.anInt2877 * 1948949231) {
            if(!this.method4092(var1, var2, var3, var7, var8, var3, var1, var8, var3)) {
               return false;
            }

            if(!this.method4092(var1, var2, var3, var7, var2, var3, var7, var8, var3)) {
               return false;
            }
         } else {
            if(!this.method4092(var1, var2, var9, var7, var8, var9, var1, var8, var9)) {
               return false;
            }

            if(!this.method4092(var1, var2, var9, var7, var2, var9, var7, var8, var9)) {
               return false;
            }
         }

         return true;
      }
   }

   public void method4101() {
      this.method4080();
   }

   boolean method4102(int var1, int var2, int var3, int var4) {
      if(this.aBool2802 && this.aBool2815) {
         if(this.aClass238_2826.anInt2836 < 101) {
            return false;
         } else if(!this.method4109(var1, var2, var3)) {
            return false;
         } else {
            int var5 = var2 << this.aClass241_2801.anInt2860 * 1261520001;
            int var6 = var3 << this.aClass241_2801.anInt2860 * 1261520001;
            return this.method4091(var5, this.aClass241_2801.aClass400Array2859[var1].method6789(var2, var3, (byte)3), var6, this.aClass241_2801.anInt2861 * -156805669, var4, this.aClass241_2801.anInt2861 * -156805669);
         }
      } else {
         return false;
      }
   }

   public void method4103(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) {
      this.aClass240Array2808[this.anInt2796++] = new Class240(this.aClass241_2801, var1, var2, var3, var4, var4, var3, var7, var8, var8, var7, var5, var5, var6, var6);
   }

   Class236(Class241 var1) {
      this.anInt2807 = var1.anInt2861 * -156805669;
      this.anInt2805 = var1.anInt2861 * -156805669;
      this.aClass241_2801 = var1;
      this.aClass240Array2808 = new Class240[538];
      this.anInt2796 = 0;
      this.aClass240Array2804 = new Class240[2003];
      this.anInt2809 = 0;
      this.aClass240Array2812 = new Class240[1021];
      this.anInt2811 = 0;
      this.aClass240Array2814 = new Class240[1008];
      this.anInt2813 = 0;
      this.anIntArrayArrayArray2810 = new int[this.aClass241_2801.anInt2869 * -716645769][this.aClass241_2801.anInt2870 * -648719443 + 1][this.aClass241_2801.anInt2885 * 1301377571 + 1];
      this.aBool2798 = false;
      if(this.aClass241_2801.aClass545_2864 instanceof ja) {
         this.aBool2802 = false;
      } else {
         this.aBool2802 = true;
      }

      if(this.aBool2802) {
         this.aClass238_2826 = new Class238(this);
      }

   }

   void method4104(Class545 var1, int var2) {
      aClass545_2821 = var1;
      if(this.aBool2802 && this.aBool2815) {
         if(this.aBool2803) {
            this.aClass241_2801.aClass420_2866.method7173(-1501789462);
         }

         aClass545_2821.method11445(this.anIntArray2823);
         if(this.anInt2824 != (int)((float)this.anIntArray2823[0] / 3.0F) || this.anInt2825 != (int)((float)this.anIntArray2823[1] / 3.0F)) {
            this.anInt2824 = (int)((float)this.anIntArray2823[0] / 3.0F);
            this.anInt2825 = (int)((float)this.anIntArray2823[1] / 3.0F);
            this.anIntArray2820 = new int[this.anInt2824 * this.anInt2825];
         }

         this.anInt2813 = 0;

         int var3;
         for(var3 = 0; var3 < this.anInt2796; ++var3) {
            this.method4088(aClass545_2821, this.aClass240Array2808[var3], var2);
         }

         for(var3 = 0; var3 < this.anInt2809; ++var3) {
            this.method4088(aClass545_2821, this.aClass240Array2804[var3], var2);
         }

         for(var3 = 0; var3 < this.anInt2811; ++var3) {
            this.method4088(aClass545_2821, this.aClass240Array2812[var3], var2);
         }

         this.aClass238_2826.anInt2836 = 0;
         if(this.anInt2813 > 0) {
            var3 = this.anIntArray2820.length;
            int var4 = var3 - var3 & 7;

            int var5;
            for(var5 = 0; var5 < var4; this.anIntArray2820[var5++] = Integer.MAX_VALUE) {
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
            }

            while(var5 < var3) {
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
            }

            this.aClass238_2826.anInt2834 = 1;

            for(int var6 = 0; var6 < this.anInt2813; ++var6) {
               Class240 var7 = this.aClass240Array2814[var6];
               this.aClass238_2826.method4149(var7.aShortArray2857[0], var7.aShortArray2857[1], var7.aShortArray2857[3], var7.aShortArray2850[0], var7.aShortArray2850[1], var7.aShortArray2850[3], var7.aShortArray2858[0], var7.aShortArray2858[1], var7.aShortArray2858[3]);
               this.aClass238_2826.method4149(var7.aShortArray2857[1], var7.aShortArray2857[2], var7.aShortArray2857[3], var7.aShortArray2850[1], var7.aShortArray2850[2], var7.aShortArray2850[3], var7.aShortArray2858[1], var7.aShortArray2858[2], var7.aShortArray2858[3]);
            }

            this.aClass238_2826.anInt2834 = 2;
         }

         if(this.aBool2803) {
            this.aClass241_2801.aClass420_2866.method7173(-981643131);
         }

      } else {
         this.anInt2813 = 0;
      }
   }

   void method4105(Class545 var1, int var2) {
      aClass545_2821 = var1;
      if(this.aBool2802 && this.aBool2815) {
         if(this.aBool2803) {
            this.aClass241_2801.aClass420_2866.method7173(-1356498327);
         }

         aClass545_2821.method11445(this.anIntArray2823);
         if(this.anInt2824 != (int)((float)this.anIntArray2823[0] / 3.0F) || this.anInt2825 != (int)((float)this.anIntArray2823[1] / 3.0F)) {
            this.anInt2824 = (int)((float)this.anIntArray2823[0] / 3.0F);
            this.anInt2825 = (int)((float)this.anIntArray2823[1] / 3.0F);
            this.anIntArray2820 = new int[this.anInt2824 * this.anInt2825];
         }

         this.anInt2813 = 0;

         int var3;
         for(var3 = 0; var3 < this.anInt2796; ++var3) {
            this.method4088(aClass545_2821, this.aClass240Array2808[var3], var2);
         }

         for(var3 = 0; var3 < this.anInt2809; ++var3) {
            this.method4088(aClass545_2821, this.aClass240Array2804[var3], var2);
         }

         for(var3 = 0; var3 < this.anInt2811; ++var3) {
            this.method4088(aClass545_2821, this.aClass240Array2812[var3], var2);
         }

         this.aClass238_2826.anInt2836 = 0;
         if(this.anInt2813 > 0) {
            var3 = this.anIntArray2820.length;
            int var4 = var3 - var3 & 7;

            int var5;
            for(var5 = 0; var5 < var4; this.anIntArray2820[var5++] = Integer.MAX_VALUE) {
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
            }

            while(var5 < var3) {
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
            }

            this.aClass238_2826.anInt2834 = 1;

            for(int var6 = 0; var6 < this.anInt2813; ++var6) {
               Class240 var7 = this.aClass240Array2814[var6];
               this.aClass238_2826.method4149(var7.aShortArray2857[0], var7.aShortArray2857[1], var7.aShortArray2857[3], var7.aShortArray2850[0], var7.aShortArray2850[1], var7.aShortArray2850[3], var7.aShortArray2858[0], var7.aShortArray2858[1], var7.aShortArray2858[3]);
               this.aClass238_2826.method4149(var7.aShortArray2857[1], var7.aShortArray2857[2], var7.aShortArray2857[3], var7.aShortArray2850[1], var7.aShortArray2850[2], var7.aShortArray2850[3], var7.aShortArray2858[1], var7.aShortArray2858[2], var7.aShortArray2858[3]);
            }

            this.aClass238_2826.anInt2834 = 2;
         }

         if(this.aBool2803) {
            this.aClass241_2801.aClass420_2866.method7173(-735191925);
         }

      } else {
         this.anInt2813 = 0;
      }
   }

   boolean method4106(int var1, int var2, int var3) {
      if(this.aBool2802 && this.aBool2815) {
         if(this.aClass238_2826.anInt2836 < 101) {
            return false;
         } else {
            int var4 = this.anIntArrayArrayArray2810[var1][var2][var3];
            if(var4 == -(this.aClass241_2801.anInt2901 * 1790821897)) {
               return false;
            } else if(var4 == this.aClass241_2801.anInt2901 * 1790821897) {
               return true;
            } else if(this.aClass241_2801.aClass400Array2859 == this.aClass241_2801.aClass400Array2909) {
               return false;
            } else {
               int var5 = var2 << this.aClass241_2801.anInt2860 * 1261520001;
               int var6 = var3 << this.aClass241_2801.anInt2860 * 1261520001;
               if(this.method4092(var5 + 1, this.aClass241_2801.aClass400Array2859[var1].method6789(var2, var3, (byte)3), var6 + 1, var5 + this.aClass241_2801.anInt2861 * -156805669 - 1, this.aClass241_2801.aClass400Array2859[var1].method6789(var2 + 1, var3 + 1, (byte)3), var6 + this.aClass241_2801.anInt2861 * -156805669 - 1, var5 + 1, this.aClass241_2801.aClass400Array2859[var1].method6789(var2, var3 + 1, (byte)3), var6 + this.aClass241_2801.anInt2861 * -156805669 - 1) && this.method4092(var5 + 1, this.aClass241_2801.aClass400Array2859[var1].method6789(var2, var3, (byte)3), var6 + 1, var5 + this.aClass241_2801.anInt2861 * -156805669 - 1, this.aClass241_2801.aClass400Array2859[var1].method6789(var2 + 1, var3, (byte)3), var6 + 1, var5 + this.aClass241_2801.anInt2861 * -156805669 - 1, this.aClass241_2801.aClass400Array2859[var1].method6789(var2 + 1, var3 + 1, (byte)3), var6 + this.aClass241_2801.anInt2861 * -156805669 - 1)) {
                  this.anIntArrayArrayArray2810[var1][var2][var3] = this.aClass241_2801.anInt2901 * 1790821897;
                  return true;
               } else {
                  this.anIntArrayArrayArray2810[var1][var2][var3] = -(this.aClass241_2801.anInt2901 * 1790821897);
                  return false;
               }
            }
         }
      } else {
         return false;
      }
   }

   final boolean method4107(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) {
      if(!this.method4085(var1, var2, var3)) {
         return false;
      } else {
         var1 = (int)this.aFloatArray2797[0];
         var2 = (int)this.aFloatArray2797[1];
         var3 = (int)this.aFloatArray2797[2];
         if(!this.method4085(var4, var5, var6)) {
            return false;
         } else {
            var4 = (int)this.aFloatArray2797[0];
            var5 = (int)this.aFloatArray2797[1];
            var6 = (int)this.aFloatArray2797[2];
            if(!this.method4085(var7, var8, var9)) {
               return false;
            } else {
               var7 = (int)this.aFloatArray2797[0];
               var8 = (int)this.aFloatArray2797[1];
               var9 = (int)this.aFloatArray2797[2];
               return this.aClass238_2826.method4149(var2, var5, var8, var1, var4, var7, var3, var6, var9);
            }
         }
      }
   }

   boolean method4108(Class240 var1, int var2) {
      if(!this.method4085(var1.anIntArray2843[var2], var1.anIntArray2854[var2], var1.anIntArray2855[var2])) {
         return false;
      } else {
         var1.aShortArray2850[var2] = (short)((int)this.aFloatArray2797[0]);
         var1.aShortArray2857[var2] = (short)((int)this.aFloatArray2797[1]);
         var1.aShortArray2858[var2] = (short)((int)this.aFloatArray2797[2]);
         return true;
      }
   }

   boolean method4109(int var1, int var2, int var3) {
      if(this.aBool2802 && this.aBool2815) {
         if(this.aClass238_2826.anInt2836 < 101) {
            return false;
         } else {
            int var4 = this.anIntArrayArrayArray2810[var1][var2][var3];
            if(var4 == -(this.aClass241_2801.anInt2901 * 1790821897)) {
               return false;
            } else if(var4 == this.aClass241_2801.anInt2901 * 1790821897) {
               return true;
            } else if(this.aClass241_2801.aClass400Array2859 == this.aClass241_2801.aClass400Array2909) {
               return false;
            } else {
               int var5 = var2 << this.aClass241_2801.anInt2860 * 1261520001;
               int var6 = var3 << this.aClass241_2801.anInt2860 * 1261520001;
               if(this.method4092(var5 + 1, this.aClass241_2801.aClass400Array2859[var1].method6789(var2, var3, (byte)3), var6 + 1, var5 + this.aClass241_2801.anInt2861 * -156805669 - 1, this.aClass241_2801.aClass400Array2859[var1].method6789(var2 + 1, var3 + 1, (byte)3), var6 + this.aClass241_2801.anInt2861 * -156805669 - 1, var5 + 1, this.aClass241_2801.aClass400Array2859[var1].method6789(var2, var3 + 1, (byte)3), var6 + this.aClass241_2801.anInt2861 * -156805669 - 1) && this.method4092(var5 + 1, this.aClass241_2801.aClass400Array2859[var1].method6789(var2, var3, (byte)3), var6 + 1, var5 + this.aClass241_2801.anInt2861 * -156805669 - 1, this.aClass241_2801.aClass400Array2859[var1].method6789(var2 + 1, var3, (byte)3), var6 + 1, var5 + this.aClass241_2801.anInt2861 * -156805669 - 1, this.aClass241_2801.aClass400Array2859[var1].method6789(var2 + 1, var3 + 1, (byte)3), var6 + this.aClass241_2801.anInt2861 * -156805669 - 1)) {
                  this.anIntArrayArrayArray2810[var1][var2][var3] = this.aClass241_2801.anInt2901 * 1790821897;
                  return true;
               } else {
                  this.anIntArrayArrayArray2810[var1][var2][var3] = -(this.aClass241_2801.anInt2901 * 1790821897);
                  return false;
               }
            }
         }
      } else {
         return false;
      }
   }

   boolean method4110(Class240 var1, int var2) {
      if(!this.method4085(var1.anIntArray2843[var2], var1.anIntArray2854[var2], var1.anIntArray2855[var2])) {
         return false;
      } else {
         var1.aShortArray2850[var2] = (short)((int)this.aFloatArray2797[0]);
         var1.aShortArray2857[var2] = (short)((int)this.aFloatArray2797[1]);
         var1.aShortArray2858[var2] = (short)((int)this.aFloatArray2797[2]);
         return true;
      }
   }

   final boolean method4111(int var1, int var2, int var3) {
      aClass545_2821.method11650((float)var1, (float)var2, (float)var3, this.aFloatArray2797);
      if(this.aFloatArray2797[2] < 50.0F) {
         return false;
      } else {
         this.aFloatArray2797[0] /= 3.0F;
         this.aFloatArray2797[1] /= 3.0F;
         return true;
      }
   }

   boolean method4112(int var1, int var2, int var3, int var4, int var5, Class571 var6) {
      if(this.aBool2802 && this.aBool2815) {
         if(this.aClass238_2826.anInt2836 < 101) {
            return false;
         } else if(var2 == var3 && var4 == var5) {
            return !this.method4109(var1, var2, var4)?false:this.method4090(var6);
         } else {
            for(int var7 = var2; var7 <= var3; ++var7) {
               for(int var8 = var4; var8 <= var5; ++var8) {
                  if(this.anIntArrayArrayArray2810[var1][var7][var8] == -(this.aClass241_2801.anInt2901 * 1790821897)) {
                     return false;
                  }
               }
            }

            if(!this.method4090(var6)) {
               return false;
            } else {
               return true;
            }
         }
      } else {
         return false;
      }
   }

   boolean method4113(Class515_Sub1_Sub3 var1, int var2, int var3, int var4) {
      if(this.aBool2802 && this.aBool2815) {
         if(this.aClass238_2826.anInt2836 < 101) {
            return false;
         } else if(!this.method4109(var2, var3, var4)) {
            return false;
         } else {
            int var5 = var3 << this.aClass241_2801.anInt2860 * 1261520001;
            int var6 = var4 << this.aClass241_2801.anInt2860 * 1261520001;
            int var7 = this.aClass241_2801.aClass400Array2859[var2].method6789(var3, var4, (byte)3) - 1;
            int var8 = var7 + var1.method13404((byte)-20);
            return var1.aShort10417 == 1?(!this.method4092(var5, var7, var6, var5, var8, var6, var5, var8, var6 + this.aClass241_2801.anInt2861 * -156805669)?false:this.method4092(var5, var7, var6, var5, var8, var6 + this.aClass241_2801.anInt2861 * -156805669, var5, var7, var6 + this.aClass241_2801.anInt2861 * -156805669)):(var1.aShort10417 == 2?(!this.method4092(var5, var7, var6 + this.aClass241_2801.anInt2861 * -156805669, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6 + this.aClass241_2801.anInt2861 * -156805669, var5, var8, var6 + this.aClass241_2801.anInt2861 * -156805669)?false:this.method4092(var5, var7, var6 + this.aClass241_2801.anInt2861 * -156805669, var5 + this.aClass241_2801.anInt2861 * -156805669, var7, var6 + this.aClass241_2801.anInt2861 * -156805669, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6 + this.aClass241_2801.anInt2861 * -156805669)):(var1.aShort10417 == 4?(!this.method4092(var5 + this.aClass241_2801.anInt2861 * -156805669, var7, var6, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6 + this.aClass241_2801.anInt2861 * -156805669)?false:this.method4092(var5 + this.aClass241_2801.anInt2861 * -156805669, var7, var6, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6 + this.aClass241_2801.anInt2861 * -156805669, var5 + this.aClass241_2801.anInt2861 * -156805669, var7, var6 + this.aClass241_2801.anInt2861 * -156805669)):(var1.aShort10417 == 8?(!this.method4092(var5, var7, var6, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6, var5, var8, var6)?false:this.method4092(var5, var7, var6, var5 + this.aClass241_2801.anInt2861 * -156805669, var7, var6, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6)):(var1.aShort10417 == 16?this.method4091(var5, var7, var6 + this.aClass241_2801.anInt2862 * -261294229, this.aClass241_2801.anInt2862 * -261294229, var8, this.aClass241_2801.anInt2862 * -261294229):(var1.aShort10417 == 32?this.method4091(var5 + this.aClass241_2801.anInt2862 * -261294229, var7, var6 + this.aClass241_2801.anInt2862 * -261294229, this.aClass241_2801.anInt2862 * -261294229, var8, this.aClass241_2801.anInt2862 * -261294229):(var1.aShort10417 == 64?this.method4091(var5 + this.aClass241_2801.anInt2862 * -261294229, var7, var6, this.aClass241_2801.anInt2862 * -261294229, var8, this.aClass241_2801.anInt2862 * -261294229):(var1.aShort10417 == 128?this.method4091(var5, var7, var6, this.aClass241_2801.anInt2862 * -261294229, var8, this.aClass241_2801.anInt2862 * -261294229):true)))))));
         }
      } else {
         return false;
      }
   }

   boolean method4114(Class515_Sub1_Sub3 var1, int var2, int var3, int var4) {
      if(this.aBool2802 && this.aBool2815) {
         if(this.aClass238_2826.anInt2836 < 101) {
            return false;
         } else if(!this.method4109(var2, var3, var4)) {
            return false;
         } else {
            int var5 = var3 << this.aClass241_2801.anInt2860 * 1261520001;
            int var6 = var4 << this.aClass241_2801.anInt2860 * 1261520001;
            int var7 = this.aClass241_2801.aClass400Array2859[var2].method6789(var3, var4, (byte)3) - 1;
            int var8 = var7 + var1.method13404((byte)-19);
            return var1.aShort10417 == 1?(!this.method4092(var5, var7, var6, var5, var8, var6, var5, var8, var6 + this.aClass241_2801.anInt2861 * -156805669)?false:this.method4092(var5, var7, var6, var5, var8, var6 + this.aClass241_2801.anInt2861 * -156805669, var5, var7, var6 + this.aClass241_2801.anInt2861 * -156805669)):(var1.aShort10417 == 2?(!this.method4092(var5, var7, var6 + this.aClass241_2801.anInt2861 * -156805669, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6 + this.aClass241_2801.anInt2861 * -156805669, var5, var8, var6 + this.aClass241_2801.anInt2861 * -156805669)?false:this.method4092(var5, var7, var6 + this.aClass241_2801.anInt2861 * -156805669, var5 + this.aClass241_2801.anInt2861 * -156805669, var7, var6 + this.aClass241_2801.anInt2861 * -156805669, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6 + this.aClass241_2801.anInt2861 * -156805669)):(var1.aShort10417 == 4?(!this.method4092(var5 + this.aClass241_2801.anInt2861 * -156805669, var7, var6, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6 + this.aClass241_2801.anInt2861 * -156805669)?false:this.method4092(var5 + this.aClass241_2801.anInt2861 * -156805669, var7, var6, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6 + this.aClass241_2801.anInt2861 * -156805669, var5 + this.aClass241_2801.anInt2861 * -156805669, var7, var6 + this.aClass241_2801.anInt2861 * -156805669)):(var1.aShort10417 == 8?(!this.method4092(var5, var7, var6, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6, var5, var8, var6)?false:this.method4092(var5, var7, var6, var5 + this.aClass241_2801.anInt2861 * -156805669, var7, var6, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6)):(var1.aShort10417 == 16?this.method4091(var5, var7, var6 + this.aClass241_2801.anInt2862 * -261294229, this.aClass241_2801.anInt2862 * -261294229, var8, this.aClass241_2801.anInt2862 * -261294229):(var1.aShort10417 == 32?this.method4091(var5 + this.aClass241_2801.anInt2862 * -261294229, var7, var6 + this.aClass241_2801.anInt2862 * -261294229, this.aClass241_2801.anInt2862 * -261294229, var8, this.aClass241_2801.anInt2862 * -261294229):(var1.aShort10417 == 64?this.method4091(var5 + this.aClass241_2801.anInt2862 * -261294229, var7, var6, this.aClass241_2801.anInt2862 * -261294229, var8, this.aClass241_2801.anInt2862 * -261294229):(var1.aShort10417 == 128?this.method4091(var5, var7, var6, this.aClass241_2801.anInt2862 * -261294229, var8, this.aClass241_2801.anInt2862 * -261294229):true)))))));
         }
      } else {
         return false;
      }
   }

   boolean method4115(Class515_Sub1_Sub3 var1, int var2, int var3, int var4) {
      if(this.aBool2802 && this.aBool2815) {
         if(this.aClass238_2826.anInt2836 < 101) {
            return false;
         } else if(!this.method4109(var2, var3, var4)) {
            return false;
         } else {
            int var5 = var3 << this.aClass241_2801.anInt2860 * 1261520001;
            int var6 = var4 << this.aClass241_2801.anInt2860 * 1261520001;
            int var7 = this.aClass241_2801.aClass400Array2859[var2].method6789(var3, var4, (byte)3) - 1;
            int var8 = var7 + var1.method13404((byte)37);
            return var1.aShort10417 == 1?(!this.method4092(var5, var7, var6, var5, var8, var6, var5, var8, var6 + this.aClass241_2801.anInt2861 * -156805669)?false:this.method4092(var5, var7, var6, var5, var8, var6 + this.aClass241_2801.anInt2861 * -156805669, var5, var7, var6 + this.aClass241_2801.anInt2861 * -156805669)):(var1.aShort10417 == 2?(!this.method4092(var5, var7, var6 + this.aClass241_2801.anInt2861 * -156805669, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6 + this.aClass241_2801.anInt2861 * -156805669, var5, var8, var6 + this.aClass241_2801.anInt2861 * -156805669)?false:this.method4092(var5, var7, var6 + this.aClass241_2801.anInt2861 * -156805669, var5 + this.aClass241_2801.anInt2861 * -156805669, var7, var6 + this.aClass241_2801.anInt2861 * -156805669, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6 + this.aClass241_2801.anInt2861 * -156805669)):(var1.aShort10417 == 4?(!this.method4092(var5 + this.aClass241_2801.anInt2861 * -156805669, var7, var6, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6 + this.aClass241_2801.anInt2861 * -156805669)?false:this.method4092(var5 + this.aClass241_2801.anInt2861 * -156805669, var7, var6, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6 + this.aClass241_2801.anInt2861 * -156805669, var5 + this.aClass241_2801.anInt2861 * -156805669, var7, var6 + this.aClass241_2801.anInt2861 * -156805669)):(var1.aShort10417 == 8?(!this.method4092(var5, var7, var6, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6, var5, var8, var6)?false:this.method4092(var5, var7, var6, var5 + this.aClass241_2801.anInt2861 * -156805669, var7, var6, var5 + this.aClass241_2801.anInt2861 * -156805669, var8, var6)):(var1.aShort10417 == 16?this.method4091(var5, var7, var6 + this.aClass241_2801.anInt2862 * -261294229, this.aClass241_2801.anInt2862 * -261294229, var8, this.aClass241_2801.anInt2862 * -261294229):(var1.aShort10417 == 32?this.method4091(var5 + this.aClass241_2801.anInt2862 * -261294229, var7, var6 + this.aClass241_2801.anInt2862 * -261294229, this.aClass241_2801.anInt2862 * -261294229, var8, this.aClass241_2801.anInt2862 * -261294229):(var1.aShort10417 == 64?this.method4091(var5 + this.aClass241_2801.anInt2862 * -261294229, var7, var6, this.aClass241_2801.anInt2862 * -261294229, var8, this.aClass241_2801.anInt2862 * -261294229):(var1.aShort10417 == 128?this.method4091(var5, var7, var6, this.aClass241_2801.anInt2862 * -261294229, var8, this.aClass241_2801.anInt2862 * -261294229):true)))))));
         }
      } else {
         return false;
      }
   }

   boolean method4116(int var1, int var2, int var3, int var4) {
      if(this.aBool2802 && this.aBool2815) {
         if(this.aClass238_2826.anInt2836 < 101) {
            return false;
         } else if(!this.method4109(var1, var2, var3)) {
            return false;
         } else {
            int var5 = var2 << this.aClass241_2801.anInt2860 * 1261520001;
            int var6 = var3 << this.aClass241_2801.anInt2860 * 1261520001;
            return this.method4091(var5, this.aClass241_2801.aClass400Array2859[var1].method6789(var2, var3, (byte)3), var6, this.aClass241_2801.anInt2861 * -156805669, var4, this.aClass241_2801.anInt2861 * -156805669);
         }
      } else {
         return false;
      }
   }

   void method4117(Class545 var1, int var2) {
      aClass545_2821 = var1;
      if(this.aBool2802 && this.aBool2815) {
         if(this.aBool2803) {
            this.aClass241_2801.aClass420_2866.method7173(-1870829041);
         }

         aClass545_2821.method11445(this.anIntArray2823);
         if(this.anInt2824 != (int)((float)this.anIntArray2823[0] / 3.0F) || this.anInt2825 != (int)((float)this.anIntArray2823[1] / 3.0F)) {
            this.anInt2824 = (int)((float)this.anIntArray2823[0] / 3.0F);
            this.anInt2825 = (int)((float)this.anIntArray2823[1] / 3.0F);
            this.anIntArray2820 = new int[this.anInt2824 * this.anInt2825];
         }

         this.anInt2813 = 0;

         int var3;
         for(var3 = 0; var3 < this.anInt2796; ++var3) {
            this.method4088(aClass545_2821, this.aClass240Array2808[var3], var2);
         }

         for(var3 = 0; var3 < this.anInt2809; ++var3) {
            this.method4088(aClass545_2821, this.aClass240Array2804[var3], var2);
         }

         for(var3 = 0; var3 < this.anInt2811; ++var3) {
            this.method4088(aClass545_2821, this.aClass240Array2812[var3], var2);
         }

         this.aClass238_2826.anInt2836 = 0;
         if(this.anInt2813 > 0) {
            var3 = this.anIntArray2820.length;
            int var4 = var3 - var3 & 7;

            int var5;
            for(var5 = 0; var5 < var4; this.anIntArray2820[var5++] = Integer.MAX_VALUE) {
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
            }

            while(var5 < var3) {
               this.anIntArray2820[var5++] = Integer.MAX_VALUE;
            }

            this.aClass238_2826.anInt2834 = 1;

            for(int var6 = 0; var6 < this.anInt2813; ++var6) {
               Class240 var7 = this.aClass240Array2814[var6];
               this.aClass238_2826.method4149(var7.aShortArray2857[0], var7.aShortArray2857[1], var7.aShortArray2857[3], var7.aShortArray2850[0], var7.aShortArray2850[1], var7.aShortArray2850[3], var7.aShortArray2858[0], var7.aShortArray2858[1], var7.aShortArray2858[3]);
               this.aClass238_2826.method4149(var7.aShortArray2857[1], var7.aShortArray2857[2], var7.aShortArray2857[3], var7.aShortArray2850[1], var7.aShortArray2850[2], var7.aShortArray2850[3], var7.aShortArray2858[1], var7.aShortArray2858[2], var7.aShortArray2858[3]);
            }

            this.aClass238_2826.anInt2834 = 2;
         }

         if(this.aBool2803) {
            this.aClass241_2801.aClass420_2866.method7173(-693627786);
         }

      } else {
         this.anInt2813 = 0;
      }
   }

   public void method4118(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) {
      this.aClass240Array2808[this.anInt2796++] = new Class240(this.aClass241_2801, var1, var2, var3, var4, var4, var3, var7, var8, var8, var7, var5, var5, var6, var6);
   }

   boolean method4119(int var1, int var2, int var3, int var4, int var5, Class571 var6) {
      if(this.aBool2802 && this.aBool2815) {
         if(this.aClass238_2826.anInt2836 < 101) {
            return false;
         } else if(var2 == var3 && var4 == var5) {
            return !this.method4109(var1, var2, var4)?false:this.method4090(var6);
         } else {
            for(int var7 = var2; var7 <= var3; ++var7) {
               for(int var8 = var4; var8 <= var5; ++var8) {
                  if(this.anIntArrayArrayArray2810[var1][var7][var8] == -(this.aClass241_2801.anInt2901 * 1790821897)) {
                     return false;
                  }
               }
            }

            if(!this.method4090(var6)) {
               return false;
            } else {
               return true;
            }
         }
      } else {
         return false;
      }
   }

   void method4120(Class545 var1, Class240 var2, int var3) {
      aClass545_2821 = var1;
      int var4;
      if(this.anIntArray2806 != null && var2.aByte2848 >= var3) {
         for(var4 = 0; var4 < this.anIntArray2806.length; ++var4) {
            if(this.anIntArray2806[var4] != -1000000 && (var2.anIntArray2854[0] <= this.anIntArray2806[var4] || var2.anIntArray2854[1] <= this.anIntArray2806[var4] || var2.anIntArray2854[2] <= this.anIntArray2806[var4] || var2.anIntArray2854[3] <= this.anIntArray2806[var4]) && (var2.anIntArray2843[0] <= this.anIntArray2817[var4] || var2.anIntArray2843[1] <= this.anIntArray2817[var4] || var2.anIntArray2843[2] <= this.anIntArray2817[var4] || var2.anIntArray2843[3] <= this.anIntArray2817[var4]) && (var2.anIntArray2843[0] >= this.anIntArray2816[var4] || var2.anIntArray2843[1] >= this.anIntArray2816[var4] || var2.anIntArray2843[2] >= this.anIntArray2816[var4] || var2.anIntArray2843[3] >= this.anIntArray2816[var4]) && (var2.anIntArray2855[0] <= this.anIntArray2818[var4] || var2.anIntArray2855[1] <= this.anIntArray2818[var4] || var2.anIntArray2855[2] <= this.anIntArray2818[var4] || var2.anIntArray2855[3] <= this.anIntArray2818[var4]) && (var2.anIntArray2855[0] >= this.anIntArray2819[var4] || var2.anIntArray2855[1] >= this.anIntArray2819[var4] || var2.anIntArray2855[2] >= this.anIntArray2819[var4] || var2.anIntArray2855[3] >= this.anIntArray2819[var4])) {
               return;
            }
         }
      }

      boolean var16;
      int var5;
      int var13;
      float var15;
      if(var2.aByte2847 == 1) {
         var4 = var2.aShort2849 - this.aClass241_2801.anInt2896 * 463854619 + this.aClass241_2801.anInt2886 * -336014903;
         if(var4 >= 0 && var4 <= this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
            var5 = var2.aShort2851 - this.aClass241_2801.anInt2908 * 1686765659 + this.aClass241_2801.anInt2886 * -336014903;
            if(var5 < 0) {
               var5 = 0;
            } else if(var5 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
               return;
            }

            var13 = var2.aShort2842 - this.aClass241_2801.anInt2908 * 1686765659 + this.aClass241_2801.anInt2886 * -336014903;
            if(var13 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
               var13 = this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903;
            } else if(var13 < 0) {
               return;
            }

            var16 = false;

            while(var5 <= var13) {
               if(this.aClass241_2801.aBoolArrayArray2920[var4][var5++]) {
                  var16 = true;
                  break;
               }
            }

            if(var16) {
               var15 = (float)(this.aClass241_2801.anInt2898 * 1156093201 - var2.anIntArray2843[0]);
               if(var15 < 0.0F) {
                  var15 *= -1.0F;
               }

               if(var15 >= (float)this.anInt2807) {
                  if(this.method4076(var2, 0)) {
                     if(this.method4076(var2, 1)) {
                        if(this.method4076(var2, 2)) {
                           if(this.method4076(var2, 3)) {
                              this.aClass240Array2814[this.anInt2813++] = var2;
                           }
                        }
                     }
                  }
               }
            }
         }
      } else if(var2.aByte2847 == 2) {
         var4 = var2.aShort2851 - this.aClass241_2801.anInt2908 * 1686765659 + this.aClass241_2801.anInt2886 * -336014903;
         if(var4 >= 0 && var4 <= this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
            var5 = var2.aShort2849 - this.aClass241_2801.anInt2896 * 463854619 + this.aClass241_2801.anInt2886 * -336014903;
            if(var5 < 0) {
               var5 = 0;
            } else if(var5 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
               return;
            }

            var13 = var2.aShort2856 - this.aClass241_2801.anInt2896 * 463854619 + this.aClass241_2801.anInt2886 * -336014903;
            if(var13 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
               var13 = this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903;
            } else if(var13 < 0) {
               return;
            }

            var16 = false;

            while(var5 <= var13) {
               if(this.aClass241_2801.aBoolArrayArray2920[var5++][var4]) {
                  var16 = true;
                  break;
               }
            }

            if(var16) {
               var15 = (float)(this.aClass241_2801.anInt2877 * 1948949231 - var2.anIntArray2855[0]);
               if(var15 < 0.0F) {
                  var15 *= -1.0F;
               }

               if(var15 >= (float)this.anInt2807) {
                  if(this.method4076(var2, 0)) {
                     if(this.method4076(var2, 1)) {
                        if(this.method4076(var2, 2)) {
                           if(this.method4076(var2, 3)) {
                              this.aClass240Array2814[this.anInt2813++] = var2;
                           }
                        }
                     }
                  }
               }
            }
         }
      } else if(var2.aByte2847 != 16 && var2.aByte2847 != 8) {
         if(var2.aByte2847 == 4) {
            float var12 = (float)(var2.anIntArray2854[0] - this.aClass241_2801.anInt2900 * 1280331549);
            if(var12 > (float)this.anInt2805) {
               var5 = var2.aShort2851 - this.aClass241_2801.anInt2908 * 1686765659 + this.aClass241_2801.anInt2886 * -336014903;
               if(var5 < 0) {
                  var5 = 0;
               } else if(var5 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
                  return;
               }

               var13 = var2.aShort2842 - this.aClass241_2801.anInt2908 * 1686765659 + this.aClass241_2801.anInt2886 * -336014903;
               if(var13 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
                  var13 = this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903;
               } else if(var13 < 0) {
                  return;
               }

               int var14 = var2.aShort2849 - this.aClass241_2801.anInt2896 * 463854619 + this.aClass241_2801.anInt2886 * -336014903;
               if(var14 < 0) {
                  var14 = 0;
               } else if(var14 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
                  return;
               }

               int var8 = var2.aShort2856 - this.aClass241_2801.anInt2896 * 463854619 + this.aClass241_2801.anInt2886 * -336014903;
               if(var8 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
                  var8 = this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903;
               } else if(var8 < 0) {
                  return;
               }

               boolean var9 = false;

               label281:
               for(int var10 = var14; var10 <= var8; ++var10) {
                  for(int var11 = var5; var11 <= var13; ++var11) {
                     if(this.aClass241_2801.aBoolArrayArray2920[var10][var11]) {
                        var9 = true;
                        break label281;
                     }
                  }
               }

               if(var9) {
                  if(this.method4076(var2, 0)) {
                     if(this.method4076(var2, 1)) {
                        if(this.method4076(var2, 2)) {
                           if(this.method4076(var2, 3)) {
                              this.aClass240Array2814[this.anInt2813++] = var2;
                           }
                        }
                     }
                  }
               }
            }
         }
      } else {
         var4 = var2.aShort2849 - this.aClass241_2801.anInt2896 * 463854619 + this.aClass241_2801.anInt2886 * -336014903;
         if(var4 >= 0 && var4 <= this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
            var5 = var2.aShort2851 - this.aClass241_2801.anInt2908 * 1686765659 + this.aClass241_2801.anInt2886 * -336014903;
            if(var5 >= 0 && var5 <= this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
               if(this.aClass241_2801.aBoolArrayArray2920[var4][var5]) {
                  float var6 = (float)(this.aClass241_2801.anInt2898 * 1156093201 - var2.anIntArray2843[0]);
                  if(var6 < 0.0F) {
                     var6 *= -1.0F;
                  }

                  float var7 = (float)(this.aClass241_2801.anInt2877 * 1948949231 - var2.anIntArray2855[0]);
                  if(var7 < 0.0F) {
                     var7 *= -1.0F;
                  }

                  if(var6 >= (float)this.anInt2807 || var7 >= (float)this.anInt2807) {
                     if(this.method4076(var2, 0)) {
                        if(this.method4076(var2, 1)) {
                           if(this.method4076(var2, 2)) {
                              if(this.method4076(var2, 3)) {
                                 this.aClass240Array2814[this.anInt2813++] = var2;
                              }
                           }
                        }
                     }
                  }
               }
            }
         }
      }
   }

   final boolean method4121(Class571 var1) {
      return var1 == null?false:this.method4091(var1.anInt7570, var1.anInt7567, var1.anInt7572, var1.anInt7571 - var1.anInt7570, var1.anInt7574 - var1.anInt7567, var1.anInt7575 - var1.anInt7572);
   }

   final boolean method4122(int var1, int var2, int var3, int var4, int var5, int var6) {
      int var7 = var1 + var4;
      int var8 = var2 + var5;
      int var9 = var3 + var6;
      if(!this.method4092(var1, var8, var3, var7, var8, var9, var1, var8, var9)) {
         return false;
      } else if(!this.method4092(var1, var8, var3, var7, var8, var3, var7, var8, var9)) {
         return false;
      } else {
         if(var1 < this.aClass241_2801.anInt2898 * 1156093201) {
            if(!this.method4092(var1, var2, var9, var1, var8, var3, var1, var8, var9)) {
               return false;
            }

            if(!this.method4092(var1, var2, var9, var1, var2, var3, var1, var8, var3)) {
               return false;
            }
         } else {
            if(!this.method4092(var7, var2, var9, var7, var8, var3, var7, var8, var9)) {
               return false;
            }

            if(!this.method4092(var7, var2, var9, var7, var2, var3, var7, var8, var3)) {
               return false;
            }
         }

         if(var3 < this.aClass241_2801.anInt2877 * 1948949231) {
            if(!this.method4092(var1, var2, var3, var7, var8, var3, var1, var8, var3)) {
               return false;
            }

            if(!this.method4092(var1, var2, var3, var7, var2, var3, var7, var8, var3)) {
               return false;
            }
         } else {
            if(!this.method4092(var1, var2, var9, var7, var8, var9, var1, var8, var9)) {
               return false;
            }

            if(!this.method4092(var1, var2, var9, var7, var2, var9, var7, var8, var9)) {
               return false;
            }
         }

         return true;
      }
   }

   final boolean method4123(int var1, int var2, int var3, int var4, int var5, int var6) {
      int var7 = var1 + var4;
      int var8 = var2 + var5;
      int var9 = var3 + var6;
      if(!this.method4092(var1, var8, var3, var7, var8, var9, var1, var8, var9)) {
         return false;
      } else if(!this.method4092(var1, var8, var3, var7, var8, var3, var7, var8, var9)) {
         return false;
      } else {
         if(var1 < this.aClass241_2801.anInt2898 * 1156093201) {
            if(!this.method4092(var1, var2, var9, var1, var8, var3, var1, var8, var9)) {
               return false;
            }

            if(!this.method4092(var1, var2, var9, var1, var2, var3, var1, var8, var3)) {
               return false;
            }
         } else {
            if(!this.method4092(var7, var2, var9, var7, var8, var3, var7, var8, var9)) {
               return false;
            }

            if(!this.method4092(var7, var2, var9, var7, var2, var3, var7, var8, var3)) {
               return false;
            }
         }

         if(var3 < this.aClass241_2801.anInt2877 * 1948949231) {
            if(!this.method4092(var1, var2, var3, var7, var8, var3, var1, var8, var3)) {
               return false;
            }

            if(!this.method4092(var1, var2, var3, var7, var2, var3, var7, var8, var3)) {
               return false;
            }
         } else {
            if(!this.method4092(var1, var2, var9, var7, var8, var9, var1, var8, var9)) {
               return false;
            }

            if(!this.method4092(var1, var2, var9, var7, var2, var9, var7, var8, var9)) {
               return false;
            }
         }

         return true;
      }
   }

   void method4124(Class545 var1, Class240 var2, int var3) {
      aClass545_2821 = var1;
      int var4;
      if(this.anIntArray2806 != null && var2.aByte2848 >= var3) {
         for(var4 = 0; var4 < this.anIntArray2806.length; ++var4) {
            if(this.anIntArray2806[var4] != -1000000 && (var2.anIntArray2854[0] <= this.anIntArray2806[var4] || var2.anIntArray2854[1] <= this.anIntArray2806[var4] || var2.anIntArray2854[2] <= this.anIntArray2806[var4] || var2.anIntArray2854[3] <= this.anIntArray2806[var4]) && (var2.anIntArray2843[0] <= this.anIntArray2817[var4] || var2.anIntArray2843[1] <= this.anIntArray2817[var4] || var2.anIntArray2843[2] <= this.anIntArray2817[var4] || var2.anIntArray2843[3] <= this.anIntArray2817[var4]) && (var2.anIntArray2843[0] >= this.anIntArray2816[var4] || var2.anIntArray2843[1] >= this.anIntArray2816[var4] || var2.anIntArray2843[2] >= this.anIntArray2816[var4] || var2.anIntArray2843[3] >= this.anIntArray2816[var4]) && (var2.anIntArray2855[0] <= this.anIntArray2818[var4] || var2.anIntArray2855[1] <= this.anIntArray2818[var4] || var2.anIntArray2855[2] <= this.anIntArray2818[var4] || var2.anIntArray2855[3] <= this.anIntArray2818[var4]) && (var2.anIntArray2855[0] >= this.anIntArray2819[var4] || var2.anIntArray2855[1] >= this.anIntArray2819[var4] || var2.anIntArray2855[2] >= this.anIntArray2819[var4] || var2.anIntArray2855[3] >= this.anIntArray2819[var4])) {
               return;
            }
         }
      }

      boolean var16;
      int var5;
      int var13;
      float var15;
      if(var2.aByte2847 == 1) {
         var4 = var2.aShort2849 - this.aClass241_2801.anInt2896 * 463854619 + this.aClass241_2801.anInt2886 * -336014903;
         if(var4 >= 0 && var4 <= this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
            var5 = var2.aShort2851 - this.aClass241_2801.anInt2908 * 1686765659 + this.aClass241_2801.anInt2886 * -336014903;
            if(var5 < 0) {
               var5 = 0;
            } else if(var5 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
               return;
            }

            var13 = var2.aShort2842 - this.aClass241_2801.anInt2908 * 1686765659 + this.aClass241_2801.anInt2886 * -336014903;
            if(var13 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
               var13 = this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903;
            } else if(var13 < 0) {
               return;
            }

            var16 = false;

            while(var5 <= var13) {
               if(this.aClass241_2801.aBoolArrayArray2920[var4][var5++]) {
                  var16 = true;
                  break;
               }
            }

            if(var16) {
               var15 = (float)(this.aClass241_2801.anInt2898 * 1156093201 - var2.anIntArray2843[0]);
               if(var15 < 0.0F) {
                  var15 *= -1.0F;
               }

               if(var15 >= (float)this.anInt2807) {
                  if(this.method4076(var2, 0)) {
                     if(this.method4076(var2, 1)) {
                        if(this.method4076(var2, 2)) {
                           if(this.method4076(var2, 3)) {
                              this.aClass240Array2814[this.anInt2813++] = var2;
                           }
                        }
                     }
                  }
               }
            }
         }
      } else if(var2.aByte2847 == 2) {
         var4 = var2.aShort2851 - this.aClass241_2801.anInt2908 * 1686765659 + this.aClass241_2801.anInt2886 * -336014903;
         if(var4 >= 0 && var4 <= this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
            var5 = var2.aShort2849 - this.aClass241_2801.anInt2896 * 463854619 + this.aClass241_2801.anInt2886 * -336014903;
            if(var5 < 0) {
               var5 = 0;
            } else if(var5 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
               return;
            }

            var13 = var2.aShort2856 - this.aClass241_2801.anInt2896 * 463854619 + this.aClass241_2801.anInt2886 * -336014903;
            if(var13 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
               var13 = this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903;
            } else if(var13 < 0) {
               return;
            }

            var16 = false;

            while(var5 <= var13) {
               if(this.aClass241_2801.aBoolArrayArray2920[var5++][var4]) {
                  var16 = true;
                  break;
               }
            }

            if(var16) {
               var15 = (float)(this.aClass241_2801.anInt2877 * 1948949231 - var2.anIntArray2855[0]);
               if(var15 < 0.0F) {
                  var15 *= -1.0F;
               }

               if(var15 >= (float)this.anInt2807) {
                  if(this.method4076(var2, 0)) {
                     if(this.method4076(var2, 1)) {
                        if(this.method4076(var2, 2)) {
                           if(this.method4076(var2, 3)) {
                              this.aClass240Array2814[this.anInt2813++] = var2;
                           }
                        }
                     }
                  }
               }
            }
         }
      } else if(var2.aByte2847 != 16 && var2.aByte2847 != 8) {
         if(var2.aByte2847 == 4) {
            float var12 = (float)(var2.anIntArray2854[0] - this.aClass241_2801.anInt2900 * 1280331549);
            if(var12 > (float)this.anInt2805) {
               var5 = var2.aShort2851 - this.aClass241_2801.anInt2908 * 1686765659 + this.aClass241_2801.anInt2886 * -336014903;
               if(var5 < 0) {
                  var5 = 0;
               } else if(var5 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
                  return;
               }

               var13 = var2.aShort2842 - this.aClass241_2801.anInt2908 * 1686765659 + this.aClass241_2801.anInt2886 * -336014903;
               if(var13 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
                  var13 = this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903;
               } else if(var13 < 0) {
                  return;
               }

               int var14 = var2.aShort2849 - this.aClass241_2801.anInt2896 * 463854619 + this.aClass241_2801.anInt2886 * -336014903;
               if(var14 < 0) {
                  var14 = 0;
               } else if(var14 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
                  return;
               }

               int var8 = var2.aShort2856 - this.aClass241_2801.anInt2896 * 463854619 + this.aClass241_2801.anInt2886 * -336014903;
               if(var8 > this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
                  var8 = this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903;
               } else if(var8 < 0) {
                  return;
               }

               boolean var9 = false;

               label281:
               for(int var10 = var14; var10 <= var8; ++var10) {
                  for(int var11 = var5; var11 <= var13; ++var11) {
                     if(this.aClass241_2801.aBoolArrayArray2920[var10][var11]) {
                        var9 = true;
                        break label281;
                     }
                  }
               }

               if(var9) {
                  if(this.method4076(var2, 0)) {
                     if(this.method4076(var2, 1)) {
                        if(this.method4076(var2, 2)) {
                           if(this.method4076(var2, 3)) {
                              this.aClass240Array2814[this.anInt2813++] = var2;
                           }
                        }
                     }
                  }
               }
            }
         }
      } else {
         var4 = var2.aShort2849 - this.aClass241_2801.anInt2896 * 463854619 + this.aClass241_2801.anInt2886 * -336014903;
         if(var4 >= 0 && var4 <= this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
            var5 = var2.aShort2851 - this.aClass241_2801.anInt2908 * 1686765659 + this.aClass241_2801.anInt2886 * -336014903;
            if(var5 >= 0 && var5 <= this.aClass241_2801.anInt2886 * -336014903 + this.aClass241_2801.anInt2886 * -336014903) {
               if(this.aClass241_2801.aBoolArrayArray2920[var4][var5]) {
                  float var6 = (float)(this.aClass241_2801.anInt2898 * 1156093201 - var2.anIntArray2843[0]);
                  if(var6 < 0.0F) {
                     var6 *= -1.0F;
                  }

                  float var7 = (float)(this.aClass241_2801.anInt2877 * 1948949231 - var2.anIntArray2855[0]);
                  if(var7 < 0.0F) {
                     var7 *= -1.0F;
                  }

                  if(var6 >= (float)this.anInt2807 || var7 >= (float)this.anInt2807) {
                     if(this.method4076(var2, 0)) {
                        if(this.method4076(var2, 1)) {
                           if(this.method4076(var2, 2)) {
                              if(this.method4076(var2, 3)) {
                                 this.aClass240Array2814[this.anInt2813++] = var2;
                              }
                           }
                        }
                     }
                  }
               }
            }
         }
      }
   }

   void method4125() {
      int var1;
      for(var1 = 0; var1 < this.anInt2809; ++var1) {
         this.aClass240Array2804[var1] = null;
      }

      this.anInt2809 = 0;

      int var2;
      int var3;
      Class572 var4;
      for(var1 = 0; var1 < this.aClass241_2801.anInt2869 * -716645769; ++var1) {
         for(var2 = 0; var2 < this.aClass241_2801.anInt2870 * -648719443; ++var2) {
            for(var3 = 0; var3 < this.aClass241_2801.anInt2885 * 1301377571; ++var3) {
               var4 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var2];
               if(var4 != null) {
                  if(var4.aShort7579 > 0) {
                     var4.aShort7579 = (short)(var4.aShort7579 * -1);
                  }

                  if(var4.aShort7588 > 0) {
                     var4.aShort7588 = (short)(var4.aShort7588 * -1);
                  }
               }
            }
         }
      }

      for(var1 = 0; var1 < this.aClass241_2801.anInt2869 * -716645769; ++var1) {
         for(var2 = 0; var2 < this.aClass241_2801.anInt2870 * -648719443; ++var2) {
            for(var3 = 0; var3 < this.aClass241_2801.anInt2885 * 1301377571; ++var3) {
               var4 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var2];
               if(var4 != null) {
                  boolean var5 = this.aClass241_2801.aClass572ArrayArrayArray2868[0][var3][var2] != null && this.aClass241_2801.aClass572ArrayArrayArray2868[0][var3][var2].aClass572_7577 != null;
                  int var6;
                  int var7;
                  int var9;
                  Class572 var10;
                  int var11;
                  int var12;
                  int var13;
                  int var14;
                  int var15;
                  int var17;
                  int var16;
                  int var19;
                  int var18;
                  int var21;
                  int var20;
                  if(var4.aShort7579 < 0) {
                     var6 = var2;
                     var7 = var2;
                     var9 = var1;
                     var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var2 - 1];

                     for(var11 = this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var2, (byte)3); var6 > 0 && var10 != null && var10.aShort7579 < 0 && var10.aShort7579 == var4.aShort7579 && var10.aShort7587 == var4.aShort7587 && var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var6 - 1, (byte)3) && (var6 - 1 <= 0 || var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var6 - 2, (byte)3)) && var7 - var6 <= 10; var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var6 - 1]) {
                        --var6;
                     }

                     for(var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var7 + 1]; var7 < this.aClass241_2801.anInt2885 * 1301377571 && var10 != null && var10.aShort7579 < 0 && var10.aShort7579 == var4.aShort7579 && var10.aShort7587 == var4.aShort7587 && var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var7 + 1, (byte)3) && (var7 + 1 >= this.aClass241_2801.anInt2885 * 1301377571 || var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var7 + 2, (byte)3)) && var7 - var6 <= 10; var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3][var7 + 1]) {
                        ++var7;
                     }

                     var12 = var1 - var1 + 1;
                     var13 = this.aClass241_2801.aClass400Array2867[var5?var1 + 1:var1].method6789(var3, var6, (byte)3);
                     var14 = var13 + var4.aShort7579 * var12;
                     var15 = this.aClass241_2801.aClass400Array2867[var5?var1 + 1:var1].method6789(var3, var7 + 1, (byte)3);
                     var16 = var15 + var4.aShort7579 * var12;
                     var17 = var3 << this.aClass241_2801.anInt2860 * 1261520001;
                     var18 = var6 << this.aClass241_2801.anInt2860 * 1261520001;
                     var19 = (var7 << this.aClass241_2801.anInt2860 * 1261520001) + this.aClass241_2801.anInt2861 * -156805669;
                     this.aClass240Array2804[this.anInt2809++] = new Class240(this.aClass241_2801, 1, var1, var17 + var4.aShort7587, var17 + var4.aShort7587, var17 + var4.aShort7587, var17 + var4.aShort7587, var13, var15, var16, var14, var18, var19, var19, var18);

                     for(var20 = var1; var20 <= var9; ++var20) {
                        for(var21 = var6; var21 <= var7; ++var21) {
                           this.aClass241_2801.aClass572ArrayArrayArray2868[var20][var3][var21].aShort7579 = (short)(this.aClass241_2801.aClass572ArrayArrayArray2868[var20][var3][var21].aShort7579 * -1);
                        }
                     }
                  }

                  if(var4.aShort7588 < 0) {
                     var6 = var3;
                     var7 = var3;
                     var9 = var1;
                     var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var3 - 1][var2];

                     for(var11 = this.aClass241_2801.aClass400Array2867[var1].method6789(var3, var2, (byte)3); var6 > 0 && var10 != null && var10.aShort7588 < 0 && var10.aShort7588 == var4.aShort7588 && var10.aShort7576 == var4.aShort7576 && var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var6 - 1, var2, (byte)3) && (var6 - 1 <= 0 || var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var6 - 2, var2, (byte)3)) && var7 - var6 <= 10; var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var6 - 1][var2]) {
                        --var6;
                     }

                     for(var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var7 + 1][var2]; var7 < this.aClass241_2801.anInt2870 * -648719443 && var10 != null && var10.aShort7588 < 0 && var10.aShort7588 == var4.aShort7588 && var10.aShort7576 == var4.aShort7576 && var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var7 + 1, var2, (byte)3) && (var7 + 1 >= this.aClass241_2801.anInt2870 * -648719443 || var11 == this.aClass241_2801.aClass400Array2867[var1].method6789(var7 + 2, var2, (byte)3)) && var7 - var6 <= 10; var10 = this.aClass241_2801.aClass572ArrayArrayArray2868[var1][var7 + 1][var2]) {
                        ++var7;
                     }

                     var12 = var1 - var1 + 1;
                     var13 = this.aClass241_2801.aClass400Array2867[var5?var1 + 1:var1].method6789(var6, var2, (byte)3);
                     var14 = var13 + var4.aShort7588 * var12;
                     var15 = this.aClass241_2801.aClass400Array2867[var5?var1 + 1:var1].method6789(var7 + 1, var2, (byte)3);
                     var16 = var15 + var4.aShort7588 * var12;
                     var17 = var6 << this.aClass241_2801.anInt2860 * 1261520001;
                     var18 = (var7 << this.aClass241_2801.anInt2860 * 1261520001) + this.aClass241_2801.anInt2861 * -156805669;
                     var19 = var2 << this.aClass241_2801.anInt2860 * 1261520001;
                     this.aClass240Array2804[this.anInt2809++] = new Class240(this.aClass241_2801, 2, var1, var17, var18, var18, var17, var13, var15, var16, var14, var19 + var4.aShort7576, var19 + var4.aShort7576, var19 + var4.aShort7576, var19 + var4.aShort7576);

                     for(var20 = var1; var20 <= var9; ++var20) {
                        for(var21 = var6; var21 <= var7; ++var21) {
                           this.aClass241_2801.aClass572ArrayArrayArray2868[var20][var21][var2].aShort7588 = (short)(this.aClass241_2801.aClass572ArrayArrayArray2868[var20][var21][var2].aShort7588 * -1);
                        }
                     }
                  }
               }
            }
         }
      }

      this.aBool2798 = true;
   }

   final boolean method4126(Class571 var1) {
      return var1 == null?false:this.method4091(var1.anInt7570, var1.anInt7567, var1.anInt7572, var1.anInt7571 - var1.anInt7570, var1.anInt7574 - var1.anInt7567, var1.anInt7575 - var1.anInt7572);
   }
}
