final void method615(Class101 class101, Class318_Sub3 class318_sub3,
			 int i) {
	try {
	    anInt5611++;
	    if (anInt5529 != 0) {
		Class101_Sub3 class101_sub3
		    = ((OpenGlToolkit) aHa_Sub2_5598).aClass101_Sub3_7760;
		if (!aBoolean5527)
		    method692((byte) -123);
		Class101_Sub3 class101_sub3_350_ = (Class101_Sub3) class101;
		Class320.aFloat3994
		    = ((((Class101_Sub3) class101_sub3_350_).aFloat5754
			* ((Class101_Sub3) class101_sub3).aFloat5784)
		       + ((((Class101_Sub3) class101_sub3_350_).aFloat5750
			   * ((Class101_Sub3) class101_sub3).aFloat5756)
			  + (((Class101_Sub3) class101_sub3_350_).aFloat5769
			     * ((Class101_Sub3) class101_sub3).aFloat5754)));
		BufferedRasterizer.aFloat4720
		    = (((Class101_Sub3) class101_sub3).aFloat5751
		       + ((((Class101_Sub3) class101_sub3).aFloat5756
			   * ((Class101_Sub3) class101_sub3_350_).aFloat5747)
			  + (((Class101_Sub3) class101_sub3_350_).aFloat5772
			     * ((Class101_Sub3) class101_sub3).aFloat5754)
			  + (((Class101_Sub3) class101_sub3_350_).aFloat5751
			     * ((Class101_Sub3) class101_sub3).aFloat5784)));
		float f = (BufferedRasterizer.aFloat4720
			   + Class320.aFloat3994 * (float) aShort5591);
		float f_351_ = (Class320.aFloat3994 * (float) aShort5629
				+ BufferedRasterizer.aFloat4720);
		float f_352_;
		float f_353_;
		if (f > f_351_) {
		    f_352_ = f_351_ - (float) aShort5634;
		    f_353_ = f + (float) aShort5634;
		} else {
		    f_352_ = (float) -aShort5634 + f;
		    f_353_ = f_351_ + (float) aShort5634;
		}
		if (!(((OpenGlToolkit) aHa_Sub2_5598).aFloat7874 <= f_352_)
		    && !((float) ((OpenGlToolkit) aHa_Sub2_5598).anInt7826
			 >= f_353_)) {
		    Class299_Sub1_Sub1.aFloat8696
			= ((((Class101_Sub3) class101_sub3).aFloat5750
			    * ((Class101_Sub3) class101_sub3_350_).aFloat5769)
			   + (((Class101_Sub3) class101_sub3_350_).aFloat5750
			      * ((Class101_Sub3) class101_sub3).aFloat5770)
			   + (((Class101_Sub3) class101_sub3).aFloat5781
			      * (((Class101_Sub3) class101_sub3_350_)
				 .aFloat5754)));
		    Class190.aFloat2555
			= (((Class101_Sub3) class101_sub3).aFloat5747
			   + ((((Class101_Sub3) class101_sub3).aFloat5781
			       * (((Class101_Sub3) class101_sub3_350_)
				  .aFloat5751))
			      + ((((Class101_Sub3) class101_sub3).aFloat5770
				  * (((Class101_Sub3) class101_sub3_350_)
				     .aFloat5747))
				 + ((((Class101_Sub3) class101_sub3_350_)
				     .aFloat5772)
				    * (((Class101_Sub3) class101_sub3)
				       .aFloat5750)))));
		    float f_354_
			= ((float) aShort5591 * Class299_Sub1_Sub1.aFloat8696
			   + Class190.aFloat2555);
		    float f_355_
			= ((float) aShort5629 * Class299_Sub1_Sub1.aFloat8696
			   + Class190.aFloat2555);
		    float f_356_;
		    float f_357_;
		    if (!(f_354_ > f_355_)) {
			f_357_ = ((float) ((OpenGlToolkit) aHa_Sub2_5598).anInt7771
				  * (f_355_ + (float) aShort5634));
			f_356_
			    = (((float) -aShort5634 + f_354_)
			       * (float) ((OpenGlToolkit) aHa_Sub2_5598).anInt7771);
		    } else {
			f_356_ = ((float) ((OpenGlToolkit) aHa_Sub2_5598).anInt7771
				  * ((float) -aShort5634 + f_355_));
			f_357_ = ((float) ((OpenGlToolkit) aHa_Sub2_5598).anInt7771
				  * ((float) aShort5634 + f_354_));
		    }
		    if (!(((OpenGlToolkit) aHa_Sub2_5598).aFloat7835
			  <= f_356_ / f_353_)
			&& !(f_357_ / f_353_
			     <= ((OpenGlToolkit) aHa_Sub2_5598).aFloat7872)) {
			Class156.aFloat2111
			    = ((((Class101_Sub3) class101_sub3_350_).aFloat5772
				* ((Class101_Sub3) class101_sub3).aFloat5769)
			       + ((((Class101_Sub3) class101_sub3_350_)
				   .aFloat5747)
				  * ((Class101_Sub3) class101_sub3).aFloat5761)
			       + (((Class101_Sub3) class101_sub3).aFloat5762
				  * (((Class101_Sub3) class101_sub3_350_)
				     .aFloat5751))
			       + ((Class101_Sub3) class101_sub3).aFloat5772);
			Class252.aFloat3242
			    = ((((Class101_Sub3) class101_sub3).aFloat5761
				* (((Class101_Sub3) class101_sub3_350_)
				   .aFloat5750))
			       + (((Class101_Sub3) class101_sub3).aFloat5769
				  * (((Class101_Sub3) class101_sub3_350_)
				     .aFloat5769))
			       + (((Class101_Sub3) class101_sub3).aFloat5762
				  * (((Class101_Sub3) class101_sub3_350_)
				     .aFloat5754)));
			float f_358_
			    = (Class156.aFloat2111
			       + Class252.aFloat3242 * (float) aShort5591);
			float f_359_
			    = (Class156.aFloat2111
			       + (float) aShort5629 * Class252.aFloat3242);
			float f_360_;
			float f_361_;
			if (!(f_358_ > f_359_)) {
			    f_360_ = (((float) aShort5634 + f_359_)
				      * (float) (((OpenGlToolkit) aHa_Sub2_5598)
						 .anInt7794));
			    f_361_
				= ((float) ((OpenGlToolkit) aHa_Sub2_5598).anInt7794
				   * (f_358_ - (float) aShort5634));
			} else {
			    f_360_ = (((float) aShort5634 + f_358_)
				      * (float) (((OpenGlToolkit) aHa_Sub2_5598)
						 .anInt7794));
			    f_361_
				= ((float) ((OpenGlToolkit) aHa_Sub2_5598).anInt7794
				   * (f_359_ - (float) aShort5634));
			}
			if (!(f_361_ / f_353_
			      >= ((OpenGlToolkit) aHa_Sub2_5598).aFloat7830)
			    && !(((OpenGlToolkit) aHa_Sub2_5598).aFloat7836
				 >= f_360_ / f_353_)) {
			    if (class318_sub3 != null
				|| aClass118Array5621 != null) {
				Class286_Sub8.aFloat6304
				    = (((((Class101_Sub3) class101_sub3_350_)
					 .aFloat5762)
					* (((Class101_Sub3) class101_sub3)
					   .aFloat5754))
				       + ((((Class101_Sub3) class101_sub3_350_)
					   .aFloat5781)
					  * (((Class101_Sub3) class101_sub3)
					     .aFloat5756))
				       + ((((Class101_Sub3) class101_sub3_350_)
					   .aFloat5784)
					  * (((Class101_Sub3) class101_sub3)
					     .aFloat5784)));
				Class318_Sub9_Sub1.aFloat8784
				    = (((((Class101_Sub3) class101_sub3)
					 .aFloat5784)
					* (((Class101_Sub3) class101_sub3_350_)
					   .aFloat5756))
				       + ((((Class101_Sub3)
					    class101_sub3_350_).aFloat5770
					   * (((Class101_Sub3) class101_sub3)
					      .aFloat5756))
					  + ((((Class101_Sub3) class101_sub3)
					      .aFloat5754)
					     * (((Class101_Sub3)
						 class101_sub3_350_)
						.aFloat5761))));
				Class313.aFloat3935
				    = (((((Class101_Sub3) class101_sub3)
					 .aFloat5781)
					* (((Class101_Sub3) class101_sub3_350_)
					   .aFloat5784))
				       + ((((Class101_Sub3)
					    class101_sub3_350_).aFloat5762
					   * (((Class101_Sub3) class101_sub3)
					      .aFloat5750))
					  + (((Class101_Sub3)
					      class101_sub3_350_).aFloat5781
					     * (((Class101_Sub3) class101_sub3)
						.aFloat5770))));
				AbtractArchiveLoader.aFloat3943
				    = (((((Class101_Sub3) class101_sub3)
					 .aFloat5761)
					* (((Class101_Sub3) class101_sub3_350_)
					   .aFloat5770))
				       + ((((Class101_Sub3) class101_sub3_350_)
					   .aFloat5761)
					  * (((Class101_Sub3) class101_sub3)
					     .aFloat5769))
				       + ((((Class101_Sub3) class101_sub3_350_)
					   .aFloat5756)
					  * (((Class101_Sub3) class101_sub3)
					     .aFloat5762)));
				Class167.aFloat2203
				    = (((((Class101_Sub3) class101_sub3_350_)
					 .aFloat5761)
					* (((Class101_Sub3) class101_sub3)
					   .aFloat5750))
				       + ((((Class101_Sub3) class101_sub3)
					   .aFloat5770)
					  * ((Class101_Sub3)
					     class101_sub3_350_).aFloat5770)
				       + ((((Class101_Sub3) class101_sub3)
					   .aFloat5781)
					  * ((Class101_Sub3)
					     class101_sub3_350_).aFloat5756));
				Class215.aFloat2836
				    = (((((Class101_Sub3) class101_sub3_350_)
					 .aFloat5784)
					* (((Class101_Sub3) class101_sub3)
					   .aFloat5762))
				       + (((((Class101_Sub3) class101_sub3)
					    .aFloat5769)
					   * ((Class101_Sub3)
					      class101_sub3_350_).aFloat5762)
					  + ((((Class101_Sub3) class101_sub3)
					      .aFloat5761)
					     * (((Class101_Sub3)
						 class101_sub3_350_)
						.aFloat5781))));
			    }
			    if (class318_sub3 != null) {
				boolean bool = false;
				boolean bool_362_ = true;
				int i_363_
				    = aShort5540 - -aShort5586 >> -1340005887;
				int i_364_
				    = aShort5617 - -aShort5646 >> -1674565887;
				int i_365_ = (int) (((float) i_364_
						     * Class313.aFloat3935)
						    + ((Class167.aFloat2203
							* (float) i_363_)
						       + Class190.aFloat2555
						       + ((float) aShort5591
							  * (Class299_Sub1_Sub1
							     .aFloat8696))));
				int i_366_ = (int) (Class156.aFloat2111
						    + ((float) i_363_
						       * AbtractArchiveLoader.aFloat3943)
						    + ((float) aShort5591
						       * Class252.aFloat3242)
						    + ((float) i_364_
						       * Class215.aFloat2836));
				int i_367_
				    = (int) ((Class318_Sub9_Sub1.aFloat8784
					      * (float) i_363_)
					     + BufferedRasterizer.aFloat4720
					     + (Class320.aFloat3994
						* (float) aShort5591)
					     + (Class286_Sub8.aFloat6304
						* (float) i_364_));
				if ((i_367_ ^ 0xffffffff)
				    <= (((OpenGlToolkit) aHa_Sub2_5598).anInt7826
					^ 0xffffffff)) {
				    ((Class318_Sub3) class318_sub3).anInt6405
					= (i_365_ * (((OpenGlToolkit) aHa_Sub2_5598)
						     .anInt7771) / i_367_
					   + (((OpenGlToolkit) aHa_Sub2_5598)
					      .anInt7853));
				    ((Class318_Sub3) class318_sub3).anInt6402
					= (i_366_ * (((OpenGlToolkit) aHa_Sub2_5598)
						     .anInt7794) / i_367_
					   + (((OpenGlToolkit) aHa_Sub2_5598)
					      .anInt7810));
				} else
				    bool = true;
				int i_368_
				    = (int) (Class190.aFloat2555
					     + (Class167.aFloat2203
						* (float) i_363_)
					     + (Class299_Sub1_Sub1.aFloat8696
						* (float) aShort5629)
					     + (Class313.aFloat3935
						* (float) i_364_));
				int i_369_
				    = (int) (((float) i_364_
					      * Class215.aFloat2836)
					     + ((Class252.aFloat3242
						 * (float) aShort5629)
						+ (Class156.aFloat2111
						   + (AbtractArchiveLoader.aFloat3943
						      * (float) i_363_))));
				int i_370_
				    = (int) ((Class286_Sub8.aFloat6304
					      * (float) i_364_)
					     + (((float) i_363_
						 * (Class318_Sub9_Sub1
						    .aFloat8784))
						+ BufferedRasterizer.aFloat4720
						+ ((float) aShort5629
						   * Class320.aFloat3994)));
				if (i_370_
				    >= ((OpenGlToolkit) aHa_Sub2_5598).anInt7826) {
				    ((Class318_Sub3) class318_sub3).anInt6406
					= (i_368_ * (((OpenGlToolkit) aHa_Sub2_5598)
						     .anInt7771) / i_370_
					   + (((OpenGlToolkit) aHa_Sub2_5598)
					      .anInt7853));
				    ((Class318_Sub3) class318_sub3).anInt6404
					= (i_369_ * (((OpenGlToolkit) aHa_Sub2_5598)
						     .anInt7794) / i_370_
					   + (((OpenGlToolkit) aHa_Sub2_5598)
					      .anInt7810));
				} else
				    bool = true;
				if (bool) {
				    if ((((OpenGlToolkit) aHa_Sub2_5598).anInt7826
					 <= i_367_)
					|| ((i_370_ ^ 0xffffffff)
					    <= ((((OpenGlToolkit) aHa_Sub2_5598)
						 .anInt7826)
						^ 0xffffffff))) {
					if (((((OpenGlToolkit) aHa_Sub2_5598)
					      .anInt7826)
					     ^ 0xffffffff)
					    < (i_367_ ^ 0xffffffff)) {
					    int i_371_
						= ((-(((OpenGlToolkit) aHa_Sub2_5598)
						      .anInt7826) + i_370_
						    << -1013182224)
						   / (i_370_ + -i_367_));
					    int i_372_
						= (((-i_365_ + i_368_) * i_371_
						    >> 1581219760)
						   + i_368_);
					    ((Class318_Sub3) class318_sub3)
						.anInt6405
						= ((((OpenGlToolkit) aHa_Sub2_5598)
						    .anInt7853)
						   - -(i_372_
						       * (((OpenGlToolkit)
							   aHa_Sub2_5598)
							  .anInt7771)
						       / (((OpenGlToolkit)
							   aHa_Sub2_5598)
							  .anInt7826)));
					    int i_373_
						= ((i_371_ * (i_369_ - i_366_)
						    >> 772203088)
						   + i_369_);
					    ((Class318_Sub3) class318_sub3)
						.anInt6402
						= ((i_373_
						    * ((OpenGlToolkit)
						       aHa_Sub2_5598).anInt7794
						    / (((OpenGlToolkit)
							aHa_Sub2_5598)
						       .anInt7826))
						   + (((OpenGlToolkit) aHa_Sub2_5598)
						      .anInt7810));
					} else if (((((OpenGlToolkit) aHa_Sub2_5598)
						     .anInt7826)
						    ^ 0xffffffff)
						   < (i_370_ ^ 0xffffffff)) {
					    int i_374_
						= ((-(((OpenGlToolkit) aHa_Sub2_5598)
						      .anInt7826) + i_367_
						    << -101347024)
						   / (i_367_ - i_370_));
					    int i_375_
						= (i_365_
						   - -(i_374_ * (-i_368_
								 + i_365_)
						       >> 588244880));
					    int i_376_
						= (((i_366_ - i_369_) * i_374_
						    >> -896012944)
						   + i_366_);
					    ((Class318_Sub3) class318_sub3)
						.anInt6405
						= ((i_375_
						    * ((OpenGlToolkit)
						       aHa_Sub2_5598).anInt7771
						    / (((OpenGlToolkit)
							aHa_Sub2_5598)
						       .anInt7826))
						   + (((OpenGlToolkit) aHa_Sub2_5598)
						      .anInt7853));
					    ((Class318_Sub3) class318_sub3)
						.anInt6402
						= ((((OpenGlToolkit) aHa_Sub2_5598)
						    .anInt7810)
						   + (((OpenGlToolkit)
						       aHa_Sub2_5598).anInt7794
						      * i_376_
						      / (((OpenGlToolkit)
							  aHa_Sub2_5598)
							 .anInt7826)));
					}
				    } else
					bool_362_ = false;
				}
				if (bool_362_) {
				    if (i_370_ < i_367_)
					((Class318_Sub3) class318_sub3)
					    .anInt6403
					    = ((((OpenGlToolkit) aHa_Sub2_5598)
						.anInt7853)
					       + ((((OpenGlToolkit) aHa_Sub2_5598)
						   .anInt7771)
						  * (i_365_ - -aShort5634)
						  / i_367_)
					       - ((Class318_Sub3)
						  class318_sub3).anInt6405);
				    else
					((Class318_Sub3) class318_sub3)
					    .anInt6403
					    = ((((OpenGlToolkit) aHa_Sub2_5598)
						.anInt7853)
					       - -((((OpenGlToolkit) aHa_Sub2_5598)
						    .anInt7771)
						   * (aShort5634 + i_368_)
						   / i_370_)
					       + -((Class318_Sub3)
						   class318_sub3).anInt6406);
				    ((Class318_Sub3) class318_sub3)
					.aBoolean6401
					= true;
				}
			    }
			    aHa_Sub2_5598.method3784((byte) -62);
			    aHa_Sub2_5598.method3758(false,
						     class101_sub3_350_);
			    method677((byte) 127);
			    aHa_Sub2_5598.method3734(true);
			    method682(true);
			}
		    }
		}
	    }
	} catch (RuntimeException runtimeexception) {
	    throw Class348_Sub17.method2929(runtimeexception,
					    ("paa.KA("
					     + (class101 != null ? "{...}"
						: "null")
					     + ','
					     + (class318_sub3 != null ? "{...}"
						: "null")
					     + ',' + i + ')'));
	}
    }