final void method982(int i, int i_294_, int i_295_, int i_296_, int i_297_,
			 int i_298_, int i_299_, int i_300_) {
	if (((AbstractSoftwareRaster) this).softwareToolkit.method3716())
	    throw new IllegalStateException();
	if (i_295_ > 0 && i_296_ > 0) {
	    int i_301_ = 0;
	    int i_302_ = 0;
	    int i_303_
		= ((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).maxWidth;
	    int i_304_ = (((AbstractSoftwareRaster) this).anInt8461
			  + ((AbstractSoftwareRaster) this).width
			  + ((AbstractSoftwareRaster) this).anInt8454);
	    int i_305_ = (((AbstractSoftwareRaster) this).anInt8464
			  + ((AbstractSoftwareRaster) this).height
			  + ((AbstractSoftwareRaster) this).anInt8456);
	    int i_306_ = (i_304_ << 16) / i_295_;
	    int i_307_ = (i_305_ << 16) / i_296_;
	    if (((AbstractSoftwareRaster) this).anInt8461 > 0) {
		int i_308_
		    = (((((AbstractSoftwareRaster) this).anInt8461 << 16) + i_306_ - 1)
		       / i_306_);
		i += i_308_;
		i_301_ += i_308_ * i_306_ - (((AbstractSoftwareRaster) this).anInt8461
					     << 16);
	    }
	    if (((AbstractSoftwareRaster) this).anInt8464 > 0) {
		int i_309_
		    = (((((AbstractSoftwareRaster) this).anInt8464 << 16) + i_307_ - 1)
		       / i_307_);
		i_294_ += i_309_;
		i_302_ += i_309_ * i_307_ - (((AbstractSoftwareRaster) this).anInt8464
					     << 16);
	    }
	    if (((AbstractSoftwareRaster) this).width < i_304_)
		i_295_ = ((((AbstractSoftwareRaster) this).width << 16) - i_301_
			  + i_306_ - 1) / i_306_;
	    if (((AbstractSoftwareRaster) this).height < i_305_)
		i_296_ = ((((AbstractSoftwareRaster) this).height << 16) - i_302_
			  + i_307_ - 1) / i_307_;
	    int i_310_ = i + i_294_ * i_303_;
	    int i_311_ = i_303_ - i_295_;
	    if (i_294_ + i_296_
		> ((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).height)
		i_296_ -= (i_294_ + i_296_
			   - (((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit)
			      .height));
	    if (i_294_
		< ((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).heightOffset) {
		int i_312_ = ((((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit)
			       .heightOffset)
			      - i_294_);
		i_296_ -= i_312_;
		i_310_ += i_312_ * i_303_;
		i_302_ += i_307_ * i_312_;
	    }
	    if (i + i_295_
		> ((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).width) {
		int i_313_
		    = (i + i_295_
		       - (((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit)
			  .width));
		i_295_ -= i_313_;
		i_311_ += i_313_;
	    }
	    if (i
		< ((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).widthOffset) {
		int i_314_ = ((((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit)
			       .widthOffset)
			      - i);
		i_295_ -= i_314_;
		i_310_ += i_314_;
		i_301_ += i_306_ * i_314_;
		i_311_ += i_314_;
	    }
	    int[] is = (((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit)
			.pixelBuffer);
	    if (i_299_ == 0) {
		if (i_297_ == 1) {
		    int i_315_ = i_301_;
		    for (int i_316_ = -i_296_; i_316_ < 0; i_316_++) {
			int i_317_ = ((i_302_ >> 16)
				      * ((AbstractSoftwareRaster) this).width);
			for (int i_318_ = -i_295_; i_318_ < 0; i_318_++) {
			    is[i_310_++]
				= (((BufferedSoftwareRaster) this).pixelArray
				   [(i_301_ >> 16) + i_317_]);
			    i_301_ += i_306_;
			}
			i_302_ += i_307_;
			i_301_ = i_315_;
			i_310_ += i_311_;
		    }
		    return;
		}
		if (i_297_ == 0) {
		    int i_319_ = (i_298_ & 0xff0000) >> 16;
		    int i_320_ = (i_298_ & 0xff00) >> 8;
		    int i_321_ = i_298_ & 0xff;
		    int i_322_ = i_301_;
		    for (int i_323_ = -i_296_; i_323_ < 0; i_323_++) {
			int i_324_ = ((i_302_ >> 16)
				      * ((AbstractSoftwareRaster) this).width);
			for (int i_325_ = -i_295_; i_325_ < 0; i_325_++) {
			    int i_326_
				= (((BufferedSoftwareRaster) this).pixelArray
				   [(i_301_ >> 16) + i_324_]);
			    int i_327_
				= (i_326_ & 0xff0000) * i_319_ & ~0xffffff;
			    int i_328_ = (i_326_ & 0xff00) * i_320_ & 0xff0000;
			    int i_329_ = (i_326_ & 0xff) * i_321_ & 0xff00;
			    is[i_310_++] = (i_327_ | i_328_ | i_329_) >>> 8;
			    i_301_ += i_306_;
			}
			i_302_ += i_307_;
			i_301_ = i_322_;
			i_310_ += i_311_;
		    }
		    return;
		}
		if (i_297_ == 3) {
		    int i_330_ = i_301_;
		    for (int i_331_ = -i_296_; i_331_ < 0; i_331_++) {
			int i_332_ = ((i_302_ >> 16)
				      * ((AbstractSoftwareRaster) this).width);
			for (int i_333_ = -i_295_; i_333_ < 0; i_333_++) {
			    int i_334_
				= (((BufferedSoftwareRaster) this).pixelArray
				   [(i_301_ >> 16) + i_332_]);
			    int i_335_ = i_334_ + i_298_;
			    int i_336_
				= (i_334_ & 0xff00ff) + (i_298_ & 0xff00ff);
			    int i_337_ = ((i_336_ & 0x1000100)
					  + (i_335_ - i_336_ & 0x10000));
			    is[i_310_++]
				= i_335_ - i_337_ | i_337_ - (i_337_ >>> 8);
			    i_301_ += i_306_;
			}
			i_302_ += i_307_;
			i_301_ = i_330_;
			i_310_ += i_311_;
		    }
		    return;
		}
		if (i_297_ == 2) {
		    int i_338_ = i_298_ >>> 24;
		    int i_339_ = 256 - i_338_;
		    int i_340_ = (i_298_ & 0xff00ff) * i_339_ & ~0xff00ff;
		    int i_341_ = (i_298_ & 0xff00) * i_339_ & 0xff0000;
		    i_298_ = (i_340_ | i_341_) >>> 8;
		    int i_342_ = i_301_;
		    for (int i_343_ = -i_296_; i_343_ < 0; i_343_++) {
			int i_344_ = ((i_302_ >> 16)
				      * ((AbstractSoftwareRaster) this).width);
			for (int i_345_ = -i_295_; i_345_ < 0; i_345_++) {
			    int i_346_
				= (((BufferedSoftwareRaster) this).pixelArray
				   [(i_301_ >> 16) + i_344_]);
			    i_340_ = (i_346_ & 0xff00ff) * i_338_ & ~0xff00ff;
			    i_341_ = (i_346_ & 0xff00) * i_338_ & 0xff0000;
			    is[i_310_++] = ((i_340_ | i_341_) >>> 8) + i_298_;
			    i_301_ += i_306_;
			}
			i_302_ += i_307_;
			i_301_ = i_342_;
			i_310_ += i_311_;
		    }
		    return;
		}
		throw new IllegalArgumentException();
	    }
	    if (i_299_ == 1) {
		if (i_297_ == 1) {
		    int i_347_ = i_301_;
		    for (int i_348_ = -i_296_; i_348_ < 0; i_348_++) {
			int i_349_ = ((i_302_ >> 16)
				      * ((AbstractSoftwareRaster) this).width);
			for (int i_350_ = -i_295_; i_350_ < 0; i_350_++) {
			    int i_351_
				= (((BufferedSoftwareRaster) this).pixelArray
				   [(i_301_ >> 16) + i_349_]);
			    int i_352_ = i_351_ >>> 24;
			    int i_353_ = 256 - i_352_;
			    int i_354_ = is[i_310_];
			    is[i_310_++]
				= (((((i_351_ & 0xff00ff) * i_352_
				      + (i_354_ & 0xff00ff) * i_353_)
				     & ~0xff00ff)
				    >> 8)
				   + ((((i_351_ & ~0xff00ff) >>> 8) * i_352_
				       + ((i_354_ & ~0xff00ff) >>> 8) * i_353_)
				      & ~0xff00ff));
			    i_301_ += i_306_;
			}
			i_302_ += i_307_;
			i_301_ = i_347_;
			i_310_ += i_311_;
		    }
		    return;
		}
		if (i_297_ == 0) {
		    int i_355_ = i_301_;
		    if ((i_298_ & 0xffffff) == 16777215) {
			for (int i_356_ = -i_296_; i_356_ < 0; i_356_++) {
			    int i_357_ = ((i_302_ >> 16)
					  * ((AbstractSoftwareRaster) this).width);
			    for (int i_358_ = -i_295_; i_358_ < 0; i_358_++) {
				int i_359_ = (((BufferedSoftwareRaster) this)
					      .pixelArray
					      [(i_301_ >> 16) + i_357_]);
				int i_360_
				    = (i_359_ >>> 24) * (i_298_ >>> 24) >> 8;
				int i_361_ = 256 - i_360_;
				int i_362_ = is[i_310_];
				is[i_310_++]
				    = ((((i_359_ & 0xff00ff) * i_360_
					 + (i_362_ & 0xff00ff) * i_361_)
					& ~0xff00ff)
				       + (((i_359_ & 0xff00) * i_360_
					   + (i_362_ & 0xff00) * i_361_)
					  & 0xff0000)) >> 8;
				i_301_ += i_306_;
			    }
			    i_302_ += i_307_;
			    i_301_ = i_355_;
			    i_310_ += i_311_;
			}
		    } else {
			int i_363_ = (i_298_ & 0xff0000) >> 16;
			int i_364_ = (i_298_ & 0xff00) >> 8;
			int i_365_ = i_298_ & 0xff;
			for (int i_366_ = -i_296_; i_366_ < 0; i_366_++) {
			    int i_367_ = ((i_302_ >> 16)
					  * ((AbstractSoftwareRaster) this).width);
			    for (int i_368_ = -i_295_; i_368_ < 0; i_368_++) {
				int i_369_ = (((BufferedSoftwareRaster) this)
					      .pixelArray
					      [(i_301_ >> 16) + i_367_]);
				int i_370_
				    = (i_369_ >>> 24) * (i_298_ >>> 24) >> 8;
				int i_371_ = 256 - i_370_;
				if (i_370_ != 255) {
				    int i_372_ = ((i_369_ & 0xff0000) * i_363_
						  & ~0xffffff);
				    int i_373_ = ((i_369_ & 0xff00) * i_364_
						  & 0xff0000);
				    int i_374_
					= (i_369_ & 0xff) * i_365_ & 0xff00;
				    i_369_ = (i_372_ | i_373_ | i_374_) >>> 8;
				    int i_375_ = is[i_310_];
				    is[i_310_++]
					= ((((i_369_ & 0xff00ff) * i_370_
					     + (i_375_ & 0xff00ff) * i_371_)
					    & ~0xff00ff)
					   + (((i_369_ & 0xff00) * i_370_
					       + (i_375_ & 0xff00) * i_371_)
					      & 0xff0000)) >> 8;
				} else {
				    int i_376_ = ((i_369_ & 0xff0000) * i_363_
						  & ~0xffffff);
				    int i_377_ = ((i_369_ & 0xff00) * i_364_
						  & 0xff0000);
				    int i_378_
					= (i_369_ & 0xff) * i_365_ & 0xff00;
				    is[i_310_++]
					= (i_376_ | i_377_ | i_378_) >>> 8;
				}
				i_301_ += i_306_;
			    }
			    i_302_ += i_307_;
			    i_301_ = i_355_;
			    i_310_ += i_311_;
			}
			return;
		    }
		    return;
		}
		if (i_297_ == 3) {
		    int i_379_ = i_301_;
		    for (int i_380_ = -i_296_; i_380_ < 0; i_380_++) {
			int i_381_ = ((i_302_ >> 16)
				      * ((AbstractSoftwareRaster) this).width);
			for (int i_382_ = -i_295_; i_382_ < 0; i_382_++) {
			    int i_383_
				= (((BufferedSoftwareRaster) this).pixelArray
				   [(i_301_ >> 16) + i_381_]);
			    int i_384_ = i_383_ + i_298_;
			    int i_385_
				= (i_383_ & 0xff00ff) + (i_298_ & 0xff00ff);
			    int i_386_ = ((i_385_ & 0x1000100)
					  + (i_384_ - i_385_ & 0x10000));
			    i_386_ = i_384_ - i_386_ | i_386_ - (i_386_ >>> 8);
			    int i_387_
				= (i_386_ >>> 24) * (i_298_ >>> 24) >> 8;
			    int i_388_ = 256 - i_387_;
			    if (i_387_ != 255) {
				i_383_ = i_386_;
				i_386_ = is[i_310_];
				i_386_ = ((((i_383_ & 0xff00ff) * i_387_
					    + (i_386_ & 0xff00ff) * i_388_)
					   & ~0xff00ff)
					  + (((i_383_ & 0xff00) * i_387_
					      + (i_386_ & 0xff00) * i_388_)
					     & 0xff0000)) >> 8;
			    }
			    is[i_310_++] = i_386_;
			    i_301_ += i_306_;
			}
			i_302_ += i_307_;
			i_301_ = i_379_;
			i_310_ += i_311_;
		    }
		    return;
		}
		if (i_297_ == 2) {
		    int i_389_ = i_298_ >>> 24;
		    int i_390_ = 256 - i_389_;
		    int i_391_ = (i_298_ & 0xff00ff) * i_390_ & ~0xff00ff;
		    int i_392_ = (i_298_ & 0xff00) * i_390_ & 0xff0000;
		    i_298_ = (i_391_ | i_392_) >>> 8;
		    int i_393_ = i_301_;
		    for (int i_394_ = -i_296_; i_394_ < 0; i_394_++) {
			int i_395_ = ((i_302_ >> 16)
				      * ((AbstractSoftwareRaster) this).width);
			for (int i_396_ = -i_295_; i_396_ < 0; i_396_++) {
			    int i_397_
				= (((BufferedSoftwareRaster) this).pixelArray
				   [(i_301_ >> 16) + i_395_]);
			    int i_398_ = i_397_ >>> 24;
			    int i_399_ = 256 - i_398_;
			    i_391_ = (i_397_ & 0xff00ff) * i_389_ & ~0xff00ff;
			    i_392_ = (i_397_ & 0xff00) * i_389_ & 0xff0000;
			    i_397_ = ((i_391_ | i_392_) >>> 8) + i_298_;
			    int i_400_ = is[i_310_];
			    is[i_310_++] = ((((i_397_ & 0xff00ff) * i_398_
					      + (i_400_ & 0xff00ff) * i_399_)
					     & ~0xff00ff)
					    + (((i_397_ & 0xff00) * i_398_
						+ (i_400_ & 0xff00) * i_399_)
					       & 0xff0000)) >> 8;
			    i_301_ += i_306_;
			}
			i_302_ += i_307_;
			i_301_ = i_393_;
			i_310_ += i_311_;
		    }
		    return;
		}
		throw new IllegalArgumentException();
	    }
	    if (i_299_ == 2) {
		if (i_297_ == 1) {
		    int i_401_ = i_301_;
		    for (int i_402_ = -i_296_; i_402_ < 0; i_402_++) {
			int i_403_ = ((i_302_ >> 16)
				      * ((AbstractSoftwareRaster) this).width);
			for (int i_404_ = -i_295_; i_404_ < 0; i_404_++) {
			    int i_405_
				= (((BufferedSoftwareRaster) this).pixelArray
				   [(i_301_ >> 16) + i_403_]);
			    if (i_405_ != 0) {
				int i_406_ = is[i_310_];
				int i_407_ = i_405_ + i_406_;
				int i_408_ = ((i_405_ & 0xff00ff)
					      + (i_406_ & 0xff00ff));
				i_406_
				    = (i_408_ & 0x1000100) + (i_407_ - i_408_
							      & 0x10000);
				is[i_310_++]
				    = i_407_ - i_406_ | i_406_ - (i_406_
								  >>> 8);
			    } else
				i_310_++;
			    i_301_ += i_306_;
			}
			i_302_ += i_307_;
			i_301_ = i_401_;
			i_310_ += i_311_;
		    }
		    return;
		}
		if (i_297_ == 0) {
		    int i_409_ = i_301_;
		    int i_410_ = (i_298_ & 0xff0000) >> 16;
		    int i_411_ = (i_298_ & 0xff00) >> 8;
		    int i_412_ = i_298_ & 0xff;
		    for (int i_413_ = -i_296_; i_413_ < 0; i_413_++) {
			int i_414_ = ((i_302_ >> 16)
				      * ((AbstractSoftwareRaster) this).width);
			for (int i_415_ = -i_295_; i_415_ < 0; i_415_++) {
			    int i_416_
				= (((BufferedSoftwareRaster) this).pixelArray
				   [(i_301_ >> 16) + i_414_]);
			    if (i_416_ != 0) {
				int i_417_
				    = (i_416_ & 0xff0000) * i_410_ & ~0xffffff;
				int i_418_
				    = (i_416_ & 0xff00) * i_411_ & 0xff0000;
				int i_419_ = (i_416_ & 0xff) * i_412_ & 0xff00;
				i_416_ = (i_417_ | i_418_ | i_419_) >>> 8;
				int i_420_ = is[i_310_];
				int i_421_ = i_416_ + i_420_;
				int i_422_ = ((i_416_ & 0xff00ff)
					      + (i_420_ & 0xff00ff));
				i_420_
				    = (i_422_ & 0x1000100) + (i_421_ - i_422_
							      & 0x10000);
				is[i_310_++]
				    = i_421_ - i_420_ | i_420_ - (i_420_
								  >>> 8);
			    } else
				i_310_++;
			    i_301_ += i_306_;
			}
			i_302_ += i_307_;
			i_301_ = i_409_;
			i_310_ += i_311_;
		    }
		    return;
		}
		if (i_297_ == 3) {
		    int i_423_ = i_301_;
		    for (int i_424_ = -i_296_; i_424_ < 0; i_424_++) {
			int i_425_ = ((i_302_ >> 16)
				      * ((AbstractSoftwareRaster) this).width);
			for (int i_426_ = -i_295_; i_426_ < 0; i_426_++) {
			    int i_427_
				= (((BufferedSoftwareRaster) this).pixelArray
				   [(i_301_ >> 16) + i_425_]);
			    int i_428_ = i_427_ + i_298_;
			    int i_429_
				= (i_427_ & 0xff00ff) + (i_298_ & 0xff00ff);
			    int i_430_ = ((i_429_ & 0x1000100)
					  + (i_428_ - i_429_ & 0x10000));
			    i_427_ = i_428_ - i_430_ | i_430_ - (i_430_ >>> 8);
			    i_430_ = is[i_310_];
			    i_428_ = i_427_ + i_430_;
			    i_429_ = (i_427_ & 0xff00ff) + (i_430_ & 0xff00ff);
			    i_430_ = (i_429_ & 0x1000100) + (i_428_ - i_429_
							     & 0x10000);
			    is[i_310_++]
				= i_428_ - i_430_ | i_430_ - (i_430_ >>> 8);
			    i_301_ += i_306_;
			}
			i_302_ += i_307_;
			i_301_ = i_423_;
			i_310_ += i_311_;
		    }
		    return;
		}
		if (i_297_ == 2) {
		    int i_431_ = i_298_ >>> 24;
		    int i_432_ = 256 - i_431_;
		    int i_433_ = (i_298_ & 0xff00ff) * i_432_ & ~0xff00ff;
		    int i_434_ = (i_298_ & 0xff00) * i_432_ & 0xff0000;
		    i_298_ = (i_433_ | i_434_) >>> 8;
		    int i_435_ = i_301_;
		    for (int i_436_ = -i_296_; i_436_ < 0; i_436_++) {
			int i_437_ = ((i_302_ >> 16)
				      * ((AbstractSoftwareRaster) this).width);
			for (int i_438_ = -i_295_; i_438_ < 0; i_438_++) {
			    int i_439_
				= (((BufferedSoftwareRaster) this).pixelArray
				   [(i_301_ >> 16) + i_437_]);
			    if (i_439_ != 0) {
				i_433_
				    = (i_439_ & 0xff00ff) * i_431_ & ~0xff00ff;
				i_434_ = (i_439_ & 0xff00) * i_431_ & 0xff0000;
				i_439_ = ((i_433_ | i_434_) >>> 8) + i_298_;
				int i_440_ = is[i_310_];
				int i_441_ = i_439_ + i_440_;
				int i_442_ = ((i_439_ & 0xff00ff)
					      + (i_440_ & 0xff00ff));
				i_440_
				    = (i_442_ & 0x1000100) + (i_441_ - i_442_
							      & 0x10000);
				is[i_310_++]
				    = i_441_ - i_440_ | i_440_ - (i_440_
								  >>> 8);
			    } else
				i_310_++;
			    i_301_ += i_306_;
			}
			i_302_ += i_307_;
			i_301_ = i_435_;
			i_310_ += i_311_;
		    }
		    return;
		}
		throw new IllegalArgumentException();
	    }
	    throw new IllegalArgumentException();
	}
    }