import jaclib.memory.DirectBufferHelper;
import jaclib.memory.Stream;
import jaclib.memory.heap.NativeHeap;
import jaclib.memory.heap.NativeHeapBuffer;
import java.lang.reflect.Field;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.util.ArrayList;
import java.util.Iterator;
import sun.misc.Unsafe;

public abstract class Class545_Sub2 extends Class545 {

   protected boolean aBool9616;
   Class391 aClass391_9617 = new Class391();
   static final int anInt9618 = 128;
   protected int anInt9619;
   static final int anInt9620 = 2;
   static final int anInt9621 = 4;
   static final int anInt9622 = 8;
   protected int anInt9623;
   Class317 aClass317_9624 = new Class317();
   protected int anInt9625;
   Class253 aClass253_9626;
   static Object anObject9627 = new Object();
   int[] anIntArray9628;
   static final int anInt9629 = 7;
   protected boolean aBool9630;
   boolean aBool9631;
   public Unsafe anUnsafe9632;
   Class63 aClass63_9633;
   NativeHeap aNativeHeap9634;
   Class456 aClass456_9635 = new Class456();
   protected int anInt9636;
   public int anInt9637;
   protected int anInt9638;
   Class328 aClass328_9639 = new Class328();
   Class317 aClass317_9640 = new Class317();
   Class328 aClass328_9641 = new Class328();
   Class328 aClass328_9642 = new Class328();
   protected int anInt9643;
   public int anInt9644;
   Class328 aClass328_9645 = new Class328();
   int anInt9646;
   static Class317 aClass317_9647 = new Class317();
   Class328 aClass328_9648 = new Class328();
   protected Class317 aClass317_9649 = new Class317();
   Interface35 anInterface35_9650;
   Class326 aClass326_9651 = new Class326();
   float[] aFloatArray9652 = new float[4];
   boolean aBool9653;
   Class344 aClass344_9654;
   boolean aBool9655;
   Class317 aClass317_9656;
   Class317 aClass317_9657;
   boolean aBool9658;
   Class317 aClass317_9659;
   Class317 aClass317_9660;
   Class317 aClass317_9661;
   public Class317 aClass317_9662;
   Class317 aClass317_9663;
   Interface40 anInterface40_9664;
   float[][] aFloatArrayArray9665;
   float aFloat9666;
   float aFloat9667;
   Class317 aClass317_9668 = new Class317();
   float aFloat9669;
   protected float aFloat9670;
   protected float aFloat9671;
   float aFloat9672;
   float aFloat9673;
   protected Class57 aClass57_9674;
   protected float aFloat9675;
   Class153 aClass153_9676;
   float[] aFloatArray9677;
   protected int anInt9678;
   protected int anInt9679;
   int anInt9680;
   protected boolean aBool9681;
   int anInt9682;
   Class74_Sub1_Sub1 aClass74_Sub1_Sub1_9683;
   int anInt9684;
   protected boolean aBool9685;
   protected int anInt9686;
   int anInt9687;
   protected int anInt9688;
   protected int anInt9689;
   Class352[] aClass352Array9690;
   protected boolean aBool9691;
   protected static final int anInt9692 = 100663296;
   public Interface33 anInterface33_9693;
   protected boolean aBool9694;
   Class317 aClass317_9695 = new Class317();
   protected float aFloat9696;
   protected float[] aFloatArray9697;
   float[] aFloatArray9698;
   int anInt9699 = 4194304;
   int anInt9700;
   public float aFloat9701;
   public float aFloat9702;
   public float aFloat9703;
   Interface38[] anInterface38Array9704;
   public float aFloat9705;
   protected float aFloat9706;
   Class70 aClass70_9707;
   protected int anInt9708;
   protected int anInt9709;
   int anInt9710;
   int anInt9711;
   public float[] aFloatArray9712;
   protected boolean aBool9713;
   Class568_Sub3[] aClass568_Sub3Array9714;
   boolean aBool9715 = false;
   protected Class317[] aClass317Array9716;
   protected Class368[] aClass368Array9717;
   protected Class367[] aClass367Array9718;
   protected Class225_Sub40[] aClass225_Sub40Array9719;
   protected int anInt9720;
   Class58 aClass58_9721;
   public int anInt9722;
   Interface33 anInterface33_9723;
   Class171_Sub3 aClass171_Sub3_9724;
   Class171_Sub3 aClass171_Sub3_9725;
   boolean aBool9726;
   Class372 aClass372_9727;
   Class74 aClass74_9728;
   Class74[] aClass74Array9729;
   public long aLong9730;
   Class62 aClass62_9731;
   Class56 aClass56_9732;
   protected boolean aBool9733;
   Class74_Sub1_Sub1 aClass74_Sub1_Sub1_9734;
   protected int anInt9735;
   Class74_Sub1_Sub2 aClass74_Sub1_Sub2_9736;
   int anInt9737;
   static final int anInt9738 = 1;
   static final int anInt9739 = 2;
   float aFloat9740;
   Class79_Sub2 aClass79_Sub2_9741;
   protected int anInt9742;
   protected Class367[] aClass367Array9743;
   int anInt9744;
   protected int anInt9745;
   protected boolean aBool9746;
   public Class317 aClass317_9747;
   protected int anInt9748;
   protected boolean aBool9749;
   protected int anInt9750;
   protected float aFloat9751;
   protected float aFloat9752;
   protected int anInt9753;
   static final int anInt9754 = 1;
   protected boolean aBool9755;
   protected boolean aBool9756;
   public int anInt9757;
   boolean aBool9758;
   int anInt9759;
   protected float aFloat9760;
   Class317 aClass317_9761;
   int anInt9762;
   public ByteBuffer aByteBuffer9763;
   public int anInt9764;
   public boolean aBool9765;
   public Class317 aClass317_9766 = new Class317();
   protected boolean aBool9767;
   protected boolean aBool9768;
   protected boolean aBool9769;
   Interface35 anInterface35_9770;
   Class346 aClass346_9771;
   Class345 aClass345_9772;
   Class341 aClass341_9773;
   Class341 aClass341_9774;
   static final int anInt9775 = 55;
   Class341 aClass341_9776;
   Class341 aClass341_9777;
   Class68 aClass68_9778;
   Class341 aClass341_9779;
   Class568_Sub3[] aClass568_Sub3Array9780;
   Interface35 anInterface35_9781;
   Class328 aClass328_9782;
   protected boolean aBool9783;
   int anInt9784;


   public final void method11543(int var1, Class153 var2) {
      this.anInt9744 = var1;
      this.aClass153_9676 = var2;
      this.aBool9653 = true;
   }

   public abstract void method14965(Class317 var1, Class317 var2, Class317 var3);

   void method14966() {
      ArrayList var1 = this.aClass391_9617.method6713((short)-14532);
      Iterator var2 = var1.iterator();

      while(var2.hasNext()) {
         Interface4 var3 = (Interface4)var2.next();
         var3.method10();
      }

   }

   public abstract boolean method14967();

   public abstract boolean method14968();

   public final void method11572(int var1, int var2, int var3, int var4, int var5, int var6, int var7) {
      var1 = (int)((float)var1 + 1.0F);
      var2 = (int)((float)var2 + 1.0F);
      var3 = (int)((float)var3 + 1.0F);
      var4 = (int)((float)var4 + 1.0F);
      float var8 = (float)(var3 - var1);
      float var9 = (float)(var4 - var2);
      float var10 = 1.0F / (float)Math.sqrt((double)(var8 * var8 + var9 * var9));
      var8 *= var10;
      var9 *= var10;
      var1 = (int)((float)var1 - var8);
      var2 = (int)((float)var2 - var9);
      float var11 = -var9;
      var11 *= 0.5F * (float)var6;
      float var12 = var8 * 0.5F * (float)var6;
      this.aClass171_Sub3_9724.method2920((float)var1 - var11, (float)var2 - var12, (float)var3 - var11, (float)var4 - var12, (float)var1 + var11, (float)var2 + var12, 0, var5, var7);
   }

   final void method11633(float var1, float var2, float var3, float var4, float var5, float var6) {
      Class352_Sub1.aFloat8093 = var1;
      Class352_Sub1.aFloat8092 = var2;
      Class352_Sub1.aFloat8091 = var3;
      Class352_Sub1.aFloat8103 = var6;
   }

   byte[] method14969(String var1, String var2) {
      return this.aClass253_9626.method4573(var1, var2, (byte)-44);
   }

   Class28 method14970(byte[] var1) {
      if(var1 == null) {
         return null;
      } else {
         try {
            return new Class28(var1);
         } catch (Exception var3) {
            return null;
         }
      }
   }

   public final void et(boolean var1) {
      this.aBool9713 = var1;
      this.method15025();
   }

   final void method14971(int var1, int var2) {
      this.anInt9688 = var1;
      this.anInt9689 = var2;
      this.method15291();
      this.method14982();
   }

   Class545_Sub2(Interface24 var1, Class253 var2, int var3, int var4) {
      super(var1);
      this.aClass344_9654 = Class344.aClass344_4387;
      this.aBool9655 = false;
      this.aClass317_9656 = new Class317();
      this.aClass317_9657 = new Class317();
      this.aBool9658 = false;
      this.aClass317_9659 = new Class317();
      this.aClass317_9660 = new Class317();
      this.aClass317_9661 = this.aClass317_9660;
      this.aClass317_9662 = new Class317();
      this.aClass317_9663 = new Class317();
      this.aClass317_9747 = new Class317();
      this.aFloatArrayArray9665 = new float[6][4];
      this.aFloat9670 = 0.0F;
      this.aFloat9671 = 1.0F;
      this.aFloat9672 = 0.0F;
      this.aFloat9673 = 1.0F;
      this.aFloat9696 = 50.0F;
      this.aFloat9675 = 3584.0F;
      this.anInt9735 = 0;
      this.anInt9745 = 0;
      this.anInt9678 = 0;
      this.anInt9679 = 0;
      this.anInt9680 = 0;
      this.anInt9684 = 0;
      this.anInt9682 = 0;
      this.anInt9737 = 0;
      this.anInt9619 = 0;
      this.anInt9643 = 0;
      this.anInt9686 = 0;
      this.anInt9753 = 0;
      this.anInt9688 = 0;
      this.anInt9689 = 0;
      this.aBool9713 = true;
      this.aBool9691 = false;
      this.aBool9616 = false;
      this.aBool9685 = false;
      this.aBool9733 = true;
      this.aBool9630 = false;
      this.aFloatArray9712 = new float[]{0.0F, 0.0F, 1.0F, 0.0F};
      this.aFloatArray9697 = new float[]{0.0F, 0.0F, -1.0F, 0.0F};
      this.aFloatArray9698 = new float[]{0.0F, 0.0F, 1.0F, 0.0F};
      this.aFloatArray9677 = new float[]{0.0F, 0.0F, 1.0F, 0.0F};
      this.anInt9700 = 16777215;
      this.aFloat9701 = 1.0F;
      this.aFloat9702 = 1.0F;
      this.aFloat9703 = 1.0F;
      this.aFloat9760 = 1.0F;
      this.aFloat9705 = -1.0F;
      this.aFloat9706 = -1.0F;
      this.anInt9710 = 8;
      this.anInt9711 = 3;
      this.anInt9625 = 0;
      this.aBool9726 = false;
      this.aClass74Array9729 = new Class74[16];
      this.aClass352Array9690 = new Class352[2];
      this.aBool9758 = false;
      this.aBool9749 = true;
      this.anInt9748 = -1;
      this.anInt9623 = -1;
      this.anInt9750 = 0;
      this.anInt9646 = 1;
      this.aClass57_9674 = Class57.aClass57_536;
      this.aBool9755 = true;
      this.aBool9756 = true;
      this.aBool9631 = false;
      new Stream();
      this.aClass568_Sub3Array9714 = new Class568_Sub3[7];
      this.aClass568_Sub3Array9780 = new Class568_Sub3[7];
      this.aClass317_9761 = new Class317();
      this.aClass328_9782 = new Class328();
      this.anInt9742 = -1;

      try {
         this.aClass253_9626 = var2;
         this.anInt9757 = var3;
         this.anInt9762 = var4;
         Class94.method1844(false, true, 851935224);
         if(this.anInterface24_7370 != null) {
            this.aClass58_9721 = new Class58(this, this.anInterface24_7370);
         } else {
            this.aClass58_9721 = null;
         }

         if(this.anInt9762 == 0) {
            this.anIntArray9628 = Exception_Sub5.anIntArray10376;
         } else {
            this.anIntArray9628 = Class94.anIntArray923;
         }

         try {
            Field var5 = Unsafe.class.getDeclaredField("theUnsafe");
            var5.setAccessible(true);
            this.anUnsafe9632 = (Unsafe)var5.get((Object)null);
         } catch (Exception var6) {
            ;
         }

         this.aByteBuffer9763 = ByteBuffer.allocateDirect(4194304);
         this.aByteBuffer9763.order(ByteOrder.nativeOrder());
         this.aLong9730 = DirectBufferHelper.getDirectBufferAddress(this.aByteBuffer9763);
      } catch (Throwable var7) {
         var7.printStackTrace();
         this.method11431(295861800);
         if(var7 instanceof OutOfMemoryError) {
            throw (OutOfMemoryError)var7;
         }

         throw new RuntimeException("");
      }

      this.method11479(this.method11478(131072));
   }

   public final void method14972() {
      this.anInterface38Array9704 = new Interface38[this.anInt9764];
      this.aClass317Array9716 = new Class317[this.anInt9764];
      this.aClass368Array9717 = new Class368[this.anInt9764];
      this.aClass367Array9718 = new Class367[this.anInt9764];
      this.aClass367Array9743 = new Class367[this.anInt9764];

      for(int var1 = 0; var1 < this.anInt9764; ++var1) {
         this.aClass367Array9743[var1] = Class367.aClass367_4610;
         this.aClass367Array9718[var1] = Class367.aClass367_4610;
         this.aClass368Array9717[var1] = Class368.aClass368_4615;
         this.aClass317Array9716[var1] = new Class317();
      }

      this.aClass225_Sub40Array9719 = new Class225_Sub40[this.anInt9636 - 2];
      int[] var3 = new int[]{-1};
      this.anInterface33_9693 = this.method15081(1, 1, false, var3, 0, 0);
      var3[0] = -16777216;
      this.anInterface33_9723 = this.method15081(1, 1, false, var3, 0, 0);
      this.method11479(new Class225_Sub1_Sub2(262144));
      this.aClass341_9777 = this.method15076(new Class348[]{new Class348(new Class347[]{Class347.aClass347_4429, Class347.aClass347_4440})});
      this.method15076(new Class348[]{new Class348(new Class347[]{Class347.aClass347_4429, Class347.aClass347_4445})});
      this.aClass341_9776 = this.method15076(new Class348[]{new Class348(Class347.aClass347_4429), new Class348(Class347.aClass347_4445), new Class348(Class347.aClass347_4440), new Class348(Class347.aClass347_4435)});
      this.aClass341_9779 = this.method15076(new Class348[]{new Class348(Class347.aClass347_4429), new Class348(Class347.aClass347_4445), new Class348(Class347.aClass347_4440)});

      for(int var2 = 0; var2 < 7; ++var2) {
         this.aClass568_Sub3Array9714[var2] = new Class568_Sub3(this, 0, 0, false, false);
         this.aClass568_Sub3Array9780[var2] = new Class568_Sub3(this, 0, 0, true, true);
      }

      this.method14973();
      this.anInterface40_9664 = this.method15075(true);
      this.method15112();
      this.method11454();
      this.L();
      this.method11458();
      this.aClass171_Sub3_9724 = new Class171_Sub3(this, this.anInterface33_9693);
      this.aClass171_Sub3_9725 = new Class171_Sub3(this, this.anInterface33_9723);
      this.ba(3, 0);
   }

   final void method14973() {
      this.aClass63_9633 = new Class63(this);
      this.aBool9681 = false;

      try {
         this.aClass68_9778 = new Class68_Sub1(this);
         this.aClass62_9731 = new Class62_Sub2(this);
         this.aClass56_9732 = new Class56_Sub2(this);
         this.aClass70_9707 = new Class70_Sub1(this);
         this.aClass74_Sub1_Sub1_9734 = new Class74_Sub1_Sub1(this, this.aClass63_9633, false);
         this.aClass74_Sub1_Sub1_9683 = new Class74_Sub1_Sub1(this, this.aClass63_9633, true);
         this.aClass74_Sub1_Sub2_9736 = new Class74_Sub1_Sub2(this, this.aClass63_9633);
      } catch (Exception var3) {
         var3.printStackTrace();
         this.aClass68_9778 = new Class68_Sub2(this);
         this.aClass62_9731 = new Class62_Sub1(this);
         this.aClass56_9732 = new Class56_Sub1(this);
         this.aClass70_9707 = new Class70_Sub2(this);
         this.aClass74_Sub1_Sub1_9734 = null;
         this.aClass74_Sub1_Sub1_9683 = null;
         this.aClass74_Sub1_Sub2_9736 = null;
         this.aBool9681 = true;
      }

      int var1;
      int var2;
      if(this.aClass151_7359 != null) {
         var1 = this.aClass151_7359.method2741();
         var2 = this.aClass151_7359.method2742();
      } else {
         var2 = 0;
         var1 = 0;
      }

      this.aClass345_9772 = new Class345(this, var1, var2);
      if(!this.aBool9681) {
         this.aClass352Array9690[1] = new Class352_Sub1(this);
         this.aClass345_9772.method6303(this.aClass352Array9690[1]);
      }

      if(this.aClass74_9728 != null) {
         this.aClass74_9728.method1593();
         this.aClass74_9728 = null;
      }

      this.method14977();
   }

   Class74 method14974(int var1) {
      return this.aClass74Array9729[var1];
   }

   public final void fr() {
      if(this.aClass151_7359 != null) {
         this.anInt9735 = 0;
         this.anInt9678 = 0;
         this.anInt9679 = this.aClass151_7359.method2741();
         this.anInt9745 = this.aClass151_7359.method2742();
      } else {
         this.anInt9745 = 0;
         this.anInt9679 = 0;
         this.anInt9735 = 0;
         this.anInt9678 = 0;
      }

      if(this.aBool9783) {
         this.aBool9783 = false;
         this.method15101();
      }

   }

   final void method14975() {
      this.method15031();
      this.method15032();
      this.method15030();
      this.method15106();
      this.method15284();
      this.method15034();
      this.method15035();
      this.method15024();
      this.method15025();
      this.method15259();
      this.method15072();
      this.method15070();
      this.method15128();
      this.method15069();

      for(int var1 = this.anInt9764 - 1; var1 >= 0; --var1) {
         this.method15050(var1);
         this.method15126();
         this.method15083();
         this.method15065();
      }

      this.method15062();
      this.method15291();
   }

   abstract void method14976(int var1);

   void method14977() {
      this.aClass345_9772.method6321();

      for(int var1 = 0; var1 < this.aClass352Array9690.length; ++var1) {
         if(this.aClass352Array9690[var1] != null && this.aClass352Array9690[var1].method6369()) {
            this.aClass352Array9690[var1].method6363();
         }
      }

      this.aClass346_9771 = new Class346(this);
      this.method14978();
      this.method15103();
      this.method14979();
      this.aClass346_9771.method6325(this);
      this.aClass372_9727 = new Class372(this, 1024);
   }

   final void method14978() {
      this.anInterface35_9781 = this.method15237(false);
      short var1 = 160;
      this.anInterface35_9781.method220(var1, 32);
      this.aByteBuffer9763.clear();
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putInt(-1);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putInt(-1);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putInt(-1);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putInt(-1);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putInt(-1);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.anInterface35_9781.method217(0, this.aByteBuffer9763.position(), this.aLong9730);
      this.aClass341_9774 = this.method15076(new Class348[]{new Class348(new Class347[]{Class347.aClass347_4429, Class347.aClass347_4445, Class347.aClass347_4440, Class347.aClass347_4440})});
   }

   public final Class171 method11691(int var1, int var2, boolean var3, boolean var4) {
      return new Class171_Sub3(this, var1, var2, var3, var4);
   }

   final void method14979() {
      this.anInterface35_9650 = this.method15237(false);
      this.anInterface35_9650.method220(3096, 12);
      this.aByteBuffer9763.clear();
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);

      for(int var1 = 0; var1 <= 256; ++var1) {
         double var2 = (double)(var1 * 2) * 3.141592653589793D / 256.0D;
         float var4 = (float)Math.cos(var2);
         float var5 = (float)Math.sin(var2);
         this.aByteBuffer9763.putFloat(var5);
         this.aByteBuffer9763.putFloat(var4);
         this.aByteBuffer9763.putFloat(0.0F);
      }

      this.anInterface35_9650.method217(0, this.aByteBuffer9763.position(), this.aLong9730);
   }

   boolean method14980(float var1, float var2, float var3, float var4, float var5, float var6) {
      this.aByteBuffer9763.clear();
      this.aByteBuffer9763.putFloat(var1);
      this.aByteBuffer9763.putFloat(var2);
      this.aByteBuffer9763.putFloat(var3);
      this.aByteBuffer9763.putFloat(var4);
      this.aByteBuffer9763.putFloat(var5);
      this.aByteBuffer9763.putFloat(var6);
      return this.anInterface35_9770.method217(0, this.aByteBuffer9763.position(), this.aLong9730);
   }

   public final void method11711(Class97 var1) {
      this.aClass346_9771.method6337(this, var1);
   }

   public final boolean method11435() {
      return true;
   }

   public final boolean method11520() {
      return true;
   }

   public void method14981(int var1) {
      if(var1 != this.anInt9720) {
         this.anInt9720 = var1;
         this.method15062();
      }

   }

   public final boolean method11712() {
      return this.aClass352Array9690[1] != null;
   }

   abstract void method14982();

   public final void ff(int var1, int var2, int var3, int var4) {
      int var5;
      int var6;
      if(this.aClass151_7359 != null) {
         var5 = this.aClass151_7359.method2741();
         var6 = this.aClass151_7359.method2742();
      } else {
         var6 = 0;
         var5 = 0;
      }

      if(var1 <= 0 && var3 >= var5 - 1 && var2 <= 0 && var4 >= var6 - 1) {
         this.L();
      } else {
         this.anInt9678 = var1 >= 0?var1:0;
         this.anInt9679 = var3 <= var5?var3:var5;
         this.anInt9735 = var2 >= 0?var2:0;
         this.anInt9745 = var4 <= var6?var4:var6;
         if(!this.aBool9783 && (this.aBool9726 || this.method14995() == Class349.aClass349_4449)) {
            this.aBool9783 = true;
            this.method15101();
         }

         this.method14982();
      }
   }

   public final boolean method11442() {
      return true;
   }

   public final boolean method11443() {
      return true;
   }

   public final boolean method11444() {
      return false;
   }

   public final boolean method11441() {
      return this.aBool9768;
   }

   public abstract float method14983();

   Class74 method14984(int var1) {
      return this.aClass74Array9729[var1];
   }

   final void method14985() {
      if(this.aClass344_9654 != Class344.aClass344_4385) {
         this.aClass344_9654 = Class344.aClass344_4385;
         this.method15007();
         this.method15020();
         this.aClass317_9661 = this.aClass317_9659;
         this.method15109();
         this.method14997();
         this.anInt9759 &= -8;
      }

   }

   public void method11485() {
      if(this.aClass372_9727 != null) {
         this.aClass372_9727.method6516();
      }

   }

   public void method11502() {
      if(this.aClass372_9727 != null) {
         this.aClass372_9727.method6539();
      }

   }

   public final boolean method11532() {
      return true;
   }

   void method14986() {
      this.method14987();
   }

   void method14987() {
      this.method15016();
      this.method15018();
      this.method15014();
      this.method11459();
      this.L();
   }

   public final boolean method11509() {
      if(this.aClass352Array9690[1] != null && !this.aClass352Array9690[1].method6369()) {
         boolean var1 = this.aClass345_9772.method6303(this.aClass352Array9690[1]);
         if(var1) {
            this.aClass58_9721.method1272();
         }

         return var1;
      } else {
         return false;
      }
   }

   public final void method11510() {
      if(this.aClass352Array9690[1] != null && this.aClass352Array9690[1].method6369()) {
         this.aClass345_9772.method6305(this.aClass352Array9690[1]);
         this.aClass58_9721.method1272();
      }

   }

   public final boolean method11588() {
      return this.aClass352Array9690[1] != null && this.aClass352Array9690[1].method6369();
   }

   final void method11511(float var1, float var2, float var3, float var4, float var5, float var6) {
      Class352_Sub1.aFloat8093 = var1;
      Class352_Sub1.aFloat8092 = var2;
      Class352_Sub1.aFloat8091 = var3;
      Class352_Sub1.aFloat8103 = var6;
   }

   final Interface33 method14988(Class98 var1, int var2, int var3, boolean var4, float[] var5) {
      return this.method15060(var1, var2, var3, var4, var5, 0, 0);
   }

   public final void method11515() {
      this.aClass345_9772.method6307();
   }

   public final Class225_Sub1 method11478(int var1) {
      Class225_Sub1_Sub2 var2 = new Class225_Sub1_Sub2(var1);
      this.aClass456_9635.method7712(var2, (byte)113);
      return var2;
   }

   public final void method11669(int var1, int var2, int var3, int var4, int var5, int var6) {
      --var3;
      --var4;
      byte var7 = 0;
      if(this instanceof Class545_Sub2_Sub2) {
         var7 = -1;
      }

      this.method11627(var1, var2 + var7, var1 + var3, var2 + var7, var5, var6);
      this.method11627(var1, var2 + var4 + var7, var1 + var3, var2 + var4 + var7, var5, var6);
      this.method11627(var1, var2, var1, var2 + var4, var5, var6);
      this.method11627(var1 + var3, var2, var1 + var3, var2 + var4, var5, var6);
   }

   public final NativeHeapBuffer method14989(int var1, boolean var2) {
      return this.aNativeHeap9634.method825(var1, var2);
   }

   final void method14990() {
      if(this.method15125()) {
         this.method15037();
      }

      this.anInt9708 = this.anInt9709;
   }

   public final void method11636(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9) {}

   public abstract void method14991(Class341 var1);

   final Interface40 method14992(int var1) {
      if(this.anInterface40_9664.method31() < var1 * 2) {
         this.anInterface40_9664.method232(var1);
      }

      return this.anInterface40_9664;
   }

   public final Class171 method11473(int[] var1, int var2, int var3, int var4, int var5, boolean var6) {
      return new Class171_Sub3(this, var4, var5, var1, var2, var3);
   }

   public final void gt(int var1, Class496 var2, int var3, int var4) {
      this.RA(false);
      this.aClass171_Sub3_9725.method2942(0.0F, 0.0F, (float)this.method11482((byte)14).method2741(), 0.0F, 0.0F, (float)this.method11482((byte)14).method2742(), 0, var2, var3, var4);
      this.RA(true);
   }

   public final Class8 method11490(Class405 var1, Class86_Sub1[] var2, boolean var3) {
      return new Class8_Sub5(this, var1, var2, var3);
   }

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

   public final void method11537(int var1) {}

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

   public abstract void method14993(Class374 var1, int var2, int var3);

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

   public void method14994(Interface4 var1) {
      this.aClass391_9617.method6711(var1, anObject9627, 1841065971);
   }

   public final int method11594(int var1, int var2) {
      return var1 & var2 ^ var2;
   }

   public final Class328 method11491() {
      return this.aClass328_9782;
   }

   Class349 method14995() {
      return this.aClass372_9727 == null?Class349.aClass349_4449:this.aClass372_9727.method6523();
   }

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

   public final void method11648(int var1, Class153 var2) {
      if(!this.aBool9653) {
         throw new RuntimeException("");
      } else {
         this.anInt9744 = var1;
         this.aClass153_9676 = var2;
         if(this.aBool9758) {
            this.aClass74Array9729[3].method1595();
            this.aClass74Array9729[3].method1596();
         }

      }
   }

   public final int za() {
      return this.anInt9637 + this.anInt9722 + this.anInt9638;
   }

   public void method11460(int var1, int var2, int var3, int var4) {
      this.anInt9680 = var1;
      this.anInt9684 = var2;
      this.anInt9682 = var3;
      this.anInt9737 = var4;
      this.method14997();
   }

   final void method14997() {
      if(this.aClass344_9654 == Class344.aClass344_4385) {
         this.anInt9619 = this.anInt9680;
         this.anInt9643 = this.anInt9684;
         this.anInt9686 = this.anInt9682;
         this.anInt9753 = this.anInt9737;
         this.aFloat9670 = this.aFloat9672;
         this.aFloat9671 = this.aFloat9673;
      } else {
         this.anInt9619 = 0;
         this.anInt9643 = 0;
         this.anInt9686 = this.aClass151_7359.method2741();
         this.anInt9753 = this.aClass151_7359.method2742();
         this.aFloat9670 = 0.0F;
         this.aFloat9671 = 1.0F;
      }

      this.method15291();
      this.aFloat9667 = (float)this.anInt9682 / 2.0F;
      this.aFloat9740 = (float)this.anInt9737 / 2.0F;
      this.aFloat9666 = (float)this.anInt9680 + this.aFloat9667;
      this.aFloat9669 = (float)this.anInt9684 + this.aFloat9740;
   }

   public void GA(float var1, float var2) {
      this.aFloat9672 = var1;
      this.aFloat9673 = var2;
      this.method14997();
   }

   public final void fq(int var1, int var2, int var3, int var4) {
      int var5;
      int var6;
      if(this.aClass151_7359 != null) {
         var5 = this.aClass151_7359.method2741();
         var6 = this.aClass151_7359.method2742();
      } else {
         var6 = 0;
         var5 = 0;
      }

      var1 = var1 >= 0?var1:0;
      var3 = var3 <= var5?var3:var5;
      var2 = var2 >= 0?var2:0;
      var4 = var4 <= var6?var4:var6;
      boolean var7 = false;
      if(this.anInt9678 < var1) {
         this.anInt9678 = var1;
         var7 = true;
      }

      if(this.anInt9679 > var3) {
         this.anInt9679 = var3;
         var7 = true;
      }

      if(this.anInt9735 < var2) {
         this.anInt9735 = var2;
         var7 = true;
      }

      if(this.anInt9745 > var4) {
         this.anInt9745 = var4;
         var7 = true;
      }

      if(var7) {
         if(!this.aBool9783 && (this.aBool9726 || this.method14995() == Class349.aClass349_4449)) {
            this.aBool9783 = true;
            this.method15101();
         }

         this.method14982();
      }

   }

   public final void method11609(int var1, Class225_Sub40[] var2) {
      for(int var3 = 0; var3 < var1; ++var3) {
         this.aClass225_Sub40Array9719[var3] = var2[var3];
      }

      this.anInt9709 = var1;
   }

   public final NativeHeapBuffer method14998(int var1, boolean var2) {
      return this.aNativeHeap9634.method825(var1, var2);
   }

   public final void o(int var1, int var2, int var3, int var4) {
      int var5;
      int var6;
      if(this.aClass151_7359 != null) {
         var5 = this.aClass151_7359.method2741();
         var6 = this.aClass151_7359.method2742();
      } else {
         var6 = 0;
         var5 = 0;
      }

      var1 = var1 >= 0?var1:0;
      var3 = var3 <= var5?var3:var5;
      var2 = var2 >= 0?var2:0;
      var4 = var4 <= var6?var4:var6;
      boolean var7 = false;
      if(this.anInt9678 < var1) {
         this.anInt9678 = var1;
         var7 = true;
      }

      if(this.anInt9679 > var3) {
         this.anInt9679 = var3;
         var7 = true;
      }

      if(this.anInt9735 < var2) {
         this.anInt9735 = var2;
         var7 = true;
      }

      if(this.anInt9745 > var4) {
         this.anInt9745 = var4;
         var7 = true;
      }

      if(var7) {
         if(!this.aBool9783 && (this.aBool9726 || this.method14995() == Class349.aClass349_4449)) {
            this.aBool9783 = true;
            this.method15101();
         }

         this.method14982();
      }

   }

   final void method14999(int var1, int var2) {
      this.anInt9688 = var1;
      this.anInt9689 = var2;
      this.method15291();
      this.method14982();
   }

   public void method11462(boolean var1) {
      this.aBool9726 = var1;
   }

   public final Class317 method15000() {
      return this.aClass317Array9716[this.anInt9625];
   }

   public final void method15001(int var1) {
      if(this.anInt9625 != var1) {
         this.anInt9625 = var1;
         this.method15064();
      }

   }

   final void method15002() {
      this.method15063();
   }

   final Class317 method15003() {
      return this.aClass344_9654 == Class344.aClass344_4385?this.aClass317_9766:aClass317_9647;
   }

   public final void method11647(int var1, Class153 var2) {
      if(!this.aBool9653) {
         throw new RuntimeException("");
      } else {
         this.anInt9744 = var1;
         this.aClass153_9676 = var2;
         if(this.aBool9758) {
            this.aClass74Array9729[3].method1595();
            this.aClass74Array9729[3].method1596();
         }

      }
   }

   public void method11530(int var1) {
      if(this.aClass58_9721 != null) {
         this.aClass58_9721.method1271();
      }

      this.anInt9644 = var1 & Integer.MAX_VALUE;
   }

   public Class328 method11498() {
      return this.aClass328_9641;
   }

   abstract void method15004();

   final void method15005() {
      this.aClass317_9663.method5609(this.aClass317_9766);
      this.aClass317_9663.method5612(this.aClass317_9659);
      this.aClass317_9663.method5633(this.aFloatArrayArray9665[0]);
      this.aClass317_9663.method5608(this.aFloatArrayArray9665[1]);
      this.aClass317_9663.method5629(this.aFloatArrayArray9665[2]);
      this.aClass317_9663.method5630(this.aFloatArrayArray9665[3]);
      this.aClass317_9663.method5620(this.aFloatArrayArray9665[4]);
      this.aClass317_9663.method5632(this.aFloatArrayArray9665[5]);
      this.aClass317_9747.method5609(this.aClass317_9663);
      this.method15013(this.aClass317_9747);
   }

   Class153 method15006() {
      return this.aClass153_9676;
   }

   final void method15007() {
      this.aBool9715 = false;
   }

   Class317 method15008() {
      return this.aClass317_9640;
   }

   Class328 method15009() {
      if(this.aClass344_9654 == Class344.aClass344_4385) {
         if(!this.aBool9715) {
            this.aClass328_9645.method5991(this.aClass328_9639);
            this.aClass328_9645.method6006(this.aClass328_9641);
            this.aClass317_9668.method5613(this.aClass328_9645);
            this.aBool9715 = true;
         }

         return this.aClass328_9645;
      } else {
         return this.aClass328_9639;
      }
   }

   Class317 method15010() {
      if(this.aClass344_9654 == Class344.aClass344_4385) {
         if(!this.aBool9715) {
            this.method15009();
         }

         return this.aClass317_9668;
      } else {
         return this.aClass317_9640;
      }
   }

   final Class317 method15011() {
      return this.aClass317_9747;
   }

   final Class317 method15012() {
      return this.aClass317_9662;
   }

   public abstract void method15013(Class317 var1);

   final void method15014() {
      if(this.aClass344_9654 != Class344.aClass344_4387) {
         Class344 var1 = this.aClass344_9654;
         this.aClass344_9654 = Class344.aClass344_4387;
         if(var1 == Class344.aClass344_4385) {
            this.method15007();
         }

         this.aClass317_9661 = this.aClass317_9660;
         this.method15109();
         this.method14997();
         this.anInt9759 &= -16;
      }

   }

   final void method15015() {
      if(this.aClass344_9654 != Class344.aClass344_4386) {
         Class344 var1 = this.aClass344_9654;
         this.aClass344_9654 = Class344.aClass344_4386;
         if(var1 == Class344.aClass344_4385) {
            this.method15007();
         }

         this.method15124();
         this.aClass317_9661 = this.aClass317_9656;
         this.method15109();
         this.method14997();
         this.anInt9759 &= -9;
      }

   }

   final void method15016() {
      this.aBool9655 = false;
      if(this.aClass344_9654 == Class344.aClass344_4386) {
         this.method15124();
         this.method15109();
      }

   }

   final Class317 method15017() {
      return this.aClass344_9654 == Class344.aClass344_4385?this.aClass317_9695:aClass317_9647;
   }

   final void method15018() {
      this.aBool9658 = false;
      this.method15020();
      if(this.aClass344_9654 == Class344.aClass344_4385) {
         this.method15109();
      }

   }

   final void method15019() {
      if(this.aClass344_9654 != Class344.aClass344_4386) {
         Class344 var1 = this.aClass344_9654;
         this.aClass344_9654 = Class344.aClass344_4386;
         if(var1 == Class344.aClass344_4385) {
            this.method15007();
         }

         this.method15124();
         this.aClass317_9661 = this.aClass317_9656;
         this.method15109();
         this.method14997();
         this.anInt9759 &= -9;
      }

   }

   final void method15020() {
      if(!this.aBool9658) {
         this.aBool9658 = true;
      }

   }

   abstract Interface36 method15021(Class98 var1, Class91 var2, int var3, int var4);

   public final void RA(boolean var1) {
      this.aBool9713 = var1;
      this.method15025();
   }

   final void method15022(boolean var1) {
      if(var1 != this.aBool9616) {
         this.aBool9616 = var1;
         this.method15024();
         this.anInt9759 &= -16;
      }

   }

   final void method15023(boolean var1) {
      if(var1 != this.aBool9691) {
         this.aBool9691 = var1;
         this.method15025();
         this.anInt9759 &= -16;
      }

   }

   abstract void method15024();

   abstract void method15025();

   abstract void method15026(int var1, Class351 var2, boolean var3);

   public void method11650(float var1, float var2, float var3, float[] var4) {
      float var5 = this.aClass317_9663.aFloatArray4000[15] + this.aClass317_9663.aFloatArray4000[3] * var1 + this.aClass317_9663.aFloatArray4000[7] * var2 + this.aClass317_9663.aFloatArray4000[11] * var3;
      float var6 = this.aClass317_9663.aFloatArray4000[12] + this.aClass317_9663.aFloatArray4000[0] * var1 + this.aClass317_9663.aFloatArray4000[4] * var2 + this.aClass317_9663.aFloatArray4000[8] * var3;
      float var7 = this.aClass317_9663.aFloatArray4000[13] + this.aClass317_9663.aFloatArray4000[1] * var1 + this.aClass317_9663.aFloatArray4000[5] * var2 + this.aClass317_9663.aFloatArray4000[9] * var3;
      float var8 = this.aClass317_9766.aFloatArray4000[14] + this.aClass317_9766.aFloatArray4000[2] * var1 + this.aClass317_9766.aFloatArray4000[6] * var2 + this.aClass317_9766.aFloatArray4000[10] * var3;
      var4[0] = this.aFloat9666 + this.aFloat9667 * var6 / var5;
      var4[1] = this.aFloat9669 + this.aFloat9740 * var7 / var5;
      var4[2] = var8;
   }

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

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

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

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

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

      return var7;
   }

   public final int method11505() {
      return this.anInt9636 - 2;
   }

   final void method15027(boolean var1) {
      if(var1 != this.aBool9685) {
         this.aBool9685 = var1;
         this.method15030();
         this.anInt9759 &= -8;
      }

   }

   public final Interface37 method15028() {
      return this.aClass79_Sub2_9741 != null?this.aClass79_Sub2_9741.method14856():null;
   }

   public final void IA(float var1) {
      if(this.aFloat9760 != var1) {
         this.aFloat9760 = var1;
         this.method15031();
         this.method15034();
      }

   }

   public final void m(int var1, float var2, float var3, float var4, float var5, float var6) {
      boolean var7 = this.anInt9700 != var1;
      if(var7 || this.aFloat9705 != var2 || this.aFloat9706 != var3) {
         this.anInt9700 = var1;
         this.aFloat9705 = var2;
         this.aFloat9706 = var3;
         if(var7) {
            this.aFloat9701 = (float)(this.anInt9700 & 16711680) / 1.671168E7F;
            this.aFloat9702 = (float)(this.anInt9700 & '\uff00') / 65280.0F;
            this.aFloat9703 = (float)(this.anInt9700 & 255) / 255.0F;
            this.method15031();
         }

         this.method15032();
      }

      if(this.aFloatArray9698[0] != var4 || this.aFloatArray9698[1] != var5 || this.aFloatArray9698[2] != var6) {
         this.aFloatArray9698[0] = var4;
         this.aFloatArray9698[1] = var5;
         this.aFloatArray9698[2] = var6;
         this.aFloatArray9677[0] = -var4;
         this.aFloatArray9677[1] = -var5;
         this.aFloatArray9677[2] = -var6;
         float var8 = (float)(1.0D / Math.sqrt((double)(var4 * var4 + var5 * var5 + var6 * var6)));
         this.aFloatArray9712[0] = var4 * var8;
         this.aFloatArray9712[1] = var5 * var8;
         this.aFloatArray9712[2] = var6 * var8;
         this.aFloatArray9697[0] = -this.aFloatArray9712[0];
         this.aFloatArray9697[1] = -this.aFloatArray9712[1];
         this.aFloatArray9697[2] = -this.aFloatArray9712[2];
         this.method15284();
         this.anInt9784 = (int)(var4 * 256.0F / var5);
         this.anInt9687 = (int)(var6 * 256.0F / var5);
      }

      this.method15034();
   }

   abstract void method15029(int var1);

   abstract void method15030();

   abstract void method15031();

   abstract void method15032();

   abstract Interface40 method15033(boolean var1);

   abstract void method15034();

   abstract void method15035();

   final void method15036() {
      this.method15078(0, this.anInterface35_9770);
      this.method14991(this.aClass341_9773);
      this.method14993(Class374.aClass374_4671, 0, 1);
   }

   abstract void method15037();

   abstract boolean method15038(Class98 var1, Class91 var2);

   abstract boolean method15039(Class98 var1, Class91 var2);

   final Interface33 method15040(int var1, int var2, boolean var3, int[] var4) {
      return this.method15081(var1, var2, var3, var4, 0, 0);
   }

   final Interface33 method15041(Class98 var1, int var2, int var3, boolean var4, byte[] var5) {
      return this.method15231(var1, var2, var3, var4, var5, 0, 0);
   }

   final Interface33 method15042(Class98 var1, int var2, int var3, boolean var4, float[] var5) {
      return this.method15060(var1, var2, var3, var4, var5, 0, 0);
   }

   abstract Interface33 method15043(Class98 var1, Class91 var2, int var3, int var4);

   public final boolean method11643() {
      return true;
   }

   byte[] method15044(String var1, String var2) {
      return this.aClass253_9626.method4573(var1, var2, (byte)-92);
   }

   public final void method15045() {
      if(this.anInt9759 != 2) {
         this.method15015();
         this.method15071(false);
         this.method15027(false);
         this.method15022(false);
         this.method15023(false);
         this.anInt9759 = 2;
      }

   }

   abstract Interface37 method15046(int var1, boolean var2, int[][] var3);

   abstract Interface3 method15047(Class98 var1, int var2, int var3, int var4, boolean var5, byte[] var6);

   abstract Interface36 method15048(Class98 var1, Class91 var2, int var3, int var4);

   public final int method15049() {
      return this.anInt9625;
   }

   public final void method15050(int var1) {
      if(this.anInt9625 != var1) {
         this.anInt9625 = var1;
         this.method15064();
      }

   }

   public final void method15051(Interface38 var1) {
      if(this.anInterface38Array9704[this.anInt9625] != var1) {
         this.anInterface38Array9704[this.anInt9625] = var1;
         if(var1 != null) {
            var1.method228();
         } else {
            this.anInterface33_9693.method228();
         }

         this.anInt9759 &= -2;
      }

   }

   public abstract void method15052();

   public final void method15053(int var1) {
      switch(var1) {
      case 0:
         this.method15054(Class367.aClass367_4610, Class367.aClass367_4610);
         break;
      case 1:
         this.method15054(Class367.aClass367_4609, Class367.aClass367_4609);
         break;
      case 2:
         this.method15054(Class367.aClass367_4613, Class367.aClass367_4609);
         break;
      case 3:
         this.method15054(Class367.aClass367_4612, Class367.aClass367_4610);
         break;
      case 4:
         this.method15054(Class367.aClass367_4611, Class367.aClass367_4611);
      }

   }

   public final void method15054(Class367 var1, Class367 var2) {
      boolean var3 = false;
      if(this.aClass367Array9718[this.anInt9625] != var1) {
         this.aClass367Array9718[this.anInt9625] = var1;
         this.method15126();
         var3 = true;
      }

      if(this.aClass367Array9743[this.anInt9625] != var2) {
         this.aClass367Array9743[this.anInt9625] = var2;
         this.method15083();
         var3 = true;
      }

      if(var3) {
         this.anInt9759 &= -14;
      }

   }

   public final void method15055(int var1, Class351 var2) {
      this.method15056(var1, var2, false, false);
   }

   abstract void method15056(int var1, Class351 var2, boolean var3, boolean var4);

   final void method15057() {
      this.method15063();
   }

   abstract void method15058(int var1, Class351 var2, boolean var3);

   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) {}

   final Class317 method15059() {
      return this.aClass317Array9716[this.anInt9625];
   }

   abstract Interface33 method15060(Class98 var1, int var2, int var3, boolean var4, float[] var5, int var6, int var7);

   public final void method11563(int var1, Class225_Sub40[] var2) {
      for(int var3 = 0; var3 < var1; ++var3) {
         this.aClass225_Sub40Array9719[var3] = var2[var3];
      }

      this.anInt9709 = var1;
   }

   public final boolean method11626() {
      if(this.aClass352Array9690[1] != null && !this.aClass352Array9690[1].method6369()) {
         boolean var1 = this.aClass345_9772.method6303(this.aClass352Array9690[1]);
         if(var1) {
            this.aClass58_9721.method1272();
         }

         return var1;
      } else {
         return false;
      }
   }

   final void method15061() {
      if(!this.aBool9658) {
         this.aBool9658 = true;
      }

   }

   abstract void method15062();

   abstract void method15063();

   abstract void method15064();

   public final int method11595(int var1, int var2) {
      return var1 & var2 ^ var2;
   }

   final void method15065() {
      if(this.aClass368Array9717[this.anInt9625] != Class368.aClass368_4615) {
         this.aClass368Array9717[this.anInt9625] = Class368.aClass368_4615;
         this.aClass317Array9716[this.anInt9625].method5733();
         this.method15002();
      }

   }

   Class153 method15066() {
      return this.aClass153_9676;
   }

   public final boolean method11440() {
      return true;
   }

   public final void method11496(int var1, Class153 var2) {
      if(!this.aBool9653) {
         throw new RuntimeException("");
      } else {
         this.anInt9744 = var1;
         this.aClass153_9676 = var2;
         if(this.aBool9758) {
            this.aClass74Array9729[3].method1595();
            this.aClass74Array9729[3].method1596();
         }

      }
   }

   public final void O() {
      this.aBool9653 = false;
   }

   abstract Interface33 method15067(Class98 var1, Class91 var2, int var3, int var4);

   final void method15068(int var1) {
      if(this.anInt9742 != var1) {
         this.anInt9742 = var1;
         this.method15128();
      }

   }

   final void CA(int var1, int var2, int var3, int var4, int var5) {}

   abstract void method15069();

   public final boolean method11539() {
      return this.aBool9768;
   }

   abstract void method15070();

   final void method15071(boolean var1) {
      if(var1 != this.aBool9746) {
         this.aBool9746 = var1;
         this.method15259();
         this.anInt9759 &= -16;
      }

   }

   public final void c(int var1, int var2, int var3) {
      if(this.anInt9748 != var1 || this.anInt9623 != var2 || this.anInt9750 != var3) {
         this.anInt9748 = var1;
         this.anInt9623 = var2;
         this.anInt9750 = var3;
         this.method15205();
         this.method15259();
      }

   }

   public final void jz() {
      this.aBool9653 = false;
   }

   abstract void method15072();

   public final void method15073() {
      if(this.anInt9759 != 2) {
         this.method15015();
         this.method15071(false);
         this.method15027(false);
         this.method15022(false);
         this.method15023(false);
         this.anInt9759 = 2;
      }

   }

   abstract void method15074(boolean var1);

   abstract Interface40 method15075(boolean var1);

   public final Class171 method11484(int var1, int var2, int var3, int var4, boolean var5) {
      Class171_Sub3 var6 = new Class171_Sub3(this, var3, var4, var5, false);
      var6.method2924(0, 0, var3, var4, var1, var2);
      return var6;
   }

   abstract Class341 method15076(Class348[] var1);

   public final Interface37 method15077() {
      return this.aClass79_Sub2_9741 != null?this.aClass79_Sub2_9741.method14856():null;
   }

   public abstract void method15078(int var1, Interface35 var2);

   abstract void method15079(Interface40 var1);

   public final void DA(int var1, Class496 var2, int var3, int var4) {
      this.RA(false);
      this.aClass171_Sub3_9725.method2942(0.0F, 0.0F, (float)this.method11482((byte)14).method2741(), 0.0F, 0.0F, (float)this.method11482((byte)14).method2742(), 0, var2, var3, var4);
      this.RA(true);
   }

   public final Class8 method11587(Class405 var1, Class86_Sub1[] var2, boolean var3) {
      return new Class8_Sub5(this, var1, var2, var3);
   }

   public final void method11439(int var1, int var2, int var3, int var4, int var5, int var6) {
      --var3;
      --var4;
      byte var7 = 0;
      if(this instanceof Class545_Sub2_Sub2) {
         var7 = -1;
      }

      this.method11627(var1, var2 + var7, var1 + var3, var2 + var7, var5, var6);
      this.method11627(var1, var2 + var4 + var7, var1 + var3, var2 + var4 + var7, var5, var6);
      this.method11627(var1, var2, var1, var2 + var4, var5, var6);
      this.method11627(var1 + var3, var2, var1 + var3, var2 + var4, var5, var6);
   }

   public final void N(int var1, int var2, int var3, int var4, int var5, int var6, byte[] var7, int var8, int var9) {}

   public final 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) {}

   public final void ec() {
      if(this.aClass151_7359 != null) {
         this.anInt9735 = 0;
         this.anInt9678 = 0;
         this.anInt9679 = this.aClass151_7359.method2741();
         this.anInt9745 = this.aClass151_7359.method2742();
      } else {
         this.anInt9745 = 0;
         this.anInt9679 = 0;
         this.anInt9735 = 0;
         this.anInt9678 = 0;
      }

      if(this.aBool9783) {
         this.aBool9783 = false;
         this.method15101();
      }

   }

   public final void XA(int var1, int var2, int var3, int var4, int var5) {
      this.method11627(var1, var2, var1 + var3, var2, var4, var5);
   }

   public final void G(int var1, int var2, int var3, int var4, int var5) {
      this.method11627(var1, var2, var1, var2 + var3, var4, var5);
   }

   public final void method11627(int var1, int var2, int var3, int var4, int var5, int var6) {
      this.method11476(var1, var2, var3, var4, var5, 1, var6);
   }

   public void method11474(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) {
      float var10 = (float)var3 - (float)var1;
      float var11 = (float)var4 - (float)var2;
      if(var10 == 0.0F && var11 == 0.0F) {
         var10 = 1.0F;
      } else {
         float var12 = (float)(1.0D / Math.sqrt((double)(var10 * var10 + var11 * var11)));
         var10 *= var12;
         var11 *= var12;
      }

      this.method15015();
      Class74 var23 = this.aClass74Array9729[13];
      var23.method1592();
      var23.method1594(var5);
      this.method15173(var6);
      var23.method1604();
      this.method15074(false);
      var9 %= var8 + var7;
      float var13 = var10 * (float)var7;
      float var14 = var11 * (float)var7;
      float var15 = 0.0F;
      float var16 = 0.0F;
      float var17 = var13;
      float var18 = var14;
      if(var9 > var7) {
         var15 = var10 * (float)(var7 + var8 - var9);
         var16 = var11 * (float)(var7 + var8 - var9);
      } else {
         var17 = var10 * (float)(var7 - var9);
         var18 = var11 * (float)(var7 - var9);
      }

      float var19 = (float)var1 + var15;
      float var20 = (float)var2 + var16;
      float var21 = var10 * (float)var8;
      float var22 = var11 * (float)var8;

      while(true) {
         if(var3 > var1) {
            if(var19 > (float)var3) {
               break;
            }

            if(var19 + var17 > (float)var3) {
               var17 = (float)var3 - var19;
            }
         } else {
            if(var19 < (float)var3) {
               break;
            }

            if(var19 + var17 < (float)var3) {
               var17 = (float)var3 - var19;
            }
         }

         if(var4 > var2) {
            if(var20 > (float)var4) {
               break;
            }

            if(var20 + var18 > (float)var4) {
               var18 = (float)var4 - var20;
            }
         } else {
            if(var20 < (float)var4) {
               break;
            }

            if(var20 + var18 < (float)var4) {
               var18 = (float)var4 - var20;
            }
         }

         if(!this.method14980(var19, var20, 0.0F, var19 + var17, var20 + var18, 0.0F)) {
            return;
         }

         this.method15036();
         var19 += var21 + var17;
         var20 += var22 + var18;
         var17 = var13;
         var18 = var14;
      }

      this.method15074(true);
      var23.method1593();
   }

   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) {}

   abstract void method15080();

   public final void method11476(int var1, int var2, int var3, int var4, int var5, int var6, int var7) {
      var1 = (int)((float)var1 + 1.0F);
      var2 = (int)((float)var2 + 1.0F);
      var3 = (int)((float)var3 + 1.0F);
      var4 = (int)((float)var4 + 1.0F);
      float var8 = (float)(var3 - var1);
      float var9 = (float)(var4 - var2);
      float var10 = 1.0F / (float)Math.sqrt((double)(var8 * var8 + var9 * var9));
      var8 *= var10;
      var9 *= var10;
      var1 = (int)((float)var1 - var8);
      var2 = (int)((float)var2 - var9);
      float var11 = -var9;
      var11 *= 0.5F * (float)var6;
      float var12 = var8 * 0.5F * (float)var6;
      this.aClass171_Sub3_9724.method2920((float)var1 - var11, (float)var2 - var12, (float)var3 - var11, (float)var4 - var12, (float)var1 + var11, (float)var2 + var12, 0, var5, var7);
   }

   abstract Interface33 method15081(int var1, int var2, boolean var3, int[] var4, int var5, int var6);

   abstract void method15082(Interface40 var1, Class374 var2, int var3, int var4, int var5, int var6);

   abstract void method15083();

   final void method15084(Class374 var1, int var2) {
      this.method15078(0, this.anInterface35_9781);
      this.method14991(this.aClass341_9774);
      this.method14993(var1, 0, var2);
   }

   final void method15085() {
      if(!this.aBool9655) {
         int var1;
         int var2;
         if(this.aClass151_7359 != null) {
            var1 = this.aClass151_7359.method2741();
            var2 = this.aClass151_7359.method2742();
         } else {
            var2 = 0;
            var1 = 0;
         }

         Class317 var3 = this.aClass317_9656;
         if(var1 != 0 && var2 != 0) {
            var3.method5703(0.0F, (float)var1, 0.0F, (float)var2, -1.0F, 1.0F);
         } else {
            var3.method5733();
         }

         this.aClass317_9657.method5609(var3);
         this.method15013(this.aClass317_9657);
         this.aBool9655 = true;
      }

   }

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

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

   public final void method15087() {
      if(this.anInt9759 != 2) {
         this.method15015();
         this.method15071(false);
         this.method15027(false);
         this.method15022(false);
         this.method15023(false);
         this.anInt9759 = 2;
      }

   }

   final void method15088() {
      if(this.anInt9759 != 8) {
         this.method15113();
         this.method15071(true);
         this.method15022(true);
         this.method15023(true);
         this.method15173(1);
         this.anInt9759 = 8;
      }

   }

   abstract void method15089(int var1);

   void method11527() {
      if(!this.aBool9631) {
         this.method15185();
         this.aClass58_9721.method1272();

         for(Class225 var1 = this.aClass456_9635.method7682((byte)126); var1 != null; var1 = this.aClass456_9635.method7666(-1383566549)) {
            ((Class225_Sub1_Sub2)var1).method15783();
         }

         Class8.method657(false, true, (byte)-95);

         int var2;
         for(var2 = 0; var2 < this.aClass74Array9729.length; ++var2) {
            if(this.aClass74Array9729[var2] != null) {
               this.aClass74Array9729[var2].method1598();
               this.aClass74Array9729[var2] = null;
            }
         }

         for(var2 = 0; var2 < this.aClass352Array9690.length; ++var2) {
            if(this.aClass352Array9690[var2] != null) {
               this.aClass352Array9690[var2].method6373();
               this.aClass352Array9690[var2] = null;
            }
         }

         this.method14966();
         this.method11433(0);
         this.aBool9631 = true;
      }

   }

   void method11528() {
      if(!this.aBool9631) {
         this.method15185();
         this.aClass58_9721.method1272();

         for(Class225 var1 = this.aClass456_9635.method7682((byte)84); var1 != null; var1 = this.aClass456_9635.method7666(-1602773751)) {
            ((Class225_Sub1_Sub2)var1).method15783();
         }

         Class8.method657(false, true, (byte)-79);

         int var2;
         for(var2 = 0; var2 < this.aClass74Array9729.length; ++var2) {
            if(this.aClass74Array9729[var2] != null) {
               this.aClass74Array9729[var2].method1598();
               this.aClass74Array9729[var2] = null;
            }
         }

         for(var2 = 0; var2 < this.aClass352Array9690.length; ++var2) {
            if(this.aClass352Array9690[var2] != null) {
               this.aClass352Array9690[var2].method6373();
               this.aClass352Array9690[var2] = null;
            }
         }

         this.method14966();
         this.method11433(0);
         this.aBool9631 = true;
      }

   }

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

   void method15090() {
      this.aClass345_9772.method6317();
      this.anInterface35_9781.method10();
      this.anInterface35_9770.method10();
      this.anInterface35_9650.method10();

      for(int var1 = 0; var1 < 7; ++var1) {
         this.aClass568_Sub3Array9780[var1].method14890();
      }

      this.aClass346_9771.method6327();
      this.anInterface40_9664.method10();
      this.aClass372_9727.method6515();
      this.aClass372_9727 = null;
   }

   public void method11531(int var1) {
      if(this.aClass58_9721 != null) {
         this.aClass58_9721.method1271();
      }

      this.anInt9644 = var1 & Integer.MAX_VALUE;
   }

   public final int dg() {
      return this.anInt9637 + this.anInt9722 + this.anInt9638;
   }

   final void method15091(int var1) {
      if(this.anInt9742 != var1) {
         this.anInt9742 = var1;
         this.method15128();
      }

   }

   public final boolean method11533() {
      return true;
   }

   public final boolean method11618() {
      return true;
   }

   public abstract boolean method15092();

   void method15093() {
      this.method15016();
      this.method15018();
      this.method15014();
      this.method11459();
      this.L();
   }

   public final boolean method11536() {
      return true;
   }

   public void method15094(int var1) {
      if(var1 != this.anInt9720) {
         this.anInt9720 = var1;
         this.method15062();
      }

   }

   public final boolean method11538() {
      return this.aBool9768;
   }

   abstract void method15095();

   public final boolean method11540() {
      return false;
   }

   final void method15096() {
      if(this.aClass74_9728 != null) {
         this.aClass74_9728.method1596();
      }

      this.method15072();
   }

   final void method15097() {
      this.aBool9715 = false;
   }

   final void method15098() {
      this.aBool9655 = false;
      if(this.aClass344_9654 == Class344.aClass344_4386) {
         this.method15124();
         this.method15109();
      }

   }

   public final void eq(boolean var1) {
      this.aBool9713 = var1;
      this.method15025();
   }

   public final void ev(boolean var1) {
      this.aBool9713 = var1;
      this.method15025();
   }

   public void method11553() {
      this.anInt9680 = 0;
      this.anInt9684 = 0;
      this.anInt9682 = this.aClass151_7359.method2741();
      this.anInt9737 = this.aClass151_7359.method2742();
      this.method14997();
   }

   public void method11559() {
      this.anInt9680 = 0;
      this.anInt9684 = 0;
      this.anInt9682 = this.aClass151_7359.method2741();
      this.anInt9737 = this.aClass151_7359.method2742();
      this.method14997();
   }

   public void method11671(int var1, int var2, int var3, int var4) {
      this.anInt9680 = var1;
      this.anInt9684 = var2;
      this.anInt9682 = var3;
      this.anInt9737 = var4;
      this.method14997();
   }

   abstract Interface33 method15099(Class98 var1, int var2, int var3, boolean var4, float[] var5, int var6, int var7);

   final void method15100(boolean var1) {
      if(var1 != this.aBool9685) {
         this.aBool9685 = var1;
         this.method15030();
         this.anInt9759 &= -8;
      }

   }

   public final void ey() {
      if(this.aClass151_7359 != null) {
         this.anInt9735 = 0;
         this.anInt9678 = 0;
         this.anInt9679 = this.aClass151_7359.method2741();
         this.anInt9745 = this.aClass151_7359.method2742();
      } else {
         this.anInt9745 = 0;
         this.anInt9679 = 0;
         this.anInt9735 = 0;
         this.anInt9678 = 0;
      }

      if(this.aBool9783) {
         this.aBool9783 = false;
         this.method15101();
      }

   }

   public final void fz() {
      if(this.aClass151_7359 != null) {
         this.anInt9735 = 0;
         this.anInt9678 = 0;
         this.anInt9679 = this.aClass151_7359.method2741();
         this.anInt9745 = this.aClass151_7359.method2742();
      } else {
         this.anInt9745 = 0;
         this.anInt9679 = 0;
         this.anInt9735 = 0;
         this.anInt9678 = 0;
      }

      if(this.aBool9783) {
         this.aBool9783 = false;
         this.method15101();
      }

   }

   abstract void method15101();

   public final void method15102(Class368 var1) {
      this.aClass368Array9717[this.anInt9625] = var1;
      this.method15002();
   }

   final void method15103() {
      this.anInterface35_9770 = this.method15237(true);
      this.anInterface35_9770.method220(24, 12);
      this.aClass341_9773 = this.method15076(new Class348[]{new Class348(Class347.aClass347_4429)});
   }

   public final void fl(int var1, int var2, int var3, int var4) {
      int var5;
      int var6;
      if(this.aClass151_7359 != null) {
         var5 = this.aClass151_7359.method2741();
         var6 = this.aClass151_7359.method2742();
      } else {
         var6 = 0;
         var5 = 0;
      }

      if(var1 <= 0 && var3 >= var5 - 1 && var2 <= 0 && var4 >= var6 - 1) {
         this.L();
      } else {
         this.anInt9678 = var1 >= 0?var1:0;
         this.anInt9679 = var3 <= var5?var3:var5;
         this.anInt9735 = var2 >= 0?var2:0;
         this.anInt9745 = var4 <= var6?var4:var6;
         if(!this.aBool9783 && (this.aBool9726 || this.method14995() == Class349.aClass349_4449)) {
            this.aBool9783 = true;
            this.method15101();
         }

         this.method14982();
      }
   }

   public final void fp(int var1, int var2, int var3, int var4) {
      int var5;
      int var6;
      if(this.aClass151_7359 != null) {
         var5 = this.aClass151_7359.method2741();
         var6 = this.aClass151_7359.method2742();
      } else {
         var6 = 0;
         var5 = 0;
      }

      if(var1 <= 0 && var3 >= var5 - 1 && var2 <= 0 && var4 >= var6 - 1) {
         this.L();
      } else {
         this.anInt9678 = var1 >= 0?var1:0;
         this.anInt9679 = var3 <= var5?var3:var5;
         this.anInt9735 = var2 >= 0?var2:0;
         this.anInt9745 = var4 <= var6?var4:var6;
         if(!this.aBool9783 && (this.aBool9726 || this.method14995() == Class349.aClass349_4449)) {
            this.aBool9783 = true;
            this.method15101();
         }

         this.method14982();
      }
   }

   public final Class496 method11584(int var1, int var2, int[] var3, int[] var4) {
      return Class496_Sub1.method15399(this, var1, var2, var3, var4);
   }

   public abstract void method15104(Class374 var1, int var2, int var3);

   public final void fg(int[] var1) {
      var1[0] = this.anInt9678;
      var1[1] = this.anInt9735;
      var1[2] = this.anInt9679;
      var1[3] = this.anInt9745;
   }

   public final void fu(int var1, int var2, int var3, int var4, int var5, int var6, byte[] var7, int var8, int var9) {}

   public final boolean method11630() {
      return this.aClass352Array9690[1] != null && this.aClass352Array9690[1].method6369();
   }

   public final void method11682(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9) {}

   public final void fm(int var1, int var2, int var3, int var4, int var5, int var6, byte[] var7, int var8, int var9) {}

   final void fv(int var1, int var2, int var3, int var4, int var5) {}

   public static boolean method15105() {
      return Class335.method6178(-1296162418).method310("jaclib", 2098226057);
   }

   public final Class171 method11436(int var1, int var2, int var3, int var4, boolean var5) {
      Class171_Sub3 var6 = new Class171_Sub3(this, var3, var4, var5, false);
      var6.method2924(0, 0, var3, var4, var1, var2);
      return var6;
   }

   public final void method11620(int var1, int var2, int var3, int var4, int var5, int var6) {
      this.method11476(var1, var2, var3, var4, var5, 1, var6);
   }

   public void method11562(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) {
      float var10 = (float)var3 - (float)var1;
      float var11 = (float)var4 - (float)var2;
      if(var10 == 0.0F && var11 == 0.0F) {
         var10 = 1.0F;
      } else {
         float var12 = (float)(1.0D / Math.sqrt((double)(var10 * var10 + var11 * var11)));
         var10 *= var12;
         var11 *= var12;
      }

      this.method15015();
      Class74 var23 = this.aClass74Array9729[13];
      var23.method1592();
      var23.method1594(var5);
      this.method15173(var6);
      var23.method1604();
      this.method15074(false);
      var9 %= var8 + var7;
      float var13 = var10 * (float)var7;
      float var14 = var11 * (float)var7;
      float var15 = 0.0F;
      float var16 = 0.0F;
      float var17 = var13;
      float var18 = var14;
      if(var9 > var7) {
         var15 = var10 * (float)(var7 + var8 - var9);
         var16 = var11 * (float)(var7 + var8 - var9);
      } else {
         var17 = var10 * (float)(var7 - var9);
         var18 = var11 * (float)(var7 - var9);
      }

      float var19 = (float)var1 + var15;
      float var20 = (float)var2 + var16;
      float var21 = var10 * (float)var8;
      float var22 = var11 * (float)var8;

      while(true) {
         if(var3 > var1) {
            if(var19 > (float)var3) {
               break;
            }

            if(var19 + var17 > (float)var3) {
               var17 = (float)var3 - var19;
            }
         } else {
            if(var19 < (float)var3) {
               break;
            }

            if(var19 + var17 < (float)var3) {
               var17 = (float)var3 - var19;
            }
         }

         if(var4 > var2) {
            if(var20 > (float)var4) {
               break;
            }

            if(var20 + var18 > (float)var4) {
               var18 = (float)var4 - var20;
            }
         } else {
            if(var20 < (float)var4) {
               break;
            }

            if(var20 + var18 < (float)var4) {
               var18 = (float)var4 - var20;
            }
         }

         if(!this.method14980(var19, var20, 0.0F, var19 + var17, var20 + var18, 0.0F)) {
            return;
         }

         this.method15036();
         var19 += var21 + var17;
         var20 += var22 + var18;
         var17 = var13;
         var18 = var14;
      }

      this.method15074(true);
      var23.method1593();
   }

   final void method15106() {
      if(this.method15125()) {
         this.method15037();
      }

      this.anInt9708 = this.anInt9709;
   }

   public final void method11564(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9) {}

   public final void method11565(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9) {}

   public final void method11566(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9) {}

   public final void method11492(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9) {}

   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) {}

   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) {}

   public static boolean method15107() {
      return Class335.method6178(1664669986).method310("jaclib", 2098226057);
   }

   public final NativeHeapBuffer method15108(int var1, boolean var2) {
      return this.aNativeHeap9634.method825(var1, var2);
   }

   public final void r(int var1, int var2, int var3, int var4) {
      int var5;
      int var6;
      if(this.aClass151_7359 != null) {
         var5 = this.aClass151_7359.method2741();
         var6 = this.aClass151_7359.method2742();
      } else {
         var6 = 0;
         var5 = 0;
      }

      if(var1 <= 0 && var3 >= var5 - 1 && var2 <= 0 && var4 >= var6 - 1) {
         this.L();
      } else {
         this.anInt9678 = var1 >= 0?var1:0;
         this.anInt9679 = var3 <= var5?var3:var5;
         this.anInt9735 = var2 >= 0?var2:0;
         this.anInt9745 = var4 <= var6?var4:var6;
         if(!this.aBool9783 && (this.aBool9726 || this.method14995() == Class349.aClass349_4449)) {
            this.aBool9783 = true;
            this.method15101();
         }

         this.method14982();
      }
   }

   public final void method11573(int var1, int var2, int var3, int var4, int var5, int var6, int var7) {
      var1 = (int)((float)var1 + 1.0F);
      var2 = (int)((float)var2 + 1.0F);
      var3 = (int)((float)var3 + 1.0F);
      var4 = (int)((float)var4 + 1.0F);
      float var8 = (float)(var3 - var1);
      float var9 = (float)(var4 - var2);
      float var10 = 1.0F / (float)Math.sqrt((double)(var8 * var8 + var9 * var9));
      var8 *= var10;
      var9 *= var10;
      var1 = (int)((float)var1 - var8);
      var2 = (int)((float)var2 - var9);
      float var11 = -var9;
      var11 *= 0.5F * (float)var6;
      float var12 = var8 * 0.5F * (float)var6;
      this.aClass171_Sub3_9724.method2920((float)var1 - var11, (float)var2 - var12, (float)var3 - var11, (float)var4 - var12, (float)var1 + var11, (float)var2 + var12, 0, var5, var7);
   }

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

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

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

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

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

      return var7;
   }

   public final Class225_Sub1 method11575(int var1) {
      Class225_Sub1_Sub2 var2 = new Class225_Sub1_Sub2(var1);
      this.aClass456_9635.method7712(var2, (byte)49);
      return var2;
   }

   public final Class225_Sub1 method11452(int var1) {
      Class225_Sub1_Sub2 var2 = new Class225_Sub1_Sub2(var1);
      this.aClass456_9635.method7712(var2, (byte)6);
      return var2;
   }

   public final Class171 method11577(int var1, int var2, boolean var3, boolean var4) {
      return new Class171_Sub3(this, var1, var2, var3, var4);
   }

   final void method15109() {
      this.aClass317_9662.method5609(this.aClass317_9661);
      this.method15013(this.aClass317_9662);
      this.aFloat9675 = (this.aClass317_9662.aFloatArray4000[14] - this.aClass317_9662.aFloatArray4000[15]) / (this.aClass317_9662.aFloatArray4000[11] - this.aClass317_9662.aFloatArray4000[10]);
      this.aFloat9696 = -this.aClass317_9662.aFloatArray4000[14] / this.aClass317_9662.aFloatArray4000[10];
      this.method15205();
   }

   abstract void method15110();

   public final Class79 method11507(int var1, int var2, int var3, int var4, int var5, int var6) {
      return new Class79_Sub2_Sub1(this, var1, var2, var3, var4, var5, var6);
   }

   public final Class171 method11631(Class86 var1, boolean var2) {
      Class171 var4;
      if(var1.method1691() != 0 && var1.method1704() != 0) {
         int[] var3 = var1.method1709(false);
         var4 = this.method11599(var3, 0, var1.method1691(), var1.method1691(), var1.method1704(), 98312473);
      } else {
         var4 = this.method11599(new int[]{0}, 0, 1, 1, 1, 98312473);
      }

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

   public final Class79 method11469(int var1, int var2, int var3, int var4, int var5, int var6) {
      return new Class79_Sub2_Sub1(this, var1, var2, var3, var4, var5, var6);
   }

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

   public final Class171 method11707(int var1, int var2, int var3, int var4, boolean var5) {
      Class171_Sub3 var6 = new Class171_Sub3(this, var3, var4, var5, false);
      var6.method2924(0, 0, var3, var4, var1, var2);
      return var6;
   }

   public final Class171 method11583(int var1, int var2, int var3, int var4, boolean var5) {
      Class171_Sub3 var6 = new Class171_Sub3(this, var3, var4, var5, false);
      var6.method2924(0, 0, var3, var4, var1, var2);
      return var6;
   }

   final void method15111(int var1, int var2) {
      this.anInt9688 = var1;
      this.anInt9689 = var2;
      this.method15291();
      this.method14982();
   }

   public final void method11479(Class225_Sub1 var1) {
      this.aNativeHeap9634 = ((Class225_Sub1_Sub2)var1).aNativeHeap10184;
   }

   public final void gr(int var1, Class496 var2, int var3, int var4) {
      this.RA(false);
      this.aClass171_Sub3_9725.method2942(0.0F, 0.0F, (float)this.method11482((byte)14).method2741(), 0.0F, 0.0F, (float)this.method11482((byte)14).method2742(), 0, var2, var3, var4);
      this.RA(true);
   }

   public final void gj(int var1, Class496 var2, int var3, int var4) {
      this.RA(false);
      this.aClass171_Sub3_9725.method2942(0.0F, 0.0F, (float)this.method11482((byte)14).method2741(), 0.0F, 0.0F, (float)this.method11482((byte)14).method2742(), 0, var2, var3, var4);
      this.RA(true);
   }

   void method15112() {
      this.method15143(7);
      this.method14975();
   }

   public Class328 method11617() {
      return this.aClass328_9641;
   }

   public final Class8 method11582(Class405 var1, Class86_Sub1[] var2, boolean var3) {
      return new Class8_Sub5(this, var1, var2, var3);
   }

   public final void method11589(int var1) {}

   public final void method11590(int var1) {}

   public final void method11503(int var1) {}

   final void method15113() {
      if(this.aClass344_9654 != Class344.aClass344_4385) {
         this.aClass344_9654 = Class344.aClass344_4385;
         this.method15007();
         this.method15020();
         this.aClass317_9661 = this.aClass317_9659;
         this.method15109();
         this.method14997();
         this.anInt9759 &= -8;
      }

   }

   public final int method11593(int var1, int var2) {
      return var1 & var2 ^ var2;
   }

   abstract void method15114();

   public final void gs(int var1, Class496 var2, int var3, int var4) {
      this.RA(false);
      this.aClass171_Sub3_9725.method2942(0.0F, 0.0F, (float)this.method11482((byte)14).method2741(), 0.0F, 0.0F, (float)this.method11482((byte)14).method2742(), 0, var2, var3, var4);
      this.RA(true);
   }

   public final int method11546(int var1, int var2) {
      return var1 & var2 ^ var2;
   }

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

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

   final void method15115(int var1, int var2) {
      this.anInt9688 = var1;
      this.anInt9689 = var2;
      this.method15291();
      this.method14982();
   }

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

   abstract void method15116();

   public void method11519(float var1, float var2, float var3, float[] var4) {
      float var5 = this.aClass317_9663.aFloatArray4000[14] + this.aClass317_9663.aFloatArray4000[2] * var1 + this.aClass317_9663.aFloatArray4000[6] * var2 + this.aClass317_9663.aFloatArray4000[10] * var3;
      float var6 = this.aClass317_9663.aFloatArray4000[15] + this.aClass317_9663.aFloatArray4000[3] * var1 + this.aClass317_9663.aFloatArray4000[7] * var2 + this.aClass317_9663.aFloatArray4000[11] * var3;
      if(var5 >= -var6 && var5 <= var6) {
         float var7 = this.aClass317_9663.aFloatArray4000[12] + this.aClass317_9663.aFloatArray4000[0] * var1 + this.aClass317_9663.aFloatArray4000[4] * var2 + this.aClass317_9663.aFloatArray4000[8] * var3;
         if(var7 >= -var6 && var7 <= var6) {
            float var8 = this.aClass317_9663.aFloatArray4000[13] + this.aClass317_9663.aFloatArray4000[1] * var1 + this.aClass317_9663.aFloatArray4000[5] * var2 + this.aClass317_9663.aFloatArray4000[9] * var3;
            if(var8 >= -var6 && var8 <= var6) {
               float var9 = this.aClass317_9766.aFloatArray4000[14] + this.aClass317_9766.aFloatArray4000[2] * var1 + this.aClass317_9766.aFloatArray4000[6] * var2 + this.aClass317_9766.aFloatArray4000[10] * var3;
               var4[0] = this.aFloat9666 + this.aFloat9667 * var7 / var6;
               var4[1] = this.aFloat9669 + this.aFloat9740 * var8 / var6;
               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 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) {}

   public final Class328 method11726() {
      return this.aClass328_9782;
   }

   public final int method11604() {
      return this.anInt9636 - 2;
   }

   public final int method11605() {
      return this.anInt9636 - 2;
   }

   public void method15117(int var1) {
      if(var1 != this.anInt9720) {
         this.anInt9720 = var1;
         this.method15062();
      }

   }

   public final void method11561(int var1, Class225_Sub40[] var2) {
      for(int var3 = 0; var3 < var1; ++var3) {
         this.aClass225_Sub40Array9719[var3] = var2[var3];
      }

      this.anInt9709 = var1;
   }

   abstract void method15118();

   public final void method11610(Class97 var1) {
      this.aClass346_9771.method6337(this, var1);
   }

   public final void method11676(Class225_Sub1 var1) {
      this.aNativeHeap9634 = ((Class225_Sub1_Sub2)var1).aNativeHeap10184;
   }

   public Class328 method11461() {
      return this.aClass328_9641;
   }

   Class317 method15119() {
      return this.aClass317_9640;
   }

   public final void method11692(Class317 var1) {
      this.aClass317_9659.method5609(var1);
      this.method15005();
      if(this.aClass344_9654 == Class344.aClass344_4385) {
         this.method15109();
      }

   }

   public final Class317 method11614() {
      return this.aClass317_9659;
   }

   public final Class317 method11615() {
      return this.aClass317_9659;
   }

   public final void il(float var1) {
      if(this.aFloat9760 != var1) {
         this.aFloat9760 = var1;
         this.method15031();
         this.method15034();
      }

   }

   public final void iv(float var1) {
      if(this.aFloat9760 != var1) {
         this.aFloat9760 = var1;
         this.method15031();
         this.method15034();
      }

   }

   public final void ii(float var1) {
      if(this.aFloat9760 != var1) {
         this.aFloat9760 = var1;
         this.method15031();
         this.method15034();
      }

   }

   public void method15120(Interface4 var1) {
      this.aClass391_9617.method6711(var1, anObject9627, 1841065971);
   }

   public final void io(int var1, float var2, float var3, float var4, float var5, float var6) {
      boolean var7 = this.anInt9700 != var1;
      if(var7 || this.aFloat9705 != var2 || this.aFloat9706 != var3) {
         this.anInt9700 = var1;
         this.aFloat9705 = var2;
         this.aFloat9706 = var3;
         if(var7) {
            this.aFloat9701 = (float)(this.anInt9700 & 16711680) / 1.671168E7F;
            this.aFloat9702 = (float)(this.anInt9700 & '\uff00') / 65280.0F;
            this.aFloat9703 = (float)(this.anInt9700 & 255) / 255.0F;
            this.method15031();
         }

         this.method15032();
      }

      if(this.aFloatArray9698[0] != var4 || this.aFloatArray9698[1] != var5 || this.aFloatArray9698[2] != var6) {
         this.aFloatArray9698[0] = var4;
         this.aFloatArray9698[1] = var5;
         this.aFloatArray9698[2] = var6;
         this.aFloatArray9677[0] = -var4;
         this.aFloatArray9677[1] = -var5;
         this.aFloatArray9677[2] = -var6;
         float var8 = (float)(1.0D / Math.sqrt((double)(var4 * var4 + var5 * var5 + var6 * var6)));
         this.aFloatArray9712[0] = var4 * var8;
         this.aFloatArray9712[1] = var5 * var8;
         this.aFloatArray9712[2] = var6 * var8;
         this.aFloatArray9697[0] = -this.aFloatArray9712[0];
         this.aFloatArray9697[1] = -this.aFloatArray9712[1];
         this.aFloatArray9697[2] = -this.aFloatArray9712[2];
         this.method15284();
         this.anInt9784 = (int)(var4 * 256.0F / var5);
         this.anInt9687 = (int)(var6 * 256.0F / var5);
      }

      this.method15034();
   }

   public final void ij(int var1, float var2, float var3, float var4, float var5, float var6) {
      boolean var7 = this.anInt9700 != var1;
      if(var7 || this.aFloat9705 != var2 || this.aFloat9706 != var3) {
         this.anInt9700 = var1;
         this.aFloat9705 = var2;
         this.aFloat9706 = var3;
         if(var7) {
            this.aFloat9701 = (float)(this.anInt9700 & 16711680) / 1.671168E7F;
            this.aFloat9702 = (float)(this.anInt9700 & '\uff00') / 65280.0F;
            this.aFloat9703 = (float)(this.anInt9700 & 255) / 255.0F;
            this.method15031();
         }

         this.method15032();
      }

      if(this.aFloatArray9698[0] != var4 || this.aFloatArray9698[1] != var5 || this.aFloatArray9698[2] != var6) {
         this.aFloatArray9698[0] = var4;
         this.aFloatArray9698[1] = var5;
         this.aFloatArray9698[2] = var6;
         this.aFloatArray9677[0] = -var4;
         this.aFloatArray9677[1] = -var5;
         this.aFloatArray9677[2] = -var6;
         float var8 = (float)(1.0D / Math.sqrt((double)(var4 * var4 + var5 * var5 + var6 * var6)));
         this.aFloatArray9712[0] = var4 * var8;
         this.aFloatArray9712[1] = var5 * var8;
         this.aFloatArray9712[2] = var6 * var8;
         this.aFloatArray9697[0] = -this.aFloatArray9712[0];
         this.aFloatArray9697[1] = -this.aFloatArray9712[1];
         this.aFloatArray9697[2] = -this.aFloatArray9712[2];
         this.method15284();
         this.anInt9784 = (int)(var4 * 256.0F / var5);
         this.anInt9687 = (int)(var6 * 256.0F / var5);
      }

      this.method15034();
   }

   public final void fs() {
      if(this.aClass151_7359 != null) {
         this.anInt9735 = 0;
         this.anInt9678 = 0;
         this.anInt9679 = this.aClass151_7359.method2741();
         this.anInt9745 = this.aClass151_7359.method2742();
      } else {
         this.anInt9745 = 0;
         this.anInt9679 = 0;
         this.anInt9735 = 0;
         this.anInt9678 = 0;
      }

      if(this.aBool9783) {
         this.aBool9783 = false;
         this.method15101();
      }

   }

   public final void ip(int var1) {
      for(this.anInt9711 = 0; var1 > 1; var1 >>= 1) {
         ++this.anInt9711;
      }

      this.anInt9710 = 1 << this.anInt9711;
   }

   public final void method15121() {
      this.method15084(Class374.aClass374_4667, 2);
   }

   public final void native_if(int var1, int var2, int var3) {
      if(this.anInt9748 != var1 || this.anInt9623 != var2 || this.anInt9750 != var3) {
         this.anInt9748 = var1;
         this.anInt9623 = var2;
         this.anInt9750 = var3;
         this.method15205();
         this.method15259();
      }

   }

   public final Class171 method11483(Class86 var1, boolean var2) {
      Class171 var4;
      if(var1.method1691() != 0 && var1.method1704() != 0) {
         int[] var3 = var1.method1709(false);
         var4 = this.method11599(var3, 0, var1.method1691(), var1.method1691(), var1.method1704(), 98312473);
      } else {
         var4 = this.method11599(new int[]{0}, 0, 1, 1, 1, 98312473);
      }

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

   public final Class79 method11621(int var1, int var2, int var3, int var4, int var5, int var6) {
      return new Class79_Sub2_Sub1(this, var1, var2, var3, var4, var5, var6);
   }

   public final boolean method11616() {
      return true;
   }

   public final void method11625(Class79 var1) {
      this.aClass79_Sub2_9741 = (Class79_Sub2)var1;
   }

   public final void L() {
      if(this.aClass151_7359 != null) {
         this.anInt9735 = 0;
         this.anInt9678 = 0;
         this.anInt9679 = this.aClass151_7359.method2741();
         this.anInt9745 = this.aClass151_7359.method2742();
      } else {
         this.anInt9745 = 0;
         this.anInt9679 = 0;
         this.anInt9735 = 0;
         this.anInt9678 = 0;
      }

      if(this.aBool9783) {
         this.aBool9783 = false;
         this.method15101();
      }

   }

   public static boolean method15122() {
      return Class335.method6178(-727468573).method310("jaclib", 2098226057);
   }

   public final void method11628() {
      if(this.aClass352Array9690[1] != null && this.aClass352Array9690[1].method6369()) {
         this.aClass345_9772.method6305(this.aClass352Array9690[1]);
         this.aClass58_9721.method1272();
      }

   }

   public final void method11629() {
      if(this.aClass352Array9690[1] != null && this.aClass352Array9690[1].method6369()) {
         this.aClass345_9772.method6305(this.aClass352Array9690[1]);
         this.aClass58_9721.method1272();
      }

   }

   public void method15123(int var1) {
      if(var1 != this.anInt9720) {
         this.anInt9720 = var1;
         this.method15062();
      }

   }

   final void method15124() {
      if(!this.aBool9655) {
         int var1;
         int var2;
         if(this.aClass151_7359 != null) {
            var1 = this.aClass151_7359.method2741();
            var2 = this.aClass151_7359.method2742();
         } else {
            var2 = 0;
            var1 = 0;
         }

         Class317 var3 = this.aClass317_9656;
         if(var1 != 0 && var2 != 0) {
            var3.method5703(0.0F, (float)var1, 0.0F, (float)var2, -1.0F, 1.0F);
         } else {
            var3.method5733();
         }

         this.aClass317_9657.method5609(var3);
         this.method15013(this.aClass317_9657);
         this.aBool9655 = true;
      }

   }

   final boolean method15125() {
      return this.aBool9681;
   }

   public final boolean method11664() {
      return true;
   }

   abstract void method15126();

   public final void method11635(int var1, int var2, int var3, int var4) {
      this.aClass345_9772.method6309(var1, var2, var3, var4);
   }

   public final Class317 method11501() {
      return this.aClass317_9659;
   }

   public final void method11670(int var1, int var2, int var3, int var4, int var5, int var6) {
      --var3;
      --var4;
      byte var7 = 0;
      if(this instanceof Class545_Sub2_Sub2) {
         var7 = -1;
      }

      this.method11627(var1, var2 + var7, var1 + var3, var2 + var7, var5, var6);
      this.method11627(var1, var2 + var4 + var7, var1 + var3, var2 + var4 + var7, var5, var6);
      this.method11627(var1, var2, var1, var2 + var4, var5, var6);
      this.method11627(var1 + var3, var2, var1 + var3, var2 + var4, var5, var6);
   }

   public final int method11606() {
      return this.anInt9636 - 2;
   }

   public final void method11639() {
      this.aClass345_9772.method6307();
   }

   public final void method11640() {
      this.aClass345_9772.method6307();
   }

   public final void method11641() {
      this.aClass345_9772.method6307();
   }

   public final void method11642(int var1, Class153 var2) {
      this.anInt9744 = var1;
      this.aClass153_9676 = var2;
      this.aBool9653 = true;
   }

   public final void method11426(int var1, Class153 var2) {
      this.anInt9744 = var1;
      this.aClass153_9676 = var2;
      this.aBool9653 = true;
   }

   public final void method11680(int var1, Class153 var2) {
      this.anInt9744 = var1;
      this.aClass153_9676 = var2;
      this.aBool9653 = true;
   }

   public final void method11645(int var1, Class153 var2) {
      this.anInt9744 = var1;
      this.aClass153_9676 = var2;
      this.aBool9653 = true;
   }

   public final boolean method11665() {
      return true;
   }

   public abstract float method15127();

   abstract void method15128();

   public final void jq() {
      this.aBool9653 = false;
   }

   public final void jy() {
      this.aBool9653 = false;
   }

   public final void jg() {
      this.aBool9653 = false;
   }

   public final void method15129(int var1, Class351 var2) {
      this.method15058(var1, var2, false);
   }

   public final void method15130(Class367 var1, Class367 var2) {
      boolean var3 = false;
      if(this.aClass367Array9718[this.anInt9625] != var1) {
         this.aClass367Array9718[this.anInt9625] = var1;
         this.method15126();
         var3 = true;
      }

      if(this.aClass367Array9743[this.anInt9625] != var2) {
         this.aClass367Array9743[this.anInt9625] = var2;
         this.method15083();
         var3 = true;
      }

      if(var3) {
         this.anInt9759 &= -14;
      }

   }

   public final void qa(int[] var1) {
      var1[0] = this.anInt9678;
      var1[1] = this.anInt9735;
      var1[2] = this.anInt9679;
      var1[3] = this.anInt9745;
   }

   public final 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) {}

   public final void method15131(int var1, Class351 var2) {
      this.method15058(var1, var2, false);
   }

   public void method11556(float var1, float var2, float var3, float[] var4) {
      float var5 = this.aClass317_9663.aFloatArray4000[15] + this.aClass317_9663.aFloatArray4000[3] * var1 + this.aClass317_9663.aFloatArray4000[7] * var2 + this.aClass317_9663.aFloatArray4000[11] * var3;
      float var6 = this.aClass317_9663.aFloatArray4000[12] + this.aClass317_9663.aFloatArray4000[0] * var1 + this.aClass317_9663.aFloatArray4000[4] * var2 + this.aClass317_9663.aFloatArray4000[8] * var3;
      float var7 = this.aClass317_9663.aFloatArray4000[13] + this.aClass317_9663.aFloatArray4000[1] * var1 + this.aClass317_9663.aFloatArray4000[5] * var2 + this.aClass317_9663.aFloatArray4000[9] * var3;
      float var8 = this.aClass317_9766.aFloatArray4000[14] + this.aClass317_9766.aFloatArray4000[2] * var1 + this.aClass317_9766.aFloatArray4000[6] * var2 + this.aClass317_9766.aFloatArray4000[10] * var3;
      var4[0] = this.aFloat9666 + this.aFloat9667 * var6 / var5;
      var4[1] = this.aFloat9669 + this.aFloat9740 * var7 / var5;
      var4[2] = var8;
   }

   abstract void method15132();

   public void method11661(float var1, float var2, float var3, float[] var4) {
      float var5 = this.aClass317_9663.aFloatArray4000[15] + this.aClass317_9663.aFloatArray4000[3] * var1 + this.aClass317_9663.aFloatArray4000[7] * var2 + this.aClass317_9663.aFloatArray4000[11] * var3;
      float var6 = this.aClass317_9663.aFloatArray4000[12] + this.aClass317_9663.aFloatArray4000[0] * var1 + this.aClass317_9663.aFloatArray4000[4] * var2 + this.aClass317_9663.aFloatArray4000[8] * var3;
      float var7 = this.aClass317_9663.aFloatArray4000[13] + this.aClass317_9663.aFloatArray4000[1] * var1 + this.aClass317_9663.aFloatArray4000[5] * var2 + this.aClass317_9663.aFloatArray4000[9] * var3;
      float var8 = this.aClass317_9766.aFloatArray4000[14] + this.aClass317_9766.aFloatArray4000[2] * var1 + this.aClass317_9766.aFloatArray4000[6] * var2 + this.aClass317_9766.aFloatArray4000[10] * var3;
      var4[0] = this.aFloat9666 + this.aFloat9667 * var6 / var5;
      var4[1] = this.aFloat9669 + this.aFloat9740 * var7 / var5;
      var4[2] = var8;
   }

   public void method11652(float var1, float var2, float var3, float[] var4) {
      float var5 = this.aClass317_9663.aFloatArray4000[15] + this.aClass317_9663.aFloatArray4000[3] * var1 + this.aClass317_9663.aFloatArray4000[7] * var2 + this.aClass317_9663.aFloatArray4000[11] * var3;
      float var6 = this.aClass317_9663.aFloatArray4000[12] + this.aClass317_9663.aFloatArray4000[0] * var1 + this.aClass317_9663.aFloatArray4000[4] * var2 + this.aClass317_9663.aFloatArray4000[8] * var3;
      float var7 = this.aClass317_9663.aFloatArray4000[13] + this.aClass317_9663.aFloatArray4000[1] * var1 + this.aClass317_9663.aFloatArray4000[5] * var2 + this.aClass317_9663.aFloatArray4000[9] * var3;
      float var8 = this.aClass317_9766.aFloatArray4000[14] + this.aClass317_9766.aFloatArray4000[2] * var1 + this.aClass317_9766.aFloatArray4000[6] * var2 + this.aClass317_9766.aFloatArray4000[10] * var3;
      var4[0] = this.aFloat9666 + this.aFloat9667 * var6 / var5;
      var4[1] = this.aFloat9669 + this.aFloat9740 * var7 / var5;
      var4[2] = var8;
   }

   public final int method11494(int var1, int var2) {
      return var1 & var2 ^ var2;
   }

   abstract Interface3 method15133(Class98 var1, int var2, int var3, int var4, boolean var5, byte[] var6);

   public final void method11513(int var1, int var2, int var3, int var4, int var5, int var6) {
      --var3;
      --var4;
      byte var7 = 0;
      if(this instanceof Class545_Sub2_Sub2) {
         var7 = -1;
      }

      this.method11627(var1, var2 + var7, var1 + var3, var2 + var7, var5, var6);
      this.method11627(var1, var2 + var4 + var7, var1 + var3, var2 + var4 + var7, var5, var6);
      this.method11627(var1, var2, var1, var2 + var4, var5, var6);
      this.method11627(var1 + var3, var2, var1 + var3, var2 + var4, var5, var6);
   }

   public final Class317 method11602() {
      return this.aClass317_9761;
   }

   public final void method11638(int var1, int var2, int var3, int var4) {
      this.aClass345_9772.method6309(var1, var2, var3, var4);
   }

   public final void method11579(int var1, int var2, int var3, int var4, int var5, int var6) {
      --var3;
      --var4;
      byte var7 = 0;
      if(this instanceof Class545_Sub2_Sub2) {
         var7 = -1;
      }

      this.method11627(var1, var2 + var7, var1 + var3, var2 + var7, var5, var6);
      this.method11627(var1, var2 + var4 + var7, var1 + var3, var2 + var4 + var7, var5, var6);
      this.method11627(var1, var2, var1, var2 + var4, var5, var6);
      this.method11627(var1 + var3, var2, var1 + var3, var2 + var4, var5, var6);
   }

   public final void ki(int var1, int var2, int var3, int var4, int var5, int var6) {
      if(this.aBool9713) {
         this.RA(false);
         this.aClass171_Sub3_9724.method2930(var1, var2, var3, var4, 0, var5, var6);
         this.RA(true);
      } else {
         this.aClass171_Sub3_9724.method2930(var1, var2, var3, var4, 0, var5, var6);
      }

   }

   public final void kw(int var1, int var2, int var3, int var4, int var5, int var6) {
      if(this.aBool9713) {
         this.RA(false);
         this.aClass171_Sub3_9724.method2930(var1, var2, var3, var4, 0, var5, var6);
         this.RA(true);
      } else {
         this.aClass171_Sub3_9724.method2930(var1, var2, var3, var4, 0, var5, var6);
      }

   }

   public void method11673(float var1, float var2, float var3, float[] var4) {
      float var5 = this.aClass317_9663.aFloatArray4000[14] + this.aClass317_9663.aFloatArray4000[2] * var1 + this.aClass317_9663.aFloatArray4000[6] * var2 + this.aClass317_9663.aFloatArray4000[10] * var3;
      float var6 = this.aClass317_9663.aFloatArray4000[15] + this.aClass317_9663.aFloatArray4000[3] * var1 + this.aClass317_9663.aFloatArray4000[7] * var2 + this.aClass317_9663.aFloatArray4000[11] * var3;
      if(var5 >= -var6 && var5 <= var6) {
         float var7 = this.aClass317_9663.aFloatArray4000[12] + this.aClass317_9663.aFloatArray4000[0] * var1 + this.aClass317_9663.aFloatArray4000[4] * var2 + this.aClass317_9663.aFloatArray4000[8] * var3;
         if(var7 >= -var6 && var7 <= var6) {
            float var8 = this.aClass317_9663.aFloatArray4000[13] + this.aClass317_9663.aFloatArray4000[1] * var1 + this.aClass317_9663.aFloatArray4000[5] * var2 + this.aClass317_9663.aFloatArray4000[9] * var3;
            if(var8 >= -var6 && var8 <= var6) {
               float var9 = this.aClass317_9766.aFloatArray4000[14] + this.aClass317_9766.aFloatArray4000[2] * var1 + this.aClass317_9766.aFloatArray4000[6] * var2 + this.aClass317_9766.aFloatArray4000[10] * var3;
               var4[0] = this.aFloat9666 + this.aFloat9667 * var7 / var6;
               var4[1] = this.aFloat9669 + this.aFloat9740 * var8 / var6;
               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 final void method11674(Class328 var1) {
      this.aClass328_9641 = var1;
      this.aClass317_9766.method5613(this.aClass328_9641);
      this.aClass328_9642.method5991(var1);
      this.aClass328_9642.method5996();
      this.aClass317_9695.method5613(this.aClass328_9642);
      this.method15005();
      if(this.aClass344_9654 == Class344.aClass344_4385) {
         this.method15007();
      }

   }

   public void method11728() {
      if(this.aClass372_9727 != null) {
         this.aClass372_9727.method6522();
      }

   }

   public final void ia(float var1) {
      if(this.aFloat9760 != var1) {
         this.aFloat9760 = var1;
         this.method15031();
         this.method15034();
      }

   }

   public void method11552(boolean var1) {
      this.aBool9726 = var1;
   }

   public void method11723() {
      if(this.aClass372_9727 != null) {
         this.aClass372_9727.method6516();
      }

   }

   public void method11518() {
      if(this.aClass372_9727 != null) {
         this.aClass372_9727.method6516();
      }

   }

   void method15134() {
      this.method15143(7);
      this.method14975();
   }

   public void method11613() {
      if(this.aClass372_9727 != null) {
         this.aClass372_9727.method6539();
      }

   }

   public final boolean method11534() {
      return this.aClass352Array9690[1] != null;
   }

   boolean method15135(float var1, float var2, float var3, float var4, float var5, float var6) {
      this.aByteBuffer9763.clear();
      this.aByteBuffer9763.putFloat(var1);
      this.aByteBuffer9763.putFloat(var2);
      this.aByteBuffer9763.putFloat(var3);
      this.aByteBuffer9763.putFloat(var4);
      this.aByteBuffer9763.putFloat(var5);
      this.aByteBuffer9763.putFloat(var6);
      return this.anInterface35_9770.method217(0, this.aByteBuffer9763.position(), this.aLong9730);
   }

   public void method15136(Interface4 var1) {
      this.aClass391_9617.method6711(var1, anObject9627, 1841065971);
   }

   public void method15137(Interface4 var1) {
      this.aClass391_9617.method6711(var1, anObject9627, 1841065971);
   }

   final void method15138() {
      if(this.aClass74_9728 != null) {
         this.aClass74_9728.method1596();
      }

      this.method15072();
   }

   public void method15139(Interface4 var1) {
      this.aClass391_9617.method6711(var1, anObject9627, 1841065971);
   }

   abstract void method15140();

   public final Class79 method11487(int var1, int var2, int var3, int var4, int var5, int var6) {
      return new Class79_Sub2_Sub1(this, var1, var2, var3, var4, var5, var6);
   }

   void method15141() {
      ArrayList var1 = this.aClass391_9617.method6713((short)-20025);
      Iterator var2 = var1.iterator();

      while(var2.hasNext()) {
         Interface4 var3 = (Interface4)var2.next();
         var3.method10();
      }

   }

   void method15142() {
      ArrayList var1 = this.aClass391_9617.method6713((short)-3313);
      Iterator var2 = var1.iterator();

      while(var2.hasNext()) {
         Interface4 var3 = (Interface4)var2.next();
         var3.method10();
      }

   }

   abstract void method15143(int var1);

   public abstract boolean method15144();

   final boolean method15145() {
      return this.aBool9681;
   }

   public final boolean method11586() {
      return false;
   }

   public final Class317 method15146() {
      return this.aClass317Array9716[this.anInt9625];
   }

   abstract void method15147(int var1, Class351 var2, boolean var3);

   public abstract void method15148(Class317 var1, Class317 var2, Class317 var3);

   final void method15149(Class374 var1, int var2) {
      this.method15078(0, this.anInterface35_9781);
      this.method14991(this.aClass341_9774);
      this.method14993(var1, 0, var2);
   }

   public final void method11514(int var1, int var2, int var3, int var4) {
      this.aClass345_9772.method6309(var1, var2, var3, var4);
   }

   abstract void method15150();

   Class74 method15151(int var1) {
      return this.aClass74Array9729[var1];
   }

   final void method15152() {
      if(this.aClass344_9654 == Class344.aClass344_4385) {
         this.anInt9619 = this.anInt9680;
         this.anInt9643 = this.anInt9684;
         this.anInt9686 = this.anInt9682;
         this.anInt9753 = this.anInt9737;
         this.aFloat9670 = this.aFloat9672;
         this.aFloat9671 = this.aFloat9673;
      } else {
         this.anInt9619 = 0;
         this.anInt9643 = 0;
         this.anInt9686 = this.aClass151_7359.method2741();
         this.anInt9753 = this.aClass151_7359.method2742();
         this.aFloat9670 = 0.0F;
         this.aFloat9671 = 1.0F;
      }

      this.method15291();
      this.aFloat9667 = (float)this.anInt9682 / 2.0F;
      this.aFloat9740 = (float)this.anInt9737 / 2.0F;
      this.aFloat9666 = (float)this.anInt9680 + this.aFloat9667;
      this.aFloat9669 = (float)this.anInt9684 + this.aFloat9740;
   }

   void method15153() {
      this.method15143(7);
      this.method14975();
   }

   final void method15154() {
      this.method15031();
      this.method15032();
      this.method15030();
      this.method15106();
      this.method15284();
      this.method15034();
      this.method15035();
      this.method15024();
      this.method15025();
      this.method15259();
      this.method15072();
      this.method15070();
      this.method15128();
      this.method15069();

      for(int var1 = this.anInt9764 - 1; var1 >= 0; --var1) {
         this.method15050(var1);
         this.method15126();
         this.method15083();
         this.method15065();
      }

      this.method15062();
      this.method15291();
   }

   final void method15155() {
      this.method15031();
      this.method15032();
      this.method15030();
      this.method15106();
      this.method15284();
      this.method15034();
      this.method15035();
      this.method15024();
      this.method15025();
      this.method15259();
      this.method15072();
      this.method15070();
      this.method15128();
      this.method15069();

      for(int var1 = this.anInt9764 - 1; var1 >= 0; --var1) {
         this.method15050(var1);
         this.method15126();
         this.method15083();
         this.method15065();
      }

      this.method15062();
      this.method15291();
   }

   final void method15156() {
      if(this.aClass344_9654 == Class344.aClass344_4385) {
         this.anInt9619 = this.anInt9680;
         this.anInt9643 = this.anInt9684;
         this.anInt9686 = this.anInt9682;
         this.anInt9753 = this.anInt9737;
         this.aFloat9670 = this.aFloat9672;
         this.aFloat9671 = this.aFloat9673;
      } else {
         this.anInt9619 = 0;
         this.anInt9643 = 0;
         this.anInt9686 = this.aClass151_7359.method2741();
         this.anInt9753 = this.aClass151_7359.method2742();
         this.aFloat9670 = 0.0F;
         this.aFloat9671 = 1.0F;
      }

      this.method15291();
      this.aFloat9667 = (float)this.anInt9682 / 2.0F;
      this.aFloat9740 = (float)this.anInt9737 / 2.0F;
      this.aFloat9666 = (float)this.anInt9680 + this.aFloat9667;
      this.aFloat9669 = (float)this.anInt9684 + this.aFloat9740;
   }

   void method15157() {
      this.aClass345_9772.method6317();
      this.anInterface35_9781.method10();
      this.anInterface35_9770.method10();
      this.anInterface35_9650.method10();

      for(int var1 = 0; var1 < 7; ++var1) {
         this.aClass568_Sub3Array9780[var1].method14890();
      }

      this.aClass346_9771.method6327();
      this.anInterface40_9664.method10();
      this.aClass372_9727.method6515();
      this.aClass372_9727 = null;
   }

   final void method15158() {
      this.anInterface35_9781 = this.method15237(false);
      short var1 = 160;
      this.anInterface35_9781.method220(var1, 32);
      this.aByteBuffer9763.clear();
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putInt(-1);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putInt(-1);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putInt(-1);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putInt(-1);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putInt(-1);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.anInterface35_9781.method217(0, this.aByteBuffer9763.position(), this.aLong9730);
      this.aClass341_9774 = this.method15076(new Class348[]{new Class348(new Class347[]{Class347.aClass347_4429, Class347.aClass347_4445, Class347.aClass347_4440, Class347.aClass347_4440})});
   }

   public final void method11447(int var1, int var2, int var3, int var4) {
      this.aClass345_9772.method6309(var1, var2, var3, var4);
   }

   final void method15159() {
      this.anInterface35_9781 = this.method15237(false);
      short var1 = 160;
      this.anInterface35_9781.method220(var1, 32);
      this.aByteBuffer9763.clear();
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putInt(-1);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putInt(-1);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putInt(-1);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putInt(-1);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putInt(-1);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.anInterface35_9781.method217(0, this.aByteBuffer9763.position(), this.aLong9730);
      this.aClass341_9774 = this.method15076(new Class348[]{new Class348(new Class347[]{Class347.aClass347_4429, Class347.aClass347_4445, Class347.aClass347_4440, Class347.aClass347_4440})});
   }

   final void method15160() {
      this.anInterface35_9770 = this.method15237(true);
      this.anInterface35_9770.method220(24, 12);
      this.aClass341_9773 = this.method15076(new Class348[]{new Class348(Class347.aClass347_4429)});
   }

   void method15161() {
      this.method14987();
   }

   public abstract float method15162();

   abstract Interface33 method15163(Class98 var1, int var2, int var3, boolean var4, byte[] var5, int var6, int var7);

   abstract void method15164(int var1);

   public void method11727() {
      if(this.aClass372_9727 != null) {
         this.aClass372_9727.method6522();
      }

   }

   public final Class171 method11580(int[] var1, int var2, int var3, int var4, int var5, boolean var6) {
      return new Class171_Sub3(this, var4, var5, var1, var2, var3);
   }

   void method15165() {
      this.method14987();
   }

   void method15166() {
      this.method14987();
   }

   void method15167() {
      this.method15016();
      this.method15018();
      this.method15014();
      this.method11459();
      this.L();
   }

   void method15168() {
      this.method15016();
      this.method15018();
      this.method15014();
      this.method11459();
      this.L();
   }

   public void method15169(Interface4 var1) {
      this.aClass391_9617.method6725(var1, 1960134120);
   }

   public final void method11646(int var1, Class153 var2) {
      if(!this.aBool9653) {
         throw new RuntimeException("");
      } else {
         this.anInt9744 = var1;
         this.aClass153_9676 = var2;
         if(this.aBool9758) {
            this.aClass74Array9729[3].method1595();
            this.aClass74Array9729[3].method1596();
         }

      }
   }

   public final NativeHeapBuffer method15170(int var1, boolean var2) {
      return this.aNativeHeap9634.method825(var1, var2);
   }

   abstract void method15171();

   public final NativeHeapBuffer method15172(int var1, boolean var2) {
      return this.aNativeHeap9634.method825(var1, var2);
   }

   final void method15173(int var1) {
      if(this.anInt9646 != var1) {
         Class57 var2;
         boolean var3;
         boolean var4;
         if(var1 == 1) {
            var2 = Class57.aClass57_536;
            var3 = true;
            var4 = true;
         } else if(var1 == 2) {
            var2 = Class57.aClass57_533;
            var3 = false;
            var4 = true;
         } else if(var1 == 128) {
            var2 = Class57.aClass57_534;
            var3 = true;
            var4 = true;
         } else {
            var2 = Class57.aClass57_535;
            var3 = false;
            var4 = false;
         }

         if(var3 != this.aBool9756) {
            this.aBool9756 = var3;
            this.method15069();
         }

         if(var4 != this.aBool9755) {
            this.aBool9755 = var4;
            this.method15070();
         }

         if(var2 != this.aClass57_9674) {
            this.aClass57_9674 = var2;
            this.method15128();
         }

         this.anInt9646 = var1;
         this.anInt9759 &= -13;
      }

   }

   final Interface40 method15174(int var1) {
      if(this.anInterface40_9664.method31() < var1 * 2) {
         this.anInterface40_9664.method232(var1);
      }

      return this.anInterface40_9664;
   }

   public final boolean method11437() {
      return true;
   }

   final void method15175() {
      this.aBool9658 = false;
      this.method15020();
      if(this.aClass344_9654 == Class344.aClass344_4385) {
         this.method15109();
      }

   }

   public final Class171 method11637(int var1, int var2, boolean var3, boolean var4) {
      return new Class171_Sub3(this, var1, var2, var3, var4);
   }

   abstract void method15176();

   abstract Class341 method15177(Class348[] var1);

   final Interface33 method15178(Class98 var1, int var2, int var3, boolean var4, byte[] var5) {
      return this.method15231(var1, var2, var3, var4, var5, 0, 0);
   }

   abstract void method15179();

   abstract void method15180();

   abstract void method15181();

   abstract void method15182();

   abstract void method15183();

   abstract void method15184();

   void method15185() {
      this.aClass345_9772.method6317();
      this.anInterface35_9781.method10();
      this.anInterface35_9770.method10();
      this.anInterface35_9650.method10();

      for(int var1 = 0; var1 < 7; ++var1) {
         this.aClass568_Sub3Array9780[var1].method14890();
      }

      this.aClass346_9771.method6327();
      this.anInterface40_9664.method10();
      this.aClass372_9727.method6515();
      this.aClass372_9727 = null;
   }

   abstract void method15186();

   abstract void method15187();

   abstract void method15188();

   final Class317 method15189() {
      return this.aClass344_9654 == Class344.aClass344_4385?this.aClass317_9766:aClass317_9647;
   }

   final void method15190() {
      this.aClass317_9663.method5609(this.aClass317_9766);
      this.aClass317_9663.method5612(this.aClass317_9659);
      this.aClass317_9663.method5633(this.aFloatArrayArray9665[0]);
      this.aClass317_9663.method5608(this.aFloatArrayArray9665[1]);
      this.aClass317_9663.method5629(this.aFloatArrayArray9665[2]);
      this.aClass317_9663.method5630(this.aFloatArrayArray9665[3]);
      this.aClass317_9663.method5620(this.aFloatArrayArray9665[4]);
      this.aClass317_9663.method5632(this.aFloatArrayArray9665[5]);
      this.aClass317_9747.method5609(this.aClass317_9663);
      this.method15013(this.aClass317_9747);
   }

   final void method15191() {
      this.aBool9715 = false;
   }

   final void method15192() {
      this.aBool9715 = false;
   }

   final void method15193() {
      this.aBool9715 = false;
   }

   public final void method11508(Class79 var1) {
      this.aClass79_Sub2_9741 = (Class79_Sub2)var1;
   }

   final void method15194() {
      if(this.aClass344_9654 != Class344.aClass344_4386) {
         Class344 var1 = this.aClass344_9654;
         this.aClass344_9654 = Class344.aClass344_4386;
         if(var1 == Class344.aClass344_4385) {
            this.method15007();
         }

         this.method15124();
         this.aClass317_9661 = this.aClass317_9656;
         this.method15109();
         this.method14997();
         this.anInt9759 &= -9;
      }

   }

   abstract Interface35 method15195(boolean var1);

   Class317 method15196() {
      if(this.aClass344_9654 == Class344.aClass344_4385) {
         if(!this.aBool9715) {
            this.method15009();
         }

         return this.aClass317_9668;
      } else {
         return this.aClass317_9640;
      }
   }

   Class317 method15197() {
      if(this.aClass344_9654 == Class344.aClass344_4385) {
         if(!this.aBool9715) {
            this.method15009();
         }

         return this.aClass317_9668;
      } else {
         return this.aClass317_9640;
      }
   }

   Class317 method15198() {
      if(this.aClass344_9654 == Class344.aClass344_4385) {
         if(!this.aBool9715) {
            this.method15009();
         }

         return this.aClass317_9668;
      } else {
         return this.aClass317_9640;
      }
   }

   final Class317 method15199() {
      return this.aClass317_9747;
   }

   final Interface33 method15200(Class98 var1, int var2, int var3, boolean var4, byte[] var5) {
      return this.method15231(var1, var2, var3, var4, var5, 0, 0);
   }

   public abstract void method15201(Class317 var1);

   public final void method11709(int var1, int var2, int var3, int var4) {
      this.aClass345_9772.method6309(var1, var2, var3, var4);
   }

   final void method15202() {
      if(this.aClass344_9654 != Class344.aClass344_4387) {
         Class344 var1 = this.aClass344_9654;
         this.aClass344_9654 = Class344.aClass344_4387;
         if(var1 == Class344.aClass344_4385) {
            this.method15007();
         }

         this.aClass317_9661 = this.aClass317_9660;
         this.method15109();
         this.method14997();
         this.anInt9759 &= -16;
      }

   }

   final void method15203() {
      if(this.aClass344_9654 != Class344.aClass344_4387) {
         Class344 var1 = this.aClass344_9654;
         this.aClass344_9654 = Class344.aClass344_4387;
         if(var1 == Class344.aClass344_4385) {
            this.method15007();
         }

         this.aClass317_9661 = this.aClass317_9660;
         this.method15109();
         this.method14997();
         this.anInt9759 &= -16;
      }

   }

   final void method15204() {
      if(this.aClass344_9654 != Class344.aClass344_4386) {
         Class344 var1 = this.aClass344_9654;
         this.aClass344_9654 = Class344.aClass344_4386;
         if(var1 == Class344.aClass344_4385) {
            this.method15007();
         }

         this.method15124();
         this.aClass317_9661 = this.aClass317_9656;
         this.method15109();
         this.method14997();
         this.anInt9759 &= -9;
      }

   }

   final void method15205() {
      if(this.aClass74_9728 != null) {
         this.aClass74_9728.method1596();
      }

      this.method15072();
   }

   public final void method15206() {
      this.method15084(Class374.aClass374_4667, 2);
   }

   final void method15207() {
      this.aBool9655 = false;
      if(this.aClass344_9654 == Class344.aClass344_4386) {
         this.method15124();
         this.method15109();
      }

   }

   final void method15208() {
      this.aBool9655 = false;
      if(this.aClass344_9654 == Class344.aClass344_4386) {
         this.method15124();
         this.method15109();
      }

   }

   public final void fy(int var1, int var2, int var3, int var4, int var5) {
      this.method11627(var1, var2, var1, var2 + var3, var4, var5);
   }

   public final boolean method11438() {
      return true;
   }

   public abstract void method15209(Class317 var1);

   final void method15210() {
      this.aBool9658 = false;
      this.method15020();
      if(this.aClass344_9654 == Class344.aClass344_4385) {
         this.method15109();
      }

   }

   final void method15211() {
      this.aBool9658 = false;
      this.method15020();
      if(this.aClass344_9654 == Class344.aClass344_4385) {
         this.method15109();
      }

   }

   final void method15212() {
      if(!this.aBool9655) {
         int var1;
         int var2;
         if(this.aClass151_7359 != null) {
            var1 = this.aClass151_7359.method2741();
            var2 = this.aClass151_7359.method2742();
         } else {
            var2 = 0;
            var1 = 0;
         }

         Class317 var3 = this.aClass317_9656;
         if(var1 != 0 && var2 != 0) {
            var3.method5703(0.0F, (float)var1, 0.0F, (float)var2, -1.0F, 1.0F);
         } else {
            var3.method5733();
         }

         this.aClass317_9657.method5609(var3);
         this.method15013(this.aClass317_9657);
         this.aBool9655 = true;
      }

   }

   final void method15213() {
      if(!this.aBool9655) {
         int var1;
         int var2;
         if(this.aClass151_7359 != null) {
            var1 = this.aClass151_7359.method2741();
            var2 = this.aClass151_7359.method2742();
         } else {
            var2 = 0;
            var1 = 0;
         }

         Class317 var3 = this.aClass317_9656;
         if(var1 != 0 && var2 != 0) {
            var3.method5703(0.0F, (float)var1, 0.0F, (float)var2, -1.0F, 1.0F);
         } else {
            var3.method5733();
         }

         this.aClass317_9657.method5609(var3);
         this.method15013(this.aClass317_9657);
         this.aBool9655 = true;
      }

   }

   public void method11433(int var1) {
      if(this.aClass58_9721 != null) {
         this.aClass58_9721.method1271();
      }

      this.anInt9644 = var1 & Integer.MAX_VALUE;
   }

   public final Class171 method11581(Class86 var1, boolean var2) {
      Class171 var4;
      if(var1.method1691() != 0 && var1.method1704() != 0) {
         int[] var3 = var1.method1709(false);
         var4 = this.method11599(var3, 0, var1.method1691(), var1.method1691(), var1.method1704(), 98312473);
      } else {
         var4 = this.method11599(new int[]{0}, 0, 1, 1, 1, 98312473);
      }

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

   public abstract void method15214(Class317 var1, Class317 var2, Class317 var3);

   final void method15215() {
      if(!this.aBool9658) {
         this.aBool9658 = true;
      }

   }

   abstract void method15216(int var1);

   final void method15217() {
      if(!this.aBool9658) {
         this.aBool9658 = true;
      }

   }

   final void method15218() {
      this.aClass317_9662.method5609(this.aClass317_9661);
      this.method15013(this.aClass317_9662);
      this.aFloat9675 = (this.aClass317_9662.aFloatArray4000[14] - this.aClass317_9662.aFloatArray4000[15]) / (this.aClass317_9662.aFloatArray4000[11] - this.aClass317_9662.aFloatArray4000[10]);
      this.aFloat9696 = -this.aClass317_9662.aFloatArray4000[14] / this.aClass317_9662.aFloatArray4000[10];
      this.method15205();
   }

   final void method15219(boolean var1) {
      if(var1 != this.aBool9616) {
         this.aBool9616 = var1;
         this.method15024();
         this.anInt9759 &= -16;
      }

   }

   final void method15220(boolean var1) {
      if(var1 != this.aBool9616) {
         this.aBool9616 = var1;
         this.method15024();
         this.anInt9759 &= -16;
      }

   }

   final void method15221(boolean var1) {
      if(var1 != this.aBool9691) {
         this.aBool9691 = var1;
         this.method15025();
         this.anInt9759 &= -16;
      }

   }

   abstract void method15222();

   abstract void method15223();

   abstract void method15224();

   abstract void method15225();

   abstract void method15226();

   final void method15227() {
      if(!this.aBool9658) {
         this.aBool9658 = true;
      }

   }

   public void method11567() {
      if(this.aClass372_9727 != null) {
         this.aClass372_9727.method6522();
      }

   }

   abstract void method15228();

   public final 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) {}

   public final void fd(int var1, int var2, int var3, int var4, int var5, int var6, byte[] var7, int var8, int var9) {}

   abstract void method15229();

   abstract void method15230();

   public void method11725() {
      if(this.aClass372_9727 != null) {
         this.aClass372_9727.method6539();
      }

   }

   abstract Interface33 method15231(Class98 var1, int var2, int var3, boolean var4, byte[] var5, int var6, int var7);

   abstract void method15232();

   public abstract Class103 method15233(String var1);

   abstract void method15234();

   abstract void method15235();

   public final void fo(int[] var1) {
      var1[0] = this.anInt9678;
      var1[1] = this.anInt9735;
      var1[2] = this.anInt9679;
      var1[3] = this.anInt9745;
   }

   abstract void method15236();

   abstract Interface35 method15237(boolean var1);

   final void method15238() {
      if(this.method15125()) {
         this.method15037();
      }

      this.anInt9708 = this.anInt9709;
   }

   final void method15239() {
      if(this.method15125()) {
         this.method15037();
      }

      this.anInt9708 = this.anInt9709;
   }

   public void method11459() {
      this.anInt9680 = 0;
      this.anInt9684 = 0;
      this.anInt9682 = this.aClass151_7359.method2741();
      this.anInt9737 = this.aClass151_7359.method2742();
      this.method14997();
   }

   public void method11706(boolean var1) {
      this.aBool9726 = var1;
   }

   final Interface33 method15240(Class98 var1, int var2, int var3, boolean var4, byte[] var5) {
      return this.method15231(var1, var2, var3, var4, var5, 0, 0);
   }

   public final void ih(int var1) {
      for(this.anInt9711 = 0; var1 > 1; var1 >>= 1) {
         ++this.anInt9711;
      }

      this.anInt9710 = 1 << this.anInt9711;
   }

   public final Class317 method11601() {
      return this.aClass317_9761;
   }

   final Interface33 method15241(Class98 var1, int var2, int var3, boolean var4, float[] var5) {
      return this.method15060(var1, var2, var3, var4, var5, 0, 0);
   }

   public final void J(int var1) {
      for(this.anInt9711 = 0; var1 > 1; var1 >>= 1) {
         ++this.anInt9711;
      }

      this.anInt9710 = 1 << this.anInt9711;
   }

   abstract Interface33 method15242(Class98 var1, int var2, int var3, boolean var4, byte[] var5, int var6, int var7);

   abstract Interface33 method15243(Class98 var1, int var2, int var3, boolean var4, byte[] var5, int var6, int var7);

   public final void method11500(Class317 var1) {
      this.aClass317_9659.method5609(var1);
      this.method15005();
      if(this.aClass344_9654 == Class344.aClass344_4385) {
         this.method15109();
      }

   }

   abstract Interface33 method15244(Class98 var1, int var2, int var3, boolean var4, float[] var5, int var6, int var7);

   abstract Interface33 method15245(int var1, int var2, boolean var3, int[] var4, int var5, int var6);

   abstract Interface33 method15246(int var1, int var2, boolean var3, int[] var4, int var5, int var6);

   abstract Interface37 method15247(int var1, boolean var2, int[][] var3);

   abstract Interface3 method15248(Class98 var1, int var2, int var3, int var4, boolean var5, byte[] var6);

   final void method11632(float var1, float var2, float var3, float var4, float var5, float var6) {
      Class352_Sub1.aFloat8093 = var1;
      Class352_Sub1.aFloat8092 = var2;
      Class352_Sub1.aFloat8091 = var3;
      Class352_Sub1.aFloat8103 = var6;
   }

   final Class317 method15249() {
      return this.aClass317_9662;
   }

   abstract Interface36 method15250(Class98 var1, Class91 var2, int var3, int var4);

   Class153 method15251() {
      return this.aClass153_9676;
   }

   public final void method15252(Interface38 var1) {
      if(this.anInterface38Array9704[this.anInt9625] != var1) {
         this.anInterface38Array9704[this.anInt9625] = var1;
         if(var1 != null) {
            var1.method228();
         } else {
            this.anInterface33_9693.method228();
         }

         this.anInt9759 &= -2;
      }

   }

   public abstract void method15253();

   public abstract void method15254();

   public final void method15255(int var1) {
      switch(var1) {
      case 0:
         this.method15054(Class367.aClass367_4610, Class367.aClass367_4610);
         break;
      case 1:
         this.method15054(Class367.aClass367_4609, Class367.aClass367_4609);
         break;
      case 2:
         this.method15054(Class367.aClass367_4613, Class367.aClass367_4609);
         break;
      case 3:
         this.method15054(Class367.aClass367_4612, Class367.aClass367_4610);
         break;
      case 4:
         this.method15054(Class367.aClass367_4611, Class367.aClass367_4611);
      }

   }

   public final void method15256(int var1) {
      switch(var1) {
      case 0:
         this.method15054(Class367.aClass367_4610, Class367.aClass367_4610);
         break;
      case 1:
         this.method15054(Class367.aClass367_4609, Class367.aClass367_4609);
         break;
      case 2:
         this.method15054(Class367.aClass367_4613, Class367.aClass367_4609);
         break;
      case 3:
         this.method15054(Class367.aClass367_4612, Class367.aClass367_4610);
         break;
      case 4:
         this.method15054(Class367.aClass367_4611, Class367.aClass367_4611);
      }

   }

   public final void method15257(int var1) {
      switch(var1) {
      case 0:
         this.method15054(Class367.aClass367_4610, Class367.aClass367_4610);
         break;
      case 1:
         this.method15054(Class367.aClass367_4609, Class367.aClass367_4609);
         break;
      case 2:
         this.method15054(Class367.aClass367_4613, Class367.aClass367_4609);
         break;
      case 3:
         this.method15054(Class367.aClass367_4612, Class367.aClass367_4610);
         break;
      case 4:
         this.method15054(Class367.aClass367_4611, Class367.aClass367_4611);
      }

   }

   public final void method15258(int var1) {
      switch(var1) {
      case 0:
         this.method15054(Class367.aClass367_4610, Class367.aClass367_4610);
         break;
      case 1:
         this.method15054(Class367.aClass367_4609, Class367.aClass367_4609);
         break;
      case 2:
         this.method15054(Class367.aClass367_4613, Class367.aClass367_4609);
         break;
      case 3:
         this.method15054(Class367.aClass367_4612, Class367.aClass367_4610);
         break;
      case 4:
         this.method15054(Class367.aClass367_4611, Class367.aClass367_4611);
      }

   }

   abstract void method15259();

   public final void method15260(int var1, Class351 var2) {
      this.method15056(var1, var2, false, false);
   }

   abstract void method15261(int var1, Class351 var2, boolean var3, boolean var4);

   abstract void method15262(int var1, Class351 var2, boolean var3, boolean var4);

   public final void method15263(int var1, Class351 var2) {
      this.method15058(var1, var2, false);
   }

   void method11470() {
      if(!this.aBool9631) {
         this.method15185();
         this.aClass58_9721.method1272();

         for(Class225 var1 = this.aClass456_9635.method7682((byte)31); var1 != null; var1 = this.aClass456_9635.method7666(-231303033)) {
            ((Class225_Sub1_Sub2)var1).method15783();
         }

         Class8.method657(false, true, (byte)-31);

         int var2;
         for(var2 = 0; var2 < this.aClass74Array9729.length; ++var2) {
            if(this.aClass74Array9729[var2] != null) {
               this.aClass74Array9729[var2].method1598();
               this.aClass74Array9729[var2] = null;
            }
         }

         for(var2 = 0; var2 < this.aClass352Array9690.length; ++var2) {
            if(this.aClass352Array9690[var2] != null) {
               this.aClass352Array9690[var2].method6373();
               this.aClass352Array9690[var2] = null;
            }
         }

         this.method14966();
         this.method11433(0);
         this.aBool9631 = true;
      }

   }

   public final 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) {}

   public void method15264(Interface4 var1) {
      this.aClass391_9617.method6725(var1, 2142229865);
   }

   public void method11434(float var1, float var2, float var3, float[] var4) {
      float var5 = this.aClass317_9663.aFloatArray4000[15] + this.aClass317_9663.aFloatArray4000[3] * var1 + this.aClass317_9663.aFloatArray4000[7] * var2 + this.aClass317_9663.aFloatArray4000[11] * var3;
      float var6 = this.aClass317_9663.aFloatArray4000[12] + this.aClass317_9663.aFloatArray4000[0] * var1 + this.aClass317_9663.aFloatArray4000[4] * var2 + this.aClass317_9663.aFloatArray4000[8] * var3;
      float var7 = this.aClass317_9663.aFloatArray4000[13] + this.aClass317_9663.aFloatArray4000[1] * var1 + this.aClass317_9663.aFloatArray4000[5] * var2 + this.aClass317_9663.aFloatArray4000[9] * var3;
      float var8 = this.aClass317_9766.aFloatArray4000[14] + this.aClass317_9766.aFloatArray4000[2] * var1 + this.aClass317_9766.aFloatArray4000[6] * var2 + this.aClass317_9766.aFloatArray4000[10] * var3;
      var4[0] = this.aFloat9666 + this.aFloat9667 * var6 / var5;
      var4[1] = this.aFloat9669 + this.aFloat9740 * var7 / var5;
      var4[2] = var8;
   }

   final void method11634(float var1, float var2, float var3, float var4, float var5, float var6) {
      Class352_Sub1.aFloat8093 = var1;
      Class352_Sub1.aFloat8092 = var2;
      Class352_Sub1.aFloat8091 = var3;
      Class352_Sub1.aFloat8103 = var6;
   }

   final void method15265() {
      this.anInterface35_9781 = this.method15237(false);
      short var1 = 160;
      this.anInterface35_9781.method220(var1, 32);
      this.aByteBuffer9763.clear();
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putInt(-1);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putInt(-1);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putInt(-1);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putInt(-1);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(1.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putInt(-1);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.aByteBuffer9763.putFloat(0.0F);
      this.anInterface35_9781.method217(0, this.aByteBuffer9763.position(), this.aLong9730);
      this.aClass341_9774 = this.method15076(new Class348[]{new Class348(new Class347[]{Class347.aClass347_4429, Class347.aClass347_4445, Class347.aClass347_4440, Class347.aClass347_4440})});
   }

   public final Class317 method15266() {
      return this.aClass317Array9716[this.anInt9625];
   }

   public final Class317 method15267() {
      return this.aClass317Array9716[this.anInt9625];
   }

   public final Class496 method11488(int var1, int var2, int[] var3, int[] var4) {
      return Class496_Sub1.method15399(this, var1, var2, var3, var4);
   }

   public final void B(int var1, int var2, int var3, int var4, int var5, int var6) {
      if(this.aBool9713) {
         this.RA(false);
         this.aClass171_Sub3_9724.method2930(var1, var2, var3, var4, 0, var5, var6);
         this.RA(true);
      } else {
         this.aClass171_Sub3_9724.method2930(var1, var2, var3, var4, 0, var5, var6);
      }

   }

   final void method15268() {
      this.method15063();
   }

   final void method15269() {
      this.method15063();
   }

   public final boolean method11453() {
      if(this.aClass352Array9690[1] != null && !this.aClass352Array9690[1].method6369()) {
         boolean var1 = this.aClass345_9772.method6303(this.aClass352Array9690[1]);
         if(var1) {
            this.aClass58_9721.method1272();
         }

         return var1;
      } else {
         return false;
      }
   }

   abstract void method15270();

   abstract void method15271();

   abstract void method15272();

   abstract void method15273();

   public void method15274(Interface4 var1) {
      this.aClass391_9617.method6725(var1, 2088949814);
   }

   public final void fn(int var1, int var2, int var3, int var4, int var5, int var6, byte[] var7, int var8, int var9) {}

   public final void ic(int var1, float var2, float var3, float var4, float var5, float var6) {
      boolean var7 = this.anInt9700 != var1;
      if(var7 || this.aFloat9705 != var2 || this.aFloat9706 != var3) {
         this.anInt9700 = var1;
         this.aFloat9705 = var2;
         this.aFloat9706 = var3;
         if(var7) {
            this.aFloat9701 = (float)(this.anInt9700 & 16711680) / 1.671168E7F;
            this.aFloat9702 = (float)(this.anInt9700 & '\uff00') / 65280.0F;
            this.aFloat9703 = (float)(this.anInt9700 & 255) / 255.0F;
            this.method15031();
         }

         this.method15032();
      }

      if(this.aFloatArray9698[0] != var4 || this.aFloatArray9698[1] != var5 || this.aFloatArray9698[2] != var6) {
         this.aFloatArray9698[0] = var4;
         this.aFloatArray9698[1] = var5;
         this.aFloatArray9698[2] = var6;
         this.aFloatArray9677[0] = -var4;
         this.aFloatArray9677[1] = -var5;
         this.aFloatArray9677[2] = -var6;
         float var8 = (float)(1.0D / Math.sqrt((double)(var4 * var4 + var5 * var5 + var6 * var6)));
         this.aFloatArray9712[0] = var4 * var8;
         this.aFloatArray9712[1] = var5 * var8;
         this.aFloatArray9712[2] = var6 * var8;
         this.aFloatArray9697[0] = -this.aFloatArray9712[0];
         this.aFloatArray9697[1] = -this.aFloatArray9712[1];
         this.aFloatArray9697[2] = -this.aFloatArray9712[2];
         this.method15284();
         this.anInt9784 = (int)(var4 * 256.0F / var5);
         this.anInt9687 = (int)(var6 * 256.0F / var5);
      }

      this.method15034();
   }

   final Interface40 method15275(int var1) {
      if(this.anInterface40_9664.method31() < var1 * 2) {
         this.anInterface40_9664.method232(var1);
      }

      return this.anInterface40_9664;
   }

   final void method15276(int var1) {
      if(this.anInt9646 != var1) {
         Class57 var2;
         boolean var3;
         boolean var4;
         if(var1 == 1) {
            var2 = Class57.aClass57_536;
            var3 = true;
            var4 = true;
         } else if(var1 == 2) {
            var2 = Class57.aClass57_533;
            var3 = false;
            var4 = true;
         } else if(var1 == 128) {
            var2 = Class57.aClass57_534;
            var3 = true;
            var4 = true;
         } else {
            var2 = Class57.aClass57_535;
            var3 = false;
            var4 = false;
         }

         if(var3 != this.aBool9756) {
            this.aBool9756 = var3;
            this.method15069();
         }

         if(var4 != this.aBool9755) {
            this.aBool9755 = var4;
            this.method15070();
         }

         if(var2 != this.aClass57_9674) {
            this.aClass57_9674 = var2;
            this.method15128();
         }

         this.anInt9646 = var1;
         this.anInt9759 &= -13;
      }

   }

   abstract void method15277(boolean var1);

   public final void jm() {
      this.aBool9653 = false;
   }

   abstract void method15278();

   Class317 method15279() {
      return this.aClass317_9640;
   }

   abstract void method15280();

   abstract void method15281();

   abstract void method15282();

   abstract void method15283();

   abstract void method15284();

   abstract void method15285();

   final void method15286(boolean var1) {
      if(var1 != this.aBool9746) {
         this.aBool9746 = var1;
         this.method15259();
         this.anInt9759 &= -16;
      }

   }

   final void method15287(boolean var1) {
      if(var1 != this.aBool9746) {
         this.aBool9746 = var1;
         this.method15259();
         this.anInt9759 &= -16;
      }

   }

   final void method15288(boolean var1) {
      if(var1 != this.aBool9746) {
         this.aBool9746 = var1;
         this.method15259();
         this.anInt9759 &= -16;
      }

   }

   final void method15289(boolean var1) {
      if(var1 != this.aBool9746) {
         this.aBool9746 = var1;
         this.method15259();
         this.anInt9759 &= -16;
      }

   }

   final void method15290() {
      if(this.aClass74_9728 != null) {
         this.aClass74_9728.method1596();
      }

      this.method15072();
   }

   abstract void method15291();

   public final boolean method11683() {
      return this.aClass352Array9690[1] != null && this.aClass352Array9690[1].method6369();
   }

   abstract void method15292();

   abstract void method15293();

   void method11529() {
      if(!this.aBool9631) {
         this.method15185();
         this.aClass58_9721.method1272();

         for(Class225 var1 = this.aClass456_9635.method7682((byte)29); var1 != null; var1 = this.aClass456_9635.method7666(-413950162)) {
            ((Class225_Sub1_Sub2)var1).method15783();
         }

         Class8.method657(false, true, (byte)-86);

         int var2;
         for(var2 = 0; var2 < this.aClass74Array9729.length; ++var2) {
            if(this.aClass74Array9729[var2] != null) {
               this.aClass74Array9729[var2].method1598();
               this.aClass74Array9729[var2] = null;
            }
         }

         for(var2 = 0; var2 < this.aClass352Array9690.length; ++var2) {
            if(this.aClass352Array9690[var2] != null) {
               this.aClass352Array9690[var2].method6373();
               this.aClass352Array9690[var2] = null;
            }
         }

         this.method14966();
         this.method11433(0);
         this.aBool9631 = true;
      }

   }

   public void es(float var1, float var2) {
      this.aFloat9672 = var1;
      this.aFloat9673 = var2;
      this.method14997();
   }

   abstract void method15294(boolean var1);

   final void method15295() {
      if(!this.aBool9658) {
         this.aBool9658 = true;
      }

   }

   abstract Interface40 method15296(boolean var1);

   abstract Interface40 method15297(boolean var1);

   abstract Interface40 method15298(boolean var1);

   abstract Class341 method15299(Class348[] var1);

   public final void fj(int var1, int var2, int var3, int var4, int var5) {
      this.method11627(var1, var2, var1 + var3, var2, var4, var5);
   }

   abstract Class341 method15300(Class348[] var1);

   abstract Class341 method15301(Class348[] var1);

   public abstract void method15302(Class341 var1);

   public abstract void method15303(Class341 var1);

   public abstract void method15304(int var1, Interface35 var2);

   public abstract void method15305(int var1, Interface35 var2);

   abstract void method15306(Interface40 var1);

   abstract void method15307(Interface40 var1);

   final void method15308() {
      this.method15078(0, this.anInterface35_9770);
      this.method14991(this.aClass341_9773);
      this.method14993(Class374.aClass374_4671, 0, 1);
   }

   final void method15309() {
      this.method15078(0, this.anInterface35_9770);
      this.method14991(this.aClass341_9773);
      this.method14993(Class374.aClass374_4671, 0, 1);
   }

   final void method15310() {
      this.method15078(0, this.anInterface35_9770);
      this.method14991(this.aClass341_9773);
      this.method14993(Class374.aClass374_4671, 0, 1);
   }

   public final void method15311() {
      this.method15084(Class374.aClass374_4667, 2);
   }

   public final void method15312() {
      this.method15084(Class374.aClass374_4667, 2);
   }

   public final boolean method11535() {
      return this.aClass352Array9690[1] != null;
   }

   public final void method15313() {
      this.method15084(Class374.aClass374_4667, 2);
   }

   final void method15314(Class374 var1, int var2) {
      this.method15078(0, this.anInterface35_9781);
      this.method14991(this.aClass341_9774);
      this.method14993(var1, 0, var2);
   }

   public abstract float method15315();

   public abstract Class103 method15316(String var1);

   abstract void method15317(Interface40 var1, Class374 var2, int var3, int var4, int var5, int var6);

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

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

   public abstract float method15320();

   abstract boolean method15321(Class98 var1, Class91 var2);

   public final Class317 method11467() {
      return this.aClass317_9761;
   }

   abstract void method15322(int var1);

   public final Class171 method11481(int var1, int var2, boolean var3, boolean var4) {
      return new Class171_Sub3(this, var1, var2, var3, var4);
   }

   abstract void method15323(int var1);

   abstract void method15324(int var1);

   abstract void method15325(int var1);

   public abstract boolean method15326();

   void method15327() {
      this.aClass345_9772.method6321();

      for(int var1 = 0; var1 < this.aClass352Array9690.length; ++var1) {
         if(this.aClass352Array9690[var1] != null && this.aClass352Array9690[var1].method6369()) {
            this.aClass352Array9690[var1].method6363();
         }
      }

      this.aClass346_9771 = new Class346(this);
      this.method14978();
      this.method15103();
      this.method14979();
      this.aClass346_9771.method6325(this);
      this.aClass372_9727 = new Class372(this, 1024);
   }

   abstract void method15328();

   abstract void method15329();

   abstract boolean method15330(Class98 var1, Class91 var2);

   public final void method11603(Class328 var1) {
      this.aClass328_9641 = var1;
      this.aClass317_9766.method5613(this.aClass328_9641);
      this.aClass328_9642.method5991(var1);
      this.aClass328_9642.method5996();
      this.aClass317_9695.method5613(this.aClass328_9642);
      this.method15005();
      if(this.aClass344_9654 == Class344.aClass344_4385) {
         this.method15007();
      }

   }

   abstract void method15331();

   abstract void method15332();

   abstract void method15333();

   abstract Interface35 method15334(boolean var1);

   public Class328 method11612() {
      return this.aClass328_9641;
   }
}
