private final void method688(int i, boolean bool) {
	anInt5588++;
	boolean bool_291_
	    = (aClass123_5610 != null
	       && ((Class123) aClass123_5610).anInterface2_1811 == null);
	boolean bool_292_
	    = (aClass123_5563 != null
	       && ((Class123) aClass123_5563).anInterface2_1811 == null);
	boolean bool_293_
	    = (aClass123_5605 != null
	       && ((Class123) aClass123_5605).anInterface2_1811 == null);
	boolean bool_294_
	    = (aClass123_5620 != null
	       && ((Class123) aClass123_5620).anInterface2_1811 == null);
	if (bool) {
	    bool_294_ = bool_294_ & (aByte5581 & 0x8) != 0;
	    bool_292_ = bool_292_ & (aByte5581 & 0x4) != 0;
	    bool_291_ = bool_291_ & (0x2 & aByte5581) != 0;
	    bool_293_ = bool_293_ & (0x1 & aByte5581) != 0;
	}
	byte i_295_ = 0;
	if (i == 5) {
	    byte i_296_ = 0;
	    byte i_297_ = 0;
	    byte i_298_ = 0;
	    if (bool_293_) {
		i_296_ = i_295_;
		i_295_ += 12;
	    }
	    byte i_299_ = 0;
	    if (bool_291_) {
		i_297_ = i_295_;
		i_295_ += 4;
	    }
	    if (bool_292_) {
		i_298_ = i_295_;
		i_295_ += 12;
	    }
	    if (bool_294_) {
		i_299_ = i_295_;
		i_295_ += 8;
	    }
	    if (i_295_ != 0) {
		if (((((ByteBuffer)
		       ((OpenGlToolkit) aHa_Sub2_5598).aClass348_Sub49_Sub1_7798)
		      .payload).length
		     ^ 0xffffffff)
		    > (anInt5529 * i_295_ ^ 0xffffffff))
		    ((OpenGlToolkit) aHa_Sub2_5598).aClass348_Sub49_Sub1_7798
			= new FloatBuffer(i_295_ * (100 + anInt5529));
		else
		    ((ByteBuffer) (((OpenGlToolkit) aHa_Sub2_5598)
				       .aClass348_Sub49_Sub1_7798)).position
			= 0;
		FloatBuffer class348_sub49_sub1
		    = ((OpenGlToolkit) aHa_Sub2_5598).aClass348_Sub49_Sub1_7798;
		if (bool_293_) {
		    if (((OpenGlToolkit) aHa_Sub2_5598).aBoolean7775) {
			for (int i_300_ = 0;
			     (i_300_ ^ 0xffffffff) > (anInt5557 ^ 0xffffffff);
			     i_300_++) {
			    int i_301_ = (Stream.floatToRawIntBits
					  ((float) anIntArray5543[i_300_]));
			    int i_302_ = (Stream.floatToRawIntBits
					  ((float) anIntArray5593[i_300_]));
			    int i_303_ = (Stream.floatToRawIntBits
					  ((float) anIntArray5644[i_300_]));
			    int i_304_ = anIntArray5528[i_300_];
			    int i_305_ = anIntArray5528[i_300_ - -1];
			    for (int i_306_ = i_304_; i_306_ < i_305_;
				 i_306_++) {
				int i_307_ = -1 + aShortArray5649[i_306_];
				if ((i_307_ ^ 0xffffffff) == 0)
				    break;
				((ByteBuffer) class348_sub49_sub1)
				    .position
				    = i_295_ * i_307_;
				class348_sub49_sub1.putInt(i_301_);
				class348_sub49_sub1.putInt(i_302_);
				class348_sub49_sub1.putInt(i_303_);
			    }
			}
		    } else {
			for (int i_308_ = 0; anInt5557 > i_308_; i_308_++) {
			    int i_309_ = (Stream.floatToRawIntBits
					  ((float) anIntArray5543[i_308_]));
			    int i_310_ = (Stream.floatToRawIntBits
					  ((float) anIntArray5593[i_308_]));
			    int i_311_ = (Stream.floatToRawIntBits
					  ((float) anIntArray5644[i_308_]));
			    int i_312_ = anIntArray5528[i_308_];
			    int i_313_ = anIntArray5528[1 + i_308_];
			    for (int i_314_ = i_312_; i_314_ < i_313_;
				 i_314_++) {
				int i_315_ = -1 + aShortArray5649[i_314_];
				if (i_315_ == -1)
				    break;
				((ByteBuffer) class348_sub49_sub1)
				    .position
				    = i_295_ * i_315_;
				class348_sub49_sub1.method3394(-23892, i_309_);
				class348_sub49_sub1.method3394(i + -23897,
							       i_310_);
				class348_sub49_sub1.method3394(-23892, i_311_);
			    }
			}
		    }
		}
		if (bool_291_) {
		    if (aClass123_5563 == null) {
			short[] is;
			byte[] is_316_;
			short[] is_317_;
			short[] is_318_;
			if (aClass139_5572 != null) {
			    is_318_
				= ((Class139) aClass139_5572).aShortArray1954;
			    is = ((Class139) aClass139_5572).aShortArray1953;
			    is_317_
				= ((Class139) aClass139_5572).aShortArray1951;
			    is_316_
				= ((Class139) aClass139_5572).aByteArray1948;
			} else {
			    is = aShortArray5576;
			    is_316_ = aByteArray5594;
			    is_317_ = aShortArray5583;
			    is_318_ = aShortArray5564;
			}
			float f = ((OpenGlToolkit) aHa_Sub2_5598).aFloatArray7825[0];
			float f_319_
			    = ((OpenGlToolkit) aHa_Sub2_5598).aFloatArray7825[1];
			float f_320_
			    = ((OpenGlToolkit) aHa_Sub2_5598).aFloatArray7825[2];
			float f_321_ = ((OpenGlToolkit) aHa_Sub2_5598).aFloat7768;
			float f_322_ = (((OpenGlToolkit) aHa_Sub2_5598).aFloat7832
					* 768.0F / (float) aShort5645);
			float f_323_ = (((OpenGlToolkit) aHa_Sub2_5598).aFloat7871
					* 768.0F / (float) aShort5645);
			for (int i_324_ = 0; anInt5632 > i_324_; i_324_++) {
			    int i_325_ = method680(19995, aShort5544,
						   aByteArray5542[i_324_],
						   aShortArray5601[i_324_],
						   aShortArray5580[i_324_]);
			    float f_326_
				= (((OpenGlToolkit) aHa_Sub2_5598).aFloat7781
				   * (float) (i_325_ >>> 1893072216));
			    float f_327_
				= ((float) (0xff & i_325_ >> -934101304)
				   * ((OpenGlToolkit) aHa_Sub2_5598).aFloat7823);
			    float f_328_
				= ((float) ((0xff88e4 & i_325_) >> 1887530576)
				   * ((OpenGlToolkit) aHa_Sub2_5598).aFloat7816);
			    int i_329_ = aShortArray5592[i_324_];
			    short i_330_ = (short) is_316_[i_329_];
			    float f_331_;
			    if ((i_330_ ^ 0xffffffff) != -1)
				f_331_ = ((f_319_ * (float) is_317_[i_329_]
					   + f * (float) is_318_[i_329_]
					   + f_320_ * (float) is[i_329_])
					  / (float) (256 * i_330_));
			    else
				f_331_ = (0.0026041667F
					  * ((float) is[i_329_] * f_320_
					     + (f * (float) is_318_[i_329_]
						+ ((float) is_317_[i_329_]
						   * f_319_))));
			    float f_332_
				= f_321_ + f_331_ * (!(f_331_ < 0.0F) ? f_322_
						     : f_323_);
			    int i_333_ = (int) (f_332_ * f_326_);
			    int i_334_ = (int) (f_332_ * f_328_);
			    if ((i_333_ ^ 0xffffffff) <= -1) {
				if ((i_333_ ^ 0xffffffff) < -256)
				    i_333_ = 255;
			    } else
				i_333_ = 0;
			    int i_335_ = (int) (f_332_ * f_327_);
			    if ((i_334_ ^ 0xffffffff) <= -1) {
				if (i_334_ > 255)
				    i_334_ = 255;
			    } else
				i_334_ = 0;
			    ((ByteBuffer) class348_sub49_sub1).position
				= i_329_ * i_295_ + i_297_;
			    if (i_335_ < 0)
				i_335_ = 0;
			    else if (i_335_ > 255)
				i_335_ = 255;
			    class348_sub49_sub1.putByte(i_333_);
			    class348_sub49_sub1.putByte(i_334_);
			    class348_sub49_sub1.putByte(i_335_);
			    class348_sub49_sub1.putByte((255
							    + -((aByteArray5542
								 [i_324_])
								& 0xff)));
			    i_329_ = aShortArray5579[i_324_];
			    i_330_ = (short) is_316_[i_329_];
			    if (i_330_ != 0)
				f_331_
				    = (((float) is[i_329_] * f_320_
					+ (f * (float) is_318_[i_329_]
					   + (float) is_317_[i_329_] * f_319_))
				       / (float) (i_330_ * 256));
			    else
				f_331_ = ((f * (float) is_318_[i_329_]
					   + (float) is_317_[i_329_] * f_319_
					   + f_320_ * (float) is[i_329_])
					  * 0.0026041667F);
			    f_332_ = f_321_ + f_331_ * (f_331_ < 0.0F ? f_323_
							: f_322_);
			    i_333_ = (int) (f_326_ * f_332_);
			    i_334_ = (int) (f_332_ * f_328_);
			    if (i_333_ < 0)
				i_333_ = 0;
			    else if (i_333_ > 255)
				i_333_ = 255;
			    if ((i_334_ ^ 0xffffffff) > -1)
				i_334_ = 0;
			    else if (i_334_ > 255)
				i_334_ = 255;
			    i_335_ = (int) (f_332_ * f_327_);
			    ((ByteBuffer) class348_sub49_sub1).position
				= i_297_ - -(i_329_ * i_295_);
			    if ((i_335_ ^ 0xffffffff) > -1)
				i_335_ = 0;
			    else if ((i_335_ ^ 0xffffffff) < -256)
				i_335_ = 255;
			    class348_sub49_sub1.putByte(i_333_);
			    class348_sub49_sub1.putByte(i_334_);
			    class348_sub49_sub1.putByte(i_335_);
			    class348_sub49_sub1.putByte
				(255 - (aByteArray5542[i_324_] & 0xff));
			    i_329_ = aShortArray5566[i_324_];
			    i_330_ = (short) is_316_[i_329_];
			    if (i_330_ != 0)
				f_331_ = (((float) is[i_329_] * f_320_
					   + ((float) is_317_[i_329_] * f_319_
					      + (float) is_318_[i_329_] * f))
					  / (float) (256 * i_330_));
			    else
				f_331_
				    = (0.0026041667F
				       * ((float) is[i_329_] * f_320_
					  + ((float) is_317_[i_329_] * f_319_
					     + f * (float) is_318_[i_329_])));
			    f_332_ = f_321_ + (!(f_331_ < 0.0F) ? f_322_
					       : f_323_) * f_331_;
			    i_333_ = (int) (f_332_ * f_326_);
			    i_334_ = (int) (f_332_ * f_328_);
			    if ((i_333_ ^ 0xffffffff) <= -1) {
				if (i_333_ > 255)
				    i_333_ = 255;
			    } else
				i_333_ = 0;
			    if ((i_334_ ^ 0xffffffff) <= -1) {
				if (i_334_ > 255)
				    i_334_ = 255;
			    } else
				i_334_ = 0;
			    i_335_ = (int) (f_327_ * f_332_);
			    if (i_335_ >= 0) {
				if ((i_335_ ^ 0xffffffff) < -256)
				    i_335_ = 255;
			    } else
				i_335_ = 0;
			    ((ByteBuffer) class348_sub49_sub1).position
				= i_295_ * i_329_ + i_297_;
			    class348_sub49_sub1.putByte(i_333_);
			    class348_sub49_sub1.putByte(i_334_);
			    class348_sub49_sub1.putByte(i_335_);
			    class348_sub49_sub1.putByte((-(0xff
							      & (aByteArray5542
								 [i_324_]))
							    + 255));
			}
		    } else {
			for (int i_336_ = 0; i_336_ < anInt5632; i_336_++) {
			    int i_337_ = method680(i + 19990, aShort5544,
						   aByteArray5542[i_336_],
						   aShortArray5601[i_336_],
						   aShortArray5580[i_336_]);
			    ((ByteBuffer) class348_sub49_sub1).position
				= i_297_ + aShortArray5592[i_336_] * i_295_;
			    class348_sub49_sub1.putInt(i_337_);
			    ((ByteBuffer) class348_sub49_sub1).position
				= i_297_ - -(aShortArray5579[i_336_] * i_295_);
			    class348_sub49_sub1.putInt(i_337_);
			    ((ByteBuffer) class348_sub49_sub1).position
				= i_297_ - -(i_295_ * aShortArray5566[i_336_]);
			    class348_sub49_sub1.putInt(i_337_);
			}
		    }
		}
		if (bool_292_) {
		    byte[] is;
		    short[] is_338_;
		    short[] is_339_;
		    short[] is_340_;
		    if (aClass139_5572 == null) {
			is_340_ = aShortArray5564;
			is_338_ = aShortArray5583;
			is = aByteArray5594;
			is_339_ = aShortArray5576;
		    } else {
			is = ((Class139) aClass139_5572).aByteArray1948;
			is_338_ = ((Class139) aClass139_5572).aShortArray1951;
			is_339_ = ((Class139) aClass139_5572).aShortArray1953;
			is_340_ = ((Class139) aClass139_5572).aShortArray1954;
		    }
		    float f = 3.0F / (float) aShort5645;
		    ((ByteBuffer) class348_sub49_sub1).position = i_298_;
		    float f_341_
			= 3.0F / (float) (aShort5645 / 2 + aShort5645);
		    if (!((OpenGlToolkit) aHa_Sub2_5598).aBoolean7775) {
			for (int i_342_ = 0;
			     (anInt5529 ^ 0xffffffff) < (i_342_ ^ 0xffffffff);
			     i_342_++) {
			    int i_343_ = 0xff & is[i_342_];
			    if (i_343_ != 0) {
				float f_344_ = f / (float) i_343_;
				class348_sub49_sub1.method3399
				    (i ^ 0x4776,
				     (float) is_340_[i_342_] * f_344_);
				class348_sub49_sub1.method3399
				    (18291, f_344_ * (float) is_338_[i_342_]);
				class348_sub49_sub1.method3399
				    (18291, f_344_ * (float) is_339_[i_342_]);
			    } else {
				class348_sub49_sub1.method3399
				    (18291, (float) is_340_[i_342_] * f_341_);
				class348_sub49_sub1.method3399
				    (18291, (float) is_338_[i_342_] * f_341_);
				class348_sub49_sub1.method3399
				    (i + 18286,
				     f_341_ * (float) is_339_[i_342_]);
			    }
			    ((ByteBuffer) class348_sub49_sub1).position
				+= -12 + i_295_;
			}
		    } else {
			for (int i_345_ = 0; anInt5529 > i_345_; i_345_++) {
			    int i_346_ = is[i_345_] & 0xff;
			    if (i_346_ != 0) {
				float f_347_ = f / (float) i_346_;
				class348_sub49_sub1.method3400
				    ((float) is_340_[i_345_] * f_347_,
				     (byte) -102);
				class348_sub49_sub1.method3400
				    (f_347_ * (float) is_338_[i_345_],
				     (byte) -127);
				class348_sub49_sub1.method3400
				    ((float) is_339_[i_345_] * f_347_,
				     (byte) -84);
			    } else {
				class348_sub49_sub1.method3400
				    (f_341_ * (float) is_340_[i_345_],
				     (byte) -96);
				class348_sub49_sub1.method3400
				    ((float) is_338_[i_345_] * f_341_,
				     (byte) -101);
				class348_sub49_sub1.method3400
				    (f_341_ * (float) is_339_[i_345_],
				     (byte) -95);
			    }
			    ((ByteBuffer) class348_sub49_sub1).position
				+= -12 + i_295_;
			}
		    }
		}
		if (bool_294_) {
		    ((ByteBuffer) class348_sub49_sub1).position = i_299_;
		    if (((OpenGlToolkit) aHa_Sub2_5598).aBoolean7775) {
			for (int i_348_ = 0;
			     (anInt5529 ^ 0xffffffff) < (i_348_ ^ 0xffffffff);
			     i_348_++) {
			    class348_sub49_sub1.method3400((aFloatArray5552
							    [i_348_]),
							   (byte) -127);
			    class348_sub49_sub1.method3400((aFloatArray5571
							    [i_348_]),
							   (byte) -126);
			    ((ByteBuffer) class348_sub49_sub1).position
				+= i_295_ + -8;
			}
		    } else {
			for (int i_349_ = 0; i_349_ < anInt5529; i_349_++) {
			    class348_sub49_sub1.method3399(i ^ 0x4776,
							   (aFloatArray5552
							    [i_349_]));
			    class348_sub49_sub1
				.method3399(18291, aFloatArray5571[i_349_]);
			    ((ByteBuffer) class348_sub49_sub1).position
				+= -8 + i_295_;
			}
		    }
		}
		((ByteBuffer) class348_sub49_sub1).position
		    = anInt5529 * i_295_;
		Interface2 interface2;
		if (bool) {
		    if (anInterface2_5554 != null)
			anInterface2_5554.method11
			    (i_295_,
			     ((ByteBuffer) class348_sub49_sub1).position,
			     (((ByteBuffer) class348_sub49_sub1)
			      .payload),
			     -9894);
		    else
			anInterface2_5554
			    = aHa_Sub2_5598.method3731(2, true, i_295_,
						       (((ByteBuffer)
							 class348_sub49_sub1)
							.payload),
						       (((ByteBuffer)
							 class348_sub49_sub1)
							.position));
		    interface2 = anInterface2_5554;
		    aByte5581 = (byte) 0;
		} else {
		    interface2
			= aHa_Sub2_5598.method3731(2, false, i_295_,
						   (((ByteBuffer)
						     class348_sub49_sub1)
						    .payload),
						   (((ByteBuffer)
						     class348_sub49_sub1)
						    .position));
		    aBoolean5555 = true;
		}
		if (bool_293_) {
		    ((Class123) aClass123_5605).aByte1812 = i_296_;
		    ((Class123) aClass123_5605).anInterface2_1811 = interface2;
		}
		if (bool_294_) {
		    ((Class123) aClass123_5620).aByte1812 = i_299_;
		    ((Class123) aClass123_5620).anInterface2_1811 = interface2;
		}
		if (bool_291_) {
		    ((Class123) aClass123_5610).aByte1812 = i_297_;
		    ((Class123) aClass123_5610).anInterface2_1811 = interface2;
		}
		if (bool_292_) {
		    ((Class123) aClass123_5563).aByte1812 = i_298_;
		    ((Class123) aClass123_5563).anInterface2_1811 = interface2;
		}
	    }
	}
    }