final void method964(int i, int i_148_, int i_149_, int i_150_,
			 int i_151_) {
	if (((AbstractSoftwareRaster) this).softwareToolkit.method3716())
	    throw new IllegalStateException();
	int i_152_
	    = ((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).maxWidth;
	i += ((AbstractSoftwareRaster) this).anInt8461;
	i_148_ += ((AbstractSoftwareRaster) this).anInt8464;
	int i_153_ = i_148_ * i_152_ + i;
	int i_154_ = 0;
	int i_155_ = ((AbstractSoftwareRaster) this).height;
	int i_156_ = ((AbstractSoftwareRaster) this).width;
	int i_157_ = i_152_ - i_156_;
	int i_158_ = 0;
	if (i_148_
	    < ((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).heightOffset) {
	    int i_159_
		= (((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).heightOffset
		   - i_148_);
	    i_155_ -= i_159_;
	    i_148_
		= ((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).heightOffset;
	    i_154_ += i_159_ * i_156_;
	    i_153_ += i_159_ * i_152_;
	}
	if (i_148_ + i_155_
	    > ((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).height)
	    i_155_ -= i_148_ + i_155_ - ((SoftwareToolkit) (((AbstractSoftwareRaster) this)
						    .softwareToolkit)).height;
	if (i < ((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).widthOffset) {
	    int i_160_
		= (((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).widthOffset
		   - i);
	    i_156_ -= i_160_;
	    i = ((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).widthOffset;
	    i_154_ += i_160_;
	    i_153_ += i_160_;
	    i_158_ += i_160_;
	    i_157_ += i_160_;
	}
	if (i + i_156_
	    > ((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).width) {
	    int i_161_ = (i + i_156_
			  - (((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit)
			     .width));
	    i_156_ -= i_161_;
	    i_158_ += i_161_;
	    i_157_ += i_161_;
	}
	if (i_156_ > 0 && i_155_ > 0) {
	    int[] is = (((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit)
			.pixelBuffer);
	    if (i_151_ == 0) {
		if (i_149_ == 1) {
		    for (int i_162_ = -i_155_; i_162_ < 0; i_162_++) {
			int i_163_ = i_153_ + i_156_ - 3;
			while (i_153_ < i_163_) {
			    is[i_153_++] = (((BufferedSoftwareRaster) this)
					    .pixelArray[i_154_++]);
			    is[i_153_++] = (((BufferedSoftwareRaster) this)
					    .pixelArray[i_154_++]);
			    is[i_153_++] = (((BufferedSoftwareRaster) this)
					    .pixelArray[i_154_++]);
			    is[i_153_++] = (((BufferedSoftwareRaster) this)
					    .pixelArray[i_154_++]);
			}
			i_163_ += 3;
			while (i_153_ < i_163_)
			    is[i_153_++] = (((BufferedSoftwareRaster) this)
					    .pixelArray[i_154_++]);
			i_153_ += i_157_;
			i_154_ += i_158_;
		    }
		    return;
		}
		if (i_149_ == 0) {
		    int i_164_ = (i_150_ & 0xff0000) >> 16;
		    int i_165_ = (i_150_ & 0xff00) >> 8;
		    int i_166_ = i_150_ & 0xff;
		    for (int i_167_ = -i_155_; i_167_ < 0; i_167_++) {
			for (int i_168_ = -i_156_; i_168_ < 0; i_168_++) {
			    int i_169_ = (((BufferedSoftwareRaster) this)
					  .pixelArray[i_154_++]);
			    int i_170_
				= (i_169_ & 0xff0000) * i_164_ & ~0xffffff;
			    int i_171_ = (i_169_ & 0xff00) * i_165_ & 0xff0000;
			    int i_172_ = (i_169_ & 0xff) * i_166_ & 0xff00;
			    is[i_153_++] = (i_170_ | i_171_ | i_172_) >>> 8;
			}
			i_153_ += i_157_;
			i_154_ += i_158_;
		    }
		    return;
		}
		if (i_149_ == 3) {
		    for (int i_173_ = -i_155_; i_173_ < 0; i_173_++) {
			for (int i_174_ = -i_156_; i_174_ < 0; i_174_++) {
			    int i_175_ = (((BufferedSoftwareRaster) this)
					  .pixelArray[i_154_++]);
			    int i_176_ = i_175_ + i_150_;
			    int i_177_
				= (i_175_ & 0xff00ff) + (i_150_ & 0xff00ff);
			    int i_178_ = ((i_177_ & 0x1000100)
					  + (i_176_ - i_177_ & 0x10000));
			    is[i_153_++]
				= i_176_ - i_178_ | i_178_ - (i_178_ >>> 8);
			}
			i_153_ += i_157_;
			i_154_ += i_158_;
		    }
		    return;
		}
		if (i_149_ == 2) {
		    int i_179_ = i_150_ >>> 24;
		    int i_180_ = 256 - i_179_;
		    int i_181_ = (i_150_ & 0xff00ff) * i_180_ & ~0xff00ff;
		    int i_182_ = (i_150_ & 0xff00) * i_180_ & 0xff0000;
		    i_150_ = (i_181_ | i_182_) >>> 8;
		    for (int i_183_ = -i_155_; i_183_ < 0; i_183_++) {
			for (int i_184_ = -i_156_; i_184_ < 0; i_184_++) {
			    int i_185_ = (((BufferedSoftwareRaster) this)
					  .pixelArray[i_154_++]);
			    i_181_ = (i_185_ & 0xff00ff) * i_179_ & ~0xff00ff;
			    i_182_ = (i_185_ & 0xff00) * i_179_ & 0xff0000;
			    is[i_153_++] = ((i_181_ | i_182_) >>> 8) + i_150_;
			}
			i_153_ += i_157_;
			i_154_ += i_158_;
		    }
		    return;
		}
		throw new IllegalArgumentException();
	    }
	    if (i_151_ == 1) {
		if (i_149_ == 1) {
		    for (int i_186_ = -i_155_; i_186_ < 0; i_186_++) {
			for (int i_187_ = -i_156_; i_187_ < 0; i_187_++) {
			    int i_188_ = (((BufferedSoftwareRaster) this)
					  .pixelArray[i_154_++]);
			    int i_189_ = i_188_ >>> 24;
			    int i_190_ = 256 - i_189_;
			    int i_191_ = is[i_153_];
			    is[i_153_++]
				= (((((i_188_ & 0xff00ff) * i_189_
				      + (i_191_ & 0xff00ff) * i_190_)
				     & ~0xff00ff)
				    >> 8)
				   + ((((i_188_ & ~0xff00ff) >>> 8) * i_189_
				       + ((i_191_ & ~0xff00ff) >>> 8) * i_190_)
				      & ~0xff00ff));
			}
			i_153_ += i_157_;
			i_154_ += i_158_;
		    }
		    return;
		}
		if (i_149_ == 0) {
		    if ((i_150_ & 0xffffff) == 16777215) {
			for (int i_192_ = -i_155_; i_192_ < 0; i_192_++) {
			    for (int i_193_ = -i_156_; i_193_ < 0; i_193_++) {
				int i_194_ = (((BufferedSoftwareRaster) this)
					      .pixelArray[i_154_++]);
				int i_195_
				    = (i_194_ >>> 24) * (i_150_ >>> 24) >> 8;
				int i_196_ = 256 - i_195_;
				int i_197_ = is[i_153_];
				is[i_153_++]
				    = ((((i_194_ & 0xff00ff) * i_195_
					 + (i_197_ & 0xff00ff) * i_196_)
					& ~0xff00ff)
				       + (((i_194_ & 0xff00) * i_195_
					   + (i_197_ & 0xff00) * i_196_)
					  & 0xff0000)) >> 8;
			    }
			    i_153_ += i_157_;
			    i_154_ += i_158_;
			}
		    } else {
			int i_198_ = (i_150_ & 0xff0000) >> 16;
			int i_199_ = (i_150_ & 0xff00) >> 8;
			int i_200_ = i_150_ & 0xff;
			for (int i_201_ = -i_155_; i_201_ < 0; i_201_++) {
			    for (int i_202_ = -i_156_; i_202_ < 0; i_202_++) {
				int i_203_ = (((BufferedSoftwareRaster) this)
					      .pixelArray[i_154_++]);
				int i_204_
				    = (i_203_ >>> 24) * (i_150_ >>> 24) >> 8;
				int i_205_ = 256 - i_204_;
				if (i_204_ != 255) {
				    int i_206_ = ((i_203_ & 0xff0000) * i_198_
						  & ~0xffffff);
				    int i_207_ = ((i_203_ & 0xff00) * i_199_
						  & 0xff0000);
				    int i_208_
					= (i_203_ & 0xff) * i_200_ & 0xff00;
				    i_203_ = (i_206_ | i_207_ | i_208_) >>> 8;
				    int i_209_ = is[i_153_];
				    is[i_153_++]
					= ((((i_203_ & 0xff00ff) * i_204_
					     + (i_209_ & 0xff00ff) * i_205_)
					    & ~0xff00ff)
					   + (((i_203_ & 0xff00) * i_204_
					       + (i_209_ & 0xff00) * i_205_)
					      & 0xff0000)) >> 8;
				} else {
				    int i_210_ = ((i_203_ & 0xff0000) * i_198_
						  & ~0xffffff);
				    int i_211_ = ((i_203_ & 0xff00) * i_199_
						  & 0xff0000);
				    int i_212_
					= (i_203_ & 0xff) * i_200_ & 0xff00;
				    is[i_153_++]
					= (i_210_ | i_211_ | i_212_) >>> 8;
				}
			    }
			    i_153_ += i_157_;
			    i_154_ += i_158_;
			}
			return;
		    }
		    return;
		}
		if (i_149_ == 3) {
		    for (int i_213_ = -i_155_; i_213_ < 0; i_213_++) {
			for (int i_214_ = -i_156_; i_214_ < 0; i_214_++) {
			    int i_215_ = (((BufferedSoftwareRaster) this)
					  .pixelArray[i_154_++]);
			    int i_216_ = i_215_ + i_150_;
			    int i_217_
				= (i_215_ & 0xff00ff) + (i_150_ & 0xff00ff);
			    int i_218_ = ((i_217_ & 0x1000100)
					  + (i_216_ - i_217_ & 0x10000));
			    i_218_ = i_216_ - i_218_ | i_218_ - (i_218_ >>> 8);
			    int i_219_
				= (i_218_ >>> 24) * (i_150_ >>> 24) >> 8;
			    int i_220_ = 256 - i_219_;
			    if (i_219_ != 255) {
				i_215_ = i_218_;
				i_218_ = is[i_153_];
				i_218_ = ((((i_215_ & 0xff00ff) * i_219_
					    + (i_218_ & 0xff00ff) * i_220_)
					   & ~0xff00ff)
					  + (((i_215_ & 0xff00) * i_219_
					      + (i_218_ & 0xff00) * i_220_)
					     & 0xff0000)) >> 8;
			    }
			    is[i_153_++] = i_218_;
			}
			i_153_ += i_157_;
			i_154_ += i_158_;
		    }
		    return;
		}
		if (i_149_ == 2) {
		    int i_221_ = i_150_ >>> 24;
		    int i_222_ = 256 - i_221_;
		    int i_223_ = (i_150_ & 0xff00ff) * i_222_ & ~0xff00ff;
		    int i_224_ = (i_150_ & 0xff00) * i_222_ & 0xff0000;
		    i_150_ = (i_223_ | i_224_) >>> 8;
		    for (int i_225_ = -i_155_; i_225_ < 0; i_225_++) {
			for (int i_226_ = -i_156_; i_226_ < 0; i_226_++) {
			    int i_227_ = (((BufferedSoftwareRaster) this)
					  .pixelArray[i_154_++]);
			    int i_228_ = i_227_ >>> 24;
			    int i_229_ = 256 - i_228_;
			    i_223_ = (i_227_ & 0xff00ff) * i_221_ & ~0xff00ff;
			    i_224_ = (i_227_ & 0xff00) * i_221_ & 0xff0000;
			    i_227_ = ((i_223_ | i_224_) >>> 8) + i_150_;
			    int i_230_ = is[i_153_];
			    is[i_153_++] = ((((i_227_ & 0xff00ff) * i_228_
					      + (i_230_ & 0xff00ff) * i_229_)
					     & ~0xff00ff)
					    + (((i_227_ & 0xff00) * i_228_
						+ (i_230_ & 0xff00) * i_229_)
					       & 0xff0000)) >> 8;
			}
			i_153_ += i_157_;
			i_154_ += i_158_;
		    }
		    return;
		}
		throw new IllegalArgumentException();
	    }
	    if (i_151_ == 2) {
		if (i_149_ == 1) {
		    for (int i_231_ = -i_155_; i_231_ < 0; i_231_++) {
			for (int i_232_ = -i_156_; i_232_ < 0; i_232_++) {
			    int i_233_ = (((BufferedSoftwareRaster) this)
					  .pixelArray[i_154_++]);
			    if (i_233_ != 0) {
				int i_234_ = is[i_153_];
				int i_235_ = i_233_ + i_234_;
				int i_236_ = ((i_233_ & 0xff00ff)
					      + (i_234_ & 0xff00ff));
				i_234_
				    = (i_236_ & 0x1000100) + (i_235_ - i_236_
							      & 0x10000);
				is[i_153_++]
				    = i_235_ - i_234_ | i_234_ - (i_234_
								  >>> 8);
			    } else
				i_153_++;
			}
			i_153_ += i_157_;
			i_154_ += i_158_;
		    }
		    return;
		}
		if (i_149_ == 0) {
		    int i_237_ = (i_150_ & 0xff0000) >> 16;
		    int i_238_ = (i_150_ & 0xff00) >> 8;
		    int i_239_ = i_150_ & 0xff;
		    for (int i_240_ = -i_155_; i_240_ < 0; i_240_++) {
			for (int i_241_ = -i_156_; i_241_ < 0; i_241_++) {
			    int i_242_ = (((BufferedSoftwareRaster) this)
					  .pixelArray[i_154_++]);
			    if (i_242_ != 0) {
				int i_243_
				    = (i_242_ & 0xff0000) * i_237_ & ~0xffffff;
				int i_244_
				    = (i_242_ & 0xff00) * i_238_ & 0xff0000;
				int i_245_ = (i_242_ & 0xff) * i_239_ & 0xff00;
				i_242_ = (i_243_ | i_244_ | i_245_) >>> 8;
				int i_246_ = is[i_153_];
				int i_247_ = i_242_ + i_246_;
				int i_248_ = ((i_242_ & 0xff00ff)
					      + (i_246_ & 0xff00ff));
				i_246_
				    = (i_248_ & 0x1000100) + (i_247_ - i_248_
							      & 0x10000);
				is[i_153_++]
				    = i_247_ - i_246_ | i_246_ - (i_246_
								  >>> 8);
			    } else
				i_153_++;
			}
			i_153_ += i_157_;
			i_154_ += i_158_;
		    }
		    return;
		}
		if (i_149_ == 3) {
		    for (int i_249_ = -i_155_; i_249_ < 0; i_249_++) {
			for (int i_250_ = -i_156_; i_250_ < 0; i_250_++) {
			    int i_251_ = (((BufferedSoftwareRaster) this)
					  .pixelArray[i_154_++]);
			    int i_252_ = i_251_ + i_150_;
			    int i_253_
				= (i_251_ & 0xff00ff) + (i_150_ & 0xff00ff);
			    int i_254_ = ((i_253_ & 0x1000100)
					  + (i_252_ - i_253_ & 0x10000));
			    i_251_ = i_252_ - i_254_ | i_254_ - (i_254_ >>> 8);
			    i_254_ = is[i_153_];
			    i_252_ = i_251_ + i_254_;
			    i_253_ = (i_251_ & 0xff00ff) + (i_254_ & 0xff00ff);
			    i_254_ = (i_253_ & 0x1000100) + (i_252_ - i_253_
							     & 0x10000);
			    is[i_153_++]
				= i_252_ - i_254_ | i_254_ - (i_254_ >>> 8);
			}
			i_153_ += i_157_;
			i_154_ += i_158_;
		    }
		    return;
		}
		if (i_149_ == 2) {
		    int i_255_ = i_150_ >>> 24;
		    int i_256_ = 256 - i_255_;
		    int i_257_ = (i_150_ & 0xff00ff) * i_256_ & ~0xff00ff;
		    int i_258_ = (i_150_ & 0xff00) * i_256_ & 0xff0000;
		    i_150_ = (i_257_ | i_258_) >>> 8;
		    for (int i_259_ = -i_155_; i_259_ < 0; i_259_++) {
			for (int i_260_ = -i_156_; i_260_ < 0; i_260_++) {
			    int i_261_ = (((BufferedSoftwareRaster) this)
					  .pixelArray[i_154_++]);
			    if (i_261_ != 0) {
				i_257_
				    = (i_261_ & 0xff00ff) * i_255_ & ~0xff00ff;
				i_258_ = (i_261_ & 0xff00) * i_255_ & 0xff0000;
				i_261_ = ((i_257_ | i_258_) >>> 8) + i_150_;
				int i_262_ = is[i_153_];
				int i_263_ = i_261_ + i_262_;
				int i_264_ = ((i_261_ & 0xff00ff)
					      + (i_262_ & 0xff00ff));
				i_262_
				    = (i_264_ & 0x1000100) + (i_263_ - i_264_
							      & 0x10000);
				is[i_153_++]
				    = i_263_ - i_262_ | i_262_ - (i_262_
								  >>> 8);
			    } else
				i_153_++;
			}
			i_153_ += i_157_;
			i_154_ += i_158_;
		    }
		    return;
		}
		throw new IllegalArgumentException();
	    }
	    throw new IllegalArgumentException();
	}
    }