
public abstract class Class171_Sub1 extends Class171 {

   static int anInt9844;
   int anInt9845;
   int anInt9846;
   static int anInt9847;
   int anInt9848;
   static int anInt9849 = 0;
   int anInt9850;
   int[] anIntArray9851;
   static final int anInt9852 = 4;
   static final int anInt9853 = 8;
   static final int anInt9854 = 12;
   int anInt9855;
   static int anInt9856;
   static int anInt9857;
   static int anInt9858;
   static int anInt9859;
   static int anInt9860;
   static int anInt9861;
   static int anInt9862 = 0;
   static int anInt9863;
   static int anInt9864;
   static int anInt9865;
   int anInt9866;
   Class545_Sub3 aClass545_Sub3_9867;
   static int anInt9868;
   static int anInt9869;
   static int anInt9870;
   static int anInt9871;
   static int anInt9872;
   static int anInt9873 = 0;
   static int anInt9874 = 0;
   static int anInt9875 = 0;
   static int anInt9876 = 0;
   static int anInt9877;
   static int anInt9878 = 0;
   static int anInt9879 = 0;


   void method2989(float var1, float var2, float var3, float var4, float var5, float var6, int var7, Class496 var8, int var9, int var10) {
      if(this.aClass545_Sub3_9867.method15373()) {
         throw new IllegalStateException();
      } else if(this.method15413(var1, var2, var3, var4, var5, var6)) {
         Class496_Sub2 var11 = (Class496_Sub2)var8;
         this.method15412(var11.anIntArray9835, var11.anIntArray9836, anInt9844 - var9, -var10 - (anInt9858 - anInt9857));
      }
   }

   public void method2918(int var1, int var2, int var3, int var4) {
      this.anInt9855 = var1;
      this.anInt9848 = var2;
      this.anInt9845 = var3;
      this.anInt9850 = var4;
   }

   public void method2919(int[] var1) {
      var1[0] = this.anInt9855;
      var1[1] = this.anInt9848;
      var1[2] = this.anInt9845;
      var1[3] = this.anInt9850;
   }

   public int method2944() {
      return this.anInt9866;
   }

   public int method2921() {
      return this.anInt9846;
   }

   public int method94() {
      return this.anInt9855 + this.anInt9866 + this.anInt9845;
   }

   public int method2969() {
      return this.anInt9848 + this.anInt9846 + this.anInt9850;
   }

   public int method244() {
      return this.anInt9855 + this.anInt9866 + this.anInt9845;
   }

   public abstract void method2981(int var1, int var2, Class496 var3, int var4, int var5);

   abstract void method2931(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8);

   abstract void method2954(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8);

   public void method2999(int var1, int var2, int var3, int var4, int var5, int var6, int var7) {
      if(this.aClass545_Sub3_9867.method15373()) {
         throw new IllegalStateException();
      } else {
         if(this.anIntArray9851 == null) {
            this.anIntArray9851 = new int[4];
         }

         this.aClass545_Sub3_9867.qa(this.anIntArray9851);
         this.aClass545_Sub3_9867.o(this.aClass545_Sub3_9867.anInt9785 * -399365585, this.aClass545_Sub3_9867.anInt9800 * 493658681, var1 + var3, var2 + var4);
         int var8 = this.method94();
         int var9 = this.method2969();
         int var10 = (var3 + var8 - 1) / var8;
         int var11 = (var4 + var9 - 1) / var9;

         for(int var12 = 0; var12 < var11; ++var12) {
            int var13 = var12 * var9;

            for(int var14 = 0; var14 < var10; ++var14) {
               this.method2927(var1 + var14 * var8, var2 + var13, var5, var6, var7);
            }
         }

         this.aClass545_Sub3_9867.r(this.anIntArray9851[0], this.anIntArray9851[1], this.anIntArray9851[2], this.anIntArray9851[3]);
      }
   }

   Class171_Sub1(Class545_Sub3 var1, int var2, int var3) {
      this.aClass545_Sub3_9867 = var1;
      this.anInt9866 = var2;
      this.anInt9846 = var3;
   }

   public int method2943() {
      return this.anInt9866;
   }

   public void method2941(int var1, int var2, int var3, int var4, int var5, int var6, int var7) {
      if(this.aClass545_Sub3_9867.method15373()) {
         throw new IllegalStateException();
      } else {
         if(this.anIntArray9851 == null) {
            this.anIntArray9851 = new int[4];
         }

         this.aClass545_Sub3_9867.qa(this.anIntArray9851);
         this.aClass545_Sub3_9867.o(this.aClass545_Sub3_9867.anInt9785 * -399365585, this.aClass545_Sub3_9867.anInt9800 * 493658681, var1 + var3, var2 + var4);
         int var8 = this.method94();
         int var9 = this.method2969();
         int var10 = (var3 + var8 - 1) / var8;
         int var11 = (var4 + var9 - 1) / var9;

         for(int var12 = 0; var12 < var11; ++var12) {
            int var13 = var12 * var9;

            for(int var14 = 0; var14 < var10; ++var14) {
               this.method2927(var1 + var14 * var8, var2 + var13, var5, var6, var7);
            }
         }

         this.aClass545_Sub3_9867.r(this.anIntArray9851[0], this.anIntArray9851[1], this.anIntArray9851[2], this.anIntArray9851[3]);
      }
   }

   void method2942(float var1, float var2, float var3, float var4, float var5, float var6, int var7, Class496 var8, int var9, int var10) {
      if(this.aClass545_Sub3_9867.method15373()) {
         throw new IllegalStateException();
      } else if(this.method15413(var1, var2, var3, var4, var5, var6)) {
         Class496_Sub2 var11 = (Class496_Sub2)var8;
         this.method15412(var11.anIntArray9835, var11.anIntArray9836, anInt9844 - var9, -var10 - (anInt9858 - anInt9857));
      }
   }

   abstract void method15412(int[] var1, int[] var2, int var3, int var4);

   public abstract void method2927(int var1, int var2, int var3, int var4, int var5);

   public void method2958(int[] var1) {
      var1[0] = this.anInt9855;
      var1[1] = this.anInt9848;
      var1[2] = this.anInt9845;
      var1[3] = this.anInt9850;
   }

   public void method2955(int var1, int var2, int var3, int var4) {
      this.anInt9855 = var1;
      this.anInt9848 = var2;
      this.anInt9845 = var3;
      this.anInt9850 = var4;
   }

   boolean method15413(float var1, float var2, float var3, float var4, float var5, float var6) {
      int var7 = this.anInt9855 + this.anInt9866 + this.anInt9845;
      int var8 = this.anInt9848 + this.anInt9846 + this.anInt9850;
      float var9;
      float var10;
      float var11;
      float var12;
      float var13;
      float var14;
      float var15;
      float var16;
      if(var7 != this.anInt9866 || var8 != this.anInt9846) {
         var9 = (var3 - var1) / (float)var7;
         var10 = (var4 - var2) / (float)var7;
         var11 = (var5 - var1) / (float)var8;
         var12 = (var6 - var2) / (float)var8;
         var13 = var11 * (float)this.anInt9848;
         var14 = var12 * (float)this.anInt9848;
         var15 = var9 * (float)this.anInt9855;
         var16 = var10 * (float)this.anInt9855;
         float var17 = -var9 * (float)this.anInt9845;
         float var18 = -var10 * (float)this.anInt9845;
         float var19 = -var11 * (float)this.anInt9850;
         float var20 = -var12 * (float)this.anInt9850;
         var1 += var15 + var13;
         var2 += var16 + var14;
         var3 += var17 + var13;
         var4 += var18 + var14;
         var5 += var15 + var19;
         var6 += var16 + var20;
      }

      var9 = var5 + (var3 - var1);
      var10 = var4 + (var6 - var2);
      if(var1 < var3) {
         var11 = var1;
         var12 = var3;
      } else {
         var11 = var3;
         var12 = var1;
      }

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

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

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

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

      if(var2 < var4) {
         var13 = var2;
         var14 = var4;
      } else {
         var13 = var4;
         var14 = var2;
      }

      if(var6 < var13) {
         var13 = var6;
      }

      if(var10 < var13) {
         var13 = var10;
      }

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

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

      if(var11 < (float)(this.aClass545_Sub3_9867.anInt9785 * -399365585)) {
         var11 = (float)(this.aClass545_Sub3_9867.anInt9785 * -399365585);
      }

      if(var12 > (float)(this.aClass545_Sub3_9867.anInt9797 * -2090820537)) {
         var12 = (float)(this.aClass545_Sub3_9867.anInt9797 * -2090820537);
      }

      if(var13 < (float)(this.aClass545_Sub3_9867.anInt9800 * 493658681)) {
         var13 = (float)(this.aClass545_Sub3_9867.anInt9800 * 493658681);
      }

      if(var14 > (float)(this.aClass545_Sub3_9867.anInt9795 * -1644767141)) {
         var14 = (float)(this.aClass545_Sub3_9867.anInt9795 * -1644767141);
      }

      var12 = var11 - var12;
      if(var12 >= 0.0F) {
         return false;
      } else {
         var14 = var13 - var14;
         if(var14 >= 0.0F) {
            return false;
         } else {
            anInt9859 = this.aClass545_Sub3_9867.anInt9789 * 1251184143;
            anInt9864 = (int)((float)((int)var13 * anInt9859) + var11);
            var15 = (var3 - var1) * (var6 - var2) - (var4 - var2) * (var5 - var1);
            var16 = (var5 - var1) * (var4 - var2) - (var6 - var2) * (var3 - var1);
            anInt9861 = (int)((var6 - var2) * 4096.0F * (float)this.anInt9866 / var15);
            anInt9856 = (int)((var4 - var2) * 4096.0F * (float)this.anInt9846 / var16);
            anInt9863 = (int)((var5 - var1) * 4096.0F * (float)this.anInt9866 / var16);
            anInt9872 = (int)((var3 - var1) * 4096.0F * (float)this.anInt9846 / var15);
            anInt9865 = (int)(var11 * 16.0F + 8.0F - (var1 + var3 + var5 + var9) / 4.0F * 16.0F);
            anInt9877 = (int)(var13 * 16.0F + 8.0F - (var2 + var4 + var6 + var10) / 4.0F * 16.0F);
            anInt9860 = (this.anInt9866 >> 1 << 12) + (anInt9877 * anInt9863 >> 4);
            anInt9868 = (this.anInt9846 >> 1 << 12) + (anInt9877 * anInt9872 >> 4);
            anInt9869 = anInt9865 * anInt9861 >> 4;
            anInt9870 = anInt9865 * anInt9856 >> 4;
            anInt9844 = (int)var11;
            anInt9847 = (int)var12;
            anInt9857 = (int)var13;
            anInt9858 = (int)var14;
            return true;
         }
      }
   }

   void method2928(float var1, float var2, float var3, float var4, float var5, float var6, int var7, int var8, int var9, int var10) {
      if(this.aClass545_Sub3_9867.method15373()) {
         throw new IllegalStateException();
      } else if(this.method15413(var1, var2, var3, var4, var5, var6)) {
         anInt9871 = var8;
         if(var7 != 1) {
            anInt9862 = var8 >>> 24;
            anInt9873 = 256 - anInt9862;
            if(var7 == 0) {
               anInt9874 = (var8 & 16711680) >> 16;
               anInt9875 = (var8 & '\uff00') >> 8;
               anInt9876 = var8 & 255;
            } else if(var7 == 2) {
               anInt9849 = var8 >>> 24;
               anInt9878 = 256 - anInt9849;
               int var11 = (var8 & 16711935) * anInt9878 & -16711936;
               int var12 = (var8 & '\uff00') * anInt9878 & 16711680;
               anInt9879 = (var11 | var12) >>> 8;
            }
         }

         this.method15421(var7, var9);
      }
   }

   abstract void method15414(int var1, int var2);

   abstract void method15415(int[] var1, int[] var2, int var3, int var4);

   public abstract void method2952(int var1, int var2, int var3, int var4, int var5);

   public int method243() {
      return this.anInt9855 + this.anInt9866 + this.anInt9845;
   }

   public void method2957(int var1, int var2, int var3, int var4) {
      this.anInt9855 = var1;
      this.anInt9848 = var2;
      this.anInt9845 = var3;
      this.anInt9850 = var4;
   }

   boolean method15416(float var1, float var2, float var3, float var4, float var5, float var6) {
      int var7 = this.anInt9855 + this.anInt9866 + this.anInt9845;
      int var8 = this.anInt9848 + this.anInt9846 + this.anInt9850;
      float var9;
      float var10;
      float var11;
      float var12;
      float var13;
      float var14;
      float var15;
      float var16;
      if(var7 != this.anInt9866 || var8 != this.anInt9846) {
         var9 = (var3 - var1) / (float)var7;
         var10 = (var4 - var2) / (float)var7;
         var11 = (var5 - var1) / (float)var8;
         var12 = (var6 - var2) / (float)var8;
         var13 = var11 * (float)this.anInt9848;
         var14 = var12 * (float)this.anInt9848;
         var15 = var9 * (float)this.anInt9855;
         var16 = var10 * (float)this.anInt9855;
         float var17 = -var9 * (float)this.anInt9845;
         float var18 = -var10 * (float)this.anInt9845;
         float var19 = -var11 * (float)this.anInt9850;
         float var20 = -var12 * (float)this.anInt9850;
         var1 += var15 + var13;
         var2 += var16 + var14;
         var3 += var17 + var13;
         var4 += var18 + var14;
         var5 += var15 + var19;
         var6 += var16 + var20;
      }

      var9 = var5 + (var3 - var1);
      var10 = var4 + (var6 - var2);
      if(var1 < var3) {
         var11 = var1;
         var12 = var3;
      } else {
         var11 = var3;
         var12 = var1;
      }

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

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

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

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

      if(var2 < var4) {
         var13 = var2;
         var14 = var4;
      } else {
         var13 = var4;
         var14 = var2;
      }

      if(var6 < var13) {
         var13 = var6;
      }

      if(var10 < var13) {
         var13 = var10;
      }

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

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

      if(var11 < (float)(this.aClass545_Sub3_9867.anInt9785 * -399365585)) {
         var11 = (float)(this.aClass545_Sub3_9867.anInt9785 * -399365585);
      }

      if(var12 > (float)(this.aClass545_Sub3_9867.anInt9797 * -2090820537)) {
         var12 = (float)(this.aClass545_Sub3_9867.anInt9797 * -2090820537);
      }

      if(var13 < (float)(this.aClass545_Sub3_9867.anInt9800 * 493658681)) {
         var13 = (float)(this.aClass545_Sub3_9867.anInt9800 * 493658681);
      }

      if(var14 > (float)(this.aClass545_Sub3_9867.anInt9795 * -1644767141)) {
         var14 = (float)(this.aClass545_Sub3_9867.anInt9795 * -1644767141);
      }

      var12 = var11 - var12;
      if(var12 >= 0.0F) {
         return false;
      } else {
         var14 = var13 - var14;
         if(var14 >= 0.0F) {
            return false;
         } else {
            anInt9859 = this.aClass545_Sub3_9867.anInt9789 * 1251184143;
            anInt9864 = (int)((float)((int)var13 * anInt9859) + var11);
            var15 = (var3 - var1) * (var6 - var2) - (var4 - var2) * (var5 - var1);
            var16 = (var5 - var1) * (var4 - var2) - (var6 - var2) * (var3 - var1);
            anInt9861 = (int)((var6 - var2) * 4096.0F * (float)this.anInt9866 / var15);
            anInt9856 = (int)((var4 - var2) * 4096.0F * (float)this.anInt9846 / var16);
            anInt9863 = (int)((var5 - var1) * 4096.0F * (float)this.anInt9866 / var16);
            anInt9872 = (int)((var3 - var1) * 4096.0F * (float)this.anInt9846 / var15);
            anInt9865 = (int)(var11 * 16.0F + 8.0F - (var1 + var3 + var5 + var9) / 4.0F * 16.0F);
            anInt9877 = (int)(var13 * 16.0F + 8.0F - (var2 + var4 + var6 + var10) / 4.0F * 16.0F);
            anInt9860 = (this.anInt9866 >> 1 << 12) + (anInt9877 * anInt9863 >> 4);
            anInt9868 = (this.anInt9846 >> 1 << 12) + (anInt9877 * anInt9872 >> 4);
            anInt9869 = anInt9865 * anInt9861 >> 4;
            anInt9870 = anInt9865 * anInt9856 >> 4;
            anInt9844 = (int)var11;
            anInt9847 = (int)var12;
            anInt9857 = (int)var13;
            anInt9858 = (int)var14;
            return true;
         }
      }
   }

   public void method2959(int[] var1) {
      var1[0] = this.anInt9855;
      var1[1] = this.anInt9848;
      var1[2] = this.anInt9845;
      var1[3] = this.anInt9850;
   }

   public int method2960() {
      return this.anInt9866;
   }

   public int method2961() {
      return this.anInt9866;
   }

   public abstract void method2970(int var1, int var2, Class496 var3, int var4, int var5);

   public int method2963() {
      return this.anInt9846;
   }

   public int method2964() {
      return this.anInt9846;
   }

   public int method2965() {
      return this.anInt9846;
   }

   public void method2956(int var1, int var2, int var3, int var4) {
      this.anInt9855 = var1;
      this.anInt9848 = var2;
      this.anInt9845 = var3;
      this.anInt9850 = var4;
   }

   abstract void method15417(boolean var1, boolean var2, boolean var3, int var4, int var5, float var6, int var7, int var8, int var9, int var10, int var11, int var12, boolean var13);

   public int method2966() {
      return this.anInt9846;
   }

   boolean method15418(float var1, float var2, float var3, float var4, float var5, float var6) {
      int var7 = this.anInt9855 + this.anInt9866 + this.anInt9845;
      int var8 = this.anInt9848 + this.anInt9846 + this.anInt9850;
      float var9;
      float var10;
      float var11;
      float var12;
      float var13;
      float var14;
      float var15;
      float var16;
      if(var7 != this.anInt9866 || var8 != this.anInt9846) {
         var9 = (var3 - var1) / (float)var7;
         var10 = (var4 - var2) / (float)var7;
         var11 = (var5 - var1) / (float)var8;
         var12 = (var6 - var2) / (float)var8;
         var13 = var11 * (float)this.anInt9848;
         var14 = var12 * (float)this.anInt9848;
         var15 = var9 * (float)this.anInt9855;
         var16 = var10 * (float)this.anInt9855;
         float var17 = -var9 * (float)this.anInt9845;
         float var18 = -var10 * (float)this.anInt9845;
         float var19 = -var11 * (float)this.anInt9850;
         float var20 = -var12 * (float)this.anInt9850;
         var1 += var15 + var13;
         var2 += var16 + var14;
         var3 += var17 + var13;
         var4 += var18 + var14;
         var5 += var15 + var19;
         var6 += var16 + var20;
      }

      var9 = var5 + (var3 - var1);
      var10 = var4 + (var6 - var2);
      if(var1 < var3) {
         var11 = var1;
         var12 = var3;
      } else {
         var11 = var3;
         var12 = var1;
      }

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

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

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

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

      if(var2 < var4) {
         var13 = var2;
         var14 = var4;
      } else {
         var13 = var4;
         var14 = var2;
      }

      if(var6 < var13) {
         var13 = var6;
      }

      if(var10 < var13) {
         var13 = var10;
      }

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

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

      if(var11 < (float)(this.aClass545_Sub3_9867.anInt9785 * -399365585)) {
         var11 = (float)(this.aClass545_Sub3_9867.anInt9785 * -399365585);
      }

      if(var12 > (float)(this.aClass545_Sub3_9867.anInt9797 * -2090820537)) {
         var12 = (float)(this.aClass545_Sub3_9867.anInt9797 * -2090820537);
      }

      if(var13 < (float)(this.aClass545_Sub3_9867.anInt9800 * 493658681)) {
         var13 = (float)(this.aClass545_Sub3_9867.anInt9800 * 493658681);
      }

      if(var14 > (float)(this.aClass545_Sub3_9867.anInt9795 * -1644767141)) {
         var14 = (float)(this.aClass545_Sub3_9867.anInt9795 * -1644767141);
      }

      var12 = var11 - var12;
      if(var12 >= 0.0F) {
         return false;
      } else {
         var14 = var13 - var14;
         if(var14 >= 0.0F) {
            return false;
         } else {
            anInt9859 = this.aClass545_Sub3_9867.anInt9789 * 1251184143;
            anInt9864 = (int)((float)((int)var13 * anInt9859) + var11);
            var15 = (var3 - var1) * (var6 - var2) - (var4 - var2) * (var5 - var1);
            var16 = (var5 - var1) * (var4 - var2) - (var6 - var2) * (var3 - var1);
            anInt9861 = (int)((var6 - var2) * 4096.0F * (float)this.anInt9866 / var15);
            anInt9856 = (int)((var4 - var2) * 4096.0F * (float)this.anInt9846 / var16);
            anInt9863 = (int)((var5 - var1) * 4096.0F * (float)this.anInt9866 / var16);
            anInt9872 = (int)((var3 - var1) * 4096.0F * (float)this.anInt9846 / var15);
            anInt9865 = (int)(var11 * 16.0F + 8.0F - (var1 + var3 + var5 + var9) / 4.0F * 16.0F);
            anInt9877 = (int)(var13 * 16.0F + 8.0F - (var2 + var4 + var6 + var10) / 4.0F * 16.0F);
            anInt9860 = (this.anInt9866 >> 1 << 12) + (anInt9877 * anInt9863 >> 4);
            anInt9868 = (this.anInt9846 >> 1 << 12) + (anInt9877 * anInt9872 >> 4);
            anInt9869 = anInt9865 * anInt9861 >> 4;
            anInt9870 = anInt9865 * anInt9856 >> 4;
            anInt9844 = (int)var11;
            anInt9847 = (int)var12;
            anInt9857 = (int)var13;
            anInt9858 = (int)var14;
            return true;
         }
      }
   }

   public void method2967(int var1, int var2, int var3, int var4, int var5, int var6, int var7) {
      if(this.aClass545_Sub3_9867.method15373()) {
         throw new IllegalStateException();
      } else {
         if(this.anIntArray9851 == null) {
            this.anIntArray9851 = new int[4];
         }

         this.aClass545_Sub3_9867.qa(this.anIntArray9851);
         this.aClass545_Sub3_9867.o(this.aClass545_Sub3_9867.anInt9785 * -399365585, this.aClass545_Sub3_9867.anInt9800 * 493658681, var1 + var3, var2 + var4);
         int var8 = this.method94();
         int var9 = this.method2969();
         int var10 = (var3 + var8 - 1) / var8;
         int var11 = (var4 + var9 - 1) / var9;

         for(int var12 = 0; var12 < var11; ++var12) {
            int var13 = var12 * var9;

            for(int var14 = 0; var14 < var10; ++var14) {
               this.method2927(var1 + var14 * var8, var2 + var13, var5, var6, var7);
            }
         }

         this.aClass545_Sub3_9867.r(this.anIntArray9851[0], this.anIntArray9851[1], this.anIntArray9851[2], this.anIntArray9851[3]);
      }
   }

   abstract void method15419(boolean var1, boolean var2, boolean var3, int var4, int var5, float var6, int var7, int var8, int var9, int var10, int var11, int var12, boolean var13);

   public void method2938(int var1, int var2, int var3, int var4, int var5, int var6, int var7) {
      if(this.aClass545_Sub3_9867.method15373()) {
         throw new IllegalStateException();
      } else {
         if(this.anIntArray9851 == null) {
            this.anIntArray9851 = new int[4];
         }

         this.aClass545_Sub3_9867.qa(this.anIntArray9851);
         this.aClass545_Sub3_9867.o(this.aClass545_Sub3_9867.anInt9785 * -399365585, this.aClass545_Sub3_9867.anInt9800 * 493658681, var1 + var3, var2 + var4);
         int var8 = this.method94();
         int var9 = this.method2969();
         int var10 = (var3 + var8 - 1) / var8;
         int var11 = (var4 + var9 - 1) / var9;

         for(int var12 = 0; var12 < var11; ++var12) {
            int var13 = var12 * var9;

            for(int var14 = 0; var14 < var10; ++var14) {
               this.method2927(var1 + var14 * var8, var2 + var13, var5, var6, var7);
            }
         }

         this.aClass545_Sub3_9867.r(this.anIntArray9851[0], this.anIntArray9851[1], this.anIntArray9851[2], this.anIntArray9851[3]);
      }
   }

   void method2974(float var1, float var2, float var3, float var4, float var5, float var6, int var7, Class496 var8, int var9, int var10) {
      if(this.aClass545_Sub3_9867.method15373()) {
         throw new IllegalStateException();
      } else if(this.method15413(var1, var2, var3, var4, var5, var6)) {
         Class496_Sub2 var11 = (Class496_Sub2)var8;
         this.method15412(var11.anIntArray9835, var11.anIntArray9836, anInt9844 - var9, -var10 - (anInt9858 - anInt9857));
      }
   }

   boolean method15420(float var1, float var2, float var3, float var4, float var5, float var6) {
      int var7 = this.anInt9855 + this.anInt9866 + this.anInt9845;
      int var8 = this.anInt9848 + this.anInt9846 + this.anInt9850;
      float var9;
      float var10;
      float var11;
      float var12;
      float var13;
      float var14;
      float var15;
      float var16;
      if(var7 != this.anInt9866 || var8 != this.anInt9846) {
         var9 = (var3 - var1) / (float)var7;
         var10 = (var4 - var2) / (float)var7;
         var11 = (var5 - var1) / (float)var8;
         var12 = (var6 - var2) / (float)var8;
         var13 = var11 * (float)this.anInt9848;
         var14 = var12 * (float)this.anInt9848;
         var15 = var9 * (float)this.anInt9855;
         var16 = var10 * (float)this.anInt9855;
         float var17 = -var9 * (float)this.anInt9845;
         float var18 = -var10 * (float)this.anInt9845;
         float var19 = -var11 * (float)this.anInt9850;
         float var20 = -var12 * (float)this.anInt9850;
         var1 += var15 + var13;
         var2 += var16 + var14;
         var3 += var17 + var13;
         var4 += var18 + var14;
         var5 += var15 + var19;
         var6 += var16 + var20;
      }

      var9 = var5 + (var3 - var1);
      var10 = var4 + (var6 - var2);
      if(var1 < var3) {
         var11 = var1;
         var12 = var3;
      } else {
         var11 = var3;
         var12 = var1;
      }

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

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

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

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

      if(var2 < var4) {
         var13 = var2;
         var14 = var4;
      } else {
         var13 = var4;
         var14 = var2;
      }

      if(var6 < var13) {
         var13 = var6;
      }

      if(var10 < var13) {
         var13 = var10;
      }

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

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

      if(var11 < (float)(this.aClass545_Sub3_9867.anInt9785 * -399365585)) {
         var11 = (float)(this.aClass545_Sub3_9867.anInt9785 * -399365585);
      }

      if(var12 > (float)(this.aClass545_Sub3_9867.anInt9797 * -2090820537)) {
         var12 = (float)(this.aClass545_Sub3_9867.anInt9797 * -2090820537);
      }

      if(var13 < (float)(this.aClass545_Sub3_9867.anInt9800 * 493658681)) {
         var13 = (float)(this.aClass545_Sub3_9867.anInt9800 * 493658681);
      }

      if(var14 > (float)(this.aClass545_Sub3_9867.anInt9795 * -1644767141)) {
         var14 = (float)(this.aClass545_Sub3_9867.anInt9795 * -1644767141);
      }

      var12 = var11 - var12;
      if(var12 >= 0.0F) {
         return false;
      } else {
         var14 = var13 - var14;
         if(var14 >= 0.0F) {
            return false;
         } else {
            anInt9859 = this.aClass545_Sub3_9867.anInt9789 * 1251184143;
            anInt9864 = (int)((float)((int)var13 * anInt9859) + var11);
            var15 = (var3 - var1) * (var6 - var2) - (var4 - var2) * (var5 - var1);
            var16 = (var5 - var1) * (var4 - var2) - (var6 - var2) * (var3 - var1);
            anInt9861 = (int)((var6 - var2) * 4096.0F * (float)this.anInt9866 / var15);
            anInt9856 = (int)((var4 - var2) * 4096.0F * (float)this.anInt9846 / var16);
            anInt9863 = (int)((var5 - var1) * 4096.0F * (float)this.anInt9866 / var16);
            anInt9872 = (int)((var3 - var1) * 4096.0F * (float)this.anInt9846 / var15);
            anInt9865 = (int)(var11 * 16.0F + 8.0F - (var1 + var3 + var5 + var9) / 4.0F * 16.0F);
            anInt9877 = (int)(var13 * 16.0F + 8.0F - (var2 + var4 + var6 + var10) / 4.0F * 16.0F);
            anInt9860 = (this.anInt9866 >> 1 << 12) + (anInt9877 * anInt9863 >> 4);
            anInt9868 = (this.anInt9846 >> 1 << 12) + (anInt9877 * anInt9872 >> 4);
            anInt9869 = anInt9865 * anInt9861 >> 4;
            anInt9870 = anInt9865 * anInt9856 >> 4;
            anInt9844 = (int)var11;
            anInt9847 = (int)var12;
            anInt9857 = (int)var13;
            anInt9858 = (int)var14;
            return true;
         }
      }
   }

   abstract void method15421(int var1, int var2);

   void method2973(float var1, float var2, float var3, float var4, float var5, float var6, int var7, Class496 var8, int var9, int var10) {
      if(this.aClass545_Sub3_9867.method15373()) {
         throw new IllegalStateException();
      } else if(this.method15413(var1, var2, var3, var4, var5, var6)) {
         Class496_Sub2 var11 = (Class496_Sub2)var8;
         this.method15412(var11.anIntArray9835, var11.anIntArray9836, anInt9844 - var9, -var10 - (anInt9858 - anInt9857));
      }
   }

   abstract void method15422(int[] var1, int[] var2, int var3, int var4);

   public int method2953() {
      return this.anInt9848 + this.anInt9846 + this.anInt9850;
   }

   void method2975(float var1, float var2, float var3, float var4, float var5, float var6, int var7, int var8, int var9, int var10) {
      if(this.aClass545_Sub3_9867.method15373()) {
         throw new IllegalStateException();
      } else if(this.method15413(var1, var2, var3, var4, var5, var6)) {
         anInt9871 = var8;
         if(var7 != 1) {
            anInt9862 = var8 >>> 24;
            anInt9873 = 256 - anInt9862;
            if(var7 == 0) {
               anInt9874 = (var8 & 16711680) >> 16;
               anInt9875 = (var8 & '\uff00') >> 8;
               anInt9876 = var8 & 255;
            } else if(var7 == 2) {
               anInt9849 = var8 >>> 24;
               anInt9878 = 256 - anInt9849;
               int var11 = (var8 & 16711935) * anInt9878 & -16711936;
               int var12 = (var8 & '\uff00') * anInt9878 & 16711680;
               anInt9879 = (var11 | var12) >>> 8;
            }
         }

         this.method15421(var7, var9);
      }
   }
}
