import java.awt.Canvas;

public class Class545_Sub3 extends Class545 {

   int anInt9785;
   int anInt9786;
   boolean aBool9787;
   int[] anIntArray9788;
   int anInt9789;
   int anInt9790;
   Class174[] aClass174Array9791;
   int anInt9792;
   int anInt9793;
   Class171 aClass171_9794;
   int anInt9795;
   int anInt9796;
   int anInt9797;
   int anInt9798;
   int anInt9799;
   int anInt9800;
   int anInt9801;
   Class328 aClass328_9802;
   Class317 aClass317_9803;
   int anInt9804;
   Class317 aClass317_9805;
   float[][] aFloatArrayArray9806;
   int anInt9807;
   float[] aFloatArray9808;
   int anInt9809;
   float aFloat9810;
   Class564 aClass564_9811;
   float aFloat9812;
   float aFloat9813;
   float aFloat9814;
   float aFloat9815;
   float aFloat9816;
   int anInt9817;
   boolean aBool9818;
   Class317 aClass317_9819;
   Class564 aClass564_9820;
   int anInt9821;
   int anInt9822;
   public static Class253 aClass253_9823;


   void method15335(boolean var1, boolean var2, boolean var3, Class222_Sub1_Sub1 var4, int var5, int var6, float var7, int var8) {
      int var9 = var4.anInt10060;
      int var10 = var8;
      var8 <<= 1;
      if(-1 == var9) {
         this.method15390(var2, var5, var6, var7, var10, var4.anInt10061, 1);
      } else {
         if(-185182257 * this.anInt9822 != var9) {
            Class171 var11 = (Class171)this.aClass564_9820.method11959((long)var9);
            if(null == var11) {
               int[] var12 = this.method15336(var9);
               if(var12 == null) {
                  return;
               }

               int var13 = this.anInterface24_7370.method113(var9, 347424439).anInt1989 * -836426007;
               var11 = this.method11599(var12, 0, var13, var13, var13, 98312473);
               this.aClass564_9820.method11958(var11, (long)var9);
            }

            this.anInt9822 = -1312600273 * var9;
            this.aClass171_9794 = var11;
         }

         ++var8;
         ((Class171_Sub1)this.aClass171_9794).method15419(var1, var2, var3, var5 - var10, var6 - var10, var7, var8, var8, 0, var4.anInt10061, 1, 1, false);
      }

   }

   Class545_Sub3(Interface24 var1) {
      super(var1);
      this.aBool9818 = false;
      this.aBool9787 = false;
      this.anInt9785 = 0;
      this.anInt9797 = 0;
      this.anInt9800 = 0;
      this.anInt9795 = 0;
      this.anInt9799 = 1447627935;
      this.anInt9804 = 70165698;
      this.anInt9801 = 120375494;
      this.aFloatArrayArray9806 = new float[6][4];
      this.aFloat9815 = 1.0F;
      this.aFloat9816 = 0.0F;
      this.aClass564_9820 = new Class564(16);
      this.anInt9822 = 1312600273;

      try {
         this.aClass564_9811 = new Class564(6291456, 256);
         this.aClass328_9802 = new Class328();
         this.aClass317_9803 = new Class317();
         this.aClass317_9819 = new Class317();
         this.aClass317_9805 = new Class317();
         this.method15347(1);
         this.method15391(0);
         Class94.method1844(true, true, -579086263);
         this.aBool9787 = true;
         this.anInt9786 = (int)Class339.method6240(314823452) * -1389872955;
      } catch (Throwable var3) {
         var3.printStackTrace();
         this.method11431(-641424614);
         throw new RuntimeException("");
      }
   }

   public Class85 method11427() {
      return new Class85(0, "Pure Java", 1, "CPU", 0L);
   }

   void method11429(int var1, int var2) throws Exception_Sub5 {
      this.aClass151_Sub2_7358.method14945(var1, var2);
      if(this.anInterface24_7370 != null) {
         this.anInterface24_7370.method117((byte)64);
      }

   }

   public void method11564(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9) {
      if(null != this.anIntArray9788) {
         Class496_Sub2 var10 = (Class496_Sub2)var7;
         int[] var11 = var10.anIntArray9835;
         int[] var12 = var10.anIntArray9836;
         int var13 = this.anInt9800 * 493658681 > var9?493658681 * this.anInt9800:var9;
         int var14 = this.anInt9795 * -1644767141 < var9 + var11.length?-1644767141 * this.anInt9795:var9 + var11.length;
         var3 -= var1;
         var4 -= var2;
         if(var4 + var3 < 0) {
            var1 += var3;
            var3 = -var3;
            var2 += var4;
            var4 = -var4;
         }

         int var15;
         int var17;
         int var16;
         int var19;
         int var18;
         int var21;
         int var20;
         int var23;
         int var22;
         if(var3 > var4) {
            var2 <<= 16;
            var2 += '\u8000';
            var4 <<= 16;
            var15 = (int)Math.floor(0.5D + (double)var4 / (double)var3);
            var3 += var1;
            if(var1 < this.anInt9785 * -399365585) {
               var2 += var15 * (this.anInt9785 * -399365585 - var1);
               var1 = this.anInt9785 * -399365585;
            }

            if(var3 >= this.anInt9797 * -2090820537) {
               var3 = -2090820537 * this.anInt9797 - 1;
            }

            var16 = var5 >>> 24;
            if(0 != var6 && (var6 != 1 || 255 != var16)) {
               if(var6 == 1) {
                  var5 = ((var5 & 16711935) * var16 >> 8 & 16711935) + ((var5 & '\uff00') * var16 >> 8 & '\uff00') + (var16 << 24);

                  for(var17 = 256 - var16; var1 <= var3; ++var1) {
                     var18 = var2 >> 16;
                     var19 = var18 - var9;
                     if(var18 >= var13 && var18 < var14) {
                        var20 = var8 + var11[var19];
                        if(var1 >= var20 && var1 < var12[var19] + var20) {
                           var21 = var1 + var18 * 1251184143 * this.anInt9789;
                           var22 = this.anIntArray9788[var21];
                           var22 = (var17 * (var22 & 16711935) >> 8 & 16711935) + (var17 * (var22 & '\uff00') >> 8 & '\uff00');
                           this.anIntArray9788[var21] = var22 + var5;
                        }
                     }

                     var2 += var15;
                  }
               } else {
                  if(var6 != 2) {
                     throw new IllegalArgumentException();
                  }

                  while(var1 <= var3) {
                     var17 = var2 >> 16;
                     var18 = var17 - var9;
                     if(var17 >= var13 && var17 < var14) {
                        var19 = var8 + var11[var18];
                        if(var1 >= var19 && var1 < var19 + var12[var18]) {
                           var20 = var17 * 1251184143 * this.anInt9789 + var1;
                           var21 = this.anIntArray9788[var20];
                           var22 = var21 + var5;
                           var23 = (var21 & 16711935) + (var5 & 16711935);
                           var21 = (var22 - var23 & 65536) + (var23 & 16777472);
                           this.anIntArray9788[var20] = var22 - var21 | var21 - (var21 >>> 8);
                        }
                     }

                     var2 += var15;
                     ++var1;
                  }
               }
            } else {
               while(var1 <= var3) {
                  var17 = var2 >> 16;
                  var18 = var17 - var9;
                  if(var17 >= var13 && var17 < var14) {
                     var19 = var11[var18] + var8;
                     if(var1 >= var19 && var1 < var19 + var12[var18]) {
                        this.anIntArray9788[var1 + 1251184143 * this.anInt9789 * var17] = var5;
                     }
                  }

                  var2 += var15;
                  ++var1;
               }
            }
         } else {
            var1 <<= 16;
            var1 += '\u8000';
            var3 <<= 16;
            var15 = (int)Math.floor(0.5D + (double)var3 / (double)var4);
            var4 += var2;
            if(var2 < var13) {
               var1 += var15 * (var13 - var2);
               var2 = var13;
            }

            if(var4 >= var14) {
               var4 = var14 - 1;
            }

            var16 = var5 >>> 24;
            if(0 != var6 && (1 != var6 || 255 != var16)) {
               if(1 == var6) {
                  var5 = (var16 << 24) + (var16 * (var5 & 16711935) >> 8 & 16711935) + ((var5 & '\uff00') * var16 >> 8 & '\uff00');

                  for(var17 = 256 - var16; var2 <= var4; ++var2) {
                     var18 = var1 >> 16;
                     var19 = var2 - var9;
                     var20 = var8 + var11[var19];
                     if(var18 >= -399365585 * this.anInt9785 && var18 < -2090820537 * this.anInt9797 && var18 >= var20 && var18 < var20 + var12[var19]) {
                        var21 = var18 + var2 * 1251184143 * this.anInt9789;
                        var22 = this.anIntArray9788[var21];
                        var22 = (var17 * (var22 & '\uff00') >> 8 & '\uff00') + ((var22 & 16711935) * var17 >> 8 & 16711935);
                        this.anIntArray9788[var2 * this.anInt9789 * 1251184143 + var18] = var22 + var5;
                     }

                     var1 += var15;
                  }
               } else {
                  if(var6 != 2) {
                     throw new IllegalArgumentException();
                  }

                  while(var2 <= var4) {
                     var17 = var1 >> 16;
                     var18 = var2 - var9;
                     var19 = var8 + var11[var18];
                     if(var17 >= this.anInt9785 * -399365585 && var17 < this.anInt9797 * -2090820537 && var17 >= var19 && var17 < var19 + var12[var18]) {
                        var20 = var2 * this.anInt9789 * 1251184143 + var17;
                        var21 = this.anIntArray9788[var20];
                        var22 = var21 + var5;
                        var23 = (var5 & 16711935) + (var21 & 16711935);
                        var21 = (var23 & 16777472) + (var22 - var23 & 65536);
                        this.anIntArray9788[var20] = var22 - var21 | var21 - (var21 >>> 8);
                     }

                     var1 += var15;
                     ++var2;
                  }
               }
            } else {
               while(var2 <= var4) {
                  var17 = var1 >> 16;
                  var18 = var2 - var9;
                  var19 = var11[var18] + var8;
                  if(var17 >= this.anInt9785 * -399365585 && var17 < -2090820537 * this.anInt9797 && var17 >= var19 && var17 < var12[var18] + var19) {
                     this.anIntArray9788[var2 * 1251184143 * this.anInt9789 + var17] = var5;
                  }

                  var1 += var15;
                  ++var2;
               }
            }
         }

      }
   }

   void method11470() {
      if(this.aBool9787) {
         Class8.method657(true, false, (byte)-27);
         this.aBool9787 = false;
      }

      this.aBool9818 = true;
   }

   public void method11433(int var1) {
      int var2 = var1 - 1915127309 * this.anInt9786;

      for(Class225_Sub49 var3 = (Class225_Sub49)this.aClass564_9811.method11981(1694093061); var3 != null; var3 = (Class225_Sub49)this.aClass564_9811.method11965(301484349)) {
         if(var3.aBool8866) {
            var3.anInt8868 += var2;
            int var4 = var3.anInt8868 / 50;
            if(var4 > 0) {
               Class161 var5 = this.anInterface24_7370.method113(var3.anInt8867, 201275748);
               float var6 = (float)(-836426007 * var5.anInt1989);
               var3.method14233((int)((float)var5.aByte1972 * ((float)var2 / 1000.0F) / 64.0F * var6), (int)((float)var5.aByte1993 * ((float)var2 / 1000.0F) / 64.0F * var6));
               var3.anInt8868 -= 50 * var4;
            }

            var3.aBool8866 = false;
         }
      }

      this.anInt9786 = var1 * -1389872955;
      this.aClass564_9820.method11963(5, (byte)-65);
      this.aClass564_9811.method11963(5, (byte)-121);
   }

   public int za() {
      return 0;
   }

   public void method11569(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9, int var10, int var11, int var12) {
      if(null != this.anIntArray9788) {
         Class496_Sub2 var13 = (Class496_Sub2)var7;
         int[] var14 = var13.anIntArray9835;
         int[] var15 = var13.anIntArray9836;
         int var16 = this.anInt9800 * 493658681 > var9?this.anInt9800 * 493658681:var9;
         int var17 = this.anInt9795 * -1644767141 < var9 + var14.length?this.anInt9795 * -1644767141:var9 + var14.length;
         var12 <<= 8;
         var10 <<= 8;
         var11 <<= 8;
         int var18 = var10 + var11;
         var12 %= var18;
         var3 -= var1;
         var4 -= var2;
         int var19;
         int var20;
         if(var3 + var4 < 0) {
            var19 = (int)(Math.sqrt((double)(var4 * var4 + var3 * var3)) * 256.0D);
            var20 = var19 % var18;
            var12 = var18 + var10 - var12 - var20;
            var12 %= var18;
            if(var12 < 0) {
               var12 += var18;
            }

            var1 += var3;
            var3 = -var3;
            var2 += var4;
            var4 = -var4;
         }

         int var21;
         int var23;
         int var22;
         int var25;
         int var24;
         int var27;
         int var26;
         if(var3 > var4) {
            var2 <<= 16;
            var2 += '\u8000';
            var4 <<= 16;
            var19 = (int)Math.floor(0.5D + (double)var4 / (double)var3);
            var3 += var1;
            var20 = var5 >>> 24;
            var21 = (int)Math.sqrt((double)(65536 + (var19 >> 8) * (var19 >> 8)));
            if(0 != var6 && (var6 != 1 || var20 != 255)) {
               if(var6 == 1) {
                  var5 = ((var5 & 16711935) * var20 >> 8 & 16711935) + ((var5 & '\uff00') * var20 >> 8 & '\uff00') + (var20 << 24);

                  for(var22 = 256 - var20; var1 <= var3; var12 %= var18) {
                     var23 = var2 >> 16;
                     var24 = var23 - var9;
                     if(var1 >= this.anInt9785 * -399365585 && var1 < this.anInt9797 * -2090820537 && var23 >= var16 && var23 < var17 && var12 < var10) {
                        var25 = var14[var24] + var8;
                        if(var1 >= var25 && var1 < var15[var24] + var25) {
                           var26 = this.anInt9789 * 1251184143 * var23 + var1;
                           var27 = this.anIntArray9788[var26];
                           var27 = (var22 * (var27 & '\uff00') >> 8 & '\uff00') + ((var27 & 16711935) * var22 >> 8 & 16711935);
                           this.anIntArray9788[var26] = var27 + var5;
                        }
                     }

                     var2 += var19;
                     ++var1;
                     var12 += var21;
                  }
               } else {
                  if(2 != var6) {
                     throw new IllegalArgumentException();
                  }

                  while(var1 <= var3) {
                     var22 = var2 >> 16;
                     var23 = var22 - var9;
                     if(var1 >= -399365585 * this.anInt9785 && var1 < this.anInt9797 * -2090820537 && var22 >= var16 && var22 < var17 && var12 < var10) {
                        var24 = var8 + var14[var23];
                        if(var1 >= var24 && var1 < var24 + var15[var23]) {
                           var25 = var22 * 1251184143 * this.anInt9789 + var1;
                           var26 = this.anIntArray9788[var25];
                           var27 = var26 + var5;
                           int var28 = (var26 & 16711935) + (var5 & 16711935);
                           var26 = (var27 - var28 & 65536) + (var28 & 16777472);
                           this.anIntArray9788[var25] = var27 - var26 | var26 - (var26 >>> 8);
                        }
                     }

                     var2 += var19;
                     ++var1;
                     var12 += var21;
                     var12 %= var18;
                  }
               }
            } else {
               while(var1 <= var3) {
                  var22 = var2 >> 16;
                  var23 = var22 - var9;
                  if(var1 >= this.anInt9785 * -399365585 && var1 < -2090820537 * this.anInt9797 && var22 >= var16 && var22 < var17 && var12 < var10) {
                     var24 = var14[var23] + var8;
                     if(var1 >= var24 && var1 < var15[var23] + var24) {
                        this.anIntArray9788[var1 + this.anInt9789 * 1251184143 * var22] = var5;
                     }
                  }

                  var2 += var19;
                  ++var1;
                  var12 += var21;
                  var12 %= var18;
               }
            }
         } else {
            var1 <<= 16;
            var1 += '\u8000';
            var3 <<= 16;
            var19 = (int)Math.floor((double)var3 / (double)var4 + 0.5D);
            var20 = (int)Math.sqrt((double)(65536 + (var19 >> 8) * (var19 >> 8)));
            var4 += var2;
            var21 = var5 >>> 24;
            if(var6 != 0 && (var6 != 1 || var21 != 255)) {
               if(1 == var6) {
                  var5 = (var21 << 24) + ((var5 & 16711935) * var21 >> 8 & 16711935) + (var21 * (var5 & '\uff00') >> 8 & '\uff00');

                  for(var22 = 256 - var21; var2 <= var4; var12 %= var18) {
                     var23 = var1 >> 16;
                     var24 = var2 - var9;
                     if(var2 >= var16 && var2 < var17 && var23 >= -399365585 * this.anInt9785 && var23 < -2090820537 * this.anInt9797 && var12 < var10 && var23 >= var14[var24] + var8 && var23 < var8 + var14[var24] + var15[var24]) {
                        var25 = 1251184143 * this.anInt9789 * var2 + var23;
                        var26 = this.anIntArray9788[var25];
                        var26 = ((var26 & 16711935) * var22 >> 8 & 16711935) + ((var26 & '\uff00') * var22 >> 8 & '\uff00');
                        this.anIntArray9788[var2 * this.anInt9789 * 1251184143 + var23] = var26 + var5;
                     }

                     var1 += var19;
                     ++var2;
                     var12 += var20;
                  }
               } else {
                  if(2 != var6) {
                     throw new IllegalArgumentException();
                  }

                  while(var2 <= var4) {
                     var22 = var1 >> 16;
                     var23 = var2 - var9;
                     if(var2 >= var16 && var2 < var17 && var22 >= this.anInt9785 * -399365585 && var22 < -2090820537 * this.anInt9797 && var12 < var10 && var22 >= var8 + var14[var23] && var22 < var14[var23] + var8 + var15[var23]) {
                        var24 = var22 + var2 * this.anInt9789 * 1251184143;
                        var25 = this.anIntArray9788[var24];
                        var26 = var5 + var25;
                        var27 = (var5 & 16711935) + (var25 & 16711935);
                        var25 = (var27 & 16777472) + (var26 - var27 & 65536);
                        this.anIntArray9788[var24] = var26 - var25 | var25 - (var25 >>> 8);
                     }

                     var1 += var19;
                     ++var2;
                     var12 += var20;
                     var12 %= var18;
                  }
               }
            } else {
               while(var2 <= var4) {
                  var22 = var1 >> 16;
                  var23 = var2 - var9;
                  if(var2 >= var16 && var2 < var17 && var22 >= this.anInt9785 * -399365585 && var22 < -2090820537 * this.anInt9797 && var12 < var10 && var22 >= var14[var23] + var8 && var22 < var14[var23] + var8 + var15[var23]) {
                     this.anIntArray9788[var22 + 1251184143 * this.anInt9789 * var2] = var5;
                  }

                  var1 += var19;
                  ++var2;
                  var12 += var20;
                  var12 %= var18;
               }
            }
         }

      }
   }

   int[] method15336(int var1) {
      Class564 var2 = this.aClass564_9811;
      Class225_Sub49 var3;
      synchronized(var2) {
         var3 = (Class225_Sub49)this.aClass564_9811.method11959((long)var1 | Long.MIN_VALUE);
         if(var3 == null) {
            Class161 var4 = this.anInterface24_7370.method113(var1, -2144975726);
            int var5 = -836426007 * var4.anInt1989;
            if(!this.anInterface24_7370.method119(var1, Class557.aClass557_7471, 0.7F, var5, var5, true, 1291184932)) {
               return null;
            }

            int[] var6;
            if(Class565.aClass565_7503 == var4.aClass565_1987) {
               var6 = this.anInterface24_7370.method115(var1, 0.7F, var5, var5, true, (short)-4947);
            } else {
               var6 = this.anInterface24_7370.method127(var1, 0.7F, var5, var5, true, -1122500870);
            }

            var3 = new Class225_Sub49(var1, var5, var6, var4.aClass565_1987 != Class565.aClass565_7501);
            this.aClass564_9811.method11962(var3, (long)var1 | Long.MIN_VALUE, var5 * var5, (byte)-15);
         }
      }

      var3.aBool8866 = true;
      return var3.method14231();
   }

   boolean method15337(int var1) {
      Class161 var2 = this.anInterface24_7370.method113(var1, -673081523);
      return this.anInterface24_7370.method119(var1, Class557.aClass557_7471, 0.7F, -836426007 * var2.anInt1989, var2.anInt1989 * -836426007, true, -1057547370);
   }

   int method15338(int var1) {
      return this.anInterface24_7370.method113(var1, -1494055105).anInt1989 * -836426007;
   }

   Class565 method15339(int var1) {
      return this.anInterface24_7370.method113(var1, -1221031848).aClass565_1987;
   }

   int method15340(int var1) {
      return this.anInterface24_7370.method113(var1, 1702514001).aShort1975 & '\uffff';
   }

   boolean method15341(int var1) {
      return this.anInterface24_7370.method113(var1, 358162784).aBool1984 || this.anInterface24_7370.method113(var1, -816725949).aBool1974;
   }

   public boolean method11435() {
      return false;
   }

   public boolean method11520() {
      return false;
   }

   public Class171 method11707(int var1, int var2, int var3, int var4, boolean var5) {
      if(null == this.anIntArray9788) {
         throw new IllegalStateException("");
      } else {
         int[] var6 = new int[var4 * var3];
         int var7 = var1 + this.anInt9789 * 1251184143 * var2;
         int var8 = this.anInt9789 * 1251184143 - var3;

         for(int var9 = 0; var9 < var4; ++var9) {
            int var10 = var3 * var9;

            for(int var11 = 0; var11 < var3; ++var11) {
               var6[var10 + var11] = this.anIntArray9788[var7++];
            }

            var7 += var8;
         }

         if(var5) {
            return new Class171_Sub1_Sub3(this, var6, var3, var4);
         } else {
            return new Class171_Sub1_Sub2(this, var6, var3, var4);
         }
      }
   }

   public boolean method11712() {
      return false;
   }

   public boolean method11440() {
      return false;
   }

   public boolean method11438() {
      return false;
   }

   public void method11541(boolean var1) {}

   public boolean method11442() {
      return false;
   }

   Class151_Sub2 method11512(Canvas var1, int var2, int var3) {
      return Class222_Sub6.method14228(this, var1, var2, var3, (byte)75);
   }

   public boolean method11444() {
      return true;
   }

   public void method11717(boolean var1) {}

   public int method11595(int var1, int var2) {
      var1 |= 133120;
      return var1 & var2 ^ var2;
   }

   void method15342(int var1, int var2, int[] var3, float[] var4) {
      this.anInt9789 = -163864337 * var1;
      this.anInt9790 = 644033009 * var2;
      this.anIntArray9788 = var3;
      this.aFloatArray9808 = var4;

      for(int var5 = 0; var5 < this.anInt9817 * -310738315; ++var5) {
         this.aClass174Array9791[var5].method3048((byte)0);
      }

      this.L();
      this.method11459();
   }

   public int[] ay(int var1, int var2, int var3, int var4) {
      if(this.anIntArray9788 == null) {
         throw new IllegalStateException("");
      } else {
         int[] var5 = new int[var3 * var4];
         int var6 = 0;

         for(int var7 = 0; var7 < var4; ++var7) {
            int var8 = (var7 + var2) * this.anInt9789 * 1251184143 + var1;

            for(int var9 = 0; var9 < var3; ++var9) {
               var5[var6++] = this.anIntArray9788[var8 + var9];
            }
         }

         return var5;
      }
   }

   public Class151_Sub1 method11654() {
      return new Class151_Sub1_Sub3(this);
   }

   public void ia(float var1) {
      this.anInt9801 = 644206877 * (int)(65535.0F * var1);
   }

   void method15343() {
      if(null != this.aFloatArray9808) {
         int var1;
         int var2;
         int var3;
         if(-399365585 * this.anInt9785 == 0 && this.anInt9797 * -2090820537 == this.anInt9789 * 1251184143 && 0 == this.anInt9800 * 493658681 && this.anInt9795 * -1644767141 == 367961873 * this.anInt9790) {
            var1 = this.aFloatArray9808.length;
            var2 = var1 - (var1 & 7);

            for(var3 = 0; var3 < var2; this.aFloatArray9808[var3++] = 2.14748365E9F) {
               this.aFloatArray9808[var3++] = 2.14748365E9F;
               this.aFloatArray9808[var3++] = 2.14748365E9F;
               this.aFloatArray9808[var3++] = 2.14748365E9F;
               this.aFloatArray9808[var3++] = 2.14748365E9F;
               this.aFloatArray9808[var3++] = 2.14748365E9F;
               this.aFloatArray9808[var3++] = 2.14748365E9F;
               this.aFloatArray9808[var3++] = 2.14748365E9F;
            }

            while(var3 < var1) {
               this.aFloatArray9808[var3++] = 2.14748365E9F;
            }
         } else {
            var1 = this.anInt9797 * -2090820537 - -399365585 * this.anInt9785;
            var2 = -1644767141 * this.anInt9795 - 493658681 * this.anInt9800;
            var3 = this.anInt9789 * 1251184143 - var1;
            int var4 = -399365585 * this.anInt9785 + 1251184143 * this.anInt9789 * this.anInt9800 * 493658681;
            int var5 = var1 >> 3;
            int var6 = var1 & 7;
            var1 = var4 - 1;

            for(int var7 = -var2; var7 < 0; ++var7) {
               int var8;
               if(var5 > 0) {
                  var8 = var5;

                  do {
                     ++var1;
                     this.aFloatArray9808[var1] = 2.14748365E9F;
                     ++var1;
                     this.aFloatArray9808[var1] = 2.14748365E9F;
                     ++var1;
                     this.aFloatArray9808[var1] = 2.14748365E9F;
                     ++var1;
                     this.aFloatArray9808[var1] = 2.14748365E9F;
                     ++var1;
                     this.aFloatArray9808[var1] = 2.14748365E9F;
                     ++var1;
                     this.aFloatArray9808[var1] = 2.14748365E9F;
                     ++var1;
                     this.aFloatArray9808[var1] = 2.14748365E9F;
                     ++var1;
                     this.aFloatArray9808[var1] = 2.14748365E9F;
                     --var8;
                  } while(var8 > 0);
               }

               if(var6 > 0) {
                  var8 = var6;

                  do {
                     ++var1;
                     this.aFloatArray9808[var1] = 2.14748365E9F;
                     --var8;
                  } while(var8 > 0);
               }

               var1 += var3;
            }
         }

      }
   }

   public void RA(boolean var1) {
      Class174 var2 = this.method15346(Thread.currentThread());
      var2.aBool2126 = var1;
   }

   public void method11459() {
      this.anInt9807 = 0;
      this.anInt9792 = 0;
      this.anInt9809 = 1958199241 * this.anInt9789;
      this.anInt9793 = -1898179121 * this.anInt9790;
      this.method15378();
   }

   public void method11460(int var1, int var2, int var3, int var4) {
      this.anInt9807 = 125105343 * var1;
      this.anInt9792 = 1947863089 * var2;
      this.anInt9809 = 683453607 * var3;
      this.anInt9793 = -440684833 * var4;
      this.method15378();
   }

   public boolean method11665() {
      return false;
   }

   public Class225_Sub1 method11575(int var1) {
      return null;
   }

   public void method11474(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) {
      if(this.anIntArray9788 != null) {
         var3 -= var1;
         var4 -= var2;
         int var10;
         if(0 == var4) {
            if(var3 >= 0) {
               this.method15385(var1, var2, 1 + var3, var5, var6, var7, var8, var9);
            } else {
               var10 = var8 + var7;
               var9 %= var10;
               var9 = var10 + var7 - var9 - (1 + -var3) % var10;
               var9 %= var10;
               if(var9 < 0) {
                  var9 += var10;
               }

               this.method15385(var3 + var1, var2, 1 + -var3, var5, var6, var7, var8, var9);
            }

         } else if(0 == var3) {
            if(var4 >= 0) {
               this.method15344(var1, var2, 1 + var4, var5, var6, var7, var8, var9);
            } else {
               var10 = var7 + var8;
               var9 %= var10;
               var9 = var7 + var10 - var9 - (1 + -var4) % var10;
               var9 %= var10;
               if(var9 < 0) {
                  var9 += var10;
               }

               this.method15344(var1, var2 + var4, -var4 + 1, var5, var6, var7, var8, var9);
            }

         } else {
            var9 <<= 8;
            var7 <<= 8;
            var8 <<= 8;
            var10 = var8 + var7;
            var9 %= var10;
            int var11;
            int var12;
            if(var4 + var3 < 0) {
               var11 = (int)(Math.sqrt((double)(var4 * var4 + var3 * var3)) * 256.0D);
               var12 = var11 % var10;
               var9 = var10 + var7 - var9 - var12;
               var9 %= var10;
               if(var9 < 0) {
                  var9 += var10;
               }

               var1 += var3;
               var3 = -var3;
               var2 += var4;
               var4 = -var4;
            }

            int var13;
            int var14;
            int var15;
            int var17;
            int var16;
            int var18;
            if(var3 > var4) {
               var2 <<= 16;
               var2 += '\u8000';
               var4 <<= 16;
               var11 = (int)Math.floor((double)var4 / (double)var3 + 0.5D);
               var3 += var1;
               var12 = var5 >>> 24;
               var13 = (int)Math.sqrt((double)(65536 + (var11 >> 8) * (var11 >> 8)));
               if(var6 != 0 && (1 != var6 || 255 != var12)) {
                  if(1 == var6) {
                     var5 = (var12 << 24) + (var12 * (var5 & 16711935) >> 8 & 16711935) + (var12 * (var5 & '\uff00') >> 8 & '\uff00');

                     for(var14 = 256 - var12; var1 <= var3; var9 %= var10) {
                        var15 = var2 >> 16;
                        if(var1 >= this.anInt9785 * -399365585 && var1 < this.anInt9797 * -2090820537 && var15 >= 493658681 * this.anInt9800 && var15 < this.anInt9795 * -1644767141 && var9 < var7) {
                           var16 = var1 + var15 * 1251184143 * this.anInt9789;
                           var17 = this.anIntArray9788[var16];
                           var17 = (var14 * (var17 & '\uff00') >> 8 & '\uff00') + (var14 * (var17 & 16711935) >> 8 & 16711935);
                           this.anIntArray9788[var16] = var17 + var5;
                        }

                        var2 += var11;
                        ++var1;
                        var9 += var13;
                     }
                  } else {
                     if(2 != var6) {
                        throw new IllegalArgumentException();
                     }

                     while(var1 <= var3) {
                        var14 = var2 >> 16;
                        if(var1 >= -399365585 * this.anInt9785 && var1 < -2090820537 * this.anInt9797 && var14 >= 493658681 * this.anInt9800 && var14 < -1644767141 * this.anInt9795 && var9 < var7) {
                           var15 = this.anInt9789 * 1251184143 * var14 + var1;
                           var16 = this.anIntArray9788[var15];
                           var17 = var16 + var5;
                           var18 = (var5 & 16711935) + (var16 & 16711935);
                           var16 = (var17 - var18 & 65536) + (var18 & 16777472);
                           this.anIntArray9788[var15] = var17 - var16 | var16 - (var16 >>> 8);
                        }

                        var2 += var11;
                        ++var1;
                        var9 += var13;
                        var9 %= var10;
                     }
                  }
               } else {
                  while(var1 <= var3) {
                     var14 = var2 >> 16;
                     if(var1 >= -399365585 * this.anInt9785 && var1 < -2090820537 * this.anInt9797 && var14 >= 493658681 * this.anInt9800 && var14 < this.anInt9795 * -1644767141 && var9 < var7) {
                        this.anIntArray9788[1251184143 * this.anInt9789 * var14 + var1] = var5;
                     }

                     var2 += var11;
                     ++var1;
                     var9 += var13;
                     var9 %= var10;
                  }
               }
            } else {
               var1 <<= 16;
               var1 += '\u8000';
               var3 <<= 16;
               var11 = (int)Math.floor(0.5D + (double)var3 / (double)var4);
               var4 += var2;
               var12 = var5 >>> 24;
               var13 = (int)Math.sqrt((double)(65536 + (var11 >> 8) * (var11 >> 8)));
               if(0 != var6 && (var6 != 1 || var12 != 255)) {
                  if(var6 == 1) {
                     var5 = ((var5 & 16711935) * var12 >> 8 & 16711935) + ((var5 & '\uff00') * var12 >> 8 & '\uff00') + (var12 << 24);

                     for(var14 = 256 - var12; var2 <= var4; var9 %= var10) {
                        var15 = var1 >> 16;
                        if(var2 >= 493658681 * this.anInt9800 && var2 < -1644767141 * this.anInt9795 && var15 >= -399365585 * this.anInt9785 && var15 < this.anInt9797 * -2090820537 && var9 < var7) {
                           var16 = this.anInt9789 * 1251184143 * var2 + var15;
                           var17 = this.anIntArray9788[var16];
                           var17 = ((var17 & 16711935) * var14 >> 8 & 16711935) + ((var17 & '\uff00') * var14 >> 8 & '\uff00');
                           this.anIntArray9788[var15 + var2 * this.anInt9789 * 1251184143] = var17 + var5;
                        }

                        var1 += var11;
                        ++var2;
                        var9 += var13;
                     }
                  } else {
                     if(2 != var6) {
                        throw new IllegalArgumentException();
                     }

                     while(var2 <= var4) {
                        var14 = var1 >> 16;
                        if(var2 >= this.anInt9800 * 493658681 && var2 < -1644767141 * this.anInt9795 && var14 >= this.anInt9785 * -399365585 && var14 < this.anInt9797 * -2090820537 && var9 < var7) {
                           var15 = var2 * 1251184143 * this.anInt9789 + var14;
                           var16 = this.anIntArray9788[var15];
                           var17 = var16 + var5;
                           var18 = (var16 & 16711935) + (var5 & 16711935);
                           var16 = (var17 - var18 & 65536) + (var18 & 16777472);
                           this.anIntArray9788[var15] = var17 - var16 | var16 - (var16 >>> 8);
                        }

                        var1 += var11;
                        ++var2;
                        var9 += var13;
                        var9 %= var10;
                     }
                  }
               } else {
                  while(var2 <= var4) {
                     var14 = var1 >> 16;
                     if(var2 >= this.anInt9800 * 493658681 && var2 < -1644767141 * this.anInt9795 && var14 >= this.anInt9785 * -399365585 && var14 < this.anInt9797 * -2090820537 && var9 < var7) {
                        this.anIntArray9788[1251184143 * this.anInt9789 * var2 + var14] = var5;
                     }

                     var1 += var11;
                     ++var2;
                     var9 += var13;
                     var9 %= var10;
                  }
               }
            }

         }
      }
   }

   public boolean method11453() {
      return false;
   }

   public void o(int var1, int var2, int var3, int var4) {
      if(this.anInt9785 * -399365585 < var1) {
         this.anInt9785 = 90791119 * var1;
      }

      if(this.anInt9800 * 493658681 < var2) {
         this.anInt9800 = var2 * 196127753;
      }

      if(-2090820537 * this.anInt9797 > var3) {
         this.anInt9797 = 1362775415 * var3;
      }

      if(this.anInt9795 * -1644767141 > var4) {
         this.anInt9795 = var4 * 791320531;
      }

      this.method15378();
   }

   Class545_Sub3(Canvas var1, Interface24 var2, int var3, int var4) {
      this(var2);

      try {
         this.method11499(var1, var3, var4, 1770521784);
         this.method11449(var1, (byte)76);
      } catch (Throwable var6) {
         var6.printStackTrace();
         this.method11431(-2090427912);
         throw new RuntimeException("");
      }
   }

   public void ba(int var1, int var2) {
      if(0 != (var1 & 1)) {
         this.B(0, 0, 1251184143 * this.anInt9789, this.anInt9790 * 367961873, var2, 0);
      }

      if(0 != (var1 & 2)) {
         this.method15343();
      }

   }

   public boolean method11441() {
      return false;
   }

   public void B(int var1, int var2, int var3, int var4, int var5, int var6) {
      if(this.anIntArray9788 != null) {
         if(var1 < -399365585 * this.anInt9785) {
            var3 -= this.anInt9785 * -399365585 - var1;
            var1 = -399365585 * this.anInt9785;
         }

         if(var2 < this.anInt9800 * 493658681) {
            var4 -= 493658681 * this.anInt9800 - var2;
            var2 = 493658681 * this.anInt9800;
         }

         if(var3 + var1 > this.anInt9797 * -2090820537) {
            var3 = -2090820537 * this.anInt9797 - var1;
         }

         if(var4 + var2 > this.anInt9795 * -1644767141) {
            var4 = -1644767141 * this.anInt9795 - var2;
         }

         if(var3 > 0 && var4 > 0 && var1 <= -2090820537 * this.anInt9797 && var2 <= this.anInt9795 * -1644767141) {
            int var7 = 1251184143 * this.anInt9789 - var3;
            int var8 = var2 * 1251184143 * this.anInt9789 + var1;
            int var9 = var5 >>> 24;
            int var10;
            int var11;
            int var12;
            if(var6 != 0 && (1 != var6 || var9 != 255)) {
               int var13;
               if(1 == var6) {
                  var5 = (var9 * (var5 & 16711935) >> 8 & 16711935) + (var9 * ((var5 & -16711936) >>> 8) & -16711936);
                  var10 = 256 - var9;

                  for(var11 = 0; var11 < var4; ++var11) {
                     for(var12 = -var3; var12 < 0; ++var12) {
                        var13 = this.anIntArray9788[var8];
                        var13 = ((var13 & 16711935) * var10 >> 8 & 16711935) + (var10 * ((var13 & -16711936) >>> 8) & -16711936);
                        this.anIntArray9788[var8++] = var13 + var5;
                     }

                     var8 += var7;
                  }
               } else {
                  if(var6 != 2) {
                     throw new IllegalArgumentException();
                  }

                  for(var10 = 0; var10 < var4; ++var10) {
                     for(var11 = -var3; var11 < 0; ++var11) {
                        var12 = this.anIntArray9788[var8];
                        var13 = var5 + var12;
                        int var14 = (var12 & 16711935) + (var5 & 16711935);
                        var12 = (var13 - var14 & 65536) + (var14 & 16777472);
                        this.anIntArray9788[var8++] = var13 - var12 | var12 - (var12 >>> 8);
                     }

                     var8 += var7;
                  }
               }
            } else {
               var10 = var3 >> 3;
               var11 = var3 & 7;
               var3 = var8 - 1;

               for(var12 = -var4; var12 < 0; ++var12) {
                  if(var10 > 0) {
                     var1 = var10;

                     do {
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        --var1;
                     } while(var1 > 0);
                  }

                  if(var11 > 0) {
                     var1 = var11;

                     do {
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        --var1;
                     } while(var1 > 0);
                  }

                  var3 += var7;
               }
            }

         }
      }
   }

   public void N(int var1, int var2, int var3, int var4, int var5, int var6, byte[] var7, int var8, int var9) {
      if(null != this.anIntArray9788) {
         if(var3 > 0 && var4 > 0) {
            int var10 = 0;
            int var11 = 0;
            int var12 = (var8 << 16) / var3;
            int var13 = (var7.length / var8 << 16) / var4;
            int var14 = var1 + var2 * this.anInt9789 * 1251184143;
            int var15 = this.anInt9789 * 1251184143 - var3;
            if(var4 + var2 > -1644767141 * this.anInt9795) {
               var4 -= var4 + var2 - this.anInt9795 * -1644767141;
            }

            int var16;
            if(var2 < 493658681 * this.anInt9800) {
               var16 = 493658681 * this.anInt9800 - var2;
               var4 -= var16;
               var14 += 1251184143 * this.anInt9789 * var16;
               var11 += var16 * var13;
            }

            if(var3 + var1 > -2090820537 * this.anInt9797) {
               var16 = var1 + var3 - -2090820537 * this.anInt9797;
               var3 -= var16;
               var15 += var16;
            }

            if(var1 < this.anInt9785 * -399365585) {
               var16 = this.anInt9785 * -399365585 - var1;
               var3 -= var16;
               var14 += var16;
               var10 += var16 * var12;
               var15 += var16;
            }

            var16 = var5 >>> 24;
            int var17 = var6 >>> 24;
            int var19;
            int var18;
            int var21;
            int var20;
            if(var9 != 0 && (1 != var9 || var16 != 255 || var17 != 255)) {
               int var23;
               int var22;
               int var25;
               int var24;
               if(1 == var9) {
                  var18 = var10;

                  for(var19 = -var4; var19 < 0; ++var19) {
                     var20 = (var11 >> 16) * var8;

                     for(var21 = -var3; var21 < 0; ++var21) {
                        var22 = var5;
                        if(var7[(var10 >> 16) + var20] != 0) {
                           var22 = var6;
                        }

                        var23 = var22 >>> 24;
                        var24 = 255 - var23;
                        var25 = this.anIntArray9788[var14];
                        this.anIntArray9788[var14++] = ((var25 & '\uff00') * var24 + (var22 & '\uff00') * var23 & 16711680) + ((var22 & 16711935) * var23 + (var25 & 16711935) * var24 & -16711936) >> 8;
                        var10 += var12;
                     }

                     var11 += var13;
                     var10 = var18;
                     var14 += var15;
                  }
               } else {
                  if(2 != var9) {
                     throw new IllegalArgumentException();
                  }

                  var18 = var10;

                  for(var19 = -var4; var19 < 0; ++var19) {
                     var20 = var8 * (var11 >> 16);

                     for(var21 = -var3; var21 < 0; ++var21) {
                        var22 = var5;
                        if(var7[(var10 >> 16) + var20] != 0) {
                           var22 = var6;
                        }

                        if(var22 != 0) {
                           var23 = this.anIntArray9788[var14];
                           var24 = var23 + var22;
                           var25 = (var23 & 16711935) + (var22 & 16711935);
                           var23 = (var25 & 16777472) + (var24 - var25 & 65536);
                           this.anIntArray9788[var14++] = var24 - var23 | var23 - (var23 >>> 8);
                        } else {
                           ++var14;
                        }

                        var10 += var12;
                     }

                     var11 += var13;
                     var10 = var18;
                     var14 += var15;
                  }
               }
            } else {
               var18 = var10;

               for(var19 = -var4; var19 < 0; ++var19) {
                  var20 = (var11 >> 16) * var8;

                  for(var21 = -var3; var21 < 0; ++var21) {
                     if(var7[(var10 >> 16) + var20] != 0) {
                        this.anIntArray9788[var14++] = var6;
                     } else {
                        this.anIntArray9788[var14++] = var5;
                     }

                     var10 += var12;
                  }

                  var11 += var13;
                  var10 = var18;
                  var14 += var15;
               }
            }

         }
      }
   }

   void CA(int var1, int var2, int var3, int var4, int var5) {
      if(null != this.anIntArray9788) {
         if(var3 < 0) {
            var3 = -var3;
         }

         int var6 = var2 - var3;
         if(var6 < this.anInt9800 * 493658681) {
            var6 = this.anInt9800 * 493658681;
         }

         int var7 = var3 + var2 + 1;
         if(var7 > -1644767141 * this.anInt9795) {
            var7 = -1644767141 * this.anInt9795;
         }

         int var8 = var6;
         int var9 = var3 * var3;
         int var10 = 0;
         int var11 = var2 - var6;
         int var12 = var11 * var11;
         int var13 = var12 - var11;
         if(var2 > var7) {
            var2 = var7;
         }

         int var14 = var4 >>> 24;
         int var15;
         int var17;
         int var16;
         int var18;
         if(var5 != 0 && (1 != var5 || 255 != var14)) {
            int var19;
            int var20;
            if(var5 == 1) {
               var4 = (var14 * (var4 & 16711935) >> 8 & 16711935) + (var14 * (var4 & '\uff00') >> 8 & '\uff00') + (var14 << 24);

               for(var15 = 256 - var14; var8 < var2; var13 -= var11 + var11) {
                  while(var13 <= var9 || var12 <= var9) {
                     var12 += var10 + var10;
                     var13 += var10++ + var10;
                  }

                  var16 = var1 - var10 + 1;
                  if(var16 < -399365585 * this.anInt9785) {
                     var16 = this.anInt9785 * -399365585;
                  }

                  var17 = var1 + var10;
                  if(var17 > -2090820537 * this.anInt9797) {
                     var17 = this.anInt9797 * -2090820537;
                  }

                  var18 = 1251184143 * this.anInt9789 * var8 + var16;

                  for(var19 = var16; var19 < var17; ++var19) {
                     var20 = this.anIntArray9788[var18];
                     var20 = (var15 * (var20 & '\uff00') >> 8 & '\uff00') + ((var20 & 16711935) * var15 >> 8 & 16711935);
                     this.anIntArray9788[var18++] = var20 + var4;
                  }

                  ++var8;
                  var12 -= var11-- + var11;
               }

               var10 = var3;
               var11 = -var11;
               var13 = var9 + var11 * var11;
               var12 = var13 - var3;

               for(var13 -= var11; var8 < var7; var12 += var11++ + var11) {
                  while(var13 > var9 && var12 > var9) {
                     var13 -= var10-- + var10;
                     var12 -= var10 + var10;
                  }

                  var16 = var1 - var10;
                  if(var16 < -399365585 * this.anInt9785) {
                     var16 = this.anInt9785 * -399365585;
                  }

                  var17 = var1 + var10;
                  if(var17 > this.anInt9797 * -2090820537 - 1) {
                     var17 = this.anInt9797 * -2090820537 - 1;
                  }

                  var18 = var16 + 1251184143 * this.anInt9789 * var8;

                  for(var19 = var16; var19 <= var17; ++var19) {
                     var20 = this.anIntArray9788[var18];
                     var20 = (var15 * (var20 & '\uff00') >> 8 & '\uff00') + ((var20 & 16711935) * var15 >> 8 & 16711935);
                     this.anIntArray9788[var18++] = var4 + var20;
                  }

                  ++var8;
                  var13 += var11 + var11;
               }
            } else {
               if(var5 != 2) {
                  throw new IllegalArgumentException();
               }

               int var21;
               while(var8 < var2) {
                  while(var13 <= var9 || var12 <= var9) {
                     var12 += var10 + var10;
                     var13 += var10++ + var10;
                  }

                  var15 = 1 + (var1 - var10);
                  if(var15 < -399365585 * this.anInt9785) {
                     var15 = this.anInt9785 * -399365585;
                  }

                  var16 = var1 + var10;
                  if(var16 > this.anInt9797 * -2090820537) {
                     var16 = this.anInt9797 * -2090820537;
                  }

                  var17 = var15 + var8 * this.anInt9789 * 1251184143;

                  for(var18 = var15; var18 < var16; ++var18) {
                     var19 = this.anIntArray9788[var17];
                     var20 = var19 + var4;
                     var21 = (var4 & 16711935) + (var19 & 16711935);
                     var19 = (var21 & 16777472) + (var20 - var21 & 65536);
                     this.anIntArray9788[var17++] = var20 - var19 | var19 - (var19 >>> 8);
                  }

                  ++var8;
                  var12 -= var11-- + var11;
                  var13 -= var11 + var11;
               }

               var10 = var3;
               var11 = -var11;
               var13 = var9 + var11 * var11;
               var12 = var13 - var3;

               for(var13 -= var11; var8 < var7; var12 += var11++ + var11) {
                  while(var13 > var9 && var12 > var9) {
                     var13 -= var10-- + var10;
                     var12 -= var10 + var10;
                  }

                  var15 = var1 - var10;
                  if(var15 < -399365585 * this.anInt9785) {
                     var15 = -399365585 * this.anInt9785;
                  }

                  var16 = var1 + var10;
                  if(var16 > -2090820537 * this.anInt9797 - 1) {
                     var16 = -2090820537 * this.anInt9797 - 1;
                  }

                  var17 = var15 + this.anInt9789 * 1251184143 * var8;

                  for(var18 = var15; var18 <= var16; ++var18) {
                     var19 = this.anIntArray9788[var17];
                     var20 = var19 + var4;
                     var21 = (var4 & 16711935) + (var19 & 16711935);
                     var19 = (var20 - var21 & 65536) + (var21 & 16777472);
                     this.anIntArray9788[var17++] = var20 - var19 | var19 - (var19 >>> 8);
                  }

                  ++var8;
                  var13 += var11 + var11;
               }
            }
         } else {
            while(var8 < var2) {
               while(var13 <= var9 || var12 <= var9) {
                  var12 += var10 + var10;
                  var13 += var10++ + var10;
               }

               var15 = var1 - var10 + 1;
               if(var15 < this.anInt9785 * -399365585) {
                  var15 = -399365585 * this.anInt9785;
               }

               var16 = var1 + var10;
               if(var16 > this.anInt9797 * -2090820537) {
                  var16 = -2090820537 * this.anInt9797;
               }

               var17 = var8 * 1251184143 * this.anInt9789 + var15;

               for(var18 = var15; var18 < var16; ++var18) {
                  this.anIntArray9788[var17++] = var4;
               }

               ++var8;
               var12 -= var11-- + var11;
               var13 -= var11 + var11;
            }

            var10 = var3;
            var11 = var8 - var2;
            var13 = var11 * var11 + var9;
            var12 = var13 - var3;

            for(var13 -= var11; var8 < var7; var12 += var11++ + var11) {
               while(var13 > var9 && var12 > var9) {
                  var13 -= var10-- + var10;
                  var12 -= var10 + var10;
               }

               var15 = var1 - var10;
               if(var15 < -399365585 * this.anInt9785) {
                  var15 = this.anInt9785 * -399365585;
               }

               var16 = var10 + var1;
               if(var16 > -2090820537 * this.anInt9797 - 1) {
                  var16 = this.anInt9797 * -2090820537 - 1;
               }

               var17 = var8 * 1251184143 * this.anInt9789 + var15;

               for(var18 = var15; var18 <= var16; ++var18) {
                  this.anIntArray9788[var17++] = var4;
               }

               ++var8;
               var13 += var11 + var11;
            }
         }

      }
   }

   public void XA(int var1, int var2, int var3, int var4, int var5) {
      if(this.anIntArray9788 != null) {
         if(var2 >= this.anInt9800 * 493658681 && var2 < this.anInt9795 * -1644767141) {
            if(var1 < this.anInt9785 * -399365585) {
               var3 -= -399365585 * this.anInt9785 - var1;
               var1 = this.anInt9785 * -399365585;
            }

            if(var3 + var1 > this.anInt9797 * -2090820537) {
               var3 = this.anInt9797 * -2090820537 - var1;
            }

            int var6 = var1 + var2 * 1251184143 * this.anInt9789;
            int var7 = var4 >>> 24;
            int var8;
            if(0 != var5 && (1 != var5 || 255 != var7)) {
               int var9;
               int var10;
               if(1 == var5) {
                  var4 = (var7 << 24) + ((var4 & '\uff00') * var7 >> 8 & '\uff00') + (var7 * (var4 & 16711935) >> 8 & 16711935);
                  var8 = 256 - var7;

                  for(var9 = 0; var9 < var3; ++var9) {
                     var10 = this.anIntArray9788[var6 + var9];
                     var10 = ((var10 & '\uff00') * var8 >> 8 & '\uff00') + ((var10 & 16711935) * var8 >> 8 & 16711935);
                     this.anIntArray9788[var9 + var6] = var4 + var10;
                  }
               } else {
                  if(var5 != 2) {
                     throw new IllegalArgumentException();
                  }

                  for(var8 = 0; var8 < var3; ++var8) {
                     var9 = this.anIntArray9788[var8 + var6];
                     var10 = var4 + var9;
                     int var11 = (var9 & 16711935) + (var4 & 16711935);
                     var9 = (var10 - var11 & 65536) + (var11 & 16777472);
                     this.anIntArray9788[var8 + var6] = var10 - var9 | var9 - (var9 >>> 8);
                  }
               }
            } else {
               for(var8 = 0; var8 < var3; ++var8) {
                  this.anIntArray9788[var8 + var6] = var4;
               }
            }

         }
      }
   }

   public Class171 method11577(int var1, int var2, boolean var3, boolean var4) {
      return (Class171)(var3?new Class171_Sub1_Sub3(this, var1, var2):new Class171_Sub1_Sub2(this, var1, var2));
   }

   public void G(int var1, int var2, int var3, int var4, int var5) {
      if(null != this.anIntArray9788) {
         if(var1 >= this.anInt9785 * -399365585 && var1 < this.anInt9797 * -2090820537) {
            if(var2 < this.anInt9800 * 493658681) {
               var3 -= this.anInt9800 * 493658681 - var2;
               var2 = 493658681 * this.anInt9800;
            }

            if(var2 + var3 > -1644767141 * this.anInt9795) {
               var3 = -1644767141 * this.anInt9795 - var2;
            }

            int var6 = var1 + var2 * this.anInt9789 * 1251184143;
            int var7 = var4 >>> 24;
            int var8;
            if(var5 != 0 && (1 != var5 || var7 != 255)) {
               int var9;
               int var10;
               int var11;
               if(1 == var5) {
                  var4 = (var7 << 24) + ((var4 & 16711935) * var7 >> 8 & 16711935) + (var7 * (var4 & '\uff00') >> 8 & '\uff00');
                  var8 = 256 - var7;

                  for(var9 = 0; var9 < var3; ++var9) {
                     var10 = var6 + this.anInt9789 * 1251184143 * var9;
                     var11 = this.anIntArray9788[var10];
                     var11 = (var8 * (var11 & 16711935) >> 8 & 16711935) + ((var11 & '\uff00') * var8 >> 8 & '\uff00');
                     this.anIntArray9788[var10] = var4 + var11;
                  }
               } else {
                  if(var5 != 2) {
                     throw new IllegalArgumentException();
                  }

                  for(var8 = 0; var8 < var3; ++var8) {
                     var9 = var8 * 1251184143 * this.anInt9789 + var6;
                     var10 = this.anIntArray9788[var9];
                     var11 = var4 + var10;
                     int var12 = (var4 & 16711935) + (var10 & 16711935);
                     var10 = (var11 - var12 & 65536) + (var12 & 16777472);
                     this.anIntArray9788[var9] = var11 - var10 | var10 - (var10 >>> 8);
                  }
               }
            } else {
               for(var8 = 0; var8 < var3; ++var8) {
                  this.anIntArray9788[1251184143 * this.anInt9789 * var8 + var6] = var4;
               }
            }

         }
      }
   }

   void method15344(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) {
      if(this.anIntArray9788 != null) {
         if(var1 >= -399365585 * this.anInt9785 && var1 < -2090820537 * this.anInt9797) {
            int var9 = var1 + var2 * this.anInt9789 * 1251184143;
            int var10 = var4 >>> 24;
            int var11 = var6 + var7;
            int var12 = var8 % var11;
            int var13;
            if(0 != var5 && (var5 != 1 || 255 != var10)) {
               int var14;
               int var15;
               int var16;
               if(1 == var5) {
                  var4 = (var10 * (var4 & '\uff00') >> 8 & '\uff00') + (var10 * (var4 & 16711935) >> 8 & 16711935) + (var10 << 24);
                  var13 = 256 - var10;

                  for(var14 = 0; var14 < var3; var12 %= var11) {
                     if(var2 + var14 >= 493658681 * this.anInt9800 && var14 + var2 < -1644767141 * this.anInt9795 && var12 < var6) {
                        var15 = this.anInt9789 * 1251184143 * var14 + var9;
                        var16 = this.anIntArray9788[var15];
                        var16 = ((var16 & 16711935) * var13 >> 8 & 16711935) + ((var16 & '\uff00') * var13 >> 8 & '\uff00');
                        this.anIntArray9788[var15] = var4 + var16;
                     }

                     ++var14;
                     ++var12;
                  }
               } else {
                  if(var5 != 2) {
                     throw new IllegalArgumentException();
                  }

                  for(var13 = 0; var13 < var3; var12 %= var11) {
                     if(var2 + var13 >= this.anInt9800 * 493658681 && var2 + var13 < -1644767141 * this.anInt9795 && var12 < var6) {
                        var14 = var9 + var13 * 1251184143 * this.anInt9789;
                        var15 = this.anIntArray9788[var14];
                        var16 = var4 + var15;
                        int var17 = (var15 & 16711935) + (var4 & 16711935);
                        var15 = (var16 - var17 & 65536) + (var17 & 16777472);
                        this.anIntArray9788[var14] = var16 - var15 | var15 - (var15 >>> 8);
                     }

                     ++var13;
                     ++var12;
                  }
               }
            } else {
               for(var13 = 0; var13 < var3; var12 %= var11) {
                  if(var2 + var13 >= this.anInt9800 * 493658681 && var2 + var13 < -1644767141 * this.anInt9795 && var12 < var6) {
                     this.anIntArray9788[this.anInt9789 * 1251184143 * var13 + var9] = var4;
                  }

                  ++var13;
                  ++var12;
               }
            }

         }
      }
   }

   public void method11627(int var1, int var2, int var3, int var4, int var5, int var6) {
      if(this.anIntArray9788 != null) {
         var3 -= var1;
         var4 -= var2;
         if(var4 == 0) {
            if(var3 >= 0) {
               this.XA(var1, var2, 1 + var3, var5, var6);
            } else {
               this.XA(var1 + var3, var2, 1 + -var3, var5, var6);
            }

         } else if(0 == var3) {
            if(var4 >= 0) {
               this.G(var1, var2, 1 + var4, var5, var6);
            } else {
               this.G(var1, var4 + var2, 1 + -var4, var5, var6);
            }

         } else {
            if(var4 + var3 < 0) {
               var1 += var3;
               var3 = -var3;
               var2 += var4;
               var4 = -var4;
            }

            int var7;
            int var8;
            int var9;
            int var10;
            int var11;
            int var12;
            int var13;
            if(var3 > var4) {
               var2 <<= 16;
               var2 += '\u8000';
               var4 <<= 16;
               var7 = (int)Math.floor((double)var4 / (double)var3 + 0.5D);
               var3 += var1;
               if(var1 < this.anInt9785 * -399365585) {
                  var2 += (this.anInt9785 * -399365585 - var1) * var7;
                  var1 = this.anInt9785 * -399365585;
               }

               if(var3 >= -2090820537 * this.anInt9797) {
                  var3 = -2090820537 * this.anInt9797 - 1;
               }

               var8 = var5 >>> 24;
               if(var6 != 0 && (1 != var6 || var8 != 255)) {
                  if(var6 == 1) {
                     var5 = (var8 << 24) + (var8 * (var5 & '\uff00') >> 8 & '\uff00') + ((var5 & 16711935) * var8 >> 8 & 16711935);

                     for(var9 = 256 - var8; var1 <= var3; ++var1) {
                        var10 = var2 >> 16;
                        if(var10 >= 493658681 * this.anInt9800 && var10 < -1644767141 * this.anInt9795) {
                           var11 = var10 * this.anInt9789 * 1251184143 + var1;
                           var12 = this.anIntArray9788[var11];
                           var12 = ((var12 & 16711935) * var9 >> 8 & 16711935) + (var9 * (var12 & '\uff00') >> 8 & '\uff00');
                           this.anIntArray9788[var11] = var12 + var5;
                        }

                        var2 += var7;
                     }
                  } else {
                     if(var6 != 2) {
                        throw new IllegalArgumentException();
                     }

                     while(var1 <= var3) {
                        var9 = var2 >> 16;
                        if(var9 >= this.anInt9800 * 493658681 && var9 < -1644767141 * this.anInt9795) {
                           var10 = var9 * this.anInt9789 * 1251184143 + var1;
                           var11 = this.anIntArray9788[var10];
                           var12 = var5 + var11;
                           var13 = (var11 & 16711935) + (var5 & 16711935);
                           var11 = (var13 & 16777472) + (var12 - var13 & 65536);
                           this.anIntArray9788[var10] = var12 - var11 | var11 - (var11 >>> 8);
                        }

                        var2 += var7;
                        ++var1;
                     }
                  }
               } else {
                  while(var1 <= var3) {
                     var9 = var2 >> 16;
                     if(var9 >= this.anInt9800 * 493658681 && var9 < -1644767141 * this.anInt9795) {
                        this.anIntArray9788[1251184143 * this.anInt9789 * var9 + var1] = var5;
                     }

                     var2 += var7;
                     ++var1;
                  }
               }
            } else {
               var1 <<= 16;
               var1 += '\u8000';
               var3 <<= 16;
               var7 = (int)Math.floor((double)var3 / (double)var4 + 0.5D);
               var4 += var2;
               if(var2 < this.anInt9800 * 493658681) {
                  var1 += (493658681 * this.anInt9800 - var2) * var7;
                  var2 = 493658681 * this.anInt9800;
               }

               if(var4 >= this.anInt9795 * -1644767141) {
                  var4 = -1644767141 * this.anInt9795 - 1;
               }

               var8 = var5 >>> 24;
               if(var6 != 0 && (1 != var6 || var8 != 255)) {
                  if(1 == var6) {
                     var5 = (var8 << 24) + ((var5 & '\uff00') * var8 >> 8 & '\uff00') + (var8 * (var5 & 16711935) >> 8 & 16711935);

                     for(var9 = 256 - var8; var2 <= var4; ++var2) {
                        var10 = var1 >> 16;
                        if(var10 >= -399365585 * this.anInt9785 && var10 < this.anInt9797 * -2090820537) {
                           var11 = var2 * 1251184143 * this.anInt9789 + var10;
                           var12 = this.anIntArray9788[var11];
                           var12 = ((var12 & 16711935) * var9 >> 8 & 16711935) + (var9 * (var12 & '\uff00') >> 8 & '\uff00');
                           this.anIntArray9788[var10 + var2 * 1251184143 * this.anInt9789] = var5 + var12;
                        }

                        var1 += var7;
                     }
                  } else {
                     if(var6 != 2) {
                        throw new IllegalArgumentException();
                     }

                     while(var2 <= var4) {
                        var9 = var1 >> 16;
                        if(var9 >= -399365585 * this.anInt9785 && var9 < -2090820537 * this.anInt9797) {
                           var10 = var9 + var2 * this.anInt9789 * 1251184143;
                           var11 = this.anIntArray9788[var10];
                           var12 = var11 + var5;
                           var13 = (var5 & 16711935) + (var11 & 16711935);
                           var11 = (var13 & 16777472) + (var12 - var13 & 65536);
                           this.anIntArray9788[var10] = var12 - var11 | var11 - (var11 >>> 8);
                        }

                        var1 += var7;
                        ++var2;
                     }
                  }
               } else {
                  while(var2 <= var4) {
                     var9 = var1 >> 16;
                     if(var9 >= this.anInt9785 * -399365585 && var9 < -2090820537 * this.anInt9797) {
                        this.anIntArray9788[var2 * this.anInt9789 * 1251184143 + var9] = var5;
                     }

                     var1 += var7;
                     ++var2;
                  }
               }
            }

         }
      }
   }

   public void method11513(int var1, int var2, int var3, int var4, int var5, int var6) {
      this.XA(var1, var2, var3, var5, var6);
      this.XA(var1, var4 + var2 - 1, var3, var5, var6);
      this.G(var1, 1 + var2, var4 - 2, var5, var6);
      this.G(var1 + var3 - 1, var2 + 1, var4 - 2, var5, var6);
   }

   public void method11636(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9) {
      if(null != this.anIntArray9788) {
         Class496_Sub2 var10 = (Class496_Sub2)var7;
         int[] var11 = var10.anIntArray9835;
         int[] var12 = var10.anIntArray9836;
         int var13 = this.anInt9800 * 493658681 > var9?493658681 * this.anInt9800:var9;
         int var14 = this.anInt9795 * -1644767141 < var9 + var11.length?-1644767141 * this.anInt9795:var9 + var11.length;
         var3 -= var1;
         var4 -= var2;
         if(var4 + var3 < 0) {
            var1 += var3;
            var3 = -var3;
            var2 += var4;
            var4 = -var4;
         }

         int var15;
         int var17;
         int var16;
         int var19;
         int var18;
         int var21;
         int var20;
         int var23;
         int var22;
         if(var3 > var4) {
            var2 <<= 16;
            var2 += '\u8000';
            var4 <<= 16;
            var15 = (int)Math.floor(0.5D + (double)var4 / (double)var3);
            var3 += var1;
            if(var1 < this.anInt9785 * -399365585) {
               var2 += var15 * (this.anInt9785 * -399365585 - var1);
               var1 = this.anInt9785 * -399365585;
            }

            if(var3 >= this.anInt9797 * -2090820537) {
               var3 = -2090820537 * this.anInt9797 - 1;
            }

            var16 = var5 >>> 24;
            if(0 != var6 && (var6 != 1 || 255 != var16)) {
               if(var6 == 1) {
                  var5 = ((var5 & 16711935) * var16 >> 8 & 16711935) + ((var5 & '\uff00') * var16 >> 8 & '\uff00') + (var16 << 24);

                  for(var17 = 256 - var16; var1 <= var3; ++var1) {
                     var18 = var2 >> 16;
                     var19 = var18 - var9;
                     if(var18 >= var13 && var18 < var14) {
                        var20 = var8 + var11[var19];
                        if(var1 >= var20 && var1 < var12[var19] + var20) {
                           var21 = var1 + var18 * 1251184143 * this.anInt9789;
                           var22 = this.anIntArray9788[var21];
                           var22 = (var17 * (var22 & 16711935) >> 8 & 16711935) + (var17 * (var22 & '\uff00') >> 8 & '\uff00');
                           this.anIntArray9788[var21] = var22 + var5;
                        }
                     }

                     var2 += var15;
                  }
               } else {
                  if(var6 != 2) {
                     throw new IllegalArgumentException();
                  }

                  while(var1 <= var3) {
                     var17 = var2 >> 16;
                     var18 = var17 - var9;
                     if(var17 >= var13 && var17 < var14) {
                        var19 = var8 + var11[var18];
                        if(var1 >= var19 && var1 < var19 + var12[var18]) {
                           var20 = var17 * 1251184143 * this.anInt9789 + var1;
                           var21 = this.anIntArray9788[var20];
                           var22 = var21 + var5;
                           var23 = (var21 & 16711935) + (var5 & 16711935);
                           var21 = (var22 - var23 & 65536) + (var23 & 16777472);
                           this.anIntArray9788[var20] = var22 - var21 | var21 - (var21 >>> 8);
                        }
                     }

                     var2 += var15;
                     ++var1;
                  }
               }
            } else {
               while(var1 <= var3) {
                  var17 = var2 >> 16;
                  var18 = var17 - var9;
                  if(var17 >= var13 && var17 < var14) {
                     var19 = var11[var18] + var8;
                     if(var1 >= var19 && var1 < var19 + var12[var18]) {
                        this.anIntArray9788[var1 + 1251184143 * this.anInt9789 * var17] = var5;
                     }
                  }

                  var2 += var15;
                  ++var1;
               }
            }
         } else {
            var1 <<= 16;
            var1 += '\u8000';
            var3 <<= 16;
            var15 = (int)Math.floor(0.5D + (double)var3 / (double)var4);
            var4 += var2;
            if(var2 < var13) {
               var1 += var15 * (var13 - var2);
               var2 = var13;
            }

            if(var4 >= var14) {
               var4 = var14 - 1;
            }

            var16 = var5 >>> 24;
            if(0 != var6 && (1 != var6 || 255 != var16)) {
               if(1 == var6) {
                  var5 = (var16 << 24) + (var16 * (var5 & 16711935) >> 8 & 16711935) + ((var5 & '\uff00') * var16 >> 8 & '\uff00');

                  for(var17 = 256 - var16; var2 <= var4; ++var2) {
                     var18 = var1 >> 16;
                     var19 = var2 - var9;
                     var20 = var8 + var11[var19];
                     if(var18 >= -399365585 * this.anInt9785 && var18 < -2090820537 * this.anInt9797 && var18 >= var20 && var18 < var20 + var12[var19]) {
                        var21 = var18 + var2 * 1251184143 * this.anInt9789;
                        var22 = this.anIntArray9788[var21];
                        var22 = (var17 * (var22 & '\uff00') >> 8 & '\uff00') + ((var22 & 16711935) * var17 >> 8 & 16711935);
                        this.anIntArray9788[var2 * this.anInt9789 * 1251184143 + var18] = var22 + var5;
                     }

                     var1 += var15;
                  }
               } else {
                  if(var6 != 2) {
                     throw new IllegalArgumentException();
                  }

                  while(var2 <= var4) {
                     var17 = var1 >> 16;
                     var18 = var2 - var9;
                     var19 = var8 + var11[var18];
                     if(var17 >= this.anInt9785 * -399365585 && var17 < this.anInt9797 * -2090820537 && var17 >= var19 && var17 < var19 + var12[var18]) {
                        var20 = var2 * this.anInt9789 * 1251184143 + var17;
                        var21 = this.anIntArray9788[var20];
                        var22 = var21 + var5;
                        var23 = (var5 & 16711935) + (var21 & 16711935);
                        var21 = (var23 & 16777472) + (var22 - var23 & 65536);
                        this.anIntArray9788[var20] = var22 - var21 | var21 - (var21 >>> 8);
                     }

                     var1 += var15;
                     ++var2;
                  }
               }
            } else {
               while(var2 <= var4) {
                  var17 = var1 >> 16;
                  var18 = var2 - var9;
                  var19 = var11[var18] + var8;
                  if(var17 >= this.anInt9785 * -399365585 && var17 < -2090820537 * this.anInt9797 && var17 >= var19 && var17 < var12[var18] + var19) {
                     this.anIntArray9788[var2 * 1251184143 * this.anInt9789 + var17] = var5;
                  }

                  var1 += var15;
                  ++var2;
               }
            }
         }

      }
   }

   public void method11475(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9, int var10, int var11, int var12) {
      if(null != this.anIntArray9788) {
         Class496_Sub2 var13 = (Class496_Sub2)var7;
         int[] var14 = var13.anIntArray9835;
         int[] var15 = var13.anIntArray9836;
         int var16 = this.anInt9800 * 493658681 > var9?this.anInt9800 * 493658681:var9;
         int var17 = this.anInt9795 * -1644767141 < var9 + var14.length?this.anInt9795 * -1644767141:var9 + var14.length;
         var12 <<= 8;
         var10 <<= 8;
         var11 <<= 8;
         int var18 = var10 + var11;
         var12 %= var18;
         var3 -= var1;
         var4 -= var2;
         int var19;
         int var20;
         if(var3 + var4 < 0) {
            var19 = (int)(Math.sqrt((double)(var4 * var4 + var3 * var3)) * 256.0D);
            var20 = var19 % var18;
            var12 = var18 + var10 - var12 - var20;
            var12 %= var18;
            if(var12 < 0) {
               var12 += var18;
            }

            var1 += var3;
            var3 = -var3;
            var2 += var4;
            var4 = -var4;
         }

         int var21;
         int var23;
         int var22;
         int var25;
         int var24;
         int var27;
         int var26;
         if(var3 > var4) {
            var2 <<= 16;
            var2 += '\u8000';
            var4 <<= 16;
            var19 = (int)Math.floor(0.5D + (double)var4 / (double)var3);
            var3 += var1;
            var20 = var5 >>> 24;
            var21 = (int)Math.sqrt((double)(65536 + (var19 >> 8) * (var19 >> 8)));
            if(0 != var6 && (var6 != 1 || var20 != 255)) {
               if(var6 == 1) {
                  var5 = ((var5 & 16711935) * var20 >> 8 & 16711935) + ((var5 & '\uff00') * var20 >> 8 & '\uff00') + (var20 << 24);

                  for(var22 = 256 - var20; var1 <= var3; var12 %= var18) {
                     var23 = var2 >> 16;
                     var24 = var23 - var9;
                     if(var1 >= this.anInt9785 * -399365585 && var1 < this.anInt9797 * -2090820537 && var23 >= var16 && var23 < var17 && var12 < var10) {
                        var25 = var14[var24] + var8;
                        if(var1 >= var25 && var1 < var15[var24] + var25) {
                           var26 = this.anInt9789 * 1251184143 * var23 + var1;
                           var27 = this.anIntArray9788[var26];
                           var27 = (var22 * (var27 & '\uff00') >> 8 & '\uff00') + ((var27 & 16711935) * var22 >> 8 & 16711935);
                           this.anIntArray9788[var26] = var27 + var5;
                        }
                     }

                     var2 += var19;
                     ++var1;
                     var12 += var21;
                  }
               } else {
                  if(2 != var6) {
                     throw new IllegalArgumentException();
                  }

                  while(var1 <= var3) {
                     var22 = var2 >> 16;
                     var23 = var22 - var9;
                     if(var1 >= -399365585 * this.anInt9785 && var1 < this.anInt9797 * -2090820537 && var22 >= var16 && var22 < var17 && var12 < var10) {
                        var24 = var8 + var14[var23];
                        if(var1 >= var24 && var1 < var24 + var15[var23]) {
                           var25 = var22 * 1251184143 * this.anInt9789 + var1;
                           var26 = this.anIntArray9788[var25];
                           var27 = var26 + var5;
                           int var28 = (var26 & 16711935) + (var5 & 16711935);
                           var26 = (var27 - var28 & 65536) + (var28 & 16777472);
                           this.anIntArray9788[var25] = var27 - var26 | var26 - (var26 >>> 8);
                        }
                     }

                     var2 += var19;
                     ++var1;
                     var12 += var21;
                     var12 %= var18;
                  }
               }
            } else {
               while(var1 <= var3) {
                  var22 = var2 >> 16;
                  var23 = var22 - var9;
                  if(var1 >= this.anInt9785 * -399365585 && var1 < -2090820537 * this.anInt9797 && var22 >= var16 && var22 < var17 && var12 < var10) {
                     var24 = var14[var23] + var8;
                     if(var1 >= var24 && var1 < var15[var23] + var24) {
                        this.anIntArray9788[var1 + this.anInt9789 * 1251184143 * var22] = var5;
                     }
                  }

                  var2 += var19;
                  ++var1;
                  var12 += var21;
                  var12 %= var18;
               }
            }
         } else {
            var1 <<= 16;
            var1 += '\u8000';
            var3 <<= 16;
            var19 = (int)Math.floor((double)var3 / (double)var4 + 0.5D);
            var20 = (int)Math.sqrt((double)(65536 + (var19 >> 8) * (var19 >> 8)));
            var4 += var2;
            var21 = var5 >>> 24;
            if(var6 != 0 && (var6 != 1 || var21 != 255)) {
               if(1 == var6) {
                  var5 = (var21 << 24) + ((var5 & 16711935) * var21 >> 8 & 16711935) + (var21 * (var5 & '\uff00') >> 8 & '\uff00');

                  for(var22 = 256 - var21; var2 <= var4; var12 %= var18) {
                     var23 = var1 >> 16;
                     var24 = var2 - var9;
                     if(var2 >= var16 && var2 < var17 && var23 >= -399365585 * this.anInt9785 && var23 < -2090820537 * this.anInt9797 && var12 < var10 && var23 >= var14[var24] + var8 && var23 < var8 + var14[var24] + var15[var24]) {
                        var25 = 1251184143 * this.anInt9789 * var2 + var23;
                        var26 = this.anIntArray9788[var25];
                        var26 = ((var26 & 16711935) * var22 >> 8 & 16711935) + ((var26 & '\uff00') * var22 >> 8 & '\uff00');
                        this.anIntArray9788[var2 * this.anInt9789 * 1251184143 + var23] = var26 + var5;
                     }

                     var1 += var19;
                     ++var2;
                     var12 += var20;
                  }
               } else {
                  if(2 != var6) {
                     throw new IllegalArgumentException();
                  }

                  while(var2 <= var4) {
                     var22 = var1 >> 16;
                     var23 = var2 - var9;
                     if(var2 >= var16 && var2 < var17 && var22 >= this.anInt9785 * -399365585 && var22 < -2090820537 * this.anInt9797 && var12 < var10 && var22 >= var8 + var14[var23] && var22 < var14[var23] + var8 + var15[var23]) {
                        var24 = var22 + var2 * this.anInt9789 * 1251184143;
                        var25 = this.anIntArray9788[var24];
                        var26 = var5 + var25;
                        var27 = (var5 & 16711935) + (var25 & 16711935);
                        var25 = (var27 & 16777472) + (var26 - var27 & 65536);
                        this.anIntArray9788[var24] = var26 - var25 | var25 - (var25 >>> 8);
                     }

                     var1 += var19;
                     ++var2;
                     var12 += var20;
                     var12 %= var18;
                  }
               }
            } else {
               while(var2 <= var4) {
                  var22 = var1 >> 16;
                  var23 = var2 - var9;
                  if(var2 >= var16 && var2 < var17 && var22 >= this.anInt9785 * -399365585 && var22 < -2090820537 * this.anInt9797 && var12 < var10 && var22 >= var14[var23] + var8 && var22 < var14[var23] + var8 + var15[var23]) {
                     this.anIntArray9788[var22 + 1251184143 * this.anInt9789 * var2] = var5;
                  }

                  var1 += var19;
                  ++var2;
                  var12 += var20;
                  var12 %= var18;
               }
            }
         }

      }
   }

   public int method11594(int var1, int var2) {
      var1 |= 133120;
      return var1 & var2 ^ var2;
   }

   public int method11477(int var1, int var2, int var3, int var4, int var5, int var6) {
      int var7 = 0;
      float var8 = this.aClass317_9805.aFloatArray4000[10] * (float)var3 + (float)var2 * this.aClass317_9805.aFloatArray4000[6] + (float)var1 * this.aClass317_9805.aFloatArray4000[2] + this.aClass317_9805.aFloatArray4000[14];
      float var9 = (float)var4 * this.aClass317_9805.aFloatArray4000[2] + this.aClass317_9805.aFloatArray4000[14] + this.aClass317_9805.aFloatArray4000[6] * (float)var5 + this.aClass317_9805.aFloatArray4000[10] * (float)var6;
      float var10 = (float)var1 * this.aClass317_9805.aFloatArray4000[3] + this.aClass317_9805.aFloatArray4000[15] + (float)var2 * this.aClass317_9805.aFloatArray4000[7] + (float)var3 * this.aClass317_9805.aFloatArray4000[11];
      float var11 = this.aClass317_9805.aFloatArray4000[11] * (float)var6 + this.aClass317_9805.aFloatArray4000[7] * (float)var5 + this.aClass317_9805.aFloatArray4000[3] * (float)var4 + this.aClass317_9805.aFloatArray4000[15];
      if(var8 < -var10 && var9 < -var11) {
         var7 |= 16;
      } else if(var8 > var10 && var9 > var11) {
         var7 |= 32;
      }

      float var12 = this.aClass317_9805.aFloatArray4000[12] + (float)var1 * this.aClass317_9805.aFloatArray4000[0] + this.aClass317_9805.aFloatArray4000[4] * (float)var2 + (float)var3 * this.aClass317_9805.aFloatArray4000[8];
      float var13 = (float)var5 * this.aClass317_9805.aFloatArray4000[4] + (float)var4 * this.aClass317_9805.aFloatArray4000[0] + this.aClass317_9805.aFloatArray4000[12] + (float)var6 * this.aClass317_9805.aFloatArray4000[8];
      if(var12 < -var10 && var13 < -var11) {
         var7 |= 1;
      }

      if(var12 > var10 && var13 > var11) {
         var7 |= 2;
      }

      float var14 = this.aClass317_9805.aFloatArray4000[9] * (float)var3 + (float)var2 * this.aClass317_9805.aFloatArray4000[5] + this.aClass317_9805.aFloatArray4000[13] + (float)var1 * this.aClass317_9805.aFloatArray4000[1];
      float var15 = this.aClass317_9805.aFloatArray4000[9] * (float)var6 + this.aClass317_9805.aFloatArray4000[13] + this.aClass317_9805.aFloatArray4000[1] * (float)var4 + (float)var5 * this.aClass317_9805.aFloatArray4000[5];
      if(var14 < -var10 && var15 < -var11) {
         var7 |= 4;
      }

      if(var14 > var10 && var15 > var11) {
         var7 |= 8;
      }

      return var7;
   }

   public Class225_Sub1 method11478(int var1) {
      return null;
   }

   public void L() {
      this.anInt9785 = 0;
      this.anInt9800 = 0;
      this.anInt9797 = -88634375 * this.anInt9789;
      this.anInt9795 = this.anInt9790 * 1611184643;
      this.method15378();
   }

   void method15345(int var1) {
      this.aClass174Array9791[var1].method3050(Thread.currentThread(), 1816738365);
   }

   public Class171 method11473(int[] var1, int var2, int var3, int var4, int var5, boolean var6) {
      boolean var7 = false;
      int var8 = var2;

      for(int var9 = 0; var9 < var5; ++var9) {
         for(int var10 = 0; var10 < var4; ++var10) {
            int var11 = var1[var8++] >>> 24;
            if(var11 != 0 && 255 != var11) {
               var7 = true;
               return (Class171)(var7?new Class171_Sub1_Sub3(this, var1, var2, var3, var4, var5, var6):new Class171_Sub1_Sub2(this, var1, var2, var3, var4, var5, var6));
            }
         }
      }

      return (Class171)(var7?new Class171_Sub1_Sub3(this, var1, var2, var3, var4, var5, var6):new Class171_Sub1_Sub2(this, var1, var2, var3, var4, var5, var6));
   }

   public Class171 method11483(Class86 var1, boolean var2) {
      int var3 = var1.method1691();
      int var4 = var1.method1704();
      Object var11;
      if(var2 && !var1.method1690() && var1.method1689()) {
         Class86_Sub1 var12 = (Class86_Sub1)var1;
         int[] var6 = new int[var12.anIntArray9466.length];
         byte[] var7 = new byte[var3 * var4];

         int var8;
         for(var8 = 0; var8 < var4; ++var8) {
            int var9 = var8 * var3;

            for(int var10 = 0; var10 < var3; ++var10) {
               var7[var10 + var9] = var12.aByteArray9472[var10 + var9];
            }
         }

         for(var8 = 0; var8 < var12.anIntArray9466.length; ++var8) {
            var6[var8] = var12.anIntArray9466[var8];
         }

         var11 = new Class171_Sub1_Sub1(this, var7, var6, var3, var4);
      } else {
         int[] var5 = var1.method1709(false);
         if(var1.method1690()) {
            var11 = new Class171_Sub1_Sub3(this, var5, var3, var4);
         } else {
            var11 = new Class171_Sub1_Sub2(this, var5, var3, var4);
         }
      }

      ((Class171)var11).method2918(var1.method1693(), var1.method1735(), var1.method1694(), var1.method1692());
      return (Class171)var11;
   }

   public Class171 method11484(int var1, int var2, int var3, int var4, boolean var5) {
      if(null == this.anIntArray9788) {
         throw new IllegalStateException("");
      } else {
         int[] var6 = new int[var4 * var3];
         int var7 = var1 + this.anInt9789 * 1251184143 * var2;
         int var8 = this.anInt9789 * 1251184143 - var3;

         for(int var9 = 0; var9 < var4; ++var9) {
            int var10 = var3 * var9;

            for(int var11 = 0; var11 < var3; ++var11) {
               var6[var10 + var11] = this.anIntArray9788[var7++];
            }

            var7 += var8;
         }

         if(var5) {
            return new Class171_Sub1_Sub3(this, var6, var3, var4);
         } else {
            return new Class171_Sub1_Sub2(this, var6, var3, var4);
         }
      }
   }

   public Class496 method11488(int var1, int var2, int[] var3, int[] var4) {
      return new Class496_Sub2(var1, var2, var3, var4);
   }

   public void DA(int var1, Class496 var2, int var3, int var4) {
      if(null != this.anIntArray9788) {
         Class496_Sub2 var5 = (Class496_Sub2)var2;
         int[] var6 = var5.anIntArray9835;
         int[] var7 = var5.anIntArray9836;
         int var8;
         if(-1644767141 * this.anInt9795 < var6.length + var4) {
            var8 = this.anInt9795 * -1644767141 - var4;
         } else {
            var8 = var6.length;
         }

         int var9;
         if(493658681 * this.anInt9800 > var4) {
            var9 = 493658681 * this.anInt9800 - var4;
            var4 = this.anInt9800 * 493658681;
         } else {
            var9 = 0;
         }

         if(var8 - var9 > 0) {
            int var10 = this.anInt9789 * 1251184143 * var4;

            for(int var11 = var9; var11 < var8; ++var11) {
               int var12 = var3 + var6[var11];
               int var13 = var7[var11];
               if(-399365585 * this.anInt9785 > var12) {
                  var13 -= this.anInt9785 * -399365585 - var12;
                  var12 = -399365585 * this.anInt9785;
               }

               if(this.anInt9797 * -2090820537 < var12 + var13) {
                  var13 = this.anInt9797 * -2090820537 - var12;
               }

               var12 += var10;

               for(int var14 = -var13; var14 < 0; ++var14) {
                  this.anIntArray9788[var12++] = var1;
               }

               var10 += 1251184143 * this.anInt9789;
            }

         }
      }
   }

   public Class8 method11490(Class405 var1, Class86_Sub1[] var2, boolean var3) {
      int[] var4 = new int[var2.length];
      int[] var5 = new int[var2.length];
      boolean var6 = false;

      for(int var7 = 0; var7 < var2.length; ++var7) {
         var4[var7] = var2[var7].method1691();
         var5[var7] = var2[var7].method1704();
         if(var2[var7].method1690()) {
            var6 = true;
         }
      }

      if(var3) {
         if(var6) {
            return new Class8_Sub4(this, var1, var2, var4, var5);
         } else {
            return new Class8_Sub1(this, var1, var2, var4, var5);
         }
      } else if(var6) {
         throw new IllegalArgumentException("");
      } else {
         return new Class8_Sub2(this, var1, var2, var4, var5);
      }
   }

   public void method11537(int var1) {
      Class568_Sub2.anInt9323 = var1;
      Class568_Sub2.anInt9317 = var1;
      if(this.anInt9817 * -310738315 > 1) {
         throw new IllegalStateException();
      } else {
         this.method15347(this.anInt9817 * -310738315);
         this.method15391(0);
      }
   }

   public Class568 method11493(Class96 var1, int var2, int var3, int var4, int var5) {
      return new Class568_Sub2(this, var1, var2, var4, var5, var3);
   }

   Class174 method15346(Runnable var1) {
      for(int var2 = 0; var2 < -310738315 * this.anInt9817; ++var2) {
         if(var1 == this.aClass174Array9791[var2].aRunnable2129) {
            return this.aClass174Array9791[var2];
         }
      }

      return null;
   }

   public int method11495(int var1, int var2) {
      return var1 | var2;
   }

   public Class400 method11466(int var1, int var2, int[][] var3, int[][] var4, int var5, int var6, int var7) {
      return new Class400_Sub1(this, var6, var7, var1, var2, var3, var4, var5);
   }

   public Class317 method11467() {
      Class174 var1 = this.method15346(Thread.currentThread());
      return var1.aClass317_2096;
   }

   public void method11515() {}

   public int method11505() {
      return 0;
   }

   public Class225_Sub40 method11506(int var1, int var2, int var3, int var4, int var5, float var6) {
      return null;
   }

   public void method11563(int var1, Class225_Sub40[] var2) {}

   void fv(int var1, int var2, int var3, int var4, int var5) {
      if(null != this.anIntArray9788) {
         if(var3 < 0) {
            var3 = -var3;
         }

         int var6 = var2 - var3;
         if(var6 < this.anInt9800 * 493658681) {
            var6 = this.anInt9800 * 493658681;
         }

         int var7 = var3 + var2 + 1;
         if(var7 > -1644767141 * this.anInt9795) {
            var7 = -1644767141 * this.anInt9795;
         }

         int var8 = var6;
         int var9 = var3 * var3;
         int var10 = 0;
         int var11 = var2 - var6;
         int var12 = var11 * var11;
         int var13 = var12 - var11;
         if(var2 > var7) {
            var2 = var7;
         }

         int var14 = var4 >>> 24;
         int var15;
         int var17;
         int var16;
         int var18;
         if(var5 != 0 && (1 != var5 || 255 != var14)) {
            int var19;
            int var20;
            if(var5 == 1) {
               var4 = (var14 * (var4 & 16711935) >> 8 & 16711935) + (var14 * (var4 & '\uff00') >> 8 & '\uff00') + (var14 << 24);

               for(var15 = 256 - var14; var8 < var2; var13 -= var11 + var11) {
                  while(var13 <= var9 || var12 <= var9) {
                     var12 += var10 + var10;
                     var13 += var10++ + var10;
                  }

                  var16 = var1 - var10 + 1;
                  if(var16 < -399365585 * this.anInt9785) {
                     var16 = this.anInt9785 * -399365585;
                  }

                  var17 = var1 + var10;
                  if(var17 > -2090820537 * this.anInt9797) {
                     var17 = this.anInt9797 * -2090820537;
                  }

                  var18 = 1251184143 * this.anInt9789 * var8 + var16;

                  for(var19 = var16; var19 < var17; ++var19) {
                     var20 = this.anIntArray9788[var18];
                     var20 = (var15 * (var20 & '\uff00') >> 8 & '\uff00') + ((var20 & 16711935) * var15 >> 8 & 16711935);
                     this.anIntArray9788[var18++] = var20 + var4;
                  }

                  ++var8;
                  var12 -= var11-- + var11;
               }

               var10 = var3;
               var11 = -var11;
               var13 = var9 + var11 * var11;
               var12 = var13 - var3;

               for(var13 -= var11; var8 < var7; var12 += var11++ + var11) {
                  while(var13 > var9 && var12 > var9) {
                     var13 -= var10-- + var10;
                     var12 -= var10 + var10;
                  }

                  var16 = var1 - var10;
                  if(var16 < -399365585 * this.anInt9785) {
                     var16 = this.anInt9785 * -399365585;
                  }

                  var17 = var1 + var10;
                  if(var17 > this.anInt9797 * -2090820537 - 1) {
                     var17 = this.anInt9797 * -2090820537 - 1;
                  }

                  var18 = var16 + 1251184143 * this.anInt9789 * var8;

                  for(var19 = var16; var19 <= var17; ++var19) {
                     var20 = this.anIntArray9788[var18];
                     var20 = (var15 * (var20 & '\uff00') >> 8 & '\uff00') + ((var20 & 16711935) * var15 >> 8 & 16711935);
                     this.anIntArray9788[var18++] = var4 + var20;
                  }

                  ++var8;
                  var13 += var11 + var11;
               }
            } else {
               if(var5 != 2) {
                  throw new IllegalArgumentException();
               }

               int var21;
               while(var8 < var2) {
                  while(var13 <= var9 || var12 <= var9) {
                     var12 += var10 + var10;
                     var13 += var10++ + var10;
                  }

                  var15 = 1 + (var1 - var10);
                  if(var15 < -399365585 * this.anInt9785) {
                     var15 = this.anInt9785 * -399365585;
                  }

                  var16 = var1 + var10;
                  if(var16 > this.anInt9797 * -2090820537) {
                     var16 = this.anInt9797 * -2090820537;
                  }

                  var17 = var15 + var8 * this.anInt9789 * 1251184143;

                  for(var18 = var15; var18 < var16; ++var18) {
                     var19 = this.anIntArray9788[var17];
                     var20 = var19 + var4;
                     var21 = (var4 & 16711935) + (var19 & 16711935);
                     var19 = (var21 & 16777472) + (var20 - var21 & 65536);
                     this.anIntArray9788[var17++] = var20 - var19 | var19 - (var19 >>> 8);
                  }

                  ++var8;
                  var12 -= var11-- + var11;
                  var13 -= var11 + var11;
               }

               var10 = var3;
               var11 = -var11;
               var13 = var9 + var11 * var11;
               var12 = var13 - var3;

               for(var13 -= var11; var8 < var7; var12 += var11++ + var11) {
                  while(var13 > var9 && var12 > var9) {
                     var13 -= var10-- + var10;
                     var12 -= var10 + var10;
                  }

                  var15 = var1 - var10;
                  if(var15 < -399365585 * this.anInt9785) {
                     var15 = -399365585 * this.anInt9785;
                  }

                  var16 = var1 + var10;
                  if(var16 > -2090820537 * this.anInt9797 - 1) {
                     var16 = -2090820537 * this.anInt9797 - 1;
                  }

                  var17 = var15 + this.anInt9789 * 1251184143 * var8;

                  for(var18 = var15; var18 <= var16; ++var18) {
                     var19 = this.anIntArray9788[var17];
                     var20 = var19 + var4;
                     var21 = (var4 & 16711935) + (var19 & 16711935);
                     var19 = (var20 - var21 & 65536) + (var21 & 16777472);
                     this.anIntArray9788[var17++] = var20 - var19 | var19 - (var19 >>> 8);
                  }

                  ++var8;
                  var13 += var11 + var11;
               }
            }
         } else {
            while(var8 < var2) {
               while(var13 <= var9 || var12 <= var9) {
                  var12 += var10 + var10;
                  var13 += var10++ + var10;
               }

               var15 = var1 - var10 + 1;
               if(var15 < this.anInt9785 * -399365585) {
                  var15 = -399365585 * this.anInt9785;
               }

               var16 = var1 + var10;
               if(var16 > this.anInt9797 * -2090820537) {
                  var16 = -2090820537 * this.anInt9797;
               }

               var17 = var8 * 1251184143 * this.anInt9789 + var15;

               for(var18 = var15; var18 < var16; ++var18) {
                  this.anIntArray9788[var17++] = var4;
               }

               ++var8;
               var12 -= var11-- + var11;
               var13 -= var11 + var11;
            }

            var10 = var3;
            var11 = var8 - var2;
            var13 = var11 * var11 + var9;
            var12 = var13 - var3;

            for(var13 -= var11; var8 < var7; var12 += var11++ + var11) {
               while(var13 > var9 && var12 > var9) {
                  var13 -= var10-- + var10;
                  var12 -= var10 + var10;
               }

               var15 = var1 - var10;
               if(var15 < -399365585 * this.anInt9785) {
                  var15 = this.anInt9785 * -399365585;
               }

               var16 = var10 + var1;
               if(var16 > -2090820537 * this.anInt9797 - 1) {
                  var16 = this.anInt9797 * -2090820537 - 1;
               }

               var17 = var8 * 1251184143 * this.anInt9789 + var15;

               for(var18 = var15; var18 <= var16; ++var18) {
                  this.anIntArray9788[var17++] = var4;
               }

               ++var8;
               var13 += var11 + var11;
            }
         }

      }
   }

   void method15347(int var1) {
      this.anInt9817 = var1 * -409354787;
      this.aClass174Array9791 = new Class174[this.anInt9817 * -310738315];

      for(int var2 = 0; var2 < -310738315 * this.anInt9817; ++var2) {
         this.aClass174Array9791[var2] = new Class174(this);
      }

   }

   public void method11603(Class328 var1) {
      this.aClass328_9802 = var1;
      this.method15376();
   }

   public void method11711(Class97 var1) {
      this.method15348(null != this.anIntArray9788, this.aFloatArray9808 != null, false, var1);
   }

   void method15348(boolean var1, boolean var2, boolean var3, Class97 var4) {
      Class174 var5 = this.method15346(Thread.currentThread());

      for(Class222_Sub1_Sub1 var6 = (Class222_Sub1_Sub1)var4.aClass478_981.method8053((byte)8); null != var6; var6 = (Class222_Sub1_Sub1)var4.aClass478_981.method8054((byte)57)) {
         int var7 = var6.anInt10062 >> 12;
         int var8 = var6.anInt10066 >> 12;
         int var9 = var6.anInt10059 >> 12;
         float var10 = this.aClass317_9805.aFloatArray4000[14] + this.aClass317_9805.aFloatArray4000[2] * (float)var7 + this.aClass317_9805.aFloatArray4000[6] * (float)var8 + (float)var9 * this.aClass317_9805.aFloatArray4000[10];
         float var11 = this.aClass317_9805.aFloatArray4000[7] * (float)var8 + (float)var7 * this.aClass317_9805.aFloatArray4000[3] + this.aClass317_9805.aFloatArray4000[11] * (float)var9 + this.aClass317_9805.aFloatArray4000[15];
         if(var10 >= -var11) {
            float var12 = var10 * this.aFloat9815 / var11 + this.aFloat9816;
            if(var10 <= var5.aFloat2088) {
               float var13 = this.aClass317_9805.aFloatArray4000[0] * (float)var7 + this.aClass317_9805.aFloatArray4000[4] * (float)var8 + (float)var9 * this.aClass317_9805.aFloatArray4000[8] + this.aClass317_9805.aFloatArray4000[12];
               float var14 = this.aClass317_9805.aFloatArray4000[1] * (float)var7 + (float)var8 * this.aClass317_9805.aFloatArray4000[5] + this.aClass317_9805.aFloatArray4000[9] * (float)var9 + this.aClass317_9805.aFloatArray4000[13];
               if(var13 >= -var11 && var13 <= var11 && var14 >= -var11 && var14 <= var11) {
                  float var15 = (float)var6.anInt10065 / 4096.0F;
                  float var16 = var13 + this.aClass317_9819.aFloatArray4000[0] * var15;
                  float var17 = var15 * this.aClass317_9819.aFloatArray4000[3] + var11;
                  float var18 = var13 * this.aFloat9810 / var11 + this.aFloat9812;
                  float var19 = this.aFloat9813 * var14 / var11 + this.aFloat9814;
                  float var20 = this.aFloat9812 + this.aFloat9810 * var16 / var17;
                  this.method15335(var1, var2, var3, var6, (int)var18, (int)var19, var12, (int)(var20 < var18?var18 - var20:var20 - var18));
               }
            }
         }
      }

   }

   public boolean method11538() {
      return false;
   }

   public void r(int var1, int var2, int var3, int var4) {
      if(var1 < 0) {
         var1 = 0;
      }

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

      if(var3 > 1251184143 * this.anInt9789) {
         var3 = this.anInt9789 * 1251184143;
      }

      if(var4 > this.anInt9790 * 367961873) {
         var4 = this.anInt9790 * 367961873;
      }

      this.anInt9785 = 90791119 * var1;
      this.anInt9797 = var3 * 1362775415;
      this.anInt9800 = var2 * 196127753;
      this.anInt9795 = var4 * 791320531;
      this.method15378();
   }

   void method15349(boolean var1, boolean var2, boolean var3, int var4, int var5, float var6, int var7, int var8, int var9, int var10, int var11, int var12) {
      if(var7 != 0 && var8 != 0) {
         if('\uffff' != var9) {
            Class161 var13 = this.anInterface24_7370.method113(var9, 1121497743);
            if(!var13.aBool1994) {
               if(-185182257 * this.anInt9822 != var9) {
                  Class171 var14 = (Class171)this.aClass564_9820.method11959((long)var9);
                  if(var14 == null) {
                     int[] var15 = this.method15336(var9);
                     if(var15 == null) {
                        return;
                     }

                     int var16 = this.anInterface24_7370.method113(var9, -1128198541).anInt1989 * -836426007;
                     var14 = this.method11599(var15, 0, var16, var16, var16, 98312473);
                     this.aClass564_9820.method11958(var14, (long)var9);
                  }

                  this.anInt9822 = -1312600273 * var9;
                  this.aClass171_9794 = var14;
               }

               ((Class171_Sub1)this.aClass171_9794).method15419(var1, var2, var3, var4 - var7, var5 - var8, var6, var7 << 1, var8 << 1, var11, var10, var12, 1, var13.aClass565_1987 != Class565.aClass565_7503);
               return;
            }
         }

         this.method15390(var2, var4, var5, var6, var7, var10, var12);
      }
   }

   public Class79 method11507(int var1, int var2, int var3, int var4, int var5, int var6) {
      return null;
   }

   public Class328 method11498() {
      return new Class328(this.aClass328_9802);
   }

   public void method11500(Class317 var1) {
      this.aClass317_9819.method5609(var1);
      this.method15376();
   }

   public Class317 method11501() {
      return new Class317(this.aClass317_9819);
   }

   public void IA(float var1) {
      this.anInt9801 = 644206877 * (int)(65535.0F * var1);
   }

   public void method11439(int var1, int var2, int var3, int var4, int var5, int var6) {
      this.XA(var1, var2, var3, var5, var6);
      this.XA(var1, var4 + var2 - 1, var3, var5, var6);
      this.G(var1, 1 + var2, var4 - 2, var5, var6);
      this.G(var1 + var3 - 1, var2 + 1, var4 - 2, var5, var6);
   }

   void method15350(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) {
      if(this.anIntArray9788 != null) {
         if(var1 >= -399365585 * this.anInt9785 && var1 < -2090820537 * this.anInt9797) {
            int var9 = var1 + var2 * this.anInt9789 * 1251184143;
            int var10 = var4 >>> 24;
            int var11 = var6 + var7;
            int var12 = var8 % var11;
            int var13;
            if(0 != var5 && (var5 != 1 || 255 != var10)) {
               int var14;
               int var15;
               int var16;
               if(1 == var5) {
                  var4 = (var10 * (var4 & '\uff00') >> 8 & '\uff00') + (var10 * (var4 & 16711935) >> 8 & 16711935) + (var10 << 24);
                  var13 = 256 - var10;

                  for(var14 = 0; var14 < var3; var12 %= var11) {
                     if(var2 + var14 >= 493658681 * this.anInt9800 && var14 + var2 < -1644767141 * this.anInt9795 && var12 < var6) {
                        var15 = this.anInt9789 * 1251184143 * var14 + var9;
                        var16 = this.anIntArray9788[var15];
                        var16 = ((var16 & 16711935) * var13 >> 8 & 16711935) + ((var16 & '\uff00') * var13 >> 8 & '\uff00');
                        this.anIntArray9788[var15] = var4 + var16;
                     }

                     ++var14;
                     ++var12;
                  }
               } else {
                  if(var5 != 2) {
                     throw new IllegalArgumentException();
                  }

                  for(var13 = 0; var13 < var3; var12 %= var11) {
                     if(var2 + var13 >= this.anInt9800 * 493658681 && var2 + var13 < -1644767141 * this.anInt9795 && var12 < var6) {
                        var14 = var9 + var13 * 1251184143 * this.anInt9789;
                        var15 = this.anIntArray9788[var14];
                        var16 = var4 + var15;
                        int var17 = (var15 & 16711935) + (var4 & 16711935);
                        var15 = (var16 - var17 & 65536) + (var17 & 16777472);
                        this.anIntArray9788[var14] = var16 - var15 | var15 - (var15 >>> 8);
                     }

                     ++var13;
                     ++var12;
                  }
               }
            } else {
               for(var13 = 0; var13 < var3; var12 %= var11) {
                  if(var2 + var13 >= this.anInt9800 * 493658681 && var2 + var13 < -1644767141 * this.anInt9795 && var12 < var6) {
                     this.anIntArray9788[this.anInt9789 * 1251184143 * var13 + var9] = var4;
                  }

                  ++var13;
                  ++var12;
               }
            }

         }
      }
   }

   public void c(int var1, int var2, int var3) {
      for(int var4 = 0; var4 < this.aClass174Array9791.length; ++var4) {
         Class174 var5 = this.aClass174Array9791[var4];
         var5.anInt2090 = 886069921 * (var1 & 16777215);
         int var6 = var5.anInt2090 * 723388769 >>> 16 & 255;
         if(var6 < 2) {
            var6 = 2;
         }

         int var7 = 723388769 * var5.anInt2090 >> 8 & 255;
         if(var7 < 2) {
            var7 = 2;
         }

         int var8 = 723388769 * var5.anInt2090 & 255;
         if(var8 < 2) {
            var8 = 2;
         }

         var5.anInt2090 = 886069921 * (var6 << 16 | var7 << 8 | var8);
         if(var2 < 0) {
            var5.aBool2108 = false;
         } else {
            var5.aBool2108 = true;
         }
      }

   }

   public void es(float var1, float var2) {
      this.aFloat9815 = var2 - var1;
      this.aFloat9816 = var2 + var1 - 1.0F;

      for(int var3 = 0; var3 < this.anInt9817 * -310738315; ++var3) {
         Class174 var4 = this.aClass174Array9791[var3];
         Class143 var5 = var4.aClass143_2098;
         var5.aFloat1645 = this.aFloat9815;
         var5.aFloat1644 = this.aFloat9816;
      }

   }

   public Class85 method11663() {
      return new Class85(0, "Pure Java", 1, "CPU", 0L);
   }

   public Class79 method11517(Class79 var1, Class79 var2, float var3, Class79 var4) {
      return null;
   }

   public void method11508(Class79 var1) {}

   public boolean method11509() {
      return false;
   }

   public void method11510() {}

   public boolean method11586() {
      return true;
   }

   void method11511(float var1, float var2, float var3, float var4, float var5, float var6) {}

   public void method11514(int var1, int var2, int var3, int var4) {}

   public void method11609(int var1, Class225_Sub40[] var2) {}

   public void method11543(int var1, Class153 var2) {
      for(int var3 = 0; var3 < this.aClass174Array9791.length; ++var3) {
         this.aClass174Array9791[var3].anInt2117 = this.aClass174Array9791[var3].anInt2090 * -712675057;
         this.aClass174Array9791[var3].anInt2093 = 341587971 * var1;
         this.aClass174Array9791[var3].anInt2090 = -282227755 * var2.anInt1727;
         this.aClass174Array9791[var3].anInt2094 = var2.anInt1731 * -1284126655;
         this.aClass174Array9791[var3].aBool2092 = true;
      }

   }

   public void method11496(int var1, Class153 var2) {
      Class174 var3 = this.method15346(Thread.currentThread());
      var3.anInt2093 = 341587971 * var1;
      var3.anInt2090 = var2.anInt1727 * -282227755;
      var3.anInt2094 = -1284126655 * var2.anInt1731;
   }

   public void O() {
      for(int var1 = 0; var1 < this.aClass174Array9791.length; ++var1) {
         this.aClass174Array9791[var1].anInt2090 = -1709744657 * this.aClass174Array9791[var1].anInt2117;
         this.aClass174Array9791[var1].aBool2092 = false;
      }

   }

   void method15351(int var1) {
      this.aClass174Array9791[var1].method3050(Thread.currentThread(), 1902298479);
   }

   public void method11650(float var1, float var2, float var3, float[] var4) {
      float var5 = var3 * this.aClass317_9805.aFloatArray4000[11] + var2 * this.aClass317_9805.aFloatArray4000[7] + var1 * this.aClass317_9805.aFloatArray4000[3] + this.aClass317_9805.aFloatArray4000[15];
      float var6 = this.aClass317_9805.aFloatArray4000[4] * var2 + this.aClass317_9805.aFloatArray4000[12] + this.aClass317_9805.aFloatArray4000[0] * var1 + var3 * this.aClass317_9805.aFloatArray4000[8];
      float var7 = var2 * this.aClass317_9805.aFloatArray4000[5] + this.aClass317_9805.aFloatArray4000[13] + this.aClass317_9805.aFloatArray4000[1] * var1 + this.aClass317_9805.aFloatArray4000[9] * var3;
      float var8 = this.aClass317_9803.aFloatArray4000[2] * var1 + this.aClass317_9803.aFloatArray4000[14] + this.aClass317_9803.aFloatArray4000[6] * var2 + this.aClass317_9803.aFloatArray4000[10] * var3;
      var4[0] = var6 * this.aFloat9810 / var5 + this.aFloat9812;
      var4[1] = this.aFloat9814 + this.aFloat9813 * var7 / var5;
      var4[2] = var8;
   }

   public void method11519(float var1, float var2, float var3, float[] var4) {
      float var5 = this.aClass317_9805.aFloatArray4000[10] * var3 + this.aClass317_9805.aFloatArray4000[14] + var1 * this.aClass317_9805.aFloatArray4000[2] + this.aClass317_9805.aFloatArray4000[6] * var2;
      float var6 = var1 * this.aClass317_9805.aFloatArray4000[3] + this.aClass317_9805.aFloatArray4000[15] + this.aClass317_9805.aFloatArray4000[7] * var2 + var3 * this.aClass317_9805.aFloatArray4000[11];
      if(var5 >= -var6 && var5 <= var6) {
         float var7 = this.aClass317_9805.aFloatArray4000[8] * var3 + this.aClass317_9805.aFloatArray4000[12] + this.aClass317_9805.aFloatArray4000[0] * var1 + var2 * this.aClass317_9805.aFloatArray4000[4];
         if(var7 >= -var6 && var7 <= var6) {
            float var8 = var1 * this.aClass317_9805.aFloatArray4000[1] + this.aClass317_9805.aFloatArray4000[13] + var2 * this.aClass317_9805.aFloatArray4000[5] + this.aClass317_9805.aFloatArray4000[9] * var3;
            if(var8 >= -var6 && var8 <= var6) {
               float var9 = this.aClass317_9803.aFloatArray4000[10] * var3 + this.aClass317_9803.aFloatArray4000[6] * var2 + this.aClass317_9803.aFloatArray4000[14] + var1 * this.aClass317_9803.aFloatArray4000[2];
               var4[0] = this.aFloat9812 + this.aFloat9810 * var7 / var6;
               var4[1] = var8 * this.aFloat9813 / var6 + this.aFloat9814;
               var4[2] = var9;
            } else {
               var4[2] = Float.NaN;
               var4[1] = Float.NaN;
               var4[0] = Float.NaN;
            }
         } else {
            var4[2] = Float.NaN;
            var4[1] = Float.NaN;
            var4[0] = Float.NaN;
         }
      } else {
         var4[2] = Float.NaN;
         var4[1] = Float.NaN;
         var4[0] = Float.NaN;
      }
   }

   public Class151_Sub1 method11454() {
      return new Class151_Sub1_Sub3(this);
   }

   Interface7 method15352(int var1, int var2) {
      return new Class146(var1, var2);
   }

   public Interface7 method11455(int var1, int var2, Class98 var3, Class91 var4, int var5) {
      return this.method15352(var1, var2);
   }

   public Interface8 method11456(int var1, int var2) {
      return new Class127(var1, var2);
   }

   public Interface8 method11457(int var1, int var2, int var3) {
      return new Class127(var1, var2);
   }

   public void method11640() {}

   void method11523(int var1, int var2) throws Exception_Sub5 {
      this.aClass151_Sub2_7358.method14945(var1, var2);
      if(this.anInterface24_7370 != null) {
         this.anInterface24_7370.method117((byte)35);
      }

   }

   public void method11524() {}

   public void method11525() {}

   void method15353(int var1) {
      this.anInt9817 = var1 * -409354787;
      this.aClass174Array9791 = new Class174[this.anInt9817 * -310738315];

      for(int var2 = 0; var2 < -310738315 * this.anInt9817; ++var2) {
         this.aClass174Array9791[var2] = new Class174(this);
      }

   }

   void method11527() {
      if(this.aBool9787) {
         Class8.method657(true, false, (byte)-38);
         this.aBool9787 = false;
      }

      this.aBool9818 = true;
   }

   void method11528() {
      if(this.aBool9787) {
         Class8.method657(true, false, (byte)-15);
         this.aBool9787 = false;
      }

      this.aBool9818 = true;
   }

   void method11529() {
      if(this.aBool9787) {
         Class8.method657(true, false, (byte)-72);
         this.aBool9787 = false;
      }

      this.aBool9818 = true;
   }

   public void method11530(int var1) {
      int var2 = var1 - 1915127309 * this.anInt9786;

      for(Class225_Sub49 var3 = (Class225_Sub49)this.aClass564_9811.method11981(-384982829); var3 != null; var3 = (Class225_Sub49)this.aClass564_9811.method11965(301484349)) {
         if(var3.aBool8866) {
            var3.anInt8868 += var2;
            int var4 = var3.anInt8868 / 50;
            if(var4 > 0) {
               Class161 var5 = this.anInterface24_7370.method113(var3.anInt8867, 1344737916);
               float var6 = (float)(-836426007 * var5.anInt1989);
               var3.method14233((int)((float)var5.aByte1972 * ((float)var2 / 1000.0F) / 64.0F * var6), (int)((float)var5.aByte1993 * ((float)var2 / 1000.0F) / 64.0F * var6));
               var3.anInt8868 -= 50 * var4;
            }

            var3.aBool8866 = false;
         }
      }

      this.anInt9786 = var1 * -1389872955;
      this.aClass564_9820.method11963(5, (byte)-116);
      this.aClass564_9811.method11963(5, (byte)-7);
   }

   public void method11589(int var1) {
      Class568_Sub2.anInt9323 = var1;
      Class568_Sub2.anInt9317 = var1;
      if(this.anInt9817 * -310738315 > 1) {
         throw new IllegalStateException();
      } else {
         this.method15347(this.anInt9817 * -310738315);
         this.method15391(0);
      }
   }

   public int dg() {
      return 0;
   }

   boolean method15354() {
      return this.aBool9818;
   }

   boolean method15355() {
      return this.aBool9818;
   }

   boolean method15356() {
      return this.aBool9818;
   }

   public int[] kx(int var1, int var2, int var3, int var4) {
      if(this.anIntArray9788 == null) {
         throw new IllegalStateException("");
      } else {
         int[] var5 = new int[var3 * var4];
         int var6 = 0;

         for(int var7 = 0; var7 < var4; ++var7) {
            int var8 = (var7 + var2) * this.anInt9789 * 1251184143 + var1;

            for(int var9 = 0; var9 < var3; ++var9) {
               var5[var6++] = this.anIntArray9788[var8 + var9];
            }
         }

         return var5;
      }
   }

   int[] method15357(int var1) {
      Class564 var2 = this.aClass564_9811;
      Class225_Sub49 var3;
      synchronized(var2) {
         var3 = (Class225_Sub49)this.aClass564_9811.method11959((long)var1 | Long.MIN_VALUE);
         if(var3 == null) {
            Class161 var4 = this.anInterface24_7370.method113(var1, 759711532);
            int var5 = -836426007 * var4.anInt1989;
            if(!this.anInterface24_7370.method119(var1, Class557.aClass557_7471, 0.7F, var5, var5, true, 1794679128)) {
               return null;
            }

            int[] var6;
            if(Class565.aClass565_7503 == var4.aClass565_1987) {
               var6 = this.anInterface24_7370.method115(var1, 0.7F, var5, var5, true, (short)-22415);
            } else {
               var6 = this.anInterface24_7370.method127(var1, 0.7F, var5, var5, true, -1122500870);
            }

            var3 = new Class225_Sub49(var1, var5, var6, var4.aClass565_1987 != Class565.aClass565_7501);
            this.aClass564_9811.method11962(var3, (long)var1 | Long.MIN_VALUE, var5 * var5, (byte)-49);
         }
      }

      var3.aBool8866 = true;
      return var3.method14231();
   }

   int[] method15358(int var1) {
      Class564 var2 = this.aClass564_9811;
      Class225_Sub49 var3;
      synchronized(var2) {
         var3 = (Class225_Sub49)this.aClass564_9811.method11959((long)var1 | Long.MIN_VALUE);
         if(var3 == null) {
            Class161 var4 = this.anInterface24_7370.method113(var1, 1496738614);
            int var5 = -836426007 * var4.anInt1989;
            if(!this.anInterface24_7370.method119(var1, Class557.aClass557_7471, 0.7F, var5, var5, true, -1800740133)) {
               return null;
            }

            int[] var6;
            if(Class565.aClass565_7503 == var4.aClass565_1987) {
               var6 = this.anInterface24_7370.method115(var1, 0.7F, var5, var5, true, (short)-7099);
            } else {
               var6 = this.anInterface24_7370.method127(var1, 0.7F, var5, var5, true, -1122500870);
            }

            var3 = new Class225_Sub49(var1, var5, var6, var4.aClass565_1987 != Class565.aClass565_7501);
            this.aClass564_9811.method11962(var3, (long)var1 | Long.MIN_VALUE, var5 * var5, (byte)-31);
         }
      }

      var3.aBool8866 = true;
      return var3.method14231();
   }

   public void method11526() {}

   void method11522(int var1, int var2) throws Exception_Sub5 {
      this.aClass151_Sub2_7358.method14945(var1, var2);
      if(this.anInterface24_7370 != null) {
         this.anInterface24_7370.method117((byte)69);
      }

   }

   public void method11497(int var1, int var2, float var3, int var4, int var5, float var6, int var7, int var8, float var9, int var10, int var11, int var12, int var13) {
      boolean var14 = this.anIntArray9788 != null;
      boolean var15 = this.aFloatArray9808 != null;
      if(var14 || var15) {
         Class174 var16 = this.method15346(Thread.currentThread());
         Class143 var17 = var16.aClass143_2098;
         var17.aBool1634 = false;
         var1 -= -399365585 * this.anInt9785;
         var4 -= -399365585 * this.anInt9785;
         var7 -= -399365585 * this.anInt9785;
         var2 -= 493658681 * this.anInt9800;
         var5 -= this.anInt9800 * 493658681;
         var8 -= this.anInt9800 * 493658681;
         var17.aBool1650 = var1 < 0 || var1 > var17.anInt1640 || var4 < 0 || var4 > var17.anInt1640 || var7 < 0 || var7 > var17.anInt1640;
         int var18 = var10 >>> 24;
         if(0 != var13 && (1 != var13 || 255 != var18)) {
            if(var13 == 1) {
               var17.anInt1636 = 255 - var18;
               var17.aBool1635 = false;
               var17.method2646(var14, var15, false, (float)var2, (float)var5, (float)var8, (float)var1, (float)var4, (float)var7, var3, var6, var9, var10, var11, var12);
            } else {
               if(var13 != 2) {
                  throw new IllegalArgumentException();
               }

               var17.anInt1636 = 128;
               var17.aBool1635 = true;
               var17.method2646(var14, var15, false, (float)var2, (float)var5, (float)var8, (float)var1, (float)var4, (float)var7, var3, var6, var9, var10, var11, var12);
            }
         } else {
            var17.anInt1636 = 0;
            var17.aBool1635 = false;
            var17.method2646(var14, var15, false, (float)var2, (float)var5, (float)var8, (float)var1, (float)var4, (float)var7, var3, var6, var9, var10, var11, var12);
         }

         var17.aBool1634 = true;
      }
   }

   public Class496 method11584(int var1, int var2, int[] var3, int[] var4) {
      return new Class496_Sub2(var1, var2, var3, var4);
   }

   int method15359(int var1) {
      return this.anInterface24_7370.method113(var1, 1604106068).aShort1975 & '\uffff';
   }

   boolean method15360(int var1) {
      return this.anInterface24_7370.method113(var1, 1543952553).aBool1984 || this.anInterface24_7370.method113(var1, 557100987).aBool1974;
   }

   public void method11676(Class225_Sub1 var1) {}

   public boolean method11533() {
      return false;
   }

   public boolean method11618() {
      return true;
   }

   public boolean method11534() {
      return false;
   }

   public void method11579(int var1, int var2, int var3, int var4, int var5, int var6) {
      this.XA(var1, var2, var3, var5, var6);
      this.XA(var1, var4 + var2 - 1, var3, var5, var6);
      this.G(var1, 1 + var2, var4 - 2, var5, var6);
      this.G(var1 + var3 - 1, var2 + 1, var4 - 2, var5, var6);
   }

   int method15361(int var1) {
      return this.anInterface24_7370.method113(var1, 1416046219).anInt1989 * -836426007;
   }

   public boolean method11616() {
      return false;
   }

   public void m(int var1, float var2, float var3, float var4, float var5, float var6) {
      this.anInt9799 = -1200830879 * (int)(var2 * 65535.0F);
      this.anInt9804 = (int)(65535.0F * var3) * 1217186825;
      float var7 = (float)Math.sqrt((double)(var5 * var5 + var4 * var4 + var6 * var6));
      this.anInt9796 = (int)(var4 * 65535.0F / var7) * -478262553;
      this.anInt9821 = (int)(65535.0F * var5 / var7) * -829176289;
      this.anInt9798 = -2037303019 * (int)(var6 * 65535.0F / var7);
   }

   public Class171 method11580(int[] var1, int var2, int var3, int var4, int var5, boolean var6) {
      boolean var7 = false;
      int var8 = var2;

      for(int var9 = 0; var9 < var5; ++var9) {
         for(int var10 = 0; var10 < var4; ++var10) {
            int var11 = var1[var8++] >>> 24;
            if(var11 != 0 && 255 != var11) {
               var7 = true;
               return (Class171)(var7?new Class171_Sub1_Sub3(this, var1, var2, var3, var4, var5, var6):new Class171_Sub1_Sub2(this, var1, var2, var3, var4, var5, var6));
            }
         }
      }

      return (Class171)(var7?new Class171_Sub1_Sub3(this, var1, var2, var3, var4, var5, var6):new Class171_Sub1_Sub2(this, var1, var2, var3, var4, var5, var6));
   }

   public boolean method11643() {
      return false;
   }

   public boolean method11540() {
      return true;
   }

   public void method11692(Class317 var1) {
      this.aClass317_9819.method5609(var1);
      this.method15376();
   }

   void method15362() {
      this.aClass317_9803.method5613(this.aClass328_9802);
      this.aClass317_9805.method5609(this.aClass317_9803);
      this.aClass317_9805.method5612(this.aClass317_9819);
      this.aClass317_9805.method5633(this.aFloatArrayArray9806[0]);
      this.aClass317_9805.method5608(this.aFloatArrayArray9806[1]);
      this.aClass317_9805.method5629(this.aFloatArrayArray9806[2]);
      this.aClass317_9805.method5630(this.aFloatArrayArray9806[3]);
      this.aClass317_9805.method5620(this.aFloatArrayArray9806[4]);
      this.aClass317_9805.method5632(this.aFloatArrayArray9806[5]);
      float var1 = this.aClass317_9819.method5628();
      float var2 = this.aClass317_9819.aFloatArray4000[14] + this.aClass317_9819.aFloatArray4000[10] * (var1 - 255.0F);
      float var3 = this.aClass317_9819.aFloatArray4000[14] + var1 * this.aClass317_9819.aFloatArray4000[10];
      float var4 = var3 - var2;

      for(int var5 = 0; var5 < this.anInt9817 * -310738315; ++var5) {
         Class174 var6 = this.aClass174Array9791[var5];
         var6.aFloat2088 = var2;
         var6.aFloat2091 = var4;
      }

   }

   public void method11542(boolean var1) {}

   int[] method15363(int var1) {
      Class564 var2 = this.aClass564_9811;
      Class225_Sub49 var3;
      synchronized(var2) {
         var3 = (Class225_Sub49)this.aClass564_9811.method11959((long)var1 | Long.MIN_VALUE);
         if(var3 == null) {
            Class161 var4 = this.anInterface24_7370.method113(var1, 958118382);
            int var5 = -836426007 * var4.anInt1989;
            if(!this.anInterface24_7370.method119(var1, Class557.aClass557_7471, 0.7F, var5, var5, true, 2063674446)) {
               return null;
            }

            int[] var6;
            if(Class565.aClass565_7503 == var4.aClass565_1987) {
               var6 = this.anInterface24_7370.method115(var1, 0.7F, var5, var5, true, (short)-7304);
            } else {
               var6 = this.anInterface24_7370.method127(var1, 0.7F, var5, var5, true, -1122500870);
            }

            var3 = new Class225_Sub49(var1, var5, var6, var4.aClass565_1987 != Class565.aClass565_7501);
            this.aClass564_9811.method11962(var3, (long)var1 | Long.MIN_VALUE, var5 * var5, (byte)-6);
         }
      }

      var3.aBool8866 = true;
      return var3.method14231();
   }

   Class151_Sub2 method11578(Canvas var1, int var2, int var3) {
      return Class222_Sub6.method14228(this, var1, var2, var3, (byte)114);
   }

   Class151_Sub2 method11545(Canvas var1, int var2, int var3) {
      return Class222_Sub6.method14228(this, var1, var2, var3, (byte)90);
   }

   Class151_Sub2 method11619(Canvas var1, int var2, int var3) {
      return Class222_Sub6.method14228(this, var1, var2, var3, (byte)25);
   }

   Class151_Sub2 method11489(Canvas var1, int var2, int var3) {
      return Class222_Sub6.method14228(this, var1, var2, var3, (byte)80);
   }

   void method15364(int var1, int var2, int[] var3, float[] var4) {
      this.anInt9789 = -163864337 * var1;
      this.anInt9790 = 644033009 * var2;
      this.anIntArray9788 = var3;
      this.aFloatArray9808 = var4;

      for(int var5 = 0; var5 < this.anInt9817 * -310738315; ++var5) {
         this.aClass174Array9791[var5].method3048((byte)0);
      }

      this.L();
      this.method11459();
   }

   public void J(int var1) {}

   public void method11568(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9, int var10, int var11, int var12) {
      if(null != this.anIntArray9788) {
         Class496_Sub2 var13 = (Class496_Sub2)var7;
         int[] var14 = var13.anIntArray9835;
         int[] var15 = var13.anIntArray9836;
         int var16 = this.anInt9800 * 493658681 > var9?this.anInt9800 * 493658681:var9;
         int var17 = this.anInt9795 * -1644767141 < var9 + var14.length?this.anInt9795 * -1644767141:var9 + var14.length;
         var12 <<= 8;
         var10 <<= 8;
         var11 <<= 8;
         int var18 = var10 + var11;
         var12 %= var18;
         var3 -= var1;
         var4 -= var2;
         int var19;
         int var20;
         if(var3 + var4 < 0) {
            var19 = (int)(Math.sqrt((double)(var4 * var4 + var3 * var3)) * 256.0D);
            var20 = var19 % var18;
            var12 = var18 + var10 - var12 - var20;
            var12 %= var18;
            if(var12 < 0) {
               var12 += var18;
            }

            var1 += var3;
            var3 = -var3;
            var2 += var4;
            var4 = -var4;
         }

         int var21;
         int var23;
         int var22;
         int var25;
         int var24;
         int var27;
         int var26;
         if(var3 > var4) {
            var2 <<= 16;
            var2 += '\u8000';
            var4 <<= 16;
            var19 = (int)Math.floor(0.5D + (double)var4 / (double)var3);
            var3 += var1;
            var20 = var5 >>> 24;
            var21 = (int)Math.sqrt((double)(65536 + (var19 >> 8) * (var19 >> 8)));
            if(0 != var6 && (var6 != 1 || var20 != 255)) {
               if(var6 == 1) {
                  var5 = ((var5 & 16711935) * var20 >> 8 & 16711935) + ((var5 & '\uff00') * var20 >> 8 & '\uff00') + (var20 << 24);

                  for(var22 = 256 - var20; var1 <= var3; var12 %= var18) {
                     var23 = var2 >> 16;
                     var24 = var23 - var9;
                     if(var1 >= this.anInt9785 * -399365585 && var1 < this.anInt9797 * -2090820537 && var23 >= var16 && var23 < var17 && var12 < var10) {
                        var25 = var14[var24] + var8;
                        if(var1 >= var25 && var1 < var15[var24] + var25) {
                           var26 = this.anInt9789 * 1251184143 * var23 + var1;
                           var27 = this.anIntArray9788[var26];
                           var27 = (var22 * (var27 & '\uff00') >> 8 & '\uff00') + ((var27 & 16711935) * var22 >> 8 & 16711935);
                           this.anIntArray9788[var26] = var27 + var5;
                        }
                     }

                     var2 += var19;
                     ++var1;
                     var12 += var21;
                  }
               } else {
                  if(2 != var6) {
                     throw new IllegalArgumentException();
                  }

                  while(var1 <= var3) {
                     var22 = var2 >> 16;
                     var23 = var22 - var9;
                     if(var1 >= -399365585 * this.anInt9785 && var1 < this.anInt9797 * -2090820537 && var22 >= var16 && var22 < var17 && var12 < var10) {
                        var24 = var8 + var14[var23];
                        if(var1 >= var24 && var1 < var24 + var15[var23]) {
                           var25 = var22 * 1251184143 * this.anInt9789 + var1;
                           var26 = this.anIntArray9788[var25];
                           var27 = var26 + var5;
                           int var28 = (var26 & 16711935) + (var5 & 16711935);
                           var26 = (var27 - var28 & 65536) + (var28 & 16777472);
                           this.anIntArray9788[var25] = var27 - var26 | var26 - (var26 >>> 8);
                        }
                     }

                     var2 += var19;
                     ++var1;
                     var12 += var21;
                     var12 %= var18;
                  }
               }
            } else {
               while(var1 <= var3) {
                  var22 = var2 >> 16;
                  var23 = var22 - var9;
                  if(var1 >= this.anInt9785 * -399365585 && var1 < -2090820537 * this.anInt9797 && var22 >= var16 && var22 < var17 && var12 < var10) {
                     var24 = var14[var23] + var8;
                     if(var1 >= var24 && var1 < var15[var23] + var24) {
                        this.anIntArray9788[var1 + this.anInt9789 * 1251184143 * var22] = var5;
                     }
                  }

                  var2 += var19;
                  ++var1;
                  var12 += var21;
                  var12 %= var18;
               }
            }
         } else {
            var1 <<= 16;
            var1 += '\u8000';
            var3 <<= 16;
            var19 = (int)Math.floor((double)var3 / (double)var4 + 0.5D);
            var20 = (int)Math.sqrt((double)(65536 + (var19 >> 8) * (var19 >> 8)));
            var4 += var2;
            var21 = var5 >>> 24;
            if(var6 != 0 && (var6 != 1 || var21 != 255)) {
               if(1 == var6) {
                  var5 = (var21 << 24) + ((var5 & 16711935) * var21 >> 8 & 16711935) + (var21 * (var5 & '\uff00') >> 8 & '\uff00');

                  for(var22 = 256 - var21; var2 <= var4; var12 %= var18) {
                     var23 = var1 >> 16;
                     var24 = var2 - var9;
                     if(var2 >= var16 && var2 < var17 && var23 >= -399365585 * this.anInt9785 && var23 < -2090820537 * this.anInt9797 && var12 < var10 && var23 >= var14[var24] + var8 && var23 < var8 + var14[var24] + var15[var24]) {
                        var25 = 1251184143 * this.anInt9789 * var2 + var23;
                        var26 = this.anIntArray9788[var25];
                        var26 = ((var26 & 16711935) * var22 >> 8 & 16711935) + ((var26 & '\uff00') * var22 >> 8 & '\uff00');
                        this.anIntArray9788[var2 * this.anInt9789 * 1251184143 + var23] = var26 + var5;
                     }

                     var1 += var19;
                     ++var2;
                     var12 += var20;
                  }
               } else {
                  if(2 != var6) {
                     throw new IllegalArgumentException();
                  }

                  while(var2 <= var4) {
                     var22 = var1 >> 16;
                     var23 = var2 - var9;
                     if(var2 >= var16 && var2 < var17 && var22 >= this.anInt9785 * -399365585 && var22 < -2090820537 * this.anInt9797 && var12 < var10 && var22 >= var8 + var14[var23] && var22 < var14[var23] + var8 + var15[var23]) {
                        var24 = var22 + var2 * this.anInt9789 * 1251184143;
                        var25 = this.anIntArray9788[var24];
                        var26 = var5 + var25;
                        var27 = (var5 & 16711935) + (var25 & 16711935);
                        var25 = (var27 & 16777472) + (var26 - var27 & 65536);
                        this.anIntArray9788[var24] = var26 - var25 | var25 - (var25 >>> 8);
                     }

                     var1 += var19;
                     ++var2;
                     var12 += var20;
                     var12 %= var18;
                  }
               }
            } else {
               while(var2 <= var4) {
                  var22 = var1 >> 16;
                  var23 = var2 - var9;
                  if(var2 >= var16 && var2 < var17 && var22 >= this.anInt9785 * -399365585 && var22 < -2090820537 * this.anInt9797 && var12 < var10 && var22 >= var14[var23] + var8 && var22 < var14[var23] + var8 + var15[var23]) {
                     this.anIntArray9788[var22 + 1251184143 * this.anInt9789 * var2] = var5;
                  }

                  var1 += var19;
                  ++var2;
                  var12 += var20;
                  var12 %= var18;
               }
            }
         }

      }
   }

   public Class317 method11615() {
      return new Class317(this.aClass317_9819);
   }

   public void method11548(int[] var1) {
      var1[0] = 1251184143 * this.anInt9789;
      var1[1] = this.anInt9790 * 367961873;
   }

   public void method11549(int[] var1) {
      var1[0] = 1251184143 * this.anInt9789;
      var1[1] = this.anInt9790 * 367961873;
   }

   public void method11550(int[] var1) {
      var1[0] = 1251184143 * this.anInt9789;
      var1[1] = this.anInt9790 * 367961873;
   }

   public void method11551(int[] var1) {
      var1[0] = 1251184143 * this.anInt9789;
      var1[1] = this.anInt9790 * 367961873;
   }

   void method15365() {
      if(null != this.aFloatArray9808) {
         int var1;
         int var2;
         int var3;
         if(-399365585 * this.anInt9785 == 0 && this.anInt9797 * -2090820537 == this.anInt9789 * 1251184143 && 0 == this.anInt9800 * 493658681 && this.anInt9795 * -1644767141 == 367961873 * this.anInt9790) {
            var1 = this.aFloatArray9808.length;
            var2 = var1 - (var1 & 7);

            for(var3 = 0; var3 < var2; this.aFloatArray9808[var3++] = 2.14748365E9F) {
               this.aFloatArray9808[var3++] = 2.14748365E9F;
               this.aFloatArray9808[var3++] = 2.14748365E9F;
               this.aFloatArray9808[var3++] = 2.14748365E9F;
               this.aFloatArray9808[var3++] = 2.14748365E9F;
               this.aFloatArray9808[var3++] = 2.14748365E9F;
               this.aFloatArray9808[var3++] = 2.14748365E9F;
               this.aFloatArray9808[var3++] = 2.14748365E9F;
            }

            while(var3 < var1) {
               this.aFloatArray9808[var3++] = 2.14748365E9F;
            }
         } else {
            var1 = this.anInt9797 * -2090820537 - -399365585 * this.anInt9785;
            var2 = -1644767141 * this.anInt9795 - 493658681 * this.anInt9800;
            var3 = this.anInt9789 * 1251184143 - var1;
            int var4 = -399365585 * this.anInt9785 + 1251184143 * this.anInt9789 * this.anInt9800 * 493658681;
            int var5 = var1 >> 3;
            int var6 = var1 & 7;
            var1 = var4 - 1;

            for(int var7 = -var2; var7 < 0; ++var7) {
               int var8;
               if(var5 > 0) {
                  var8 = var5;

                  do {
                     ++var1;
                     this.aFloatArray9808[var1] = 2.14748365E9F;
                     ++var1;
                     this.aFloatArray9808[var1] = 2.14748365E9F;
                     ++var1;
                     this.aFloatArray9808[var1] = 2.14748365E9F;
                     ++var1;
                     this.aFloatArray9808[var1] = 2.14748365E9F;
                     ++var1;
                     this.aFloatArray9808[var1] = 2.14748365E9F;
                     ++var1;
                     this.aFloatArray9808[var1] = 2.14748365E9F;
                     ++var1;
                     this.aFloatArray9808[var1] = 2.14748365E9F;
                     ++var1;
                     this.aFloatArray9808[var1] = 2.14748365E9F;
                     --var8;
                  } while(var8 > 0);
               }

               if(var6 > 0) {
                  var8 = var6;

                  do {
                     ++var1;
                     this.aFloatArray9808[var1] = 2.14748365E9F;
                     --var8;
                  } while(var8 > 0);
               }

               var1 += var3;
            }
         }

      }
   }

   public void et(boolean var1) {
      Class174 var2 = this.method15346(Thread.currentThread());
      var2.aBool2126 = var1;
   }

   public void eq(boolean var1) {
      Class174 var2 = this.method15346(Thread.currentThread());
      var2.aBool2126 = var1;
   }

   public void method11503(int var1) {
      Class568_Sub2.anInt9323 = var1;
      Class568_Sub2.anInt9317 = var1;
      if(this.anInt9817 * -310738315 > 1) {
         throw new IllegalStateException();
      } else {
         this.method15347(this.anInt9817 * -310738315);
         this.method15391(0);
      }
   }

   public void method11553() {
      this.anInt9807 = 0;
      this.anInt9792 = 0;
      this.anInt9809 = 1958199241 * this.anInt9789;
      this.anInt9793 = -1898179121 * this.anInt9790;
      this.method15378();
   }

   public void method11559() {
      this.anInt9807 = 0;
      this.anInt9792 = 0;
      this.anInt9809 = 1958199241 * this.anInt9789;
      this.anInt9793 = -1898179121 * this.anInt9790;
      this.method15378();
   }

   public void method11671(int var1, int var2, int var3, int var4) {
      this.anInt9807 = 125105343 * var1;
      this.anInt9792 = 1947863089 * var2;
      this.anInt9809 = 683453607 * var3;
      this.anInt9793 = -440684833 * var4;
      this.method15378();
   }

   public void GA(float var1, float var2) {
      this.aFloat9815 = var2 - var1;
      this.aFloat9816 = var2 + var1 - 1.0F;

      for(int var3 = 0; var3 < this.anInt9817 * -310738315; ++var3) {
         Class174 var4 = this.aClass174Array9791[var3];
         Class143 var5 = var4.aClass143_2098;
         var5.aFloat1645 = this.aFloat9815;
         var5.aFloat1644 = this.aFloat9816;
      }

   }

   void method15366() {
      int var1 = -2090820537 * this.anInt9797 - this.anInt9785 * -399365585;
      int var2 = this.anInt9795 * -1644767141 - this.anInt9800 * 493658681;
      float var3 = this.aFloat9810 = (float)(-387040489 * this.anInt9809) / 2.0F;
      float var4 = this.aFloat9813 = (float)(this.anInt9793 * 11242783) / 2.0F;
      this.aFloat9812 = (float)(257981247 * this.anInt9807) + var3;
      this.aFloat9814 = var4 + (float)(this.anInt9792 * 2066763985);

      int var5;
      for(var5 = 0; var5 < -310738315 * this.anInt9817; ++var5) {
         Class174 var6 = this.aClass174Array9791[var5];
         Class143 var7 = var6.aClass143_2098;
         var7.aFloat1641 = var3;
         var7.aFloat1663 = var4;
         var7.aFloat1646 = this.aFloat9812 - (float)(-399365585 * this.anInt9785);
         var7.aFloat1660 = this.aFloat9814 - (float)(493658681 * this.anInt9800);
         var7.anInt1640 = var1;
         var7.anInt1647 = var2;
      }

      var5 = 1251184143 * this.anInt9789 * this.anInt9800 * 493658681 + this.anInt9785 * -399365585;

      for(int var8 = this.anInt9800 * 493658681; var8 < -1644767141 * this.anInt9795; ++var8) {
         for(int var9 = 0; var9 < this.anInt9817 * -310738315; ++var9) {
            this.aClass174Array9791[var9].aClass143_2098.anIntArray1639[var8 - this.anInt9800 * 493658681] = var5;
         }

         var5 += this.anInt9789 * 1251184143;
      }

   }

   public Interface7 method11675(int var1, int var2, Class98 var3, Class91 var4, int var5) {
      return this.method15352(var1, var2);
   }

   public void method11699(int var1, int var2, float var3, int var4, int var5, float var6, int var7, int var8, float var9, int var10, int var11, int var12, int var13) {
      boolean var14 = this.anIntArray9788 != null;
      boolean var15 = this.aFloatArray9808 != null;
      if(var14 || var15) {
         Class174 var16 = this.method15346(Thread.currentThread());
         Class143 var17 = var16.aClass143_2098;
         var17.aBool1634 = false;
         var1 -= -399365585 * this.anInt9785;
         var4 -= -399365585 * this.anInt9785;
         var7 -= -399365585 * this.anInt9785;
         var2 -= 493658681 * this.anInt9800;
         var5 -= this.anInt9800 * 493658681;
         var8 -= this.anInt9800 * 493658681;
         var17.aBool1650 = var1 < 0 || var1 > var17.anInt1640 || var4 < 0 || var4 > var17.anInt1640 || var7 < 0 || var7 > var17.anInt1640;
         int var18 = var10 >>> 24;
         if(0 != var13 && (1 != var13 || 255 != var18)) {
            if(var13 == 1) {
               var17.anInt1636 = 255 - var18;
               var17.aBool1635 = false;
               var17.method2646(var14, var15, false, (float)var2, (float)var5, (float)var8, (float)var1, (float)var4, (float)var7, var3, var6, var9, var10, var11, var12);
            } else {
               if(var13 != 2) {
                  throw new IllegalArgumentException();
               }

               var17.anInt1636 = 128;
               var17.aBool1635 = true;
               var17.method2646(var14, var15, false, (float)var2, (float)var5, (float)var8, (float)var1, (float)var4, (float)var7, var3, var6, var9, var10, var11, var12);
            }
         } else {
            var17.anInt1636 = 0;
            var17.aBool1635 = false;
            var17.method2646(var14, var15, false, (float)var2, (float)var5, (float)var8, (float)var1, (float)var4, (float)var7, var3, var6, var9, var10, var11, var12);
         }

         var17.aBool1634 = true;
      }
   }

   public Class328 method11491() {
      Class174 var1 = this.method15346(Thread.currentThread());
      return var1.aClass328_2097;
   }

   public boolean method11536() {
      return false;
   }

   public void fz() {
      this.anInt9785 = 0;
      this.anInt9800 = 0;
      this.anInt9797 = -88634375 * this.anInt9789;
      this.anInt9795 = this.anInt9790 * 1611184643;
      this.method15378();
   }

   public void fs() {
      this.anInt9785 = 0;
      this.anInt9800 = 0;
      this.anInt9797 = -88634375 * this.anInt9789;
      this.anInt9795 = this.anInt9790 * 1611184643;
      this.method15378();
   }

   void method11634(float var1, float var2, float var3, float var4, float var5, float var6) {}

   public void ff(int var1, int var2, int var3, int var4) {
      if(var1 < 0) {
         var1 = 0;
      }

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

      if(var3 > 1251184143 * this.anInt9789) {
         var3 = this.anInt9789 * 1251184143;
      }

      if(var4 > this.anInt9790 * 367961873) {
         var4 = this.anInt9790 * 367961873;
      }

      this.anInt9785 = 90791119 * var1;
      this.anInt9797 = var3 * 1362775415;
      this.anInt9800 = var2 * 196127753;
      this.anInt9795 = var4 * 791320531;
      this.method15378();
   }

   public void method11585(int var1, int var2, float var3, int var4, int var5, float var6, int var7, int var8, float var9, int var10, int var11, int var12, int var13) {
      boolean var14 = this.anIntArray9788 != null;
      boolean var15 = this.aFloatArray9808 != null;
      if(var14 || var15) {
         Class174 var16 = this.method15346(Thread.currentThread());
         Class143 var17 = var16.aClass143_2098;
         var17.aBool1634 = false;
         var1 -= -399365585 * this.anInt9785;
         var4 -= -399365585 * this.anInt9785;
         var7 -= -399365585 * this.anInt9785;
         var2 -= 493658681 * this.anInt9800;
         var5 -= this.anInt9800 * 493658681;
         var8 -= this.anInt9800 * 493658681;
         var17.aBool1650 = var1 < 0 || var1 > var17.anInt1640 || var4 < 0 || var4 > var17.anInt1640 || var7 < 0 || var7 > var17.anInt1640;
         int var18 = var10 >>> 24;
         if(0 != var13 && (1 != var13 || 255 != var18)) {
            if(var13 == 1) {
               var17.anInt1636 = 255 - var18;
               var17.aBool1635 = false;
               var17.method2646(var14, var15, false, (float)var2, (float)var5, (float)var8, (float)var1, (float)var4, (float)var7, var3, var6, var9, var10, var11, var12);
            } else {
               if(var13 != 2) {
                  throw new IllegalArgumentException();
               }

               var17.anInt1636 = 128;
               var17.aBool1635 = true;
               var17.method2646(var14, var15, false, (float)var2, (float)var5, (float)var8, (float)var1, (float)var4, (float)var7, var3, var6, var9, var10, var11, var12);
            }
         } else {
            var17.anInt1636 = 0;
            var17.aBool1635 = false;
            var17.method2646(var14, var15, false, (float)var2, (float)var5, (float)var8, (float)var1, (float)var4, (float)var7, var3, var6, var9, var10, var11, var12);
         }

         var17.aBool1634 = true;
      }
   }

   public void fp(int var1, int var2, int var3, int var4) {
      if(var1 < 0) {
         var1 = 0;
      }

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

      if(var3 > 1251184143 * this.anInt9789) {
         var3 = this.anInt9789 * 1251184143;
      }

      if(var4 > this.anInt9790 * 367961873) {
         var4 = this.anInt9790 * 367961873;
      }

      this.anInt9785 = 90791119 * var1;
      this.anInt9797 = var3 * 1362775415;
      this.anInt9800 = var2 * 196127753;
      this.anInt9795 = var4 * 791320531;
      this.method15378();
   }

   public void fq(int var1, int var2, int var3, int var4) {
      if(this.anInt9785 * -399365585 < var1) {
         this.anInt9785 = 90791119 * var1;
      }

      if(this.anInt9800 * 493658681 < var2) {
         this.anInt9800 = var2 * 196127753;
      }

      if(-2090820537 * this.anInt9797 > var3) {
         this.anInt9797 = 1362775415 * var3;
      }

      if(this.anInt9795 * -1644767141 > var4) {
         this.anInt9795 = var4 * 791320531;
      }

      this.method15378();
   }

   public void fo(int[] var1) {
      var1[0] = this.anInt9785 * -399365585;
      var1[1] = this.anInt9800 * 493658681;
      var1[2] = this.anInt9797 * -2090820537;
      var1[3] = -1644767141 * this.anInt9795;
   }

   public void fg(int[] var1) {
      var1[0] = this.anInt9785 * -399365585;
      var1[1] = this.anInt9800 * 493658681;
      var1[2] = this.anInt9797 * -2090820537;
      var1[3] = -1644767141 * this.anInt9795;
   }

   public void fu(int var1, int var2, int var3, int var4, int var5, int var6, byte[] var7, int var8, int var9) {
      if(null != this.anIntArray9788) {
         if(var3 > 0 && var4 > 0) {
            int var10 = 0;
            int var11 = 0;
            int var12 = (var8 << 16) / var3;
            int var13 = (var7.length / var8 << 16) / var4;
            int var14 = var1 + var2 * this.anInt9789 * 1251184143;
            int var15 = this.anInt9789 * 1251184143 - var3;
            if(var4 + var2 > -1644767141 * this.anInt9795) {
               var4 -= var4 + var2 - this.anInt9795 * -1644767141;
            }

            int var16;
            if(var2 < 493658681 * this.anInt9800) {
               var16 = 493658681 * this.anInt9800 - var2;
               var4 -= var16;
               var14 += 1251184143 * this.anInt9789 * var16;
               var11 += var16 * var13;
            }

            if(var3 + var1 > -2090820537 * this.anInt9797) {
               var16 = var1 + var3 - -2090820537 * this.anInt9797;
               var3 -= var16;
               var15 += var16;
            }

            if(var1 < this.anInt9785 * -399365585) {
               var16 = this.anInt9785 * -399365585 - var1;
               var3 -= var16;
               var14 += var16;
               var10 += var16 * var12;
               var15 += var16;
            }

            var16 = var5 >>> 24;
            int var17 = var6 >>> 24;
            int var19;
            int var18;
            int var21;
            int var20;
            if(var9 != 0 && (1 != var9 || var16 != 255 || var17 != 255)) {
               int var23;
               int var22;
               int var25;
               int var24;
               if(1 == var9) {
                  var18 = var10;

                  for(var19 = -var4; var19 < 0; ++var19) {
                     var20 = (var11 >> 16) * var8;

                     for(var21 = -var3; var21 < 0; ++var21) {
                        var22 = var5;
                        if(var7[(var10 >> 16) + var20] != 0) {
                           var22 = var6;
                        }

                        var23 = var22 >>> 24;
                        var24 = 255 - var23;
                        var25 = this.anIntArray9788[var14];
                        this.anIntArray9788[var14++] = ((var25 & '\uff00') * var24 + (var22 & '\uff00') * var23 & 16711680) + ((var22 & 16711935) * var23 + (var25 & 16711935) * var24 & -16711936) >> 8;
                        var10 += var12;
                     }

                     var11 += var13;
                     var10 = var18;
                     var14 += var15;
                  }
               } else {
                  if(2 != var9) {
                     throw new IllegalArgumentException();
                  }

                  var18 = var10;

                  for(var19 = -var4; var19 < 0; ++var19) {
                     var20 = var8 * (var11 >> 16);

                     for(var21 = -var3; var21 < 0; ++var21) {
                        var22 = var5;
                        if(var7[(var10 >> 16) + var20] != 0) {
                           var22 = var6;
                        }

                        if(var22 != 0) {
                           var23 = this.anIntArray9788[var14];
                           var24 = var23 + var22;
                           var25 = (var23 & 16711935) + (var22 & 16711935);
                           var23 = (var25 & 16777472) + (var24 - var25 & 65536);
                           this.anIntArray9788[var14++] = var24 - var23 | var23 - (var23 >>> 8);
                        } else {
                           ++var14;
                        }

                        var10 += var12;
                     }

                     var11 += var13;
                     var10 = var18;
                     var14 += var15;
                  }
               }
            } else {
               var18 = var10;

               for(var19 = -var4; var19 < 0; ++var19) {
                  var20 = (var11 >> 16) * var8;

                  for(var21 = -var3; var21 < 0; ++var21) {
                     if(var7[(var10 >> 16) + var20] != 0) {
                        this.anIntArray9788[var14++] = var6;
                     } else {
                        this.anIntArray9788[var14++] = var5;
                     }

                     var10 += var12;
                  }

                  var11 += var13;
                  var10 = var18;
                  var14 += var15;
               }
            }

         }
      }
   }

   public void fd(int var1, int var2, int var3, int var4, int var5, int var6, byte[] var7, int var8, int var9) {
      if(null != this.anIntArray9788) {
         if(var3 > 0 && var4 > 0) {
            int var10 = 0;
            int var11 = 0;
            int var12 = (var8 << 16) / var3;
            int var13 = (var7.length / var8 << 16) / var4;
            int var14 = var1 + var2 * this.anInt9789 * 1251184143;
            int var15 = this.anInt9789 * 1251184143 - var3;
            if(var4 + var2 > -1644767141 * this.anInt9795) {
               var4 -= var4 + var2 - this.anInt9795 * -1644767141;
            }

            int var16;
            if(var2 < 493658681 * this.anInt9800) {
               var16 = 493658681 * this.anInt9800 - var2;
               var4 -= var16;
               var14 += 1251184143 * this.anInt9789 * var16;
               var11 += var16 * var13;
            }

            if(var3 + var1 > -2090820537 * this.anInt9797) {
               var16 = var1 + var3 - -2090820537 * this.anInt9797;
               var3 -= var16;
               var15 += var16;
            }

            if(var1 < this.anInt9785 * -399365585) {
               var16 = this.anInt9785 * -399365585 - var1;
               var3 -= var16;
               var14 += var16;
               var10 += var16 * var12;
               var15 += var16;
            }

            var16 = var5 >>> 24;
            int var17 = var6 >>> 24;
            int var19;
            int var18;
            int var21;
            int var20;
            if(var9 != 0 && (1 != var9 || var16 != 255 || var17 != 255)) {
               int var23;
               int var22;
               int var25;
               int var24;
               if(1 == var9) {
                  var18 = var10;

                  for(var19 = -var4; var19 < 0; ++var19) {
                     var20 = (var11 >> 16) * var8;

                     for(var21 = -var3; var21 < 0; ++var21) {
                        var22 = var5;
                        if(var7[(var10 >> 16) + var20] != 0) {
                           var22 = var6;
                        }

                        var23 = var22 >>> 24;
                        var24 = 255 - var23;
                        var25 = this.anIntArray9788[var14];
                        this.anIntArray9788[var14++] = ((var25 & '\uff00') * var24 + (var22 & '\uff00') * var23 & 16711680) + ((var22 & 16711935) * var23 + (var25 & 16711935) * var24 & -16711936) >> 8;
                        var10 += var12;
                     }

                     var11 += var13;
                     var10 = var18;
                     var14 += var15;
                  }
               } else {
                  if(2 != var9) {
                     throw new IllegalArgumentException();
                  }

                  var18 = var10;

                  for(var19 = -var4; var19 < 0; ++var19) {
                     var20 = var8 * (var11 >> 16);

                     for(var21 = -var3; var21 < 0; ++var21) {
                        var22 = var5;
                        if(var7[(var10 >> 16) + var20] != 0) {
                           var22 = var6;
                        }

                        if(var22 != 0) {
                           var23 = this.anIntArray9788[var14];
                           var24 = var23 + var22;
                           var25 = (var23 & 16711935) + (var22 & 16711935);
                           var23 = (var25 & 16777472) + (var24 - var25 & 65536);
                           this.anIntArray9788[var14++] = var24 - var23 | var23 - (var23 >>> 8);
                        } else {
                           ++var14;
                        }

                        var10 += var12;
                     }

                     var11 += var13;
                     var10 = var18;
                     var14 += var15;
                  }
               }
            } else {
               var18 = var10;

               for(var19 = -var4; var19 < 0; ++var19) {
                  var20 = (var11 >> 16) * var8;

                  for(var21 = -var3; var21 < 0; ++var21) {
                     if(var7[(var10 >> 16) + var20] != 0) {
                        this.anIntArray9788[var14++] = var6;
                     } else {
                        this.anIntArray9788[var14++] = var5;
                     }

                     var10 += var12;
                  }

                  var11 += var13;
                  var10 = var18;
                  var14 += var15;
               }
            }

         }
      }
   }

   public void fn(int var1, int var2, int var3, int var4, int var5, int var6, byte[] var7, int var8, int var9) {
      if(null != this.anIntArray9788) {
         if(var3 > 0 && var4 > 0) {
            int var10 = 0;
            int var11 = 0;
            int var12 = (var8 << 16) / var3;
            int var13 = (var7.length / var8 << 16) / var4;
            int var14 = var1 + var2 * this.anInt9789 * 1251184143;
            int var15 = this.anInt9789 * 1251184143 - var3;
            if(var4 + var2 > -1644767141 * this.anInt9795) {
               var4 -= var4 + var2 - this.anInt9795 * -1644767141;
            }

            int var16;
            if(var2 < 493658681 * this.anInt9800) {
               var16 = 493658681 * this.anInt9800 - var2;
               var4 -= var16;
               var14 += 1251184143 * this.anInt9789 * var16;
               var11 += var16 * var13;
            }

            if(var3 + var1 > -2090820537 * this.anInt9797) {
               var16 = var1 + var3 - -2090820537 * this.anInt9797;
               var3 -= var16;
               var15 += var16;
            }

            if(var1 < this.anInt9785 * -399365585) {
               var16 = this.anInt9785 * -399365585 - var1;
               var3 -= var16;
               var14 += var16;
               var10 += var16 * var12;
               var15 += var16;
            }

            var16 = var5 >>> 24;
            int var17 = var6 >>> 24;
            int var19;
            int var18;
            int var21;
            int var20;
            if(var9 != 0 && (1 != var9 || var16 != 255 || var17 != 255)) {
               int var23;
               int var22;
               int var25;
               int var24;
               if(1 == var9) {
                  var18 = var10;

                  for(var19 = -var4; var19 < 0; ++var19) {
                     var20 = (var11 >> 16) * var8;

                     for(var21 = -var3; var21 < 0; ++var21) {
                        var22 = var5;
                        if(var7[(var10 >> 16) + var20] != 0) {
                           var22 = var6;
                        }

                        var23 = var22 >>> 24;
                        var24 = 255 - var23;
                        var25 = this.anIntArray9788[var14];
                        this.anIntArray9788[var14++] = ((var25 & '\uff00') * var24 + (var22 & '\uff00') * var23 & 16711680) + ((var22 & 16711935) * var23 + (var25 & 16711935) * var24 & -16711936) >> 8;
                        var10 += var12;
                     }

                     var11 += var13;
                     var10 = var18;
                     var14 += var15;
                  }
               } else {
                  if(2 != var9) {
                     throw new IllegalArgumentException();
                  }

                  var18 = var10;

                  for(var19 = -var4; var19 < 0; ++var19) {
                     var20 = var8 * (var11 >> 16);

                     for(var21 = -var3; var21 < 0; ++var21) {
                        var22 = var5;
                        if(var7[(var10 >> 16) + var20] != 0) {
                           var22 = var6;
                        }

                        if(var22 != 0) {
                           var23 = this.anIntArray9788[var14];
                           var24 = var23 + var22;
                           var25 = (var23 & 16711935) + (var22 & 16711935);
                           var23 = (var25 & 16777472) + (var24 - var25 & 65536);
                           this.anIntArray9788[var14++] = var24 - var23 | var23 - (var23 >>> 8);
                        } else {
                           ++var14;
                        }

                        var10 += var12;
                     }

                     var11 += var13;
                     var10 = var18;
                     var14 += var15;
                  }
               }
            } else {
               var18 = var10;

               for(var19 = -var4; var19 < 0; ++var19) {
                  var20 = (var11 >> 16) * var8;

                  for(var21 = -var3; var21 < 0; ++var21) {
                     if(var7[(var10 >> 16) + var20] != 0) {
                        this.anIntArray9788[var14++] = var6;
                     } else {
                        this.anIntArray9788[var14++] = var5;
                     }

                     var10 += var12;
                  }

                  var11 += var13;
                  var10 = var18;
                  var14 += var15;
               }
            }

         }
      }
   }

   public void fm(int var1, int var2, int var3, int var4, int var5, int var6, byte[] var7, int var8, int var9) {
      if(null != this.anIntArray9788) {
         if(var3 > 0 && var4 > 0) {
            int var10 = 0;
            int var11 = 0;
            int var12 = (var8 << 16) / var3;
            int var13 = (var7.length / var8 << 16) / var4;
            int var14 = var1 + var2 * this.anInt9789 * 1251184143;
            int var15 = this.anInt9789 * 1251184143 - var3;
            if(var4 + var2 > -1644767141 * this.anInt9795) {
               var4 -= var4 + var2 - this.anInt9795 * -1644767141;
            }

            int var16;
            if(var2 < 493658681 * this.anInt9800) {
               var16 = 493658681 * this.anInt9800 - var2;
               var4 -= var16;
               var14 += 1251184143 * this.anInt9789 * var16;
               var11 += var16 * var13;
            }

            if(var3 + var1 > -2090820537 * this.anInt9797) {
               var16 = var1 + var3 - -2090820537 * this.anInt9797;
               var3 -= var16;
               var15 += var16;
            }

            if(var1 < this.anInt9785 * -399365585) {
               var16 = this.anInt9785 * -399365585 - var1;
               var3 -= var16;
               var14 += var16;
               var10 += var16 * var12;
               var15 += var16;
            }

            var16 = var5 >>> 24;
            int var17 = var6 >>> 24;
            int var19;
            int var18;
            int var21;
            int var20;
            if(var9 != 0 && (1 != var9 || var16 != 255 || var17 != 255)) {
               int var23;
               int var22;
               int var25;
               int var24;
               if(1 == var9) {
                  var18 = var10;

                  for(var19 = -var4; var19 < 0; ++var19) {
                     var20 = (var11 >> 16) * var8;

                     for(var21 = -var3; var21 < 0; ++var21) {
                        var22 = var5;
                        if(var7[(var10 >> 16) + var20] != 0) {
                           var22 = var6;
                        }

                        var23 = var22 >>> 24;
                        var24 = 255 - var23;
                        var25 = this.anIntArray9788[var14];
                        this.anIntArray9788[var14++] = ((var25 & '\uff00') * var24 + (var22 & '\uff00') * var23 & 16711680) + ((var22 & 16711935) * var23 + (var25 & 16711935) * var24 & -16711936) >> 8;
                        var10 += var12;
                     }

                     var11 += var13;
                     var10 = var18;
                     var14 += var15;
                  }
               } else {
                  if(2 != var9) {
                     throw new IllegalArgumentException();
                  }

                  var18 = var10;

                  for(var19 = -var4; var19 < 0; ++var19) {
                     var20 = var8 * (var11 >> 16);

                     for(var21 = -var3; var21 < 0; ++var21) {
                        var22 = var5;
                        if(var7[(var10 >> 16) + var20] != 0) {
                           var22 = var6;
                        }

                        if(var22 != 0) {
                           var23 = this.anIntArray9788[var14];
                           var24 = var23 + var22;
                           var25 = (var23 & 16711935) + (var22 & 16711935);
                           var23 = (var25 & 16777472) + (var24 - var25 & 65536);
                           this.anIntArray9788[var14++] = var24 - var23 | var23 - (var23 >>> 8);
                        } else {
                           ++var14;
                        }

                        var10 += var12;
                     }

                     var11 += var13;
                     var10 = var18;
                     var14 += var15;
                  }
               }
            } else {
               var18 = var10;

               for(var19 = -var4; var19 < 0; ++var19) {
                  var20 = (var11 >> 16) * var8;

                  for(var21 = -var3; var21 < 0; ++var21) {
                     if(var7[(var10 >> 16) + var20] != 0) {
                        this.anIntArray9788[var14++] = var6;
                     } else {
                        this.anIntArray9788[var14++] = var5;
                     }

                     var10 += var12;
                  }

                  var11 += var13;
                  var10 = var18;
                  var14 += var15;
               }
            }

         }
      }
   }

   void method15367(int var1, int var2, int[] var3, float[] var4) {
      this.anInt9789 = -163864337 * var1;
      this.anInt9790 = 644033009 * var2;
      this.anIntArray9788 = var3;
      this.aFloatArray9808 = var4;

      for(int var5 = 0; var5 < this.anInt9817 * -310738315; ++var5) {
         this.aClass174Array9791[var5].method3048((byte)0);
      }

      this.L();
      this.method11459();
   }

   public void fj(int var1, int var2, int var3, int var4, int var5) {
      if(this.anIntArray9788 != null) {
         if(var2 >= this.anInt9800 * 493658681 && var2 < this.anInt9795 * -1644767141) {
            if(var1 < this.anInt9785 * -399365585) {
               var3 -= -399365585 * this.anInt9785 - var1;
               var1 = this.anInt9785 * -399365585;
            }

            if(var3 + var1 > this.anInt9797 * -2090820537) {
               var3 = this.anInt9797 * -2090820537 - var1;
            }

            int var6 = var1 + var2 * 1251184143 * this.anInt9789;
            int var7 = var4 >>> 24;
            int var8;
            if(0 != var5 && (1 != var5 || 255 != var7)) {
               int var9;
               int var10;
               if(1 == var5) {
                  var4 = (var7 << 24) + ((var4 & '\uff00') * var7 >> 8 & '\uff00') + (var7 * (var4 & 16711935) >> 8 & 16711935);
                  var8 = 256 - var7;

                  for(var9 = 0; var9 < var3; ++var9) {
                     var10 = this.anIntArray9788[var6 + var9];
                     var10 = ((var10 & '\uff00') * var8 >> 8 & '\uff00') + ((var10 & 16711935) * var8 >> 8 & 16711935);
                     this.anIntArray9788[var9 + var6] = var4 + var10;
                  }
               } else {
                  if(var5 != 2) {
                     throw new IllegalArgumentException();
                  }

                  for(var8 = 0; var8 < var3; ++var8) {
                     var9 = this.anIntArray9788[var8 + var6];
                     var10 = var4 + var9;
                     int var11 = (var9 & 16711935) + (var4 & 16711935);
                     var9 = (var10 - var11 & 65536) + (var11 & 16777472);
                     this.anIntArray9788[var8 + var6] = var10 - var9 | var9 - (var9 >>> 8);
                  }
               }
            } else {
               for(var8 = 0; var8 < var3; ++var8) {
                  this.anIntArray9788[var8 + var6] = var4;
               }
            }

         }
      }
   }

   public void fy(int var1, int var2, int var3, int var4, int var5) {
      if(null != this.anIntArray9788) {
         if(var1 >= this.anInt9785 * -399365585 && var1 < this.anInt9797 * -2090820537) {
            if(var2 < this.anInt9800 * 493658681) {
               var3 -= this.anInt9800 * 493658681 - var2;
               var2 = 493658681 * this.anInt9800;
            }

            if(var2 + var3 > -1644767141 * this.anInt9795) {
               var3 = -1644767141 * this.anInt9795 - var2;
            }

            int var6 = var1 + var2 * this.anInt9789 * 1251184143;
            int var7 = var4 >>> 24;
            int var8;
            if(var5 != 0 && (1 != var5 || var7 != 255)) {
               int var9;
               int var10;
               int var11;
               if(1 == var5) {
                  var4 = (var7 << 24) + ((var4 & 16711935) * var7 >> 8 & 16711935) + (var7 * (var4 & '\uff00') >> 8 & '\uff00');
                  var8 = 256 - var7;

                  for(var9 = 0; var9 < var3; ++var9) {
                     var10 = var6 + this.anInt9789 * 1251184143 * var9;
                     var11 = this.anIntArray9788[var10];
                     var11 = (var8 * (var11 & 16711935) >> 8 & 16711935) + ((var11 & '\uff00') * var8 >> 8 & '\uff00');
                     this.anIntArray9788[var10] = var4 + var11;
                  }
               } else {
                  if(var5 != 2) {
                     throw new IllegalArgumentException();
                  }

                  for(var8 = 0; var8 < var3; ++var8) {
                     var9 = var8 * 1251184143 * this.anInt9789 + var6;
                     var10 = this.anIntArray9788[var9];
                     var11 = var4 + var10;
                     int var12 = (var4 & 16711935) + (var10 & 16711935);
                     var10 = (var11 - var12 & 65536) + (var12 & 16777472);
                     this.anIntArray9788[var9] = var11 - var10 | var10 - (var10 >>> 8);
                  }
               }
            } else {
               for(var8 = 0; var8 < var3; ++var8) {
                  this.anIntArray9788[1251184143 * this.anInt9789 * var8 + var6] = var4;
               }
            }

         }
      }
   }

   void method15368() {
      int var1 = -2090820537 * this.anInt9797 - this.anInt9785 * -399365585;
      int var2 = this.anInt9795 * -1644767141 - this.anInt9800 * 493658681;
      float var3 = this.aFloat9810 = (float)(-387040489 * this.anInt9809) / 2.0F;
      float var4 = this.aFloat9813 = (float)(this.anInt9793 * 11242783) / 2.0F;
      this.aFloat9812 = (float)(257981247 * this.anInt9807) + var3;
      this.aFloat9814 = var4 + (float)(this.anInt9792 * 2066763985);

      int var5;
      for(var5 = 0; var5 < -310738315 * this.anInt9817; ++var5) {
         Class174 var6 = this.aClass174Array9791[var5];
         Class143 var7 = var6.aClass143_2098;
         var7.aFloat1641 = var3;
         var7.aFloat1663 = var4;
         var7.aFloat1646 = this.aFloat9812 - (float)(-399365585 * this.anInt9785);
         var7.aFloat1660 = this.aFloat9814 - (float)(493658681 * this.anInt9800);
         var7.anInt1640 = var1;
         var7.anInt1647 = var2;
      }

      var5 = 1251184143 * this.anInt9789 * this.anInt9800 * 493658681 + this.anInt9785 * -399365585;

      for(int var8 = this.anInt9800 * 493658681; var8 < -1644767141 * this.anInt9795; ++var8) {
         for(int var9 = 0; var9 < this.anInt9817 * -310738315; ++var9) {
            this.aClass174Array9791[var9].aClass143_2098.anIntArray1639[var8 - this.anInt9800 * 493658681] = var5;
         }

         var5 += this.anInt9789 * 1251184143;
      }

   }

   void method15369(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) {
      if(this.anIntArray9788 != null) {
         if(var1 >= -399365585 * this.anInt9785 && var1 < -2090820537 * this.anInt9797) {
            int var9 = var1 + var2 * this.anInt9789 * 1251184143;
            int var10 = var4 >>> 24;
            int var11 = var6 + var7;
            int var12 = var8 % var11;
            int var13;
            if(0 != var5 && (var5 != 1 || 255 != var10)) {
               int var14;
               int var15;
               int var16;
               if(1 == var5) {
                  var4 = (var10 * (var4 & '\uff00') >> 8 & '\uff00') + (var10 * (var4 & 16711935) >> 8 & 16711935) + (var10 << 24);
                  var13 = 256 - var10;

                  for(var14 = 0; var14 < var3; var12 %= var11) {
                     if(var2 + var14 >= 493658681 * this.anInt9800 && var14 + var2 < -1644767141 * this.anInt9795 && var12 < var6) {
                        var15 = this.anInt9789 * 1251184143 * var14 + var9;
                        var16 = this.anIntArray9788[var15];
                        var16 = ((var16 & 16711935) * var13 >> 8 & 16711935) + ((var16 & '\uff00') * var13 >> 8 & '\uff00');
                        this.anIntArray9788[var15] = var4 + var16;
                     }

                     ++var14;
                     ++var12;
                  }
               } else {
                  if(var5 != 2) {
                     throw new IllegalArgumentException();
                  }

                  for(var13 = 0; var13 < var3; var12 %= var11) {
                     if(var2 + var13 >= this.anInt9800 * 493658681 && var2 + var13 < -1644767141 * this.anInt9795 && var12 < var6) {
                        var14 = var9 + var13 * 1251184143 * this.anInt9789;
                        var15 = this.anIntArray9788[var14];
                        var16 = var4 + var15;
                        int var17 = (var15 & 16711935) + (var4 & 16711935);
                        var15 = (var16 - var17 & 65536) + (var17 & 16777472);
                        this.anIntArray9788[var14] = var16 - var15 | var15 - (var15 >>> 8);
                     }

                     ++var13;
                     ++var12;
                  }
               }
            } else {
               for(var13 = 0; var13 < var3; var12 %= var11) {
                  if(var2 + var13 >= this.anInt9800 * 493658681 && var2 + var13 < -1644767141 * this.anInt9795 && var12 < var6) {
                     this.anIntArray9788[this.anInt9789 * 1251184143 * var13 + var9] = var4;
                  }

                  ++var13;
                  ++var12;
               }
            }

         }
      }
   }

   public void method11620(int var1, int var2, int var3, int var4, int var5, int var6) {
      if(this.anIntArray9788 != null) {
         var3 -= var1;
         var4 -= var2;
         if(var4 == 0) {
            if(var3 >= 0) {
               this.XA(var1, var2, 1 + var3, var5, var6);
            } else {
               this.XA(var1 + var3, var2, 1 + -var3, var5, var6);
            }

         } else if(0 == var3) {
            if(var4 >= 0) {
               this.G(var1, var2, 1 + var4, var5, var6);
            } else {
               this.G(var1, var4 + var2, 1 + -var4, var5, var6);
            }

         } else {
            if(var4 + var3 < 0) {
               var1 += var3;
               var3 = -var3;
               var2 += var4;
               var4 = -var4;
            }

            int var7;
            int var8;
            int var9;
            int var10;
            int var11;
            int var12;
            int var13;
            if(var3 > var4) {
               var2 <<= 16;
               var2 += '\u8000';
               var4 <<= 16;
               var7 = (int)Math.floor((double)var4 / (double)var3 + 0.5D);
               var3 += var1;
               if(var1 < this.anInt9785 * -399365585) {
                  var2 += (this.anInt9785 * -399365585 - var1) * var7;
                  var1 = this.anInt9785 * -399365585;
               }

               if(var3 >= -2090820537 * this.anInt9797) {
                  var3 = -2090820537 * this.anInt9797 - 1;
               }

               var8 = var5 >>> 24;
               if(var6 != 0 && (1 != var6 || var8 != 255)) {
                  if(var6 == 1) {
                     var5 = (var8 << 24) + (var8 * (var5 & '\uff00') >> 8 & '\uff00') + ((var5 & 16711935) * var8 >> 8 & 16711935);

                     for(var9 = 256 - var8; var1 <= var3; ++var1) {
                        var10 = var2 >> 16;
                        if(var10 >= 493658681 * this.anInt9800 && var10 < -1644767141 * this.anInt9795) {
                           var11 = var10 * this.anInt9789 * 1251184143 + var1;
                           var12 = this.anIntArray9788[var11];
                           var12 = ((var12 & 16711935) * var9 >> 8 & 16711935) + (var9 * (var12 & '\uff00') >> 8 & '\uff00');
                           this.anIntArray9788[var11] = var12 + var5;
                        }

                        var2 += var7;
                     }
                  } else {
                     if(var6 != 2) {
                        throw new IllegalArgumentException();
                     }

                     while(var1 <= var3) {
                        var9 = var2 >> 16;
                        if(var9 >= this.anInt9800 * 493658681 && var9 < -1644767141 * this.anInt9795) {
                           var10 = var9 * this.anInt9789 * 1251184143 + var1;
                           var11 = this.anIntArray9788[var10];
                           var12 = var5 + var11;
                           var13 = (var11 & 16711935) + (var5 & 16711935);
                           var11 = (var13 & 16777472) + (var12 - var13 & 65536);
                           this.anIntArray9788[var10] = var12 - var11 | var11 - (var11 >>> 8);
                        }

                        var2 += var7;
                        ++var1;
                     }
                  }
               } else {
                  while(var1 <= var3) {
                     var9 = var2 >> 16;
                     if(var9 >= this.anInt9800 * 493658681 && var9 < -1644767141 * this.anInt9795) {
                        this.anIntArray9788[1251184143 * this.anInt9789 * var9 + var1] = var5;
                     }

                     var2 += var7;
                     ++var1;
                  }
               }
            } else {
               var1 <<= 16;
               var1 += '\u8000';
               var3 <<= 16;
               var7 = (int)Math.floor((double)var3 / (double)var4 + 0.5D);
               var4 += var2;
               if(var2 < this.anInt9800 * 493658681) {
                  var1 += (493658681 * this.anInt9800 - var2) * var7;
                  var2 = 493658681 * this.anInt9800;
               }

               if(var4 >= this.anInt9795 * -1644767141) {
                  var4 = -1644767141 * this.anInt9795 - 1;
               }

               var8 = var5 >>> 24;
               if(var6 != 0 && (1 != var6 || var8 != 255)) {
                  if(1 == var6) {
                     var5 = (var8 << 24) + ((var5 & '\uff00') * var8 >> 8 & '\uff00') + (var8 * (var5 & 16711935) >> 8 & 16711935);

                     for(var9 = 256 - var8; var2 <= var4; ++var2) {
                        var10 = var1 >> 16;
                        if(var10 >= -399365585 * this.anInt9785 && var10 < this.anInt9797 * -2090820537) {
                           var11 = var2 * 1251184143 * this.anInt9789 + var10;
                           var12 = this.anIntArray9788[var11];
                           var12 = ((var12 & 16711935) * var9 >> 8 & 16711935) + (var9 * (var12 & '\uff00') >> 8 & '\uff00');
                           this.anIntArray9788[var10 + var2 * 1251184143 * this.anInt9789] = var5 + var12;
                        }

                        var1 += var7;
                     }
                  } else {
                     if(var6 != 2) {
                        throw new IllegalArgumentException();
                     }

                     while(var2 <= var4) {
                        var9 = var1 >> 16;
                        if(var9 >= -399365585 * this.anInt9785 && var9 < -2090820537 * this.anInt9797) {
                           var10 = var9 + var2 * this.anInt9789 * 1251184143;
                           var11 = this.anIntArray9788[var10];
                           var12 = var11 + var5;
                           var13 = (var5 & 16711935) + (var11 & 16711935);
                           var11 = (var13 & 16777472) + (var12 - var13 & 65536);
                           this.anIntArray9788[var10] = var12 - var11 | var11 - (var11 >>> 8);
                        }

                        var1 += var7;
                        ++var2;
                     }
                  }
               } else {
                  while(var2 <= var4) {
                     var9 = var1 >> 16;
                     if(var9 >= this.anInt9785 * -399365585 && var9 < -2090820537 * this.anInt9797) {
                        this.anIntArray9788[var2 * this.anInt9789 * 1251184143 + var9] = var5;
                     }

                     var1 += var7;
                     ++var2;
                  }
               }
            }

         }
      }
   }

   public void method11562(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) {
      if(this.anIntArray9788 != null) {
         var3 -= var1;
         var4 -= var2;
         int var10;
         if(0 == var4) {
            if(var3 >= 0) {
               this.method15385(var1, var2, 1 + var3, var5, var6, var7, var8, var9);
            } else {
               var10 = var8 + var7;
               var9 %= var10;
               var9 = var10 + var7 - var9 - (1 + -var3) % var10;
               var9 %= var10;
               if(var9 < 0) {
                  var9 += var10;
               }

               this.method15385(var3 + var1, var2, 1 + -var3, var5, var6, var7, var8, var9);
            }

         } else if(0 == var3) {
            if(var4 >= 0) {
               this.method15344(var1, var2, 1 + var4, var5, var6, var7, var8, var9);
            } else {
               var10 = var7 + var8;
               var9 %= var10;
               var9 = var7 + var10 - var9 - (1 + -var4) % var10;
               var9 %= var10;
               if(var9 < 0) {
                  var9 += var10;
               }

               this.method15344(var1, var2 + var4, -var4 + 1, var5, var6, var7, var8, var9);
            }

         } else {
            var9 <<= 8;
            var7 <<= 8;
            var8 <<= 8;
            var10 = var8 + var7;
            var9 %= var10;
            int var11;
            int var12;
            if(var4 + var3 < 0) {
               var11 = (int)(Math.sqrt((double)(var4 * var4 + var3 * var3)) * 256.0D);
               var12 = var11 % var10;
               var9 = var10 + var7 - var9 - var12;
               var9 %= var10;
               if(var9 < 0) {
                  var9 += var10;
               }

               var1 += var3;
               var3 = -var3;
               var2 += var4;
               var4 = -var4;
            }

            int var13;
            int var14;
            int var15;
            int var17;
            int var16;
            int var18;
            if(var3 > var4) {
               var2 <<= 16;
               var2 += '\u8000';
               var4 <<= 16;
               var11 = (int)Math.floor((double)var4 / (double)var3 + 0.5D);
               var3 += var1;
               var12 = var5 >>> 24;
               var13 = (int)Math.sqrt((double)(65536 + (var11 >> 8) * (var11 >> 8)));
               if(var6 != 0 && (1 != var6 || 255 != var12)) {
                  if(1 == var6) {
                     var5 = (var12 << 24) + (var12 * (var5 & 16711935) >> 8 & 16711935) + (var12 * (var5 & '\uff00') >> 8 & '\uff00');

                     for(var14 = 256 - var12; var1 <= var3; var9 %= var10) {
                        var15 = var2 >> 16;
                        if(var1 >= this.anInt9785 * -399365585 && var1 < this.anInt9797 * -2090820537 && var15 >= 493658681 * this.anInt9800 && var15 < this.anInt9795 * -1644767141 && var9 < var7) {
                           var16 = var1 + var15 * 1251184143 * this.anInt9789;
                           var17 = this.anIntArray9788[var16];
                           var17 = (var14 * (var17 & '\uff00') >> 8 & '\uff00') + (var14 * (var17 & 16711935) >> 8 & 16711935);
                           this.anIntArray9788[var16] = var17 + var5;
                        }

                        var2 += var11;
                        ++var1;
                        var9 += var13;
                     }
                  } else {
                     if(2 != var6) {
                        throw new IllegalArgumentException();
                     }

                     while(var1 <= var3) {
                        var14 = var2 >> 16;
                        if(var1 >= -399365585 * this.anInt9785 && var1 < -2090820537 * this.anInt9797 && var14 >= 493658681 * this.anInt9800 && var14 < -1644767141 * this.anInt9795 && var9 < var7) {
                           var15 = this.anInt9789 * 1251184143 * var14 + var1;
                           var16 = this.anIntArray9788[var15];
                           var17 = var16 + var5;
                           var18 = (var5 & 16711935) + (var16 & 16711935);
                           var16 = (var17 - var18 & 65536) + (var18 & 16777472);
                           this.anIntArray9788[var15] = var17 - var16 | var16 - (var16 >>> 8);
                        }

                        var2 += var11;
                        ++var1;
                        var9 += var13;
                        var9 %= var10;
                     }
                  }
               } else {
                  while(var1 <= var3) {
                     var14 = var2 >> 16;
                     if(var1 >= -399365585 * this.anInt9785 && var1 < -2090820537 * this.anInt9797 && var14 >= 493658681 * this.anInt9800 && var14 < this.anInt9795 * -1644767141 && var9 < var7) {
                        this.anIntArray9788[1251184143 * this.anInt9789 * var14 + var1] = var5;
                     }

                     var2 += var11;
                     ++var1;
                     var9 += var13;
                     var9 %= var10;
                  }
               }
            } else {
               var1 <<= 16;
               var1 += '\u8000';
               var3 <<= 16;
               var11 = (int)Math.floor(0.5D + (double)var3 / (double)var4);
               var4 += var2;
               var12 = var5 >>> 24;
               var13 = (int)Math.sqrt((double)(65536 + (var11 >> 8) * (var11 >> 8)));
               if(0 != var6 && (var6 != 1 || var12 != 255)) {
                  if(var6 == 1) {
                     var5 = ((var5 & 16711935) * var12 >> 8 & 16711935) + ((var5 & '\uff00') * var12 >> 8 & '\uff00') + (var12 << 24);

                     for(var14 = 256 - var12; var2 <= var4; var9 %= var10) {
                        var15 = var1 >> 16;
                        if(var2 >= 493658681 * this.anInt9800 && var2 < -1644767141 * this.anInt9795 && var15 >= -399365585 * this.anInt9785 && var15 < this.anInt9797 * -2090820537 && var9 < var7) {
                           var16 = this.anInt9789 * 1251184143 * var2 + var15;
                           var17 = this.anIntArray9788[var16];
                           var17 = ((var17 & 16711935) * var14 >> 8 & 16711935) + ((var17 & '\uff00') * var14 >> 8 & '\uff00');
                           this.anIntArray9788[var15 + var2 * this.anInt9789 * 1251184143] = var17 + var5;
                        }

                        var1 += var11;
                        ++var2;
                        var9 += var13;
                     }
                  } else {
                     if(2 != var6) {
                        throw new IllegalArgumentException();
                     }

                     while(var2 <= var4) {
                        var14 = var1 >> 16;
                        if(var2 >= this.anInt9800 * 493658681 && var2 < -1644767141 * this.anInt9795 && var14 >= this.anInt9785 * -399365585 && var14 < this.anInt9797 * -2090820537 && var9 < var7) {
                           var15 = var2 * 1251184143 * this.anInt9789 + var14;
                           var16 = this.anIntArray9788[var15];
                           var17 = var16 + var5;
                           var18 = (var16 & 16711935) + (var5 & 16711935);
                           var16 = (var17 - var18 & 65536) + (var18 & 16777472);
                           this.anIntArray9788[var15] = var17 - var16 | var16 - (var16 >>> 8);
                        }

                        var1 += var11;
                        ++var2;
                        var9 += var13;
                        var9 %= var10;
                     }
                  }
               } else {
                  while(var2 <= var4) {
                     var14 = var1 >> 16;
                     if(var2 >= this.anInt9800 * 493658681 && var2 < -1644767141 * this.anInt9795 && var14 >= this.anInt9785 * -399365585 && var14 < this.anInt9797 * -2090820537 && var9 < var7) {
                        this.anIntArray9788[1251184143 * this.anInt9789 * var2 + var14] = var5;
                     }

                     var1 += var11;
                     ++var2;
                     var9 += var13;
                     var9 %= var10;
                  }
               }
            }

         }
      }
   }

   public void method11682(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9) {
      if(null != this.anIntArray9788) {
         Class496_Sub2 var10 = (Class496_Sub2)var7;
         int[] var11 = var10.anIntArray9835;
         int[] var12 = var10.anIntArray9836;
         int var13 = this.anInt9800 * 493658681 > var9?493658681 * this.anInt9800:var9;
         int var14 = this.anInt9795 * -1644767141 < var9 + var11.length?-1644767141 * this.anInt9795:var9 + var11.length;
         var3 -= var1;
         var4 -= var2;
         if(var4 + var3 < 0) {
            var1 += var3;
            var3 = -var3;
            var2 += var4;
            var4 = -var4;
         }

         int var15;
         int var17;
         int var16;
         int var19;
         int var18;
         int var21;
         int var20;
         int var23;
         int var22;
         if(var3 > var4) {
            var2 <<= 16;
            var2 += '\u8000';
            var4 <<= 16;
            var15 = (int)Math.floor(0.5D + (double)var4 / (double)var3);
            var3 += var1;
            if(var1 < this.anInt9785 * -399365585) {
               var2 += var15 * (this.anInt9785 * -399365585 - var1);
               var1 = this.anInt9785 * -399365585;
            }

            if(var3 >= this.anInt9797 * -2090820537) {
               var3 = -2090820537 * this.anInt9797 - 1;
            }

            var16 = var5 >>> 24;
            if(0 != var6 && (var6 != 1 || 255 != var16)) {
               if(var6 == 1) {
                  var5 = ((var5 & 16711935) * var16 >> 8 & 16711935) + ((var5 & '\uff00') * var16 >> 8 & '\uff00') + (var16 << 24);

                  for(var17 = 256 - var16; var1 <= var3; ++var1) {
                     var18 = var2 >> 16;
                     var19 = var18 - var9;
                     if(var18 >= var13 && var18 < var14) {
                        var20 = var8 + var11[var19];
                        if(var1 >= var20 && var1 < var12[var19] + var20) {
                           var21 = var1 + var18 * 1251184143 * this.anInt9789;
                           var22 = this.anIntArray9788[var21];
                           var22 = (var17 * (var22 & 16711935) >> 8 & 16711935) + (var17 * (var22 & '\uff00') >> 8 & '\uff00');
                           this.anIntArray9788[var21] = var22 + var5;
                        }
                     }

                     var2 += var15;
                  }
               } else {
                  if(var6 != 2) {
                     throw new IllegalArgumentException();
                  }

                  while(var1 <= var3) {
                     var17 = var2 >> 16;
                     var18 = var17 - var9;
                     if(var17 >= var13 && var17 < var14) {
                        var19 = var8 + var11[var18];
                        if(var1 >= var19 && var1 < var19 + var12[var18]) {
                           var20 = var17 * 1251184143 * this.anInt9789 + var1;
                           var21 = this.anIntArray9788[var20];
                           var22 = var21 + var5;
                           var23 = (var21 & 16711935) + (var5 & 16711935);
                           var21 = (var22 - var23 & 65536) + (var23 & 16777472);
                           this.anIntArray9788[var20] = var22 - var21 | var21 - (var21 >>> 8);
                        }
                     }

                     var2 += var15;
                     ++var1;
                  }
               }
            } else {
               while(var1 <= var3) {
                  var17 = var2 >> 16;
                  var18 = var17 - var9;
                  if(var17 >= var13 && var17 < var14) {
                     var19 = var11[var18] + var8;
                     if(var1 >= var19 && var1 < var19 + var12[var18]) {
                        this.anIntArray9788[var1 + 1251184143 * this.anInt9789 * var17] = var5;
                     }
                  }

                  var2 += var15;
                  ++var1;
               }
            }
         } else {
            var1 <<= 16;
            var1 += '\u8000';
            var3 <<= 16;
            var15 = (int)Math.floor(0.5D + (double)var3 / (double)var4);
            var4 += var2;
            if(var2 < var13) {
               var1 += var15 * (var13 - var2);
               var2 = var13;
            }

            if(var4 >= var14) {
               var4 = var14 - 1;
            }

            var16 = var5 >>> 24;
            if(0 != var6 && (1 != var6 || 255 != var16)) {
               if(1 == var6) {
                  var5 = (var16 << 24) + (var16 * (var5 & 16711935) >> 8 & 16711935) + ((var5 & '\uff00') * var16 >> 8 & '\uff00');

                  for(var17 = 256 - var16; var2 <= var4; ++var2) {
                     var18 = var1 >> 16;
                     var19 = var2 - var9;
                     var20 = var8 + var11[var19];
                     if(var18 >= -399365585 * this.anInt9785 && var18 < -2090820537 * this.anInt9797 && var18 >= var20 && var18 < var20 + var12[var19]) {
                        var21 = var18 + var2 * 1251184143 * this.anInt9789;
                        var22 = this.anIntArray9788[var21];
                        var22 = (var17 * (var22 & '\uff00') >> 8 & '\uff00') + ((var22 & 16711935) * var17 >> 8 & 16711935);
                        this.anIntArray9788[var2 * this.anInt9789 * 1251184143 + var18] = var22 + var5;
                     }

                     var1 += var15;
                  }
               } else {
                  if(var6 != 2) {
                     throw new IllegalArgumentException();
                  }

                  while(var2 <= var4) {
                     var17 = var1 >> 16;
                     var18 = var2 - var9;
                     var19 = var8 + var11[var18];
                     if(var17 >= this.anInt9785 * -399365585 && var17 < this.anInt9797 * -2090820537 && var17 >= var19 && var17 < var19 + var12[var18]) {
                        var20 = var2 * this.anInt9789 * 1251184143 + var17;
                        var21 = this.anIntArray9788[var20];
                        var22 = var21 + var5;
                        var23 = (var5 & 16711935) + (var21 & 16711935);
                        var21 = (var23 & 16777472) + (var22 - var23 & 65536);
                        this.anIntArray9788[var20] = var22 - var21 | var21 - (var21 >>> 8);
                     }

                     var1 += var15;
                     ++var2;
                  }
               }
            } else {
               while(var2 <= var4) {
                  var17 = var1 >> 16;
                  var18 = var2 - var9;
                  var19 = var11[var18] + var8;
                  if(var17 >= this.anInt9785 * -399365585 && var17 < -2090820537 * this.anInt9797 && var17 >= var19 && var17 < var12[var18] + var19) {
                     this.anIntArray9788[var2 * 1251184143 * this.anInt9789 + var17] = var5;
                  }

                  var1 += var15;
                  ++var2;
               }
            }
         }

      }
   }

   int method15370(int var1) {
      return this.anInterface24_7370.method113(var1, -670387582).anInt1989 * -836426007;
   }

   public void method11428() {}

   public boolean method11630() {
      return false;
   }

   public void method11492(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9) {
      if(null != this.anIntArray9788) {
         Class496_Sub2 var10 = (Class496_Sub2)var7;
         int[] var11 = var10.anIntArray9835;
         int[] var12 = var10.anIntArray9836;
         int var13 = this.anInt9800 * 493658681 > var9?493658681 * this.anInt9800:var9;
         int var14 = this.anInt9795 * -1644767141 < var9 + var11.length?-1644767141 * this.anInt9795:var9 + var11.length;
         var3 -= var1;
         var4 -= var2;
         if(var4 + var3 < 0) {
            var1 += var3;
            var3 = -var3;
            var2 += var4;
            var4 = -var4;
         }

         int var15;
         int var17;
         int var16;
         int var19;
         int var18;
         int var21;
         int var20;
         int var23;
         int var22;
         if(var3 > var4) {
            var2 <<= 16;
            var2 += '\u8000';
            var4 <<= 16;
            var15 = (int)Math.floor(0.5D + (double)var4 / (double)var3);
            var3 += var1;
            if(var1 < this.anInt9785 * -399365585) {
               var2 += var15 * (this.anInt9785 * -399365585 - var1);
               var1 = this.anInt9785 * -399365585;
            }

            if(var3 >= this.anInt9797 * -2090820537) {
               var3 = -2090820537 * this.anInt9797 - 1;
            }

            var16 = var5 >>> 24;
            if(0 != var6 && (var6 != 1 || 255 != var16)) {
               if(var6 == 1) {
                  var5 = ((var5 & 16711935) * var16 >> 8 & 16711935) + ((var5 & '\uff00') * var16 >> 8 & '\uff00') + (var16 << 24);

                  for(var17 = 256 - var16; var1 <= var3; ++var1) {
                     var18 = var2 >> 16;
                     var19 = var18 - var9;
                     if(var18 >= var13 && var18 < var14) {
                        var20 = var8 + var11[var19];
                        if(var1 >= var20 && var1 < var12[var19] + var20) {
                           var21 = var1 + var18 * 1251184143 * this.anInt9789;
                           var22 = this.anIntArray9788[var21];
                           var22 = (var17 * (var22 & 16711935) >> 8 & 16711935) + (var17 * (var22 & '\uff00') >> 8 & '\uff00');
                           this.anIntArray9788[var21] = var22 + var5;
                        }
                     }

                     var2 += var15;
                  }
               } else {
                  if(var6 != 2) {
                     throw new IllegalArgumentException();
                  }

                  while(var1 <= var3) {
                     var17 = var2 >> 16;
                     var18 = var17 - var9;
                     if(var17 >= var13 && var17 < var14) {
                        var19 = var8 + var11[var18];
                        if(var1 >= var19 && var1 < var19 + var12[var18]) {
                           var20 = var17 * 1251184143 * this.anInt9789 + var1;
                           var21 = this.anIntArray9788[var20];
                           var22 = var21 + var5;
                           var23 = (var21 & 16711935) + (var5 & 16711935);
                           var21 = (var22 - var23 & 65536) + (var23 & 16777472);
                           this.anIntArray9788[var20] = var22 - var21 | var21 - (var21 >>> 8);
                        }
                     }

                     var2 += var15;
                     ++var1;
                  }
               }
            } else {
               while(var1 <= var3) {
                  var17 = var2 >> 16;
                  var18 = var17 - var9;
                  if(var17 >= var13 && var17 < var14) {
                     var19 = var11[var18] + var8;
                     if(var1 >= var19 && var1 < var19 + var12[var18]) {
                        this.anIntArray9788[var1 + 1251184143 * this.anInt9789 * var17] = var5;
                     }
                  }

                  var2 += var15;
                  ++var1;
               }
            }
         } else {
            var1 <<= 16;
            var1 += '\u8000';
            var3 <<= 16;
            var15 = (int)Math.floor(0.5D + (double)var3 / (double)var4);
            var4 += var2;
            if(var2 < var13) {
               var1 += var15 * (var13 - var2);
               var2 = var13;
            }

            if(var4 >= var14) {
               var4 = var14 - 1;
            }

            var16 = var5 >>> 24;
            if(0 != var6 && (1 != var6 || 255 != var16)) {
               if(1 == var6) {
                  var5 = (var16 << 24) + (var16 * (var5 & 16711935) >> 8 & 16711935) + ((var5 & '\uff00') * var16 >> 8 & '\uff00');

                  for(var17 = 256 - var16; var2 <= var4; ++var2) {
                     var18 = var1 >> 16;
                     var19 = var2 - var9;
                     var20 = var8 + var11[var19];
                     if(var18 >= -399365585 * this.anInt9785 && var18 < -2090820537 * this.anInt9797 && var18 >= var20 && var18 < var20 + var12[var19]) {
                        var21 = var18 + var2 * 1251184143 * this.anInt9789;
                        var22 = this.anIntArray9788[var21];
                        var22 = (var17 * (var22 & '\uff00') >> 8 & '\uff00') + ((var22 & 16711935) * var17 >> 8 & 16711935);
                        this.anIntArray9788[var2 * this.anInt9789 * 1251184143 + var18] = var22 + var5;
                     }

                     var1 += var15;
                  }
               } else {
                  if(var6 != 2) {
                     throw new IllegalArgumentException();
                  }

                  while(var2 <= var4) {
                     var17 = var1 >> 16;
                     var18 = var2 - var9;
                     var19 = var8 + var11[var18];
                     if(var17 >= this.anInt9785 * -399365585 && var17 < this.anInt9797 * -2090820537 && var17 >= var19 && var17 < var19 + var12[var18]) {
                        var20 = var2 * this.anInt9789 * 1251184143 + var17;
                        var21 = this.anIntArray9788[var20];
                        var22 = var21 + var5;
                        var23 = (var5 & 16711935) + (var21 & 16711935);
                        var21 = (var23 & 16777472) + (var22 - var23 & 65536);
                        this.anIntArray9788[var20] = var22 - var21 | var21 - (var21 >>> 8);
                     }

                     var1 += var15;
                     ++var2;
                  }
               }
            } else {
               while(var2 <= var4) {
                  var17 = var1 >> 16;
                  var18 = var2 - var9;
                  var19 = var11[var18] + var8;
                  if(var17 >= this.anInt9785 * -399365585 && var17 < -2090820537 * this.anInt9797 && var17 >= var19 && var17 < var12[var18] + var19) {
                     this.anIntArray9788[var2 * 1251184143 * this.anInt9789 + var17] = var5;
                  }

                  var1 += var15;
                  ++var2;
               }
            }
         }

      }
   }

   void method15371(int var1) {
      this.anInt9817 = var1 * -409354787;
      this.aClass174Array9791 = new Class174[this.anInt9817 * -310738315];

      for(int var2 = 0; var2 < -310738315 * this.anInt9817; ++var2) {
         this.aClass174Array9791[var2] = new Class174(this);
      }

   }

   public void method11479(Class225_Sub1 var1) {}

   public void method11570(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9, int var10, int var11, int var12) {
      if(null != this.anIntArray9788) {
         Class496_Sub2 var13 = (Class496_Sub2)var7;
         int[] var14 = var13.anIntArray9835;
         int[] var15 = var13.anIntArray9836;
         int var16 = this.anInt9800 * 493658681 > var9?this.anInt9800 * 493658681:var9;
         int var17 = this.anInt9795 * -1644767141 < var9 + var14.length?this.anInt9795 * -1644767141:var9 + var14.length;
         var12 <<= 8;
         var10 <<= 8;
         var11 <<= 8;
         int var18 = var10 + var11;
         var12 %= var18;
         var3 -= var1;
         var4 -= var2;
         int var19;
         int var20;
         if(var3 + var4 < 0) {
            var19 = (int)(Math.sqrt((double)(var4 * var4 + var3 * var3)) * 256.0D);
            var20 = var19 % var18;
            var12 = var18 + var10 - var12 - var20;
            var12 %= var18;
            if(var12 < 0) {
               var12 += var18;
            }

            var1 += var3;
            var3 = -var3;
            var2 += var4;
            var4 = -var4;
         }

         int var21;
         int var23;
         int var22;
         int var25;
         int var24;
         int var27;
         int var26;
         if(var3 > var4) {
            var2 <<= 16;
            var2 += '\u8000';
            var4 <<= 16;
            var19 = (int)Math.floor(0.5D + (double)var4 / (double)var3);
            var3 += var1;
            var20 = var5 >>> 24;
            var21 = (int)Math.sqrt((double)(65536 + (var19 >> 8) * (var19 >> 8)));
            if(0 != var6 && (var6 != 1 || var20 != 255)) {
               if(var6 == 1) {
                  var5 = ((var5 & 16711935) * var20 >> 8 & 16711935) + ((var5 & '\uff00') * var20 >> 8 & '\uff00') + (var20 << 24);

                  for(var22 = 256 - var20; var1 <= var3; var12 %= var18) {
                     var23 = var2 >> 16;
                     var24 = var23 - var9;
                     if(var1 >= this.anInt9785 * -399365585 && var1 < this.anInt9797 * -2090820537 && var23 >= var16 && var23 < var17 && var12 < var10) {
                        var25 = var14[var24] + var8;
                        if(var1 >= var25 && var1 < var15[var24] + var25) {
                           var26 = this.anInt9789 * 1251184143 * var23 + var1;
                           var27 = this.anIntArray9788[var26];
                           var27 = (var22 * (var27 & '\uff00') >> 8 & '\uff00') + ((var27 & 16711935) * var22 >> 8 & 16711935);
                           this.anIntArray9788[var26] = var27 + var5;
                        }
                     }

                     var2 += var19;
                     ++var1;
                     var12 += var21;
                  }
               } else {
                  if(2 != var6) {
                     throw new IllegalArgumentException();
                  }

                  while(var1 <= var3) {
                     var22 = var2 >> 16;
                     var23 = var22 - var9;
                     if(var1 >= -399365585 * this.anInt9785 && var1 < this.anInt9797 * -2090820537 && var22 >= var16 && var22 < var17 && var12 < var10) {
                        var24 = var8 + var14[var23];
                        if(var1 >= var24 && var1 < var24 + var15[var23]) {
                           var25 = var22 * 1251184143 * this.anInt9789 + var1;
                           var26 = this.anIntArray9788[var25];
                           var27 = var26 + var5;
                           int var28 = (var26 & 16711935) + (var5 & 16711935);
                           var26 = (var27 - var28 & 65536) + (var28 & 16777472);
                           this.anIntArray9788[var25] = var27 - var26 | var26 - (var26 >>> 8);
                        }
                     }

                     var2 += var19;
                     ++var1;
                     var12 += var21;
                     var12 %= var18;
                  }
               }
            } else {
               while(var1 <= var3) {
                  var22 = var2 >> 16;
                  var23 = var22 - var9;
                  if(var1 >= this.anInt9785 * -399365585 && var1 < -2090820537 * this.anInt9797 && var22 >= var16 && var22 < var17 && var12 < var10) {
                     var24 = var14[var23] + var8;
                     if(var1 >= var24 && var1 < var15[var23] + var24) {
                        this.anIntArray9788[var1 + this.anInt9789 * 1251184143 * var22] = var5;
                     }
                  }

                  var2 += var19;
                  ++var1;
                  var12 += var21;
                  var12 %= var18;
               }
            }
         } else {
            var1 <<= 16;
            var1 += '\u8000';
            var3 <<= 16;
            var19 = (int)Math.floor((double)var3 / (double)var4 + 0.5D);
            var20 = (int)Math.sqrt((double)(65536 + (var19 >> 8) * (var19 >> 8)));
            var4 += var2;
            var21 = var5 >>> 24;
            if(var6 != 0 && (var6 != 1 || var21 != 255)) {
               if(1 == var6) {
                  var5 = (var21 << 24) + ((var5 & 16711935) * var21 >> 8 & 16711935) + (var21 * (var5 & '\uff00') >> 8 & '\uff00');

                  for(var22 = 256 - var21; var2 <= var4; var12 %= var18) {
                     var23 = var1 >> 16;
                     var24 = var2 - var9;
                     if(var2 >= var16 && var2 < var17 && var23 >= -399365585 * this.anInt9785 && var23 < -2090820537 * this.anInt9797 && var12 < var10 && var23 >= var14[var24] + var8 && var23 < var8 + var14[var24] + var15[var24]) {
                        var25 = 1251184143 * this.anInt9789 * var2 + var23;
                        var26 = this.anIntArray9788[var25];
                        var26 = ((var26 & 16711935) * var22 >> 8 & 16711935) + ((var26 & '\uff00') * var22 >> 8 & '\uff00');
                        this.anIntArray9788[var2 * this.anInt9789 * 1251184143 + var23] = var26 + var5;
                     }

                     var1 += var19;
                     ++var2;
                     var12 += var20;
                  }
               } else {
                  if(2 != var6) {
                     throw new IllegalArgumentException();
                  }

                  while(var2 <= var4) {
                     var22 = var1 >> 16;
                     var23 = var2 - var9;
                     if(var2 >= var16 && var2 < var17 && var22 >= this.anInt9785 * -399365585 && var22 < -2090820537 * this.anInt9797 && var12 < var10 && var22 >= var8 + var14[var23] && var22 < var14[var23] + var8 + var15[var23]) {
                        var24 = var22 + var2 * this.anInt9789 * 1251184143;
                        var25 = this.anIntArray9788[var24];
                        var26 = var5 + var25;
                        var27 = (var5 & 16711935) + (var25 & 16711935);
                        var25 = (var27 & 16777472) + (var26 - var27 & 65536);
                        this.anIntArray9788[var24] = var26 - var25 | var25 - (var25 >>> 8);
                     }

                     var1 += var19;
                     ++var2;
                     var12 += var20;
                     var12 %= var18;
                  }
               }
            } else {
               while(var2 <= var4) {
                  var22 = var1 >> 16;
                  var23 = var2 - var9;
                  if(var2 >= var16 && var2 < var17 && var22 >= this.anInt9785 * -399365585 && var22 < -2090820537 * this.anInt9797 && var12 < var10 && var22 >= var14[var23] + var8 && var22 < var14[var23] + var8 + var15[var23]) {
                     this.anIntArray9788[var22 + 1251184143 * this.anInt9789 * var2] = var5;
                  }

                  var1 += var19;
                  ++var2;
                  var12 += var20;
                  var12 %= var18;
               }
            }
         }

      }
   }

   public void method11445(int[] var1) {
      var1[0] = 1251184143 * this.anInt9789;
      var1[1] = this.anInt9790 * 367961873;
   }

   public void method11572(int var1, int var2, int var3, int var4, int var5, int var6, int var7) {
      if(this.anIntArray9788 != null) {
         Class174 var8 = this.method15346(Thread.currentThread());
         Class143 var9 = var8.aClass143_2098;
         int var10 = var3 - var1;
         int var11 = var4 - var2;
         int var12 = var10 >= 0?var10:-var10;
         int var13 = var11 >= 0?var11:-var11;
         int var14 = var12;
         if(var12 < var13) {
            var14 = var13;
         }

         if(0 != var14) {
            int var15 = (var10 << 16) / var14;
            int var16 = (var11 << 16) / var14;
            var10 += var15 >> 16;
            var11 += var16 >> 16;
            if(var16 <= var15) {
               var15 = -var15;
            } else {
               var16 = -var16;
            }

            int var17 = var16 * var6 >> 17;
            int var18 = 1 + var6 * var16 >> 17;
            int var19 = var15 * var6 >> 17;
            int var20 = 1 + var6 * var15 >> 17;
            var1 -= var9.method2683();
            var2 -= var9.method2642();
            int var21 = var17 + var1;
            int var22 = var1 - var18;
            int var23 = var1 + var10 - var18;
            int var24 = var17 + var10 + var1;
            int var25 = var2 + var19;
            int var26 = var2 - var20;
            int var27 = var2 + var11 - var20;
            int var28 = var2 + var11 + var19;
            if(0 == var7) {
               var9.anInt1636 = 0;
            } else {
               if(var7 != 1) {
                  throw new IllegalArgumentException();
               }

               var9.anInt1636 = 255 - (var5 >>> 24);
            }

            this.RA(false);
            var9.aBool1650 = var21 < 0 || var21 > var9.anInt1640 || var22 < 0 || var22 > var9.anInt1640 || var23 < 0 || var23 > var9.anInt1640;
            var9.method2640(true, false, false, (float)var25, (float)var26, (float)var27, (float)var21, (float)var22, (float)var23, 100.0F, 100.0F, 100.0F, var5);
            var9.aBool1650 = var21 < 0 || var21 > var9.anInt1640 || var23 < 0 || var23 > var9.anInt1640 || var24 < 0 || var24 > var9.anInt1640;
            var9.method2640(true, false, false, (float)var25, (float)var27, (float)var28, (float)var21, (float)var23, (float)var24, 100.0F, 100.0F, 100.0F, var5);
            this.RA(true);
         }
      }
   }

   public void method11573(int var1, int var2, int var3, int var4, int var5, int var6, int var7) {
      if(this.anIntArray9788 != null) {
         Class174 var8 = this.method15346(Thread.currentThread());
         Class143 var9 = var8.aClass143_2098;
         int var10 = var3 - var1;
         int var11 = var4 - var2;
         int var12 = var10 >= 0?var10:-var10;
         int var13 = var11 >= 0?var11:-var11;
         int var14 = var12;
         if(var12 < var13) {
            var14 = var13;
         }

         if(0 != var14) {
            int var15 = (var10 << 16) / var14;
            int var16 = (var11 << 16) / var14;
            var10 += var15 >> 16;
            var11 += var16 >> 16;
            if(var16 <= var15) {
               var15 = -var15;
            } else {
               var16 = -var16;
            }

            int var17 = var16 * var6 >> 17;
            int var18 = 1 + var6 * var16 >> 17;
            int var19 = var15 * var6 >> 17;
            int var20 = 1 + var6 * var15 >> 17;
            var1 -= var9.method2683();
            var2 -= var9.method2642();
            int var21 = var17 + var1;
            int var22 = var1 - var18;
            int var23 = var1 + var10 - var18;
            int var24 = var17 + var10 + var1;
            int var25 = var2 + var19;
            int var26 = var2 - var20;
            int var27 = var2 + var11 - var20;
            int var28 = var2 + var11 + var19;
            if(0 == var7) {
               var9.anInt1636 = 0;
            } else {
               if(var7 != 1) {
                  throw new IllegalArgumentException();
               }

               var9.anInt1636 = 255 - (var5 >>> 24);
            }

            this.RA(false);
            var9.aBool1650 = var21 < 0 || var21 > var9.anInt1640 || var22 < 0 || var22 > var9.anInt1640 || var23 < 0 || var23 > var9.anInt1640;
            var9.method2640(true, false, false, (float)var25, (float)var26, (float)var27, (float)var21, (float)var22, (float)var23, 100.0F, 100.0F, 100.0F, var5);
            var9.aBool1650 = var21 < 0 || var21 > var9.anInt1640 || var23 < 0 || var23 > var9.anInt1640 || var24 < 0 || var24 > var9.anInt1640;
            var9.method2640(true, false, false, (float)var25, (float)var27, (float)var28, (float)var21, (float)var23, (float)var24, 100.0F, 100.0F, 100.0F, var5);
            this.RA(true);
         }
      }
   }

   public int method11494(int var1, int var2) {
      var1 |= 133120;
      return var1 & var2 ^ var2;
   }

   void method15372(int var1, int var2, int[] var3, float[] var4) {
      this.anInt9789 = -163864337 * var1;
      this.anInt9790 = 644033009 * var2;
      this.anIntArray9788 = var3;
      this.aFloatArray9808 = var4;

      for(int var5 = 0; var5 < this.anInt9817 * -310738315; ++var5) {
         this.aClass174Array9791[var5].method3048((byte)0);
      }

      this.L();
      this.method11459();
   }

   public void kw(int var1, int var2, int var3, int var4, int var5, int var6) {
      if(this.anIntArray9788 != null) {
         if(var1 < -399365585 * this.anInt9785) {
            var3 -= this.anInt9785 * -399365585 - var1;
            var1 = -399365585 * this.anInt9785;
         }

         if(var2 < this.anInt9800 * 493658681) {
            var4 -= 493658681 * this.anInt9800 - var2;
            var2 = 493658681 * this.anInt9800;
         }

         if(var3 + var1 > this.anInt9797 * -2090820537) {
            var3 = -2090820537 * this.anInt9797 - var1;
         }

         if(var4 + var2 > this.anInt9795 * -1644767141) {
            var4 = -1644767141 * this.anInt9795 - var2;
         }

         if(var3 > 0 && var4 > 0 && var1 <= -2090820537 * this.anInt9797 && var2 <= this.anInt9795 * -1644767141) {
            int var7 = 1251184143 * this.anInt9789 - var3;
            int var8 = var2 * 1251184143 * this.anInt9789 + var1;
            int var9 = var5 >>> 24;
            int var10;
            int var11;
            int var12;
            if(var6 != 0 && (1 != var6 || var9 != 255)) {
               int var13;
               if(1 == var6) {
                  var5 = (var9 * (var5 & 16711935) >> 8 & 16711935) + (var9 * ((var5 & -16711936) >>> 8) & -16711936);
                  var10 = 256 - var9;

                  for(var11 = 0; var11 < var4; ++var11) {
                     for(var12 = -var3; var12 < 0; ++var12) {
                        var13 = this.anIntArray9788[var8];
                        var13 = ((var13 & 16711935) * var10 >> 8 & 16711935) + (var10 * ((var13 & -16711936) >>> 8) & -16711936);
                        this.anIntArray9788[var8++] = var13 + var5;
                     }

                     var8 += var7;
                  }
               } else {
                  if(var6 != 2) {
                     throw new IllegalArgumentException();
                  }

                  for(var10 = 0; var10 < var4; ++var10) {
                     for(var11 = -var3; var11 < 0; ++var11) {
                        var12 = this.anIntArray9788[var8];
                        var13 = var5 + var12;
                        int var14 = (var12 & 16711935) + (var5 & 16711935);
                        var12 = (var13 - var14 & 65536) + (var14 & 16777472);
                        this.anIntArray9788[var8++] = var13 - var12 | var12 - (var12 >>> 8);
                     }

                     var8 += var7;
                  }
               }
            } else {
               var10 = var3 >> 3;
               var11 = var3 & 7;
               var3 = var8 - 1;

               for(var12 = -var4; var12 < 0; ++var12) {
                  if(var10 > 0) {
                     var1 = var10;

                     do {
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        --var1;
                     } while(var1 > 0);
                  }

                  if(var11 > 0) {
                     var1 = var11;

                     do {
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        --var1;
                     } while(var1 > 0);
                  }

                  var3 += var7;
               }
            }

         }
      }
   }

   public void ec() {
      this.anInt9785 = 0;
      this.anInt9800 = 0;
      this.anInt9797 = -88634375 * this.anInt9789;
      this.anInt9795 = this.anInt9790 * 1611184643;
      this.method15378();
   }

   public Class171 method11637(int var1, int var2, boolean var3, boolean var4) {
      return (Class171)(var3?new Class171_Sub1_Sub3(this, var1, var2):new Class171_Sub1_Sub2(this, var1, var2));
   }

   public Class171 method11691(int var1, int var2, boolean var3, boolean var4) {
      return (Class171)(var3?new Class171_Sub1_Sub3(this, var1, var2):new Class171_Sub1_Sub2(this, var1, var2));
   }

   public void method11426(int var1, Class153 var2) {
      for(int var3 = 0; var3 < this.aClass174Array9791.length; ++var3) {
         this.aClass174Array9791[var3].anInt2117 = this.aClass174Array9791[var3].anInt2090 * -712675057;
         this.aClass174Array9791[var3].anInt2093 = 341587971 * var1;
         this.aClass174Array9791[var3].anInt2090 = -282227755 * var2.anInt1727;
         this.aClass174Array9791[var3].anInt2094 = var2.anInt1731 * -1284126655;
         this.aClass174Array9791[var3].aBool2092 = true;
      }

   }

   public Class171 method11631(Class86 var1, boolean var2) {
      int var3 = var1.method1691();
      int var4 = var1.method1704();
      Object var11;
      if(var2 && !var1.method1690() && var1.method1689()) {
         Class86_Sub1 var12 = (Class86_Sub1)var1;
         int[] var6 = new int[var12.anIntArray9466.length];
         byte[] var7 = new byte[var3 * var4];

         int var8;
         for(var8 = 0; var8 < var4; ++var8) {
            int var9 = var8 * var3;

            for(int var10 = 0; var10 < var3; ++var10) {
               var7[var10 + var9] = var12.aByteArray9472[var10 + var9];
            }
         }

         for(var8 = 0; var8 < var12.anIntArray9466.length; ++var8) {
            var6[var8] = var12.anIntArray9466[var8];
         }

         var11 = new Class171_Sub1_Sub1(this, var7, var6, var3, var4);
      } else {
         int[] var5 = var1.method1709(false);
         if(var1.method1690()) {
            var11 = new Class171_Sub1_Sub3(this, var5, var3, var4);
         } else {
            var11 = new Class171_Sub1_Sub2(this, var5, var3, var4);
         }
      }

      ((Class171)var11).method2918(var1.method1693(), var1.method1735(), var1.method1694(), var1.method1692());
      return (Class171)var11;
   }

   public Class171 method11581(Class86 var1, boolean var2) {
      int var3 = var1.method1691();
      int var4 = var1.method1704();
      Object var11;
      if(var2 && !var1.method1690() && var1.method1689()) {
         Class86_Sub1 var12 = (Class86_Sub1)var1;
         int[] var6 = new int[var12.anIntArray9466.length];
         byte[] var7 = new byte[var3 * var4];

         int var8;
         for(var8 = 0; var8 < var4; ++var8) {
            int var9 = var8 * var3;

            for(int var10 = 0; var10 < var3; ++var10) {
               var7[var10 + var9] = var12.aByteArray9472[var10 + var9];
            }
         }

         for(var8 = 0; var8 < var12.anIntArray9466.length; ++var8) {
            var6[var8] = var12.anIntArray9466[var8];
         }

         var11 = new Class171_Sub1_Sub1(this, var7, var6, var3, var4);
      } else {
         int[] var5 = var1.method1709(false);
         if(var1.method1690()) {
            var11 = new Class171_Sub1_Sub3(this, var5, var3, var4);
         } else {
            var11 = new Class171_Sub1_Sub2(this, var5, var3, var4);
         }
      }

      ((Class171)var11).method2918(var1.method1693(), var1.method1735(), var1.method1694(), var1.method1692());
      return (Class171)var11;
   }

   boolean method15373() {
      return this.aBool9818;
   }

   public void method11430() {}

   public Class171 method11583(int var1, int var2, int var3, int var4, boolean var5) {
      if(null == this.anIntArray9788) {
         throw new IllegalStateException("");
      } else {
         int[] var6 = new int[var4 * var3];
         int var7 = var1 + this.anInt9789 * 1251184143 * var2;
         int var8 = this.anInt9789 * 1251184143 - var3;

         for(int var9 = 0; var9 < var4; ++var9) {
            int var10 = var3 * var9;

            for(int var11 = 0; var11 < var3; ++var11) {
               var6[var10 + var11] = this.anIntArray9788[var7++];
            }

            var7 += var8;
         }

         if(var5) {
            return new Class171_Sub1_Sub3(this, var6, var3, var4);
         } else {
            return new Class171_Sub1_Sub2(this, var6, var3, var4);
         }
      }
   }

   int method15374(int var1) {
      return this.anInterface24_7370.method113(var1, 329435873).anInt1989 * -836426007;
   }

   public void gt(int var1, Class496 var2, int var3, int var4) {
      if(null != this.anIntArray9788) {
         Class496_Sub2 var5 = (Class496_Sub2)var2;
         int[] var6 = var5.anIntArray9835;
         int[] var7 = var5.anIntArray9836;
         int var8;
         if(-1644767141 * this.anInt9795 < var6.length + var4) {
            var8 = this.anInt9795 * -1644767141 - var4;
         } else {
            var8 = var6.length;
         }

         int var9;
         if(493658681 * this.anInt9800 > var4) {
            var9 = 493658681 * this.anInt9800 - var4;
            var4 = this.anInt9800 * 493658681;
         } else {
            var9 = 0;
         }

         if(var8 - var9 > 0) {
            int var10 = this.anInt9789 * 1251184143 * var4;

            for(int var11 = var9; var11 < var8; ++var11) {
               int var12 = var3 + var6[var11];
               int var13 = var7[var11];
               if(-399365585 * this.anInt9785 > var12) {
                  var13 -= this.anInt9785 * -399365585 - var12;
                  var12 = -399365585 * this.anInt9785;
               }

               if(this.anInt9797 * -2090820537 < var12 + var13) {
                  var13 = this.anInt9797 * -2090820537 - var12;
               }

               var12 += var10;

               for(int var14 = -var13; var14 < 0; ++var14) {
                  this.anIntArray9788[var12++] = var1;
               }

               var10 += 1251184143 * this.anInt9789;
            }

         }
      }
   }

   public Class171 method11481(int var1, int var2, boolean var3, boolean var4) {
      return (Class171)(var3?new Class171_Sub1_Sub3(this, var1, var2):new Class171_Sub1_Sub2(this, var1, var2));
   }

   void method15375(boolean var1, boolean var2, boolean var3, int var4, int var5, float var6, int var7, int var8, int var9, int var10, int var11, int var12) {
      if(var7 != 0 && var8 != 0) {
         if('\uffff' != var9) {
            Class161 var13 = this.anInterface24_7370.method113(var9, -625419394);
            if(!var13.aBool1994) {
               if(-185182257 * this.anInt9822 != var9) {
                  Class171 var14 = (Class171)this.aClass564_9820.method11959((long)var9);
                  if(var14 == null) {
                     int[] var15 = this.method15336(var9);
                     if(var15 == null) {
                        return;
                     }

                     int var16 = this.anInterface24_7370.method113(var9, 2042720075).anInt1989 * -836426007;
                     var14 = this.method11599(var15, 0, var16, var16, var16, 98312473);
                     this.aClass564_9820.method11958(var14, (long)var9);
                  }

                  this.anInt9822 = -1312600273 * var9;
                  this.aClass171_9794 = var14;
               }

               ((Class171_Sub1)this.aClass171_9794).method15419(var1, var2, var3, var4 - var7, var5 - var8, var6, var7 << 1, var8 << 1, var11, var10, var12, 1, var13.aClass565_1987 != Class565.aClass565_7503);
               return;
            }
         }

         this.method15390(var2, var4, var5, var6, var7, var10, var12);
      }
   }

   public void gs(int var1, Class496 var2, int var3, int var4) {
      if(null != this.anIntArray9788) {
         Class496_Sub2 var5 = (Class496_Sub2)var2;
         int[] var6 = var5.anIntArray9835;
         int[] var7 = var5.anIntArray9836;
         int var8;
         if(-1644767141 * this.anInt9795 < var6.length + var4) {
            var8 = this.anInt9795 * -1644767141 - var4;
         } else {
            var8 = var6.length;
         }

         int var9;
         if(493658681 * this.anInt9800 > var4) {
            var9 = 493658681 * this.anInt9800 - var4;
            var4 = this.anInt9800 * 493658681;
         } else {
            var9 = 0;
         }

         if(var8 - var9 > 0) {
            int var10 = this.anInt9789 * 1251184143 * var4;

            for(int var11 = var9; var11 < var8; ++var11) {
               int var12 = var3 + var6[var11];
               int var13 = var7[var11];
               if(-399365585 * this.anInt9785 > var12) {
                  var13 -= this.anInt9785 * -399365585 - var12;
                  var12 = -399365585 * this.anInt9785;
               }

               if(this.anInt9797 * -2090820537 < var12 + var13) {
                  var13 = this.anInt9797 * -2090820537 - var12;
               }

               var12 += var10;

               for(int var14 = -var13; var14 < 0; ++var14) {
                  this.anIntArray9788[var12++] = var1;
               }

               var10 += 1251184143 * this.anInt9789;
            }

         }
      }
   }

   public Class8 method11587(Class405 var1, Class86_Sub1[] var2, boolean var3) {
      int[] var4 = new int[var2.length];
      int[] var5 = new int[var2.length];
      boolean var6 = false;

      for(int var7 = 0; var7 < var2.length; ++var7) {
         var4[var7] = var2[var7].method1691();
         var5[var7] = var2[var7].method1704();
         if(var2[var7].method1690()) {
            var6 = true;
         }
      }

      if(var3) {
         if(var6) {
            return new Class8_Sub4(this, var1, var2, var4, var5);
         } else {
            return new Class8_Sub1(this, var1, var2, var4, var5);
         }
      } else if(var6) {
         throw new IllegalArgumentException("");
      } else {
         return new Class8_Sub2(this, var1, var2, var4, var5);
      }
   }

   public Class8 method11582(Class405 var1, Class86_Sub1[] var2, boolean var3) {
      int[] var4 = new int[var2.length];
      int[] var5 = new int[var2.length];
      boolean var6 = false;

      for(int var7 = 0; var7 < var2.length; ++var7) {
         var4[var7] = var2[var7].method1691();
         var5[var7] = var2[var7].method1704();
         if(var2[var7].method1690()) {
            var6 = true;
         }
      }

      if(var3) {
         if(var6) {
            return new Class8_Sub4(this, var1, var2, var4, var5);
         } else {
            return new Class8_Sub1(this, var1, var2, var4, var5);
         }
      } else if(var6) {
         throw new IllegalArgumentException("");
      } else {
         return new Class8_Sub2(this, var1, var2, var4, var5);
      }
   }

   public void ip(int var1) {}

   public void method11590(int var1) {
      Class568_Sub2.anInt9323 = var1;
      Class568_Sub2.anInt9317 = var1;
      if(this.anInt9817 * -310738315 > 1) {
         throw new IllegalStateException();
      } else {
         this.method15347(this.anInt9817 * -310738315);
         this.method15391(0);
      }
   }

   void method15376() {
      this.aClass317_9803.method5613(this.aClass328_9802);
      this.aClass317_9805.method5609(this.aClass317_9803);
      this.aClass317_9805.method5612(this.aClass317_9819);
      this.aClass317_9805.method5633(this.aFloatArrayArray9806[0]);
      this.aClass317_9805.method5608(this.aFloatArrayArray9806[1]);
      this.aClass317_9805.method5629(this.aFloatArrayArray9806[2]);
      this.aClass317_9805.method5630(this.aFloatArrayArray9806[3]);
      this.aClass317_9805.method5620(this.aFloatArrayArray9806[4]);
      this.aClass317_9805.method5632(this.aFloatArrayArray9806[5]);
      float var1 = this.aClass317_9819.method5628();
      float var2 = this.aClass317_9819.aFloatArray4000[14] + this.aClass317_9819.aFloatArray4000[10] * (var1 - 255.0F);
      float var3 = this.aClass317_9819.aFloatArray4000[14] + var1 * this.aClass317_9819.aFloatArray4000[10];
      float var4 = var3 - var2;

      for(int var5 = 0; var5 < this.anInt9817 * -310738315; ++var5) {
         Class174 var6 = this.aClass174Array9791[var5];
         var6.aFloat2088 = var2;
         var6.aFloat2091 = var4;
      }

   }

   public Class568 method11592(Class96 var1, int var2, int var3, int var4, int var5) {
      return new Class568_Sub2(this, var1, var2, var4, var5, var3);
   }

   void method15377(int var1) {
      this.aClass174Array9791[var1].method3050(Thread.currentThread(), 1534486199);
   }

   public void ic(int var1, float var2, float var3, float var4, float var5, float var6) {
      this.anInt9799 = -1200830879 * (int)(var2 * 65535.0F);
      this.anInt9804 = (int)(65535.0F * var3) * 1217186825;
      float var7 = (float)Math.sqrt((double)(var5 * var5 + var4 * var4 + var6 * var6));
      this.anInt9796 = (int)(var4 * 65535.0F / var7) * -478262553;
      this.anInt9821 = (int)(65535.0F * var5 / var7) * -829176289;
      this.anInt9798 = -2037303019 * (int)(var6 * 65535.0F / var7);
   }

   public void method11458() {}

   public int method11546(int var1, int var2) {
      var1 |= 133120;
      return var1 & var2 ^ var2;
   }

   public void qa(int[] var1) {
      var1[0] = this.anInt9785 * -399365585;
      var1[1] = this.anInt9800 * 493658681;
      var1[2] = this.anInt9797 * -2090820537;
      var1[3] = -1644767141 * this.anInt9795;
   }

   public int method11597(int var1, int var2) {
      return var1 | var2;
   }

   public Class400 method11598(int var1, int var2, int[][] var3, int[][] var4, int var5, int var6, int var7) {
      return new Class400_Sub1(this, var6, var7, var1, var2, var3, var4, var5);
   }

   void method15378() {
      int var1 = -2090820537 * this.anInt9797 - this.anInt9785 * -399365585;
      int var2 = this.anInt9795 * -1644767141 - this.anInt9800 * 493658681;
      float var3 = this.aFloat9810 = (float)(-387040489 * this.anInt9809) / 2.0F;
      float var4 = this.aFloat9813 = (float)(this.anInt9793 * 11242783) / 2.0F;
      this.aFloat9812 = (float)(257981247 * this.anInt9807) + var3;
      this.aFloat9814 = var4 + (float)(this.anInt9792 * 2066763985);

      int var5;
      for(var5 = 0; var5 < -310738315 * this.anInt9817; ++var5) {
         Class174 var6 = this.aClass174Array9791[var5];
         Class143 var7 = var6.aClass143_2098;
         var7.aFloat1641 = var3;
         var7.aFloat1663 = var4;
         var7.aFloat1646 = this.aFloat9812 - (float)(-399365585 * this.anInt9785);
         var7.aFloat1660 = this.aFloat9814 - (float)(493658681 * this.anInt9800);
         var7.anInt1640 = var1;
         var7.anInt1647 = var2;
      }

      var5 = 1251184143 * this.anInt9789 * this.anInt9800 * 493658681 + this.anInt9785 * -399365585;

      for(int var8 = this.anInt9800 * 493658681; var8 < -1644767141 * this.anInt9795; ++var8) {
         for(int var9 = 0; var9 < this.anInt9817 * -310738315; ++var9) {
            this.aClass174Array9791[var9].aClass143_2098.anIntArray1639[var8 - this.anInt9800 * 493658681] = var5;
         }

         var5 += this.anInt9789 * 1251184143;
      }

   }

   public Class400 method11600(int var1, int var2, int[][] var3, int[][] var4, int var5, int var6, int var7) {
      return new Class400_Sub1(this, var6, var7, var1, var2, var3, var4, var5);
   }

   public boolean method11532() {
      return false;
   }

   public boolean method11588() {
      return false;
   }

   public Class171 method11436(int var1, int var2, int var3, int var4, boolean var5) {
      if(null == this.anIntArray9788) {
         throw new IllegalStateException("");
      } else {
         int[] var6 = new int[var4 * var3];
         int var7 = var1 + this.anInt9789 * 1251184143 * var2;
         int var8 = this.anInt9789 * 1251184143 - var3;

         for(int var9 = 0; var9 < var4; ++var9) {
            int var10 = var3 * var9;

            for(int var11 = 0; var11 < var3; ++var11) {
               var6[var10 + var11] = this.anIntArray9788[var7++];
            }

            var7 += var8;
         }

         if(var5) {
            return new Class171_Sub1_Sub3(this, var6, var3, var4);
         } else {
            return new Class171_Sub1_Sub2(this, var6, var3, var4);
         }
      }
   }

   public int method11604() {
      return 0;
   }

   public void io(int var1, float var2, float var3, float var4, float var5, float var6) {
      this.anInt9799 = -1200830879 * (int)(var2 * 65535.0F);
      this.anInt9804 = (int)(65535.0F * var3) * 1217186825;
      float var7 = (float)Math.sqrt((double)(var5 * var5 + var4 * var4 + var6 * var6));
      this.anInt9796 = (int)(var4 * 65535.0F / var7) * -478262553;
      this.anInt9821 = (int)(65535.0F * var5 / var7) * -829176289;
      this.anInt9798 = -2037303019 * (int)(var6 * 65535.0F / var7);
   }

   public int method11606() {
      return 0;
   }

   public Class225_Sub40 method11607(int var1, int var2, int var3, int var4, int var5, float var6) {
      return null;
   }

   public void method11561(int var1, Class225_Sub40[] var2) {}

   public boolean method11535() {
      return false;
   }

   void method15379() {
      int var1 = -2090820537 * this.anInt9797 - this.anInt9785 * -399365585;
      int var2 = this.anInt9795 * -1644767141 - this.anInt9800 * 493658681;
      float var3 = this.aFloat9810 = (float)(-387040489 * this.anInt9809) / 2.0F;
      float var4 = this.aFloat9813 = (float)(this.anInt9793 * 11242783) / 2.0F;
      this.aFloat9812 = (float)(257981247 * this.anInt9807) + var3;
      this.aFloat9814 = var4 + (float)(this.anInt9792 * 2066763985);

      int var5;
      for(var5 = 0; var5 < -310738315 * this.anInt9817; ++var5) {
         Class174 var6 = this.aClass174Array9791[var5];
         Class143 var7 = var6.aClass143_2098;
         var7.aFloat1641 = var3;
         var7.aFloat1663 = var4;
         var7.aFloat1646 = this.aFloat9812 - (float)(-399365585 * this.anInt9785);
         var7.aFloat1660 = this.aFloat9814 - (float)(493658681 * this.anInt9800);
         var7.anInt1640 = var1;
         var7.anInt1647 = var2;
      }

      var5 = 1251184143 * this.anInt9789 * this.anInt9800 * 493658681 + this.anInt9785 * -399365585;

      for(int var8 = this.anInt9800 * 493658681; var8 < -1644767141 * this.anInt9795; ++var8) {
         for(int var9 = 0; var9 < this.anInt9817 * -310738315; ++var9) {
            this.aClass174Array9791[var9].aClass143_2098.anIntArray1639[var8 - this.anInt9800 * 493658681] = var5;
         }

         var5 += this.anInt9789 * 1251184143;
      }

   }

   public void ij(int var1, float var2, float var3, float var4, float var5, float var6) {
      this.anInt9799 = -1200830879 * (int)(var2 * 65535.0F);
      this.anInt9804 = (int)(65535.0F * var3) * 1217186825;
      float var7 = (float)Math.sqrt((double)(var5 * var5 + var4 * var4 + var6 * var6));
      this.anInt9796 = (int)(var4 * 65535.0F / var7) * -478262553;
      this.anInt9821 = (int)(65535.0F * var5 / var7) * -829176289;
      this.anInt9798 = -2037303019 * (int)(var6 * 65535.0F / var7);
   }

   void method15380() {
      this.aClass317_9803.method5613(this.aClass328_9802);
      this.aClass317_9805.method5609(this.aClass317_9803);
      this.aClass317_9805.method5612(this.aClass317_9819);
      this.aClass317_9805.method5633(this.aFloatArrayArray9806[0]);
      this.aClass317_9805.method5608(this.aFloatArrayArray9806[1]);
      this.aClass317_9805.method5629(this.aFloatArrayArray9806[2]);
      this.aClass317_9805.method5630(this.aFloatArrayArray9806[3]);
      this.aClass317_9805.method5620(this.aFloatArrayArray9806[4]);
      this.aClass317_9805.method5632(this.aFloatArrayArray9806[5]);
      float var1 = this.aClass317_9819.method5628();
      float var2 = this.aClass317_9819.aFloatArray4000[14] + this.aClass317_9819.aFloatArray4000[10] * (var1 - 255.0F);
      float var3 = this.aClass317_9819.aFloatArray4000[14] + var1 * this.aClass317_9819.aFloatArray4000[10];
      float var4 = var3 - var2;

      for(int var5 = 0; var5 < this.anInt9817 * -310738315; ++var5) {
         Class174 var6 = this.aClass174Array9791[var5];
         var6.aFloat2088 = var2;
         var6.aFloat2091 = var4;
      }

   }

   public void ev(boolean var1) {
      Class174 var2 = this.method15346(Thread.currentThread());
      var2.aBool2126 = var1;
   }

   public Class317 method11602() {
      Class174 var1 = this.method15346(Thread.currentThread());
      return var1.aClass317_2096;
   }

   Class174 method15381(Runnable var1) {
      for(int var2 = 0; var2 < -310738315 * this.anInt9817; ++var2) {
         if(var1 == this.aClass174Array9791[var2].aRunnable2129) {
            return this.aClass174Array9791[var2];
         }
      }

      return null;
   }

   public void method11610(Class97 var1) {
      this.method15348(null != this.anIntArray9788, this.aFloatArray9808 != null, false, var1);
   }

   void method15382(boolean var1, boolean var2, boolean var3, Class97 var4) {
      Class174 var5 = this.method15346(Thread.currentThread());

      for(Class222_Sub1_Sub1 var6 = (Class222_Sub1_Sub1)var4.aClass478_981.method8053((byte)13); null != var6; var6 = (Class222_Sub1_Sub1)var4.aClass478_981.method8054((byte)82)) {
         int var7 = var6.anInt10062 >> 12;
         int var8 = var6.anInt10066 >> 12;
         int var9 = var6.anInt10059 >> 12;
         float var10 = this.aClass317_9805.aFloatArray4000[14] + this.aClass317_9805.aFloatArray4000[2] * (float)var7 + this.aClass317_9805.aFloatArray4000[6] * (float)var8 + (float)var9 * this.aClass317_9805.aFloatArray4000[10];
         float var11 = this.aClass317_9805.aFloatArray4000[7] * (float)var8 + (float)var7 * this.aClass317_9805.aFloatArray4000[3] + this.aClass317_9805.aFloatArray4000[11] * (float)var9 + this.aClass317_9805.aFloatArray4000[15];
         if(var10 >= -var11) {
            float var12 = var10 * this.aFloat9815 / var11 + this.aFloat9816;
            if(var10 <= var5.aFloat2088) {
               float var13 = this.aClass317_9805.aFloatArray4000[0] * (float)var7 + this.aClass317_9805.aFloatArray4000[4] * (float)var8 + (float)var9 * this.aClass317_9805.aFloatArray4000[8] + this.aClass317_9805.aFloatArray4000[12];
               float var14 = this.aClass317_9805.aFloatArray4000[1] * (float)var7 + (float)var8 * this.aClass317_9805.aFloatArray4000[5] + this.aClass317_9805.aFloatArray4000[9] * (float)var9 + this.aClass317_9805.aFloatArray4000[13];
               if(var13 >= -var11 && var13 <= var11 && var14 >= -var11 && var14 <= var11) {
                  float var15 = (float)var6.anInt10065 / 4096.0F;
                  float var16 = var13 + this.aClass317_9819.aFloatArray4000[0] * var15;
                  float var17 = var15 * this.aClass317_9819.aFloatArray4000[3] + var11;
                  float var18 = var13 * this.aFloat9810 / var11 + this.aFloat9812;
                  float var19 = this.aFloat9813 * var14 / var11 + this.aFloat9814;
                  float var20 = this.aFloat9812 + this.aFloat9810 * var16 / var17;
                  this.method15335(var1, var2, var3, var6, (int)var18, (int)var19, var12, (int)(var20 < var18?var18 - var20:var20 - var18));
               }
            }
         }
      }

   }

   void method15383(boolean var1, boolean var2, boolean var3, int var4, int var5, float var6, int var7, int var8, int var9, int var10, int var11, int var12) {
      if(var7 != 0 && var8 != 0) {
         if('\uffff' != var9) {
            Class161 var13 = this.anInterface24_7370.method113(var9, 1611995492);
            if(!var13.aBool1994) {
               if(-185182257 * this.anInt9822 != var9) {
                  Class171 var14 = (Class171)this.aClass564_9820.method11959((long)var9);
                  if(var14 == null) {
                     int[] var15 = this.method15336(var9);
                     if(var15 == null) {
                        return;
                     }

                     int var16 = this.anInterface24_7370.method113(var9, -965471506).anInt1989 * -836426007;
                     var14 = this.method11599(var15, 0, var16, var16, var16, 98312473);
                     this.aClass564_9820.method11958(var14, (long)var9);
                  }

                  this.anInt9822 = -1312600273 * var9;
                  this.aClass171_9794 = var14;
               }

               ((Class171_Sub1)this.aClass171_9794).method15419(var1, var2, var3, var4 - var7, var5 - var8, var6, var7 << 1, var8 << 1, var11, var10, var12, 1, var13.aClass565_1987 != Class565.aClass565_7503);
               return;
            }
         }

         this.method15390(var2, var4, var5, var6, var7, var10, var12);
      }
   }

   void method15384(boolean var1, boolean var2, boolean var3, int var4, int var5, float var6, int var7, int var8, int var9, int var10, int var11, int var12) {
      if(var7 != 0 && var8 != 0) {
         if('\uffff' != var9) {
            Class161 var13 = this.anInterface24_7370.method113(var9, 1144130651);
            if(!var13.aBool1994) {
               if(-185182257 * this.anInt9822 != var9) {
                  Class171 var14 = (Class171)this.aClass564_9820.method11959((long)var9);
                  if(var14 == null) {
                     int[] var15 = this.method15336(var9);
                     if(var15 == null) {
                        return;
                     }

                     int var16 = this.anInterface24_7370.method113(var9, 274452589).anInt1989 * -836426007;
                     var14 = this.method11599(var15, 0, var16, var16, var16, 98312473);
                     this.aClass564_9820.method11958(var14, (long)var9);
                  }

                  this.anInt9822 = -1312600273 * var9;
                  this.aClass171_9794 = var14;
               }

               ((Class171_Sub1)this.aClass171_9794).method15419(var1, var2, var3, var4 - var7, var5 - var8, var6, var7 << 1, var8 << 1, var11, var10, var12, 1, var13.aClass565_1987 != Class565.aClass565_7503);
               return;
            }
         }

         this.method15390(var2, var4, var5, var6, var7, var10, var12);
      }
   }

   public void iv(float var1) {
      this.anInt9801 = 644206877 * (int)(65535.0F * var1);
   }

   public Class328 method11617() {
      return new Class328(this.aClass328_9802);
   }

   public Class328 method11461() {
      return new Class328(this.aClass328_9802);
   }

   public Class328 method11612() {
      return new Class328(this.aClass328_9802);
   }

   public void method11648(int var1, Class153 var2) {
      Class174 var3 = this.method15346(Thread.currentThread());
      var3.anInt2093 = 341587971 * var1;
      var3.anInt2090 = var2.anInt1727 * -282227755;
      var3.anInt2094 = -1284126655 * var2.anInt1731;
   }

   public Class317 method11614() {
      return new Class317(this.aClass317_9819);
   }

   public int method11593(int var1, int var2) {
      var1 |= 133120;
      return var1 & var2 ^ var2;
   }

   public void il(float var1) {
      this.anInt9801 = 644206877 * (int)(65535.0F * var1);
   }

   public void gj(int var1, Class496 var2, int var3, int var4) {
      if(null != this.anIntArray9788) {
         Class496_Sub2 var5 = (Class496_Sub2)var2;
         int[] var6 = var5.anIntArray9835;
         int[] var7 = var5.anIntArray9836;
         int var8;
         if(-1644767141 * this.anInt9795 < var6.length + var4) {
            var8 = this.anInt9795 * -1644767141 - var4;
         } else {
            var8 = var6.length;
         }

         int var9;
         if(493658681 * this.anInt9800 > var4) {
            var9 = 493658681 * this.anInt9800 - var4;
            var4 = this.anInt9800 * 493658681;
         } else {
            var9 = 0;
         }

         if(var8 - var9 > 0) {
            int var10 = this.anInt9789 * 1251184143 * var4;

            for(int var11 = var9; var11 < var8; ++var11) {
               int var12 = var3 + var6[var11];
               int var13 = var7[var11];
               if(-399365585 * this.anInt9785 > var12) {
                  var13 -= this.anInt9785 * -399365585 - var12;
                  var12 = -399365585 * this.anInt9785;
               }

               if(this.anInt9797 * -2090820537 < var12 + var13) {
                  var13 = this.anInt9797 * -2090820537 - var12;
               }

               var12 += var10;

               for(int var14 = -var13; var14 < 0; ++var14) {
                  this.anIntArray9788[var12++] = var1;
               }

               var10 += 1251184143 * this.anInt9789;
            }

         }
      }
   }

   public void kz(int var1, int var2) {
      if(0 != (var1 & 1)) {
         this.B(0, 0, 1251184143 * this.anInt9789, this.anInt9790 * 367961873, var2, 0);
      }

      if(0 != (var1 & 2)) {
         this.method15343();
      }

   }

   void method15385(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) {
      if(this.anIntArray9788 != null) {
         if(var2 >= 493658681 * this.anInt9800 && var2 < -1644767141 * this.anInt9795) {
            int var9 = this.anInt9789 * 1251184143 * var2 + var1;
            int var10 = var4 >>> 24;
            int var11 = var6 + var7;
            int var12 = var8 % var11;
            int var13;
            if(var5 != 0 && (1 != var5 || 255 != var10)) {
               int var14;
               int var15;
               if(1 == var5) {
                  var4 = (var10 * (var4 & '\uff00') >> 8 & '\uff00') + ((var4 & 16711935) * var10 >> 8 & 16711935) + (var10 << 24);
                  var13 = 256 - var10;

                  for(var14 = 0; var14 < var3; var12 %= var11) {
                     if(var1 + var14 >= this.anInt9785 * -399365585 && var1 + var14 < -2090820537 * this.anInt9797 && var12 < var6) {
                        var15 = this.anIntArray9788[var9 + var14];
                        var15 = ((var15 & '\uff00') * var13 >> 8 & '\uff00') + ((var15 & 16711935) * var13 >> 8 & 16711935);
                        this.anIntArray9788[var14 + var9] = var15 + var4;
                     }

                     ++var14;
                     ++var12;
                  }
               } else {
                  if(2 != var5) {
                     throw new IllegalArgumentException();
                  }

                  for(var13 = 0; var13 < var3; var12 %= var11) {
                     if(var13 + var1 >= this.anInt9785 * -399365585 && var13 + var1 < this.anInt9797 * -2090820537 && var12 < var6) {
                        var14 = this.anIntArray9788[var9 + var13];
                        var15 = var14 + var4;
                        int var16 = (var4 & 16711935) + (var14 & 16711935);
                        var14 = (var16 & 16777472) + (var15 - var16 & 65536);
                        this.anIntArray9788[var9 + var13] = var15 - var14 | var14 - (var14 >>> 8);
                     }

                     ++var13;
                     ++var12;
                  }
               }
            } else {
               for(var13 = 0; var13 < var3; var12 %= var11) {
                  if(var1 + var13 >= -399365585 * this.anInt9785 && var13 + var1 < -2090820537 * this.anInt9797 && var12 < var6) {
                     this.anIntArray9788[var13 + var9] = var4;
                  }

                  ++var13;
                  ++var12;
               }
            }

         }
      }
   }

   public Class79 method11469(int var1, int var2, int var3, int var4, int var5, int var6) {
      return null;
   }

   public void method11565(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9) {
      if(null != this.anIntArray9788) {
         Class496_Sub2 var10 = (Class496_Sub2)var7;
         int[] var11 = var10.anIntArray9835;
         int[] var12 = var10.anIntArray9836;
         int var13 = this.anInt9800 * 493658681 > var9?493658681 * this.anInt9800:var9;
         int var14 = this.anInt9795 * -1644767141 < var9 + var11.length?-1644767141 * this.anInt9795:var9 + var11.length;
         var3 -= var1;
         var4 -= var2;
         if(var4 + var3 < 0) {
            var1 += var3;
            var3 = -var3;
            var2 += var4;
            var4 = -var4;
         }

         int var15;
         int var17;
         int var16;
         int var19;
         int var18;
         int var21;
         int var20;
         int var23;
         int var22;
         if(var3 > var4) {
            var2 <<= 16;
            var2 += '\u8000';
            var4 <<= 16;
            var15 = (int)Math.floor(0.5D + (double)var4 / (double)var3);
            var3 += var1;
            if(var1 < this.anInt9785 * -399365585) {
               var2 += var15 * (this.anInt9785 * -399365585 - var1);
               var1 = this.anInt9785 * -399365585;
            }

            if(var3 >= this.anInt9797 * -2090820537) {
               var3 = -2090820537 * this.anInt9797 - 1;
            }

            var16 = var5 >>> 24;
            if(0 != var6 && (var6 != 1 || 255 != var16)) {
               if(var6 == 1) {
                  var5 = ((var5 & 16711935) * var16 >> 8 & 16711935) + ((var5 & '\uff00') * var16 >> 8 & '\uff00') + (var16 << 24);

                  for(var17 = 256 - var16; var1 <= var3; ++var1) {
                     var18 = var2 >> 16;
                     var19 = var18 - var9;
                     if(var18 >= var13 && var18 < var14) {
                        var20 = var8 + var11[var19];
                        if(var1 >= var20 && var1 < var12[var19] + var20) {
                           var21 = var1 + var18 * 1251184143 * this.anInt9789;
                           var22 = this.anIntArray9788[var21];
                           var22 = (var17 * (var22 & 16711935) >> 8 & 16711935) + (var17 * (var22 & '\uff00') >> 8 & '\uff00');
                           this.anIntArray9788[var21] = var22 + var5;
                        }
                     }

                     var2 += var15;
                  }
               } else {
                  if(var6 != 2) {
                     throw new IllegalArgumentException();
                  }

                  while(var1 <= var3) {
                     var17 = var2 >> 16;
                     var18 = var17 - var9;
                     if(var17 >= var13 && var17 < var14) {
                        var19 = var8 + var11[var18];
                        if(var1 >= var19 && var1 < var19 + var12[var18]) {
                           var20 = var17 * 1251184143 * this.anInt9789 + var1;
                           var21 = this.anIntArray9788[var20];
                           var22 = var21 + var5;
                           var23 = (var21 & 16711935) + (var5 & 16711935);
                           var21 = (var22 - var23 & 65536) + (var23 & 16777472);
                           this.anIntArray9788[var20] = var22 - var21 | var21 - (var21 >>> 8);
                        }
                     }

                     var2 += var15;
                     ++var1;
                  }
               }
            } else {
               while(var1 <= var3) {
                  var17 = var2 >> 16;
                  var18 = var17 - var9;
                  if(var17 >= var13 && var17 < var14) {
                     var19 = var11[var18] + var8;
                     if(var1 >= var19 && var1 < var19 + var12[var18]) {
                        this.anIntArray9788[var1 + 1251184143 * this.anInt9789 * var17] = var5;
                     }
                  }

                  var2 += var15;
                  ++var1;
               }
            }
         } else {
            var1 <<= 16;
            var1 += '\u8000';
            var3 <<= 16;
            var15 = (int)Math.floor(0.5D + (double)var3 / (double)var4);
            var4 += var2;
            if(var2 < var13) {
               var1 += var15 * (var13 - var2);
               var2 = var13;
            }

            if(var4 >= var14) {
               var4 = var14 - 1;
            }

            var16 = var5 >>> 24;
            if(0 != var6 && (1 != var6 || 255 != var16)) {
               if(1 == var6) {
                  var5 = (var16 << 24) + (var16 * (var5 & 16711935) >> 8 & 16711935) + ((var5 & '\uff00') * var16 >> 8 & '\uff00');

                  for(var17 = 256 - var16; var2 <= var4; ++var2) {
                     var18 = var1 >> 16;
                     var19 = var2 - var9;
                     var20 = var8 + var11[var19];
                     if(var18 >= -399365585 * this.anInt9785 && var18 < -2090820537 * this.anInt9797 && var18 >= var20 && var18 < var20 + var12[var19]) {
                        var21 = var18 + var2 * 1251184143 * this.anInt9789;
                        var22 = this.anIntArray9788[var21];
                        var22 = (var17 * (var22 & '\uff00') >> 8 & '\uff00') + ((var22 & 16711935) * var17 >> 8 & 16711935);
                        this.anIntArray9788[var2 * this.anInt9789 * 1251184143 + var18] = var22 + var5;
                     }

                     var1 += var15;
                  }
               } else {
                  if(var6 != 2) {
                     throw new IllegalArgumentException();
                  }

                  while(var2 <= var4) {
                     var17 = var1 >> 16;
                     var18 = var2 - var9;
                     var19 = var8 + var11[var18];
                     if(var17 >= this.anInt9785 * -399365585 && var17 < this.anInt9797 * -2090820537 && var17 >= var19 && var17 < var19 + var12[var18]) {
                        var20 = var2 * this.anInt9789 * 1251184143 + var17;
                        var21 = this.anIntArray9788[var20];
                        var22 = var21 + var5;
                        var23 = (var5 & 16711935) + (var21 & 16711935);
                        var21 = (var23 & 16777472) + (var22 - var23 & 65536);
                        this.anIntArray9788[var20] = var22 - var21 | var21 - (var21 >>> 8);
                     }

                     var1 += var15;
                     ++var2;
                  }
               }
            } else {
               while(var2 <= var4) {
                  var17 = var1 >> 16;
                  var18 = var2 - var9;
                  var19 = var11[var18] + var8;
                  if(var17 >= this.anInt9785 * -399365585 && var17 < -2090820537 * this.anInt9797 && var17 >= var19 && var17 < var12[var18] + var19) {
                     this.anIntArray9788[var2 * 1251184143 * this.anInt9789 + var17] = var5;
                  }

                  var1 += var15;
                  ++var2;
               }
            }
         }

      }
   }

   public void method11554(boolean var1) {}

   boolean method15386(int var1) {
      Class161 var2 = this.anInterface24_7370.method113(var1, -941107201);
      return this.anInterface24_7370.method119(var1, Class557.aClass557_7471, 0.7F, -836426007 * var2.anInt1989, var2.anInt1989 * -836426007, true, -1305345088);
   }

   public void ih(int var1) {}

   public void native_if(int var1, int var2, int var3) {
      for(int var4 = 0; var4 < this.aClass174Array9791.length; ++var4) {
         Class174 var5 = this.aClass174Array9791[var4];
         var5.anInt2090 = 886069921 * (var1 & 16777215);
         int var6 = var5.anInt2090 * 723388769 >>> 16 & 255;
         if(var6 < 2) {
            var6 = 2;
         }

         int var7 = 723388769 * var5.anInt2090 >> 8 & 255;
         if(var7 < 2) {
            var7 = 2;
         }

         int var8 = 723388769 * var5.anInt2090 & 255;
         if(var8 < 2) {
            var8 = 2;
         }

         var5.anInt2090 = 886069921 * (var6 << 16 | var7 << 8 | var8);
         if(var2 < 0) {
            var5.aBool2108 = false;
         } else {
            var5.aBool2108 = true;
         }
      }

   }

   void method15387() {
      this.aClass317_9803.method5613(this.aClass328_9802);
      this.aClass317_9805.method5609(this.aClass317_9803);
      this.aClass317_9805.method5612(this.aClass317_9819);
      this.aClass317_9805.method5633(this.aFloatArrayArray9806[0]);
      this.aClass317_9805.method5608(this.aFloatArrayArray9806[1]);
      this.aClass317_9805.method5629(this.aFloatArrayArray9806[2]);
      this.aClass317_9805.method5630(this.aFloatArrayArray9806[3]);
      this.aClass317_9805.method5620(this.aFloatArrayArray9806[4]);
      this.aClass317_9805.method5632(this.aFloatArrayArray9806[5]);
      float var1 = this.aClass317_9819.method5628();
      float var2 = this.aClass317_9819.aFloatArray4000[14] + this.aClass317_9819.aFloatArray4000[10] * (var1 - 255.0F);
      float var3 = this.aClass317_9819.aFloatArray4000[14] + var1 * this.aClass317_9819.aFloatArray4000[10];
      float var4 = var3 - var2;

      for(int var5 = 0; var5 < this.anInt9817 * -310738315; ++var5) {
         Class174 var6 = this.aClass174Array9791[var5];
         var6.aFloat2088 = var2;
         var6.aFloat2091 = var4;
      }

   }

   void method15388() {
      this.aClass317_9803.method5613(this.aClass328_9802);
      this.aClass317_9805.method5609(this.aClass317_9803);
      this.aClass317_9805.method5612(this.aClass317_9819);
      this.aClass317_9805.method5633(this.aFloatArrayArray9806[0]);
      this.aClass317_9805.method5608(this.aFloatArrayArray9806[1]);
      this.aClass317_9805.method5629(this.aFloatArrayArray9806[2]);
      this.aClass317_9805.method5630(this.aFloatArrayArray9806[3]);
      this.aClass317_9805.method5620(this.aFloatArrayArray9806[4]);
      this.aClass317_9805.method5632(this.aFloatArrayArray9806[5]);
      float var1 = this.aClass317_9819.method5628();
      float var2 = this.aClass317_9819.aFloatArray4000[14] + this.aClass317_9819.aFloatArray4000[10] * (var1 - 255.0F);
      float var3 = this.aClass317_9819.aFloatArray4000[14] + var1 * this.aClass317_9819.aFloatArray4000[10];
      float var4 = var3 - var2;

      for(int var5 = 0; var5 < this.anInt9817 * -310738315; ++var5) {
         Class174 var6 = this.aClass174Array9791[var5];
         var6.aFloat2088 = var2;
         var6.aFloat2091 = var4;
      }

   }

   public void kv(int var1, int var2) {
      if(0 != (var1 & 1)) {
         this.B(0, 0, 1251184143 * this.anInt9789, this.anInt9790 * 367961873, var2, 0);
      }

      if(0 != (var1 & 2)) {
         this.method15343();
      }

   }

   public void fl(int var1, int var2, int var3, int var4) {
      if(var1 < 0) {
         var1 = 0;
      }

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

      if(var3 > 1251184143 * this.anInt9789) {
         var3 = this.anInt9789 * 1251184143;
      }

      if(var4 > this.anInt9790 * 367961873) {
         var4 = this.anInt9790 * 367961873;
      }

      this.anInt9785 = 90791119 * var1;
      this.anInt9797 = var3 * 1362775415;
      this.anInt9800 = var2 * 196127753;
      this.anInt9795 = var4 * 791320531;
      this.method15378();
   }

   public void method11476(int var1, int var2, int var3, int var4, int var5, int var6, int var7) {
      if(this.anIntArray9788 != null) {
         Class174 var8 = this.method15346(Thread.currentThread());
         Class143 var9 = var8.aClass143_2098;
         int var10 = var3 - var1;
         int var11 = var4 - var2;
         int var12 = var10 >= 0?var10:-var10;
         int var13 = var11 >= 0?var11:-var11;
         int var14 = var12;
         if(var12 < var13) {
            var14 = var13;
         }

         if(0 != var14) {
            int var15 = (var10 << 16) / var14;
            int var16 = (var11 << 16) / var14;
            var10 += var15 >> 16;
            var11 += var16 >> 16;
            if(var16 <= var15) {
               var15 = -var15;
            } else {
               var16 = -var16;
            }

            int var17 = var16 * var6 >> 17;
            int var18 = 1 + var6 * var16 >> 17;
            int var19 = var15 * var6 >> 17;
            int var20 = 1 + var6 * var15 >> 17;
            var1 -= var9.method2683();
            var2 -= var9.method2642();
            int var21 = var17 + var1;
            int var22 = var1 - var18;
            int var23 = var1 + var10 - var18;
            int var24 = var17 + var10 + var1;
            int var25 = var2 + var19;
            int var26 = var2 - var20;
            int var27 = var2 + var11 - var20;
            int var28 = var2 + var11 + var19;
            if(0 == var7) {
               var9.anInt1636 = 0;
            } else {
               if(var7 != 1) {
                  throw new IllegalArgumentException();
               }

               var9.anInt1636 = 255 - (var5 >>> 24);
            }

            this.RA(false);
            var9.aBool1650 = var21 < 0 || var21 > var9.anInt1640 || var22 < 0 || var22 > var9.anInt1640 || var23 < 0 || var23 > var9.anInt1640;
            var9.method2640(true, false, false, (float)var25, (float)var26, (float)var27, (float)var21, (float)var22, (float)var23, 100.0F, 100.0F, 100.0F, var5);
            var9.aBool1650 = var21 < 0 || var21 > var9.anInt1640 || var23 < 0 || var23 > var9.anInt1640 || var24 < 0 || var24 > var9.anInt1640;
            var9.method2640(true, false, false, (float)var25, (float)var27, (float)var28, (float)var21, (float)var23, (float)var24, 100.0F, 100.0F, 100.0F, var5);
            this.RA(true);
         }
      }
   }

   public Class79 method11621(int var1, int var2, int var3, int var4, int var5, int var6) {
      return null;
   }

   public void method11571(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9, int var10, int var11, int var12) {
      if(null != this.anIntArray9788) {
         Class496_Sub2 var13 = (Class496_Sub2)var7;
         int[] var14 = var13.anIntArray9835;
         int[] var15 = var13.anIntArray9836;
         int var16 = this.anInt9800 * 493658681 > var9?this.anInt9800 * 493658681:var9;
         int var17 = this.anInt9795 * -1644767141 < var9 + var14.length?this.anInt9795 * -1644767141:var9 + var14.length;
         var12 <<= 8;
         var10 <<= 8;
         var11 <<= 8;
         int var18 = var10 + var11;
         var12 %= var18;
         var3 -= var1;
         var4 -= var2;
         int var19;
         int var20;
         if(var3 + var4 < 0) {
            var19 = (int)(Math.sqrt((double)(var4 * var4 + var3 * var3)) * 256.0D);
            var20 = var19 % var18;
            var12 = var18 + var10 - var12 - var20;
            var12 %= var18;
            if(var12 < 0) {
               var12 += var18;
            }

            var1 += var3;
            var3 = -var3;
            var2 += var4;
            var4 = -var4;
         }

         int var21;
         int var23;
         int var22;
         int var25;
         int var24;
         int var27;
         int var26;
         if(var3 > var4) {
            var2 <<= 16;
            var2 += '\u8000';
            var4 <<= 16;
            var19 = (int)Math.floor(0.5D + (double)var4 / (double)var3);
            var3 += var1;
            var20 = var5 >>> 24;
            var21 = (int)Math.sqrt((double)(65536 + (var19 >> 8) * (var19 >> 8)));
            if(0 != var6 && (var6 != 1 || var20 != 255)) {
               if(var6 == 1) {
                  var5 = ((var5 & 16711935) * var20 >> 8 & 16711935) + ((var5 & '\uff00') * var20 >> 8 & '\uff00') + (var20 << 24);

                  for(var22 = 256 - var20; var1 <= var3; var12 %= var18) {
                     var23 = var2 >> 16;
                     var24 = var23 - var9;
                     if(var1 >= this.anInt9785 * -399365585 && var1 < this.anInt9797 * -2090820537 && var23 >= var16 && var23 < var17 && var12 < var10) {
                        var25 = var14[var24] + var8;
                        if(var1 >= var25 && var1 < var15[var24] + var25) {
                           var26 = this.anInt9789 * 1251184143 * var23 + var1;
                           var27 = this.anIntArray9788[var26];
                           var27 = (var22 * (var27 & '\uff00') >> 8 & '\uff00') + ((var27 & 16711935) * var22 >> 8 & 16711935);
                           this.anIntArray9788[var26] = var27 + var5;
                        }
                     }

                     var2 += var19;
                     ++var1;
                     var12 += var21;
                  }
               } else {
                  if(2 != var6) {
                     throw new IllegalArgumentException();
                  }

                  while(var1 <= var3) {
                     var22 = var2 >> 16;
                     var23 = var22 - var9;
                     if(var1 >= -399365585 * this.anInt9785 && var1 < this.anInt9797 * -2090820537 && var22 >= var16 && var22 < var17 && var12 < var10) {
                        var24 = var8 + var14[var23];
                        if(var1 >= var24 && var1 < var24 + var15[var23]) {
                           var25 = var22 * 1251184143 * this.anInt9789 + var1;
                           var26 = this.anIntArray9788[var25];
                           var27 = var26 + var5;
                           int var28 = (var26 & 16711935) + (var5 & 16711935);
                           var26 = (var27 - var28 & 65536) + (var28 & 16777472);
                           this.anIntArray9788[var25] = var27 - var26 | var26 - (var26 >>> 8);
                        }
                     }

                     var2 += var19;
                     ++var1;
                     var12 += var21;
                     var12 %= var18;
                  }
               }
            } else {
               while(var1 <= var3) {
                  var22 = var2 >> 16;
                  var23 = var22 - var9;
                  if(var1 >= this.anInt9785 * -399365585 && var1 < -2090820537 * this.anInt9797 && var22 >= var16 && var22 < var17 && var12 < var10) {
                     var24 = var14[var23] + var8;
                     if(var1 >= var24 && var1 < var15[var23] + var24) {
                        this.anIntArray9788[var1 + this.anInt9789 * 1251184143 * var22] = var5;
                     }
                  }

                  var2 += var19;
                  ++var1;
                  var12 += var21;
                  var12 %= var18;
               }
            }
         } else {
            var1 <<= 16;
            var1 += '\u8000';
            var3 <<= 16;
            var19 = (int)Math.floor((double)var3 / (double)var4 + 0.5D);
            var20 = (int)Math.sqrt((double)(65536 + (var19 >> 8) * (var19 >> 8)));
            var4 += var2;
            var21 = var5 >>> 24;
            if(var6 != 0 && (var6 != 1 || var21 != 255)) {
               if(1 == var6) {
                  var5 = (var21 << 24) + ((var5 & 16711935) * var21 >> 8 & 16711935) + (var21 * (var5 & '\uff00') >> 8 & '\uff00');

                  for(var22 = 256 - var21; var2 <= var4; var12 %= var18) {
                     var23 = var1 >> 16;
                     var24 = var2 - var9;
                     if(var2 >= var16 && var2 < var17 && var23 >= -399365585 * this.anInt9785 && var23 < -2090820537 * this.anInt9797 && var12 < var10 && var23 >= var14[var24] + var8 && var23 < var8 + var14[var24] + var15[var24]) {
                        var25 = 1251184143 * this.anInt9789 * var2 + var23;
                        var26 = this.anIntArray9788[var25];
                        var26 = ((var26 & 16711935) * var22 >> 8 & 16711935) + ((var26 & '\uff00') * var22 >> 8 & '\uff00');
                        this.anIntArray9788[var2 * this.anInt9789 * 1251184143 + var23] = var26 + var5;
                     }

                     var1 += var19;
                     ++var2;
                     var12 += var20;
                  }
               } else {
                  if(2 != var6) {
                     throw new IllegalArgumentException();
                  }

                  while(var2 <= var4) {
                     var22 = var1 >> 16;
                     var23 = var2 - var9;
                     if(var2 >= var16 && var2 < var17 && var22 >= this.anInt9785 * -399365585 && var22 < -2090820537 * this.anInt9797 && var12 < var10 && var22 >= var8 + var14[var23] && var22 < var14[var23] + var8 + var15[var23]) {
                        var24 = var22 + var2 * this.anInt9789 * 1251184143;
                        var25 = this.anIntArray9788[var24];
                        var26 = var5 + var25;
                        var27 = (var5 & 16711935) + (var25 & 16711935);
                        var25 = (var27 & 16777472) + (var26 - var27 & 65536);
                        this.anIntArray9788[var24] = var26 - var25 | var25 - (var25 >>> 8);
                     }

                     var1 += var19;
                     ++var2;
                     var12 += var20;
                     var12 %= var18;
                  }
               }
            } else {
               while(var2 <= var4) {
                  var22 = var1 >> 16;
                  var23 = var2 - var9;
                  if(var2 >= var16 && var2 < var17 && var22 >= this.anInt9785 * -399365585 && var22 < -2090820537 * this.anInt9797 && var12 < var10 && var22 >= var14[var23] + var8 && var22 < var14[var23] + var8 + var15[var23]) {
                     this.anIntArray9788[var22 + 1251184143 * this.anInt9789 * var2] = var5;
                  }

                  var1 += var19;
                  ++var2;
                  var12 += var20;
                  var12 %= var18;
               }
            }
         }

      }
   }

   public Class79 method11644(Class79 var1, Class79 var2, float var3, Class79 var4) {
      return null;
   }

   public Class79 method11623(Class79 var1, Class79 var2, float var3, Class79 var4) {
      return null;
   }

   public Class79 method11624(Class79 var1, Class79 var2, float var3, Class79 var4) {
      return null;
   }

   public void method11625(Class79 var1) {}

   public boolean method11626() {
      return false;
   }

   public int method11605() {
      return 0;
   }

   public void method11628() {}

   public void method11629() {}

   public void method11566(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9) {
      if(null != this.anIntArray9788) {
         Class496_Sub2 var10 = (Class496_Sub2)var7;
         int[] var11 = var10.anIntArray9835;
         int[] var12 = var10.anIntArray9836;
         int var13 = this.anInt9800 * 493658681 > var9?493658681 * this.anInt9800:var9;
         int var14 = this.anInt9795 * -1644767141 < var9 + var11.length?-1644767141 * this.anInt9795:var9 + var11.length;
         var3 -= var1;
         var4 -= var2;
         if(var4 + var3 < 0) {
            var1 += var3;
            var3 = -var3;
            var2 += var4;
            var4 = -var4;
         }

         int var15;
         int var17;
         int var16;
         int var19;
         int var18;
         int var21;
         int var20;
         int var23;
         int var22;
         if(var3 > var4) {
            var2 <<= 16;
            var2 += '\u8000';
            var4 <<= 16;
            var15 = (int)Math.floor(0.5D + (double)var4 / (double)var3);
            var3 += var1;
            if(var1 < this.anInt9785 * -399365585) {
               var2 += var15 * (this.anInt9785 * -399365585 - var1);
               var1 = this.anInt9785 * -399365585;
            }

            if(var3 >= this.anInt9797 * -2090820537) {
               var3 = -2090820537 * this.anInt9797 - 1;
            }

            var16 = var5 >>> 24;
            if(0 != var6 && (var6 != 1 || 255 != var16)) {
               if(var6 == 1) {
                  var5 = ((var5 & 16711935) * var16 >> 8 & 16711935) + ((var5 & '\uff00') * var16 >> 8 & '\uff00') + (var16 << 24);

                  for(var17 = 256 - var16; var1 <= var3; ++var1) {
                     var18 = var2 >> 16;
                     var19 = var18 - var9;
                     if(var18 >= var13 && var18 < var14) {
                        var20 = var8 + var11[var19];
                        if(var1 >= var20 && var1 < var12[var19] + var20) {
                           var21 = var1 + var18 * 1251184143 * this.anInt9789;
                           var22 = this.anIntArray9788[var21];
                           var22 = (var17 * (var22 & 16711935) >> 8 & 16711935) + (var17 * (var22 & '\uff00') >> 8 & '\uff00');
                           this.anIntArray9788[var21] = var22 + var5;
                        }
                     }

                     var2 += var15;
                  }
               } else {
                  if(var6 != 2) {
                     throw new IllegalArgumentException();
                  }

                  while(var1 <= var3) {
                     var17 = var2 >> 16;
                     var18 = var17 - var9;
                     if(var17 >= var13 && var17 < var14) {
                        var19 = var8 + var11[var18];
                        if(var1 >= var19 && var1 < var19 + var12[var18]) {
                           var20 = var17 * 1251184143 * this.anInt9789 + var1;
                           var21 = this.anIntArray9788[var20];
                           var22 = var21 + var5;
                           var23 = (var21 & 16711935) + (var5 & 16711935);
                           var21 = (var22 - var23 & 65536) + (var23 & 16777472);
                           this.anIntArray9788[var20] = var22 - var21 | var21 - (var21 >>> 8);
                        }
                     }

                     var2 += var15;
                     ++var1;
                  }
               }
            } else {
               while(var1 <= var3) {
                  var17 = var2 >> 16;
                  var18 = var17 - var9;
                  if(var17 >= var13 && var17 < var14) {
                     var19 = var11[var18] + var8;
                     if(var1 >= var19 && var1 < var19 + var12[var18]) {
                        this.anIntArray9788[var1 + 1251184143 * this.anInt9789 * var17] = var5;
                     }
                  }

                  var2 += var15;
                  ++var1;
               }
            }
         } else {
            var1 <<= 16;
            var1 += '\u8000';
            var3 <<= 16;
            var15 = (int)Math.floor(0.5D + (double)var3 / (double)var4);
            var4 += var2;
            if(var2 < var13) {
               var1 += var15 * (var13 - var2);
               var2 = var13;
            }

            if(var4 >= var14) {
               var4 = var14 - 1;
            }

            var16 = var5 >>> 24;
            if(0 != var6 && (1 != var6 || 255 != var16)) {
               if(1 == var6) {
                  var5 = (var16 << 24) + (var16 * (var5 & 16711935) >> 8 & 16711935) + ((var5 & '\uff00') * var16 >> 8 & '\uff00');

                  for(var17 = 256 - var16; var2 <= var4; ++var2) {
                     var18 = var1 >> 16;
                     var19 = var2 - var9;
                     var20 = var8 + var11[var19];
                     if(var18 >= -399365585 * this.anInt9785 && var18 < -2090820537 * this.anInt9797 && var18 >= var20 && var18 < var20 + var12[var19]) {
                        var21 = var18 + var2 * 1251184143 * this.anInt9789;
                        var22 = this.anIntArray9788[var21];
                        var22 = (var17 * (var22 & '\uff00') >> 8 & '\uff00') + ((var22 & 16711935) * var17 >> 8 & 16711935);
                        this.anIntArray9788[var2 * this.anInt9789 * 1251184143 + var18] = var22 + var5;
                     }

                     var1 += var15;
                  }
               } else {
                  if(var6 != 2) {
                     throw new IllegalArgumentException();
                  }

                  while(var2 <= var4) {
                     var17 = var1 >> 16;
                     var18 = var2 - var9;
                     var19 = var8 + var11[var18];
                     if(var17 >= this.anInt9785 * -399365585 && var17 < this.anInt9797 * -2090820537 && var17 >= var19 && var17 < var19 + var12[var18]) {
                        var20 = var2 * this.anInt9789 * 1251184143 + var17;
                        var21 = this.anIntArray9788[var20];
                        var22 = var21 + var5;
                        var23 = (var5 & 16711935) + (var21 & 16711935);
                        var21 = (var23 & 16777472) + (var22 - var23 & 65536);
                        this.anIntArray9788[var20] = var22 - var21 | var21 - (var21 >>> 8);
                     }

                     var1 += var15;
                     ++var2;
                  }
               }
            } else {
               while(var2 <= var4) {
                  var17 = var1 >> 16;
                  var18 = var2 - var9;
                  var19 = var11[var18] + var8;
                  if(var17 >= this.anInt9785 * -399365585 && var17 < -2090820537 * this.anInt9797 && var17 >= var19 && var17 < var12[var18] + var19) {
                     this.anIntArray9788[var2 * 1251184143 * this.anInt9789 + var17] = var5;
                  }

                  var1 += var15;
                  ++var2;
               }
            }
         }

      }
   }

   public boolean method11683() {
      return false;
   }

   void method11632(float var1, float var2, float var3, float var4, float var5, float var6) {}

   void method11633(float var1, float var2, float var3, float var4, float var5, float var6) {}

   public boolean method11539() {
      return false;
   }

   public void method11635(int var1, int var2, int var3, int var4) {}

   public void gr(int var1, Class496 var2, int var3, int var4) {
      if(null != this.anIntArray9788) {
         Class496_Sub2 var5 = (Class496_Sub2)var2;
         int[] var6 = var5.anIntArray9835;
         int[] var7 = var5.anIntArray9836;
         int var8;
         if(-1644767141 * this.anInt9795 < var6.length + var4) {
            var8 = this.anInt9795 * -1644767141 - var4;
         } else {
            var8 = var6.length;
         }

         int var9;
         if(493658681 * this.anInt9800 > var4) {
            var9 = 493658681 * this.anInt9800 - var4;
            var4 = this.anInt9800 * 493658681;
         } else {
            var9 = 0;
         }

         if(var8 - var9 > 0) {
            int var10 = this.anInt9789 * 1251184143 * var4;

            for(int var11 = var9; var11 < var8; ++var11) {
               int var12 = var3 + var6[var11];
               int var13 = var7[var11];
               if(-399365585 * this.anInt9785 > var12) {
                  var13 -= this.anInt9785 * -399365585 - var12;
                  var12 = -399365585 * this.anInt9785;
               }

               if(this.anInt9797 * -2090820537 < var12 + var13) {
                  var13 = this.anInt9797 * -2090820537 - var12;
               }

               var12 += var10;

               for(int var14 = -var13; var14 < 0; ++var14) {
                  this.anIntArray9788[var12++] = var1;
               }

               var10 += 1251184143 * this.anInt9789;
            }

         }
      }
   }

   public void method11709(int var1, int var2, int var3, int var4) {}

   public void ey() {
      this.anInt9785 = 0;
      this.anInt9800 = 0;
      this.anInt9797 = -88634375 * this.anInt9789;
      this.anInt9795 = this.anInt9790 * 1611184643;
      this.method15378();
   }

   public void method11639() {}

   public boolean method11437() {
      return true;
   }

   public void method11641() {}

   public void method11642(int var1, Class153 var2) {
      for(int var3 = 0; var3 < this.aClass174Array9791.length; ++var3) {
         this.aClass174Array9791[var3].anInt2117 = this.aClass174Array9791[var3].anInt2090 * -712675057;
         this.aClass174Array9791[var3].anInt2093 = 341587971 * var1;
         this.aClass174Array9791[var3].anInt2090 = -282227755 * var2.anInt1727;
         this.aClass174Array9791[var3].anInt2094 = var2.anInt1731 * -1284126655;
         this.aClass174Array9791[var3].aBool2092 = true;
      }

   }

   public Interface8 method11722(int var1, int var2) {
      return new Class127(var1, var2);
   }

   public void method11680(int var1, Class153 var2) {
      for(int var3 = 0; var3 < this.aClass174Array9791.length; ++var3) {
         this.aClass174Array9791[var3].anInt2117 = this.aClass174Array9791[var3].anInt2090 * -712675057;
         this.aClass174Array9791[var3].anInt2093 = 341587971 * var1;
         this.aClass174Array9791[var3].anInt2090 = -282227755 * var2.anInt1727;
         this.aClass174Array9791[var3].anInt2094 = var2.anInt1731 * -1284126655;
         this.aClass174Array9791[var3].aBool2092 = true;
      }

   }

   public void method11645(int var1, Class153 var2) {
      for(int var3 = 0; var3 < this.aClass174Array9791.length; ++var3) {
         this.aClass174Array9791[var3].anInt2117 = this.aClass174Array9791[var3].anInt2090 * -712675057;
         this.aClass174Array9791[var3].anInt2093 = 341587971 * var1;
         this.aClass174Array9791[var3].anInt2090 = -282227755 * var2.anInt1727;
         this.aClass174Array9791[var3].anInt2094 = var2.anInt1731 * -1284126655;
         this.aClass174Array9791[var3].aBool2092 = true;
      }

   }

   public void method11646(int var1, Class153 var2) {
      Class174 var3 = this.method15346(Thread.currentThread());
      var3.anInt2093 = 341587971 * var1;
      var3.anInt2090 = var2.anInt1727 * -282227755;
      var3.anInt2094 = -1284126655 * var2.anInt1731;
   }

   public void method11638(int var1, int var2, int var3, int var4) {}

   public void method11647(int var1, Class153 var2) {
      Class174 var3 = this.method15346(Thread.currentThread());
      var3.anInt2093 = 341587971 * var1;
      var3.anInt2090 = var2.anInt1727 * -282227755;
      var3.anInt2094 = -1284126655 * var2.anInt1731;
   }

   public void jq() {
      for(int var1 = 0; var1 < this.aClass174Array9791.length; ++var1) {
         this.aClass174Array9791[var1].anInt2090 = -1709744657 * this.aClass174Array9791[var1].anInt2117;
         this.aClass174Array9791[var1].aBool2092 = false;
      }

   }

   public void jy() {
      for(int var1 = 0; var1 < this.aClass174Array9791.length; ++var1) {
         this.aClass174Array9791[var1].anInt2090 = -1709744657 * this.aClass174Array9791[var1].anInt2117;
         this.aClass174Array9791[var1].aBool2092 = false;
      }

   }

   public void jg() {
      for(int var1 = 0; var1 < this.aClass174Array9791.length; ++var1) {
         this.aClass174Array9791[var1].anInt2090 = -1709744657 * this.aClass174Array9791[var1].anInt2117;
         this.aClass174Array9791[var1].aBool2092 = false;
      }

   }

   public void jz() {
      for(int var1 = 0; var1 < this.aClass174Array9791.length; ++var1) {
         this.aClass174Array9791[var1].anInt2090 = -1709744657 * this.aClass174Array9791[var1].anInt2117;
         this.aClass174Array9791[var1].aBool2092 = false;
      }

   }

   public void jm() {
      for(int var1 = 0; var1 < this.aClass174Array9791.length; ++var1) {
         this.aClass174Array9791[var1].anInt2090 = -1709744657 * this.aClass174Array9791[var1].anInt2117;
         this.aClass174Array9791[var1].aBool2092 = false;
      }

   }

   public void method11649(int var1, int var2, float var3, int var4, int var5, float var6, int var7, int var8, float var9, int var10, int var11, int var12, int var13) {
      boolean var14 = this.anIntArray9788 != null;
      boolean var15 = this.aFloatArray9808 != null;
      if(var14 || var15) {
         Class174 var16 = this.method15346(Thread.currentThread());
         Class143 var17 = var16.aClass143_2098;
         var17.aBool1634 = false;
         var1 -= -399365585 * this.anInt9785;
         var4 -= -399365585 * this.anInt9785;
         var7 -= -399365585 * this.anInt9785;
         var2 -= 493658681 * this.anInt9800;
         var5 -= this.anInt9800 * 493658681;
         var8 -= this.anInt9800 * 493658681;
         var17.aBool1650 = var1 < 0 || var1 > var17.anInt1640 || var4 < 0 || var4 > var17.anInt1640 || var7 < 0 || var7 > var17.anInt1640;
         int var18 = var10 >>> 24;
         if(0 != var13 && (1 != var13 || 255 != var18)) {
            if(var13 == 1) {
               var17.anInt1636 = 255 - var18;
               var17.aBool1635 = false;
               var17.method2646(var14, var15, false, (float)var2, (float)var5, (float)var8, (float)var1, (float)var4, (float)var7, var3, var6, var9, var10, var11, var12);
            } else {
               if(var13 != 2) {
                  throw new IllegalArgumentException();
               }

               var17.anInt1636 = 128;
               var17.aBool1635 = true;
               var17.method2646(var14, var15, false, (float)var2, (float)var5, (float)var8, (float)var1, (float)var4, (float)var7, var3, var6, var9, var10, var11, var12);
            }
         } else {
            var17.anInt1636 = 0;
            var17.aBool1635 = false;
            var17.method2646(var14, var15, false, (float)var2, (float)var5, (float)var8, (float)var1, (float)var4, (float)var7, var3, var6, var9, var10, var11, var12);
         }

         var17.aBool1634 = true;
      }
   }

   public int method11574(int var1, int var2, int var3, int var4, int var5, int var6) {
      int var7 = 0;
      float var8 = this.aClass317_9805.aFloatArray4000[10] * (float)var3 + (float)var2 * this.aClass317_9805.aFloatArray4000[6] + (float)var1 * this.aClass317_9805.aFloatArray4000[2] + this.aClass317_9805.aFloatArray4000[14];
      float var9 = (float)var4 * this.aClass317_9805.aFloatArray4000[2] + this.aClass317_9805.aFloatArray4000[14] + this.aClass317_9805.aFloatArray4000[6] * (float)var5 + this.aClass317_9805.aFloatArray4000[10] * (float)var6;
      float var10 = (float)var1 * this.aClass317_9805.aFloatArray4000[3] + this.aClass317_9805.aFloatArray4000[15] + (float)var2 * this.aClass317_9805.aFloatArray4000[7] + (float)var3 * this.aClass317_9805.aFloatArray4000[11];
      float var11 = this.aClass317_9805.aFloatArray4000[11] * (float)var6 + this.aClass317_9805.aFloatArray4000[7] * (float)var5 + this.aClass317_9805.aFloatArray4000[3] * (float)var4 + this.aClass317_9805.aFloatArray4000[15];
      if(var8 < -var10 && var9 < -var11) {
         var7 |= 16;
      } else if(var8 > var10 && var9 > var11) {
         var7 |= 32;
      }

      float var12 = this.aClass317_9805.aFloatArray4000[12] + (float)var1 * this.aClass317_9805.aFloatArray4000[0] + this.aClass317_9805.aFloatArray4000[4] * (float)var2 + (float)var3 * this.aClass317_9805.aFloatArray4000[8];
      float var13 = (float)var5 * this.aClass317_9805.aFloatArray4000[4] + (float)var4 * this.aClass317_9805.aFloatArray4000[0] + this.aClass317_9805.aFloatArray4000[12] + (float)var6 * this.aClass317_9805.aFloatArray4000[8];
      if(var12 < -var10 && var13 < -var11) {
         var7 |= 1;
      }

      if(var12 > var10 && var13 > var11) {
         var7 |= 2;
      }

      float var14 = this.aClass317_9805.aFloatArray4000[9] * (float)var3 + (float)var2 * this.aClass317_9805.aFloatArray4000[5] + this.aClass317_9805.aFloatArray4000[13] + (float)var1 * this.aClass317_9805.aFloatArray4000[1];
      float var15 = this.aClass317_9805.aFloatArray4000[9] * (float)var6 + this.aClass317_9805.aFloatArray4000[13] + this.aClass317_9805.aFloatArray4000[1] * (float)var4 + (float)var5 * this.aClass317_9805.aFloatArray4000[5];
      if(var14 < -var10 && var15 < -var11) {
         var7 |= 4;
      }

      if(var14 > var10 && var15 > var11) {
         var7 |= 8;
      }

      return var7;
   }

   public void method11447(int var1, int var2, int var3, int var4) {}

   public void method11556(float var1, float var2, float var3, float[] var4) {
      float var5 = var3 * this.aClass317_9805.aFloatArray4000[11] + var2 * this.aClass317_9805.aFloatArray4000[7] + var1 * this.aClass317_9805.aFloatArray4000[3] + this.aClass317_9805.aFloatArray4000[15];
      float var6 = this.aClass317_9805.aFloatArray4000[4] * var2 + this.aClass317_9805.aFloatArray4000[12] + this.aClass317_9805.aFloatArray4000[0] * var1 + var3 * this.aClass317_9805.aFloatArray4000[8];
      float var7 = var2 * this.aClass317_9805.aFloatArray4000[5] + this.aClass317_9805.aFloatArray4000[13] + this.aClass317_9805.aFloatArray4000[1] * var1 + this.aClass317_9805.aFloatArray4000[9] * var3;
      float var8 = this.aClass317_9803.aFloatArray4000[2] * var1 + this.aClass317_9803.aFloatArray4000[14] + this.aClass317_9803.aFloatArray4000[6] * var2 + this.aClass317_9803.aFloatArray4000[10] * var3;
      var4[0] = var6 * this.aFloat9810 / var5 + this.aFloat9812;
      var4[1] = this.aFloat9814 + this.aFloat9813 * var7 / var5;
      var4[2] = var8;
   }

   public void method11434(float var1, float var2, float var3, float[] var4) {
      float var5 = var3 * this.aClass317_9805.aFloatArray4000[11] + var2 * this.aClass317_9805.aFloatArray4000[7] + var1 * this.aClass317_9805.aFloatArray4000[3] + this.aClass317_9805.aFloatArray4000[15];
      float var6 = this.aClass317_9805.aFloatArray4000[4] * var2 + this.aClass317_9805.aFloatArray4000[12] + this.aClass317_9805.aFloatArray4000[0] * var1 + var3 * this.aClass317_9805.aFloatArray4000[8];
      float var7 = var2 * this.aClass317_9805.aFloatArray4000[5] + this.aClass317_9805.aFloatArray4000[13] + this.aClass317_9805.aFloatArray4000[1] * var1 + this.aClass317_9805.aFloatArray4000[9] * var3;
      float var8 = this.aClass317_9803.aFloatArray4000[2] * var1 + this.aClass317_9803.aFloatArray4000[14] + this.aClass317_9803.aFloatArray4000[6] * var2 + this.aClass317_9803.aFloatArray4000[10] * var3;
      var4[0] = var6 * this.aFloat9810 / var5 + this.aFloat9812;
      var4[1] = this.aFloat9814 + this.aFloat9813 * var7 / var5;
      var4[2] = var8;
   }

   public void method11661(float var1, float var2, float var3, float[] var4) {
      float var5 = var3 * this.aClass317_9805.aFloatArray4000[11] + var2 * this.aClass317_9805.aFloatArray4000[7] + var1 * this.aClass317_9805.aFloatArray4000[3] + this.aClass317_9805.aFloatArray4000[15];
      float var6 = this.aClass317_9805.aFloatArray4000[4] * var2 + this.aClass317_9805.aFloatArray4000[12] + this.aClass317_9805.aFloatArray4000[0] * var1 + var3 * this.aClass317_9805.aFloatArray4000[8];
      float var7 = var2 * this.aClass317_9805.aFloatArray4000[5] + this.aClass317_9805.aFloatArray4000[13] + this.aClass317_9805.aFloatArray4000[1] * var1 + this.aClass317_9805.aFloatArray4000[9] * var3;
      float var8 = this.aClass317_9803.aFloatArray4000[2] * var1 + this.aClass317_9803.aFloatArray4000[14] + this.aClass317_9803.aFloatArray4000[6] * var2 + this.aClass317_9803.aFloatArray4000[10] * var3;
      var4[0] = var6 * this.aFloat9810 / var5 + this.aFloat9812;
      var4[1] = this.aFloat9814 + this.aFloat9813 * var7 / var5;
      var4[2] = var8;
   }

   public void method11652(float var1, float var2, float var3, float[] var4) {
      float var5 = var3 * this.aClass317_9805.aFloatArray4000[11] + var2 * this.aClass317_9805.aFloatArray4000[7] + var1 * this.aClass317_9805.aFloatArray4000[3] + this.aClass317_9805.aFloatArray4000[15];
      float var6 = this.aClass317_9805.aFloatArray4000[4] * var2 + this.aClass317_9805.aFloatArray4000[12] + this.aClass317_9805.aFloatArray4000[0] * var1 + var3 * this.aClass317_9805.aFloatArray4000[8];
      float var7 = var2 * this.aClass317_9805.aFloatArray4000[5] + this.aClass317_9805.aFloatArray4000[13] + this.aClass317_9805.aFloatArray4000[1] * var1 + this.aClass317_9805.aFloatArray4000[9] * var3;
      float var8 = this.aClass317_9803.aFloatArray4000[2] * var1 + this.aClass317_9803.aFloatArray4000[14] + this.aClass317_9803.aFloatArray4000[6] * var2 + this.aClass317_9803.aFloatArray4000[10] * var3;
      var4[0] = var6 * this.aFloat9810 / var5 + this.aFloat9812;
      var4[1] = this.aFloat9814 + this.aFloat9813 * var7 / var5;
      var4[2] = var8;
   }

   public Class151_Sub1 method11653() {
      return new Class151_Sub1_Sub3(this);
   }

   public Class400 method11679(int var1, int var2, int[][] var3, int[][] var4, int var5, int var6, int var7) {
      return new Class400_Sub1(this, var6, var7, var1, var2, var3, var4, var5);
   }

   public Class151_Sub1 method11655() {
      return new Class151_Sub1_Sub3(this);
   }

   public Class151_Sub1 method11656() {
      return new Class151_Sub1_Sub3(this);
   }

   public Class151_Sub1 method11657() {
      return new Class151_Sub1_Sub3(this);
   }

   Interface7 method15389(int var1, int var2) {
      return new Class146(var1, var2);
   }

   public void method11673(float var1, float var2, float var3, float[] var4) {
      float var5 = this.aClass317_9805.aFloatArray4000[10] * var3 + this.aClass317_9805.aFloatArray4000[14] + var1 * this.aClass317_9805.aFloatArray4000[2] + this.aClass317_9805.aFloatArray4000[6] * var2;
      float var6 = var1 * this.aClass317_9805.aFloatArray4000[3] + this.aClass317_9805.aFloatArray4000[15] + this.aClass317_9805.aFloatArray4000[7] * var2 + var3 * this.aClass317_9805.aFloatArray4000[11];
      if(var5 >= -var6 && var5 <= var6) {
         float var7 = this.aClass317_9805.aFloatArray4000[8] * var3 + this.aClass317_9805.aFloatArray4000[12] + this.aClass317_9805.aFloatArray4000[0] * var1 + var2 * this.aClass317_9805.aFloatArray4000[4];
         if(var7 >= -var6 && var7 <= var6) {
            float var8 = var1 * this.aClass317_9805.aFloatArray4000[1] + this.aClass317_9805.aFloatArray4000[13] + var2 * this.aClass317_9805.aFloatArray4000[5] + this.aClass317_9805.aFloatArray4000[9] * var3;
            if(var8 >= -var6 && var8 <= var6) {
               float var9 = this.aClass317_9803.aFloatArray4000[10] * var3 + this.aClass317_9803.aFloatArray4000[6] * var2 + this.aClass317_9803.aFloatArray4000[14] + var1 * this.aClass317_9803.aFloatArray4000[2];
               var4[0] = this.aFloat9812 + this.aFloat9810 * var7 / var6;
               var4[1] = var8 * this.aFloat9813 / var6 + this.aFloat9814;
               var4[2] = var9;
            } else {
               var4[2] = Float.NaN;
               var4[1] = Float.NaN;
               var4[0] = Float.NaN;
            }
         } else {
            var4[2] = Float.NaN;
            var4[1] = Float.NaN;
            var4[0] = Float.NaN;
         }
      } else {
         var4[2] = Float.NaN;
         var4[1] = Float.NaN;
         var4[0] = Float.NaN;
      }
   }

   public Interface8 method11659(int var1, int var2, int var3) {
      return new Class127(var1, var2);
   }

   public void ii(float var1) {
      this.anInt9801 = 644206877 * (int)(65535.0F * var1);
   }

   public boolean method11664() {
      return false;
   }

   public Class225_Sub1 method11452(int var1) {
      return null;
   }

   void method15390(boolean var1, int var2, int var3, float var4, int var5, int var6, int var7) {
      if(null != this.anIntArray9788) {
         if(var5 < 0) {
            var5 = -var5;
         }

         int var8 = var3 - var5;
         if(var8 < this.anInt9800 * 493658681) {
            var8 = this.anInt9800 * 493658681;
         }

         int var9 = 1 + var3 + var5;
         if(var9 > this.anInt9795 * -1644767141) {
            var9 = -1644767141 * this.anInt9795;
         }

         int var10 = var8;
         int var11 = var5 * var5;
         int var12 = 0;
         int var13 = var3 - var8;
         int var14 = var13 * var13;
         int var15 = var14 - var13;
         if(var3 > var9) {
            var3 = var9;
         }

         int var16 = var6 >>> 24;
         int var17;
         int var19;
         int var18;
         int var20;
         if(0 != var7 && (var7 != 1 || 255 != var16)) {
            int var21;
            int var22;
            if(var7 == 1) {
               var6 = (var16 << 24) + (var16 * (var6 & '\uff00') >> 8 & '\uff00') + (var16 * (var6 & 16711935) >> 8 & 16711935);

               for(var17 = 256 - var16; var10 < var3; var15 -= var13 + var13) {
                  while(var15 <= var11 || var14 <= var11) {
                     var14 += var12 + var12;
                     var15 += var12++ + var12;
                  }

                  var18 = 1 + (var2 - var12);
                  if(var18 < this.anInt9785 * -399365585) {
                     var18 = this.anInt9785 * -399365585;
                  }

                  var19 = var12 + var2;
                  if(var19 > this.anInt9797 * -2090820537) {
                     var19 = -2090820537 * this.anInt9797;
                  }

                  var20 = var18 + var10 * this.anInt9789 * 1251184143;

                  for(var21 = var18; var21 < var19; ++var21) {
                     if(!var1 || var4 < this.aFloatArray9808[var20]) {
                        var22 = this.anIntArray9788[var20];
                        var22 = ((var22 & 16711935) * var17 >> 8 & 16711935) + ((var22 & '\uff00') * var17 >> 8 & '\uff00');
                        this.anIntArray9788[var20] = var22 + var6;
                     }

                     ++var20;
                  }

                  ++var10;
                  var14 -= var13-- + var13;
               }

               var12 = var5;
               var13 = -var13;
               var15 = var11 + var13 * var13;
               var14 = var15 - var5;

               for(var15 -= var13; var10 < var9; var14 += var13++ + var13) {
                  while(var15 > var11 && var14 > var11) {
                     var15 -= var12-- + var12;
                     var14 -= var12 + var12;
                  }

                  var18 = var2 - var12;
                  if(var18 < -399365585 * this.anInt9785) {
                     var18 = -399365585 * this.anInt9785;
                  }

                  var19 = var2 + var12;
                  if(var19 > -2090820537 * this.anInt9797 - 1) {
                     var19 = -2090820537 * this.anInt9797 - 1;
                  }

                  var20 = 1251184143 * this.anInt9789 * var10 + var18;

                  for(var21 = var18; var21 <= var19; ++var21) {
                     if(!var1 || var4 < this.aFloatArray9808[var20]) {
                        var22 = this.anIntArray9788[var20];
                        var22 = ((var22 & '\uff00') * var17 >> 8 & '\uff00') + ((var22 & 16711935) * var17 >> 8 & 16711935);
                        this.anIntArray9788[var20] = var6 + var22;
                     }

                     ++var20;
                  }

                  ++var10;
                  var15 += var13 + var13;
               }
            } else {
               if(var7 != 2) {
                  throw new IllegalArgumentException();
               }

               int var23;
               while(var10 < var3) {
                  while(var15 <= var11 || var14 <= var11) {
                     var14 += var12 + var12;
                     var15 += var12++ + var12;
                  }

                  var17 = 1 + (var2 - var12);
                  if(var17 < -399365585 * this.anInt9785) {
                     var17 = -399365585 * this.anInt9785;
                  }

                  var18 = var2 + var12;
                  if(var18 > -2090820537 * this.anInt9797) {
                     var18 = -2090820537 * this.anInt9797;
                  }

                  var19 = var17 + var10 * 1251184143 * this.anInt9789;

                  for(var20 = var17; var20 < var18; ++var20) {
                     if(!var1 || var4 < this.aFloatArray9808[var19]) {
                        var21 = this.anIntArray9788[var19];
                        var22 = var6 + var21;
                        var23 = (var6 & 16711935) + (var21 & 16711935);
                        var21 = (var22 - var23 & 65536) + (var23 & 16777472);
                        this.anIntArray9788[var19] = var22 - var21 | var21 - (var21 >>> 8);
                     }

                     ++var19;
                  }

                  ++var10;
                  var14 -= var13-- + var13;
                  var15 -= var13 + var13;
               }

               var12 = var5;
               var13 = -var13;
               var15 = var13 * var13 + var11;
               var14 = var15 - var5;

               for(var15 -= var13; var10 < var9; var14 += var13++ + var13) {
                  while(var15 > var11 && var14 > var11) {
                     var15 -= var12-- + var12;
                     var14 -= var12 + var12;
                  }

                  var17 = var2 - var12;
                  if(var17 < this.anInt9785 * -399365585) {
                     var17 = -399365585 * this.anInt9785;
                  }

                  var18 = var12 + var2;
                  if(var18 > -2090820537 * this.anInt9797 - 1) {
                     var18 = -2090820537 * this.anInt9797 - 1;
                  }

                  var19 = var17 + var10 * 1251184143 * this.anInt9789;

                  for(var20 = var17; var20 <= var18; ++var20) {
                     if(!var1 || var4 < this.aFloatArray9808[var19]) {
                        var21 = this.anIntArray9788[var19];
                        var22 = var21 + var6;
                        var23 = (var6 & 16711935) + (var21 & 16711935);
                        var21 = (var22 - var23 & 65536) + (var23 & 16777472);
                        this.anIntArray9788[var19] = var22 - var21 | var21 - (var21 >>> 8);
                     }

                     ++var19;
                  }

                  ++var10;
                  var15 += var13 + var13;
               }
            }
         } else {
            while(var10 < var3) {
               while(var15 <= var11 || var14 <= var11) {
                  var14 += var12 + var12;
                  var15 += var12++ + var12;
               }

               var17 = var2 - var12 + 1;
               if(var17 < this.anInt9785 * -399365585) {
                  var17 = this.anInt9785 * -399365585;
               }

               var18 = var2 + var12;
               if(var18 > -2090820537 * this.anInt9797) {
                  var18 = this.anInt9797 * -2090820537;
               }

               var19 = var17 + var10 * this.anInt9789 * 1251184143;

               for(var20 = var17; var20 < var18; ++var20) {
                  if(!var1 || var4 < this.aFloatArray9808[var19]) {
                     this.anIntArray9788[var19] = var6;
                  }

                  ++var19;
               }

               ++var10;
               var14 -= var13-- + var13;
               var15 -= var13 + var13;
            }

            var12 = var5;
            var13 = var10 - var3;
            var15 = var11 + var13 * var13;
            var14 = var15 - var5;

            for(var15 -= var13; var10 < var9; var14 += var13++ + var13) {
               while(var15 > var11 && var14 > var11) {
                  var15 -= var12-- + var12;
                  var14 -= var12 + var12;
               }

               var17 = var2 - var12;
               if(var17 < this.anInt9785 * -399365585) {
                  var17 = this.anInt9785 * -399365585;
               }

               var18 = var12 + var2;
               if(var18 > -2090820537 * this.anInt9797 - 1) {
                  var18 = -2090820537 * this.anInt9797 - 1;
               }

               var19 = var17 + var10 * this.anInt9789 * 1251184143;

               for(var20 = var17; var20 <= var18; ++var20) {
                  if(!var1 || var4 < this.aFloatArray9808[var19]) {
                     this.anIntArray9788[var19] = var6;
                  }

                  ++var19;
               }

               ++var10;
               var15 += var13 + var13;
            }
         }

      }
   }

   public int[] kc(int var1, int var2, int var3, int var4) {
      if(this.anIntArray9788 == null) {
         throw new IllegalStateException("");
      } else {
         int[] var5 = new int[var3 * var4];
         int var6 = 0;

         for(int var7 = 0; var7 < var4; ++var7) {
            int var8 = (var7 + var2) * this.anInt9789 * 1251184143 + var1;

            for(int var9 = 0; var9 < var3; ++var9) {
               var5[var6++] = this.anIntArray9788[var8 + var9];
            }
         }

         return var5;
      }
   }

   public Class317 method11601() {
      Class174 var1 = this.method15346(Thread.currentThread());
      return var1.aClass317_2096;
   }

   public void kd(int var1, int var2) {
      if(0 != (var1 & 1)) {
         this.B(0, 0, 1251184143 * this.anInt9789, this.anInt9790 * 367961873, var2, 0);
      }

      if(0 != (var1 & 2)) {
         this.method15343();
      }

   }

   public Class79 method11487(int var1, int var2, int var3, int var4, int var5, int var6) {
      return null;
   }

   public void fr() {
      this.anInt9785 = 0;
      this.anInt9800 = 0;
      this.anInt9797 = -88634375 * this.anInt9789;
      this.anInt9795 = this.anInt9790 * 1611184643;
      this.method15378();
   }

   public void method11669(int var1, int var2, int var3, int var4, int var5, int var6) {
      this.XA(var1, var2, var3, var5, var6);
      this.XA(var1, var4 + var2 - 1, var3, var5, var6);
      this.G(var1, 1 + var2, var4 - 2, var5, var6);
      this.G(var1 + var3 - 1, var2 + 1, var4 - 2, var5, var6);
   }

   public void method11670(int var1, int var2, int var3, int var4, int var5, int var6) {
      this.XA(var1, var2, var3, var5, var6);
      this.XA(var1, var4 + var2 - 1, var3, var5, var6);
      this.G(var1, 1 + var2, var4 - 2, var5, var6);
      this.G(var1 + var3 - 1, var2 + 1, var4 - 2, var5, var6);
   }

   public int method11596(int var1, int var2) {
      return var1 | var2;
   }

   public void ki(int var1, int var2, int var3, int var4, int var5, int var6) {
      if(this.anIntArray9788 != null) {
         if(var1 < -399365585 * this.anInt9785) {
            var3 -= this.anInt9785 * -399365585 - var1;
            var1 = -399365585 * this.anInt9785;
         }

         if(var2 < this.anInt9800 * 493658681) {
            var4 -= 493658681 * this.anInt9800 - var2;
            var2 = 493658681 * this.anInt9800;
         }

         if(var3 + var1 > this.anInt9797 * -2090820537) {
            var3 = -2090820537 * this.anInt9797 - var1;
         }

         if(var4 + var2 > this.anInt9795 * -1644767141) {
            var4 = -1644767141 * this.anInt9795 - var2;
         }

         if(var3 > 0 && var4 > 0 && var1 <= -2090820537 * this.anInt9797 && var2 <= this.anInt9795 * -1644767141) {
            int var7 = 1251184143 * this.anInt9789 - var3;
            int var8 = var2 * 1251184143 * this.anInt9789 + var1;
            int var9 = var5 >>> 24;
            int var10;
            int var11;
            int var12;
            if(var6 != 0 && (1 != var6 || var9 != 255)) {
               int var13;
               if(1 == var6) {
                  var5 = (var9 * (var5 & 16711935) >> 8 & 16711935) + (var9 * ((var5 & -16711936) >>> 8) & -16711936);
                  var10 = 256 - var9;

                  for(var11 = 0; var11 < var4; ++var11) {
                     for(var12 = -var3; var12 < 0; ++var12) {
                        var13 = this.anIntArray9788[var8];
                        var13 = ((var13 & 16711935) * var10 >> 8 & 16711935) + (var10 * ((var13 & -16711936) >>> 8) & -16711936);
                        this.anIntArray9788[var8++] = var13 + var5;
                     }

                     var8 += var7;
                  }
               } else {
                  if(var6 != 2) {
                     throw new IllegalArgumentException();
                  }

                  for(var10 = 0; var10 < var4; ++var10) {
                     for(var11 = -var3; var11 < 0; ++var11) {
                        var12 = this.anIntArray9788[var8];
                        var13 = var5 + var12;
                        int var14 = (var12 & 16711935) + (var5 & 16711935);
                        var12 = (var13 - var14 & 65536) + (var14 & 16777472);
                        this.anIntArray9788[var8++] = var13 - var12 | var12 - (var12 >>> 8);
                     }

                     var8 += var7;
                  }
               }
            } else {
               var10 = var3 >> 3;
               var11 = var3 & 7;
               var3 = var8 - 1;

               for(var12 = -var4; var12 < 0; ++var12) {
                  if(var10 > 0) {
                     var1 = var10;

                     do {
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        --var1;
                     } while(var1 > 0);
                  }

                  if(var11 > 0) {
                     var1 = var11;

                     do {
                        ++var3;
                        this.anIntArray9788[var3] = var5;
                        --var1;
                     } while(var1 > 0);
                  }

                  var3 += var7;
               }
            }

         }
      }
   }

   public Class328 method11726() {
      Class174 var1 = this.method15346(Thread.currentThread());
      return var1.aClass328_2097;
   }

   public void method11531(int var1) {
      int var2 = var1 - 1915127309 * this.anInt9786;

      for(Class225_Sub49 var3 = (Class225_Sub49)this.aClass564_9811.method11981(956996258); var3 != null; var3 = (Class225_Sub49)this.aClass564_9811.method11965(301484349)) {
         if(var3.aBool8866) {
            var3.anInt8868 += var2;
            int var4 = var3.anInt8868 / 50;
            if(var4 > 0) {
               Class161 var5 = this.anInterface24_7370.method113(var3.anInt8867, 996800447);
               float var6 = (float)(-836426007 * var5.anInt1989);
               var3.method14233((int)((float)var5.aByte1972 * ((float)var2 / 1000.0F) / 64.0F * var6), (int)((float)var5.aByte1993 * ((float)var2 / 1000.0F) / 64.0F * var6));
               var3.anInt8868 -= 50 * var4;
            }

            var3.aBool8866 = false;
         }
      }

      this.anInt9786 = var1 * -1389872955;
      this.aClass564_9820.method11963(5, (byte)-4);
      this.aClass564_9811.method11963(5, (byte)-65);
   }

   public void method11674(Class328 var1) {
      this.aClass328_9802 = var1;
      this.method15376();
   }

   void method15391(int var1) {
      this.aClass174Array9791[var1].method3050(Thread.currentThread(), 1639474769);
   }

   public boolean method11443() {
      return false;
   }

   static final void method15392(Class508 var0, int var1) {
      Class225_Sub6 var10000 = Class500.aClass225_Sub6_5953;
      Class463_Sub8 var10001 = Class500.aClass225_Sub6_5953.aClass463_Sub8_8476;
      byte var10002;
      if(var0.anIntArray6027[(var0.anInt6003 -= 98312473) * -937710807] == 1) {
         if(var1 <= '\uff00') {
            ;
         }

         var10002 = 1;
      } else {
         var10002 = 0;
      }

      var10000.method13522(var10001, var10002, 349008280);
      client.aClass279_7807.method4935(-1769940901);
      Class7.method605(-1358477367);
      client.aBool7758 = false;
   }

   static final void method15393(Class124 var0, Class121 var1, Class508 var2, int var3) {
      int var4 = var2.anIntArray6027[(var2.anInt6003 -= 98312473) * -937710807] - 1;
      if(var4 >= 0 && var4 <= 9) {
         var0.method2420(var4, (String)var2.anObjectArray6004[(var2.anInt6005 -= -46848683) * 639741949], -984949523);
      } else {
         var2.anInt6005 -= -46848683;
      }
   }

   static final void method15394(Class508 var0, int var1) {
      int var2 = var0.anIntArray6027[(var0.anInt6003 -= 98312473) * -937710807];
      var0.anIntArray6027[(var0.anInt6003 += 98312473) * -937710807 - 1] = Class500.aClass225_Sub6_5953.aClass463_Sub29_8485.method7808(var2, 1471243740);
   }

   public static String method15395(Class225_Sub14_Sub3 var0, int var1) {
      return !Class2.aBool20 && null != var0?var0.aString10014:"";
   }

   static final void method15396(Class124 var0, Class121 var1, Class508 var2, int var3) {
      var0.anInt1356 = var2.anIntArray6027[(var2.anInt6003 -= 98312473) * -937710807] * -404155801;
      var0.anInt1379 = var2.anIntArray6027[(var2.anInt6003 -= 98312473) * -937710807] * 1419725617;
   }

   public static Class290 method15397(int var0) {
      try {
         return new Class290_Sub2();
      } catch (Throwable var2) {
         return new Class290_Sub1();
      }
   }
}
