
public class Class515_Sub1_Sub4_Sub1 extends Class515_Sub1_Sub4 {

   Class477 aClass477_10594;
   int anInt10595;
   public int anInt10596;
   public int anInt10597;
   public int anInt10598;
   int anInt10599;
   double aDouble10600;
   int anInt10601;
   public int anInt10602;
   Class528 aClass528_10603;
   boolean aBool10604;
   boolean aBool10605 = false;
   double aDouble10606;
   double aDouble10607;
   int anInt10608;
   double aDouble10609;
   double aDouble10610;
   int anInt10611;
   int anInt10612 = 0;
   boolean aBool10613 = false;
   int anInt10614;
   int anInt10615 = 0;


   public void method16344(byte var1) {
      if(this.aClass528_10603 != null) {
         this.aClass528_10603.method11110();
      }

   }

   boolean method13394(byte var1) {
      return false;
   }

   boolean method13451(byte var1) {
      return this.aBool10613;
   }

   public int method13404(byte var1) {
      return -69453065 * this.anInt10612;
   }

   final boolean method13423(byte var1) {
      return false;
   }

   public Class571 method13400(Class545 var1, int var2) {
      return null;
   }

   public final void method16345(int var1, int var2, int var3, int var4, byte var5) {
      Class326 var6 = Class326.method5922(this.method10913().aClass326_4031);
      if(!this.aBool10605) {
         float var7 = (float)var1 - var6.aFloat4036;
         float var8 = (float)var2 - var6.aFloat4033;
         float var9 = (float)Math.sqrt((double)(var8 * var8 + var7 * var7));
         if(0.0F != var9) {
            var6.aFloat4036 += (float)(this.anInt10611 * 1612762229) * var7 / var9;
            var6.aFloat4033 += var8 * (float)(this.anInt10611 * 1612762229) / var9;
         }

         if(this.aBool10604) {
            var6.aFloat4037 = (float)(Class419.method7167((int)var6.aFloat4036, (int)var6.aFloat4033, this.aByte8443, (byte)-10) - this.anInt10599 * -1058839565);
         }

         this.method10918(var6);
      }

      double var10 = (double)(1 + -772325243 * this.anInt10598 - var4);
      this.aDouble10606 = (double)((float)var1 - var6.aFloat4036) / var10;
      this.aDouble10600 = (double)((float)var2 - var6.aFloat4033) / var10;
      this.aDouble10607 = Math.sqrt(this.aDouble10606 * this.aDouble10606 + this.aDouble10600 * this.aDouble10600);
      if(-1 != -1897974673 * this.anInt10614) {
         if(!this.aBool10605) {
            this.aDouble10609 = -this.aDouble10607 * Math.tan((double)(-1897974673 * this.anInt10614) * 0.02454369D);
         }

         this.aDouble10610 = 2.0D * ((double)((float)var3 - var6.aFloat4037) - var10 * this.aDouble10609) / (var10 * var10);
      } else {
         this.aDouble10609 = (double)((float)var3 - var6.aFloat4037) / var10;
      }

      var6.method5948();
   }

   public void method16346(byte var1) {
      if(!this.aBool10605) {
         if(0 != this.anInt10601 * -1150955573) {
            Object var2 = null;
            if(1 == 2106080509 * client.anInt7717) {
               var2 = Class543.aClass123Array7337[-1150955573 * this.anInt10601 - 1].method2355(-745612654);
            } else {
               int var3;
               if(this.anInt10601 * -1150955573 < 0) {
                  var3 = -(-1150955573 * this.anInt10601) - 1;
                  if(1458342211 * client.anInt7800 == var3) {
                     var2 = Class5.aClass515_Sub1_Sub4_Sub4_Sub1_113;
                  } else {
                     var2 = client.aClass515_Sub1_Sub4_Sub4_Sub1Array7799[var3];
                  }
               } else {
                  var3 = -1150955573 * this.anInt10601 - 1;
                  ObjectVar var4 = (ObjectVar)client.aClass423_7693.method7211((long)var3);
                  if(var4 != null) {
                     var2 = (Class515_Sub1_Sub4_Sub4)var4.object;
                  }
               }
            }

            if(null != var2) {
               Class326 var14 = ((Class515_Sub1_Sub4_Sub4)var2).method10913().aClass326_4031;
               this.method10939(var14.aFloat4036, (float)(Class419.method7167((int)var14.aFloat4036, (int)var14.aFloat4033, this.aByte8443, (byte)-44) - this.anInt10599 * -1058839565), var14.aFloat4033);
               if(-153161035 * this.anInt10608 >= 0) {
                  Class546 var15 = ((Class515_Sub1_Sub4_Sub4)var2).method16642((byte)-58);
                  int var5 = 0;
                  int var6 = 0;
                  if(null != var15.anIntArrayArray7416 && var15.anIntArrayArray7416[-153161035 * this.anInt10608] != null) {
                     var5 += var15.anIntArrayArray7416[-153161035 * this.anInt10608][0];
                     var6 += var15.anIntArrayArray7416[this.anInt10608 * -153161035][2];
                  }

                  if(null != var15.anIntArrayArray7398 && null != var15.anIntArrayArray7398[this.anInt10608 * -153161035]) {
                     var5 += var15.anIntArrayArray7398[-153161035 * this.anInt10608][0];
                     var6 += var15.anIntArrayArray7398[this.anInt10608 * -153161035][2];
                  }

                  if(var5 != 0 || 0 != var6) {
                     int var7 = ((Class515_Sub1_Sub4_Sub4)var2).aClass16_10774.method745(460268445);
                     int var8 = var7;
                     if(null != ((Class515_Sub1_Sub4_Sub4)var2).anIntArray10787 && ((Class515_Sub1_Sub4_Sub4)var2).anIntArray10787[-153161035 * this.anInt10608] != -1) {
                        var8 = ((Class515_Sub1_Sub4_Sub4)var2).anIntArray10787[-153161035 * this.anInt10608];
                     }

                     int var9 = var8 - var7 & 16383;
                     int var10 = Class312.anIntArray3943[var9];
                     int var11 = Class312.anIntArray3956[var9];
                     int var12 = var5 * var11 + var6 * var10 >> 14;
                     var6 = var11 * var6 - var10 * var5 >> 14;
                     Class326 var13 = Class326.method5922(this.method10913().aClass326_4031);
                     var13.aFloat4036 += (float)var12;
                     var13.aFloat4033 += (float)var6;
                     this.method10918(var13);
                     var13.method5948();
                  }
               }
            }
         }

      }
   }

   final void method13397(int var1) {
      throw new IllegalStateException();
   }

   final boolean method13427() {
      return false;
   }

   Class579 method13398(Class545 var1, byte var2) {
      Class568 var3 = this.method16358(var1, 2048, (byte)67);
      if(var3 == null) {
         return null;
      } else {
         Class328 var4 = this.method10915();
         this.method16348(var1, var3, var4, 998647947);
         Class579 var5 = Class212.method3640(false, (byte)-71);
         var3.method12069(var4, this.aClass89Array8446[0], 0);
         if(this.aClass528_10603 != null) {
            Class97 var6 = this.aClass528_10603.method11119();
            var1.method11711(var6);
         }

         this.aBool10613 = var3.i();
         var3.n();
         this.anInt10612 = var3.YA() * -1132550457;
         return var5;
      }
   }

   public void method16347() {
      if(this.aClass528_10603 != null) {
         this.aClass528_10603.method11110();
      }

   }

   void method16058(int var1) {
      Class326 var2 = this.method10913().aClass326_4031;
      this.aShort10430 = this.aShort10429 = (short)((int)(var2.aFloat4036 / 512.0F));
      this.aShort10424 = this.aShort10426 = (short)((int)(var2.aFloat4033 / 512.0F));
   }

   void method16348(Class545 var1, Class568 var2, Class328 var3, int var4) {
      var2.method12075(var3);
      Class80[] var5 = var2.method12076();
      Class166[] var6 = var2.method12077();
      if((null == this.aClass528_10603 || this.aClass528_10603.aBool7186) && (null != var5 || var6 != null)) {
         this.aClass528_10603 = Class528.method11121(-1255739433 * client.anInt7659, true);
      }

      if(this.aClass528_10603 != null) {
         this.aClass528_10603.method11152(var1, (long)(client.anInt7659 * -1255739433), var5, var6, false);
         this.aClass528_10603.method11114(this.aByte8443, this.aShort10430, this.aShort10429, this.aShort10424, this.aShort10426);
      }

   }

   void method13412(Class545 var1) {
      Class568 var2 = this.method16358(var1, 0, (byte)53);
      if(null != var2) {
         Class328 var3 = this.method10915();
         this.anInt10612 = var2.YA() * -1132550457;
         var2.n();
         this.method16348(var1, var2, var3, -305267484);
      }
   }

   boolean method13391(Class545 var1, int var2, int var3, int var4) {
      return false;
   }

   void method13402(Class545 var1, int var2) {
      Class568 var3 = this.method16358(var1, 0, (byte)71);
      if(null == var3) {
         if(var2 <= 631412612) {
            ;
         }

      } else {
         Class328 var4 = this.method10915();
         this.anInt10612 = var3.YA() * -1132550457;
         var3.n();
         this.method16348(var1, var3, var4, -1722797831);
      }
   }

   final void method13424(Class545 var1, Class515_Sub1 var2, int var3, int var4, int var5, boolean var6, int var7) {
      throw new IllegalStateException();
   }

   final void method13395(Class545 var1, Class515_Sub1 var2, int var3, int var4, int var5, boolean var6) {
      throw new IllegalStateException();
   }

   boolean method13426() {
      return false;
   }

   boolean method13409() {
      return false;
   }

   boolean method13410() {
      return this.aBool10613;
   }

   boolean method13411() {
      return this.aBool10613;
   }

   boolean method13393() {
      return this.aBool10613;
   }

   final void method13430() {
      throw new IllegalStateException();
   }

   public int method13414() {
      return -69453065 * this.anInt10612;
   }

   public void method16349() {
      if(this.aClass528_10603 != null) {
         this.aClass528_10603.method11110();
      }

   }

   public Class571 method13416(Class545 var1) {
      return null;
   }

   Class568 method16350(Class545 var1, int var2) {
      Class497 var3 = Class515_Sub1_Sub4_Sub4.aClass498_10793.method8330(this.anInt10595 * 888441981, 2075035423);
      return var3.method8309(var1, var2, this.aClass477_10594, (byte)2, 779708326);
   }

   public final void method16351(int var1, int var2, int var3, int var4) {
      Class326 var5 = Class326.method5922(this.method10913().aClass326_4031);
      if(!this.aBool10605) {
         float var6 = (float)var1 - var5.aFloat4036;
         float var7 = (float)var2 - var5.aFloat4033;
         float var8 = (float)Math.sqrt((double)(var7 * var7 + var6 * var6));
         if(0.0F != var8) {
            var5.aFloat4036 += (float)(this.anInt10611 * 1612762229) * var6 / var8;
            var5.aFloat4033 += var7 * (float)(this.anInt10611 * 1612762229) / var8;
         }

         if(this.aBool10604) {
            var5.aFloat4037 = (float)(Class419.method7167((int)var5.aFloat4036, (int)var5.aFloat4033, this.aByte8443, (byte)-51) - this.anInt10599 * -1058839565);
         }

         this.method10918(var5);
      }

      double var9 = (double)(1 + -772325243 * this.anInt10598 - var4);
      this.aDouble10606 = (double)((float)var1 - var5.aFloat4036) / var9;
      this.aDouble10600 = (double)((float)var2 - var5.aFloat4033) / var9;
      this.aDouble10607 = Math.sqrt(this.aDouble10606 * this.aDouble10606 + this.aDouble10600 * this.aDouble10600);
      if(-1 != -1897974673 * this.anInt10614) {
         if(!this.aBool10605) {
            this.aDouble10609 = -this.aDouble10607 * Math.tan((double)(-1897974673 * this.anInt10614) * 0.02454369D);
         }

         this.aDouble10610 = 2.0D * ((double)((float)var3 - var5.aFloat4037) - var9 * this.aDouble10609) / (var9 * var9);
      } else {
         this.aDouble10609 = (double)((float)var3 - var5.aFloat4037) / var9;
      }

      var5.method5948();
   }

   void method13421(Class545 var1) {
      Class568 var2 = this.method16358(var1, 0, (byte)101);
      if(null != var2) {
         Class328 var3 = this.method10915();
         this.anInt10612 = var2.YA() * -1132550457;
         var2.n();
         this.method16348(var1, var2, var3, -1187501441);
      }
   }

   void method13422(Class545 var1) {
      Class568 var2 = this.method16358(var1, 0, (byte)73);
      if(null != var2) {
         Class328 var3 = this.method10915();
         this.anInt10612 = var2.YA() * -1132550457;
         var2.n();
         this.method16348(var1, var2, var3, 1267945062);
      }
   }

   void method13432(Class545 var1) {
      Class568 var2 = this.method16358(var1, 0, (byte)90);
      if(null != var2) {
         Class328 var3 = this.method10915();
         this.anInt10612 = var2.YA() * -1132550457;
         var2.n();
         this.method16348(var1, var2, var3, -228870950);
      }
   }

   boolean method13452(Class545 var1, int var2, int var3) {
      return false;
   }

   final boolean method13447() {
      return false;
   }

   public final void method16352(int var1, byte var2) {
      this.aBool10605 = true;
      Class325 var3 = new Class325(this.method10913());
      var3.aClass326_4031.aFloat4036 = (float)((double)var3.aClass326_4031.aFloat4036 + this.aDouble10606 * (double)var1);
      var3.aClass326_4031.aFloat4033 = (float)((double)var3.aClass326_4031.aFloat4033 + (double)var1 * this.aDouble10600);
      if(this.aBool10604) {
         var3.aClass326_4031.aFloat4037 = (float)(Class419.method7167((int)var3.aClass326_4031.aFloat4036, (int)var3.aClass326_4031.aFloat4033, this.aByte8443, (byte)-95) - this.anInt10599 * -1058839565);
      } else if(-1 != -1897974673 * this.anInt10614) {
         var3.aClass326_4031.aFloat4037 = (float)((double)var3.aClass326_4031.aFloat4037 + (double)var1 * (double)var1 * this.aDouble10610 * 0.5D + this.aDouble10609 * (double)var1);
         this.aDouble10609 += (double)var1 * this.aDouble10610;
      } else {
         var3.aClass326_4031.aFloat4037 = (float)((double)var3.aClass326_4031.aFloat4037 + this.aDouble10609 * (double)var1);
      }

      var3.aClass321_4032.method5784(1.0F, 0.0F, 0.0F, (float)Math.atan2(this.aDouble10609, this.aDouble10607));
      Class321 var4 = Class321.method5779();
      var4.method5784(0.0F, 1.0F, 0.0F, (float)Math.atan2(this.aDouble10606, this.aDouble10600) - 3.1415927F);
      var3.aClass321_4032.method5795(var4);
      var4.method5817();
      this.method10920(var3);
      if(this.aClass477_10594.method7991(1, (byte)0) && this.aClass477_10594.method7987(220537940)) {
         this.aClass477_10594.method7989((byte)-52);
      }

   }

   void method16353(Class545 var1, Class568 var2, Class328 var3) {
      var2.method12075(var3);
      Class80[] var4 = var2.method12076();
      Class166[] var5 = var2.method12077();
      if((null == this.aClass528_10603 || this.aClass528_10603.aBool7186) && (null != var4 || var5 != null)) {
         this.aClass528_10603 = Class528.method11121(-1255739433 * client.anInt7659, true);
      }

      if(this.aClass528_10603 != null) {
         this.aClass528_10603.method11152(var1, (long)(client.anInt7659 * -1255739433), var4, var5, false);
         this.aClass528_10603.method11114(this.aByte8443, this.aShort10430, this.aShort10429, this.aShort10424, this.aShort10426);
      }

   }

   final void method13407() {
      throw new IllegalStateException();
   }

   final void method13429() {
      throw new IllegalStateException();
   }

   Class579 method13419(Class545 var1) {
      Class568 var2 = this.method16358(var1, 2048, (byte)64);
      if(var2 == null) {
         return null;
      } else {
         Class328 var3 = this.method10915();
         this.method16348(var1, var2, var3, 861322118);
         Class579 var4 = Class212.method3640(false, (byte)-19);
         var2.method12069(var3, this.aClass89Array8446[0], 0);
         if(this.aClass528_10603 != null) {
            Class97 var5 = this.aClass528_10603.method11119();
            var1.method11711(var5);
         }

         this.aBool10613 = var2.i();
         var2.n();
         this.anInt10612 = var2.YA() * -1132550457;
         return var4;
      }
   }

   void method16059() {
      Class326 var1 = this.method10913().aClass326_4031;
      this.aShort10430 = this.aShort10429 = (short)((int)(var1.aFloat4036 / 512.0F));
      this.aShort10424 = this.aShort10426 = (short)((int)(var1.aFloat4033 / 512.0F));
   }

   final boolean method13449() {
      return false;
   }

   final void method13396(Class545 var1, Class515_Sub1 var2, int var3, int var4, int var5, boolean var6) {
      throw new IllegalStateException();
   }

   public int method16354() {
      return this.anInt10615 * 998544085;
   }

   public int method13415() {
      return -69453065 * this.anInt10612;
   }

   public final void method16355(int var1, int var2, int var3, int var4) {
      Class326 var5 = Class326.method5922(this.method10913().aClass326_4031);
      if(!this.aBool10605) {
         float var6 = (float)var1 - var5.aFloat4036;
         float var7 = (float)var2 - var5.aFloat4033;
         float var8 = (float)Math.sqrt((double)(var7 * var7 + var6 * var6));
         if(0.0F != var8) {
            var5.aFloat4036 += (float)(this.anInt10611 * 1612762229) * var6 / var8;
            var5.aFloat4033 += var7 * (float)(this.anInt10611 * 1612762229) / var8;
         }

         if(this.aBool10604) {
            var5.aFloat4037 = (float)(Class419.method7167((int)var5.aFloat4036, (int)var5.aFloat4033, this.aByte8443, (byte)-84) - this.anInt10599 * -1058839565);
         }

         this.method10918(var5);
      }

      double var9 = (double)(1 + -772325243 * this.anInt10598 - var4);
      this.aDouble10606 = (double)((float)var1 - var5.aFloat4036) / var9;
      this.aDouble10600 = (double)((float)var2 - var5.aFloat4033) / var9;
      this.aDouble10607 = Math.sqrt(this.aDouble10606 * this.aDouble10606 + this.aDouble10600 * this.aDouble10600);
      if(-1 != -1897974673 * this.anInt10614) {
         if(!this.aBool10605) {
            this.aDouble10609 = -this.aDouble10607 * Math.tan((double)(-1897974673 * this.anInt10614) * 0.02454369D);
         }

         this.aDouble10610 = 2.0D * ((double)((float)var3 - var5.aFloat4037) - var9 * this.aDouble10609) / (var9 * var9);
      } else {
         this.aDouble10609 = (double)((float)var3 - var5.aFloat4037) / var9;
      }

      var5.method5948();
   }

   public final void method16356(int var1) {
      this.aBool10605 = true;
      Class325 var2 = new Class325(this.method10913());
      var2.aClass326_4031.aFloat4036 = (float)((double)var2.aClass326_4031.aFloat4036 + this.aDouble10606 * (double)var1);
      var2.aClass326_4031.aFloat4033 = (float)((double)var2.aClass326_4031.aFloat4033 + (double)var1 * this.aDouble10600);
      if(this.aBool10604) {
         var2.aClass326_4031.aFloat4037 = (float)(Class419.method7167((int)var2.aClass326_4031.aFloat4036, (int)var2.aClass326_4031.aFloat4033, this.aByte8443, (byte)-81) - this.anInt10599 * -1058839565);
      } else if(-1 != -1897974673 * this.anInt10614) {
         var2.aClass326_4031.aFloat4037 = (float)((double)var2.aClass326_4031.aFloat4037 + (double)var1 * (double)var1 * this.aDouble10610 * 0.5D + this.aDouble10609 * (double)var1);
         this.aDouble10609 += (double)var1 * this.aDouble10610;
      } else {
         var2.aClass326_4031.aFloat4037 = (float)((double)var2.aClass326_4031.aFloat4037 + this.aDouble10609 * (double)var1);
      }

      var2.aClass321_4032.method5784(1.0F, 0.0F, 0.0F, (float)Math.atan2(this.aDouble10609, this.aDouble10607));
      Class321 var3 = Class321.method5779();
      var3.method5784(0.0F, 1.0F, 0.0F, (float)Math.atan2(this.aDouble10606, this.aDouble10600) - 3.1415927F);
      var2.aClass321_4032.method5795(var3);
      var3.method5817();
      this.method10920(var2);
      if(this.aClass477_10594.method7991(1, (byte)0) && this.aClass477_10594.method7987(1566313171)) {
         this.aClass477_10594.method7989((byte)-75);
      }

   }

   Class568 method16357(Class545 var1, int var2) {
      Class497 var3 = Class515_Sub1_Sub4_Sub4.aClass498_10793.method8330(this.anInt10595 * 888441981, 1922881487);
      return var3.method8309(var1, var2, this.aClass477_10594, (byte)2, 583742993);
   }

   Class568 method16358(Class545 var1, int var2, byte var3) {
      Class497 var4 = Class515_Sub1_Sub4_Sub4.aClass498_10793.method8330(this.anInt10595 * 888441981, 1902299012);
      return var4.method8309(var1, var2, this.aClass477_10594, (byte)2, 117626716);
   }

   void method16359(Class545 var1, Class568 var2, Class328 var3) {
      var2.method12075(var3);
      Class80[] var4 = var2.method12076();
      Class166[] var5 = var2.method12077();
      if((null == this.aClass528_10603 || this.aClass528_10603.aBool7186) && (null != var4 || var5 != null)) {
         this.aClass528_10603 = Class528.method11121(-1255739433 * client.anInt7659, true);
      }

      if(this.aClass528_10603 != null) {
         this.aClass528_10603.method11152(var1, (long)(client.anInt7659 * -1255739433), var4, var5, false);
         this.aClass528_10603.method11114(this.aByte8443, this.aShort10430, this.aShort10429, this.aShort10424, this.aShort10426);
      }

   }

   public void method16360() {
      if(this.aClass528_10603 != null) {
         this.aClass528_10603.method11110();
      }

   }

   void method16361(Class545 var1, Class568 var2, Class328 var3) {
      var2.method12075(var3);
      Class80[] var4 = var2.method12076();
      Class166[] var5 = var2.method12077();
      if((null == this.aClass528_10603 || this.aClass528_10603.aBool7186) && (null != var4 || var5 != null)) {
         this.aClass528_10603 = Class528.method11121(-1255739433 * client.anInt7659, true);
      }

      if(this.aClass528_10603 != null) {
         this.aClass528_10603.method11152(var1, (long)(client.anInt7659 * -1255739433), var4, var5, false);
         this.aClass528_10603.method11114(this.aByte8443, this.aShort10430, this.aShort10429, this.aShort10424, this.aShort10426);
      }

   }

   public Class515_Sub1_Sub4_Sub1(Class241 var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, int var13, int var14, boolean var15, int var16, int var17) {
      super(var1, var3, var4, var5, Class419.method7167(var5, var6, var3, (byte)-124) - var7, var6, var5 >> 9, var5 >> 9, var6 >> 9, var6 >> 9, false, (byte)0);
      this.anInt10595 = -1799729963 * var2;
      this.anInt10597 = var8 * 432438949;
      this.anInt10598 = -1109739443 * var9;
      this.anInt10614 = -813651313 * var10;
      this.anInt10611 = 257795037 * var11;
      this.anInt10601 = -1993056797 * var12;
      this.anInt10602 = var13 * -553353353;
      this.anInt10599 = -1414468293 * var7;
      this.anInt10596 = -314452513 * var14;
      this.aBool10604 = var15;
      this.aBool10605 = false;
      this.anInt10608 = var16 * -1925846115;
      this.anInt10615 = 1947080317 * var17;
      int var18 = Class515_Sub1_Sub4_Sub4.aClass498_10793.method8330(this.anInt10595 * 888441981, 1823812213).anInt5923 * -1141556775;
      this.aClass477_10594 = new Class477_Sub2(this, false);
      this.aClass477_10594.method7974(var18, 1664289565);
      this.method13408(1, -867096999);
   }

   boolean method13431() {
      return this.aBool10613;
   }

   public void method16362() {
      if(this.aClass528_10603 != null) {
         this.aClass528_10603.method11110();
      }

   }

   public void method16363() {
      if(this.aClass528_10603 != null) {
         this.aClass528_10603.method11110();
      }

   }

   public int method16364(short var1) {
      return this.anInt10615 * 998544085;
   }
}
