private final void method3994(int i, int i_300_, Class109 class109,
				  int[] is, int[] is_301_, int[] is_302_,
				  int[] is_303_, int i_304_) {
	Class102 class102 = aClass102ArrayArray8215[i][i_300_];
	if (class102 != null) {
	    if ((((Class102) class102).aByte1606 & 0x2) == 0) {
		if (i_304_ != 0) {
		    if ((((Class102) class102).aByte1606 & 0x4) != 0) {
			if ((i_304_ & 0x1) != 0)
			    return;
		    } else if ((i_304_ & 0x2) != 0)
			return;
		}
		int i_305_ = i * ((s) this).anInt4592;
		int i_306_ = i_305_ + ((s) this).anInt4592;
		int i_307_ = i_300_ * ((s) this).anInt4592;
		int i_308_ = i_307_ + ((s) this).anInt4592;
		float f;
		float f_309_;
		float f_310_;
		float f_311_;
		int i_312_;
		int i_313_;
		int i_314_;
		int i_315_;
		int i_316_;
		int i_317_;
		int i_318_;
		int i_319_;
		if ((((Class102) class102).aByte1606 & 0x1) != 0) {
		    int i_320_ = ((s) this).anIntArrayArray4584[i][i_300_];
		    float f_321_ = aFloat8227 * (float) i_320_;
		    if (anInt8228 == -1) {
			f = aFloat8218 + (aFloat8233 * (float) i_305_ + f_321_
					  + aFloat8231 * (float) i_307_);
			if (f <= (float) ((SoftwareToolkit) aHa_Sub1_8217).anInt7482)
			    return;
			f_309_ = aFloat8218 + (aFloat8233 * (float) i_306_
					       + f_321_
					       + aFloat8231 * (float) i_307_);
			if (f_309_
			    <= (float) ((SoftwareToolkit) aHa_Sub1_8217).anInt7482)
			    return;
			f_310_ = aFloat8218 + (aFloat8233 * (float) i_306_
					       + f_321_
					       + aFloat8231 * (float) i_308_);
			if (f_310_
			    <= (float) ((SoftwareToolkit) aHa_Sub1_8217).anInt7482)
			    return;
			f_311_ = aFloat8218 + (aFloat8233 * (float) i_305_
					       + f_321_
					       + aFloat8231 * (float) i_308_);
			if (f_311_
			    <= (float) ((SoftwareToolkit) aHa_Sub1_8217).anInt7482)
			    return;
		    } else {
			f = aFloat8218 + (aFloat8233 * (float) i_305_ + f_321_
					  + aFloat8231 * (float) i_307_);
			f_309_ = aFloat8218 + (aFloat8233 * (float) i_306_
					       + f_321_
					       + aFloat8231 * (float) i_307_);
			f_310_ = aFloat8218 + (aFloat8233 * (float) i_306_
					       + f_321_
					       + aFloat8231 * (float) i_308_);
			f_311_ = aFloat8218 + (aFloat8233 * (float) i_305_
					       + f_321_
					       + aFloat8231 * (float) i_308_);
		    }
		    float f_322_ = aFloat8216 * (float) i_320_;
		    float f_323_ = aFloat8221 * (float) i_320_;
		    if (anInt8228 == -1) {
			float f_324_ = (aFloat8213
					+ (aFloat8212 * (float) i_305_ + f_322_
					   + aFloat8224 * (float) i_307_));
			i_312_ = (((Class109) class109).anInt1665
				  + (int) (f_324_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7491)
					   / f));
			float f_325_ = (aFloat8226
					+ (aFloat8214 * (float) i_305_ + f_323_
					   + aFloat8229 * (float) i_307_));
			i_313_ = (((Class109) class109).anInt1668
				  + (int) (f_325_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7497)
					   / f));
			float f_326_ = (aFloat8213
					+ (aFloat8212 * (float) i_306_ + f_322_
					   + aFloat8224 * (float) i_307_));
			i_314_ = (((Class109) class109).anInt1665
				  + (int) (f_326_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7491)
					   / f_309_));
			float f_327_ = (aFloat8226
					+ (aFloat8214 * (float) i_306_ + f_323_
					   + aFloat8229 * (float) i_307_));
			i_315_ = (((Class109) class109).anInt1668
				  + (int) (f_327_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7497)
					   / f_309_));
			float f_328_ = (aFloat8213
					+ (aFloat8212 * (float) i_306_ + f_322_
					   + aFloat8224 * (float) i_308_));
			i_316_ = (((Class109) class109).anInt1665
				  + (int) (f_328_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7491)
					   / f_310_));
			float f_329_ = (aFloat8226
					+ (aFloat8214 * (float) i_306_ + f_323_
					   + aFloat8229 * (float) i_308_));
			i_317_ = (((Class109) class109).anInt1668
				  + (int) (f_329_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7497)
					   / f_310_));
			float f_330_ = (aFloat8213
					+ (aFloat8212 * (float) i_305_ + f_322_
					   + aFloat8224 * (float) i_308_));
			i_318_ = (((Class109) class109).anInt1665
				  + (int) (f_330_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7491)
					   / f_311_));
			float f_331_ = (aFloat8226
					+ (aFloat8214 * (float) i_305_ + f_323_
					   + aFloat8229 * (float) i_308_));
			i_319_ = (((Class109) class109).anInt1668
				  + (int) (f_331_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7497)
					   / f_311_));
		    } else {
			float f_332_ = (aFloat8213
					+ (aFloat8212 * (float) i_305_ + f_322_
					   + aFloat8224 * (float) i_307_));
			i_312_ = (((Class109) class109).anInt1665
				  + (int) (f_332_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7491)
					   / (float) anInt8228));
			float f_333_ = (aFloat8226
					+ (aFloat8214 * (float) i_305_ + f_323_
					   + aFloat8229 * (float) i_307_));
			i_313_ = (((Class109) class109).anInt1668
				  + (int) (f_333_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7497)
					   / (float) anInt8228));
			float f_334_ = (aFloat8213
					+ (aFloat8212 * (float) i_306_ + f_322_
					   + aFloat8224 * (float) i_307_));
			i_314_ = (((Class109) class109).anInt1665
				  + (int) (f_334_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7491)
					   / (float) anInt8228));
			float f_335_ = (aFloat8226
					+ (aFloat8214 * (float) i_306_ + f_323_
					   + aFloat8229 * (float) i_307_));
			i_315_ = (((Class109) class109).anInt1668
				  + (int) (f_335_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7497)
					   / (float) anInt8228));
			float f_336_ = (aFloat8213
					+ (aFloat8212 * (float) i_306_ + f_322_
					   + aFloat8224 * (float) i_308_));
			i_316_ = (((Class109) class109).anInt1665
				  + (int) (f_336_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7491)
					   / (float) anInt8228));
			float f_337_ = (aFloat8226
					+ (aFloat8214 * (float) i_306_ + f_323_
					   + aFloat8229 * (float) i_308_));
			i_317_ = (((Class109) class109).anInt1668
				  + (int) (f_337_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7497)
					   / (float) anInt8228));
			float f_338_ = (aFloat8213
					+ (aFloat8212 * (float) i_305_ + f_322_
					   + aFloat8224 * (float) i_308_));
			i_318_ = (((Class109) class109).anInt1665
				  + (int) (f_338_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7491)
					   / (float) anInt8228));
			float f_339_ = (aFloat8226
					+ (aFloat8214 * (float) i_305_ + f_323_
					   + aFloat8229 * (float) i_308_));
			i_319_ = (((Class109) class109).anInt1668
				  + (int) (f_339_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7497)
					   / (float) anInt8228));
		    }
		} else {
		    int i_340_ = ((s) this).anIntArrayArray4584[i][i_300_];
		    int i_341_ = ((s) this).anIntArrayArray4584[i + 1][i_300_];
		    int i_342_
			= ((s) this).anIntArrayArray4584[i + 1][i_300_ + 1];
		    int i_343_ = ((s) this).anIntArrayArray4584[i][i_300_ + 1];
		    if (anInt8228 == -1) {
			f = aFloat8218 + (aFloat8233 * (float) i_305_
					  + aFloat8227 * (float) i_340_
					  + aFloat8231 * (float) i_307_);
			if (f <= (float) ((SoftwareToolkit) aHa_Sub1_8217).anInt7482)
			    return;
			f_309_ = aFloat8218 + (aFloat8233 * (float) i_306_
					       + aFloat8227 * (float) i_341_
					       + aFloat8231 * (float) i_307_);
			if (f_309_
			    <= (float) ((SoftwareToolkit) aHa_Sub1_8217).anInt7482)
			    return;
			f_310_ = aFloat8218 + (aFloat8233 * (float) i_306_
					       + aFloat8227 * (float) i_342_
					       + aFloat8231 * (float) i_308_);
			if (f_310_
			    <= (float) ((SoftwareToolkit) aHa_Sub1_8217).anInt7482)
			    return;
			f_311_ = aFloat8218 + (aFloat8233 * (float) i_305_
					       + aFloat8227 * (float) i_343_
					       + aFloat8231 * (float) i_308_);
			if (f_311_
			    <= (float) ((SoftwareToolkit) aHa_Sub1_8217).anInt7482)
			    return;
			float f_344_
			    = aFloat8213 + (aFloat8212 * (float) i_305_
					    + aFloat8216 * (float) i_340_
					    + aFloat8224 * (float) i_307_);
			i_312_ = (((Class109) class109).anInt1665
				  + (int) (f_344_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7491)
					   / f));
			float f_345_
			    = aFloat8226 + (aFloat8214 * (float) i_305_
					    + aFloat8221 * (float) i_340_
					    + aFloat8229 * (float) i_307_);
			i_313_ = (((Class109) class109).anInt1668
				  + (int) (f_345_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7497)
					   / f));
			float f_346_
			    = aFloat8213 + (aFloat8212 * (float) i_306_
					    + aFloat8216 * (float) i_341_
					    + aFloat8224 * (float) i_307_);
			i_314_ = (((Class109) class109).anInt1665
				  + (int) (f_346_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7491)
					   / f_309_));
			float f_347_
			    = aFloat8226 + (aFloat8214 * (float) i_306_
					    + aFloat8221 * (float) i_341_
					    + aFloat8229 * (float) i_307_);
			i_315_ = (((Class109) class109).anInt1668
				  + (int) (f_347_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7497)
					   / f_309_));
			float f_348_
			    = aFloat8213 + (aFloat8212 * (float) i_306_
					    + aFloat8216 * (float) i_342_
					    + aFloat8224 * (float) i_308_);
			i_316_ = (((Class109) class109).anInt1665
				  + (int) (f_348_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7491)
					   / f_310_));
			float f_349_
			    = aFloat8226 + (aFloat8214 * (float) i_306_
					    + aFloat8221 * (float) i_342_
					    + aFloat8229 * (float) i_308_);
			i_317_ = (((Class109) class109).anInt1668
				  + (int) (f_349_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7497)
					   / f_310_));
			float f_350_
			    = aFloat8213 + (aFloat8212 * (float) i_305_
					    + aFloat8216 * (float) i_343_
					    + aFloat8224 * (float) i_308_);
			i_318_ = (((Class109) class109).anInt1665
				  + (int) (f_350_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7491)
					   / f_311_));
			float f_351_
			    = aFloat8226 + (aFloat8214 * (float) i_305_
					    + aFloat8221 * (float) i_343_
					    + aFloat8229 * (float) i_308_);
			i_319_ = (((Class109) class109).anInt1668
				  + (int) (f_351_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7497)
					   / f_311_));
		    } else {
			f = aFloat8218 + (aFloat8233 * (float) i_305_
					  + aFloat8227 * (float) i_340_
					  + aFloat8231 * (float) i_307_);
			f_309_ = aFloat8218 + (aFloat8233 * (float) i_306_
					       + aFloat8227 * (float) i_341_
					       + aFloat8231 * (float) i_307_);
			f_310_ = aFloat8218 + (aFloat8233 * (float) i_306_
					       + aFloat8227 * (float) i_342_
					       + aFloat8231 * (float) i_308_);
			f_311_ = aFloat8218 + (aFloat8233 * (float) i_305_
					       + aFloat8227 * (float) i_343_
					       + aFloat8231 * (float) i_308_);
			float f_352_
			    = aFloat8213 + (aFloat8212 * (float) i_305_
					    + aFloat8216 * (float) i_340_
					    + aFloat8224 * (float) i_307_);
			i_312_ = (((Class109) class109).anInt1665
				  + (int) (f_352_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7491)
					   / (float) anInt8228));
			float f_353_
			    = aFloat8226 + (aFloat8214 * (float) i_305_
					    + aFloat8221 * (float) i_340_
					    + aFloat8229 * (float) i_307_);
			i_313_ = (((Class109) class109).anInt1668
				  + (int) (f_353_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7497)
					   / (float) anInt8228));
			float f_354_
			    = aFloat8213 + (aFloat8212 * (float) i_306_
					    + aFloat8216 * (float) i_341_
					    + aFloat8224 * (float) i_307_);
			i_314_ = (((Class109) class109).anInt1665
				  + (int) (f_354_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7491)
					   / (float) anInt8228));
			float f_355_
			    = aFloat8226 + (aFloat8214 * (float) i_306_
					    + aFloat8221 * (float) i_341_
					    + aFloat8229 * (float) i_307_);
			i_315_ = (((Class109) class109).anInt1668
				  + (int) (f_355_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7497)
					   / (float) anInt8228));
			float f_356_
			    = aFloat8213 + (aFloat8212 * (float) i_306_
					    + aFloat8216 * (float) i_342_
					    + aFloat8224 * (float) i_308_);
			i_316_ = (((Class109) class109).anInt1665
				  + (int) (f_356_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7491)
					   / (float) anInt8228));
			float f_357_
			    = aFloat8226 + (aFloat8214 * (float) i_306_
					    + aFloat8221 * (float) i_342_
					    + aFloat8229 * (float) i_308_);
			i_317_ = (((Class109) class109).anInt1668
				  + (int) (f_357_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7497)
					   / (float) anInt8228));
			float f_358_
			    = aFloat8213 + (aFloat8212 * (float) i_305_
					    + aFloat8216 * (float) i_343_
					    + aFloat8224 * (float) i_308_);
			i_318_ = (((Class109) class109).anInt1665
				  + (int) (f_358_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7491)
					   / (float) anInt8228));
			float f_359_
			    = aFloat8226 + (aFloat8214 * (float) i_305_
					    + aFloat8221 * (float) i_343_
					    + aFloat8229 * (float) i_308_);
			i_319_ = (((Class109) class109).anInt1668
				  + (int) (f_359_
					   * (float) (((SoftwareToolkit) aHa_Sub1_8217)
						      .anInt7497)
					   / (float) anInt8228));
		    }
		}
		if (anInt8228 == -1) {
		    if (((i_316_ - i_318_) * (i_315_ - i_319_)
			 - (i_317_ - i_319_) * (i_314_ - i_318_))
			> 0) {
			((Class109) class109).aBoolean1671
			    = (i_316_ < 0 || i_318_ < 0 || i_314_ < 0
			       || i_316_ > ((Class109) class109).anInt1679
			       || i_318_ > ((Class109) class109).anInt1679
			       || i_314_ > ((Class109) class109).anInt1679);
			if (((Class102) class102).aShort1605 >= 0)
			    class109.method1024
				((float) i_317_, (float) i_319_,
				 (float) i_315_, (float) i_316_,
				 (float) i_318_, (float) i_314_, f_310_,
				 f_311_, f_309_, 1.0F, 0.0F, 1.0F, 1.0F, 1.0F,
				 0.0F,
				 (~0xffffff
				  | (Class126.hslColorTable
				     [(((Class102) class102).aShort1602
				       & 0xffff)]) & 0xffffff),
				 (~0xffffff
				  | (Class126.hslColorTable
				     [(((Class102) class102).aShort1604
				       & 0xffff)]) & 0xffffff),
				 (~0xffffff
				  | (Class126.hslColorTable
				     [(((Class102) class102).aShort1603
				       & 0xffff)]) & 0xffffff),
				 0, 0, 0, 0, ((Class102) class102).aShort1605);
			else
			    class109.method1022
				((float) i_317_, (float) i_319_,
				 (float) i_315_, (float) i_316_,
				 (float) i_318_, (float) i_314_,
				 (float) (int) f_310_, (float) (int) f_311_,
				 (float) (int) f_309_,
				 (float) (((Class102) class102).aShort1602
					  & 0xffff),
				 (float) (((Class102) class102).aShort1604
					  & 0xffff),
				 (float) (((Class102) class102).aShort1603
					  & 0xffff));
		    }
		    if (((i_312_ - i_314_) * (i_319_ - i_315_)
			 - (i_313_ - i_315_) * (i_318_ - i_314_))
			> 0) {
			((Class109) class109).aBoolean1671
			    = (i_312_ < 0 || i_314_ < 0 || i_318_ < 0
			       || i_312_ > ((Class109) class109).anInt1679
			       || i_314_ > ((Class109) class109).anInt1679
			       || i_318_ > ((Class109) class109).anInt1679);
			if (((Class102) class102).aShort1605 >= 0)
			    class109.method1024
				((float) i_313_, (float) i_315_,
				 (float) i_319_, (float) i_312_,
				 (float) i_314_, (float) i_318_, f, f_309_,
				 f_311_, 0.0F, 1.0F, 1.0F, 0.0F, 0.0F, 1.0F,
				 (~0xffffff
				  | (Class126.hslColorTable
				     [(((Class102) class102).aShort1601
				       & 0xffff)]) & 0xffffff),
				 (~0xffffff
				  | (Class126.hslColorTable
				     [(((Class102) class102).aShort1603
				       & 0xffff)]) & 0xffffff),
				 (~0xffffff
				  | (Class126.hslColorTable
				     [(((Class102) class102).aShort1604
				       & 0xffff)]) & 0xffffff),
				 0, 0, 0, 0, ((Class102) class102).aShort1605);
			else
			    class109.method1022
				((float) i_313_, (float) i_315_,
				 (float) i_319_, (float) i_312_,
				 (float) i_314_, (float) i_318_,
				 (float) (int) f, (float) (int) f_309_,
				 (float) (int) f_311_,
				 (float) (((Class102) class102).aShort1601
					  & 0xffff),
				 (float) (((Class102) class102).aShort1603
					  & 0xffff),
				 (float) (((Class102) class102).aShort1604
					  & 0xffff));
		    }
		} else {
		    if (((i_316_ - i_318_) * (i_315_ - i_319_)
			 - (i_317_ - i_319_) * (i_314_ - i_318_))
			> 0) {
			((Class109) class109).aBoolean1671
			    = (i_316_ < 0 || i_318_ < 0 || i_314_ < 0
			       || i_316_ > ((Class109) class109).anInt1679
			       || i_318_ > ((Class109) class109).anInt1679
			       || i_314_ > ((Class109) class109).anInt1679);
			if (((Class102) class102).aShort1605 >= 0)
			    class109.method1024
				((float) i_317_, (float) i_319_,
				 (float) i_315_, (float) i_316_,
				 (float) i_318_, (float) i_314_, f_310_,
				 f_311_, f_309_, 1.0F, 0.0F, 1.0F, 1.0F, 1.0F,
				 0.0F,
				 (~0xffffff
				  | (Class126.hslColorTable
				     [(((Class102) class102).aShort1602
				       & 0xffff)]) & 0xffffff),
				 (~0xffffff
				  | (Class126.hslColorTable
				     [(((Class102) class102).aShort1604
				       & 0xffff)]) & 0xffffff),
				 (~0xffffff
				  | (Class126.hslColorTable
				     [(((Class102) class102).aShort1603
				       & 0xffff)]) & 0xffffff),
				 0, 0, 0, 0, ((Class102) class102).aShort1605);
			else
			    class109.method1022
				((float) i_317_, (float) i_319_,
				 (float) i_315_, (float) i_316_,
				 (float) i_318_, (float) i_314_,
				 (float) (int) f_310_, (float) (int) f_311_,
				 (float) (int) f_309_,
				 (float) (((Class102) class102).aShort1602
					  & 0xffff),
				 (float) (((Class102) class102).aShort1604
					  & 0xffff),
				 (float) (((Class102) class102).aShort1603
					  & 0xffff));
		    }
		    if (((i_312_ - i_314_) * (i_319_ - i_315_)
			 - (i_313_ - i_315_) * (i_318_ - i_314_))
			> 0) {
			((Class109) class109).aBoolean1671
			    = (i_312_ < 0 || i_314_ < 0 || i_318_ < 0
			       || i_312_ > ((Class109) class109).anInt1679
			       || i_314_ > ((Class109) class109).anInt1679
			       || i_318_ > ((Class109) class109).anInt1679);
			if (((Class102) class102).aShort1605 >= 0)
			    class109.method1024
				((float) i_313_, (float) i_315_,
				 (float) i_319_, (float) i_312_,
				 (float) i_314_, (float) i_318_, f, f_309_,
				 f_311_, 0.0F, 1.0F, 1.0F, 0.0F, 0.0F, 1.0F,
				 (~0xffffff
				  | (Class126.hslColorTable
				     [(((Class102) class102).aShort1601
				       & 0xffff)]) & 0xffffff),
				 (~0xffffff
				  | (Class126.hslColorTable
				     [(((Class102) class102).aShort1603
				       & 0xffff)]) & 0xffffff),
				 (~0xffffff
				  | (Class126.hslColorTable
				     [(((Class102) class102).aShort1604
				       & 0xffff)]) & 0xffffff),
				 0, 0, 0, 0, ((Class102) class102).aShort1605);
			else
			    class109.method1022
				((float) i_313_, (float) i_315_,
				 (float) i_319_, (float) i_312_,
				 (float) i_314_, (float) i_318_,
				 (float) (int) f, (float) (int) f_309_,
				 (float) (int) f_311_,
				 (float) (((Class102) class102).aShort1601
					  & 0xffff),
				 (float) (((Class102) class102).aShort1603
					  & 0xffff),
				 (float) (((Class102) class102).aShort1604
					  & 0xffff));
		    }
		}
	    }
	} else {
	    Class236 class236 = aClass236ArrayArray8222[i][i_300_];
	    if (class236 != null) {
		if (i_304_ != 0) {
		    if ((((Class236) class236).aByte3100 & 0x4) != 0) {
			if ((i_304_ & 0x1) != 0)
			    return;
		    } else if ((i_304_ & 0x2) != 0)
			return;
		}
		if (anInt8228 == -1) {
		    for (int i_360_ = 0;
			 i_360_ < ((Class236) class236).aShort3089; i_360_++) {
			int i_361_
			    = (((Class236) class236).aShortArray3096[i_360_]
			       + (i << ((s) this).anInt4588));
			short i_362_
			    = ((Class236) class236).aShortArray3097[i_360_];
			int i_363_
			    = (((Class236) class236).aShortArray3094[i_360_]
			       + (i_300_ << ((s) this).anInt4588));
			float f = aFloat8218 + (aFloat8233 * (float) i_361_
						+ aFloat8227 * (float) i_362_
						+ aFloat8231 * (float) i_363_);
			if (f <= (float) ((SoftwareToolkit) aHa_Sub1_8217).anInt7482)
			    return;
			float f_364_
			    = aFloat8213 + (aFloat8212 * (float) i_361_
					    + aFloat8216 * (float) i_362_
					    + aFloat8224 * (float) i_363_);
			float f_365_
			    = aFloat8226 + (aFloat8214 * (float) i_361_
					    + aFloat8221 * (float) i_362_
					    + aFloat8229 * (float) i_363_);
			is[i_360_]
			    = (((Class109) class109).anInt1665
			       + (int) (f_364_
					* (float) (((SoftwareToolkit) aHa_Sub1_8217)
						   .anInt7491)
					/ f));
			is_301_[i_360_]
			    = (((Class109) class109).anInt1668
			       + (int) (f_365_
					* (float) (((SoftwareToolkit) aHa_Sub1_8217)
						   .anInt7497)
					/ f));
			is_302_[i_360_] = (int) f;
		    }
		} else {
		    for (int i_366_ = 0;
			 i_366_ < ((Class236) class236).aShort3089; i_366_++) {
			int i_367_
			    = (((Class236) class236).aShortArray3096[i_366_]
			       + (i << ((s) this).anInt4588));
			short i_368_
			    = ((Class236) class236).aShortArray3097[i_366_];
			int i_369_
			    = (((Class236) class236).aShortArray3094[i_366_]
			       + (i_300_ << ((s) this).anInt4588));
			float f = aFloat8218 + (aFloat8233 * (float) i_367_
						+ aFloat8227 * (float) i_368_
						+ aFloat8231 * (float) i_369_);
			float f_370_
			    = aFloat8213 + (aFloat8212 * (float) i_367_
					    + aFloat8216 * (float) i_368_
					    + aFloat8224 * (float) i_369_);
			float f_371_
			    = aFloat8226 + (aFloat8214 * (float) i_367_
					    + aFloat8221 * (float) i_368_
					    + aFloat8229 * (float) i_369_);
			is[i_366_]
			    = (((Class109) class109).anInt1665
			       + (int) (f_370_
					* (float) (((SoftwareToolkit) aHa_Sub1_8217)
						   .anInt7491)
					/ (float) anInt8228));
			is_301_[i_366_]
			    = (((Class109) class109).anInt1668
			       + (int) (f_371_
					* (float) (((SoftwareToolkit) aHa_Sub1_8217)
						   .anInt7497)
					/ (float) anInt8228));
			is_302_[i_366_] = (int) f;
		    }
		}
		if (((Class236) class236).aShortArray3095 != null) {
		    if (anInt8228 == -1) {
			for (int i_372_ = 0;
			     i_372_ < ((Class236) class236).aShort3099;
			     i_372_++) {
			    short i_373_ = (((Class236) class236)
					    .aShortArray3091[i_372_]);
			    short i_374_ = (((Class236) class236)
					    .aShortArray3090[i_372_]);
			    short i_375_ = (((Class236) class236)
					    .aShortArray3101[i_372_]);
			    int i_376_ = is[i_373_];
			    int i_377_ = is[i_374_];
			    int i_378_ = is[i_375_];
			    int i_379_ = is_301_[i_373_];
			    int i_380_ = is_301_[i_374_];
			    int i_381_ = is_301_[i_375_];
			    if (((i_376_ - i_377_) * (i_381_ - i_380_)
				 - (i_379_ - i_380_) * (i_378_ - i_377_))
				> 0) {
				((Class109) class109).aBoolean1671
				    = (i_376_ < 0 || i_377_ < 0 || i_378_ < 0
				       || (i_376_
					   > ((Class109) class109).anInt1679)
				       || (i_377_
					   > ((Class109) class109).anInt1679)
				       || (i_378_
					   > ((Class109) class109).anInt1679));
				short i_382_ = (((Class236) class236)
						.aShortArray3095[i_372_]);
				if (i_382_ != -1)
				    class109.method1024
					((float) i_379_, (float) i_380_,
					 (float) i_381_, (float) i_376_,
					 (float) i_377_, (float) i_378_,
					 (float) is_302_[i_373_],
					 (float) is_302_[i_374_],
					 (float) is_302_[i_375_],
					 ((float) (((Class236) class236)
						   .aShortArray3096[i_373_])
					  / (float) ((s) this).anInt4592),
					 ((float) (((Class236) class236)
						   .aShortArray3096[i_374_])
					  / (float) ((s) this).anInt4592),
					 ((float) (((Class236) class236)
						   .aShortArray3096[i_375_])
					  / (float) ((s) this).anInt4592),
					 ((float) (((Class236) class236)
						   .aShortArray3094[i_373_])
					  / (float) ((s) this).anInt4592),
					 ((float) (((Class236) class236)
						   .aShortArray3094[i_374_])
					  / (float) ((s) this).anInt4592),
					 ((float) (((Class236) class236)
						   .aShortArray3094[i_375_])
					  / (float) ((s) this).anInt4592),
					 ~0xffffff | ((Class126.hslColorTable
						       [(((Class236) class236)
							 .aShortArray3088
							 [i_373_]) & 0xffff])
						      & 0xffffff),
					 ~0xffffff | ((Class126.hslColorTable
						       [(((Class236) class236)
							 .aShortArray3088
							 [i_374_]) & 0xffff])
						      & 0xffffff),
					 ~0xffffff | ((Class126.hslColorTable
						       [(((Class236) class236)
							 .aShortArray3088
							 [i_375_]) & 0xffff])
						      & 0xffffff),
					 0, 0, 0, 0, i_382_);
				else {
				    int i_383_ = (((Class236) class236)
						  .anIntArray3093[i_372_]);
				    if (i_383_ != -1)
					class109.method1022
					    ((float) i_379_, (float) i_380_,
					     (float) i_381_, (float) i_376_,
					     (float) i_377_, (float) i_378_,
					     (float) is_302_[i_373_],
					     (float) is_302_[i_374_],
					     (float) is_302_[i_375_],
					     (float) (IndexTable.method2198
						      (0,
						       (((Class236) class236)
							.aShortArray3088
							[i_373_]),
						       i_383_)),
					     (float) (IndexTable.method2198
						      (0,
						       (((Class236) class236)
							.aShortArray3088
							[i_374_]),
						       i_383_)),
					     (float) (IndexTable.method2198
						      (0,
						       (((Class236) class236)
							.aShortArray3088
							[i_375_]),
						       i_383_)));
				}
			    }
			}
		    } else {
			for (int i_384_ = 0;
			     i_384_ < ((Class236) class236).aShort3099;
			     i_384_++) {
			    short i_385_ = (((Class236) class236)
					    .aShortArray3091[i_384_]);
			    short i_386_ = (((Class236) class236)
					    .aShortArray3090[i_384_]);
			    short i_387_ = (((Class236) class236)
					    .aShortArray3101[i_384_]);
			    int i_388_ = is[i_385_];
			    int i_389_ = is[i_386_];
			    int i_390_ = is[i_387_];
			    int i_391_ = is_301_[i_385_];
			    int i_392_ = is_301_[i_386_];
			    int i_393_ = is_301_[i_387_];
			    if (((i_388_ - i_389_) * (i_393_ - i_392_)
				 - (i_391_ - i_392_) * (i_390_ - i_389_))
				> 0) {
				((Class109) class109).aBoolean1671
				    = (i_388_ < 0 || i_389_ < 0 || i_390_ < 0
				       || (i_388_
					   > ((Class109) class109).anInt1679)
				       || (i_389_
					   > ((Class109) class109).anInt1679)
				       || (i_390_
					   > ((Class109) class109).anInt1679));
				short i_394_ = (((Class236) class236)
						.aShortArray3095[i_384_]);
				if (i_394_ != -1)
				    class109.method1024
					((float) i_391_, (float) i_392_,
					 (float) i_393_, (float) i_388_,
					 (float) i_389_, (float) i_390_,
					 (float) is_302_[i_385_],
					 (float) is_302_[i_386_],
					 (float) is_302_[i_387_],
					 ((float) (((Class236) class236)
						   .aShortArray3096[i_385_])
					  / (float) ((s) this).anInt4592),
					 ((float) (((Class236) class236)
						   .aShortArray3096[i_386_])
					  / (float) ((s) this).anInt4592),
					 ((float) (((Class236) class236)
						   .aShortArray3096[i_387_])
					  / (float) ((s) this).anInt4592),
					 ((float) (((Class236) class236)
						   .aShortArray3094[i_385_])
					  / (float) ((s) this).anInt4592),
					 ((float) (((Class236) class236)
						   .aShortArray3094[i_386_])
					  / (float) ((s) this).anInt4592),
					 ((float) (((Class236) class236)
						   .aShortArray3094[i_387_])
					  / (float) ((s) this).anInt4592),
					 ~0xffffff | ((Class126.hslColorTable
						       [(((Class236) class236)
							 .aShortArray3088
							 [i_385_]) & 0xffff])
						      & 0xffffff),
					 ~0xffffff | ((Class126.hslColorTable
						       [(((Class236) class236)
							 .aShortArray3088
							 [i_386_]) & 0xffff])
						      & 0xffffff),
					 ~0xffffff | ((Class126.hslColorTable
						       [(((Class236) class236)
							 .aShortArray3088
							 [i_387_]) & 0xffff])
						      & 0xffffff),
					 0, 0, 0, 0, i_394_);
				else {
				    int i_395_ = (((Class236) class236)
						  .anIntArray3093[i_384_]);
				    if (i_395_ != -1)
					class109.method1022
					    ((float) i_391_, (float) i_392_,
					     (float) i_393_, (float) i_388_,
					     (float) i_389_, (float) i_390_,
					     (float) is_302_[i_385_],
					     (float) is_302_[i_386_],
					     (float) is_302_[i_387_],
					     (float) (IndexTable.method2198
						      (0,
						       (((Class236) class236)
							.aShortArray3088
							[i_385_]),
						       i_395_)),
					     (float) (IndexTable.method2198
						      (0,
						       (((Class236) class236)
							.aShortArray3088
							[i_386_]),
						       i_395_)),
					     (float) (IndexTable.method2198
						      (0,
						       (((Class236) class236)
							.aShortArray3088
							[i_387_]),
						       i_395_)));
				}
			    }
			}
		    }
		} else {
		    for (int i_396_ = 0;
			 i_396_ < ((Class236) class236).aShort3099; i_396_++) {
			short i_397_
			    = ((Class236) class236).aShortArray3091[i_396_];
			short i_398_
			    = ((Class236) class236).aShortArray3090[i_396_];
			short i_399_
			    = ((Class236) class236).aShortArray3101[i_396_];
			int i_400_ = is[i_397_];
			int i_401_ = is[i_398_];
			int i_402_ = is[i_399_];
			int i_403_ = is_301_[i_397_];
			int i_404_ = is_301_[i_398_];
			int i_405_ = is_301_[i_399_];
			if (((i_400_ - i_401_) * (i_405_ - i_404_)
			     - (i_403_ - i_404_) * (i_402_ - i_401_))
			    > 0) {
			    int i_406_
				= ((Class236) class236).anIntArray3093[i_396_];
			    if (i_406_ != -1) {
				((Class109) class109).aBoolean1671
				    = (i_400_ < 0 || i_401_ < 0 || i_402_ < 0
				       || (i_400_
					   > ((Class109) class109).anInt1679)
				       || (i_401_
					   > ((Class109) class109).anInt1679)
				       || (i_402_
					   > ((Class109) class109).anInt1679));
				class109.method1022
				    ((float) i_403_, (float) i_404_,
				     (float) i_405_, (float) i_400_,
				     (float) i_401_, (float) i_402_,
				     (float) is_302_[i_397_],
				     (float) is_302_[i_398_],
				     (float) is_302_[i_399_],
				     (float) (IndexTable.method2198
					      (0,
					       (((Class236) class236)
						.aShortArray3088[i_397_]),
					       i_406_)),
				     (float) (IndexTable.method2198
					      (0,
					       (((Class236) class236)
						.aShortArray3088[i_398_]),
					       i_406_)),
				     (float) (IndexTable.method2198
					      (0,
					       (((Class236) class236)
						.aShortArray3088[i_399_]),
					       i_406_)));
			    }
			}
		    }
		}
	    }
	}
    }