final void method615(Class101 class101, Class318_Sub3 class318_sub3,
			 int i) {
	try {
	    anInt5471++;
	    if ((anInt5475 ^ 0xffffffff) != -1) {
		Class101_Sub2 class101_sub2
		    = ((NativeToolkit) aHa_Sub3_5419).aClass101_Sub2_8080;
		Class101_Sub2 class101_sub2_307_ = (Class101_Sub2) class101;
		if (!aBoolean5477)
		    method675(0);
		Class353.aFloat4338
		    = ((((Class101_Sub2) class101_sub2).aFloat5736
			* ((Class101_Sub2) class101_sub2_307_).aFloat5700)
		       + (((Class101_Sub2) class101_sub2).aFloat5691
			  * ((Class101_Sub2) class101_sub2_307_).aFloat5722)
		       + (((Class101_Sub2) class101_sub2_307_).aFloat5691
			  * ((Class101_Sub2) class101_sub2).aFloat5716));
		Class240.aFloat4673
		    = ((((Class101_Sub2) class101_sub2_307_).aFloat5724
			* ((Class101_Sub2) class101_sub2).aFloat5716)
		       + ((((Class101_Sub2) class101_sub2).aFloat5691
			   * ((Class101_Sub2) class101_sub2_307_).aFloat5710)
			  + (((Class101_Sub2) class101_sub2_307_).aFloat5729
			     * ((Class101_Sub2) class101_sub2).aFloat5736))
		       + ((Class101_Sub2) class101_sub2).aFloat5724);
		float f = (Class353.aFloat4338 * (float) anInt5461
			   + Class240.aFloat4673);
		float f_308_ = ((float) anInt5509 * Class353.aFloat4338
				+ Class240.aFloat4673);
		float f_309_;
		float f_310_;
		if (f > f_308_) {
		    f_309_ = (float) anInt5510 + f;
		    f_310_ = f_308_ - (float) anInt5510;
		} else {
		    f_309_ = (float) anInt5510 + f_308_;
		    f_310_ = f - (float) anInt5510;
		}
		if (!(((NativeToolkit) aHa_Sub3_5419).aFloat8169 <= f_310_)
		    && !(f_309_
			 <= (float) ((NativeToolkit) aHa_Sub3_5419).anInt8095)) {
		    Class345.aFloat4268
			= (((Class101_Sub2) class101_sub2).aFloat5729
			   + ((((Class101_Sub2) class101_sub2).aFloat5700
			       * (((Class101_Sub2) class101_sub2_307_)
				  .aFloat5710))
			      + (((Class101_Sub2) class101_sub2).aFloat5711
				 * (((Class101_Sub2) class101_sub2_307_)
				    .aFloat5729))
			      + (((Class101_Sub2) class101_sub2).aFloat5704
				 * (((Class101_Sub2) class101_sub2_307_)
				    .aFloat5724))));
		    Class318_Sub1_Sub2_Sub1.aFloat10199
			= ((((Class101_Sub2) class101_sub2).aFloat5704
			    * ((Class101_Sub2) class101_sub2_307_).aFloat5691)
			   + ((((Class101_Sub2) class101_sub2_307_).aFloat5700
			       * ((Class101_Sub2) class101_sub2).aFloat5711)
			      + (((Class101_Sub2) class101_sub2).aFloat5700
				 * (((Class101_Sub2) class101_sub2_307_)
				    .aFloat5722))));
		    float f_311_ = (((float) anInt5461
				     * Class318_Sub1_Sub2_Sub1.aFloat10199)
				    + Class345.aFloat4268);
		    float f_312_ = (Class345.aFloat4268
				    + (Class318_Sub1_Sub2_Sub1.aFloat10199
				       * (float) anInt5509));
		    float f_313_;
		    float f_314_;
		    if (f_311_ > f_312_) {
			f_313_
			    = ((f_311_ + (float) anInt5510)
			       * (float) ((NativeToolkit) aHa_Sub3_5419).anInt8129);
			f_314_ = ((float) ((NativeToolkit) aHa_Sub3_5419).anInt8129
				  * ((float) -anInt5510 + f_312_));
		    } else {
			f_313_
			    = ((f_312_ + (float) anInt5510)
			       * (float) ((NativeToolkit) aHa_Sub3_5419).anInt8129);
			f_314_ = ((float) ((NativeToolkit) aHa_Sub3_5419).anInt8129
				  * ((float) -anInt5510 + f_311_));
		    }
		    if (!(((NativeToolkit) aHa_Sub3_5419).aFloat8158
			  <= f_314_ / f_309_)
			&& !(f_313_ / f_309_
			     <= ((NativeToolkit) aHa_Sub3_5419).aFloat8126)) {
			Class290.aFloat3710
			    = ((((Class101_Sub2) class101_sub2_307_).aFloat5691
				* ((Class101_Sub2) class101_sub2).aFloat5732)
			       + ((((Class101_Sub2) class101_sub2).aFloat5722
				   * (((Class101_Sub2) class101_sub2_307_)
				      .aFloat5722))
				  + (((Class101_Sub2) class101_sub2).aFloat5708
				     * (((Class101_Sub2) class101_sub2_307_)
					.aFloat5700))));
			Class348_Sub12.aFloat6752
			    = ((((Class101_Sub2) class101_sub2_307_).aFloat5724
				* ((Class101_Sub2) class101_sub2).aFloat5732)
			       + (((((Class101_Sub2) class101_sub2_307_)
				    .aFloat5729)
				   * (((Class101_Sub2) class101_sub2)
				      .aFloat5708))
				  + ((((Class101_Sub2) class101_sub2_307_)
				      .aFloat5710)
				     * (((Class101_Sub2) class101_sub2)
					.aFloat5722)))
			       + ((Class101_Sub2) class101_sub2).aFloat5710);
			float f_315_ = ((float) anInt5461 * Class290.aFloat3710
					+ Class348_Sub12.aFloat6752);
			float f_316_ = (Class290.aFloat3710 * (float) anInt5509
					+ Class348_Sub12.aFloat6752);
			float f_317_;
			float f_318_;
			if (f_316_ < f_315_) {
			    f_317_
				= ((float) ((NativeToolkit) aHa_Sub3_5419).anInt8134
				   * ((float) anInt5510 + f_315_));
			    f_318_
				= ((float) ((NativeToolkit) aHa_Sub3_5419).anInt8134
				   * ((float) -anInt5510 + f_316_));
			} else {
			    f_317_ = (((float) anInt5510 + f_316_)
				      * (float) (((NativeToolkit) aHa_Sub3_5419)
						 .anInt8134));
			    f_318_ = ((f_315_ - (float) anInt5510)
				      * (float) (((NativeToolkit) aHa_Sub3_5419)
						 .anInt8134));
			}
			if (!(((NativeToolkit) aHa_Sub3_5419).aFloat8185
			      <= f_318_ / f_309_)
			    && !(f_317_ / f_309_
				 <= ((NativeToolkit) aHa_Sub3_5419).aFloat8103)) {
			    if (class318_sub3 != null
				|| aClass353Array5524 != null) {
				Class328_Sub3.aFloat6523
				    = (((((Class101_Sub2) class101_sub2)
					 .aFloat5716)
					* (((Class101_Sub2) class101_sub2_307_)
					   .aFloat5736))
				       + ((((Class101_Sub2)
					    class101_sub2_307_).aFloat5711
					   * (((Class101_Sub2) class101_sub2)
					      .aFloat5736))
					  + ((((Class101_Sub2) class101_sub2)
					      .aFloat5691)
					     * (((Class101_Sub2)
						 class101_sub2_307_)
						.aFloat5708))));
				Class318_Sub6.aFloat6430
				    = (((((Class101_Sub2) class101_sub2)
					 .aFloat5708)
					* (((Class101_Sub2) class101_sub2_307_)
					   .aFloat5704))
				       + ((((Class101_Sub2) class101_sub2_307_)
					   .aFloat5732)
					  * (((Class101_Sub2) class101_sub2)
					     .aFloat5722))
				       + ((((Class101_Sub2) class101_sub2)
					   .aFloat5732)
					  * ((Class101_Sub2)
					     class101_sub2_307_).aFloat5716));
				Class55.aFloat1010
				    = (((((Class101_Sub2) class101_sub2)
					 .aFloat5704)
					* (((Class101_Sub2) class101_sub2_307_)
					   .aFloat5736))
				       + (((((Class101_Sub2) class101_sub2)
					    .aFloat5700)
					   * ((Class101_Sub2)
					      class101_sub2_307_).aFloat5708)
					  + ((((Class101_Sub2) class101_sub2)
					      .aFloat5711)
					     * (((Class101_Sub2)
						 class101_sub2_307_)
						.aFloat5711))));
				Class348_Sub42_Sub4.aFloat9516
				    = (((((Class101_Sub2) class101_sub2)
					 .aFloat5711)
					* (((Class101_Sub2) class101_sub2_307_)
					   .aFloat5704))
				       + ((((Class101_Sub2) class101_sub2_307_)
					   .aFloat5732)
					  * (((Class101_Sub2) class101_sub2)
					     .aFloat5700))
				       + ((((Class101_Sub2) class101_sub2)
					   .aFloat5704)
					  * ((Class101_Sub2)
					     class101_sub2_307_).aFloat5716));
				Class348_Sub20.aFloat6835
				    = (((((Class101_Sub2) class101_sub2)
					 .aFloat5708)
					* (((Class101_Sub2) class101_sub2_307_)
					   .aFloat5711))
				       + ((((Class101_Sub2) class101_sub2)
					   .aFloat5722)
					  * ((Class101_Sub2)
					     class101_sub2_307_).aFloat5708)
				       + ((((Class101_Sub2) class101_sub2)
					   .aFloat5732)
					  * ((Class101_Sub2)
					     class101_sub2_307_).aFloat5736));
				AbstractToolkit.aFloat4582
				    = (((((Class101_Sub2) class101_sub2_307_)
					 .aFloat5716)
					* (((Class101_Sub2) class101_sub2)
					   .aFloat5716))
				       + ((((Class101_Sub2)
					    class101_sub2_307_).aFloat5704
					   * (((Class101_Sub2) class101_sub2)
					      .aFloat5736))
					  + (((Class101_Sub2)
					      class101_sub2_307_).aFloat5732
					     * (((Class101_Sub2) class101_sub2)
						.aFloat5691))));
			    }
			    if (class318_sub3 != null) {
				boolean bool = false;
				boolean bool_319_ = true;
				int i_320_
				    = anInt5507 - -anInt5467 >> -1556641663;
				int i_321_
				    = anInt5418 + anInt5443 >> -1247284767;
				int i_322_
				    = (int) (((float) anInt5461
					      * (Class318_Sub1_Sub2_Sub1
						 .aFloat10199))
					     + (Class345.aFloat4268
						+ (Class55.aFloat1010
						   * (float) i_320_))
					     + (Class348_Sub42_Sub4.aFloat9516
						* (float) i_321_));
				int i_323_
				    = (int) ((Class318_Sub6.aFloat6430
					      * (float) i_321_)
					     + (((float) i_320_
						 * Class348_Sub20.aFloat6835)
						+ Class348_Sub12.aFloat6752
						+ (Class290.aFloat3710
						   * (float) anInt5461)));
				int i_324_
				    = (int) (Class240.aFloat4673
					     + ((float) i_320_
						* Class328_Sub3.aFloat6523)
					     + ((float) anInt5461
						* Class353.aFloat4338)
					     + (float) i_321_ * AbstractToolkit.aFloat4582);
				if ((i_324_ ^ 0xffffffff)
				    > (((NativeToolkit) aHa_Sub3_5419).anInt8095
				       ^ 0xffffffff))
				    bool = true;
				else {
				    ((Class318_Sub3) class318_sub3).anInt6402
					= (((NativeToolkit) aHa_Sub3_5419).anInt8130
					   - -(i_323_
					       * (((NativeToolkit) aHa_Sub3_5419)
						  .anInt8134)
					       / i_324_));
				    ((Class318_Sub3) class318_sub3).anInt6405
					= ((((NativeToolkit) aHa_Sub3_5419).anInt8129
					    * i_322_ / i_324_)
					   + (((NativeToolkit) aHa_Sub3_5419)
					      .anInt8094));
				}
				int i_325_
				    = (int) ((Class318_Sub1_Sub2_Sub1
					      .aFloat10199) * (float) anInt5509
					     + (Class345.aFloat4268
						+ (Class55.aFloat1010
						   * (float) i_320_))
					     + ((float) i_321_
						* (Class348_Sub42_Sub4
						   .aFloat9516)));
				int i_326_
				    = (int) ((Class290.aFloat3710
					      * (float) anInt5509)
					     + (Class348_Sub12.aFloat6752
						+ ((float) i_320_
						   * (Class348_Sub20
						      .aFloat6835)))
					     + ((float) i_321_
						* Class318_Sub6.aFloat6430));
				int i_327_
				    = (int) (((float) anInt5509
					      * Class353.aFloat4338)
					     + (Class240.aFloat4673
						+ ((float) i_320_
						   * Class328_Sub3.aFloat6523))
					     + AbstractToolkit.aFloat4582 * (float) i_321_);
				if (((NativeToolkit) aHa_Sub3_5419).anInt8095
				    > i_327_)
				    bool = true;
				else {
				    ((Class318_Sub3) class318_sub3).anInt6406
					= (((NativeToolkit) aHa_Sub3_5419).anInt8094
					   + (i_325_
					      * (((NativeToolkit) aHa_Sub3_5419)
						 .anInt8129)
					      / i_327_));
				    ((Class318_Sub3) class318_sub3).anInt6404
					= (((NativeToolkit) aHa_Sub3_5419).anInt8130
					   - -(i_326_
					       * (((NativeToolkit) aHa_Sub3_5419)
						  .anInt8134)
					       / i_327_));
				}
				if (bool) {
				    if ((((NativeToolkit) aHa_Sub3_5419).anInt8095
					 > i_324_)
					&& ((i_327_ ^ 0xffffffff)
					    > ((((NativeToolkit) aHa_Sub3_5419)
						.anInt8095)
					       ^ 0xffffffff)))
					bool_319_ = false;
				    else if (((((NativeToolkit) aHa_Sub3_5419)
					       .anInt8095)
					      ^ 0xffffffff)
					     >= (i_324_ ^ 0xffffffff)) {
					if (((NativeToolkit) aHa_Sub3_5419).anInt8095
					    > i_327_) {
					    int i_328_
						= ((i_324_ + -(((NativeToolkit)
								aHa_Sub3_5419)
							       .anInt8095)
						    << -708969744)
						   / (-i_327_ + i_324_));
					    int i_329_
						= i_322_ + (((i_322_ - i_325_)
							     * i_328_)
							    >> 383047760);
					    int i_330_
						= (((-i_326_ + i_323_) * i_328_
						    >> 2005259120)
						   + i_323_);
					    ((Class318_Sub3) class318_sub3)
						.anInt6405
						= ((((NativeToolkit) aHa_Sub3_5419)
						    .anInt8094)
						   + (((NativeToolkit)
						       aHa_Sub3_5419).anInt8129
						      * i_329_
						      / (((NativeToolkit)
							  aHa_Sub3_5419)
							 .anInt8095)));
					    ((Class318_Sub3) class318_sub3)
						.anInt6402
						= ((((NativeToolkit) aHa_Sub3_5419)
						    .anInt8130)
						   + (i_330_
						      * (((NativeToolkit)
							  aHa_Sub3_5419)
							 .anInt8134)
						      / (((NativeToolkit)
							  aHa_Sub3_5419)
							 .anInt8095)));
					}
				    } else {
					int i_331_
					    = ((-(((NativeToolkit) aHa_Sub3_5419)
						  .anInt8095) + i_327_
						<< -295035600)
					       / (-i_324_ + i_327_));
					int i_332_
					    = ((i_331_ * (-i_322_ + i_325_)
						>> 1714933488)
					       + i_325_);
					int i_333_
					    = (i_326_
					       - -(i_331_ * (-i_323_ + i_326_)
						   >> 36981232));
					((Class318_Sub3) class318_sub3)
					    .anInt6405
					    = ((((NativeToolkit) aHa_Sub3_5419)
						.anInt8094)
					       + (i_332_
						  * (((NativeToolkit) aHa_Sub3_5419)
						     .anInt8129)
						  / (((NativeToolkit) aHa_Sub3_5419)
						     .anInt8095)));
					((Class318_Sub3) class318_sub3)
					    .anInt6402
					    = ((i_333_
						* (((NativeToolkit) aHa_Sub3_5419)
						   .anInt8134)
						/ (((NativeToolkit) aHa_Sub3_5419)
						   .anInt8095))
					       + (((NativeToolkit) aHa_Sub3_5419)
						  .anInt8130));
				    }
				}
				if (bool_319_) {
				    if ((i_327_ ^ 0xffffffff)
					<= (i_324_ ^ 0xffffffff))
					((Class318_Sub3) class318_sub3)
					    .anInt6403
					    = (-((Class318_Sub3)
						 class318_sub3).anInt6406
					       + (((((NativeToolkit) aHa_Sub3_5419)
						    .anInt8129)
						   * (i_325_ + anInt5510)
						   / i_327_)
						  + (((NativeToolkit) aHa_Sub3_5419)
						     .anInt8094)));
				    else
					((Class318_Sub3) class318_sub3)
					    .anInt6403
					    = (-((Class318_Sub3)
						 class318_sub3).anInt6405
					       + (((i_322_ + anInt5510)
						   * (((NativeToolkit) aHa_Sub3_5419)
						      .anInt8129)
						   / i_324_)
						  + (((NativeToolkit) aHa_Sub3_5419)
						     .anInt8094)));
				    ((Class318_Sub3) class318_sub3)
					.aBoolean6401
					= true;
				}
			    }
			    aHa_Sub3_5419.method3825(8);
			    aHa_Sub3_5419.method3815(0, class101_sub2_307_);
			    method672(416776206);
			    method659(76);
			}
		    }
		}
	    }
	} catch (RuntimeException runtimeexception) {
	    throw Class348_Sub17.method2929(runtimeexception,
					    ("nca.KA("
					     + (class101 != null ? "{...}"
						: "null")
					     + ','
					     + (class318_sub3 != null ? "{...}"
						: "null")
					     + ',' + i + ')'));
	}
    }