
public abstract class Class400 {

   public int anInt4908;
   public int anInt4909;
   public int anInt4910;
   public int anInt4911;
   public int[][] anIntArrayArray4912;


   public abstract void h(int var1, int var2, int var3);

   public abstract void q();

   public abstract void method6785(int var1, int var2, int[] var3, int[] var4, int[] var5, int[] var6, int[] var7, int[] var8, int[] var9, int[] var10, Class153 var11, boolean var12);

   public abstract void method6786(int var1, int var2, int[] var3, int[] var4, int[] var5, int[] var6, int[] var7, int[] var8, int[] var9, int[] var10, int[] var11, int[] var12, int[] var13, Class153 var14, boolean var15);

   public abstract void SA();

   public abstract void method6787(int var1, int var2, int var3, boolean[][] var4, boolean var5, int var6);

   public abstract void method6788(int var1, int var2, int var3, int var4, int var5, int var6, int var7, boolean[][] var8);

   public abstract Class225_Sub14_Sub16 w(int var1, int var2, Class225_Sub14_Sub16 var3);

   public final int method6789(int var1, int var2, byte var3) {
      return this.anIntArrayArray4912[var1][var2];
   }

   public abstract void method6790(int var1, int var2, int[] var3, int[] var4, int[] var5, int[] var6, int[] var7, int[] var8, int[] var9, int[] var10, int[] var11, int[] var12, int[] var13, Class153 var14, boolean var15);

   public final int method6791(int var1, int var2, int var3) {
      int var4 = var1 >> -1451148795 * this.anInt4909;
      int var5 = var2 >> -1451148795 * this.anInt4909;
      if(var4 >= 0 && var5 >= 0 && var4 <= this.anInt4911 * 1724373523 - 1 && var5 <= 1696648095 * this.anInt4908 - 1) {
         int var6 = var1 & 2111724147 * this.anInt4910 - 1;
         int var7 = var2 & this.anInt4910 * 2111724147 - 1;
         int var8 = var6 * this.anIntArrayArray4912[1 + var4][var5] + this.anIntArrayArray4912[var4][var5] * (2111724147 * this.anInt4910 - var6) >> this.anInt4909 * -1451148795;
         int var9 = (2111724147 * this.anInt4910 - var6) * this.anIntArrayArray4912[var4][1 + var5] + this.anIntArrayArray4912[var4 + 1][var5 + 1] * var6 >> this.anInt4909 * -1451148795;
         return var8 * (this.anInt4910 * 2111724147 - var7) + var9 * var7 >> this.anInt4909 * -1451148795;
      } else {
         return 0;
      }
   }

   public abstract void NA(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6);

   public abstract boolean method6792(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6);

   public abstract void method6793(Class225_Sub40 var1, int[] var2);

   public abstract void b(int var1, int var2, int var3);

   public abstract void m(int var1, int var2, int var3);

   public abstract void LA(int var1, int var2, int var3);

   public abstract void method6794(int var1, int var2, int[] var3, int[] var4, int[] var5, int[] var6, int[] var7, int[] var8, int[] var9, int[] var10, Class153 var11, boolean var12);

   public abstract void method6795(int var1, int var2, int[] var3, int[] var4, int[] var5, int[] var6, int[] var7, int[] var8, int[] var9, int[] var10, Class153 var11, boolean var12);

   public final int method6796(int var1, int var2) {
      return this.anIntArrayArray4912[var1][var2];
   }

   public abstract void method6797(int var1, int var2, int var3, boolean[][] var4, boolean var5, int var6);

   public abstract Class225_Sub14_Sub16 z(int var1, int var2, Class225_Sub14_Sub16 var3);

   public abstract void method6798(int var1, int var2, int var3, int var4, int var5, int var6, int var7, boolean[][] var8);

   public abstract Class225_Sub14_Sub16 k(int var1, int var2, Class225_Sub14_Sub16 var3);

   public abstract Class225_Sub14_Sub16 j(int var1, int var2, Class225_Sub14_Sub16 var3);

   public abstract boolean method6799(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6);

   public abstract void i(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6);

   public abstract void e(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6);

   Class400(int var1, int var2, int var3, int[][] var4) {
      this.anInt4911 = var1 * 1357119515;
      this.anInt4908 = var2 * -2049601441;

      int var5;
      for(var5 = 0; var3 > 1; var3 >>= 1) {
         ++var5;
      }

      this.anInt4910 = (1 << var5) * -1967465797;
      this.anInt4909 = 2067169997 * var5;
      this.anIntArrayArray4912 = var4;
   }

   public abstract void ad(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6);

   public abstract void ah(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6);

   public abstract void method6800(int var1, int var2, int var3, boolean[][] var4, boolean var5, int var6);

   public abstract boolean method6801(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6);

   public abstract boolean method6802(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6);

   public abstract void al(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6);

   public abstract void method6803(Class225_Sub40 var1, int[] var2);

   public abstract void method6804(Class225_Sub40 var1, int[] var2);

   public abstract void method6805(int var1, int var2, int[] var3, int[] var4, int[] var5, int[] var6, int[] var7, int[] var8, int[] var9, int[] var10, int[] var11, int[] var12, int[] var13, Class153 var14, boolean var15);

   public abstract void s(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6);

   public final int method6806(int var1, int var2) {
      int var3 = var1 >> -1451148795 * this.anInt4909;
      int var4 = var2 >> -1451148795 * this.anInt4909;
      if(var3 >= 0 && var4 >= 0 && var3 <= this.anInt4911 * 1724373523 - 1 && var4 <= 1696648095 * this.anInt4908 - 1) {
         int var5 = var1 & 2111724147 * this.anInt4910 - 1;
         int var6 = var2 & this.anInt4910 * 2111724147 - 1;
         int var7 = var5 * this.anIntArrayArray4912[1 + var3][var4] + this.anIntArrayArray4912[var3][var4] * (2111724147 * this.anInt4910 - var5) >> this.anInt4909 * -1451148795;
         int var8 = (2111724147 * this.anInt4910 - var5) * this.anIntArrayArray4912[var3][1 + var4] + this.anIntArrayArray4912[var3 + 1][var4 + 1] * var5 >> this.anInt4909 * -1451148795;
         return var7 * (this.anInt4910 * 2111724147 - var6) + var8 * var6 >> this.anInt4909 * -1451148795;
      } else {
         return 0;
      }
   }

   public abstract void UA(Class225_Sub14_Sub16 var1, int var2, int var3, int var4, int var5, boolean var6);

   static final void method6807(Class508 var0, int var1) {
      var0.aLongArray6008[(var0.anInt6007 += -1693677645) * 993230715 - 1] = var0.aLongArray5999[var0.anIntArray6023[1651565071 * var0.anInt6025]];
   }

   static void method6808(int var0, int var1, byte var2) {
      if(!Class304.aClass535_3876.aBool7265) {
         if(-303511557 * Class2.anInt27 == 1) {
            return;
         }

         if(Class497.aBool5938 && -303511557 * Class2.anInt27 == 2 && Class550_Sub1.aClass225_Sub14_Sub3_8322.aString10014.equals(Class418.aClass418_5277.method7137(Class498.aClass470_5944, (byte)2))) {
            return;
         }
      }

      Class405 var3 = Class237.method4145(1332605874);
      int var4 = var3.method6839(Class418.aClass418_5274.method7137(Class498.aClass470_5944, (byte)-35), -932207912);
      int var6;
      int var7;
      if(!Class2.aBool25) {
         for(Class225_Sub14_Sub3 var5 = (Class225_Sub14_Sub3)Class2.aClass456_29.method7682((byte)68); var5 != null; var5 = (Class225_Sub14_Sub3)Class2.aClass456_29.method7666(-1254766410)) {
            var6 = Class217.method3748(var5, var3, -490913870);
            if(var6 > var4) {
               var4 = var6;
            }
         }

         var4 += 8;
         var7 = 21 + -303511557 * Class2.anInt27 * 785131703 * Class2.anInt17;
         Class110.anInt1091 = (785131703 * Class2.anInt17 * -303511557 * Class2.anInt27 + (Class2.aBool45?26:22)) * -85114219;
      } else {
         for(Class225_Sub14_Sub10 var8 = (Class225_Sub14_Sub10)Class2.aClass455_34.method7602(1173312891); var8 != null; var8 = (Class225_Sub14_Sub10)Class2.aClass455_34.method7604(-646532979)) {
            if(244043713 * var8.anInt10523 == 1) {
               var6 = Class217.method3748((Class225_Sub14_Sub3)var8.aClass455_10525.aClass225_Sub14_5685.aClass225_Sub14_8553, var3, 1457960980);
            } else {
               var6 = Class273.method4850(var8, var3, 388168237);
            }

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

         var4 += 8;
         var7 = 21 + Class2.anInt28 * 905723229 * Class2.anInt17 * 785131703;
         Class110.anInt1091 = ((Class2.aBool45?26:22) + Class2.anInt17 * 785131703 * 905723229 * Class2.anInt28) * -85114219;
      }

      var4 += 10;
      int var9 = var0 - var4 / 2;
      if(var9 + var4 > 759890095 * Class563.anInt7495) {
         var9 = 759890095 * Class563.anInt7495 - var4;
      }

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

      var6 = var1;
      if(var7 + var1 > Class440.anInt5458 * 1404657485) {
         var6 = 1404657485 * Class440.anInt5458 - var7;
      }

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

      Class506.anInt5990 = -990424253 * var9;
      Class290.anInt3413 = var6 * -1748385805;
      Class274.anInt3186 = -763229825 * var4;
      Class2.anInt57 = (int)(Math.random() * 24.0D) * -686320117;
      Class2.aBool20 = true;
   }

   public static void method6809(int var0, int var1) {
      Class215_Sub1.anInt8342 = -264234723;
      Class215_Sub1.anInt8346 = var0 * 1858130899;
      Class260.anInt3053 = -212113567;
      Class215_Sub1.anInt8341 = 1735035796;
   }

   static void method6810(byte var0) {
      Class314.method5604(-35476970);
   }

   static final void method6811(Class508 var0, byte var1) {
      int var2 = var0.anIntArray6027[(var0.anInt6003 -= 98312473) * -937710807];
      if(2 == 995204269 * client.anInt7769 && var2 >= 0 && var2 < 1907362565 * client.anInt7651) {
         var0.anIntArray6027[(var0.anInt6003 += 98312473) * -937710807 - 1] = client.aClass13Array7931[var2].anInt164 * 1815206075;
      } else {
         var0.anIntArray6027[(var0.anInt6003 += 98312473) * -937710807 - 1] = 0;
      }

   }
}
