import jaclib.memory.Buffer;
import jaclib.memory.Stream;
import jaclib.memory.heap.NativeHeap;
import jaggl.OpenGL;
import java.awt.Canvas;

public class Class545_Sub1 extends Class545 {

   Class456 aClass456_9104 = new Class456();
   static final float aFloat9105 = 0.35F;
   static final int anInt9106 = 0;
   boolean aBool9107;
   static final int anInt9108 = 34479;
   int anInt9109 = 0;
   Class456 aClass456_9110 = new Class456();
   float aFloat9111 = -1.0F;
   float aFloat9112;
   static final int anInt9113 = 32993;
   static final int anInt9114 = 5121;
   static final int anInt9115 = 5123;
   static final int anInt9116 = 5126;
   static final int anInt9117 = 4;
   static final int anInt9118 = 2;
   boolean aBool9119;
   static final int anInt9120 = -1;
   static final int anInt9121 = -2;
   static final int anInt9122 = 7681;
   float aFloat9123 = 1.0F;
   static final int anInt9124 = 260;
   int anInt9125;
   static final int anInt9126 = 34165;
   int anInt9127;
   static final int anInt9128 = 34168;
   static final int anInt9129 = 5890;
   float aFloat9130 = 1.0F;
   static final int anInt9131 = 34166;
   static final int anInt9132 = 770;
   static final int anInt9133 = 768;
   static final int anInt9134 = 0;
   static final int anInt9135 = 1;
   static final int anInt9136 = 2;
   static final int anInt9137 = 0;
   static final int anInt9138 = 1;
   static final int anInt9139 = 2;
   static final int anInt9140 = 128;
   static final int anInt9141 = 1;
   static final int anInt9142 = 2;
   static final int anInt9143 = 4;
   static final int anInt9144 = 8;
   static final int anInt9145 = 55;
   static final int anInt9146 = 7;
   static final int anInt9147 = 3;
   int anInt9148;
   int anInt9149;
   Class129 aClass129_9150;
   float aFloat9151 = 0.0F;
   static final int anInt9152 = 4;
   Class170 aClass170_9153 = new Class170();
   Class317 aClass317_9154 = new Class317();
   boolean aBool9155;
   Class328 aClass328_9156 = new Class328();
   Class153 aClass153_9157;
   int anInt9158;
   int anInt9159 = 8;
   int anInt9160 = 3;
   boolean aBool9161 = false;
   NativeHeap aNativeHeap9162;
   Class456 aClass456_9163 = new Class456();
   int anInt9164;
   int anInt9165;
   int anInt9166;
   int anInt9167;
   float aFloat9168;
   Class172 aClass172_9169;
   boolean aBool9170;
   Class456 aClass456_9171 = new Class456();
   Class456 aClass456_9172 = new Class456();
   int anInt9173;
   long aLong9174;
   float aFloat9175;
   int anInt9176;
   int anInt9177;
   float[] aFloatArray9178 = new float[4];
   Class163 aClass163_9179;
   boolean aBool9180;
   boolean aBool9181;
   boolean aBool9182;
   Class328 aClass328_9183 = new Class328();
   Class317 aClass317_9184 = new Class317();
   static float[] aFloatArray9185 = new float[4];
   Class317 aClass317_9186 = new Class317();
   Class456 aClass456_9187 = new Class456();
   Class317 aClass317_9188 = new Class317();
   float[][] aFloatArrayArray9189 = new float[6][4];
   float[] aFloatArray9190 = new float[4];
   float aFloat9191;
   String aString9192;
   int anInt9193;
   int anInt9194;
   int[] anIntArray9195;
   Class568_Sub1[] aClass568_Sub1Array9196;
   float aFloat9197 = 0.0F;
   boolean aBool9198;
   Class328 aClass328_9199 = new Class328();
   Class317 aClass317_9200 = new Class317();
   Class317 aClass317_9201 = new Class317();
   float[] aFloatArray9202 = new float[16];
   int anInt9203;
   String aString9204;
   int anInt9205;
   int anInt9206 = 0;
   static final int anInt9207 = 34023;
   int anInt9208 = 0;
   int anInt9209 = 0;
   static final int anInt9210 = 34167;
   int anInt9211;
   int anInt9212;
   int anInt9213;
   static final int anInt9214 = 32;
   static int anInt9215 = 4;
   boolean aBool9216;
   Class79_Sub1 aClass79_Sub1_9217;
   float[] aFloatArray9218 = new float[4];
   static final int anInt9219 = 7;
   Class150 aClass150_9220;
   float[] aFloatArray9221 = new float[4];
   int anInt9222 = -1;
   Class168 aClass168_9223;
   OpenGL anOpenGL9224;
   float aFloat9225 = 1.0F;
   float aFloat9226;
   float aFloat9227 = -1.0F;
   float aFloat9228 = -1.0F;
   Class225_Sub40[] aClass225_Sub40Array9229;
   int anInt9230;
   float aFloat9231 = 1.0F;
   boolean aBool9232;
   static final int anInt9233 = 8;
   Interface15 anInterface15_9234;
   int anInt9235;
   static final int anInt9236 = 100663296;
   static final int anInt9237 = 1;
   int anInt9238;
   boolean aBool9239 = true;
   float aFloat9240;
   int anInt9241;
   boolean aBool9242;
   boolean aBool9243;
   Class456 aClass456_9244 = new Class456();
   static float[] aFloatArray9245 = new float[4];
   static final int anInt9246 = 16;
   Class456 aClass456_9247 = new Class456();
   int anInt9248;
   boolean aBool9249;
   int anInt9250;
   boolean aBool9251;
   int anInt9252;
   Class147[] aClass147Array9253;
   Class147_Sub4 aClass147_Sub4_9254;
   boolean aBool9255;
   Class147_Sub4_Sub1 aClass147_Sub4_Sub1_9256;
   boolean aBool9257;
   int anInt9258 = 0;
   static int[] anIntArray9259 = new int[1000];
   int anInt9260;
   Interface10 anInterface10_9261;
   boolean aBool9262;
   static final int anInt9263 = 8448;
   Class317 aClass317_9264 = new Class317();
   float[] aFloatArray9265 = new float[4];
   boolean aBool9266;
   boolean aBool9267;
   float aFloat9268;
   boolean aBool9269;
   Class225_Sub42_Sub1 aClass225_Sub42_Sub1_9270;
   boolean aBool9271;
   boolean aBool9272;
   boolean aBool9273;
   boolean aBool9274;
   boolean aBool9275;
   boolean aBool9276;
   boolean aBool9277;
   Class317 aClass317_9278 = new Class317();
   boolean aBool9279;
   float aFloat9280;
   boolean aBool9281;
   float aFloat9282;
   int anInt9283;
   float aFloat9284;
   int anInt9285 = 0;
   Class317 aClass317_9286 = new Class317();
   Class568_Sub1[] aClass568_Sub1Array9287;
   Class151_Sub1_Sub2 aClass151_Sub1_Sub2_9288;
   Class150 aClass150_9289;
   boolean aBool9290;
   Interface10 anInterface10_9291;
   int anInt9292;
   float aFloat9293;
   Class225_Sub23_Sub2 aClass225_Sub23_Sub2_9294;
   int[] anIntArray9295;
   int anInt9296;
   int[] anIntArray9297;
   byte[] aByteArray9298;


   final void method14539(int var1) {
      if(var1 == 1) {
         this.method14553(7681, 7681);
      } else if(var1 == 0) {
         this.method14553(8448, 8448);
      } else if(var1 == 2) {
         this.method14553('\u8575', 7681);
      } else if(var1 == 3) {
         this.method14553(260, 8448);
      } else if(var1 == 4) {
         this.method14553('\u84e7', '\u84e7');
      }

   }

   final void method14540(int var1) {
      this.method14638(var1, true);
   }

   public void method11553() {
      this.anInt9211 = 0;
      this.anInt9212 = 0;
      this.anInt9213 = this.aClass151_7359.method2741();
      this.anInt9166 = this.aClass151_7359.method2742();
      this.method14561();
   }

   void method14541() {
      this.aClass147Array9253 = new Class147[this.anInt9194];
      this.aClass147_Sub4_9254 = new Class147_Sub4(this, 3553, Class98.aClass98_992, Class91.aClass91_897, 1, 1);
      new Class147_Sub4(this, 3553, Class98.aClass98_992, Class91.aClass91_897, 1, 1);
      new Class147_Sub4(this, 3553, Class98.aClass98_992, Class91.aClass91_897, 1, 1);

      for(int var1 = 0; var1 < 7; ++var1) {
         this.aClass568_Sub1Array9196[var1] = new Class568_Sub1(this);
         this.aClass568_Sub1Array9287[var1] = new Class568_Sub1(this);
      }

      if(this.aBool9266) {
         this.aClass151_Sub1_Sub2_9288 = new Class151_Sub1_Sub2(this);
         new Class151_Sub1_Sub2(this);
      }

   }

   void method14542() {
      this.method14540(-2);

      for(int var1 = this.anInt9194 - 1; var1 >= 0; --var1) {
         this.method14641(var1);
         this.method14725((Class147)null);
         OpenGL.glTexEnvi(8960, 8704, '\u8570');
      }

      this.method14553(8448, 8448);
      this.method14679(2, '\u8578', 770);
      this.method14597();
      this.anInt9177 = 1;
      OpenGL.glEnable(3042);
      OpenGL.glBlendFunc(770, 771);
      this.anInt9205 = 1;
      OpenGL.glEnable(3008);
      OpenGL.glAlphaFunc(516, 0.0F);
      this.aBool9180 = true;
      OpenGL.glColorMask(true, true, true, true);
      this.aBool9198 = true;
      this.method14657(true);
      this.method14634(true);
      this.method14600(true);
      this.method14549(true);
      this.GA(0.0F, 1.0F);
      this.method14568();
      this.anOpenGL9224.setSwapInterval(0);
      OpenGL.glShadeModel(7425);
      OpenGL.glClearDepth(1.0F);
      OpenGL.glDepthFunc(515);
      OpenGL.glPolygonMode(1028, 6914);
      OpenGL.glEnable(2884);
      OpenGL.glCullFace(1029);
      OpenGL.glMatrixMode(5888);
      OpenGL.glLoadIdentity();
      OpenGL.glColorMaterial(1028, 5634);
      OpenGL.glEnable(2903);
      float[] var4 = new float[]{0.0F, 0.0F, 0.0F, 1.0F};

      for(int var2 = 0; var2 < 8; ++var2) {
         int var3 = 16384 + var2;
         OpenGL.glLightfv(var3, 4608, var4, 0);
         OpenGL.glLightf(var3, 4615, 0.0F);
         OpenGL.glLightf(var3, 4616, 0.0F);
      }

      OpenGL.glEnable(16384);
      OpenGL.glEnable(16385);
      OpenGL.glFogf(2914, 0.95F);
      OpenGL.glFogi(2917, 9729);
      OpenGL.glHint(3156, 4353);
      if(this.aBool9275) {
         OpenGL.glEnable('\u884f');
      }

      this.anInt9235 = -1;
      this.anInt9222 = -1;
      this.method11459();
      this.L();
   }

   final void method14543(int var1, int var2) {
      this.anInt9209 = var1;
      this.anInt9285 = var2;
      this.method14561();
      this.method14563();
   }

   final void method14544() {
      if(this.anInt9296 != 8) {
         this.method14570();
         this.method14657(true);
         this.method14600(true);
         this.method14549(true);
         this.method14602(1);
         this.anInt9296 = 8;
      }

   }

   public void method11430() {
      OpenGL.glFinish();
   }

   void method11470() {
      for(Class225 var1 = this.aClass456_9163.method7682((byte)89); var1 != null; var1 = this.aClass456_9163.method7666(-380120619)) {
         ((Class225_Sub1_Sub1)var1).method15782();
      }

      if(this.aClass168_9223 != null) {
         this.aClass168_9223.method2877();
      }

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

   }

   public boolean method11435() {
      return true;
   }

   public boolean method11520() {
      return true;
   }

   public boolean method11437() {
      return true;
   }

   public boolean method11712() {
      return this.aClass225_Sub42_Sub1_9270 != null && (this.anInt9148 <= 1 || this.aBool9107);
   }

   public boolean method11440() {
      return true;
   }

   public boolean method11438() {
      return true;
   }

   public boolean method11441() {
      return this.aBool9269 && (!this.method11588() || this.aBool9107);
   }

   public boolean method11534() {
      return this.aClass225_Sub42_Sub1_9270 != null && (this.anInt9148 <= 1 || this.aBool9107);
   }

   final synchronized void method14545(int var1, int var2) {
      IntVar var3 = new IntVar(var2);
      var3.aLong2606 = (long)var1 * -641052250121656953L;
      this.aClass456_9171.method7712(var3, (byte)82);
   }

   public void method11572(int var1, int var2, int var3, int var4, int var5, int var6, int var7) {
      OpenGL.glLineWidth((float)var6);
      this.method11627(var1, var2, var3, var4, var5, var7);
      OpenGL.glLineWidth(1.0F);
   }

   public boolean method11444() {
      return false;
   }

   Class151_Sub2 method11512(Canvas var1, int var2, int var3) {
      return new Class151_Sub2_Sub1(this, var1);
   }

   void method14546() {
      this.method14623();
   }

   final void method14547() {
      if(this.anInt9203 != 1) {
         this.anInt9203 = 1;
         this.method14593();
         this.method14561();
         this.method14562();
         OpenGL.glMatrixMode(5888);
         OpenGL.glLoadIdentity();
         this.anInt9296 &= -9;
      }

   }

   final void method14548(int var1, boolean var2, boolean var3) {
      if(var1 != this.anInt9248 || this.aBool9243 != this.aBool9242) {
         Class147_Sub4 var4 = null;
         int var5 = 0;
         byte var6 = 0;
         int var7 = 0;
         int var8 = this.aBool9242?3:0;
         if(var1 >= 0) {
            var4 = this.aClass172_9169.method3004(var1);
            Class161 var9 = this.anInterface24_7370.method113(var1, 945549882);
            if(var9.aByte1972 == 0 && var9.aByte1993 == 0) {
               this.method14597();
            } else {
               this.method14611((float)(this.anInt9158 % 128000) / 1000.0F * (float)var9.aByte1972 / 64.0F % 1.0F, (float)(this.anInt9158 % 128000) / 1000.0F * (float)var9.aByte1993 / 64.0F % 1.0F, 0.0F);
            }

            if(!this.aBool9242) {
               var6 = var9.aByte1999;
               var7 = var9.anInt1969 * -560456145;
               var8 = var9.aByte1986;
            }

            var5 = var9.anInt2002 * -1758113025;
         } else {
            this.method14597();
         }

         this.aClass129_9150.method2480(var8, var6, var7, var2, var3);
         if(!this.aClass129_9150.method2481(var4, var5)) {
            this.method14725(var4);
            this.method14591(var5);
         }

         this.aBool9243 = this.aBool9242;
         this.anInt9248 = var1;
      }

      this.anInt9296 &= -8;
   }

   public void method11458() {
      if(this.aBool9232 && this.aClass151_7359 != null) {
         int var1 = this.anInt9109;
         int var2 = this.anInt9208;
         int var3 = this.anInt9258;
         int var4 = this.anInt9206;
         this.L();
         int var5 = this.anInt9211;
         int var6 = this.anInt9212;
         int var7 = this.anInt9213;
         int var8 = this.anInt9166;
         this.method11459();
         OpenGL.glReadBuffer(1028);
         OpenGL.glDrawBuffer(1029);
         this.method14568();
         this.method14657(false);
         this.method14634(false);
         this.method14600(false);
         this.method14549(false);
         this.method14725((Class147)null);
         this.method14540(-2);
         this.method14591(1);
         this.method14602(0);
         OpenGL.glMatrixMode(5889);
         OpenGL.glLoadIdentity();
         OpenGL.glOrtho(0.0D, 1.0D, 0.0D, 1.0D, -1.0D, 1.0D);
         OpenGL.glMatrixMode(5888);
         OpenGL.glLoadIdentity();
         OpenGL.glRasterPos2i(0, 0);
         OpenGL.glCopyPixels(0, 0, this.aClass151_7359.method2741(), this.aClass151_7359.method2742(), 6144);
         OpenGL.glFlush();
         OpenGL.glReadBuffer(1029);
         OpenGL.glDrawBuffer(1029);
         this.r(var1, var3, var2, var4);
         this.method11460(var5, var6, var7, var8);
      }
   }

   public void ba(int var1, int var2) {
      int var3 = 0;
      if((var1 & 1) != 0) {
         OpenGL.glClearColor((float)(var2 & 16711680) / 1.671168E7F, (float)(var2 & '\uff00') / 65280.0F, (float)(var2 & 255) / 255.0F, (float)(var2 >>> 24) / 255.0F);
         var3 = 16384;
      }

      if((var1 & 2) != 0) {
         this.method14549(true);
         var3 |= 256;
      }

      if((var1 & 4) != 0) {
         var3 |= 1024;
      }

      OpenGL.glClear(var3);
   }

   public void method11439(int var1, int var2, int var3, int var4, int var5, int var6) {
      float var7 = (float)var1 + 0.35F;
      float var8 = (float)var2 + 0.35F;
      float var9 = var7 + (float)var3 - 1.0F;
      float var10 = var8 + (float)var4 - 1.0F;
      this.method14695();
      this.method14602(var6);
      OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
      if(this.aBool9269) {
         OpenGL.glDisable('\u809d');
      }

      OpenGL.glBegin(2);
      OpenGL.glVertex2f(var7, var8);
      OpenGL.glVertex2f(var7, var10);
      OpenGL.glVertex2f(var9, var10);
      OpenGL.glVertex2f(var9, var8);
      OpenGL.glEnd();
      if(this.aBool9269) {
         OpenGL.glEnable('\u809d');
      }

   }

   public void B(int var1, int var2, int var3, int var4, int var5, int var6) {
      float var7 = (float)var1 + 0.35F;
      float var8 = (float)var2 + 0.35F;
      float var9 = var7 + (float)var3;
      float var10 = var8 + (float)var4;
      this.method14695();
      this.method14602(var6);
      OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
      if(this.aBool9269) {
         OpenGL.glDisable('\u809d');
      }

      OpenGL.glBegin(7);
      OpenGL.glVertex2f(var7, var8);
      OpenGL.glVertex2f(var7, var10);
      OpenGL.glVertex2f(var9, var10);
      OpenGL.glVertex2f(var9, var8);
      OpenGL.glEnd();
      if(this.aBool9269) {
         OpenGL.glEnable('\u809d');
      }

   }

   final void method14549(boolean var1) {
      if(var1 != this.aBool9182) {
         this.aBool9182 = var1;
         this.method14601();
         this.anInt9296 &= -16;
      }

   }

   public void method11585(int var1, int var2, float var3, int var4, int var5, float var6, int var7, int var8, float var9, int var10, int var11, int var12, int var13) {
      this.method14695();
      this.method14602(var13);
      OpenGL.glBegin(4);
      OpenGL.glColor4ub((byte)(var10 >> 16), (byte)(var10 >> 8), (byte)var10, (byte)(var10 >> 24));
      OpenGL.glVertex3f((float)var1 + 0.35F, (float)var2 + 0.35F, var3);
      OpenGL.glColor4ub((byte)(var11 >> 16), (byte)(var11 >> 8), (byte)var11, (byte)(var11 >> 24));
      OpenGL.glVertex3f((float)var4 + 0.35F, (float)var5 + 0.35F, var6);
      OpenGL.glColor4ub((byte)(var12 >> 16), (byte)(var12 >> 8), (byte)var12, (byte)(var12 >> 24));
      OpenGL.glVertex3f((float)var7 + 0.35F, (float)var8 + 0.35F, var9);
      OpenGL.glEnd();
   }

   public final void method11640() {
      this.aClass168_9223.method2871();
   }

   public void XA(int var1, int var2, int var3, int var4, int var5) {
      this.method14695();
      this.method14602(var5);
      float var6 = (float)var1 + 0.35F;
      float var7 = (float)var2 + 0.35F;
      OpenGL.glColor4ub((byte)(var4 >> 16), (byte)(var4 >> 8), (byte)var4, (byte)(var4 >> 24));
      OpenGL.glBegin(1);
      OpenGL.glVertex2f(var6, var7);
      OpenGL.glVertex2f(var6 + (float)var3, var7);
      OpenGL.glEnd();
   }

   public final boolean method11683() {
      return this.aClass225_Sub42_Sub1_9270 != null && this.aClass225_Sub42_Sub1_9270.method14149();
   }

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

      OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
      OpenGL.glBegin(1);
      OpenGL.glVertex2f((float)var1 + 0.35F, (float)var2 + 0.35F);
      OpenGL.glVertex2f((float)var3 + var7 + 0.35F, (float)var4 + var8 + 0.35F);
      OpenGL.glEnd();
   }

   public void method11474(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) {
      if(var1 != var3 || var2 != var4) {
         this.method14695();
         this.method14602(var6);
         float var10 = (float)var3 - (float)var1;
         float var11 = (float)var4 - (float)var2;
         float var12 = (float)(1.0D / Math.sqrt((double)(var10 * var10 + var11 * var11)));
         var10 *= var12;
         var11 *= var12;
         OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
         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 + 0.35F + var15;
         float var20 = (float)var2 + 0.35F + var16;
         float var21 = var10 * (float)var8;
         float var22 = var11 * (float)var8;

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

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

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

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

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

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

            OpenGL.glBegin(1);
            OpenGL.glVertex2f(var19, var20);
            OpenGL.glVertex2f(var19 + var17, var20 + var18);
            OpenGL.glEnd();
            var19 += var21 + var17;
            var20 += var22 + var18;
            var17 = var13;
            var18 = var14;
         }

      }
   }

   void method14550() {
      int var1;
      for(var1 = 0; var1 < this.anInt9292; ++var1) {
         Class225_Sub40 var2 = this.aClass225_Sub40Array9229[var1];
         int var3 = 16386 + var1;
         aFloatArray9185[0] = (float)var2.method14103(1324772916);
         aFloatArray9185[1] = (float)var2.method14104(-1930688145);
         aFloatArray9185[2] = (float)var2.method14105((byte)106);
         aFloatArray9185[3] = 1.0F;
         OpenGL.glLightfv(var3, 4611, aFloatArray9185, 0);
         int var4 = var2.method14107(-1805921689);
         float var5 = var2.method14110(516620555) / 255.0F;
         aFloatArray9185[0] = (float)(var4 >> 16 & 255) * var5;
         aFloatArray9185[1] = (float)(var4 >> 8 & 255) * var5;
         aFloatArray9185[2] = (float)(var4 & 255) * var5;
         OpenGL.glLightfv(var3, 4609, aFloatArray9185, 0);
         OpenGL.glLightf(var3, 4617, 1.0F / (float)(var2.method14113(1821667252) * var2.method14113(2071296351)));
         OpenGL.glEnable(var3);
      }

      while(var1 < this.anInt9230) {
         OpenGL.glDisable(16386 + var1);
         ++var1;
      }

      this.anInt9230 = this.anInt9292;
   }

   public void method11475(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9, int var10, int var11, int var12) {
      if(var1 != var3 || var2 != var4) {
         Class496_Sub3 var13 = (Class496_Sub3)var7;
         Class147_Sub4_Sub1 var14 = var13.aClass147_Sub4_Sub1_9955;
         this.method14587();
         this.method14725(var13.aClass147_Sub4_Sub1_9955);
         this.method14602(var6);
         this.method14553(7681, 8448);
         this.method14679(0, '\u8577', 768);
         float var15 = var14.aFloat10363 / (float)var14.anInt10364;
         float var16 = var14.aFloat10366 / (float)var14.anInt10365;
         float var17 = (float)var3 - (float)var1;
         float var18 = (float)var4 - (float)var2;
         float var19 = (float)(1.0D / Math.sqrt((double)(var17 * var17 + var18 * var18)));
         var17 *= var19;
         var18 *= var19;
         OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
         var12 %= var11 + var10;
         float var20 = var17 * (float)var10;
         float var21 = var18 * (float)var10;
         float var22 = 0.0F;
         float var23 = 0.0F;
         float var24 = var20;
         float var25 = var21;
         if(var12 > var10) {
            var22 = var17 * (float)(var10 + var11 - var12);
            var23 = var18 * (float)(var10 + var11 - var12);
         } else {
            var24 = var17 * (float)(var10 - var12);
            var25 = var18 * (float)(var10 - var12);
         }

         float var26 = (float)var1 + 0.35F + var22;
         float var27 = (float)var2 + 0.35F + var23;
         float var28 = var17 * (float)var11;
         float var29 = var18 * (float)var11;

         while(true) {
            if(var3 > var1) {
               if(var26 > (float)var3 + 0.35F) {
                  break;
               }

               if(var26 + var24 > (float)var3) {
                  var24 = (float)var3 - var26;
               }
            } else {
               if(var26 < (float)var3 + 0.35F) {
                  break;
               }

               if(var26 + var24 < (float)var3) {
                  var24 = (float)var3 - var26;
               }
            }

            if(var4 > var2) {
               if(var27 > (float)var4 + 0.35F) {
                  break;
               }

               if(var27 + var25 > (float)var4) {
                  var25 = (float)var4 - var27;
               }
            } else {
               if(var27 < (float)var4 + 0.35F) {
                  break;
               }

               if(var27 + var25 < (float)var4) {
                  var25 = (float)var4 - var27;
               }
            }

            OpenGL.glBegin(1);
            OpenGL.glTexCoord2f(var15 * (var26 - (float)var8), var16 * (var27 - (float)var9));
            OpenGL.glVertex2f(var26, var27);
            OpenGL.glTexCoord2f(var15 * (var26 + var24 - (float)var8), var16 * (var27 + var25 - (float)var9));
            OpenGL.glVertex2f(var26 + var24, var27 + var25);
            OpenGL.glEnd();
            var26 += var28 + var24;
            var27 += var29 + var25;
            var24 = var20;
            var25 = var21;
         }

         this.method14679(0, 5890, 768);
      }
   }

   public void method11476(int var1, int var2, int var3, int var4, int var5, int var6, int var7) {
      OpenGL.glLineWidth((float)var6);
      this.method11627(var1, var2, var3, var4, var5, var7);
      OpenGL.glLineWidth(1.0F);
   }

   public void method11650(float var1, float var2, float var3, float[] var4) {
      float var5 = this.aClass317_9188.aFloatArray4000[15] + this.aClass317_9188.aFloatArray4000[3] * var1 + this.aClass317_9188.aFloatArray4000[7] * var2 + this.aClass317_9188.aFloatArray4000[11] * var3;
      float var6 = this.aClass317_9188.aFloatArray4000[12] + this.aClass317_9188.aFloatArray4000[0] * var1 + this.aClass317_9188.aFloatArray4000[4] * var2 + this.aClass317_9188.aFloatArray4000[8] * var3;
      float var7 = this.aClass317_9188.aFloatArray4000[13] + this.aClass317_9188.aFloatArray4000[1] * var1 + this.aClass317_9188.aFloatArray4000[5] * var2 + this.aClass317_9188.aFloatArray4000[9] * var3;
      float var8 = this.aClass317_9184.aFloatArray4000[14] + this.aClass317_9184.aFloatArray4000[2] * var1 + this.aClass317_9184.aFloatArray4000[6] * var2 + this.aClass317_9184.aFloatArray4000[10] * var3;
      var4[0] = this.aFloat9191 + this.aFloat9280 * var6 / var5;
      var4[1] = this.aFloat9282 + this.aFloat9112 * var7 / var5;
      var4[2] = var8;
   }

   Class151_Sub2 method11619(Canvas var1, int var2, int var3) {
      return new Class151_Sub2_Sub1(this, var1);
   }

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

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

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

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

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

      return var7;
   }

   public Class225_Sub1 method11478(int var1) {
      Class225_Sub1_Sub1 var2 = new Class225_Sub1_Sub1(var1);
      this.aClass456_9163.method7712(var2, (byte)67);
      return var2;
   }

   final void method14551(int var1, boolean var2, boolean var3) {
      if(var1 != this.anInt9248 || this.aBool9243 != this.aBool9242) {
         Class147_Sub4 var4 = null;
         int var5 = 0;
         byte var6 = 0;
         int var7 = 0;
         int var8 = this.aBool9242?3:0;
         if(var1 >= 0) {
            var4 = this.aClass172_9169.method3004(var1);
            Class161 var9 = this.anInterface24_7370.method113(var1, -1685106334);
            if(var9.aByte1972 == 0 && var9.aByte1993 == 0) {
               this.method14597();
            } else {
               this.method14611((float)(this.anInt9158 % 128000) / 1000.0F * (float)var9.aByte1972 / 64.0F % 1.0F, (float)(this.anInt9158 % 128000) / 1000.0F * (float)var9.aByte1993 / 64.0F % 1.0F, 0.0F);
            }

            if(!this.aBool9242) {
               var6 = var9.aByte1999;
               var7 = var9.anInt1969 * -560456145;
               var8 = var9.aByte1986;
            }

            var5 = var9.anInt2002 * -1758113025;
         } else {
            this.method14597();
         }

         this.aClass129_9150.method2480(var8, var6, var7, var2, var3);
         if(!this.aClass129_9150.method2481(var4, var5)) {
            this.method14725(var4);
            this.method14591(var5);
         }

         this.aBool9243 = this.aBool9242;
         this.anInt9248 = var1;
      }

      this.anInt9296 &= -8;
   }

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

   final synchronized void method14552(int var1) {
      Class225 var2 = new Class225();
      var2.aLong2606 = (long)var1 * -641052250121656953L;
      this.aClass456_9172.method7712(var2, (byte)39);
   }

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

   final void method14553(int var1, int var2) {
      if(this.anInt9252 == 0) {
         boolean var3 = false;
         if(this.anInt9193 != var1) {
            OpenGL.glTexEnvi(8960, '\u8571', var1);
            this.anInt9193 = var1;
            var3 = true;
         }

         if(this.anInt9250 != var2) {
            OpenGL.glTexEnvi(8960, '\u8572', var2);
            this.anInt9250 = var2;
            var3 = true;
         }

         if(var3) {
            this.anInt9296 &= -14;
         }
      } else {
         OpenGL.glTexEnvi(8960, '\u8571', var1);
         OpenGL.glTexEnvi(8960, '\u8572', var2);
      }

   }

   public Class496 method11488(int var1, int var2, int[] var3, int[] var4) {
      return Class496_Sub3.method15479(this, var1, var2, var3, var4);
   }

   public void DA(int var1, Class496 var2, int var3, int var4) {
      Class496_Sub3 var5 = (Class496_Sub3)var2;
      Class147_Sub4_Sub1 var6 = var5.aClass147_Sub4_Sub1_9955;
      this.method14587();
      this.method14725(var5.aClass147_Sub4_Sub1_9955);
      this.method14602(1);
      this.method14553(7681, 8448);
      this.method14679(0, '\u8577', 768);
      float var7 = var6.aFloat10363 / (float)var6.anInt10364;
      float var8 = var6.aFloat10366 / (float)var6.anInt10365;
      OpenGL.glColor4ub((byte)(var1 >> 16), (byte)(var1 >> 8), (byte)var1, (byte)(var1 >> 24));
      OpenGL.glBegin(7);
      OpenGL.glTexCoord2f(var7 * (float)(this.anInt9109 - var3), var8 * (float)(this.anInt9258 - var4));
      OpenGL.glVertex2i(this.anInt9109, this.anInt9258);
      OpenGL.glTexCoord2f(var7 * (float)(this.anInt9109 - var3), var8 * (float)(this.anInt9206 - var4));
      OpenGL.glVertex2i(this.anInt9109, this.anInt9206);
      OpenGL.glTexCoord2f(var7 * (float)(this.anInt9208 - var3), var8 * (float)(this.anInt9206 - var4));
      OpenGL.glVertex2i(this.anInt9208, this.anInt9206);
      OpenGL.glTexCoord2f(var7 * (float)(this.anInt9208 - var3), var8 * (float)(this.anInt9258 - var4));
      OpenGL.glVertex2i(this.anInt9208, this.anInt9258);
      OpenGL.glEnd();
      this.method14679(0, 5890, 768);
   }

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

   public void method11537(int var1) {}

   final synchronized void method14554(int var1, int var2) {
      IntVar var3 = new IntVar(var2);
      var3.aLong2606 = (long)var1 * -641052250121656953L;
      this.aClass456_9104.method7712(var3, (byte)44);
   }

   final void method14555() {
      OpenGL.glPushMatrix();
   }

   final void method14556() {
      if(this.anInt9296 != 8) {
         this.method14570();
         this.method14657(true);
         this.method14600(true);
         this.method14549(true);
         this.method14602(1);
         this.anInt9296 = 8;
      }

   }

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

   public Class317 method11467() {
      return this.aClass317_9154;
   }

   public Class328 method11491() {
      return this.aClass328_9156;
   }

   public void method11711(Class97 var1) {
      this.aClass170_9153.method2911(this, var1);
   }

   final void method14557(boolean var1) {
      if(var1 != this.aBool9119) {
         this.aBool9119 = var1;
         this.method14594();
      }

   }

   public void method11496(int var1, Class153 var2) {
      if(!this.aBool9242) {
         throw new RuntimeException("");
      } else {
         this.anInt9164 = var1;
         this.aClass153_9157 = var2;
         if(this.aBool9243) {
            this.aClass129_9150.aClass141_Sub3_1558.method15427();
            this.aClass129_9150.aClass141_Sub3_1558.method15425();
         }

      }
   }

   final synchronized void method14558(int var1, int var2) {
      IntVar var3 = new IntVar(var2);
      var3.aLong2606 = (long)var1 * -641052250121656953L;
      this.aClass456_9171.method7712(var3, (byte)84);
   }

   public void method11459() {
      this.anInt9211 = 0;
      this.anInt9212 = 0;
      this.anInt9213 = this.aClass151_7359.method2741();
      this.anInt9166 = this.aClass151_7359.method2742();
      this.method14561();
   }

   final void method14559() {
      if(this.aClass151_7359 != null && this.anInt9109 < this.anInt9208 && this.anInt9258 < this.anInt9206) {
         OpenGL.glScissor(this.anInt9209 + this.anInt9109, this.anInt9285 + this.aClass151_7359.method2742() - this.anInt9206, this.anInt9208 - this.anInt9109, this.anInt9206 - this.anInt9258);
      } else {
         OpenGL.glScissor(0, 0, 0, 0);
      }

   }

   final void method14560(boolean var1) {
      if(var1 != this.aBool9119) {
         this.aBool9119 = var1;
         this.method14594();
      }

   }

   public final void qa(int[] var1) {
      var1[0] = this.anInt9109;
      var1[1] = this.anInt9258;
      var1[2] = this.anInt9208;
      var1[3] = this.anInt9206;
   }

   public final void L() {
      if(this.aClass151_7359 != null) {
         this.anInt9109 = 0;
         this.anInt9258 = 0;
         this.anInt9208 = this.aClass151_7359.method2741();
         this.anInt9206 = this.aClass151_7359.method2742();
         OpenGL.glDisable(3089);
      }
   }

   public final void r(int var1, int var2, int var3, int var4) {
      if(this.aClass151_7359 != null) {
         if(var1 < 0) {
            var1 = 0;
         }

         if(var3 > this.aClass151_7359.method2741()) {
            var3 = this.aClass151_7359.method2741();
         }

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

         if(var4 > this.aClass151_7359.method2742()) {
            var4 = this.aClass151_7359.method2742();
         }

         this.anInt9109 = var1;
         this.anInt9258 = var2;
         this.anInt9208 = var3;
         this.anInt9206 = var4;
         OpenGL.glEnable(3089);
         this.method14563();
      }
   }

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

   public Class79 method11623(Class79 var1, Class79 var2, float var3, Class79 var4) {
      if(var1 != null && var2 != null && this.aBool9274 && this.aBool9266) {
         Class79_Sub1_Sub1 var5 = null;
         Class79_Sub1 var6 = (Class79_Sub1)var1;
         Class79_Sub1 var7 = (Class79_Sub1)var2;
         Class147_Sub1 var8 = var6.method14524();
         Class147_Sub1 var9 = var7.method14524();
         if(var8 != null && var9 != null) {
            int var10 = var8.anInt9837 > var9.anInt9837?var8.anInt9837:var9.anInt9837;
            if(var1 != var4 && var2 != var4 && var4 instanceof Class79_Sub1_Sub1) {
               Class79_Sub1_Sub1 var11 = (Class79_Sub1_Sub1)var4;
               if(var11.method15821() == var10) {
                  var5 = var11;
               }
            }

            if(var5 == null) {
               var5 = new Class79_Sub1_Sub1(this, var10);
            }

            if(var5.method15822(var8, var9, var3)) {
               return var5;
            }
         }
      }

      return var3 < 0.5F?var1:var2;
   }

   final void method14561() {
      if(this.aClass151_7359 != null) {
         int var1;
         int var2;
         int var3;
         int var4;
         if(this.anInt9203 == 2) {
            var1 = this.anInt9211;
            var2 = this.anInt9212;
            var3 = this.anInt9213;
            var4 = this.anInt9166;
         } else {
            var1 = 0;
            var2 = 0;
            var3 = this.aClass151_7359.method2741();
            var4 = this.aClass151_7359.method2742();
         }

         if(var3 < 1) {
            var3 = 1;
         }

         if(var4 < 1) {
            var4 = 1;
         }

         OpenGL.glViewport(this.anInt9209 + var1, this.anInt9285 + this.aClass151_7359.method2742() - var2 - var4, var3, var4);
         this.aFloat9280 = (float)this.anInt9213 / 2.0F;
         this.aFloat9112 = (float)this.anInt9166 / 2.0F;
         this.aFloat9191 = (float)this.anInt9211 + this.aFloat9280;
         this.aFloat9282 = (float)this.anInt9212 + this.aFloat9112;
      }

   }

   final void method14562() {
      if(this.anInt9203 == 2) {
         OpenGL.glDepthRange(this.aFloat9151, this.aFloat9231);
      } else {
         OpenGL.glDepthRange(0.0F, 1.0F);
      }

   }

   final void method14563() {
      if(this.aClass151_7359 != null && this.anInt9109 < this.anInt9208 && this.anInt9258 < this.anInt9206) {
         OpenGL.glScissor(this.anInt9209 + this.anInt9109, this.anInt9285 + this.aClass151_7359.method2742() - this.anInt9206, this.anInt9208 - this.anInt9109, this.anInt9206 - this.anInt9258);
      } else {
         OpenGL.glScissor(0, 0, 0, 0);
      }

   }

   final void method14564() {
      OpenGL.glPushMatrix();
   }

   final void method14565(Class317 var1) {
      OpenGL.glPushMatrix();
      OpenGL.glMultMatrixf(var1.aFloatArray4000, 0);
   }

   public final boolean method11626() {
      if(this.aClass225_Sub42_Sub1_9270 != null) {
         if(!this.aClass225_Sub42_Sub1_9270.method14149()) {
            if(!this.aClass168_9223.method2872(this.aClass225_Sub42_Sub1_9270)) {
               return false;
            }

            this.aClass172_9169.method3005();
         }

         return true;
      } else {
         return false;
      }
   }

   final void method14566() {
      OpenGL.glPopMatrix();
   }

   static int method14567(Class98 var0) {
      switch(var0.anInt995 * -960308681) {
      case 0:
         return 6410;
      case 1:
         return 6402;
      case 2:
      case 4:
      case 6:
      case 8:
      default:
         throw new IllegalStateException();
      case 3:
         return 6407;
      case 5:
         return 6406;
      case 7:
         return 6409;
      case 9:
         return 6408;
      }
   }

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

   public Class171 method11583(int var1, int var2, int var3, int var4, boolean var5) {
      return new Class171_Sub2(this, var1, var2, var3, var4);
   }

   public final void method11500(Class317 var1) {
      this.aClass317_9186.method5609(var1);
      this.method14633();
      this.method14593();
   }

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

   final void method14568() {
      if(this.anInt9203 != 0) {
         this.anInt9203 = 0;
         this.method14561();
         this.method14562();
         this.anInt9296 &= -16;
      }

   }

   final void method14569() {
      if(this.anInt9203 != 1) {
         this.anInt9203 = 1;
         this.method14593();
         this.method14561();
         this.method14562();
         OpenGL.glMatrixMode(5888);
         OpenGL.glLoadIdentity();
         this.anInt9296 &= -9;
      }

   }

   final void method14570() {
      if(this.anInt9203 != 2) {
         this.anInt9203 = 2;
         this.method14649(this.aClass317_9186.aFloatArray4000);
         this.method14589();
         this.method14561();
         this.method14562();
         this.anInt9296 &= -8;
      }

   }

   void method11429(int var1, int var2) throws Exception_Sub5 {
      try {
         this.aClass151_Sub2_7358.method14944();
      } catch (Exception var4) {
         ;
      }

      if(this.anInterface24_7370 != null) {
         this.anInterface24_7370.method117((byte)125);
      }

   }

   public void RA(boolean var1) {
      this.aBool9239 = var1;
      this.method14601();
   }

   void method14571() {
      int var1 = 0;

      while(!this.anOpenGL9224.method2776()) {
         if(var1++ > 5) {
            throw new RuntimeException("");
         }

         Class75.method1619(1000L);
      }

   }

   public final void fq(int var1, int var2, int var3, int var4) {
      if(this.anInt9109 < var1) {
         this.anInt9109 = var1;
      }

      if(this.anInt9208 > var3) {
         this.anInt9208 = var3;
      }

      if(this.anInt9258 < var2) {
         this.anInt9258 = var2;
      }

      if(this.anInt9206 > var4) {
         this.anInt9206 = var4;
      }

      OpenGL.glEnable(3089);
      this.method14563();
   }

   final void method14572() {
      if(this.anInt9296 != 4) {
         this.method14569();
         this.method14657(false);
         this.method14634(false);
         this.method14600(false);
         this.method14549(false);
         this.method14540(-2);
         this.method14602(1);
         this.anInt9296 = 4;
      }

   }

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

      this.anInt9292 = var1;
      if(this.anInt9203 != 1) {
         this.method14550();
      }

   }

   public final void ia(float var1) {
      if(this.aFloat9168 != var1) {
         this.aFloat9168 = var1;
         this.method14574();
      }

   }

   public final void IA(float var1) {
      if(this.aFloat9168 != var1) {
         this.aFloat9168 = var1;
         this.method14574();
      }

   }

   public final void m(int var1, float var2, float var3, float var4, float var5, float var6) {
      boolean var7 = this.anInt9222 != var1;
      if(var7 || this.aFloat9227 != var2 || this.aFloat9228 != var3) {
         this.anInt9222 = var1;
         this.aFloat9227 = var2;
         this.aFloat9228 = var3;
         if(var7) {
            this.aFloat9130 = (float)(this.anInt9222 & 16711680) / 1.671168E7F;
            this.aFloat9123 = (float)(this.anInt9222 & '\uff00') / 65280.0F;
            this.aFloat9225 = (float)(this.anInt9222 & 255) / 255.0F;
            this.method14574();
         }

         this.method14575();
      }

      if(this.aFloatArray9218[0] != var4 || this.aFloatArray9218[1] != var5 || this.aFloatArray9218[2] != var6) {
         this.aFloatArray9218[0] = var4;
         this.aFloatArray9218[1] = var5;
         this.aFloatArray9218[2] = var6;
         this.aFloatArray9178[0] = -var4;
         this.aFloatArray9178[1] = -var5;
         this.aFloatArray9178[2] = -var6;
         float var8 = (float)(1.0D / Math.sqrt((double)(var4 * var4 + var5 * var5 + var6 * var6)));
         this.aFloatArray9265[0] = var4 * var8;
         this.aFloatArray9265[1] = var5 * var8;
         this.aFloatArray9265[2] = var6 * var8;
         this.aFloatArray9221[0] = -this.aFloatArray9265[0];
         this.aFloatArray9221[1] = -this.aFloatArray9265[1];
         this.aFloatArray9221[2] = -this.aFloatArray9265[2];
         this.method14576();
         this.anInt9173 = (int)(var4 * 256.0F / var5);
         this.anInt9127 = (int)(var6 * 256.0F / var5);
      }

   }

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

      this.anInt9159 = 1 << this.anInt9160;
   }

   public final void c(int var1, int var2, int var3) {
      if(this.anInt9235 != var1 || this.anInt9167 != var2 || this.anInt9149 != var3) {
         this.anInt9235 = var1;
         this.anInt9167 = var2;
         this.anInt9149 = var3;
         this.method14624();
         this.method14577();
      }

   }

   final void method14573(float var1, float var2) {
      this.aFloat9240 = var1;
      this.aFloat9268 = var2;
      this.method14624();
   }

   void method14574() {
      aFloatArray9245[0] = this.aFloat9168 * this.aFloat9130;
      aFloatArray9245[1] = this.aFloat9168 * this.aFloat9123;
      aFloatArray9245[2] = this.aFloat9168 * this.aFloat9225;
      aFloatArray9245[3] = 1.0F;
      OpenGL.glLightModelfv(2899, aFloatArray9245, 0);
   }

   void method14575() {
      aFloatArray9245[0] = this.aFloat9227 * this.aFloat9130;
      aFloatArray9245[1] = this.aFloat9227 * this.aFloat9123;
      aFloatArray9245[2] = this.aFloat9227 * this.aFloat9225;
      aFloatArray9245[3] = 1.0F;
      OpenGL.glLightfv(16384, 4609, aFloatArray9245, 0);
      aFloatArray9245[0] = -this.aFloat9228 * this.aFloat9130;
      aFloatArray9245[1] = -this.aFloat9228 * this.aFloat9123;
      aFloatArray9245[2] = -this.aFloat9228 * this.aFloat9225;
      aFloatArray9245[3] = 1.0F;
      OpenGL.glLightfv(16385, 4609, aFloatArray9245, 0);
   }

   void method14576() {
      OpenGL.glLightfv(16384, 4611, this.aFloatArray9265, 0);
      OpenGL.glLightfv(16385, 4611, this.aFloatArray9221, 0);
   }

   void method14577() {
      if(this.aBool9255 && this.anInt9167 >= 0) {
         OpenGL.glEnable(2912);
      } else {
         OpenGL.glDisable(2912);
      }

   }

   public void GA(float var1, float var2) {
      this.aFloat9151 = var1;
      this.aFloat9231 = var2;
      this.method14562();
   }

   public Class79 method11507(int var1, int var2, int var3, int var4, int var5, int var6) {
      return this.aBool9274?new Class79_Sub1_Sub2(this, var1, var2, var3, var4, var5, var6):null;
   }

   final Interface10 method14578(int var1, Buffer var2, int var3, boolean var4) {
      return (Interface10)(this.aBool9271 && (!var4 || this.aBool9272)?new Class145_Sub1(this, var1, var2, var3, var4):new Class162_Sub1(this, var1, var2));
   }

   public final void method11508(Class79 var1) {
      this.aClass79_Sub1_9217 = (Class79_Sub1)var1;
   }

   final Class147_Sub1 method14579() {
      return this.aClass79_Sub1_9217 != null?this.aClass79_Sub1_9217.method14524():null;
   }

   public final boolean method11509() {
      if(this.aClass225_Sub42_Sub1_9270 != null) {
         if(!this.aClass225_Sub42_Sub1_9270.method14149()) {
            if(!this.aClass168_9223.method2872(this.aClass225_Sub42_Sub1_9270)) {
               return false;
            }

            this.aClass172_9169.method3005();
         }

         return true;
      } else {
         return false;
      }
   }

   void method14580() {
      this.method14540(-2);

      for(int var1 = this.anInt9194 - 1; var1 >= 0; --var1) {
         this.method14641(var1);
         this.method14725((Class147)null);
         OpenGL.glTexEnvi(8960, 8704, '\u8570');
      }

      this.method14553(8448, 8448);
      this.method14679(2, '\u8578', 770);
      this.method14597();
      this.anInt9177 = 1;
      OpenGL.glEnable(3042);
      OpenGL.glBlendFunc(770, 771);
      this.anInt9205 = 1;
      OpenGL.glEnable(3008);
      OpenGL.glAlphaFunc(516, 0.0F);
      this.aBool9180 = true;
      OpenGL.glColorMask(true, true, true, true);
      this.aBool9198 = true;
      this.method14657(true);
      this.method14634(true);
      this.method14600(true);
      this.method14549(true);
      this.GA(0.0F, 1.0F);
      this.method14568();
      this.anOpenGL9224.setSwapInterval(0);
      OpenGL.glShadeModel(7425);
      OpenGL.glClearDepth(1.0F);
      OpenGL.glDepthFunc(515);
      OpenGL.glPolygonMode(1028, 6914);
      OpenGL.glEnable(2884);
      OpenGL.glCullFace(1029);
      OpenGL.glMatrixMode(5888);
      OpenGL.glLoadIdentity();
      OpenGL.glColorMaterial(1028, 5634);
      OpenGL.glEnable(2903);
      float[] var4 = new float[]{0.0F, 0.0F, 0.0F, 1.0F};

      for(int var2 = 0; var2 < 8; ++var2) {
         int var3 = 16384 + var2;
         OpenGL.glLightfv(var3, 4608, var4, 0);
         OpenGL.glLightf(var3, 4615, 0.0F);
         OpenGL.glLightf(var3, 4616, 0.0F);
      }

      OpenGL.glEnable(16384);
      OpenGL.glEnable(16385);
      OpenGL.glFogf(2914, 0.95F);
      OpenGL.glFogi(2917, 9729);
      OpenGL.glHint(3156, 4353);
      if(this.aBool9275) {
         OpenGL.glEnable('\u884f');
      }

      this.anInt9235 = -1;
      this.anInt9222 = -1;
      this.method11459();
      this.L();
   }

   public final void fl(int var1, int var2, int var3, int var4) {
      if(this.aClass151_7359 != null) {
         if(var1 < 0) {
            var1 = 0;
         }

         if(var3 > this.aClass151_7359.method2741()) {
            var3 = this.aClass151_7359.method2741();
         }

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

         if(var4 > this.aClass151_7359.method2742()) {
            var4 = this.aClass151_7359.method2742();
         }

         this.anInt9109 = var1;
         this.anInt9258 = var2;
         this.anInt9208 = var3;
         this.anInt9206 = var4;
         OpenGL.glEnable(3089);
         this.method14563();
      }
   }

   public void method11524() {
      OpenGL.glFinish();
   }

   public void gr(int var1, Class496 var2, int var3, int var4) {
      Class496_Sub3 var5 = (Class496_Sub3)var2;
      Class147_Sub4_Sub1 var6 = var5.aClass147_Sub4_Sub1_9955;
      this.method14587();
      this.method14725(var5.aClass147_Sub4_Sub1_9955);
      this.method14602(1);
      this.method14553(7681, 8448);
      this.method14679(0, '\u8577', 768);
      float var7 = var6.aFloat10363 / (float)var6.anInt10364;
      float var8 = var6.aFloat10366 / (float)var6.anInt10365;
      OpenGL.glColor4ub((byte)(var1 >> 16), (byte)(var1 >> 8), (byte)var1, (byte)(var1 >> 24));
      OpenGL.glBegin(7);
      OpenGL.glTexCoord2f(var7 * (float)(this.anInt9109 - var3), var8 * (float)(this.anInt9258 - var4));
      OpenGL.glVertex2i(this.anInt9109, this.anInt9258);
      OpenGL.glTexCoord2f(var7 * (float)(this.anInt9109 - var3), var8 * (float)(this.anInt9206 - var4));
      OpenGL.glVertex2i(this.anInt9109, this.anInt9206);
      OpenGL.glTexCoord2f(var7 * (float)(this.anInt9208 - var3), var8 * (float)(this.anInt9206 - var4));
      OpenGL.glVertex2i(this.anInt9208, this.anInt9206);
      OpenGL.glTexCoord2f(var7 * (float)(this.anInt9208 - var3), var8 * (float)(this.anInt9258 - var4));
      OpenGL.glVertex2i(this.anInt9208, this.anInt9258);
      OpenGL.glEnd();
      this.method14679(0, 5890, 768);
   }

   public final void method11515() {
      this.aClass168_9223.method2871();
   }

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

   public Class79 method11644(Class79 var1, Class79 var2, float var3, Class79 var4) {
      if(var1 != null && var2 != null && this.aBool9274 && this.aBool9266) {
         Class79_Sub1_Sub1 var5 = null;
         Class79_Sub1 var6 = (Class79_Sub1)var1;
         Class79_Sub1 var7 = (Class79_Sub1)var2;
         Class147_Sub1 var8 = var6.method14524();
         Class147_Sub1 var9 = var7.method14524();
         if(var8 != null && var9 != null) {
            int var10 = var8.anInt9837 > var9.anInt9837?var8.anInt9837:var9.anInt9837;
            if(var1 != var4 && var2 != var4 && var4 instanceof Class79_Sub1_Sub1) {
               Class79_Sub1_Sub1 var11 = (Class79_Sub1_Sub1)var4;
               if(var11.method15821() == var10) {
                  var5 = var11;
               }
            }

            if(var5 == null) {
               var5 = new Class79_Sub1_Sub1(this, var10);
            }

            if(var5.method15822(var8, var9, var3)) {
               return var5;
            }
         }
      }

      return var3 < 0.5F?var1:var2;
   }

   public Interface8 method11457(int var1, int var2, int var3) {
      return new Class225_Sub14_Sub18(this, Class98.aClass98_990, Class91.aClass91_901, var1, var2, var3);
   }

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

   final Interface15 method14581(int var1, byte[] var2, int var3, boolean var4) {
      return (Interface15)(this.aBool9271 && (!var4 || this.aBool9272)?new Class145_Sub2(this, var1, var2, var3, var4):new Class162_Sub2(this, var1, var2, var3));
   }

   final Interface10 method14582(int var1, byte[] var2, int var3, boolean var4) {
      return (Interface10)(this.aBool9271 && (!var4 || this.aBool9272)?new Class145_Sub1(this, var1, var2, var3, var4):new Class162_Sub1(this, var1, var2, var3));
   }

   final Interface10 method14583(int var1, Buffer var2, int var3, boolean var4) {
      return (Interface10)(this.aBool9271 && (!var4 || this.aBool9272)?new Class145_Sub1(this, var1, var2, var3, var4):new Class162_Sub1(this, var1, var2));
   }

   final void method14584(Interface10 var1) {
      if(this.anInterface10_9261 != var1) {
         if(this.aBool9271) {
            OpenGL.glBindBufferARB('\u8892', var1.method30());
         }

         this.anInterface10_9261 = var1;
      }

   }

   final void method14585(Interface15 var1) {
      if(this.anInterface15_9234 != var1) {
         if(this.aBool9271) {
            OpenGL.glBindBufferARB('\u8893', var1.method30());
         }

         this.anInterface15_9234 = var1;
      }

   }

   public final boolean method11588() {
      return this.aClass225_Sub42_Sub1_9270 != null && this.aClass225_Sub42_Sub1_9270.method14149();
   }

   public final void fr() {
      if(this.aClass151_7359 != null) {
         this.anInt9109 = 0;
         this.anInt9258 = 0;
         this.anInt9208 = this.aClass151_7359.method2741();
         this.anInt9206 = this.aClass151_7359.method2742();
         OpenGL.glDisable(3089);
      }
   }

   Class151_Sub2 method11578(Canvas var1, int var2, int var3) {
      return new Class151_Sub2_Sub1(this, var1);
   }

   final void method14586() {
      if(this.anInt9203 != 1) {
         this.anInt9203 = 1;
         this.method14593();
         this.method14561();
         this.method14562();
         OpenGL.glMatrixMode(5888);
         OpenGL.glLoadIdentity();
         this.anInt9296 &= -9;
      }

   }

   final void method14587() {
      if(this.anInt9296 != 2) {
         this.method14569();
         this.method14657(false);
         this.method14634(false);
         this.method14600(false);
         this.method14549(false);
         this.method14540(-2);
         this.anInt9296 = 2;
      }

   }

   final void method14588() {
      if(this.anInt9296 != 4) {
         this.method14569();
         this.method14657(false);
         this.method14634(false);
         this.method14600(false);
         this.method14549(false);
         this.method14540(-2);
         this.method14602(1);
         this.anInt9296 = 4;
      }

   }

   final void method14589() {
      OpenGL.glLoadIdentity();
      OpenGL.glMultMatrixf(this.aClass317_9184.aFloatArray4000, 0);
      if(this.aBool9243) {
         this.aClass129_9150.aClass141_Sub3_1558.method15427();
      }

      this.method14576();
      this.method14550();
   }

   void method11522(int var1, int var2) throws Exception_Sub5 {
      try {
         this.aClass151_Sub2_7358.method14944();
      } catch (Exception var4) {
         ;
      }

      if(this.anInterface24_7370 != null) {
         this.anInterface24_7370.method117((byte)121);
      }

   }

   void method11523(int var1, int var2) throws Exception_Sub5 {
      try {
         this.aClass151_Sub2_7358.method14944();
      } catch (Exception var4) {
         ;
      }

      if(this.anInterface24_7370 != null) {
         this.anInterface24_7370.method117((byte)112);
      }

   }

   final void method14590(int var1, boolean var2, boolean var3) {
      if(var1 != this.anInt9248 || this.aBool9243 != this.aBool9242) {
         Class147_Sub4 var4 = null;
         int var5 = 0;
         byte var6 = 0;
         int var7 = 0;
         int var8 = this.aBool9242?3:0;
         if(var1 >= 0) {
            var4 = this.aClass172_9169.method3004(var1);
            Class161 var9 = this.anInterface24_7370.method113(var1, 402829016);
            if(var9.aByte1972 == 0 && var9.aByte1993 == 0) {
               this.method14597();
            } else {
               this.method14611((float)(this.anInt9158 % 128000) / 1000.0F * (float)var9.aByte1972 / 64.0F % 1.0F, (float)(this.anInt9158 % 128000) / 1000.0F * (float)var9.aByte1993 / 64.0F % 1.0F, 0.0F);
            }

            if(!this.aBool9242) {
               var6 = var9.aByte1999;
               var7 = var9.anInt1969 * -560456145;
               var8 = var9.aByte1986;
            }

            var5 = var9.anInt2002 * -1758113025;
         } else {
            this.method14597();
         }

         this.aClass129_9150.method2480(var8, var6, var7, var2, var3);
         if(!this.aClass129_9150.method2481(var4, var5)) {
            this.method14725(var4);
            this.method14591(var5);
         }

         this.aBool9243 = this.aBool9242;
         this.anInt9248 = var1;
      }

      this.anInt9296 &= -8;
   }

   public int[] ay(int var1, int var2, int var3, int var4) {
      if(this.aClass151_7359 == null) {
         return null;
      } else {
         int[] var5 = new int[var3 * var4];
         int var6 = this.aClass151_7359.method2742();

         for(int var7 = 0; var7 < var4; ++var7) {
            OpenGL.glReadPixelsi(var1, var6 - var2 - var7 - 1, var3, 1, '\u80e1', this.anInt9283, var5, var7 * var3);
         }

         return var5;
      }
   }

   void CA(int var1, int var2, int var3, int var4, int var5) {
      if(var3 < 0) {
         var3 = -var3;
      }

      if(var1 + var3 >= this.anInt9109 && var1 - var3 <= this.anInt9208 && var2 + var3 >= this.anInt9258 && var2 - var3 <= this.anInt9206) {
         this.method14695();
         this.method14602(var5);
         OpenGL.glColor4ub((byte)(var4 >> 16), (byte)(var4 >> 8), (byte)var4, (byte)(var4 >> 24));
         float var6 = (float)var1 + 0.35F;
         float var7 = (float)var2 + 0.35F;
         int var8 = var3 << 1;
         if((float)var8 < this.aFloat9226) {
            OpenGL.glBegin(7);
            OpenGL.glVertex2f(var6 + 1.0F, var7 + 1.0F);
            OpenGL.glVertex2f(var6 + 1.0F, var7 - 1.0F);
            OpenGL.glVertex2f(var6 - 1.0F, var7 - 1.0F);
            OpenGL.glVertex2f(var6 - 1.0F, var7 + 1.0F);
            OpenGL.glEnd();
         } else {
            if((float)var8 <= this.aFloat9284) {
               OpenGL.glEnable(2832);
               OpenGL.glPointSize((float)var8);
               OpenGL.glBegin(0);
               OpenGL.glVertex2f(var6, var7);
               OpenGL.glEnd();
               OpenGL.glDisable(2832);
            } else {
               OpenGL.glBegin(6);
               OpenGL.glVertex2f(var6, var7);
               int var9 = 262144 / (6 * var3);
               if(var9 <= 64) {
                  var9 = 64;
               } else if(var9 > 512) {
                  var9 = 512;
               }

               var9 = Class526.method11090(var9, (byte)62);
               OpenGL.glVertex2f(var6 + (float)var3, var7);

               for(int var10 = 16384 - var9; var10 > 0; var10 -= var9) {
                  OpenGL.glVertex2f(var6 + Class158.aFloatArray1956[var10] * (float)var3, var7 + Class158.aFloatArray1957[var10] * (float)var3);
               }

               OpenGL.glVertex2f(var6 + (float)var3, var7);
               OpenGL.glEnd();
            }

         }
      }
   }

   final void method14591(int var1) {
      if(var1 == 1) {
         this.method14553(7681, 7681);
      } else if(var1 == 0) {
         this.method14553(8448, 8448);
      } else if(var1 == 2) {
         this.method14553('\u8575', 7681);
      } else if(var1 == 3) {
         this.method14553(260, 8448);
      } else if(var1 == 4) {
         this.method14553('\u84e7', '\u84e7');
      }

   }

   final void method14592() {
      OpenGL.glLoadIdentity();
      OpenGL.glMultMatrixf(this.aClass317_9184.aFloatArray4000, 0);
      if(this.aBool9243) {
         this.aClass129_9150.aClass141_Sub3_1558.method15427();
      }

      this.method14576();
      this.method14550();
   }

   final void method14593() {
      this.aFloat9111 = this.aClass317_9186.method5628();
      this.aFloat9197 = this.aClass317_9186.method5687();
      this.method14624();
      if(this.anInt9203 == 2) {
         this.method14649(this.aClass317_9186.aFloatArray4000);
      } else if(this.anInt9203 == 1) {
         this.method14649(this.aClass317_9278.aFloatArray4000);
      }

   }

   void method14594() {
      if(this.aBool9216 && !this.aBool9119) {
         OpenGL.glEnable(2896);
      } else {
         OpenGL.glDisable(2896);
      }

   }

   final synchronized void method14595(int var1) {
      IntVar var2 = new IntVar(var1);
      this.aClass456_9187.method7712(var2, (byte)122);
   }

   public void method11589(int var1) {}

   final void method14596(float var1, float var2, float var3, float var4) {
      aFloatArray9245[0] = var1;
      aFloatArray9245[1] = var2;
      aFloatArray9245[2] = var3;
      aFloatArray9245[3] = var4;
      OpenGL.glTexEnvfv(8960, 8705, aFloatArray9245, 0);
   }

   public void method11543(int var1, Class153 var2) {
      this.anInt9164 = var1;
      this.aClass153_9157 = var2;
      this.aBool9242 = true;
   }

   final void method14597() {
      if(this.aBool9251) {
         OpenGL.glMatrixMode(5890);
         OpenGL.glLoadIdentity();
         OpenGL.glMatrixMode(5888);
         this.aBool9251 = false;
      }

   }

   public final void method11510() {
      if(this.aClass225_Sub42_Sub1_9270 != null && this.aClass225_Sub42_Sub1_9270.method14149()) {
         this.aClass168_9223.method2876(this.aClass225_Sub42_Sub1_9270);
         this.aClass172_9169.method3005();
      }

   }

   public void method11652(float var1, float var2, float var3, float[] var4) {
      float var5 = this.aClass317_9188.aFloatArray4000[15] + this.aClass317_9188.aFloatArray4000[3] * var1 + this.aClass317_9188.aFloatArray4000[7] * var2 + this.aClass317_9188.aFloatArray4000[11] * var3;
      float var6 = this.aClass317_9188.aFloatArray4000[12] + this.aClass317_9188.aFloatArray4000[0] * var1 + this.aClass317_9188.aFloatArray4000[4] * var2 + this.aClass317_9188.aFloatArray4000[8] * var3;
      float var7 = this.aClass317_9188.aFloatArray4000[13] + this.aClass317_9188.aFloatArray4000[1] * var1 + this.aClass317_9188.aFloatArray4000[5] * var2 + this.aClass317_9188.aFloatArray4000[9] * var3;
      float var8 = this.aClass317_9184.aFloatArray4000[14] + this.aClass317_9184.aFloatArray4000[2] * var1 + this.aClass317_9184.aFloatArray4000[6] * var2 + this.aClass317_9184.aFloatArray4000[10] * var3;
      var4[0] = this.aFloat9191 + this.aFloat9280 * var6 / var5;
      var4[1] = this.aFloat9282 + this.aFloat9112 * var7 / var5;
      var4[2] = var8;
   }

   final void method14598(boolean var1) {
      if(var1 != this.aBool9119) {
         this.aBool9119 = var1;
         this.method14594();
      }

   }

   final void method14599() {
      if(this.aClass151_7359 != null) {
         int var1;
         int var2;
         int var3;
         int var4;
         if(this.anInt9203 == 2) {
            var1 = this.anInt9211;
            var2 = this.anInt9212;
            var3 = this.anInt9213;
            var4 = this.anInt9166;
         } else {
            var1 = 0;
            var2 = 0;
            var3 = this.aClass151_7359.method2741();
            var4 = this.aClass151_7359.method2742();
         }

         if(var3 < 1) {
            var3 = 1;
         }

         if(var4 < 1) {
            var4 = 1;
         }

         OpenGL.glViewport(this.anInt9209 + var1, this.anInt9285 + this.aClass151_7359.method2742() - var2 - var4, var3, var4);
         this.aFloat9280 = (float)this.anInt9213 / 2.0F;
         this.aFloat9112 = (float)this.anInt9166 / 2.0F;
         this.aFloat9191 = (float)this.anInt9211 + this.aFloat9280;
         this.aFloat9282 = (float)this.anInt9212 + this.aFloat9112;
      }

   }

   final void method14600(boolean var1) {
      if(var1 != this.aBool9181) {
         if(var1) {
            OpenGL.glEnable(2929);
         } else {
            OpenGL.glDisable(2929);
         }

         this.aBool9181 = var1;
         this.anInt9296 &= -16;
      }

   }

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

   final void method14601() {
      OpenGL.glDepthMask(this.aBool9182 && this.aBool9239);
   }

   final void method14602(int var1) {
      if(this.anInt9177 != var1) {
         byte var2;
         boolean var3;
         boolean var4;
         if(var1 == 1) {
            var2 = 1;
            var3 = true;
            var4 = true;
         } else if(var1 == 2) {
            var2 = 2;
            var3 = true;
            var4 = false;
         } else if(var1 == 128) {
            var2 = 3;
            var3 = true;
            var4 = true;
         } else {
            var2 = 0;
            var3 = true;
            var4 = false;
         }

         if(var3 != this.aBool9198) {
            OpenGL.glColorMask(var3, var3, var3, true);
            this.aBool9198 = var3;
         }

         if(var4 != this.aBool9180) {
            if(var4) {
               OpenGL.glEnable(3008);
            } else {
               OpenGL.glDisable(3008);
            }

            this.aBool9180 = var4;
         }

         if(var2 != this.anInt9205) {
            if(var2 == 1) {
               OpenGL.glEnable(3042);
               OpenGL.glBlendFunc(770, 771);
            } else if(var2 == 2) {
               OpenGL.glEnable(3042);
               OpenGL.glBlendFunc(1, 1);
            } else if(var2 == 3) {
               OpenGL.glEnable(3042);
               OpenGL.glBlendFunc(774, 1);
            } else {
               OpenGL.glDisable(3042);
            }

            this.anInt9205 = var2;
         }

         this.anInt9177 = var1;
         this.anInt9296 &= -13;
      }

   }

   final void method14603(int var1) {
      aFloatArray9245[0] = (float)(var1 & 16711680) / 1.671168E7F;
      aFloatArray9245[1] = (float)(var1 & '\uff00') / 65280.0F;
      aFloatArray9245[2] = (float)(var1 & 255) / 255.0F;
      aFloatArray9245[3] = (float)(var1 >>> 24) / 255.0F;
      OpenGL.glTexEnvfv(8960, 8705, aFloatArray9245, 0);
   }

   public void method11541(boolean var1) {}

   final synchronized void method14604(int var1, int var2) {
      IntVar var3 = new IntVar(var2);
      var3.aLong2606 = (long)var1 * -641052250121656953L;
      this.aClass456_9104.method7712(var3, (byte)100);
   }

   public boolean method11532() {
      return true;
   }

   final synchronized void method14605(int var1) {
      IntVar var2 = new IntVar(var1);
      this.aClass456_9187.method7712(var2, (byte)126);
   }

   final void method14606(float var1, float var2) {
      this.aFloat9240 = var1;
      this.aFloat9268 = var2;
      this.method14624();
   }

   final synchronized void method14607(long var1) {
      Class225 var3 = new Class225();
      var3.aLong2606 = var1 * -641052250121656953L;
      this.aClass456_9244.method7712(var3, (byte)54);
   }

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

   void method14608() {
      if(this.aBool9255 && this.anInt9167 >= 0) {
         OpenGL.glEnable(2912);
      } else {
         OpenGL.glDisable(2912);
      }

   }

   static int method14609(Class98 var0, Class91 var1) {
      if(var1 == Class91.aClass91_897) {
         switch(var0.anInt995 * -960308681) {
         case 0:
            return 6410;
         case 1:
         case 2:
         case 4:
         case 6:
         case 8:
         default:
            throw new IllegalArgumentException();
         case 3:
            return 6407;
         case 5:
            return 6406;
         case 7:
            return 6409;
         case 9:
            return 6408;
         }
      } else if(var1 == Class91.aClass91_899) {
         switch(var0.anInt995 * -960308681) {
         case 0:
            return '\u8d7b';
         case 1:
            return '\u81a5';
         case 2:
         case 4:
         case 6:
         case 8:
         default:
            throw new IllegalArgumentException();
         case 3:
            return '\u8054';
         case 5:
            return '\u803e';
         case 7:
            return '\u8042';
         case 9:
            return '\u805b';
         }
      } else if(var1 == Class91.aClass91_901) {
         switch(var0.anInt995 * -960308681) {
         case 1:
            return '\u81a6';
         default:
            throw new IllegalArgumentException();
         }
      } else if(var1 == Class91.aClass91_903) {
         switch(var0.anInt995 * -960308681) {
         case 0:
            return '\u881f';
         case 1:
         case 2:
         case 4:
         case 6:
         case 8:
         default:
            throw new IllegalArgumentException();
         case 3:
            return '\u881b';
         case 5:
            return '\u881c';
         case 7:
            return '\u881e';
         case 9:
            return '\u881a';
         }
      } else if(var1 == Class91.aClass91_902) {
         switch(var0.anInt995 * -960308681) {
         case 0:
            return '\u8819';
         case 1:
         case 2:
         case 4:
         case 6:
         case 8:
         default:
            throw new IllegalArgumentException();
         case 3:
            return '\u8815';
         case 5:
            return '\u8816';
         case 7:
            return '\u8818';
         case 9:
            return '\u8814';
         }
      } else {
         throw new IllegalArgumentException();
      }
   }

   public void method11717(boolean var1) {}

   public void method11642(int var1, Class153 var2) {
      this.anInt9164 = var1;
      this.aClass153_9157 = var2;
      this.aBool9242 = true;
   }

   public void method11497(int var1, int var2, float var3, int var4, int var5, float var6, int var7, int var8, float var9, int var10, int var11, int var12, int var13) {
      this.method14695();
      this.method14602(var13);
      OpenGL.glBegin(4);
      OpenGL.glColor4ub((byte)(var10 >> 16), (byte)(var10 >> 8), (byte)var10, (byte)(var10 >> 24));
      OpenGL.glVertex3f((float)var1 + 0.35F, (float)var2 + 0.35F, var3);
      OpenGL.glColor4ub((byte)(var11 >> 16), (byte)(var11 >> 8), (byte)var11, (byte)(var11 >> 24));
      OpenGL.glVertex3f((float)var4 + 0.35F, (float)var5 + 0.35F, var6);
      OpenGL.glColor4ub((byte)(var12 >> 16), (byte)(var12 >> 8), (byte)var12, (byte)(var12 >> 24));
      OpenGL.glVertex3f((float)var7 + 0.35F, (float)var8 + 0.35F, var9);
      OpenGL.glEnd();
   }

   final void method14610(Interface15 var1, int var2, int var3, int var4) {
      this.method14585(var1);
      OpenGL.glDrawElements(var2, var4, 5123, var1.method75() + (long)(var3 * 2));
   }

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

   public void method11526() {
      OpenGL.glFinish();
   }

   void method11527() {
      for(Class225 var1 = this.aClass456_9163.method7682((byte)38); var1 != null; var1 = this.aClass456_9163.method7666(-382224648)) {
         ((Class225_Sub1_Sub1)var1).method15782();
      }

      if(this.aClass168_9223 != null) {
         this.aClass168_9223.method2877();
      }

      if(this.aBool9161) {
         Class8.method657(false, true, (byte)-58);
         this.aBool9161 = false;
      }

   }

   void method11528() {
      for(Class225 var1 = this.aClass456_9163.method7682((byte)69); var1 != null; var1 = this.aClass456_9163.method7666(-1615106512)) {
         ((Class225_Sub1_Sub1)var1).method15782();
      }

      if(this.aClass168_9223 != null) {
         this.aClass168_9223.method2877();
      }

      if(this.aBool9161) {
         Class8.method657(false, true, (byte)-61);
         this.aBool9161 = false;
      }

   }

   void method11529() {
      for(Class225 var1 = this.aClass456_9163.method7682((byte)12); var1 != null; var1 = this.aClass456_9163.method7666(-1167403414)) {
         ((Class225_Sub1_Sub1)var1).method15782();
      }

      if(this.aClass168_9223 != null) {
         this.aClass168_9223.method2877();
      }

      if(this.aBool9161) {
         Class8.method657(false, true, (byte)-3);
         this.aBool9161 = false;
      }

   }

   public final synchronized void method11530(int var1) {
      int var2 = 0;
      var1 &= Integer.MAX_VALUE;

      IntVar var3;
      while(!this.aClass456_9104.method7640(-1245322746)) {
         var3 = (IntVar)this.aClass456_9104.method7649((byte)8);
         anIntArray9259[var2++] = (int)(var3.aLong2606 * -7222396723785363401L);
         this.anInt9165 -= var3.integer * 442885445;
         if(var2 == 1000) {
            OpenGL.glDeleteBuffersARB(var2, anIntArray9259, 0);
            var2 = 0;
         }
      }

      if(var2 > 0) {
         OpenGL.glDeleteBuffersARB(var2, anIntArray9259, 0);
         var2 = 0;
      }

      while(!this.aClass456_9110.method7640(-1959237792)) {
         var3 = (IntVar)this.aClass456_9110.method7649((byte)8);
         anIntArray9259[var2++] = (int)(var3.aLong2606 * -7222396723785363401L);
         this.anInt9125 -= var3.integer * 442885445;
         if(var2 == 1000) {
            OpenGL.glDeleteTextures(var2, anIntArray9259, 0);
            var2 = 0;
         }
      }

      if(var2 > 0) {
         OpenGL.glDeleteTextures(var2, anIntArray9259, 0);
         var2 = 0;
      }

      while(!this.aClass456_9187.method7640(347527619)) {
         var3 = (IntVar)this.aClass456_9187.method7649((byte)8);
         anIntArray9259[var2++] = var3.integer * 442885445;
         if(var2 == 1000) {
            OpenGL.glDeleteFramebuffersEXT(var2, anIntArray9259, 0);
            var2 = 0;
         }
      }

      if(var2 > 0) {
         OpenGL.glDeleteFramebuffersEXT(var2, anIntArray9259, 0);
         var2 = 0;
      }

      while(!this.aClass456_9171.method7640(-247341929)) {
         var3 = (IntVar)this.aClass456_9171.method7649((byte)8);
         anIntArray9259[var2++] = (int)(var3.aLong2606 * -7222396723785363401L);
         this.anInt9241 -= var3.integer * 442885445;
         if(var2 == 1000) {
            OpenGL.glDeleteRenderbuffersEXT(var2, anIntArray9259, 0);
            var2 = 0;
         }
      }

      if(var2 > 0) {
         OpenGL.glDeleteRenderbuffersEXT(var2, anIntArray9259, 0);
         boolean var5 = false;
      }

      while(!this.aClass456_9247.method7640(-2019872906)) {
         var3 = (IntVar)this.aClass456_9247.method7649((byte)8);
         OpenGL.glDeleteLists((int)(var3.aLong2606 * -7222396723785363401L), var3.integer * 442885445);
      }

      Class225 var4;
      while(!this.aClass456_9172.method7640(-1962847482)) {
         var4 = this.aClass456_9172.method7649((byte)8);
         OpenGL.glDeleteProgramARB((int)(var4.aLong2606 * -7222396723785363401L));
      }

      while(!this.aClass456_9244.method7640(1464212939)) {
         var4 = this.aClass456_9244.method7649((byte)8);
         OpenGL.glDeleteShader((int)(var4.aLong2606 * -7222396723785363401L));
      }

      while(!this.aClass456_9247.method7640(1175621958)) {
         var3 = (IntVar)this.aClass456_9247.method7649((byte)8);
         OpenGL.glDeleteLists((int)(var3.aLong2606 * -7222396723785363401L), var3.integer * 442885445);
      }

      this.aClass172_9169.method3000();
      if(this.za() > 100663296 && Class339.method6240(-656837335) > this.aLong9174 + 60000L) {
         System.gc();
         this.aLong9174 = Class339.method6240(-877189345);
      }

      this.anInt9158 = var1;
   }

   public final synchronized void method11531(int var1) {
      int var2 = 0;
      var1 &= Integer.MAX_VALUE;

      IntVar var3;
      while(!this.aClass456_9104.method7640(-1615066022)) {
         var3 = (IntVar)this.aClass456_9104.method7649((byte)8);
         anIntArray9259[var2++] = (int)(var3.aLong2606 * -7222396723785363401L);
         this.anInt9165 -= var3.integer * 442885445;
         if(var2 == 1000) {
            OpenGL.glDeleteBuffersARB(var2, anIntArray9259, 0);
            var2 = 0;
         }
      }

      if(var2 > 0) {
         OpenGL.glDeleteBuffersARB(var2, anIntArray9259, 0);
         var2 = 0;
      }

      while(!this.aClass456_9110.method7640(400428325)) {
         var3 = (IntVar)this.aClass456_9110.method7649((byte)8);
         anIntArray9259[var2++] = (int)(var3.aLong2606 * -7222396723785363401L);
         this.anInt9125 -= var3.integer * 442885445;
         if(var2 == 1000) {
            OpenGL.glDeleteTextures(var2, anIntArray9259, 0);
            var2 = 0;
         }
      }

      if(var2 > 0) {
         OpenGL.glDeleteTextures(var2, anIntArray9259, 0);
         var2 = 0;
      }

      while(!this.aClass456_9187.method7640(-1498590855)) {
         var3 = (IntVar)this.aClass456_9187.method7649((byte)8);
         anIntArray9259[var2++] = var3.integer * 442885445;
         if(var2 == 1000) {
            OpenGL.glDeleteFramebuffersEXT(var2, anIntArray9259, 0);
            var2 = 0;
         }
      }

      if(var2 > 0) {
         OpenGL.glDeleteFramebuffersEXT(var2, anIntArray9259, 0);
         var2 = 0;
      }

      while(!this.aClass456_9171.method7640(797215222)) {
         var3 = (IntVar)this.aClass456_9171.method7649((byte)8);
         anIntArray9259[var2++] = (int)(var3.aLong2606 * -7222396723785363401L);
         this.anInt9241 -= var3.integer * 442885445;
         if(var2 == 1000) {
            OpenGL.glDeleteRenderbuffersEXT(var2, anIntArray9259, 0);
            var2 = 0;
         }
      }

      if(var2 > 0) {
         OpenGL.glDeleteRenderbuffersEXT(var2, anIntArray9259, 0);
         boolean var5 = false;
      }

      while(!this.aClass456_9247.method7640(659112203)) {
         var3 = (IntVar)this.aClass456_9247.method7649((byte)8);
         OpenGL.glDeleteLists((int)(var3.aLong2606 * -7222396723785363401L), var3.integer * 442885445);
      }

      Class225 var4;
      while(!this.aClass456_9172.method7640(470043614)) {
         var4 = this.aClass456_9172.method7649((byte)8);
         OpenGL.glDeleteProgramARB((int)(var4.aLong2606 * -7222396723785363401L));
      }

      while(!this.aClass456_9244.method7640(-377399217)) {
         var4 = this.aClass456_9244.method7649((byte)8);
         OpenGL.glDeleteShader((int)(var4.aLong2606 * -7222396723785363401L));
      }

      while(!this.aClass456_9247.method7640(612118570)) {
         var3 = (IntVar)this.aClass456_9247.method7649((byte)8);
         OpenGL.glDeleteLists((int)(var3.aLong2606 * -7222396723785363401L), var3.integer * 442885445);
      }

      this.aClass172_9169.method3000();
      if(this.za() > 100663296 && Class339.method6240(-209382170) > this.aLong9174 + 60000L) {
         System.gc();
         this.aLong9174 = Class339.method6240(56554198);
      }

      this.anInt9158 = var1;
   }

   public final int dg() {
      return this.anInt9165 + this.anInt9125 + this.anInt9241;
   }

   final void method14611(float var1, float var2, float var3) {
      OpenGL.glMatrixMode(5890);
      if(this.aBool9251) {
         OpenGL.glLoadIdentity();
      }

      OpenGL.glTranslatef(var1, var2, var3);
      OpenGL.glMatrixMode(5888);
      this.aBool9251 = true;
   }

   public boolean method11533() {
      return true;
   }

   public boolean method11618() {
      return true;
   }

   final void method14612(float var1, float var2, float var3, float var4) {
      aFloatArray9245[0] = var1;
      aFloatArray9245[1] = var2;
      aFloatArray9245[2] = var3;
      aFloatArray9245[3] = var4;
      OpenGL.glTexEnvfv(8960, 8705, aFloatArray9245, 0);
   }

   public boolean method11535() {
      return this.aClass225_Sub42_Sub1_9270 != null && (this.anInt9148 <= 1 || this.aBool9107);
   }

   public final void ij(int var1, float var2, float var3, float var4, float var5, float var6) {
      boolean var7 = this.anInt9222 != var1;
      if(var7 || this.aFloat9227 != var2 || this.aFloat9228 != var3) {
         this.anInt9222 = var1;
         this.aFloat9227 = var2;
         this.aFloat9228 = var3;
         if(var7) {
            this.aFloat9130 = (float)(this.anInt9222 & 16711680) / 1.671168E7F;
            this.aFloat9123 = (float)(this.anInt9222 & '\uff00') / 65280.0F;
            this.aFloat9225 = (float)(this.anInt9222 & 255) / 255.0F;
            this.method14574();
         }

         this.method14575();
      }

      if(this.aFloatArray9218[0] != var4 || this.aFloatArray9218[1] != var5 || this.aFloatArray9218[2] != var6) {
         this.aFloatArray9218[0] = var4;
         this.aFloatArray9218[1] = var5;
         this.aFloatArray9218[2] = var6;
         this.aFloatArray9178[0] = -var4;
         this.aFloatArray9178[1] = -var5;
         this.aFloatArray9178[2] = -var6;
         float var8 = (float)(1.0D / Math.sqrt((double)(var4 * var4 + var5 * var5 + var6 * var6)));
         this.aFloatArray9265[0] = var4 * var8;
         this.aFloatArray9265[1] = var5 * var8;
         this.aFloatArray9265[2] = var6 * var8;
         this.aFloatArray9221[0] = -this.aFloatArray9265[0];
         this.aFloatArray9221[1] = -this.aFloatArray9265[1];
         this.aFloatArray9221[2] = -this.aFloatArray9265[2];
         this.method14576();
         this.anInt9173 = (int)(var4 * 256.0F / var5);
         this.anInt9127 = (int)(var6 * 256.0F / var5);
      }

   }

   public boolean method11616() {
      return true;
   }

   final void method14613() {
      OpenGL.glPushMatrix();
   }

   public boolean method11539() {
      return this.aBool9269 && (!this.method11588() || this.aBool9107);
   }

   public boolean method11643() {
      return true;
   }

   public final void il(float var1) {
      if(this.aFloat9168 != var1) {
         this.aFloat9168 = var1;
         this.method14574();
      }

   }

   public boolean method11586() {
      return false;
   }

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

   public void method11542(boolean var1) {}

   public void method11554(boolean var1) {}

   public Class225_Sub1 method11575(int var1) {
      Class225_Sub1_Sub1 var2 = new Class225_Sub1_Sub1(var1);
      this.aClass456_9163.method7712(var2, (byte)31);
      return var2;
   }

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

      OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
      OpenGL.glBegin(1);
      OpenGL.glVertex2f((float)var1 + 0.35F, (float)var2 + 0.35F);
      OpenGL.glVertex2f((float)var3 + var7 + 0.35F, (float)var4 + var8 + 0.35F);
      OpenGL.glEnd();
   }

   public boolean method11442() {
      return true;
   }

   final synchronized void method14614(int var1, int var2) {
      IntVar var3 = new IntVar(var2);
      var3.aLong2606 = (long)var1 * -641052250121656953L;
      this.aClass456_9110.method7712(var3, (byte)25);
   }

   public void method11428() {
      if(this.aBool9232 && this.aClass151_7359 != null) {
         int var1 = this.anInt9109;
         int var2 = this.anInt9208;
         int var3 = this.anInt9258;
         int var4 = this.anInt9206;
         this.L();
         int var5 = this.anInt9211;
         int var6 = this.anInt9212;
         int var7 = this.anInt9213;
         int var8 = this.anInt9166;
         this.method11459();
         OpenGL.glReadBuffer(1028);
         OpenGL.glDrawBuffer(1029);
         this.method14568();
         this.method14657(false);
         this.method14634(false);
         this.method14600(false);
         this.method14549(false);
         this.method14725((Class147)null);
         this.method14540(-2);
         this.method14591(1);
         this.method14602(0);
         OpenGL.glMatrixMode(5889);
         OpenGL.glLoadIdentity();
         OpenGL.glOrtho(0.0D, 1.0D, 0.0D, 1.0D, -1.0D, 1.0D);
         OpenGL.glMatrixMode(5888);
         OpenGL.glLoadIdentity();
         OpenGL.glRasterPos2i(0, 0);
         OpenGL.glCopyPixels(0, 0, this.aClass151_7359.method2741(), this.aClass151_7359.method2742(), 6144);
         OpenGL.glFlush();
         OpenGL.glReadBuffer(1029);
         OpenGL.glDrawBuffer(1029);
         this.r(var1, var3, var2, var4);
         this.method11460(var5, var6, var7, var8);
      }
   }

   final void method14615(Class147 var1) {
      Class147 var2 = this.aClass147Array9253[this.anInt9252];
      if(var2 != var1) {
         if(var1 != null) {
            if(var2 != null) {
               if(var1.anInt1702 != var2.anInt1702) {
                  OpenGL.glDisable(var2.anInt1702);
                  OpenGL.glEnable(var1.anInt1702);
               }
            } else {
               OpenGL.glEnable(var1.anInt1702);
            }

            OpenGL.glBindTexture(var1.anInt1702, var1.anInt1701);
         } else {
            OpenGL.glDisable(var2.anInt1702);
         }

         this.aClass147Array9253[this.anInt9252] = var1;
      }

      this.anInt9296 &= -2;
   }

   public void eq(boolean var1) {
      this.aBool9239 = var1;
      this.method14601();
   }

   public void ev(boolean var1) {
      this.aBool9239 = var1;
      this.method14601();
   }

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

   public void method11559() {
      this.anInt9211 = 0;
      this.anInt9212 = 0;
      this.anInt9213 = this.aClass151_7359.method2741();
      this.anInt9166 = this.aClass151_7359.method2742();
      this.method14561();
   }

   public void method11671(int var1, int var2, int var3, int var4) {
      this.anInt9211 = var1;
      this.anInt9212 = var2;
      this.anInt9213 = var3;
      this.anInt9166 = var4;
      this.method14561();
   }

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

   final synchronized void method14616(int var1) {
      IntVar var2 = new IntVar(var1);
      this.aClass456_9187.method7712(var2, (byte)56);
   }

   public final void ey() {
      if(this.aClass151_7359 != null) {
         this.anInt9109 = 0;
         this.anInt9258 = 0;
         this.anInt9208 = this.aClass151_7359.method2741();
         this.anInt9206 = this.aClass151_7359.method2742();
         OpenGL.glDisable(3089);
      }
   }

   public final void fz() {
      if(this.aClass151_7359 != null) {
         this.anInt9109 = 0;
         this.anInt9258 = 0;
         this.anInt9208 = this.aClass151_7359.method2741();
         this.anInt9206 = this.aClass151_7359.method2742();
         OpenGL.glDisable(3089);
      }
   }

   public void method11682(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9) {
      Class496_Sub3 var10 = (Class496_Sub3)var7;
      Class147_Sub4_Sub1 var11 = var10.aClass147_Sub4_Sub1_9955;
      this.method14587();
      this.method14725(var10.aClass147_Sub4_Sub1_9955);
      this.method14602(var6);
      this.method14553(7681, 8448);
      this.method14679(0, '\u8577', 768);
      float var12 = var11.aFloat10363 / (float)var11.anInt10364;
      float var13 = var11.aFloat10366 / (float)var11.anInt10365;
      float var14 = (float)var3 - (float)var1;
      float var15 = (float)var4 - (float)var2;
      float var16 = (float)(1.0D / Math.sqrt((double)(var14 * var14 + var15 * var15)));
      var14 *= var16;
      var15 *= var16;
      OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
      OpenGL.glBegin(1);
      OpenGL.glTexCoord2f(var12 * (float)(var1 - var8), var13 * (float)(var2 - var9));
      OpenGL.glVertex2f((float)var1 + 0.35F, (float)var2 + 0.35F);
      OpenGL.glTexCoord2f(var12 * (float)(var3 - var8), var13 * (float)(var4 - var9));
      OpenGL.glVertex2f((float)var3 + var14 + 0.35F, (float)var4 + var15 + 0.35F);
      OpenGL.glEnd();
      this.method14679(0, 5890, 768);
   }

   final void method14617(int var1) {
      if(this.anInt9177 != var1) {
         byte var2;
         boolean var3;
         boolean var4;
         if(var1 == 1) {
            var2 = 1;
            var3 = true;
            var4 = true;
         } else if(var1 == 2) {
            var2 = 2;
            var3 = true;
            var4 = false;
         } else if(var1 == 128) {
            var2 = 3;
            var3 = true;
            var4 = true;
         } else {
            var2 = 0;
            var3 = true;
            var4 = false;
         }

         if(var3 != this.aBool9198) {
            OpenGL.glColorMask(var3, var3, var3, true);
            this.aBool9198 = var3;
         }

         if(var4 != this.aBool9180) {
            if(var4) {
               OpenGL.glEnable(3008);
            } else {
               OpenGL.glDisable(3008);
            }

            this.aBool9180 = var4;
         }

         if(var2 != this.anInt9205) {
            if(var2 == 1) {
               OpenGL.glEnable(3042);
               OpenGL.glBlendFunc(770, 771);
            } else if(var2 == 2) {
               OpenGL.glEnable(3042);
               OpenGL.glBlendFunc(1, 1);
            } else if(var2 == 3) {
               OpenGL.glEnable(3042);
               OpenGL.glBlendFunc(774, 1);
            } else {
               OpenGL.glDisable(3042);
            }

            this.anInt9205 = var2;
         }

         this.anInt9177 = var1;
         this.anInt9296 &= -13;
      }

   }

   public final void ff(int var1, int var2, int var3, int var4) {
      if(this.aClass151_7359 != null) {
         if(var1 < 0) {
            var1 = 0;
         }

         if(var3 > this.aClass151_7359.method2741()) {
            var3 = this.aClass151_7359.method2741();
         }

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

         if(var4 > this.aClass151_7359.method2742()) {
            var4 = this.aClass151_7359.method2742();
         }

         this.anInt9109 = var1;
         this.anInt9258 = var2;
         this.anInt9208 = var3;
         this.anInt9206 = var4;
         OpenGL.glEnable(3089);
         this.method14563();
      }
   }

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

   public final void fp(int var1, int var2, int var3, int var4) {
      if(this.aClass151_7359 != null) {
         if(var1 < 0) {
            var1 = 0;
         }

         if(var3 > this.aClass151_7359.method2741()) {
            var3 = this.aClass151_7359.method2741();
         }

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

         if(var4 > this.aClass151_7359.method2742()) {
            var4 = this.aClass151_7359.method2742();
         }

         this.anInt9109 = var1;
         this.anInt9258 = var2;
         this.anInt9208 = var3;
         this.anInt9206 = var4;
         OpenGL.glEnable(3089);
         this.method14563();
      }
   }

   final void method14618(boolean var1) {
      if(var1 != this.aBool9216) {
         this.aBool9216 = var1;
         this.method14594();
         this.anInt9296 &= -8;
      }

   }

   public final void fo(int[] var1) {
      var1[0] = this.anInt9109;
      var1[1] = this.anInt9258;
      var1[2] = this.anInt9208;
      var1[3] = this.anInt9206;
   }

   public final void fg(int[] var1) {
      var1[0] = this.anInt9109;
      var1[1] = this.anInt9258;
      var1[2] = this.anInt9208;
      var1[3] = this.anInt9206;
   }

   public void fu(int var1, int var2, int var3, int var4, int var5, int var6, byte[] var7, int var8, int var9) {
      float var10;
      float var11;
      if(this.aClass147_Sub4_Sub1_9256 != null && this.aClass147_Sub4_Sub1_9256.anInt9953 >= var3 && this.aClass147_Sub4_Sub1_9256.anInt9954 >= var4) {
         this.aClass147_Sub4_Sub1_9256.method15461(0, 0, var3, var4, var7, Class98.aClass98_987, 0, 0, false);
         var10 = this.aClass147_Sub4_Sub1_9256.aFloat10366 * (float)var4 / (float)this.aClass147_Sub4_Sub1_9256.anInt9954;
         var11 = this.aClass147_Sub4_Sub1_9256.aFloat10363 * (float)var3 / (float)this.aClass147_Sub4_Sub1_9256.anInt9953;
      } else {
         this.aClass147_Sub4_Sub1_9256 = Class147_Sub4_Sub1.method15946(this, Class98.aClass98_987, Class91.aClass91_897, var3, var4, false, var7, Class98.aClass98_987);
         this.aClass147_Sub4_Sub1_9256.method15463(false, false);
         var10 = this.aClass147_Sub4_Sub1_9256.aFloat10366;
         var11 = this.aClass147_Sub4_Sub1_9256.aFloat10363;
      }

      this.method14587();
      this.method14725(this.aClass147_Sub4_Sub1_9256);
      this.method14602(var9);
      OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
      this.method14603(var6);
      this.method14553('\u8575', '\u8575');
      this.method14679(0, '\u8576', 768);
      this.method14679(2, 5890, 770);
      this.method14630(0, '\u8576', 770);
      this.method14630(2, 5890, 770);
      float var12 = (float)var1;
      float var13 = (float)var2;
      float var14 = var12 + (float)var3;
      float var15 = var13 + (float)var4;
      OpenGL.glBegin(7);
      OpenGL.glTexCoord2f(0.0F, 0.0F);
      OpenGL.glVertex2f(var12, var13);
      OpenGL.glTexCoord2f(0.0F, var11);
      OpenGL.glVertex2f(var12, var15);
      OpenGL.glTexCoord2f(var10, var11);
      OpenGL.glVertex2f(var14, var15);
      OpenGL.glTexCoord2f(var10, 0.0F);
      OpenGL.glVertex2f(var14, var13);
      OpenGL.glEnd();
      this.method14679(0, 5890, 768);
      this.method14679(2, '\u8576', 770);
      this.method14630(0, 5890, 770);
      this.method14630(2, '\u8576', 770);
   }

   public void fd(int var1, int var2, int var3, int var4, int var5, int var6, byte[] var7, int var8, int var9) {
      float var10;
      float var11;
      if(this.aClass147_Sub4_Sub1_9256 != null && this.aClass147_Sub4_Sub1_9256.anInt9953 >= var3 && this.aClass147_Sub4_Sub1_9256.anInt9954 >= var4) {
         this.aClass147_Sub4_Sub1_9256.method15461(0, 0, var3, var4, var7, Class98.aClass98_987, 0, 0, false);
         var10 = this.aClass147_Sub4_Sub1_9256.aFloat10366 * (float)var4 / (float)this.aClass147_Sub4_Sub1_9256.anInt9954;
         var11 = this.aClass147_Sub4_Sub1_9256.aFloat10363 * (float)var3 / (float)this.aClass147_Sub4_Sub1_9256.anInt9953;
      } else {
         this.aClass147_Sub4_Sub1_9256 = Class147_Sub4_Sub1.method15946(this, Class98.aClass98_987, Class91.aClass91_897, var3, var4, false, var7, Class98.aClass98_987);
         this.aClass147_Sub4_Sub1_9256.method15463(false, false);
         var10 = this.aClass147_Sub4_Sub1_9256.aFloat10366;
         var11 = this.aClass147_Sub4_Sub1_9256.aFloat10363;
      }

      this.method14587();
      this.method14725(this.aClass147_Sub4_Sub1_9256);
      this.method14602(var9);
      OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
      this.method14603(var6);
      this.method14553('\u8575', '\u8575');
      this.method14679(0, '\u8576', 768);
      this.method14679(2, 5890, 770);
      this.method14630(0, '\u8576', 770);
      this.method14630(2, 5890, 770);
      float var12 = (float)var1;
      float var13 = (float)var2;
      float var14 = var12 + (float)var3;
      float var15 = var13 + (float)var4;
      OpenGL.glBegin(7);
      OpenGL.glTexCoord2f(0.0F, 0.0F);
      OpenGL.glVertex2f(var12, var13);
      OpenGL.glTexCoord2f(0.0F, var11);
      OpenGL.glVertex2f(var12, var15);
      OpenGL.glTexCoord2f(var10, var11);
      OpenGL.glVertex2f(var14, var15);
      OpenGL.glTexCoord2f(var10, 0.0F);
      OpenGL.glVertex2f(var14, var13);
      OpenGL.glEnd();
      this.method14679(0, 5890, 768);
      this.method14679(2, '\u8576', 770);
      this.method14630(0, 5890, 770);
      this.method14630(2, '\u8576', 770);
   }

   public void fn(int var1, int var2, int var3, int var4, int var5, int var6, byte[] var7, int var8, int var9) {
      float var10;
      float var11;
      if(this.aClass147_Sub4_Sub1_9256 != null && this.aClass147_Sub4_Sub1_9256.anInt9953 >= var3 && this.aClass147_Sub4_Sub1_9256.anInt9954 >= var4) {
         this.aClass147_Sub4_Sub1_9256.method15461(0, 0, var3, var4, var7, Class98.aClass98_987, 0, 0, false);
         var10 = this.aClass147_Sub4_Sub1_9256.aFloat10366 * (float)var4 / (float)this.aClass147_Sub4_Sub1_9256.anInt9954;
         var11 = this.aClass147_Sub4_Sub1_9256.aFloat10363 * (float)var3 / (float)this.aClass147_Sub4_Sub1_9256.anInt9953;
      } else {
         this.aClass147_Sub4_Sub1_9256 = Class147_Sub4_Sub1.method15946(this, Class98.aClass98_987, Class91.aClass91_897, var3, var4, false, var7, Class98.aClass98_987);
         this.aClass147_Sub4_Sub1_9256.method15463(false, false);
         var10 = this.aClass147_Sub4_Sub1_9256.aFloat10366;
         var11 = this.aClass147_Sub4_Sub1_9256.aFloat10363;
      }

      this.method14587();
      this.method14725(this.aClass147_Sub4_Sub1_9256);
      this.method14602(var9);
      OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
      this.method14603(var6);
      this.method14553('\u8575', '\u8575');
      this.method14679(0, '\u8576', 768);
      this.method14679(2, 5890, 770);
      this.method14630(0, '\u8576', 770);
      this.method14630(2, 5890, 770);
      float var12 = (float)var1;
      float var13 = (float)var2;
      float var14 = var12 + (float)var3;
      float var15 = var13 + (float)var4;
      OpenGL.glBegin(7);
      OpenGL.glTexCoord2f(0.0F, 0.0F);
      OpenGL.glVertex2f(var12, var13);
      OpenGL.glTexCoord2f(0.0F, var11);
      OpenGL.glVertex2f(var12, var15);
      OpenGL.glTexCoord2f(var10, var11);
      OpenGL.glVertex2f(var14, var15);
      OpenGL.glTexCoord2f(var10, 0.0F);
      OpenGL.glVertex2f(var14, var13);
      OpenGL.glEnd();
      this.method14679(0, 5890, 768);
      this.method14679(2, '\u8576', 770);
      this.method14630(0, 5890, 770);
      this.method14630(2, '\u8576', 770);
   }

   public void fm(int var1, int var2, int var3, int var4, int var5, int var6, byte[] var7, int var8, int var9) {
      float var10;
      float var11;
      if(this.aClass147_Sub4_Sub1_9256 != null && this.aClass147_Sub4_Sub1_9256.anInt9953 >= var3 && this.aClass147_Sub4_Sub1_9256.anInt9954 >= var4) {
         this.aClass147_Sub4_Sub1_9256.method15461(0, 0, var3, var4, var7, Class98.aClass98_987, 0, 0, false);
         var10 = this.aClass147_Sub4_Sub1_9256.aFloat10366 * (float)var4 / (float)this.aClass147_Sub4_Sub1_9256.anInt9954;
         var11 = this.aClass147_Sub4_Sub1_9256.aFloat10363 * (float)var3 / (float)this.aClass147_Sub4_Sub1_9256.anInt9953;
      } else {
         this.aClass147_Sub4_Sub1_9256 = Class147_Sub4_Sub1.method15946(this, Class98.aClass98_987, Class91.aClass91_897, var3, var4, false, var7, Class98.aClass98_987);
         this.aClass147_Sub4_Sub1_9256.method15463(false, false);
         var10 = this.aClass147_Sub4_Sub1_9256.aFloat10366;
         var11 = this.aClass147_Sub4_Sub1_9256.aFloat10363;
      }

      this.method14587();
      this.method14725(this.aClass147_Sub4_Sub1_9256);
      this.method14602(var9);
      OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
      this.method14603(var6);
      this.method14553('\u8575', '\u8575');
      this.method14679(0, '\u8576', 768);
      this.method14679(2, 5890, 770);
      this.method14630(0, '\u8576', 770);
      this.method14630(2, 5890, 770);
      float var12 = (float)var1;
      float var13 = (float)var2;
      float var14 = var12 + (float)var3;
      float var15 = var13 + (float)var4;
      OpenGL.glBegin(7);
      OpenGL.glTexCoord2f(0.0F, 0.0F);
      OpenGL.glVertex2f(var12, var13);
      OpenGL.glTexCoord2f(0.0F, var11);
      OpenGL.glVertex2f(var12, var15);
      OpenGL.glTexCoord2f(var10, var11);
      OpenGL.glVertex2f(var14, var15);
      OpenGL.glTexCoord2f(var10, 0.0F);
      OpenGL.glVertex2f(var14, var13);
      OpenGL.glEnd();
      this.method14679(0, 5890, 768);
      this.method14679(2, '\u8576', 770);
      this.method14630(0, 5890, 770);
      this.method14630(2, '\u8576', 770);
   }

   final void method14619() {
      if(this.anInt9203 == 2) {
         OpenGL.glDepthRange(this.aFloat9151, this.aFloat9231);
      } else {
         OpenGL.glDepthRange(0.0F, 1.0F);
      }

   }

   public void fj(int var1, int var2, int var3, int var4, int var5) {
      this.method14695();
      this.method14602(var5);
      float var6 = (float)var1 + 0.35F;
      float var7 = (float)var2 + 0.35F;
      OpenGL.glColor4ub((byte)(var4 >> 16), (byte)(var4 >> 8), (byte)var4, (byte)(var4 >> 24));
      OpenGL.glBegin(1);
      OpenGL.glVertex2f(var6, var7);
      OpenGL.glVertex2f(var6 + (float)var3, var7);
      OpenGL.glEnd();
   }

   public void fy(int var1, int var2, int var3, int var4, int var5) {
      this.method14695();
      this.method14602(var5);
      float var6 = (float)var1 + 0.35F;
      float var7 = (float)var2 + 0.35F;
      OpenGL.glColor4ub((byte)(var4 >> 16), (byte)(var4 >> 8), (byte)var4, (byte)(var4 >> 24));
      OpenGL.glBegin(1);
      OpenGL.glVertex2f(var6, var7);
      OpenGL.glVertex2f(var6, var7 + (float)var3);
      OpenGL.glEnd();
   }

   final void method14620(int var1) {
      if(this.anInt9177 != var1) {
         byte var2;
         boolean var3;
         boolean var4;
         if(var1 == 1) {
            var2 = 1;
            var3 = true;
            var4 = true;
         } else if(var1 == 2) {
            var2 = 2;
            var3 = true;
            var4 = false;
         } else if(var1 == 128) {
            var2 = 3;
            var3 = true;
            var4 = true;
         } else {
            var2 = 0;
            var3 = true;
            var4 = false;
         }

         if(var3 != this.aBool9198) {
            OpenGL.glColorMask(var3, var3, var3, true);
            this.aBool9198 = var3;
         }

         if(var4 != this.aBool9180) {
            if(var4) {
               OpenGL.glEnable(3008);
            } else {
               OpenGL.glDisable(3008);
            }

            this.aBool9180 = var4;
         }

         if(var2 != this.anInt9205) {
            if(var2 == 1) {
               OpenGL.glEnable(3042);
               OpenGL.glBlendFunc(770, 771);
            } else if(var2 == 2) {
               OpenGL.glEnable(3042);
               OpenGL.glBlendFunc(1, 1);
            } else if(var2 == 3) {
               OpenGL.glEnable(3042);
               OpenGL.glBlendFunc(774, 1);
            } else {
               OpenGL.glDisable(3042);
            }

            this.anInt9205 = var2;
         }

         this.anInt9177 = var1;
         this.anInt9296 &= -13;
      }

   }

   public void method11562(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) {
      if(var1 != var3 || var2 != var4) {
         this.method14695();
         this.method14602(var6);
         float var10 = (float)var3 - (float)var1;
         float var11 = (float)var4 - (float)var2;
         float var12 = (float)(1.0D / Math.sqrt((double)(var10 * var10 + var11 * var11)));
         var10 *= var12;
         var11 *= var12;
         OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
         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 + 0.35F + var15;
         float var20 = (float)var2 + 0.35F + var16;
         float var21 = var10 * (float)var8;
         float var22 = var11 * (float)var8;

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

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

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

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

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

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

            OpenGL.glBegin(1);
            OpenGL.glVertex2f(var19, var20);
            OpenGL.glVertex2f(var19 + var17, var20 + var18);
            OpenGL.glEnd();
            var19 += var21 + var17;
            var20 += var22 + var18;
            var17 = var13;
            var18 = var14;
         }

      }
   }

   final int method14621(int var1) {
      if(var1 == 1) {
         return 7681;
      } else if(var1 == 0) {
         return 8448;
      } else if(var1 == 2) {
         return '\u8575';
      } else if(var1 == 3) {
         return 260;
      } else if(var1 == 4) {
         return '\u84e7';
      } else {
         throw new IllegalArgumentException();
      }
   }

   public void method11564(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9) {
      Class496_Sub3 var10 = (Class496_Sub3)var7;
      Class147_Sub4_Sub1 var11 = var10.aClass147_Sub4_Sub1_9955;
      this.method14587();
      this.method14725(var10.aClass147_Sub4_Sub1_9955);
      this.method14602(var6);
      this.method14553(7681, 8448);
      this.method14679(0, '\u8577', 768);
      float var12 = var11.aFloat10363 / (float)var11.anInt10364;
      float var13 = var11.aFloat10366 / (float)var11.anInt10365;
      float var14 = (float)var3 - (float)var1;
      float var15 = (float)var4 - (float)var2;
      float var16 = (float)(1.0D / Math.sqrt((double)(var14 * var14 + var15 * var15)));
      var14 *= var16;
      var15 *= var16;
      OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
      OpenGL.glBegin(1);
      OpenGL.glTexCoord2f(var12 * (float)(var1 - var8), var13 * (float)(var2 - var9));
      OpenGL.glVertex2f((float)var1 + 0.35F, (float)var2 + 0.35F);
      OpenGL.glTexCoord2f(var12 * (float)(var3 - var8), var13 * (float)(var4 - var9));
      OpenGL.glVertex2f((float)var3 + var14 + 0.35F, (float)var4 + var15 + 0.35F);
      OpenGL.glEnd();
      this.method14679(0, 5890, 768);
   }

   public void method11565(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9) {
      Class496_Sub3 var10 = (Class496_Sub3)var7;
      Class147_Sub4_Sub1 var11 = var10.aClass147_Sub4_Sub1_9955;
      this.method14587();
      this.method14725(var10.aClass147_Sub4_Sub1_9955);
      this.method14602(var6);
      this.method14553(7681, 8448);
      this.method14679(0, '\u8577', 768);
      float var12 = var11.aFloat10363 / (float)var11.anInt10364;
      float var13 = var11.aFloat10366 / (float)var11.anInt10365;
      float var14 = (float)var3 - (float)var1;
      float var15 = (float)var4 - (float)var2;
      float var16 = (float)(1.0D / Math.sqrt((double)(var14 * var14 + var15 * var15)));
      var14 *= var16;
      var15 *= var16;
      OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
      OpenGL.glBegin(1);
      OpenGL.glTexCoord2f(var12 * (float)(var1 - var8), var13 * (float)(var2 - var9));
      OpenGL.glVertex2f((float)var1 + 0.35F, (float)var2 + 0.35F);
      OpenGL.glTexCoord2f(var12 * (float)(var3 - var8), var13 * (float)(var4 - var9));
      OpenGL.glVertex2f((float)var3 + var14 + 0.35F, (float)var4 + var15 + 0.35F);
      OpenGL.glEnd();
      this.method14679(0, 5890, 768);
   }

   public void method11566(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9) {
      Class496_Sub3 var10 = (Class496_Sub3)var7;
      Class147_Sub4_Sub1 var11 = var10.aClass147_Sub4_Sub1_9955;
      this.method14587();
      this.method14725(var10.aClass147_Sub4_Sub1_9955);
      this.method14602(var6);
      this.method14553(7681, 8448);
      this.method14679(0, '\u8577', 768);
      float var12 = var11.aFloat10363 / (float)var11.anInt10364;
      float var13 = var11.aFloat10366 / (float)var11.anInt10365;
      float var14 = (float)var3 - (float)var1;
      float var15 = (float)var4 - (float)var2;
      float var16 = (float)(1.0D / Math.sqrt((double)(var14 * var14 + var15 * var15)));
      var14 *= var16;
      var15 *= var16;
      OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
      OpenGL.glBegin(1);
      OpenGL.glTexCoord2f(var12 * (float)(var1 - var8), var13 * (float)(var2 - var9));
      OpenGL.glVertex2f((float)var1 + 0.35F, (float)var2 + 0.35F);
      OpenGL.glTexCoord2f(var12 * (float)(var3 - var8), var13 * (float)(var4 - var9));
      OpenGL.glVertex2f((float)var3 + var14 + 0.35F, (float)var4 + var15 + 0.35F);
      OpenGL.glEnd();
      this.method14679(0, 5890, 768);
   }

   public void method11492(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9) {
      Class496_Sub3 var10 = (Class496_Sub3)var7;
      Class147_Sub4_Sub1 var11 = var10.aClass147_Sub4_Sub1_9955;
      this.method14587();
      this.method14725(var10.aClass147_Sub4_Sub1_9955);
      this.method14602(var6);
      this.method14553(7681, 8448);
      this.method14679(0, '\u8577', 768);
      float var12 = var11.aFloat10363 / (float)var11.anInt10364;
      float var13 = var11.aFloat10366 / (float)var11.anInt10365;
      float var14 = (float)var3 - (float)var1;
      float var15 = (float)var4 - (float)var2;
      float var16 = (float)(1.0D / Math.sqrt((double)(var14 * var14 + var15 * var15)));
      var14 *= var16;
      var15 *= var16;
      OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
      OpenGL.glBegin(1);
      OpenGL.glTexCoord2f(var12 * (float)(var1 - var8), var13 * (float)(var2 - var9));
      OpenGL.glVertex2f((float)var1 + 0.35F, (float)var2 + 0.35F);
      OpenGL.glTexCoord2f(var12 * (float)(var3 - var8), var13 * (float)(var4 - var9));
      OpenGL.glVertex2f((float)var3 + var14 + 0.35F, (float)var4 + var15 + 0.35F);
      OpenGL.glEnd();
      this.method14679(0, 5890, 768);
   }

   public void method11568(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9, int var10, int var11, int var12) {
      if(var1 != var3 || var2 != var4) {
         Class496_Sub3 var13 = (Class496_Sub3)var7;
         Class147_Sub4_Sub1 var14 = var13.aClass147_Sub4_Sub1_9955;
         this.method14587();
         this.method14725(var13.aClass147_Sub4_Sub1_9955);
         this.method14602(var6);
         this.method14553(7681, 8448);
         this.method14679(0, '\u8577', 768);
         float var15 = var14.aFloat10363 / (float)var14.anInt10364;
         float var16 = var14.aFloat10366 / (float)var14.anInt10365;
         float var17 = (float)var3 - (float)var1;
         float var18 = (float)var4 - (float)var2;
         float var19 = (float)(1.0D / Math.sqrt((double)(var17 * var17 + var18 * var18)));
         var17 *= var19;
         var18 *= var19;
         OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
         var12 %= var11 + var10;
         float var20 = var17 * (float)var10;
         float var21 = var18 * (float)var10;
         float var22 = 0.0F;
         float var23 = 0.0F;
         float var24 = var20;
         float var25 = var21;
         if(var12 > var10) {
            var22 = var17 * (float)(var10 + var11 - var12);
            var23 = var18 * (float)(var10 + var11 - var12);
         } else {
            var24 = var17 * (float)(var10 - var12);
            var25 = var18 * (float)(var10 - var12);
         }

         float var26 = (float)var1 + 0.35F + var22;
         float var27 = (float)var2 + 0.35F + var23;
         float var28 = var17 * (float)var11;
         float var29 = var18 * (float)var11;

         while(true) {
            if(var3 > var1) {
               if(var26 > (float)var3 + 0.35F) {
                  break;
               }

               if(var26 + var24 > (float)var3) {
                  var24 = (float)var3 - var26;
               }
            } else {
               if(var26 < (float)var3 + 0.35F) {
                  break;
               }

               if(var26 + var24 < (float)var3) {
                  var24 = (float)var3 - var26;
               }
            }

            if(var4 > var2) {
               if(var27 > (float)var4 + 0.35F) {
                  break;
               }

               if(var27 + var25 > (float)var4) {
                  var25 = (float)var4 - var27;
               }
            } else {
               if(var27 < (float)var4 + 0.35F) {
                  break;
               }

               if(var27 + var25 < (float)var4) {
                  var25 = (float)var4 - var27;
               }
            }

            OpenGL.glBegin(1);
            OpenGL.glTexCoord2f(var15 * (var26 - (float)var8), var16 * (var27 - (float)var9));
            OpenGL.glVertex2f(var26, var27);
            OpenGL.glTexCoord2f(var15 * (var26 + var24 - (float)var8), var16 * (var27 + var25 - (float)var9));
            OpenGL.glVertex2f(var26 + var24, var27 + var25);
            OpenGL.glEnd();
            var26 += var28 + var24;
            var27 += var29 + var25;
            var24 = var20;
            var25 = var21;
         }

         this.method14679(0, 5890, 768);
      }
   }

   public void method11569(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9, int var10, int var11, int var12) {
      if(var1 != var3 || var2 != var4) {
         Class496_Sub3 var13 = (Class496_Sub3)var7;
         Class147_Sub4_Sub1 var14 = var13.aClass147_Sub4_Sub1_9955;
         this.method14587();
         this.method14725(var13.aClass147_Sub4_Sub1_9955);
         this.method14602(var6);
         this.method14553(7681, 8448);
         this.method14679(0, '\u8577', 768);
         float var15 = var14.aFloat10363 / (float)var14.anInt10364;
         float var16 = var14.aFloat10366 / (float)var14.anInt10365;
         float var17 = (float)var3 - (float)var1;
         float var18 = (float)var4 - (float)var2;
         float var19 = (float)(1.0D / Math.sqrt((double)(var17 * var17 + var18 * var18)));
         var17 *= var19;
         var18 *= var19;
         OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
         var12 %= var11 + var10;
         float var20 = var17 * (float)var10;
         float var21 = var18 * (float)var10;
         float var22 = 0.0F;
         float var23 = 0.0F;
         float var24 = var20;
         float var25 = var21;
         if(var12 > var10) {
            var22 = var17 * (float)(var10 + var11 - var12);
            var23 = var18 * (float)(var10 + var11 - var12);
         } else {
            var24 = var17 * (float)(var10 - var12);
            var25 = var18 * (float)(var10 - var12);
         }

         float var26 = (float)var1 + 0.35F + var22;
         float var27 = (float)var2 + 0.35F + var23;
         float var28 = var17 * (float)var11;
         float var29 = var18 * (float)var11;

         while(true) {
            if(var3 > var1) {
               if(var26 > (float)var3 + 0.35F) {
                  break;
               }

               if(var26 + var24 > (float)var3) {
                  var24 = (float)var3 - var26;
               }
            } else {
               if(var26 < (float)var3 + 0.35F) {
                  break;
               }

               if(var26 + var24 < (float)var3) {
                  var24 = (float)var3 - var26;
               }
            }

            if(var4 > var2) {
               if(var27 > (float)var4 + 0.35F) {
                  break;
               }

               if(var27 + var25 > (float)var4) {
                  var25 = (float)var4 - var27;
               }
            } else {
               if(var27 < (float)var4 + 0.35F) {
                  break;
               }

               if(var27 + var25 < (float)var4) {
                  var25 = (float)var4 - var27;
               }
            }

            OpenGL.glBegin(1);
            OpenGL.glTexCoord2f(var15 * (var26 - (float)var8), var16 * (var27 - (float)var9));
            OpenGL.glVertex2f(var26, var27);
            OpenGL.glTexCoord2f(var15 * (var26 + var24 - (float)var8), var16 * (var27 + var25 - (float)var9));
            OpenGL.glVertex2f(var26 + var24, var27 + var25);
            OpenGL.glEnd();
            var26 += var28 + var24;
            var27 += var29 + var25;
            var24 = var20;
            var25 = var21;
         }

         this.method14679(0, 5890, 768);
      }
   }

   public void method11570(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9, int var10, int var11, int var12) {
      if(var1 != var3 || var2 != var4) {
         Class496_Sub3 var13 = (Class496_Sub3)var7;
         Class147_Sub4_Sub1 var14 = var13.aClass147_Sub4_Sub1_9955;
         this.method14587();
         this.method14725(var13.aClass147_Sub4_Sub1_9955);
         this.method14602(var6);
         this.method14553(7681, 8448);
         this.method14679(0, '\u8577', 768);
         float var15 = var14.aFloat10363 / (float)var14.anInt10364;
         float var16 = var14.aFloat10366 / (float)var14.anInt10365;
         float var17 = (float)var3 - (float)var1;
         float var18 = (float)var4 - (float)var2;
         float var19 = (float)(1.0D / Math.sqrt((double)(var17 * var17 + var18 * var18)));
         var17 *= var19;
         var18 *= var19;
         OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
         var12 %= var11 + var10;
         float var20 = var17 * (float)var10;
         float var21 = var18 * (float)var10;
         float var22 = 0.0F;
         float var23 = 0.0F;
         float var24 = var20;
         float var25 = var21;
         if(var12 > var10) {
            var22 = var17 * (float)(var10 + var11 - var12);
            var23 = var18 * (float)(var10 + var11 - var12);
         } else {
            var24 = var17 * (float)(var10 - var12);
            var25 = var18 * (float)(var10 - var12);
         }

         float var26 = (float)var1 + 0.35F + var22;
         float var27 = (float)var2 + 0.35F + var23;
         float var28 = var17 * (float)var11;
         float var29 = var18 * (float)var11;

         while(true) {
            if(var3 > var1) {
               if(var26 > (float)var3 + 0.35F) {
                  break;
               }

               if(var26 + var24 > (float)var3) {
                  var24 = (float)var3 - var26;
               }
            } else {
               if(var26 < (float)var3 + 0.35F) {
                  break;
               }

               if(var26 + var24 < (float)var3) {
                  var24 = (float)var3 - var26;
               }
            }

            if(var4 > var2) {
               if(var27 > (float)var4 + 0.35F) {
                  break;
               }

               if(var27 + var25 > (float)var4) {
                  var25 = (float)var4 - var27;
               }
            } else {
               if(var27 < (float)var4 + 0.35F) {
                  break;
               }

               if(var27 + var25 < (float)var4) {
                  var25 = (float)var4 - var27;
               }
            }

            OpenGL.glBegin(1);
            OpenGL.glTexCoord2f(var15 * (var26 - (float)var8), var16 * (var27 - (float)var9));
            OpenGL.glVertex2f(var26, var27);
            OpenGL.glTexCoord2f(var15 * (var26 + var24 - (float)var8), var16 * (var27 + var25 - (float)var9));
            OpenGL.glVertex2f(var26 + var24, var27 + var25);
            OpenGL.glEnd();
            var26 += var28 + var24;
            var27 += var29 + var25;
            var24 = var20;
            var25 = var21;
         }

         this.method14679(0, 5890, 768);
      }
   }

   public void method11571(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9, int var10, int var11, int var12) {
      if(var1 != var3 || var2 != var4) {
         Class496_Sub3 var13 = (Class496_Sub3)var7;
         Class147_Sub4_Sub1 var14 = var13.aClass147_Sub4_Sub1_9955;
         this.method14587();
         this.method14725(var13.aClass147_Sub4_Sub1_9955);
         this.method14602(var6);
         this.method14553(7681, 8448);
         this.method14679(0, '\u8577', 768);
         float var15 = var14.aFloat10363 / (float)var14.anInt10364;
         float var16 = var14.aFloat10366 / (float)var14.anInt10365;
         float var17 = (float)var3 - (float)var1;
         float var18 = (float)var4 - (float)var2;
         float var19 = (float)(1.0D / Math.sqrt((double)(var17 * var17 + var18 * var18)));
         var17 *= var19;
         var18 *= var19;
         OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
         var12 %= var11 + var10;
         float var20 = var17 * (float)var10;
         float var21 = var18 * (float)var10;
         float var22 = 0.0F;
         float var23 = 0.0F;
         float var24 = var20;
         float var25 = var21;
         if(var12 > var10) {
            var22 = var17 * (float)(var10 + var11 - var12);
            var23 = var18 * (float)(var10 + var11 - var12);
         } else {
            var24 = var17 * (float)(var10 - var12);
            var25 = var18 * (float)(var10 - var12);
         }

         float var26 = (float)var1 + 0.35F + var22;
         float var27 = (float)var2 + 0.35F + var23;
         float var28 = var17 * (float)var11;
         float var29 = var18 * (float)var11;

         while(true) {
            if(var3 > var1) {
               if(var26 > (float)var3 + 0.35F) {
                  break;
               }

               if(var26 + var24 > (float)var3) {
                  var24 = (float)var3 - var26;
               }
            } else {
               if(var26 < (float)var3 + 0.35F) {
                  break;
               }

               if(var26 + var24 < (float)var3) {
                  var24 = (float)var3 - var26;
               }
            }

            if(var4 > var2) {
               if(var27 > (float)var4 + 0.35F) {
                  break;
               }

               if(var27 + var25 > (float)var4) {
                  var25 = (float)var4 - var27;
               }
            } else {
               if(var27 < (float)var4 + 0.35F) {
                  break;
               }

               if(var27 + var25 < (float)var4) {
                  var25 = (float)var4 - var27;
               }
            }

            OpenGL.glBegin(1);
            OpenGL.glTexCoord2f(var15 * (var26 - (float)var8), var16 * (var27 - (float)var9));
            OpenGL.glVertex2f(var26, var27);
            OpenGL.glTexCoord2f(var15 * (var26 + var24 - (float)var8), var16 * (var27 + var25 - (float)var9));
            OpenGL.glVertex2f(var26 + var24, var27 + var25);
            OpenGL.glEnd();
            var26 += var28 + var24;
            var27 += var29 + var25;
            var24 = var20;
            var25 = var21;
         }

         this.method14679(0, 5890, 768);
      }
   }

   public void method11525() {
      OpenGL.glFinish();
   }

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

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

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

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

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

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

      return var7;
   }

   public final void iv(float var1) {
      if(this.aFloat9168 != var1) {
         this.aFloat9168 = var1;
         this.method14574();
      }

   }

   public Class225_Sub1 method11452(int var1) {
      Class225_Sub1_Sub1 var2 = new Class225_Sub1_Sub1(var1);
      this.aClass456_9163.method7712(var2, (byte)16);
      return var2;
   }

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

   public Class79 method11517(Class79 var1, Class79 var2, float var3, Class79 var4) {
      if(var1 != null && var2 != null && this.aBool9274 && this.aBool9266) {
         Class79_Sub1_Sub1 var5 = null;
         Class79_Sub1 var6 = (Class79_Sub1)var1;
         Class79_Sub1 var7 = (Class79_Sub1)var2;
         Class147_Sub1 var8 = var6.method14524();
         Class147_Sub1 var9 = var7.method14524();
         if(var8 != null && var9 != null) {
            int var10 = var8.anInt9837 > var9.anInt9837?var8.anInt9837:var9.anInt9837;
            if(var1 != var4 && var2 != var4 && var4 instanceof Class79_Sub1_Sub1) {
               Class79_Sub1_Sub1 var11 = (Class79_Sub1_Sub1)var4;
               if(var11.method15821() == var10) {
                  var5 = var11;
               }
            }

            if(var5 == null) {
               var5 = new Class79_Sub1_Sub1(this, var10);
            }

            if(var5.method15822(var8, var9, var3)) {
               return var5;
            }
         }
      }

      return var3 < 0.5F?var1:var2;
   }

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

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

   public Class171 method11631(Class86 var1, boolean var2) {
      int[] var3 = var1.method1709(false);
      Class171 var4 = this.method11599(var3, 0, var1.method1691(), var1.method1691(), var1.method1704(), 98312473);
      var4.method2918(var1.method1693(), var1.method1735(), var1.method1694(), var1.method1692());
      return var4;
   }

   final synchronized void method14622(int var1, int var2) {
      IntVar var3 = new IntVar(var2);
      var3.aLong2606 = (long)var1 * -641052250121656953L;
      this.aClass456_9171.method7712(var3, (byte)74);
   }

   public Class171 method11436(int var1, int var2, int var3, int var4, boolean var5) {
      return new Class171_Sub2(this, var1, var2, var3, var4);
   }

   public Class171 method11707(int var1, int var2, int var3, int var4, boolean var5) {
      return new Class171_Sub2(this, var1, var2, var3, var4);
   }

   void method14623() {
      int var1 = this.aClass151_7359.method2741();
      int var2 = this.aClass151_7359.method2742();
      this.aClass317_9278.method5703(0.0F, (float)var1, 0.0F, (float)var2, -1.0F, 1.0F);
      this.method11459();
      this.method14568();
      this.L();
   }

   public Class496 method11584(int var1, int var2, int[] var3, int[] var4) {
      return Class496_Sub3.method15479(this, var1, var2, var3, var4);
   }

   public void gt(int var1, Class496 var2, int var3, int var4) {
      Class496_Sub3 var5 = (Class496_Sub3)var2;
      Class147_Sub4_Sub1 var6 = var5.aClass147_Sub4_Sub1_9955;
      this.method14587();
      this.method14725(var5.aClass147_Sub4_Sub1_9955);
      this.method14602(1);
      this.method14553(7681, 8448);
      this.method14679(0, '\u8577', 768);
      float var7 = var6.aFloat10363 / (float)var6.anInt10364;
      float var8 = var6.aFloat10366 / (float)var6.anInt10365;
      OpenGL.glColor4ub((byte)(var1 >> 16), (byte)(var1 >> 8), (byte)var1, (byte)(var1 >> 24));
      OpenGL.glBegin(7);
      OpenGL.glTexCoord2f(var7 * (float)(this.anInt9109 - var3), var8 * (float)(this.anInt9258 - var4));
      OpenGL.glVertex2i(this.anInt9109, this.anInt9258);
      OpenGL.glTexCoord2f(var7 * (float)(this.anInt9109 - var3), var8 * (float)(this.anInt9206 - var4));
      OpenGL.glVertex2i(this.anInt9109, this.anInt9206);
      OpenGL.glTexCoord2f(var7 * (float)(this.anInt9208 - var3), var8 * (float)(this.anInt9206 - var4));
      OpenGL.glVertex2i(this.anInt9208, this.anInt9206);
      OpenGL.glTexCoord2f(var7 * (float)(this.anInt9208 - var3), var8 * (float)(this.anInt9258 - var4));
      OpenGL.glVertex2i(this.anInt9208, this.anInt9258);
      OpenGL.glEnd();
      this.method14679(0, 5890, 768);
   }

   public boolean method11443() {
      return true;
   }

   public void gj(int var1, Class496 var2, int var3, int var4) {
      Class496_Sub3 var5 = (Class496_Sub3)var2;
      Class147_Sub4_Sub1 var6 = var5.aClass147_Sub4_Sub1_9955;
      this.method14587();
      this.method14725(var5.aClass147_Sub4_Sub1_9955);
      this.method14602(1);
      this.method14553(7681, 8448);
      this.method14679(0, '\u8577', 768);
      float var7 = var6.aFloat10363 / (float)var6.anInt10364;
      float var8 = var6.aFloat10366 / (float)var6.anInt10365;
      OpenGL.glColor4ub((byte)(var1 >> 16), (byte)(var1 >> 8), (byte)var1, (byte)(var1 >> 24));
      OpenGL.glBegin(7);
      OpenGL.glTexCoord2f(var7 * (float)(this.anInt9109 - var3), var8 * (float)(this.anInt9258 - var4));
      OpenGL.glVertex2i(this.anInt9109, this.anInt9258);
      OpenGL.glTexCoord2f(var7 * (float)(this.anInt9109 - var3), var8 * (float)(this.anInt9206 - var4));
      OpenGL.glVertex2i(this.anInt9109, this.anInt9206);
      OpenGL.glTexCoord2f(var7 * (float)(this.anInt9208 - var3), var8 * (float)(this.anInt9206 - var4));
      OpenGL.glVertex2i(this.anInt9208, this.anInt9206);
      OpenGL.glTexCoord2f(var7 * (float)(this.anInt9208 - var3), var8 * (float)(this.anInt9258 - var4));
      OpenGL.glVertex2i(this.anInt9208, this.anInt9258);
      OpenGL.glEnd();
      this.method14679(0, 5890, 768);
   }

   public void gs(int var1, Class496 var2, int var3, int var4) {
      Class496_Sub3 var5 = (Class496_Sub3)var2;
      Class147_Sub4_Sub1 var6 = var5.aClass147_Sub4_Sub1_9955;
      this.method14587();
      this.method14725(var5.aClass147_Sub4_Sub1_9955);
      this.method14602(1);
      this.method14553(7681, 8448);
      this.method14679(0, '\u8577', 768);
      float var7 = var6.aFloat10363 / (float)var6.anInt10364;
      float var8 = var6.aFloat10366 / (float)var6.anInt10365;
      OpenGL.glColor4ub((byte)(var1 >> 16), (byte)(var1 >> 8), (byte)var1, (byte)(var1 >> 24));
      OpenGL.glBegin(7);
      OpenGL.glTexCoord2f(var7 * (float)(this.anInt9109 - var3), var8 * (float)(this.anInt9258 - var4));
      OpenGL.glVertex2i(this.anInt9109, this.anInt9258);
      OpenGL.glTexCoord2f(var7 * (float)(this.anInt9109 - var3), var8 * (float)(this.anInt9206 - var4));
      OpenGL.glVertex2i(this.anInt9109, this.anInt9206);
      OpenGL.glTexCoord2f(var7 * (float)(this.anInt9208 - var3), var8 * (float)(this.anInt9206 - var4));
      OpenGL.glVertex2i(this.anInt9208, this.anInt9206);
      OpenGL.glTexCoord2f(var7 * (float)(this.anInt9208 - var3), var8 * (float)(this.anInt9258 - var4));
      OpenGL.glVertex2i(this.anInt9208, this.anInt9258);
      OpenGL.glEnd();
      this.method14679(0, 5890, 768);
   }

   void method14624() {
      this.aFloat9293 = this.aFloat9111 - (float)this.anInt9149 - this.aFloat9268;
      this.aFloat9175 = this.aFloat9293 - (float)this.anInt9167 * this.aFloat9240;
      if(this.aFloat9175 < this.aFloat9197) {
         this.aFloat9175 = this.aFloat9197;
      }

      OpenGL.glFogf(2915, this.aFloat9175);
      OpenGL.glFogf(2916, this.aFloat9293);
      aFloatArray9245[0] = (float)(this.anInt9235 & 16711680) / 1.671168E7F;
      aFloatArray9245[1] = (float)(this.anInt9235 & '\uff00') / 65280.0F;
      aFloatArray9245[2] = (float)(this.anInt9235 & 255) / 255.0F;
      OpenGL.glFogfv(2918, aFloatArray9245, 0);
   }

   final void method11511(float var1, float var2, float var3, float var4, float var5, float var6) {
      Class225_Sub42_Sub1.aFloat10175 = var1;
      Class225_Sub42_Sub1.aFloat10161 = var2;
      Class225_Sub42_Sub1.aFloat10177 = var3;
   }

   Class151_Sub2 method11489(Canvas var1, int var2, int var3) {
      return new Class151_Sub2_Sub1(this, var1);
   }

   public void method11590(int var1) {}

   public void method11503(int var1) {}

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

   final void method14625(Class150 var1, Class150 var2, Class150 var3, Class150 var4) {
      if(var1 != null) {
         this.method14584(var1.anInterface10_1716);
         OpenGL.glVertexPointer(var1.aByte1717, var1.aShort1719, this.anInterface10_9261.method35(), this.anInterface10_9261.method36() + (long)var1.aByte1718);
         OpenGL.glEnableClientState('\u8074');
      } else {
         OpenGL.glDisableClientState('\u8074');
      }

      if(var2 != null) {
         this.method14584(var2.anInterface10_1716);
         OpenGL.glNormalPointer(var2.aShort1719, this.anInterface10_9261.method35(), this.anInterface10_9261.method36() + (long)var2.aByte1718);
         OpenGL.glEnableClientState('\u8075');
      } else {
         OpenGL.glDisableClientState('\u8075');
      }

      if(var3 != null) {
         this.method14584(var3.anInterface10_1716);
         OpenGL.glColorPointer(var3.aByte1717, var3.aShort1719, this.anInterface10_9261.method35(), this.anInterface10_9261.method36() + (long)var3.aByte1718);
         OpenGL.glEnableClientState('\u8076');
      } else {
         OpenGL.glDisableClientState('\u8076');
      }

      if(var4 != null) {
         this.method14584(var4.anInterface10_1716);
         OpenGL.glTexCoordPointer(var4.aByte1717, var4.aShort1719, this.anInterface10_9261.method35(), this.anInterface10_9261.method36() + (long)var4.aByte1718);
         OpenGL.glEnableClientState('\u8078');
      } else {
         OpenGL.glDisableClientState('\u8078');
      }

   }

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

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

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

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

   public boolean method11538() {
      return this.aBool9269 && (!this.method11588() || this.aBool9107);
   }

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

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

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

   public Class317 method11601() {
      return this.aClass317_9154;
   }

   void fv(int var1, int var2, int var3, int var4, int var5) {
      if(var3 < 0) {
         var3 = -var3;
      }

      if(var1 + var3 >= this.anInt9109 && var1 - var3 <= this.anInt9208 && var2 + var3 >= this.anInt9258 && var2 - var3 <= this.anInt9206) {
         this.method14695();
         this.method14602(var5);
         OpenGL.glColor4ub((byte)(var4 >> 16), (byte)(var4 >> 8), (byte)var4, (byte)(var4 >> 24));
         float var6 = (float)var1 + 0.35F;
         float var7 = (float)var2 + 0.35F;
         int var8 = var3 << 1;
         if((float)var8 < this.aFloat9226) {
            OpenGL.glBegin(7);
            OpenGL.glVertex2f(var6 + 1.0F, var7 + 1.0F);
            OpenGL.glVertex2f(var6 + 1.0F, var7 - 1.0F);
            OpenGL.glVertex2f(var6 - 1.0F, var7 - 1.0F);
            OpenGL.glVertex2f(var6 - 1.0F, var7 + 1.0F);
            OpenGL.glEnd();
         } else {
            if((float)var8 <= this.aFloat9284) {
               OpenGL.glEnable(2832);
               OpenGL.glPointSize((float)var8);
               OpenGL.glBegin(0);
               OpenGL.glVertex2f(var6, var7);
               OpenGL.glEnd();
               OpenGL.glDisable(2832);
            } else {
               OpenGL.glBegin(6);
               OpenGL.glVertex2f(var6, var7);
               int var9 = 262144 / (6 * var3);
               if(var9 <= 64) {
                  var9 = 64;
               } else if(var9 > 512) {
                  var9 = 512;
               }

               var9 = Class526.method11090(var9, (byte)-71);
               OpenGL.glVertex2f(var6 + (float)var3, var7);

               for(int var10 = 16384 - var9; var10 > 0; var10 -= var9) {
                  OpenGL.glVertex2f(var6 + Class158.aFloatArray1956[var10] * (float)var3, var7 + Class158.aFloatArray1957[var10] * (float)var3);
               }

               OpenGL.glVertex2f(var6 + (float)var3, var7);
               OpenGL.glEnd();
            }

         }
      }
   }

   void method14626() {
      OpenGL.glLightfv(16384, 4611, this.aFloatArray9265, 0);
      OpenGL.glLightfv(16385, 4611, this.aFloatArray9221, 0);
   }

   public int method11604() {
      return 4;
   }

   public int method11605() {
      return 4;
   }

   public int method11606() {
      return 4;
   }

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

      this.anInt9292 = var1;
      if(this.anInt9203 != 1) {
         this.method14550();
      }

   }

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

      this.anInt9292 = var1;
      if(this.anInt9203 != 1) {
         this.method14550();
      }

   }

   public void method11610(Class97 var1) {
      this.aClass170_9153.method2911(this, var1);
   }

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

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

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

   public final void method11692(Class317 var1) {
      this.aClass317_9186.method5609(var1);
      this.method14633();
      this.method14593();
   }

   final void method14627() {
      this.aClass317_9188.method5609(this.aClass317_9184);
      this.aClass317_9188.method5612(this.aClass317_9186);
      this.aClass317_9188.method5633(this.aFloatArrayArray9189[0]);
      this.aClass317_9188.method5608(this.aFloatArrayArray9189[1]);
      this.aClass317_9188.method5629(this.aFloatArrayArray9189[2]);
      this.aClass317_9188.method5630(this.aFloatArrayArray9189[3]);
      this.aClass317_9188.method5620(this.aFloatArrayArray9189[4]);
      this.aClass317_9188.method5632(this.aFloatArrayArray9189[5]);
   }

   final synchronized void method14628(int var1, int var2) {
      IntVar var3 = new IntVar(var2);
      var3.aLong2606 = (long)var1 * -641052250121656953L;
      this.aClass456_9171.method7712(var3, (byte)112);
   }

   final void method14629(int var1, int var2) {
      if(this.anInt9252 == 0) {
         boolean var3 = false;
         if(this.anInt9193 != var1) {
            OpenGL.glTexEnvi(8960, '\u8571', var1);
            this.anInt9193 = var1;
            var3 = true;
         }

         if(this.anInt9250 != var2) {
            OpenGL.glTexEnvi(8960, '\u8572', var2);
            this.anInt9250 = var2;
            var3 = true;
         }

         if(var3) {
            this.anInt9296 &= -14;
         }
      } else {
         OpenGL.glTexEnvi(8960, '\u8571', var1);
         OpenGL.glTexEnvi(8960, '\u8572', var2);
      }

   }

   public final void ii(float var1) {
      if(this.aFloat9168 != var1) {
         this.aFloat9168 = var1;
         this.method14574();
      }

   }

   final void method14630(int var1, int var2, int var3) {
      OpenGL.glTexEnvi(8960, '\u8588' + var1, var2);
      OpenGL.glTexEnvi(8960, '\u8598' + var1, var3);
   }

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

   public final void io(int var1, float var2, float var3, float var4, float var5, float var6) {
      boolean var7 = this.anInt9222 != var1;
      if(var7 || this.aFloat9227 != var2 || this.aFloat9228 != var3) {
         this.anInt9222 = var1;
         this.aFloat9227 = var2;
         this.aFloat9228 = var3;
         if(var7) {
            this.aFloat9130 = (float)(this.anInt9222 & 16711680) / 1.671168E7F;
            this.aFloat9123 = (float)(this.anInt9222 & '\uff00') / 65280.0F;
            this.aFloat9225 = (float)(this.anInt9222 & 255) / 255.0F;
            this.method14574();
         }

         this.method14575();
      }

      if(this.aFloatArray9218[0] != var4 || this.aFloatArray9218[1] != var5 || this.aFloatArray9218[2] != var6) {
         this.aFloatArray9218[0] = var4;
         this.aFloatArray9218[1] = var5;
         this.aFloatArray9218[2] = var6;
         this.aFloatArray9178[0] = -var4;
         this.aFloatArray9178[1] = -var5;
         this.aFloatArray9178[2] = -var6;
         float var8 = (float)(1.0D / Math.sqrt((double)(var4 * var4 + var5 * var5 + var6 * var6)));
         this.aFloatArray9265[0] = var4 * var8;
         this.aFloatArray9265[1] = var5 * var8;
         this.aFloatArray9265[2] = var6 * var8;
         this.aFloatArray9221[0] = -this.aFloatArray9265[0];
         this.aFloatArray9221[1] = -this.aFloatArray9265[1];
         this.aFloatArray9221[2] = -this.aFloatArray9265[2];
         this.method14576();
         this.anInt9173 = (int)(var4 * 256.0F / var5);
         this.anInt9127 = (int)(var6 * 256.0F / var5);
      }

   }

   public void method11573(int var1, int var2, int var3, int var4, int var5, int var6, int var7) {
      OpenGL.glLineWidth((float)var6);
      this.method11627(var1, var2, var3, var4, var5, var7);
      OpenGL.glLineWidth(1.0F);
   }

   public final void ic(int var1, float var2, float var3, float var4, float var5, float var6) {
      boolean var7 = this.anInt9222 != var1;
      if(var7 || this.aFloat9227 != var2 || this.aFloat9228 != var3) {
         this.anInt9222 = var1;
         this.aFloat9227 = var2;
         this.aFloat9228 = var3;
         if(var7) {
            this.aFloat9130 = (float)(this.anInt9222 & 16711680) / 1.671168E7F;
            this.aFloat9123 = (float)(this.anInt9222 & '\uff00') / 65280.0F;
            this.aFloat9225 = (float)(this.anInt9222 & 255) / 255.0F;
            this.method14574();
         }

         this.method14575();
      }

      if(this.aFloatArray9218[0] != var4 || this.aFloatArray9218[1] != var5 || this.aFloatArray9218[2] != var6) {
         this.aFloatArray9218[0] = var4;
         this.aFloatArray9218[1] = var5;
         this.aFloatArray9218[2] = var6;
         this.aFloatArray9178[0] = -var4;
         this.aFloatArray9178[1] = -var5;
         this.aFloatArray9178[2] = -var6;
         float var8 = (float)(1.0D / Math.sqrt((double)(var4 * var4 + var5 * var5 + var6 * var6)));
         this.aFloatArray9265[0] = var4 * var8;
         this.aFloatArray9265[1] = var5 * var8;
         this.aFloatArray9265[2] = var6 * var8;
         this.aFloatArray9221[0] = -this.aFloatArray9265[0];
         this.aFloatArray9221[1] = -this.aFloatArray9265[1];
         this.aFloatArray9221[2] = -this.aFloatArray9265[2];
         this.method14576();
         this.anInt9173 = (int)(var4 * 256.0F / var5);
         this.anInt9127 = (int)(var6 * 256.0F / var5);
      }

   }

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

      this.anInt9159 = 1 << this.anInt9160;
   }

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

      this.anInt9159 = 1 << this.anInt9160;
   }

   public final void native_if(int var1, int var2, int var3) {
      if(this.anInt9235 != var1 || this.anInt9167 != var2 || this.anInt9149 != var3) {
         this.anInt9235 = var1;
         this.anInt9167 = var2;
         this.anInt9149 = var3;
         this.method14624();
         this.method14577();
      }

   }

   final void method14631() {
      if(this.anInt9296 != 2) {
         this.method14569();
         this.method14657(false);
         this.method14634(false);
         this.method14600(false);
         this.method14549(false);
         this.method14540(-2);
         this.anInt9296 = 2;
      }

   }

   public Class79 method11621(int var1, int var2, int var3, int var4, int var5, int var6) {
      return this.aBool9274?new Class79_Sub1_Sub2(this, var1, var2, var3, var4, var5, var6):null;
   }

   public Class79 method11487(int var1, int var2, int var3, int var4, int var5, int var6) {
      return this.aBool9274?new Class79_Sub1_Sub2(this, var1, var2, var3, var4, var5, var6):null;
   }

   public void N(int var1, int var2, int var3, int var4, int var5, int var6, byte[] var7, int var8, int var9) {
      float var10;
      float var11;
      if(this.aClass147_Sub4_Sub1_9256 != null && this.aClass147_Sub4_Sub1_9256.anInt9953 >= var3 && this.aClass147_Sub4_Sub1_9256.anInt9954 >= var4) {
         this.aClass147_Sub4_Sub1_9256.method15461(0, 0, var3, var4, var7, Class98.aClass98_987, 0, 0, false);
         var10 = this.aClass147_Sub4_Sub1_9256.aFloat10366 * (float)var4 / (float)this.aClass147_Sub4_Sub1_9256.anInt9954;
         var11 = this.aClass147_Sub4_Sub1_9256.aFloat10363 * (float)var3 / (float)this.aClass147_Sub4_Sub1_9256.anInt9953;
      } else {
         this.aClass147_Sub4_Sub1_9256 = Class147_Sub4_Sub1.method15946(this, Class98.aClass98_987, Class91.aClass91_897, var3, var4, false, var7, Class98.aClass98_987);
         this.aClass147_Sub4_Sub1_9256.method15463(false, false);
         var10 = this.aClass147_Sub4_Sub1_9256.aFloat10366;
         var11 = this.aClass147_Sub4_Sub1_9256.aFloat10363;
      }

      this.method14587();
      this.method14725(this.aClass147_Sub4_Sub1_9256);
      this.method14602(var9);
      OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
      this.method14603(var6);
      this.method14553('\u8575', '\u8575');
      this.method14679(0, '\u8576', 768);
      this.method14679(2, 5890, 770);
      this.method14630(0, '\u8576', 770);
      this.method14630(2, 5890, 770);
      float var12 = (float)var1;
      float var13 = (float)var2;
      float var14 = var12 + (float)var3;
      float var15 = var13 + (float)var4;
      OpenGL.glBegin(7);
      OpenGL.glTexCoord2f(0.0F, 0.0F);
      OpenGL.glVertex2f(var12, var13);
      OpenGL.glTexCoord2f(0.0F, var11);
      OpenGL.glVertex2f(var12, var15);
      OpenGL.glTexCoord2f(var10, var11);
      OpenGL.glVertex2f(var14, var15);
      OpenGL.glTexCoord2f(var10, 0.0F);
      OpenGL.glVertex2f(var14, var13);
      OpenGL.glEnd();
      this.method14679(0, 5890, 768);
      this.method14679(2, '\u8576', 770);
      this.method14630(0, 5890, 770);
      this.method14630(2, '\u8576', 770);
   }

   public void method11479(Class225_Sub1 var1) {
      this.aNativeHeap9162 = ((Class225_Sub1_Sub1)var1).aNativeHeap10180;
      if(this.anInterface10_9291 == null) {
         Class225_Sub23_Sub2 var2 = new Class225_Sub23_Sub2(80);
         if(this.aBool9257) {
            var2.method16093(-1.0F);
            var2.method16093(-1.0F);
            var2.method16093(0.0F);
            var2.method16093(0.0F);
            var2.method16093(0.0F);
            var2.method16093(-1.0F);
            var2.method16093(1.0F);
            var2.method16093(0.0F);
            var2.method16093(0.0F);
            var2.method16093(1.0F);
            var2.method16093(1.0F);
            var2.method16093(1.0F);
            var2.method16093(0.0F);
            var2.method16093(1.0F);
            var2.method16093(1.0F);
            var2.method16093(1.0F);
            var2.method16093(-1.0F);
            var2.method16093(0.0F);
            var2.method16093(1.0F);
            var2.method16093(0.0F);
         } else {
            var2.method16094(-1.0F);
            var2.method16094(-1.0F);
            var2.method16094(0.0F);
            var2.method16094(0.0F);
            var2.method16094(0.0F);
            var2.method16094(-1.0F);
            var2.method16094(1.0F);
            var2.method16094(0.0F);
            var2.method16094(0.0F);
            var2.method16094(1.0F);
            var2.method16094(1.0F);
            var2.method16094(1.0F);
            var2.method16094(0.0F);
            var2.method16094(1.0F);
            var2.method16094(1.0F);
            var2.method16094(1.0F);
            var2.method16094(-1.0F);
            var2.method16094(0.0F);
            var2.method16094(1.0F);
            var2.method16094(0.0F);
         }

         this.anInterface10_9291 = this.method14582(20, var2.buffer, var2.position * -543666943, false);
         this.aClass150_9289 = new Class150(this.anInterface10_9291, 5126, 3, 0);
         this.aClass150_9220 = new Class150(this.anInterface10_9291, 5126, 2, 12);
         this.aClass170_9153.method2906(this);
      }

   }

   public Class79 method11624(Class79 var1, Class79 var2, float var3, Class79 var4) {
      if(var1 != null && var2 != null && this.aBool9274 && this.aBool9266) {
         Class79_Sub1_Sub1 var5 = null;
         Class79_Sub1 var6 = (Class79_Sub1)var1;
         Class79_Sub1 var7 = (Class79_Sub1)var2;
         Class147_Sub1 var8 = var6.method14524();
         Class147_Sub1 var9 = var7.method14524();
         if(var8 != null && var9 != null) {
            int var10 = var8.anInt9837 > var9.anInt9837?var8.anInt9837:var9.anInt9837;
            if(var1 != var4 && var2 != var4 && var4 instanceof Class79_Sub1_Sub1) {
               Class79_Sub1_Sub1 var11 = (Class79_Sub1_Sub1)var4;
               if(var11.method15821() == var10) {
                  var5 = var11;
               }
            }

            if(var5 == null) {
               var5 = new Class79_Sub1_Sub1(this, var10);
            }

            if(var5.method15822(var8, var9, var3)) {
               return var5;
            }
         }
      }

      return var3 < 0.5F?var1:var2;
   }

   public final void method11625(Class79 var1) {
      this.aClass79_Sub1_9217 = (Class79_Sub1)var1;
   }

   public void method11460(int var1, int var2, int var3, int var4) {
      this.anInt9211 = var1;
      this.anInt9212 = var2;
      this.anInt9213 = var3;
      this.anInt9166 = var4;
      this.method14561();
   }

   public final boolean method11453() {
      if(this.aClass225_Sub42_Sub1_9270 != null) {
         if(!this.aClass225_Sub42_Sub1_9270.method14149()) {
            if(!this.aClass168_9223.method2872(this.aClass225_Sub42_Sub1_9270)) {
               return false;
            }

            this.aClass172_9169.method3005();
         }

         return true;
      } else {
         return false;
      }
   }

   public final void method11628() {
      if(this.aClass225_Sub42_Sub1_9270 != null && this.aClass225_Sub42_Sub1_9270.method14149()) {
         this.aClass168_9223.method2876(this.aClass225_Sub42_Sub1_9270);
         this.aClass172_9169.method3005();
      }

   }

   public final void method11629() {
      if(this.aClass225_Sub42_Sub1_9270 != null && this.aClass225_Sub42_Sub1_9270.method14149()) {
         this.aClass168_9223.method2876(this.aClass225_Sub42_Sub1_9270);
         this.aClass172_9169.method3005();
      }

   }

   final Class147_Sub1 method14632() {
      return this.aClass79_Sub1_9217 != null?this.aClass79_Sub1_9217.method14524():null;
   }

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

   final void method14633() {
      this.aClass317_9188.method5609(this.aClass317_9184);
      this.aClass317_9188.method5612(this.aClass317_9186);
      this.aClass317_9188.method5633(this.aFloatArrayArray9189[0]);
      this.aClass317_9188.method5608(this.aFloatArrayArray9189[1]);
      this.aClass317_9188.method5629(this.aFloatArrayArray9189[2]);
      this.aClass317_9188.method5630(this.aFloatArrayArray9189[3]);
      this.aClass317_9188.method5620(this.aFloatArrayArray9189[4]);
      this.aClass317_9188.method5632(this.aFloatArrayArray9189[5]);
   }

   final void method11633(float var1, float var2, float var3, float var4, float var5, float var6) {
      Class225_Sub42_Sub1.aFloat10175 = var1;
      Class225_Sub42_Sub1.aFloat10161 = var2;
      Class225_Sub42_Sub1.aFloat10177 = var3;
   }

   final void method11634(float var1, float var2, float var3, float var4, float var5, float var6) {
      Class225_Sub42_Sub1.aFloat10175 = var1;
      Class225_Sub42_Sub1.aFloat10161 = var2;
      Class225_Sub42_Sub1.aFloat10177 = var3;
   }

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

   final void method14634(boolean var1) {
      if(var1 != this.aBool9216) {
         this.aBool9216 = var1;
         this.method14594();
         this.anInt9296 &= -8;
      }

   }

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

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

   public final void method11639() {
      this.aClass168_9223.method2871();
   }

   Class545_Sub1(Canvas var1, Interface24 var2, int var3) {
      super(var2);
      this.aClass225_Sub40Array9229 = new Class225_Sub40[anInt9215];
      this.anInt9235 = -1;
      this.anInt9167 = -1;
      this.anInt9149 = 0;
      this.aFloat9240 = 1.0F;
      this.aFloat9268 = 0.0F;
      this.aBool9243 = false;
      this.anInt9193 = 8448;
      this.anInt9250 = 8448;
      this.aFloat9284 = -1.0F;
      this.aFloat9226 = -1.0F;
      this.aClass568_Sub1Array9196 = new Class568_Sub1[7];
      this.aClass568_Sub1Array9287 = new Class568_Sub1[7];
      this.aClass225_Sub23_Sub2_9294 = new Class225_Sub23_Sub2(8192);
      this.anIntArray9295 = new int[1];
      this.anIntArray9195 = new int[1];
      this.anIntArray9297 = new int[1];
      this.aByteArray9298 = new byte[16384];

      try {
         this.anInt9148 = var3;
         if(!Class335.method6178(1556865481).method310("jaclib", 2098226057)) {
            throw new RuntimeException("");
         } else if(!Class335.method6178(-1260227484).method310("jaggl", 2098226057)) {
            throw new RuntimeException("");
         } else {
            this.anOpenGL9224 = new OpenGL();
            long var4 = this.anOpenGL9224.init(var1, 8, 8, 8, 24, 0, this.anInt9148);
            if(var4 == 0L) {
               throw new RuntimeException("");
            } else {
               this.method14571();
               int var6 = this.method14731();
               if(var6 != 0) {
                  throw new RuntimeException("");
               } else {
                  this.anInt9283 = this.aBool9257?'\u8367':5121;
                  if(this.aString9204.indexOf("radeon") != -1) {
                     int var7 = 0;
                     boolean var8 = false;
                     boolean var9 = false;
                     String[] var10 = Class34.method879(this.aString9204.replace('/', ' '), ' ', -1917424628);

                     for(int var11 = 0; var11 < var10.length; ++var11) {
                        String var12 = var10[var11];

                        try {
                           if(var12.length() > 0) {
                              if(var12.charAt(0) == 120 && var12.length() >= 3 && IncommingOpcode.method5361(var12.substring(1, 3), 1913525494)) {
                                 var12 = var12.substring(1);
                                 var9 = true;
                              }

                              if(var12.equals("hd")) {
                                 var8 = true;
                              } else {
                                 if(var12.startsWith("hd")) {
                                    var12 = var12.substring(2);
                                    var8 = true;
                                 }

                                 if(var12.length() >= 4 && IncommingOpcode.method5361(var12.substring(0, 4), 1859574259)) {
                                    var7 = Class78.method1629(var12.substring(0, 4), -1544827634);
                                    break;
                                 }
                              }
                           }
                        } catch (Exception var16) {
                           ;
                        }
                     }

                     if(!var9 && !var8) {
                        if(var7 >= 7000 && var7 <= 7999) {
                           this.aBool9271 = false;
                        }

                        if(var7 >= 7000 && var7 <= 9250) {
                           this.aBool9273 = false;
                        }
                     }

                     if(!var8 || var7 < 4000) {
                        this.aBool9277 = false;
                     }

                     this.aBool9276 &= this.anOpenGL9224.method2775("GL_ARB_half_float_pixel");
                     this.aBool9272 = this.aBool9271;
                     this.aBool9249 = true;
                  }

                  if(this.aString9192.indexOf("intel") != -1) {
                     this.aBool9266 = false;
                  }

                  this.aBool9232 = !this.aString9192.equals("s3 graphics");
                  if(this.aBool9271) {
                     try {
                        int[] var18 = new int[1];
                        OpenGL.glGenBuffersARB(1, var18, 0);
                     } catch (Throwable var15) {
                        throw new RuntimeException("");
                     }
                  }

                  Class94.method1844(false, true, 2104287567);
                  this.aBool9161 = true;
                  this.aClass172_9169 = new Class172(this, this.anInterface24_7370);
                  this.method14541();
                  this.aClass163_9179 = new Class163(this);
                  this.aClass168_9223 = new Class168(this);
                  if(this.aClass168_9223.method2869()) {
                     this.aClass225_Sub42_Sub1_9270 = new Class225_Sub42_Sub1(this);
                     if(!this.aClass225_Sub42_Sub1_9270.method15776()) {
                        this.aClass225_Sub42_Sub1_9270.method14132();
                        this.aClass225_Sub42_Sub1_9270 = null;
                     }
                  }

                  this.method11448(var1, new Class151_Sub2_Sub1(this, var1, var4), -1588178366);
                  this.method11449(var1, (byte)51);
                  this.aClass129_9150 = new Class129(this);
                  this.method14542();
                  this.method11458();
               }
            }
         }
      } catch (Throwable var17) {
         var17.printStackTrace();
         this.method11431(-1432405075);
         if(var17 instanceof OutOfMemoryError) {
            throw (OutOfMemoryError)var17;
         } else {
            throw new RuntimeException("");
         }
      }
   }

   public final void method11641() {
      this.aClass168_9223.method2871();
   }

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

   public void method11426(int var1, Class153 var2) {
      this.anInt9164 = var1;
      this.aClass153_9157 = var2;
      this.aBool9242 = true;
   }

   public void method11680(int var1, Class153 var2) {
      this.anInt9164 = var1;
      this.aClass153_9157 = var2;
      this.aBool9242 = true;
   }

   public void method11645(int var1, Class153 var2) {
      this.anInt9164 = var1;
      this.aClass153_9157 = var2;
      this.aBool9242 = true;
   }

   public void method11646(int var1, Class153 var2) {
      if(!this.aBool9242) {
         throw new RuntimeException("");
      } else {
         this.anInt9164 = var1;
         this.aClass153_9157 = var2;
         if(this.aBool9243) {
            this.aClass129_9150.aClass141_Sub3_1558.method15427();
            this.aClass129_9150.aClass141_Sub3_1558.method15425();
         }

      }
   }

   public void method11647(int var1, Class153 var2) {
      if(!this.aBool9242) {
         throw new RuntimeException("");
      } else {
         this.anInt9164 = var1;
         this.aClass153_9157 = var2;
         if(this.aBool9243) {
            this.aClass129_9150.aClass141_Sub3_1558.method15427();
            this.aClass129_9150.aClass141_Sub3_1558.method15425();
         }

      }
   }

   public void method11648(int var1, Class153 var2) {
      if(!this.aBool9242) {
         throw new RuntimeException("");
      } else {
         this.anInt9164 = var1;
         this.aClass153_9157 = var2;
         if(this.aBool9243) {
            this.aClass129_9150.aClass141_Sub3_1558.method15427();
            this.aClass129_9150.aClass141_Sub3_1558.method15425();
         }

      }
   }

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

   public Class171 method11484(int var1, int var2, int var3, int var4, boolean var5) {
      return new Class171_Sub2(this, var1, var2, var3, var4);
   }

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

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

   public Class151_Sub1 method11657() {
      return new Class151_Sub1_Sub2(this);
   }

   public void method11649(int var1, int var2, float var3, int var4, int var5, float var6, int var7, int var8, float var9, int var10, int var11, int var12, int var13) {
      this.method14695();
      this.method14602(var13);
      OpenGL.glBegin(4);
      OpenGL.glColor4ub((byte)(var10 >> 16), (byte)(var10 >> 8), (byte)var10, (byte)(var10 >> 24));
      OpenGL.glVertex3f((float)var1 + 0.35F, (float)var2 + 0.35F, var3);
      OpenGL.glColor4ub((byte)(var11 >> 16), (byte)(var11 >> 8), (byte)var11, (byte)(var11 >> 24));
      OpenGL.glVertex3f((float)var4 + 0.35F, (float)var5 + 0.35F, var6);
      OpenGL.glColor4ub((byte)(var12 >> 16), (byte)(var12 >> 8), (byte)var12, (byte)(var12 >> 24));
      OpenGL.glVertex3f((float)var7 + 0.35F, (float)var8 + 0.35F, var9);
      OpenGL.glEnd();
   }

   public void method11699(int var1, int var2, float var3, int var4, int var5, float var6, int var7, int var8, float var9, int var10, int var11, int var12, int var13) {
      this.method14695();
      this.method14602(var13);
      OpenGL.glBegin(4);
      OpenGL.glColor4ub((byte)(var10 >> 16), (byte)(var10 >> 8), (byte)var10, (byte)(var10 >> 24));
      OpenGL.glVertex3f((float)var1 + 0.35F, (float)var2 + 0.35F, var3);
      OpenGL.glColor4ub((byte)(var11 >> 16), (byte)(var11 >> 8), (byte)var11, (byte)(var11 >> 24));
      OpenGL.glVertex3f((float)var4 + 0.35F, (float)var5 + 0.35F, var6);
      OpenGL.glColor4ub((byte)(var12 >> 16), (byte)(var12 >> 8), (byte)var12, (byte)(var12 >> 24));
      OpenGL.glVertex3f((float)var7 + 0.35F, (float)var8 + 0.35F, var9);
      OpenGL.glEnd();
   }

   public void et(boolean var1) {
      this.aBool9239 = var1;
      this.method14601();
   }

   public void method11556(float var1, float var2, float var3, float[] var4) {
      float var5 = this.aClass317_9188.aFloatArray4000[15] + this.aClass317_9188.aFloatArray4000[3] * var1 + this.aClass317_9188.aFloatArray4000[7] * var2 + this.aClass317_9188.aFloatArray4000[11] * var3;
      float var6 = this.aClass317_9188.aFloatArray4000[12] + this.aClass317_9188.aFloatArray4000[0] * var1 + this.aClass317_9188.aFloatArray4000[4] * var2 + this.aClass317_9188.aFloatArray4000[8] * var3;
      float var7 = this.aClass317_9188.aFloatArray4000[13] + this.aClass317_9188.aFloatArray4000[1] * var1 + this.aClass317_9188.aFloatArray4000[5] * var2 + this.aClass317_9188.aFloatArray4000[9] * var3;
      float var8 = this.aClass317_9184.aFloatArray4000[14] + this.aClass317_9184.aFloatArray4000[2] * var1 + this.aClass317_9184.aFloatArray4000[6] * var2 + this.aClass317_9184.aFloatArray4000[10] * var3;
      var4[0] = this.aFloat9191 + this.aFloat9280 * var6 / var5;
      var4[1] = this.aFloat9282 + this.aFloat9112 * var7 / var5;
      var4[2] = var8;
   }

   void method14635() {
      this.aFloat9293 = this.aFloat9111 - (float)this.anInt9149 - this.aFloat9268;
      this.aFloat9175 = this.aFloat9293 - (float)this.anInt9167 * this.aFloat9240;
      if(this.aFloat9175 < this.aFloat9197) {
         this.aFloat9175 = this.aFloat9197;
      }

      OpenGL.glFogf(2915, this.aFloat9175);
      OpenGL.glFogf(2916, this.aFloat9293);
      aFloatArray9245[0] = (float)(this.anInt9235 & 16711680) / 1.671168E7F;
      aFloatArray9245[1] = (float)(this.anInt9235 & '\uff00') / 65280.0F;
      aFloatArray9245[2] = (float)(this.anInt9235 & 255) / 255.0F;
      OpenGL.glFogfv(2918, aFloatArray9245, 0);
   }

   public void method11661(float var1, float var2, float var3, float[] var4) {
      float var5 = this.aClass317_9188.aFloatArray4000[15] + this.aClass317_9188.aFloatArray4000[3] * var1 + this.aClass317_9188.aFloatArray4000[7] * var2 + this.aClass317_9188.aFloatArray4000[11] * var3;
      float var6 = this.aClass317_9188.aFloatArray4000[12] + this.aClass317_9188.aFloatArray4000[0] * var1 + this.aClass317_9188.aFloatArray4000[4] * var2 + this.aClass317_9188.aFloatArray4000[8] * var3;
      float var7 = this.aClass317_9188.aFloatArray4000[13] + this.aClass317_9188.aFloatArray4000[1] * var1 + this.aClass317_9188.aFloatArray4000[5] * var2 + this.aClass317_9188.aFloatArray4000[9] * var3;
      float var8 = this.aClass317_9184.aFloatArray4000[14] + this.aClass317_9184.aFloatArray4000[2] * var1 + this.aClass317_9184.aFloatArray4000[6] * var2 + this.aClass317_9184.aFloatArray4000[10] * var3;
      var4[0] = this.aFloat9191 + this.aFloat9280 * var6 / var5;
      var4[1] = this.aFloat9282 + this.aFloat9112 * var7 / var5;
      var4[2] = var8;
   }

   final void method14636(int var1, int var2) {
      this.anInt9209 = var1;
      this.anInt9285 = var2;
      this.method14561();
      this.method14563();
   }

   public Class151_Sub1 method11653() {
      return new Class151_Sub1_Sub2(this);
   }

   public void method11676(Class225_Sub1 var1) {
      this.aNativeHeap9162 = ((Class225_Sub1_Sub1)var1).aNativeHeap10180;
      if(this.anInterface10_9291 == null) {
         Class225_Sub23_Sub2 var2 = new Class225_Sub23_Sub2(80);
         if(this.aBool9257) {
            var2.method16093(-1.0F);
            var2.method16093(-1.0F);
            var2.method16093(0.0F);
            var2.method16093(0.0F);
            var2.method16093(0.0F);
            var2.method16093(-1.0F);
            var2.method16093(1.0F);
            var2.method16093(0.0F);
            var2.method16093(0.0F);
            var2.method16093(1.0F);
            var2.method16093(1.0F);
            var2.method16093(1.0F);
            var2.method16093(0.0F);
            var2.method16093(1.0F);
            var2.method16093(1.0F);
            var2.method16093(1.0F);
            var2.method16093(-1.0F);
            var2.method16093(0.0F);
            var2.method16093(1.0F);
            var2.method16093(0.0F);
         } else {
            var2.method16094(-1.0F);
            var2.method16094(-1.0F);
            var2.method16094(0.0F);
            var2.method16094(0.0F);
            var2.method16094(0.0F);
            var2.method16094(-1.0F);
            var2.method16094(1.0F);
            var2.method16094(0.0F);
            var2.method16094(0.0F);
            var2.method16094(1.0F);
            var2.method16094(1.0F);
            var2.method16094(1.0F);
            var2.method16094(0.0F);
            var2.method16094(1.0F);
            var2.method16094(1.0F);
            var2.method16094(1.0F);
            var2.method16094(-1.0F);
            var2.method16094(0.0F);
            var2.method16094(1.0F);
            var2.method16094(0.0F);
         }

         this.anInterface10_9291 = this.method14582(20, var2.buffer, var2.position * -543666943, false);
         this.aClass150_9289 = new Class150(this.anInterface10_9291, 5126, 3, 0);
         this.aClass150_9220 = new Class150(this.anInterface10_9291, 5126, 2, 12);
         this.aClass170_9153.method2906(this);
      }

   }

   public Class151_Sub1 method11655() {
      return new Class151_Sub1_Sub2(this);
   }

   final void method14637() {
      if(this.aClass151_7359 != null) {
         int var1;
         int var2;
         int var3;
         int var4;
         if(this.anInt9203 == 2) {
            var1 = this.anInt9211;
            var2 = this.anInt9212;
            var3 = this.anInt9213;
            var4 = this.anInt9166;
         } else {
            var1 = 0;
            var2 = 0;
            var3 = this.aClass151_7359.method2741();
            var4 = this.aClass151_7359.method2742();
         }

         if(var3 < 1) {
            var3 = 1;
         }

         if(var4 < 1) {
            var4 = 1;
         }

         OpenGL.glViewport(this.anInt9209 + var1, this.anInt9285 + this.aClass151_7359.method2742() - var2 - var4, var3, var4);
         this.aFloat9280 = (float)this.anInt9213 / 2.0F;
         this.aFloat9112 = (float)this.anInt9166 / 2.0F;
         this.aFloat9191 = (float)this.anInt9211 + this.aFloat9280;
         this.aFloat9282 = (float)this.anInt9212 + this.aFloat9112;
      }

   }

   final void method14638(int var1, boolean var2) {
      this.method14590(var1, var2, true);
   }

   public Interface8 method11722(int var1, int var2) {
      return new Class225_Sub14_Sub18(this, Class98.aClass98_990, Class91.aClass91_901, var1, var2);
   }

   public Interface8 method11659(int var1, int var2, int var3) {
      return new Class225_Sub14_Sub18(this, Class98.aClass98_990, Class91.aClass91_901, var1, var2, var3);
   }

   int method14639() {
      int var1 = 0;
      this.aString9192 = OpenGL.glGetString(7936).toLowerCase();
      this.aString9204 = OpenGL.glGetString(7937).toLowerCase();
      if(this.aString9192.indexOf("microsoft") != -1) {
         var1 |= 1;
      }

      if(this.aString9192.indexOf("brian paul") != -1 || this.aString9192.indexOf("mesa") != -1) {
         var1 |= 1;
      }

      String var2 = OpenGL.glGetString(7938);
      String[] var3 = Class34.method879(var2.replace('.', ' '), ' ', -1326990026);
      if(var3.length >= 2) {
         try {
            int var4 = Class78.method1629(var3[0], -741677892);
            int var5 = Class78.method1629(var3[1], -1442889800);
            this.anInt9260 = var4 * 10 + var5;
         } catch (NumberFormatException var6) {
            var1 |= 4;
         }
      } else {
         var1 |= 4;
      }

      if(this.anInt9260 < 12) {
         var1 |= 2;
      }

      if(!this.anOpenGL9224.method2775("GL_ARB_multitexture")) {
         var1 |= 8;
      }

      if(!this.anOpenGL9224.method2775("GL_ARB_texture_env_combine")) {
         var1 |= 32;
      }

      int[] var7 = new int[1];
      OpenGL.glGetIntegerv('\u84e2', var7, 0);
      this.anInt9194 = var7[0];
      OpenGL.glGetIntegerv('\u8871', var7, 0);
      this.anInt9238 = var7[0];
      OpenGL.glGetIntegerv('\u8872', var7, 0);
      this.anInt9176 = var7[0];
      if(this.anInt9194 < 2 || this.anInt9238 < 2 || this.anInt9176 < 2) {
         var1 |= 16;
      }

      this.aBool9257 = Stream.method3022();
      this.aBool9271 = this.anOpenGL9224.method2775("GL_ARB_vertex_buffer_object");
      this.aBool9269 = this.anOpenGL9224.method2775("GL_ARB_multisample");
      this.aBool9279 = this.anOpenGL9224.method2775("GL_ARB_vertex_program");
      this.anOpenGL9224.method2775("GL_ARB_fragment_program");
      this.aBool9170 = this.anOpenGL9224.method2775("GL_ARB_vertex_shader");
      this.aBool9281 = this.anOpenGL9224.method2775("GL_ARB_fragment_shader");
      this.aBool9273 = this.anOpenGL9224.method2775("GL_EXT_texture3D");
      this.aBool9276 = this.anOpenGL9224.method2775("GL_ARB_texture_rectangle");
      this.aBool9274 = this.anOpenGL9224.method2775("GL_ARB_texture_cube_map");
      this.aBool9275 = this.anOpenGL9224.method2775("GL_ARB_seamless_cube_map");
      this.aBool9277 = this.anOpenGL9224.method2775("GL_ARB_texture_float");
      this.aBool9155 = false;
      this.aBool9266 = this.anOpenGL9224.method2775("GL_EXT_framebuffer_object");
      this.aBool9267 = this.anOpenGL9224.method2775("GL_EXT_framebuffer_blit");
      this.aBool9290 = this.anOpenGL9224.method2775("GL_EXT_framebuffer_multisample");
      this.aBool9107 = this.aBool9267 & this.aBool9290;
      this.aBool9262 = Class580.aString7622.startsWith("mac");
      OpenGL.glGetFloatv(2834, aFloatArray9245, 0);
      this.aFloat9226 = aFloatArray9245[0];
      this.aFloat9284 = aFloatArray9245[1];
      return var1 != 0?var1:0;
   }

   int method14640() {
      int var1 = 0;
      this.aString9192 = OpenGL.glGetString(7936).toLowerCase();
      this.aString9204 = OpenGL.glGetString(7937).toLowerCase();
      if(this.aString9192.indexOf("microsoft") != -1) {
         var1 |= 1;
      }

      if(this.aString9192.indexOf("brian paul") != -1 || this.aString9192.indexOf("mesa") != -1) {
         var1 |= 1;
      }

      String var2 = OpenGL.glGetString(7938);
      String[] var3 = Class34.method879(var2.replace('.', ' '), ' ', -350110558);
      if(var3.length >= 2) {
         try {
            int var4 = Class78.method1629(var3[0], -1486789579);
            int var5 = Class78.method1629(var3[1], -903501309);
            this.anInt9260 = var4 * 10 + var5;
         } catch (NumberFormatException var6) {
            var1 |= 4;
         }
      } else {
         var1 |= 4;
      }

      if(this.anInt9260 < 12) {
         var1 |= 2;
      }

      if(!this.anOpenGL9224.method2775("GL_ARB_multitexture")) {
         var1 |= 8;
      }

      if(!this.anOpenGL9224.method2775("GL_ARB_texture_env_combine")) {
         var1 |= 32;
      }

      int[] var7 = new int[1];
      OpenGL.glGetIntegerv('\u84e2', var7, 0);
      this.anInt9194 = var7[0];
      OpenGL.glGetIntegerv('\u8871', var7, 0);
      this.anInt9238 = var7[0];
      OpenGL.glGetIntegerv('\u8872', var7, 0);
      this.anInt9176 = var7[0];
      if(this.anInt9194 < 2 || this.anInt9238 < 2 || this.anInt9176 < 2) {
         var1 |= 16;
      }

      this.aBool9257 = Stream.method3022();
      this.aBool9271 = this.anOpenGL9224.method2775("GL_ARB_vertex_buffer_object");
      this.aBool9269 = this.anOpenGL9224.method2775("GL_ARB_multisample");
      this.aBool9279 = this.anOpenGL9224.method2775("GL_ARB_vertex_program");
      this.anOpenGL9224.method2775("GL_ARB_fragment_program");
      this.aBool9170 = this.anOpenGL9224.method2775("GL_ARB_vertex_shader");
      this.aBool9281 = this.anOpenGL9224.method2775("GL_ARB_fragment_shader");
      this.aBool9273 = this.anOpenGL9224.method2775("GL_EXT_texture3D");
      this.aBool9276 = this.anOpenGL9224.method2775("GL_ARB_texture_rectangle");
      this.aBool9274 = this.anOpenGL9224.method2775("GL_ARB_texture_cube_map");
      this.aBool9275 = this.anOpenGL9224.method2775("GL_ARB_seamless_cube_map");
      this.aBool9277 = this.anOpenGL9224.method2775("GL_ARB_texture_float");
      this.aBool9155 = false;
      this.aBool9266 = this.anOpenGL9224.method2775("GL_EXT_framebuffer_object");
      this.aBool9267 = this.anOpenGL9224.method2775("GL_EXT_framebuffer_blit");
      this.aBool9290 = this.anOpenGL9224.method2775("GL_EXT_framebuffer_multisample");
      this.aBool9107 = this.aBool9267 & this.aBool9290;
      this.aBool9262 = Class580.aString7622.startsWith("mac");
      OpenGL.glGetFloatv(2834, aFloatArray9245, 0);
      this.aFloat9226 = aFloatArray9245[0];
      this.aFloat9284 = aFloatArray9245[1];
      return var1 != 0?var1:0;
   }

   final void method14641(int var1) {
      if(this.anInt9252 != var1) {
         OpenGL.glActiveTexture('\u84c0' + var1);
         this.anInt9252 = var1;
      }

   }

   void method14642() {
      this.method14540(-2);

      for(int var1 = this.anInt9194 - 1; var1 >= 0; --var1) {
         this.method14641(var1);
         this.method14725((Class147)null);
         OpenGL.glTexEnvi(8960, 8704, '\u8570');
      }

      this.method14553(8448, 8448);
      this.method14679(2, '\u8578', 770);
      this.method14597();
      this.anInt9177 = 1;
      OpenGL.glEnable(3042);
      OpenGL.glBlendFunc(770, 771);
      this.anInt9205 = 1;
      OpenGL.glEnable(3008);
      OpenGL.glAlphaFunc(516, 0.0F);
      this.aBool9180 = true;
      OpenGL.glColorMask(true, true, true, true);
      this.aBool9198 = true;
      this.method14657(true);
      this.method14634(true);
      this.method14600(true);
      this.method14549(true);
      this.GA(0.0F, 1.0F);
      this.method14568();
      this.anOpenGL9224.setSwapInterval(0);
      OpenGL.glShadeModel(7425);
      OpenGL.glClearDepth(1.0F);
      OpenGL.glDepthFunc(515);
      OpenGL.glPolygonMode(1028, 6914);
      OpenGL.glEnable(2884);
      OpenGL.glCullFace(1029);
      OpenGL.glMatrixMode(5888);
      OpenGL.glLoadIdentity();
      OpenGL.glColorMaterial(1028, 5634);
      OpenGL.glEnable(2903);
      float[] var4 = new float[]{0.0F, 0.0F, 0.0F, 1.0F};

      for(int var2 = 0; var2 < 8; ++var2) {
         int var3 = 16384 + var2;
         OpenGL.glLightfv(var3, 4608, var4, 0);
         OpenGL.glLightf(var3, 4615, 0.0F);
         OpenGL.glLightf(var3, 4616, 0.0F);
      }

      OpenGL.glEnable(16384);
      OpenGL.glEnable(16385);
      OpenGL.glFogf(2914, 0.95F);
      OpenGL.glFogi(2917, 9729);
      OpenGL.glHint(3156, 4353);
      if(this.aBool9275) {
         OpenGL.glEnable('\u884f');
      }

      this.anInt9235 = -1;
      this.anInt9222 = -1;
      this.method11459();
      this.L();
   }

   void method14643() {
      this.method14540(-2);

      for(int var1 = this.anInt9194 - 1; var1 >= 0; --var1) {
         this.method14641(var1);
         this.method14725((Class147)null);
         OpenGL.glTexEnvi(8960, 8704, '\u8570');
      }

      this.method14553(8448, 8448);
      this.method14679(2, '\u8578', 770);
      this.method14597();
      this.anInt9177 = 1;
      OpenGL.glEnable(3042);
      OpenGL.glBlendFunc(770, 771);
      this.anInt9205 = 1;
      OpenGL.glEnable(3008);
      OpenGL.glAlphaFunc(516, 0.0F);
      this.aBool9180 = true;
      OpenGL.glColorMask(true, true, true, true);
      this.aBool9198 = true;
      this.method14657(true);
      this.method14634(true);
      this.method14600(true);
      this.method14549(true);
      this.GA(0.0F, 1.0F);
      this.method14568();
      this.anOpenGL9224.setSwapInterval(0);
      OpenGL.glShadeModel(7425);
      OpenGL.glClearDepth(1.0F);
      OpenGL.glDepthFunc(515);
      OpenGL.glPolygonMode(1028, 6914);
      OpenGL.glEnable(2884);
      OpenGL.glCullFace(1029);
      OpenGL.glMatrixMode(5888);
      OpenGL.glLoadIdentity();
      OpenGL.glColorMaterial(1028, 5634);
      OpenGL.glEnable(2903);
      float[] var4 = new float[]{0.0F, 0.0F, 0.0F, 1.0F};

      for(int var2 = 0; var2 < 8; ++var2) {
         int var3 = 16384 + var2;
         OpenGL.glLightfv(var3, 4608, var4, 0);
         OpenGL.glLightf(var3, 4615, 0.0F);
         OpenGL.glLightf(var3, 4616, 0.0F);
      }

      OpenGL.glEnable(16384);
      OpenGL.glEnable(16385);
      OpenGL.glFogf(2914, 0.95F);
      OpenGL.glFogi(2917, 9729);
      OpenGL.glHint(3156, 4353);
      if(this.aBool9275) {
         OpenGL.glEnable('\u884f');
      }

      this.anInt9235 = -1;
      this.anInt9222 = -1;
      this.method11459();
      this.L();
   }

   public Class85 method11663() {
      int var1 = -1;
      if(this.aString9192.indexOf("nvidia") != -1) {
         var1 = 4318;
      } else if(this.aString9192.indexOf("intel") != -1) {
         var1 = '\u8086';
      } else if(this.aString9192.indexOf("ati") != -1) {
         var1 = 4098;
      }

      return new Class85(var1, "OpenGL", this.anInt9260, this.aString9204, 0L);
   }

   public boolean method11664() {
      return true;
   }

   public boolean method11665() {
      return true;
   }

   boolean method14644() {
      return this.aClass129_9150.method2485(3);
   }

   boolean method14645() {
      return this.aClass129_9150.method2485(3);
   }

   public void method11434(float var1, float var2, float var3, float[] var4) {
      float var5 = this.aClass317_9188.aFloatArray4000[15] + this.aClass317_9188.aFloatArray4000[3] * var1 + this.aClass317_9188.aFloatArray4000[7] * var2 + this.aClass317_9188.aFloatArray4000[11] * var3;
      float var6 = this.aClass317_9188.aFloatArray4000[12] + this.aClass317_9188.aFloatArray4000[0] * var1 + this.aClass317_9188.aFloatArray4000[4] * var2 + this.aClass317_9188.aFloatArray4000[8] * var3;
      float var7 = this.aClass317_9188.aFloatArray4000[13] + this.aClass317_9188.aFloatArray4000[1] * var1 + this.aClass317_9188.aFloatArray4000[5] * var2 + this.aClass317_9188.aFloatArray4000[9] * var3;
      float var8 = this.aClass317_9184.aFloatArray4000[14] + this.aClass317_9184.aFloatArray4000[2] * var1 + this.aClass317_9184.aFloatArray4000[6] * var2 + this.aClass317_9184.aFloatArray4000[10] * var3;
      var4[0] = this.aFloat9191 + this.aFloat9280 * var6 / var5;
      var4[1] = this.aFloat9282 + this.aFloat9112 * var7 / var5;
      var4[2] = var8;
   }

   boolean method14646() {
      return this.aClass129_9150.method2485(3);
   }

   void method14647() {
      int var1 = this.aClass151_7359.method2741();
      int var2 = this.aClass151_7359.method2742();
      this.aClass317_9278.method5703(0.0F, (float)var1, 0.0F, (float)var2, -1.0F, 1.0F);
      this.method11459();
      this.method14568();
      this.L();
   }

   public int[] kx(int var1, int var2, int var3, int var4) {
      if(this.aClass151_7359 == null) {
         return null;
      } else {
         int[] var5 = new int[var3 * var4];
         int var6 = this.aClass151_7359.method2742();

         for(int var7 = 0; var7 < var4; ++var7) {
            OpenGL.glReadPixelsi(var1, var6 - var2 - var7 - 1, var3, 1, '\u80e1', this.anInt9283, var5, var7 * var3);
         }

         return var5;
      }
   }

   public int[] kc(int var1, int var2, int var3, int var4) {
      if(this.aClass151_7359 == null) {
         return null;
      } else {
         int[] var5 = new int[var3 * var4];
         int var6 = this.aClass151_7359.method2742();

         for(int var7 = 0; var7 < var4; ++var7) {
            OpenGL.glReadPixelsi(var1, var6 - var2 - var7 - 1, var3, 1, '\u80e1', this.anInt9283, var5, var7 * var3);
         }

         return var5;
      }
   }

   public void kz(int var1, int var2) {
      int var3 = 0;
      if((var1 & 1) != 0) {
         OpenGL.glClearColor((float)(var2 & 16711680) / 1.671168E7F, (float)(var2 & '\uff00') / 65280.0F, (float)(var2 & 255) / 255.0F, (float)(var2 >>> 24) / 255.0F);
         var3 = 16384;
      }

      if((var1 & 2) != 0) {
         this.method14549(true);
         var3 |= 256;
      }

      if((var1 & 4) != 0) {
         var3 |= 1024;
      }

      OpenGL.glClear(var3);
   }

   public void kd(int var1, int var2) {
      int var3 = 0;
      if((var1 & 1) != 0) {
         OpenGL.glClearColor((float)(var2 & 16711680) / 1.671168E7F, (float)(var2 & '\uff00') / 65280.0F, (float)(var2 & 255) / 255.0F, (float)(var2 >>> 24) / 255.0F);
         var3 = 16384;
      }

      if((var1 & 2) != 0) {
         this.method14549(true);
         var3 |= 256;
      }

      if((var1 & 4) != 0) {
         var3 |= 1024;
      }

      OpenGL.glClear(var3);
   }

   public void kv(int var1, int var2) {
      int var3 = 0;
      if((var1 & 1) != 0) {
         OpenGL.glClearColor((float)(var2 & 16711680) / 1.671168E7F, (float)(var2 & '\uff00') / 65280.0F, (float)(var2 & 255) / 255.0F, (float)(var2 >>> 24) / 255.0F);
         var3 = 16384;
      }

      if((var1 & 2) != 0) {
         this.method14549(true);
         var3 |= 256;
      }

      if((var1 & 4) != 0) {
         var3 |= 1024;
      }

      OpenGL.glClear(var3);
   }

   public void method11513(int var1, int var2, int var3, int var4, int var5, int var6) {
      float var7 = (float)var1 + 0.35F;
      float var8 = (float)var2 + 0.35F;
      float var9 = var7 + (float)var3 - 1.0F;
      float var10 = var8 + (float)var4 - 1.0F;
      this.method14695();
      this.method14602(var6);
      OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
      if(this.aBool9269) {
         OpenGL.glDisable('\u809d');
      }

      OpenGL.glBegin(2);
      OpenGL.glVertex2f(var7, var8);
      OpenGL.glVertex2f(var7, var10);
      OpenGL.glVertex2f(var9, var10);
      OpenGL.glVertex2f(var9, var8);
      OpenGL.glEnd();
      if(this.aBool9269) {
         OpenGL.glEnable('\u809d');
      }

   }

   public void method11669(int var1, int var2, int var3, int var4, int var5, int var6) {
      float var7 = (float)var1 + 0.35F;
      float var8 = (float)var2 + 0.35F;
      float var9 = var7 + (float)var3 - 1.0F;
      float var10 = var8 + (float)var4 - 1.0F;
      this.method14695();
      this.method14602(var6);
      OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
      if(this.aBool9269) {
         OpenGL.glDisable('\u809d');
      }

      OpenGL.glBegin(2);
      OpenGL.glVertex2f(var7, var8);
      OpenGL.glVertex2f(var7, var10);
      OpenGL.glVertex2f(var9, var10);
      OpenGL.glVertex2f(var9, var8);
      OpenGL.glEnd();
      if(this.aBool9269) {
         OpenGL.glEnable('\u809d');
      }

   }

   final void method14648(int var1) {
      if(var1 == 1) {
         this.method14553(7681, 7681);
      } else if(var1 == 0) {
         this.method14553(8448, 8448);
      } else if(var1 == 2) {
         this.method14553('\u8575', 7681);
      } else if(var1 == 3) {
         this.method14553(260, 8448);
      } else if(var1 == 4) {
         this.method14553('\u84e7', '\u84e7');
      }

   }

   public void method11579(int var1, int var2, int var3, int var4, int var5, int var6) {
      float var7 = (float)var1 + 0.35F;
      float var8 = (float)var2 + 0.35F;
      float var9 = var7 + (float)var3 - 1.0F;
      float var10 = var8 + (float)var4 - 1.0F;
      this.method14695();
      this.method14602(var6);
      OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
      if(this.aBool9269) {
         OpenGL.glDisable('\u809d');
      }

      OpenGL.glBegin(2);
      OpenGL.glVertex2f(var7, var8);
      OpenGL.glVertex2f(var7, var10);
      OpenGL.glVertex2f(var9, var10);
      OpenGL.glVertex2f(var9, var8);
      OpenGL.glEnd();
      if(this.aBool9269) {
         OpenGL.glEnable('\u809d');
      }

   }

   public void ki(int var1, int var2, int var3, int var4, int var5, int var6) {
      float var7 = (float)var1 + 0.35F;
      float var8 = (float)var2 + 0.35F;
      float var9 = var7 + (float)var3;
      float var10 = var8 + (float)var4;
      this.method14695();
      this.method14602(var6);
      OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
      if(this.aBool9269) {
         OpenGL.glDisable('\u809d');
      }

      OpenGL.glBegin(7);
      OpenGL.glVertex2f(var7, var8);
      OpenGL.glVertex2f(var7, var10);
      OpenGL.glVertex2f(var9, var10);
      OpenGL.glVertex2f(var9, var8);
      OpenGL.glEnd();
      if(this.aBool9269) {
         OpenGL.glEnable('\u809d');
      }

   }

   public void kw(int var1, int var2, int var3, int var4, int var5, int var6) {
      float var7 = (float)var1 + 0.35F;
      float var8 = (float)var2 + 0.35F;
      float var9 = var7 + (float)var3;
      float var10 = var8 + (float)var4;
      this.method14695();
      this.method14602(var6);
      OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
      if(this.aBool9269) {
         OpenGL.glDisable('\u809d');
      }

      OpenGL.glBegin(7);
      OpenGL.glVertex2f(var7, var8);
      OpenGL.glVertex2f(var7, var10);
      OpenGL.glVertex2f(var9, var10);
      OpenGL.glVertex2f(var9, var8);
      OpenGL.glEnd();
      if(this.aBool9269) {
         OpenGL.glEnable('\u809d');
      }

   }

   public void method11673(float var1, float var2, float var3, float[] var4) {
      float var5 = this.aClass317_9188.aFloatArray4000[14] + this.aClass317_9188.aFloatArray4000[2] * var1 + this.aClass317_9188.aFloatArray4000[6] * var2 + this.aClass317_9188.aFloatArray4000[10] * var3;
      float var6 = this.aClass317_9188.aFloatArray4000[15] + this.aClass317_9188.aFloatArray4000[3] * var1 + this.aClass317_9188.aFloatArray4000[7] * var2 + this.aClass317_9188.aFloatArray4000[11] * var3;
      if(var5 >= -var6 && var5 <= var6) {
         float var7 = this.aClass317_9188.aFloatArray4000[12] + this.aClass317_9188.aFloatArray4000[0] * var1 + this.aClass317_9188.aFloatArray4000[4] * var2 + this.aClass317_9188.aFloatArray4000[8] * var3;
         if(var7 >= -var6 && var7 <= var6) {
            float var8 = this.aClass317_9188.aFloatArray4000[13] + this.aClass317_9188.aFloatArray4000[1] * var1 + this.aClass317_9188.aFloatArray4000[5] * var2 + this.aClass317_9188.aFloatArray4000[9] * var3;
            if(var8 >= -var6 && var8 <= var6) {
               float var9 = this.aClass317_9184.aFloatArray4000[14] + this.aClass317_9184.aFloatArray4000[2] * var1 + this.aClass317_9184.aFloatArray4000[6] * var2 + this.aClass317_9184.aFloatArray4000[10] * var3;
               var4[0] = this.aFloat9191 + this.aFloat9280 * var7 / var6;
               var4[1] = this.aFloat9282 + this.aFloat9112 * 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 Class317 method11602() {
      return this.aClass317_9154;
   }

   final void method14649(float[] var1) {
      float[] var2 = new float[16];
      System.arraycopy(var1, 0, var2, 0, 16);
      var2[1] = -var2[1];
      var2[5] = -var2[5];
      var2[9] = -var2[9];
      var2[13] = -var2[13];
      OpenGL.glMatrixMode(5889);
      OpenGL.glLoadMatrixf(var2, 0);
      OpenGL.glMatrixMode(5888);
   }

   public final void method11603(Class328 var1) {
      this.aClass328_9183.method5991(var1);
      this.aClass317_9184.method5613(this.aClass328_9183);
      this.aClass328_9199.method5991(var1);
      this.aClass328_9199.method5996();
      this.aClass317_9286.method5613(this.aClass328_9199);
      this.method14633();
      if(this.anInt9203 != 1) {
         this.method14589();
      }

   }

   final void method14650() {
      if(this.aClass151_7359 != null) {
         int var1;
         int var2;
         int var3;
         int var4;
         if(this.anInt9203 == 2) {
            var1 = this.anInt9211;
            var2 = this.anInt9212;
            var3 = this.anInt9213;
            var4 = this.anInt9166;
         } else {
            var1 = 0;
            var2 = 0;
            var3 = this.aClass151_7359.method2741();
            var4 = this.aClass151_7359.method2742();
         }

         if(var3 < 1) {
            var3 = 1;
         }

         if(var4 < 1) {
            var4 = 1;
         }

         OpenGL.glViewport(this.anInt9209 + var1, this.anInt9285 + this.aClass151_7359.method2742() - var2 - var4, var3, var4);
         this.aFloat9280 = (float)this.anInt9213 / 2.0F;
         this.aFloat9112 = (float)this.anInt9166 / 2.0F;
         this.aFloat9191 = (float)this.anInt9211 + this.aFloat9280;
         this.aFloat9282 = (float)this.anInt9212 + this.aFloat9112;
      }

   }

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

   final void method14651() {
      if(this.aClass151_7359 != null) {
         int var1;
         int var2;
         int var3;
         int var4;
         if(this.anInt9203 == 2) {
            var1 = this.anInt9211;
            var2 = this.anInt9212;
            var3 = this.anInt9213;
            var4 = this.anInt9166;
         } else {
            var1 = 0;
            var2 = 0;
            var3 = this.aClass151_7359.method2741();
            var4 = this.aClass151_7359.method2742();
         }

         if(var3 < 1) {
            var3 = 1;
         }

         if(var4 < 1) {
            var4 = 1;
         }

         OpenGL.glViewport(this.anInt9209 + var1, this.anInt9285 + this.aClass151_7359.method2742() - var2 - var4, var3, var4);
         this.aFloat9280 = (float)this.anInt9213 / 2.0F;
         this.aFloat9112 = (float)this.anInt9166 / 2.0F;
         this.aFloat9191 = (float)this.anInt9211 + this.aFloat9280;
         this.aFloat9282 = (float)this.anInt9212 + this.aFloat9112;
      }

   }

   final void method14652() {
      OpenGL.glDepthMask(this.aBool9182 && this.aBool9239);
   }

   final synchronized void method14653(int var1, int var2) {
      IntVar var3 = new IntVar(var2);
      var3.aLong2606 = (long)var1 * -641052250121656953L;
      this.aClass456_9104.method7712(var3, (byte)94);
   }

   final void method14654() {
      if(this.aClass151_7359 != null && this.anInt9109 < this.anInt9208 && this.anInt9258 < this.anInt9206) {
         OpenGL.glScissor(this.anInt9209 + this.anInt9109, this.anInt9285 + this.aClass151_7359.method2742() - this.anInt9206, this.anInt9208 - this.anInt9109, this.anInt9206 - this.anInt9258);
      } else {
         OpenGL.glScissor(0, 0, 0, 0);
      }

   }

   public void es(float var1, float var2) {
      this.aFloat9151 = var1;
      this.aFloat9231 = var2;
      this.method14562();
   }

   final int method14655(int var1) {
      if(var1 == 1) {
         return 7681;
      } else if(var1 == 0) {
         return 8448;
      } else if(var1 == 2) {
         return '\u8575';
      } else if(var1 == 3) {
         return 260;
      } else if(var1 == 4) {
         return '\u84e7';
      } else {
         throw new IllegalArgumentException();
      }
   }

   final void method14656(Class317 var1) {
      OpenGL.glLoadMatrixf(var1.aFloatArray4000, 0);
   }

   final void method14657(boolean var1) {
      if(var1 != this.aBool9255) {
         this.aBool9255 = var1;
         this.method14577();
         this.anInt9296 &= -16;
      }

   }

   public boolean method11540() {
      return false;
   }

   final void method11632(float var1, float var2, float var3, float var4, float var5, float var6) {
      Class225_Sub42_Sub1.aFloat10175 = var1;
      Class225_Sub42_Sub1.aFloat10161 = var2;
      Class225_Sub42_Sub1.aFloat10177 = var3;
   }

   public final void method11674(Class328 var1) {
      this.aClass328_9183.method5991(var1);
      this.aClass317_9184.method5613(this.aClass328_9183);
      this.aClass328_9199.method5991(var1);
      this.aClass328_9199.method5996();
      this.aClass317_9286.method5613(this.aClass328_9199);
      this.method14633();
      if(this.anInt9203 != 1) {
         this.method14589();
      }

   }

   final void method14658() {
      if(this.aBool9251) {
         OpenGL.glMatrixMode(5890);
         OpenGL.glLoadIdentity();
         OpenGL.glMatrixMode(5888);
         this.aBool9251 = false;
      }

   }

   final void method14659() {
      OpenGL.glLoadIdentity();
      OpenGL.glMultMatrixf(this.aClass317_9184.aFloatArray4000, 0);
      if(this.aBool9243) {
         this.aClass129_9150.aClass141_Sub3_1558.method15427();
      }

      this.method14576();
      this.method14550();
   }

   final void method14660() {
      if(this.anInt9203 != 0) {
         this.anInt9203 = 0;
         this.method14561();
         this.method14562();
         this.anInt9296 &= -16;
      }

   }

   final void method14661() {
      if(this.anInt9203 != 1) {
         this.anInt9203 = 1;
         this.method14593();
         this.method14561();
         this.method14562();
         OpenGL.glMatrixMode(5888);
         OpenGL.glLoadIdentity();
         this.anInt9296 &= -9;
      }

   }

   final void method14662(Class317 var1) {
      OpenGL.glLoadMatrixf(var1.aFloatArray4000, 0);
   }

   public Class171 method11581(Class86 var1, boolean var2) {
      int[] var3 = var1.method1709(false);
      Class171 var4 = this.method11599(var3, 0, var1.method1691(), var1.method1691(), var1.method1704(), 98312473);
      var4.method2918(var1.method1693(), var1.method1735(), var1.method1694(), var1.method1692());
      return var4;
   }

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

   final void method14663() {
      if(this.anInt9203 != 2) {
         this.anInt9203 = 2;
         this.method14649(this.aClass317_9186.aFloatArray4000);
         this.method14589();
         this.method14561();
         this.method14562();
         this.anInt9296 &= -8;
      }

   }

   final void method14664() {
      this.aFloat9111 = this.aClass317_9186.method5628();
      this.aFloat9197 = this.aClass317_9186.method5687();
      this.method14624();
      if(this.anInt9203 == 2) {
         this.method14649(this.aClass317_9186.aFloatArray4000);
      } else if(this.anInt9203 == 1) {
         this.method14649(this.aClass317_9278.aFloatArray4000);
      }

   }

   final void method14665() {
      this.aFloat9111 = this.aClass317_9186.method5628();
      this.aFloat9197 = this.aClass317_9186.method5687();
      this.method14624();
      if(this.anInt9203 == 2) {
         this.method14649(this.aClass317_9186.aFloatArray4000);
      } else if(this.anInt9203 == 1) {
         this.method14649(this.aClass317_9278.aFloatArray4000);
      }

   }

   final void method14666() {
      this.aClass317_9188.method5609(this.aClass317_9184);
      this.aClass317_9188.method5612(this.aClass317_9186);
      this.aClass317_9188.method5633(this.aFloatArrayArray9189[0]);
      this.aClass317_9188.method5608(this.aFloatArrayArray9189[1]);
      this.aClass317_9188.method5629(this.aFloatArrayArray9189[2]);
      this.aClass317_9188.method5630(this.aFloatArrayArray9189[3]);
      this.aClass317_9188.method5620(this.aFloatArrayArray9189[4]);
      this.aClass317_9188.method5632(this.aFloatArrayArray9189[5]);
   }

   final void method14667() {
      this.aClass317_9188.method5609(this.aClass317_9184);
      this.aClass317_9188.method5612(this.aClass317_9186);
      this.aClass317_9188.method5633(this.aFloatArrayArray9189[0]);
      this.aClass317_9188.method5608(this.aFloatArrayArray9189[1]);
      this.aClass317_9188.method5629(this.aFloatArrayArray9189[2]);
      this.aClass317_9188.method5630(this.aFloatArrayArray9189[3]);
      this.aClass317_9188.method5620(this.aFloatArrayArray9189[4]);
      this.aClass317_9188.method5632(this.aFloatArrayArray9189[5]);
   }

   final Interface10 method14668(int var1, byte[] var2, int var3, boolean var4) {
      return (Interface10)(this.aBool9271 && (!var4 || this.aBool9272)?new Class145_Sub1(this, var1, var2, var3, var4):new Class162_Sub1(this, var1, var2, var3));
   }

   final void method14669() {
      this.aClass317_9188.method5609(this.aClass317_9184);
      this.aClass317_9188.method5612(this.aClass317_9186);
      this.aClass317_9188.method5633(this.aFloatArrayArray9189[0]);
      this.aClass317_9188.method5608(this.aFloatArrayArray9189[1]);
      this.aClass317_9188.method5629(this.aFloatArrayArray9189[2]);
      this.aClass317_9188.method5630(this.aFloatArrayArray9189[3]);
      this.aClass317_9188.method5620(this.aFloatArrayArray9189[4]);
      this.aClass317_9188.method5632(this.aFloatArrayArray9189[5]);
   }

   final void method14670() {
      this.aClass317_9188.method5609(this.aClass317_9184);
      this.aClass317_9188.method5612(this.aClass317_9186);
      this.aClass317_9188.method5633(this.aFloatArrayArray9189[0]);
      this.aClass317_9188.method5608(this.aFloatArrayArray9189[1]);
      this.aClass317_9188.method5629(this.aFloatArrayArray9189[2]);
      this.aClass317_9188.method5630(this.aFloatArrayArray9189[3]);
      this.aClass317_9188.method5620(this.aFloatArrayArray9189[4]);
      this.aClass317_9188.method5632(this.aFloatArrayArray9189[5]);
   }

   final void method14671(float[] var1) {
      float[] var2 = new float[16];
      System.arraycopy(var1, 0, var2, 0, 16);
      var2[1] = -var2[1];
      var2[5] = -var2[5];
      var2[9] = -var2[9];
      var2[13] = -var2[13];
      OpenGL.glMatrixMode(5889);
      OpenGL.glLoadMatrixf(var2, 0);
      OpenGL.glMatrixMode(5888);
   }

   final void method14672(float[] var1) {
      float[] var2 = new float[16];
      System.arraycopy(var1, 0, var2, 0, 16);
      var2[1] = -var2[1];
      var2[5] = -var2[5];
      var2[9] = -var2[9];
      var2[13] = -var2[13];
      OpenGL.glMatrixMode(5889);
      OpenGL.glLoadMatrixf(var2, 0);
      OpenGL.glMatrixMode(5888);
   }

   final void method14673(float var1, float var2) {
      this.aFloat9240 = var1;
      this.aFloat9268 = var2;
      this.method14624();
   }

   public Class328 method11726() {
      return this.aClass328_9156;
   }

   final void method14674(Interface15 var1, int var2, int var3, int var4) {
      this.method14585(var1);
      OpenGL.glDrawElements(var2, var4, 5123, var1.method75() + (long)(var3 * 2));
   }

   void method14675() {
      aFloatArray9245[0] = this.aFloat9168 * this.aFloat9130;
      aFloatArray9245[1] = this.aFloat9168 * this.aFloat9123;
      aFloatArray9245[2] = this.aFloat9168 * this.aFloat9225;
      aFloatArray9245[3] = 1.0F;
      OpenGL.glLightModelfv(2899, aFloatArray9245, 0);
   }

   void method14676() {
      aFloatArray9245[0] = this.aFloat9168 * this.aFloat9130;
      aFloatArray9245[1] = this.aFloat9168 * this.aFloat9123;
      aFloatArray9245[2] = this.aFloat9168 * this.aFloat9225;
      aFloatArray9245[3] = 1.0F;
      OpenGL.glLightModelfv(2899, aFloatArray9245, 0);
   }

   void method14677() {
      aFloatArray9245[0] = this.aFloat9227 * this.aFloat9130;
      aFloatArray9245[1] = this.aFloat9227 * this.aFloat9123;
      aFloatArray9245[2] = this.aFloat9227 * this.aFloat9225;
      aFloatArray9245[3] = 1.0F;
      OpenGL.glLightfv(16384, 4609, aFloatArray9245, 0);
      aFloatArray9245[0] = -this.aFloat9228 * this.aFloat9130;
      aFloatArray9245[1] = -this.aFloat9228 * this.aFloat9123;
      aFloatArray9245[2] = -this.aFloat9228 * this.aFloat9225;
      aFloatArray9245[3] = 1.0F;
      OpenGL.glLightfv(16385, 4609, aFloatArray9245, 0);
   }

   void method14678() {
      aFloatArray9245[0] = this.aFloat9227 * this.aFloat9130;
      aFloatArray9245[1] = this.aFloat9227 * this.aFloat9123;
      aFloatArray9245[2] = this.aFloat9227 * this.aFloat9225;
      aFloatArray9245[3] = 1.0F;
      OpenGL.glLightfv(16384, 4609, aFloatArray9245, 0);
      aFloatArray9245[0] = -this.aFloat9228 * this.aFloat9130;
      aFloatArray9245[1] = -this.aFloat9228 * this.aFloat9123;
      aFloatArray9245[2] = -this.aFloat9228 * this.aFloat9225;
      aFloatArray9245[3] = 1.0F;
      OpenGL.glLightfv(16385, 4609, aFloatArray9245, 0);
   }

   final void method14679(int var1, int var2, int var3) {
      OpenGL.glTexEnvi(8960, '\u8580' + var1, var2);
      OpenGL.glTexEnvi(8960, '\u8590' + var1, var3);
   }

   public void G(int var1, int var2, int var3, int var4, int var5) {
      this.method14695();
      this.method14602(var5);
      float var6 = (float)var1 + 0.35F;
      float var7 = (float)var2 + 0.35F;
      OpenGL.glColor4ub((byte)(var4 >> 16), (byte)(var4 >> 8), (byte)var4, (byte)(var4 >> 24));
      OpenGL.glBegin(1);
      OpenGL.glVertex2f(var6, var7);
      OpenGL.glVertex2f(var6, var7 + (float)var3);
      OpenGL.glEnd();
   }

   void method14680() {
      if(this.aBool9255 && this.anInt9167 >= 0) {
         OpenGL.glEnable(2912);
      } else {
         OpenGL.glDisable(2912);
      }

   }

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

   void method14681() {
      this.aFloat9293 = this.aFloat9111 - (float)this.anInt9149 - this.aFloat9268;
      this.aFloat9175 = this.aFloat9293 - (float)this.anInt9167 * this.aFloat9240;
      if(this.aFloat9175 < this.aFloat9197) {
         this.aFloat9175 = this.aFloat9197;
      }

      OpenGL.glFogf(2915, this.aFloat9175);
      OpenGL.glFogf(2916, this.aFloat9293);
      aFloatArray9245[0] = (float)(this.anInt9235 & 16711680) / 1.671168E7F;
      aFloatArray9245[1] = (float)(this.anInt9235 & '\uff00') / 65280.0F;
      aFloatArray9245[2] = (float)(this.anInt9235 & 255) / 255.0F;
      OpenGL.glFogfv(2918, aFloatArray9245, 0);
   }

   void method14682() {
      this.aFloat9293 = this.aFloat9111 - (float)this.anInt9149 - this.aFloat9268;
      this.aFloat9175 = this.aFloat9293 - (float)this.anInt9167 * this.aFloat9240;
      if(this.aFloat9175 < this.aFloat9197) {
         this.aFloat9175 = this.aFloat9197;
      }

      OpenGL.glFogf(2915, this.aFloat9175);
      OpenGL.glFogf(2916, this.aFloat9293);
      aFloatArray9245[0] = (float)(this.anInt9235 & 16711680) / 1.671168E7F;
      aFloatArray9245[1] = (float)(this.anInt9235 & '\uff00') / 65280.0F;
      aFloatArray9245[2] = (float)(this.anInt9235 & 255) / 255.0F;
      OpenGL.glFogfv(2918, aFloatArray9245, 0);
   }

   final Class147_Sub1 method14683() {
      return this.aClass79_Sub1_9217 != null?this.aClass79_Sub1_9217.method14524():null;
   }

   final Class147_Sub1 method14684() {
      return this.aClass79_Sub1_9217 != null?this.aClass79_Sub1_9217.method14524():null;
   }

   final Class147_Sub1 method14685() {
      return this.aClass79_Sub1_9217 != null?this.aClass79_Sub1_9217.method14524():null;
   }

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

   public void method11636(int var1, int var2, int var3, int var4, int var5, int var6, Class496 var7, int var8, int var9) {
      Class496_Sub3 var10 = (Class496_Sub3)var7;
      Class147_Sub4_Sub1 var11 = var10.aClass147_Sub4_Sub1_9955;
      this.method14587();
      this.method14725(var10.aClass147_Sub4_Sub1_9955);
      this.method14602(var6);
      this.method14553(7681, 8448);
      this.method14679(0, '\u8577', 768);
      float var12 = var11.aFloat10363 / (float)var11.anInt10364;
      float var13 = var11.aFloat10366 / (float)var11.anInt10365;
      float var14 = (float)var3 - (float)var1;
      float var15 = (float)var4 - (float)var2;
      float var16 = (float)(1.0D / Math.sqrt((double)(var14 * var14 + var15 * var15)));
      var14 *= var16;
      var15 *= var16;
      OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
      OpenGL.glBegin(1);
      OpenGL.glTexCoord2f(var12 * (float)(var1 - var8), var13 * (float)(var2 - var9));
      OpenGL.glVertex2f((float)var1 + 0.35F, (float)var2 + 0.35F);
      OpenGL.glTexCoord2f(var12 * (float)(var3 - var8), var13 * (float)(var4 - var9));
      OpenGL.glVertex2f((float)var3 + var14 + 0.35F, (float)var4 + var15 + 0.35F);
      OpenGL.glEnd();
      this.method14679(0, 5890, 768);
   }

   final void method14686(int var1, int var2, int var3) {
      OpenGL.glDrawArrays(var1, var2, var3);
   }

   final Interface10 method14687(int var1, byte[] var2, int var3, boolean var4) {
      return (Interface10)(this.aBool9271 && (!var4 || this.aBool9272)?new Class145_Sub1(this, var1, var2, var3, var4):new Class162_Sub1(this, var1, var2, var3));
   }

   boolean method14688() {
      return this.aClass129_9150.method2485(3);
   }

   final void method14689(int var1, int var2, int var3) {
      OpenGL.glDrawArrays(var1, var2, var3);
   }

   final void method14690(int var1, int var2, int var3) {
      OpenGL.glDrawArrays(var1, var2, var3);
   }

   final void method14691(Interface15 var1, int var2, int var3, int var4) {
      this.method14585(var1);
      OpenGL.glDrawElements(var2, var4, 5123, var1.method75() + (long)(var3 * 2));
   }

   final void method14692(Class317 var1) {
      OpenGL.glLoadMatrixf(var1.aFloatArray4000, 0);
   }

   public boolean method11536() {
      return true;
   }

   final void method14693() {
      if(this.anInt9296 != 1) {
         this.method14569();
         this.method14657(false);
         this.method14634(false);
         this.method14600(false);
         this.method14549(false);
         this.method14725((Class147)null);
         this.method14540(-2);
         this.method14591(1);
         this.anInt9296 = 1;
      }

   }

   public final void ec() {
      if(this.aClass151_7359 != null) {
         this.anInt9109 = 0;
         this.anInt9258 = 0;
         this.anInt9208 = this.aClass151_7359.method2741();
         this.anInt9206 = this.aClass151_7359.method2742();
         OpenGL.glDisable(3089);
      }
   }

   final void method14694() {
      OpenGL.glPopMatrix();
   }

   final void method14695() {
      if(this.anInt9296 != 1) {
         this.method14569();
         this.method14657(false);
         this.method14634(false);
         this.method14600(false);
         this.method14549(false);
         this.method14725((Class147)null);
         this.method14540(-2);
         this.method14591(1);
         this.anInt9296 = 1;
      }

   }

   final void method14696() {
      if(this.anInt9296 != 8) {
         this.method14570();
         this.method14657(true);
         this.method14600(true);
         this.method14549(true);
         this.method14602(1);
         this.anInt9296 = 8;
      }

   }

   final void method14697(int var1, int var2) {
      this.anInt9209 = var1;
      this.anInt9285 = var2;
      this.method14561();
      this.method14563();
   }

   final void method14698(int var1) {
      this.method14638(var1, true);
   }

   final void method14699(int var1, boolean var2) {
      this.method14590(var1, var2, true);
   }

   final void method14700(int var1, boolean var2) {
      this.method14590(var1, var2, true);
   }

   final void method14701() {
      OpenGL.glPopMatrix();
   }

   final void method14702(int var1, boolean var2, boolean var3) {
      if(var1 != this.anInt9248 || this.aBool9243 != this.aBool9242) {
         Class147_Sub4 var4 = null;
         int var5 = 0;
         byte var6 = 0;
         int var7 = 0;
         int var8 = this.aBool9242?3:0;
         if(var1 >= 0) {
            var4 = this.aClass172_9169.method3004(var1);
            Class161 var9 = this.anInterface24_7370.method113(var1, 158651009);
            if(var9.aByte1972 == 0 && var9.aByte1993 == 0) {
               this.method14597();
            } else {
               this.method14611((float)(this.anInt9158 % 128000) / 1000.0F * (float)var9.aByte1972 / 64.0F % 1.0F, (float)(this.anInt9158 % 128000) / 1000.0F * (float)var9.aByte1993 / 64.0F % 1.0F, 0.0F);
            }

            if(!this.aBool9242) {
               var6 = var9.aByte1999;
               var7 = var9.anInt1969 * -560456145;
               var8 = var9.aByte1986;
            }

            var5 = var9.anInt2002 * -1758113025;
         } else {
            this.method14597();
         }

         this.aClass129_9150.method2480(var8, var6, var7, var2, var3);
         if(!this.aClass129_9150.method2481(var4, var5)) {
            this.method14725(var4);
            this.method14591(var5);
         }

         this.aBool9243 = this.aBool9242;
         this.anInt9248 = var1;
      }

      this.anInt9296 &= -8;
   }

   public final boolean method11630() {
      return this.aClass225_Sub42_Sub1_9270 != null && this.aClass225_Sub42_Sub1_9270.method14149();
   }

   public Class151_Sub1 method11656() {
      return new Class151_Sub1_Sub2(this);
   }

   final void method14703(int var1) {
      if(var1 == 1) {
         this.method14553(7681, 7681);
      } else if(var1 == 0) {
         this.method14553(8448, 8448);
      } else if(var1 == 2) {
         this.method14553('\u8575', 7681);
      } else if(var1 == 3) {
         this.method14553(260, 8448);
      } else if(var1 == 4) {
         this.method14553('\u84e7', '\u84e7');
      }

   }

   public Class79 method11469(int var1, int var2, int var3, int var4, int var5, int var6) {
      return this.aBool9274?new Class79_Sub1_Sub2(this, var1, var2, var3, var4, var5, var6):null;
   }

   public final void o(int var1, int var2, int var3, int var4) {
      if(this.anInt9109 < var1) {
         this.anInt9109 = var1;
      }

      if(this.anInt9208 > var3) {
         this.anInt9208 = var3;
      }

      if(this.anInt9258 < var2) {
         this.anInt9258 = var2;
      }

      if(this.anInt9206 > var4) {
         this.anInt9206 = var4;
      }

      OpenGL.glEnable(3089);
      this.method14563();
   }

   public void method11670(int var1, int var2, int var3, int var4, int var5, int var6) {
      float var7 = (float)var1 + 0.35F;
      float var8 = (float)var2 + 0.35F;
      float var9 = var7 + (float)var3 - 1.0F;
      float var10 = var8 + (float)var4 - 1.0F;
      this.method14695();
      this.method14602(var6);
      OpenGL.glColor4ub((byte)(var5 >> 16), (byte)(var5 >> 8), (byte)var5, (byte)(var5 >> 24));
      if(this.aBool9269) {
         OpenGL.glDisable('\u809d');
      }

      OpenGL.glBegin(2);
      OpenGL.glVertex2f(var7, var8);
      OpenGL.glVertex2f(var7, var10);
      OpenGL.glVertex2f(var9, var10);
      OpenGL.glVertex2f(var9, var8);
      OpenGL.glEnd();
      if(this.aBool9269) {
         OpenGL.glEnable('\u809d');
      }

   }

   final int method14704(int var1) {
      if(var1 == 1) {
         return 7681;
      } else if(var1 == 0) {
         return 8448;
      } else if(var1 == 2) {
         return '\u8575';
      } else if(var1 == 3) {
         return 260;
      } else if(var1 == 4) {
         return '\u84e7';
      } else {
         throw new IllegalArgumentException();
      }
   }

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

   final void method14705(int var1, int var2) {
      if(this.anInt9252 == 0) {
         boolean var3 = false;
         if(this.anInt9193 != var1) {
            OpenGL.glTexEnvi(8960, '\u8571', var1);
            this.anInt9193 = var1;
            var3 = true;
         }

         if(this.anInt9250 != var2) {
            OpenGL.glTexEnvi(8960, '\u8572', var2);
            this.anInt9250 = var2;
            var3 = true;
         }

         if(var3) {
            this.anInt9296 &= -14;
         }
      } else {
         OpenGL.glTexEnvi(8960, '\u8571', var1);
         OpenGL.glTexEnvi(8960, '\u8572', var2);
      }

   }

   void method14706() {
      if(this.aBool9216 && !this.aBool9119) {
         OpenGL.glEnable(2896);
      } else {
         OpenGL.glDisable(2896);
      }

   }

   final void method14707(int var1) {
      aFloatArray9245[0] = (float)(var1 & 16711680) / 1.671168E7F;
      aFloatArray9245[1] = (float)(var1 & '\uff00') / 65280.0F;
      aFloatArray9245[2] = (float)(var1 & 255) / 255.0F;
      aFloatArray9245[3] = (float)(var1 >>> 24) / 255.0F;
      OpenGL.glTexEnvfv(8960, 8705, aFloatArray9245, 0);
   }

   final void method14708(int var1) {
      aFloatArray9245[0] = (float)(var1 & 16711680) / 1.671168E7F;
      aFloatArray9245[1] = (float)(var1 & '\uff00') / 65280.0F;
      aFloatArray9245[2] = (float)(var1 & 255) / 255.0F;
      aFloatArray9245[3] = (float)(var1 >>> 24) / 255.0F;
      OpenGL.glTexEnvfv(8960, 8705, aFloatArray9245, 0);
   }

   final void method14709(int var1) {
      aFloatArray9245[0] = (float)(var1 & 16711680) / 1.671168E7F;
      aFloatArray9245[1] = (float)(var1 & '\uff00') / 65280.0F;
      aFloatArray9245[2] = (float)(var1 & 255) / 255.0F;
      aFloatArray9245[3] = (float)(var1 >>> 24) / 255.0F;
      OpenGL.glTexEnvfv(8960, 8705, aFloatArray9245, 0);
   }

   final void method14710(float var1, float var2, float var3, float var4) {
      aFloatArray9245[0] = var1;
      aFloatArray9245[1] = var2;
      aFloatArray9245[2] = var3;
      aFloatArray9245[3] = var4;
      OpenGL.glTexEnvfv(8960, 8705, aFloatArray9245, 0);
   }

   final void method14711(int var1) {
      if(this.anInt9177 != var1) {
         byte var2;
         boolean var3;
         boolean var4;
         if(var1 == 1) {
            var2 = 1;
            var3 = true;
            var4 = true;
         } else if(var1 == 2) {
            var2 = 2;
            var3 = true;
            var4 = false;
         } else if(var1 == 128) {
            var2 = 3;
            var3 = true;
            var4 = true;
         } else {
            var2 = 0;
            var3 = true;
            var4 = false;
         }

         if(var3 != this.aBool9198) {
            OpenGL.glColorMask(var3, var3, var3, true);
            this.aBool9198 = var3;
         }

         if(var4 != this.aBool9180) {
            if(var4) {
               OpenGL.glEnable(3008);
            } else {
               OpenGL.glDisable(3008);
            }

            this.aBool9180 = var4;
         }

         if(var2 != this.anInt9205) {
            if(var2 == 1) {
               OpenGL.glEnable(3042);
               OpenGL.glBlendFunc(770, 771);
            } else if(var2 == 2) {
               OpenGL.glEnable(3042);
               OpenGL.glBlendFunc(1, 1);
            } else if(var2 == 3) {
               OpenGL.glEnable(3042);
               OpenGL.glBlendFunc(774, 1);
            } else {
               OpenGL.glDisable(3042);
            }

            this.anInt9205 = var2;
         }

         this.anInt9177 = var1;
         this.anInt9296 &= -13;
      }

   }

   Class151_Sub2 method11545(Canvas var1, int var2, int var3) {
      return new Class151_Sub2_Sub1(this, var1);
   }

   final void method14712() {
      if(this.aBool9251) {
         OpenGL.glMatrixMode(5890);
         OpenGL.glLoadIdentity();
         OpenGL.glMatrixMode(5888);
         this.aBool9251 = false;
      }

   }

   final void method14713(boolean var1) {
      if(var1 != this.aBool9216) {
         this.aBool9216 = var1;
         this.method14594();
         this.anInt9296 &= -8;
      }

   }

   final void method14714() {
      if(this.anInt9203 != 1) {
         this.anInt9203 = 1;
         this.method14593();
         this.method14561();
         this.method14562();
         OpenGL.glMatrixMode(5888);
         OpenGL.glLoadIdentity();
         this.anInt9296 &= -9;
      }

   }

   final void method14715(boolean var1) {
      if(var1 != this.aBool9216) {
         this.aBool9216 = var1;
         this.method14594();
         this.anInt9296 &= -8;
      }

   }

   final void method14716(float var1, float var2) {
      this.aFloat9240 = var1;
      this.aFloat9268 = var2;
      this.method14624();
   }

   boolean method14717() {
      return this.aClass129_9150.method2485(3);
   }

   final void method14718(boolean var1) {
      if(var1 != this.aBool9119) {
         this.aBool9119 = var1;
         this.method14594();
      }

   }

   final void method14719(boolean var1) {
      if(var1 != this.aBool9119) {
         this.aBool9119 = var1;
         this.method14594();
      }

   }

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

   final void method14720(boolean var1) {
      if(var1 != this.aBool9181) {
         if(var1) {
            OpenGL.glEnable(2929);
         } else {
            OpenGL.glDisable(2929);
         }

         this.aBool9181 = var1;
         this.anInt9296 &= -16;
      }

   }

   final void method14721() {
      OpenGL.glDepthMask(this.aBool9182 && this.aBool9239);
   }

   final void method14722() {
      OpenGL.glDepthMask(this.aBool9182 && this.aBool9239);
   }

   final void method14723(Interface15 var1, int var2, int var3, int var4) {
      this.method14585(var1);
      OpenGL.glDrawElements(var2, var4, 5123, var1.method75() + (long)(var3 * 2));
   }

   final void method14724(int var1, int var2, int var3) {
      OpenGL.glTexEnvi(8960, '\u8580' + var1, var2);
      OpenGL.glTexEnvi(8960, '\u8590' + var1, var3);
   }

   final void method14725(Class147 var1) {
      Class147 var2 = this.aClass147Array9253[this.anInt9252];
      if(var2 != var1) {
         if(var1 != null) {
            if(var2 != null) {
               if(var1.anInt1702 != var2.anInt1702) {
                  OpenGL.glDisable(var2.anInt1702);
                  OpenGL.glEnable(var1.anInt1702);
               }
            } else {
               OpenGL.glEnable(var1.anInt1702);
            }

            OpenGL.glBindTexture(var1.anInt1702, var1.anInt1701);
         } else {
            OpenGL.glDisable(var2.anInt1702);
         }

         this.aClass147Array9253[this.anInt9252] = var1;
      }

      this.anInt9296 &= -2;
   }

   public Interface8 method11456(int var1, int var2) {
      return new Class225_Sub14_Sub18(this, Class98.aClass98_990, Class91.aClass91_901, var1, var2);
   }

   final synchronized void method14726(int var1, int var2) {
      IntVar var3 = new IntVar(var2);
      var3.aLong2606 = (long)var1 * -641052250121656953L;
      this.aClass456_9104.method7712(var3, (byte)50);
   }

   public int method11505() {
      return 4;
   }

   final synchronized void method14727(int var1) {
      Class225 var2 = new Class225();
      var2.aLong2606 = (long)var1 * -641052250121656953L;
      this.aClass456_9172.method7712(var2, (byte)66);
   }

   final synchronized void method14728(int var1, int var2) {
      IntVar var3 = new IntVar(var2);
      var3.aLong2606 = (long)var1 * -641052250121656953L;
      this.aClass456_9110.method7712(var3, (byte)84);
   }

   final synchronized void method14729(int var1, int var2) {
      IntVar var3 = new IntVar(var2);
      var3.aLong2606 = (long)var1 * -641052250121656953L;
      this.aClass456_9110.method7712(var3, (byte)43);
   }

   final synchronized void method14730(int var1, int var2) {
      IntVar var3 = new IntVar(var2);
      var3.aLong2606 = (long)var1 * -641052250121656953L;
      this.aClass456_9110.method7712(var3, (byte)66);
   }

   public final int za() {
      return this.anInt9165 + this.anInt9125 + this.anInt9241;
   }

   int method14731() {
      int var1 = 0;
      this.aString9192 = OpenGL.glGetString(7936).toLowerCase();
      this.aString9204 = OpenGL.glGetString(7937).toLowerCase();
      if(this.aString9192.indexOf("microsoft") != -1) {
         var1 |= 1;
      }

      if(this.aString9192.indexOf("brian paul") != -1 || this.aString9192.indexOf("mesa") != -1) {
         var1 |= 1;
      }

      String var2 = OpenGL.glGetString(7938);
      String[] var3 = Class34.method879(var2.replace('.', ' '), ' ', -994805560);
      if(var3.length >= 2) {
         try {
            int var4 = Class78.method1629(var3[0], -1439513414);
            int var5 = Class78.method1629(var3[1], -985372032);
            this.anInt9260 = var4 * 10 + var5;
         } catch (NumberFormatException var6) {
            var1 |= 4;
         }
      } else {
         var1 |= 4;
      }

      if(this.anInt9260 < 12) {
         var1 |= 2;
      }

      if(!this.anOpenGL9224.method2775("GL_ARB_multitexture")) {
         var1 |= 8;
      }

      if(!this.anOpenGL9224.method2775("GL_ARB_texture_env_combine")) {
         var1 |= 32;
      }

      int[] var7 = new int[1];
      OpenGL.glGetIntegerv('\u84e2', var7, 0);
      this.anInt9194 = var7[0];
      OpenGL.glGetIntegerv('\u8871', var7, 0);
      this.anInt9238 = var7[0];
      OpenGL.glGetIntegerv('\u8872', var7, 0);
      this.anInt9176 = var7[0];
      if(this.anInt9194 < 2 || this.anInt9238 < 2 || this.anInt9176 < 2) {
         var1 |= 16;
      }

      this.aBool9257 = Stream.method3022();
      this.aBool9271 = this.anOpenGL9224.method2775("GL_ARB_vertex_buffer_object");
      this.aBool9269 = this.anOpenGL9224.method2775("GL_ARB_multisample");
      this.aBool9279 = this.anOpenGL9224.method2775("GL_ARB_vertex_program");
      this.anOpenGL9224.method2775("GL_ARB_fragment_program");
      this.aBool9170 = this.anOpenGL9224.method2775("GL_ARB_vertex_shader");
      this.aBool9281 = this.anOpenGL9224.method2775("GL_ARB_fragment_shader");
      this.aBool9273 = this.anOpenGL9224.method2775("GL_EXT_texture3D");
      this.aBool9276 = this.anOpenGL9224.method2775("GL_ARB_texture_rectangle");
      this.aBool9274 = this.anOpenGL9224.method2775("GL_ARB_texture_cube_map");
      this.aBool9275 = this.anOpenGL9224.method2775("GL_ARB_seamless_cube_map");
      this.aBool9277 = this.anOpenGL9224.method2775("GL_ARB_texture_float");
      this.aBool9155 = false;
      this.aBool9266 = this.anOpenGL9224.method2775("GL_EXT_framebuffer_object");
      this.aBool9267 = this.anOpenGL9224.method2775("GL_EXT_framebuffer_blit");
      this.aBool9290 = this.anOpenGL9224.method2775("GL_EXT_framebuffer_multisample");
      this.aBool9107 = this.aBool9267 & this.aBool9290;
      this.aBool9262 = Class580.aString7622.startsWith("mac");
      OpenGL.glGetFloatv(2834, aFloatArray9245, 0);
      this.aFloat9226 = aFloatArray9245[0];
      this.aFloat9284 = aFloatArray9245[1];
      return var1 != 0?var1:0;
   }

   final synchronized void method14732(int var1) {
      IntVar var2 = new IntVar(var1);
      this.aClass456_9187.method7712(var2, (byte)121);
   }

   final synchronized void method14733(int var1) {
      IntVar var2 = new IntVar(var1);
      this.aClass456_9187.method7712(var2, (byte)15);
   }

   public final void fs() {
      if(this.aClass151_7359 != null) {
         this.anInt9109 = 0;
         this.anInt9258 = 0;
         this.anInt9208 = this.aClass151_7359.method2741();
         this.anInt9206 = this.aClass151_7359.method2742();
         OpenGL.glDisable(3089);
      }
   }

   final void method14734() {
      if(this.anInt9296 != 4) {
         this.method14569();
         this.method14657(false);
         this.method14634(false);
         this.method14600(false);
         this.method14549(false);
         this.method14540(-2);
         this.method14602(1);
         this.anInt9296 = 4;
      }

   }

   public Class171 method11483(Class86 var1, boolean var2) {
      int[] var3 = var1.method1709(false);
      Class171 var4 = this.method11599(var3, 0, var1.method1691(), var1.method1691(), var1.method1704(), 98312473);
      var4.method2918(var1.method1693(), var1.method1735(), var1.method1694(), var1.method1692());
      return var4;
   }

   final synchronized void method14735(int var1, int var2) {
      IntVar var3 = new IntVar(var2);
      var3.aLong2606 = (long)var1 * -641052250121656953L;
      this.aClass456_9171.method7712(var3, (byte)80);
   }

   final synchronized void method14736(long var1) {
      Class225 var3 = new Class225();
      var3.aLong2606 = var1 * -641052250121656953L;
      this.aClass456_9244.method7712(var3, (byte)63);
   }

   final synchronized void method14737(int var1) {
      Class225 var2 = new Class225();
      var2.aLong2606 = (long)var1 * -641052250121656953L;
      this.aClass456_9172.method7712(var2, (byte)124);
   }

   public final synchronized void method11433(int var1) {
      int var2 = 0;
      var1 &= Integer.MAX_VALUE;

      IntVar var3;
      while(!this.aClass456_9104.method7640(1970445344)) {
         var3 = (IntVar)this.aClass456_9104.method7649((byte)8);
         anIntArray9259[var2++] = (int)(var3.aLong2606 * -7222396723785363401L);
         this.anInt9165 -= var3.integer * 442885445;
         if(var2 == 1000) {
            OpenGL.glDeleteBuffersARB(var2, anIntArray9259, 0);
            var2 = 0;
         }
      }

      if(var2 > 0) {
         OpenGL.glDeleteBuffersARB(var2, anIntArray9259, 0);
         var2 = 0;
      }

      while(!this.aClass456_9110.method7640(930926997)) {
         var3 = (IntVar)this.aClass456_9110.method7649((byte)8);
         anIntArray9259[var2++] = (int)(var3.aLong2606 * -7222396723785363401L);
         this.anInt9125 -= var3.integer * 442885445;
         if(var2 == 1000) {
            OpenGL.glDeleteTextures(var2, anIntArray9259, 0);
            var2 = 0;
         }
      }

      if(var2 > 0) {
         OpenGL.glDeleteTextures(var2, anIntArray9259, 0);
         var2 = 0;
      }

      while(!this.aClass456_9187.method7640(1715391402)) {
         var3 = (IntVar)this.aClass456_9187.method7649((byte)8);
         anIntArray9259[var2++] = var3.integer * 442885445;
         if(var2 == 1000) {
            OpenGL.glDeleteFramebuffersEXT(var2, anIntArray9259, 0);
            var2 = 0;
         }
      }

      if(var2 > 0) {
         OpenGL.glDeleteFramebuffersEXT(var2, anIntArray9259, 0);
         var2 = 0;
      }

      while(!this.aClass456_9171.method7640(-821649240)) {
         var3 = (IntVar)this.aClass456_9171.method7649((byte)8);
         anIntArray9259[var2++] = (int)(var3.aLong2606 * -7222396723785363401L);
         this.anInt9241 -= var3.integer * 442885445;
         if(var2 == 1000) {
            OpenGL.glDeleteRenderbuffersEXT(var2, anIntArray9259, 0);
            var2 = 0;
         }
      }

      if(var2 > 0) {
         OpenGL.glDeleteRenderbuffersEXT(var2, anIntArray9259, 0);
         boolean var5 = false;
      }

      while(!this.aClass456_9247.method7640(-400092548)) {
         var3 = (IntVar)this.aClass456_9247.method7649((byte)8);
         OpenGL.glDeleteLists((int)(var3.aLong2606 * -7222396723785363401L), var3.integer * 442885445);
      }

      Class225 var4;
      while(!this.aClass456_9172.method7640(893366116)) {
         var4 = this.aClass456_9172.method7649((byte)8);
         OpenGL.glDeleteProgramARB((int)(var4.aLong2606 * -7222396723785363401L));
      }

      while(!this.aClass456_9244.method7640(-993462866)) {
         var4 = this.aClass456_9244.method7649((byte)8);
         OpenGL.glDeleteShader((int)(var4.aLong2606 * -7222396723785363401L));
      }

      while(!this.aClass456_9247.method7640(-366706002)) {
         var3 = (IntVar)this.aClass456_9247.method7649((byte)8);
         OpenGL.glDeleteLists((int)(var3.aLong2606 * -7222396723785363401L), var3.integer * 442885445);
      }

      this.aClass172_9169.method3000();
      if(this.za() > 100663296 && Class339.method6240(-634567051) > this.aLong9174 + 60000L) {
         System.gc();
         this.aLong9174 = Class339.method6240(-1174356791);
      }

      this.anInt9158 = var1;
   }

   static int method14738(Class98 var0) {
      switch(var0.anInt995 * -960308681) {
      case 0:
         return 6410;
      case 1:
         return 6402;
      case 2:
      case 4:
      case 6:
      case 8:
      default:
         throw new IllegalStateException();
      case 3:
         return 6407;
      case 5:
         return 6406;
      case 7:
         return 6409;
      case 9:
         return 6408;
      }
   }

   static int method14739(Class98 var0, Class91 var1) {
      if(var1 == Class91.aClass91_897) {
         switch(var0.anInt995 * -960308681) {
         case 0:
            return 6410;
         case 1:
         case 2:
         case 4:
         case 6:
         case 8:
         default:
            throw new IllegalArgumentException();
         case 3:
            return 6407;
         case 5:
            return 6406;
         case 7:
            return 6409;
         case 9:
            return 6408;
         }
      } else if(var1 == Class91.aClass91_899) {
         switch(var0.anInt995 * -960308681) {
         case 0:
            return '\u8d7b';
         case 1:
            return '\u81a5';
         case 2:
         case 4:
         case 6:
         case 8:
         default:
            throw new IllegalArgumentException();
         case 3:
            return '\u8054';
         case 5:
            return '\u803e';
         case 7:
            return '\u8042';
         case 9:
            return '\u805b';
         }
      } else if(var1 == Class91.aClass91_901) {
         switch(var0.anInt995 * -960308681) {
         case 1:
            return '\u81a6';
         default:
            throw new IllegalArgumentException();
         }
      } else if(var1 == Class91.aClass91_903) {
         switch(var0.anInt995 * -960308681) {
         case 0:
            return '\u881f';
         case 1:
         case 2:
         case 4:
         case 6:
         case 8:
         default:
            throw new IllegalArgumentException();
         case 3:
            return '\u881b';
         case 5:
            return '\u881c';
         case 7:
            return '\u881e';
         case 9:
            return '\u881a';
         }
      } else if(var1 == Class91.aClass91_902) {
         switch(var0.anInt995 * -960308681) {
         case 0:
            return '\u8819';
         case 1:
         case 2:
         case 4:
         case 6:
         case 8:
         default:
            throw new IllegalArgumentException();
         case 3:
            return '\u8815';
         case 5:
            return '\u8816';
         case 7:
            return '\u8818';
         case 9:
            return '\u8814';
         }
      } else {
         throw new IllegalArgumentException();
      }
   }

   static int method14740(Class98 var0, Class91 var1) {
      if(var1 == Class91.aClass91_897) {
         switch(var0.anInt995 * -960308681) {
         case 0:
            return 6410;
         case 1:
         case 2:
         case 4:
         case 6:
         case 8:
         default:
            throw new IllegalArgumentException();
         case 3:
            return 6407;
         case 5:
            return 6406;
         case 7:
            return 6409;
         case 9:
            return 6408;
         }
      } else if(var1 == Class91.aClass91_899) {
         switch(var0.anInt995 * -960308681) {
         case 0:
            return '\u8d7b';
         case 1:
            return '\u81a5';
         case 2:
         case 4:
         case 6:
         case 8:
         default:
            throw new IllegalArgumentException();
         case 3:
            return '\u8054';
         case 5:
            return '\u803e';
         case 7:
            return '\u8042';
         case 9:
            return '\u805b';
         }
      } else if(var1 == Class91.aClass91_901) {
         switch(var0.anInt995 * -960308681) {
         case 1:
            return '\u81a6';
         default:
            throw new IllegalArgumentException();
         }
      } else if(var1 == Class91.aClass91_903) {
         switch(var0.anInt995 * -960308681) {
         case 0:
            return '\u881f';
         case 1:
         case 2:
         case 4:
         case 6:
         case 8:
         default:
            throw new IllegalArgumentException();
         case 3:
            return '\u881b';
         case 5:
            return '\u881c';
         case 7:
            return '\u881e';
         case 9:
            return '\u881a';
         }
      } else if(var1 == Class91.aClass91_902) {
         switch(var0.anInt995 * -960308681) {
         case 0:
            return '\u8819';
         case 1:
         case 2:
         case 4:
         case 6:
         case 8:
         default:
            throw new IllegalArgumentException();
         case 3:
            return '\u8815';
         case 5:
            return '\u8816';
         case 7:
            return '\u8818';
         case 9:
            return '\u8814';
         }
      } else {
         throw new IllegalArgumentException();
      }
   }

   static int method14741(Class98 var0, Class91 var1) {
      if(var1 == Class91.aClass91_897) {
         switch(var0.anInt995 * -960308681) {
         case 0:
            return 6410;
         case 1:
         case 2:
         case 4:
         case 6:
         case 8:
         default:
            throw new IllegalArgumentException();
         case 3:
            return 6407;
         case 5:
            return 6406;
         case 7:
            return 6409;
         case 9:
            return 6408;
         }
      } else if(var1 == Class91.aClass91_899) {
         switch(var0.anInt995 * -960308681) {
         case 0:
            return '\u8d7b';
         case 1:
            return '\u81a5';
         case 2:
         case 4:
         case 6:
         case 8:
         default:
            throw new IllegalArgumentException();
         case 3:
            return '\u8054';
         case 5:
            return '\u803e';
         case 7:
            return '\u8042';
         case 9:
            return '\u805b';
         }
      } else if(var1 == Class91.aClass91_901) {
         switch(var0.anInt995 * -960308681) {
         case 1:
            return '\u81a6';
         default:
            throw new IllegalArgumentException();
         }
      } else if(var1 == Class91.aClass91_903) {
         switch(var0.anInt995 * -960308681) {
         case 0:
            return '\u881f';
         case 1:
         case 2:
         case 4:
         case 6:
         case 8:
         default:
            throw new IllegalArgumentException();
         case 3:
            return '\u881b';
         case 5:
            return '\u881c';
         case 7:
            return '\u881e';
         case 9:
            return '\u881a';
         }
      } else if(var1 == Class91.aClass91_902) {
         switch(var0.anInt995 * -960308681) {
         case 0:
            return '\u8819';
         case 1:
         case 2:
         case 4:
         case 6:
         case 8:
         default:
            throw new IllegalArgumentException();
         case 3:
            return '\u8815';
         case 5:
            return '\u8816';
         case 7:
            return '\u8818';
         case 9:
            return '\u8814';
         }
      } else {
         throw new IllegalArgumentException();
      }
   }

   public Class85 method11427() {
      int var1 = -1;
      if(this.aString9192.indexOf("nvidia") != -1) {
         var1 = 4318;
      } else if(this.aString9192.indexOf("intel") != -1) {
         var1 = '\u8086';
      } else if(this.aString9192.indexOf("ati") != -1) {
         var1 = 4098;
      }

      return new Class85(var1, "OpenGL", this.anInt9260, this.aString9204, 0L);
   }
}
