final void method964(int i, int i_1096_, int i_1097_, int i_1098_,
			 int i_1099_) {
	if (((AbstractSoftwareRaster) this).softwareToolkit.method3716())
	    throw new IllegalStateException();
	int i_1100_
	    = ((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).maxWidth;
	i += ((AbstractSoftwareRaster) this).anInt8461;
	i_1096_ += ((AbstractSoftwareRaster) this).anInt8464;
	int i_1101_ = i_1096_ * i_1100_ + i;
	int i_1102_ = 0;
	int i_1103_ = ((AbstractSoftwareRaster) this).height;
	int i_1104_ = ((AbstractSoftwareRaster) this).width;
	int i_1105_ = i_1100_ - i_1104_;
	int i_1106_ = 0;
	if (i_1096_
	    < ((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).heightOffset) {
	    int i_1107_
		= (((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).heightOffset
		   - i_1096_);
	    i_1103_ -= i_1107_;
	    i_1096_
		= ((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).heightOffset;
	    i_1102_ += i_1107_ * i_1104_;
	    i_1101_ += i_1107_ * i_1100_;
	}
	if (i_1096_ + i_1103_
	    > ((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).height)
	    i_1103_
		-= i_1096_ + i_1103_ - ((SoftwareToolkit) (((AbstractSoftwareRaster) this)
						   .softwareToolkit)).height;
	if (i < ((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).widthOffset) {
	    int i_1108_
		= (((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).widthOffset
		   - i);
	    i_1104_ -= i_1108_;
	    i = ((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).widthOffset;
	    i_1102_ += i_1108_;
	    i_1101_ += i_1108_;
	    i_1106_ += i_1108_;
	    i_1105_ += i_1108_;
	}
	if (i + i_1104_
	    > ((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).width) {
	    int i_1109_ = (i + i_1104_
			   - (((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit)
			      .width));
	    i_1104_ -= i_1109_;
	    i_1106_ += i_1109_;
	    i_1105_ += i_1109_;
	}
	if (i_1104_ > 0 && i_1103_ > 0) {
	    int[] is = (((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit)
			.pixelBuffer);
	    if (i_1099_ == 0) {
		if (i_1097_ == 1) {
		    for (int i_1110_ = -i_1103_; i_1110_ < 0; i_1110_++) {
			int i_1111_ = i_1101_ + i_1104_ - 3;
			while (i_1101_ < i_1111_) {
			    is[i_1101_++]
				= (anIntArray9935
				   [aByteArray9934[i_1102_++] & 0xff]);
			    is[i_1101_++]
				= (anIntArray9935
				   [aByteArray9934[i_1102_++] & 0xff]);
			    is[i_1101_++]
				= (anIntArray9935
				   [aByteArray9934[i_1102_++] & 0xff]);
			    is[i_1101_++]
				= (anIntArray9935
				   [aByteArray9934[i_1102_++] & 0xff]);
			}
			i_1111_ += 3;
			while (i_1101_ < i_1111_)
			    is[i_1101_++]
				= (anIntArray9935
				   [aByteArray9934[i_1102_++] & 0xff]);
			i_1101_ += i_1105_;
			i_1102_ += i_1106_;
		    }
		    return;
		}
		if (i_1097_ == 0) {
		    int i_1112_ = (i_1098_ & 0xff0000) >> 16;
		    int i_1113_ = (i_1098_ & 0xff00) >> 8;
		    int i_1114_ = i_1098_ & 0xff;
		    for (int i_1115_ = -i_1103_; i_1115_ < 0; i_1115_++) {
			for (int i_1116_ = -i_1104_; i_1116_ < 0; i_1116_++) {
			    int i_1117_ = (anIntArray9935
					   [aByteArray9934[i_1102_++] & 0xff]);
			    int i_1118_
				= (i_1117_ & 0xff0000) * i_1112_ & ~0xffffff;
			    int i_1119_
				= (i_1117_ & 0xff00) * i_1113_ & 0xff0000;
			    int i_1120_ = (i_1117_ & 0xff) * i_1114_ & 0xff00;
			    is[i_1101_++]
				= (i_1118_ | i_1119_ | i_1120_) >>> 8;
			}
			i_1101_ += i_1105_;
			i_1102_ += i_1106_;
		    }
		    return;
		}
		if (i_1097_ == 3) {
		    for (int i_1121_ = -i_1103_; i_1121_ < 0; i_1121_++) {
			for (int i_1122_ = -i_1104_; i_1122_ < 0; i_1122_++) {
			    int i_1123_ = (anIntArray9935
					   [aByteArray9934[i_1102_++] & 0xff]);
			    int i_1124_ = i_1123_ + i_1098_;
			    int i_1125_
				= (i_1123_ & 0xff00ff) + (i_1098_ & 0xff00ff);
			    int i_1126_ = ((i_1125_ & 0x1000100)
					   + (i_1124_ - i_1125_ & 0x10000));
			    is[i_1101_++]
				= i_1124_ - i_1126_ | i_1126_ - (i_1126_
								 >>> 8);
			}
			i_1101_ += i_1105_;
			i_1102_ += i_1106_;
		    }
		    return;
		}
		if (i_1097_ == 2) {
		    int i_1127_ = i_1098_ >>> 24;
		    int i_1128_ = 256 - i_1127_;
		    int i_1129_ = (i_1098_ & 0xff00ff) * i_1128_ & ~0xff00ff;
		    int i_1130_ = (i_1098_ & 0xff00) * i_1128_ & 0xff0000;
		    i_1098_ = (i_1129_ | i_1130_) >>> 8;
		    for (int i_1131_ = -i_1103_; i_1131_ < 0; i_1131_++) {
			for (int i_1132_ = -i_1104_; i_1132_ < 0; i_1132_++) {
			    int i_1133_ = (anIntArray9935
					   [aByteArray9934[i_1102_++] & 0xff]);
			    i_1129_
				= (i_1133_ & 0xff00ff) * i_1127_ & ~0xff00ff;
			    i_1130_ = (i_1133_ & 0xff00) * i_1127_ & 0xff0000;
			    is[i_1101_++]
				= ((i_1129_ | i_1130_) >>> 8) + i_1098_;
			}
			i_1101_ += i_1105_;
			i_1102_ += i_1106_;
		    }
		    return;
		}
		throw new IllegalArgumentException();
	    }
	    if (i_1099_ == 1) {
		if (i_1097_ == 1) {
		    for (int i_1134_ = -i_1103_; i_1134_ < 0; i_1134_++) {
			for (int i_1135_ = -i_1104_; i_1135_ < 0; i_1135_++) {
			    int i_1136_ = aByteArray9934[i_1102_++];
			    if (i_1136_ != 0) {
				int i_1137_ = (anIntArray9935[i_1136_ & 0xff]
					       | ~0xffffff);
				int i_1138_ = 255;
				int i_1139_ = 0;
				int i_1140_ = is[i_1101_];
				is[i_1101_++]
				    = (((((i_1137_ & 0xff00ff) * i_1138_
					  + (i_1140_ & 0xff00ff) * i_1139_)
					 & ~0xff00ff)
					>> 8)
				       + (((((i_1137_ & ~0xff00ff) >>> 8)
					    * i_1138_)
					   + (((i_1140_ & ~0xff00ff) >>> 8)
					      * i_1139_))
					  & ~0xff00ff));
			    } else
				i_1101_++;
			}
			i_1101_ += i_1105_;
			i_1102_ += i_1106_;
		    }
		    return;
		}
		if (i_1097_ == 0) {
		    if ((i_1098_ & 0xffffff) == 16777215) {
			int i_1141_ = i_1098_ >>> 24;
			int i_1142_ = 256 - i_1141_;
			for (int i_1143_ = -i_1103_; i_1143_ < 0; i_1143_++) {
			    for (int i_1144_ = -i_1104_; i_1144_ < 0;
				 i_1144_++) {
				int i_1145_ = aByteArray9934[i_1102_++];
				if (i_1145_ != 0) {
				    int i_1146_
					= anIntArray9935[i_1145_ & 0xff];
				    int i_1147_ = is[i_1101_];
				    is[i_1101_++]
					= ((((i_1146_ & 0xff00ff) * i_1141_
					     + (i_1147_ & 0xff00ff) * i_1142_)
					    & ~0xff00ff)
					   + (((i_1146_ & 0xff00) * i_1141_
					       + (i_1147_ & 0xff00) * i_1142_)
					      & 0xff0000)) >> 8;
				} else
				    i_1101_++;
			    }
			    i_1101_ += i_1105_;
			    i_1102_ += i_1106_;
			}
		    } else {
			int i_1148_ = (i_1098_ & 0xff0000) >> 16;
			int i_1149_ = (i_1098_ & 0xff00) >> 8;
			int i_1150_ = i_1098_ & 0xff;
			int i_1151_ = i_1098_ >>> 24;
			int i_1152_ = 256 - i_1151_;
			for (int i_1153_ = -i_1103_; i_1153_ < 0; i_1153_++) {
			    for (int i_1154_ = -i_1104_; i_1154_ < 0;
				 i_1154_++) {
				int i_1155_ = aByteArray9934[i_1102_++];
				if (i_1155_ != 0) {
				    int i_1156_
					= anIntArray9935[i_1155_ & 0xff];
				    if (i_1151_ != 255) {
					int i_1157_
					    = ((i_1156_ & 0xff0000) * i_1148_
					       & ~0xffffff);
					int i_1158_
					    = ((i_1156_ & 0xff00) * i_1149_
					       & 0xff0000);
					int i_1159_
					    = ((i_1156_ & 0xff) * i_1150_
					       & 0xff00);
					i_1156_ = (i_1157_ | i_1158_
						   | i_1159_) >>> 8;
					int i_1160_ = is[i_1101_];
					is[i_1101_++]
					    = ((((i_1156_ & 0xff00ff) * i_1151_
						 + ((i_1160_ & 0xff00ff)
						    * i_1152_))
						& ~0xff00ff)
					       + (((i_1156_ & 0xff00) * i_1151_
						   + ((i_1160_ & 0xff00)
						      * i_1152_))
						  & 0xff0000)) >> 8;
				    } else {
					int i_1161_
					    = ((i_1156_ & 0xff0000) * i_1148_
					       & ~0xffffff);
					int i_1162_
					    = ((i_1156_ & 0xff00) * i_1149_
					       & 0xff0000);
					int i_1163_
					    = ((i_1156_ & 0xff) * i_1150_
					       & 0xff00);
					is[i_1101_++] = (i_1161_ | i_1162_
							 | i_1163_) >>> 8;
				    }
				} else
				    i_1101_++;
			    }
			    i_1101_ += i_1105_;
			    i_1102_ += i_1106_;
			}
			return;
		    }
		    return;
		}
		if (i_1097_ == 3) {
		    int i_1164_ = i_1098_ >>> 24;
		    int i_1165_ = 256 - i_1164_;
		    for (int i_1166_ = -i_1103_; i_1166_ < 0; i_1166_++) {
			for (int i_1167_ = -i_1104_; i_1167_ < 0; i_1167_++) {
			    byte i_1168_ = aByteArray9934[i_1102_++];
			    int i_1169_
				= i_1168_ > 0 ? anIntArray9935[i_1168_] : 0;
			    int i_1170_ = i_1169_ + i_1098_;
			    int i_1171_
				= (i_1169_ & 0xff00ff) + (i_1098_ & 0xff00ff);
			    int i_1172_ = ((i_1171_ & 0x1000100)
					   + (i_1170_ - i_1171_ & 0x10000));
			    i_1172_ = i_1170_ - i_1172_ | i_1172_ - (i_1172_
								     >>> 8);
			    if (i_1169_ == 0 && i_1164_ != 255) {
				i_1169_ = i_1172_;
				i_1172_ = is[i_1101_];
				i_1172_ = ((((i_1169_ & 0xff00ff) * i_1164_
					     + (i_1172_ & 0xff00ff) * i_1165_)
					    & ~0xff00ff)
					   + (((i_1169_ & 0xff00) * i_1164_
					       + (i_1172_ & 0xff00) * i_1165_)
					      & 0xff0000)) >> 8;
			    }
			    is[i_1101_++] = i_1172_;
			}
			i_1101_ += i_1105_;
			i_1102_ += i_1106_;
		    }
		    return;
		}
		if (i_1097_ == 2) {
		    int i_1173_ = i_1098_ >>> 24;
		    int i_1174_ = 256 - i_1173_;
		    int i_1175_ = (i_1098_ & 0xff00ff) * i_1174_ & ~0xff00ff;
		    int i_1176_ = (i_1098_ & 0xff00) * i_1174_ & 0xff0000;
		    i_1098_ = (i_1175_ | i_1176_) >>> 8;
		    for (int i_1177_ = -i_1103_; i_1177_ < 0; i_1177_++) {
			for (int i_1178_ = -i_1104_; i_1178_ < 0; i_1178_++) {
			    int i_1179_ = aByteArray9934[i_1102_++];
			    if (i_1179_ != 0) {
				int i_1180_ = anIntArray9935[i_1179_ & 0xff];
				i_1175_ = ((i_1180_ & 0xff00ff) * i_1173_
					   & ~0xff00ff);
				i_1176_
				    = (i_1180_ & 0xff00) * i_1173_ & 0xff0000;
				is[i_1101_++]
				    = ((i_1175_ | i_1176_) >>> 8) + i_1098_;
			    } else
				i_1101_++;
			}
			i_1101_ += i_1105_;
			i_1102_ += i_1106_;
		    }
		    return;
		}
		throw new IllegalArgumentException();
	    }
	    if (i_1099_ == 2) {
		if (i_1097_ == 1) {
		    for (int i_1181_ = -i_1103_; i_1181_ < 0; i_1181_++) {
			for (int i_1182_ = -i_1104_; i_1182_ < 0; i_1182_++) {
			    int i_1183_ = aByteArray9934[i_1102_++];
			    if (i_1183_ != 0) {
				int i_1184_ = anIntArray9935[i_1183_ & 0xff];
				int i_1185_ = is[i_1101_];
				int i_1186_ = i_1184_ + i_1185_;
				int i_1187_ = ((i_1184_ & 0xff00ff)
					       + (i_1185_ & 0xff00ff));
				i_1185_ = ((i_1187_ & 0x1000100)
					   + (i_1186_ - i_1187_ & 0x10000));
				is[i_1101_++]
				    = i_1186_ - i_1185_ | i_1185_ - (i_1185_
								     >>> 8);
			    } else
				i_1101_++;
			}
			i_1101_ += i_1105_;
			i_1102_ += i_1106_;
		    }
		    return;
		}
		if (i_1097_ == 0) {
		    int i_1188_ = (i_1098_ & 0xff0000) >> 16;
		    int i_1189_ = (i_1098_ & 0xff00) >> 8;
		    int i_1190_ = i_1098_ & 0xff;
		    for (int i_1191_ = -i_1103_; i_1191_ < 0; i_1191_++) {
			for (int i_1192_ = -i_1104_; i_1192_ < 0; i_1192_++) {
			    int i_1193_ = aByteArray9934[i_1102_++];
			    if (i_1193_ != 0) {
				int i_1194_ = anIntArray9935[i_1193_ & 0xff];
				int i_1195_ = ((i_1194_ & 0xff0000) * i_1188_
					       & ~0xffffff);
				int i_1196_
				    = (i_1194_ & 0xff00) * i_1189_ & 0xff0000;
				int i_1197_
				    = (i_1194_ & 0xff) * i_1190_ & 0xff00;
				i_1194_ = (i_1195_ | i_1196_ | i_1197_) >>> 8;
				int i_1198_ = is[i_1101_];
				int i_1199_ = i_1194_ + i_1198_;
				int i_1200_ = ((i_1194_ & 0xff00ff)
					       + (i_1198_ & 0xff00ff));
				i_1198_ = ((i_1200_ & 0x1000100)
					   + (i_1199_ - i_1200_ & 0x10000));
				is[i_1101_++]
				    = i_1199_ - i_1198_ | i_1198_ - (i_1198_
								     >>> 8);
			    } else
				i_1101_++;
			}
			i_1101_ += i_1105_;
			i_1102_ += i_1106_;
		    }
		    return;
		}
		if (i_1097_ == 3) {
		    for (int i_1201_ = -i_1103_; i_1201_ < 0; i_1201_++) {
			for (int i_1202_ = -i_1104_; i_1202_ < 0; i_1202_++) {
			    byte i_1203_ = aByteArray9934[i_1102_++];
			    int i_1204_
				= i_1203_ > 0 ? anIntArray9935[i_1203_] : 0;
			    int i_1205_ = i_1204_ + i_1098_;
			    int i_1206_
				= (i_1204_ & 0xff00ff) + (i_1098_ & 0xff00ff);
			    int i_1207_ = ((i_1206_ & 0x1000100)
					   + (i_1205_ - i_1206_ & 0x10000));
			    i_1204_ = i_1205_ - i_1207_ | i_1207_ - (i_1207_
								     >>> 8);
			    i_1207_ = is[i_1101_];
			    i_1205_ = i_1204_ + i_1207_;
			    i_1206_
				= (i_1204_ & 0xff00ff) + (i_1207_ & 0xff00ff);
			    i_1207_
				= (i_1206_ & 0x1000100) + (i_1205_ - i_1206_
							   & 0x10000);
			    is[i_1101_++]
				= i_1205_ - i_1207_ | i_1207_ - (i_1207_
								 >>> 8);
			}
			i_1101_ += i_1105_;
			i_1102_ += i_1106_;
		    }
		    return;
		}
		if (i_1097_ == 2) {
		    int i_1208_ = i_1098_ >>> 24;
		    int i_1209_ = 256 - i_1208_;
		    int i_1210_ = (i_1098_ & 0xff00ff) * i_1209_ & ~0xff00ff;
		    int i_1211_ = (i_1098_ & 0xff00) * i_1209_ & 0xff0000;
		    i_1098_ = (i_1210_ | i_1211_) >>> 8;
		    for (int i_1212_ = -i_1103_; i_1212_ < 0; i_1212_++) {
			for (int i_1213_ = -i_1104_; i_1213_ < 0; i_1213_++) {
			    int i_1214_ = aByteArray9934[i_1102_++];
			    if (i_1214_ != 0) {
				int i_1215_ = anIntArray9935[i_1214_ & 0xff];
				i_1210_ = ((i_1215_ & 0xff00ff) * i_1208_
					   & ~0xff00ff);
				i_1211_
				    = (i_1215_ & 0xff00) * i_1208_ & 0xff0000;
				i_1215_
				    = ((i_1210_ | i_1211_) >>> 8) + i_1098_;
				int i_1216_ = is[i_1101_];
				int i_1217_ = i_1215_ + i_1216_;
				int i_1218_ = ((i_1215_ & 0xff00ff)
					       + (i_1216_ & 0xff00ff));
				i_1216_ = ((i_1218_ & 0x1000100)
					   + (i_1217_ - i_1218_ & 0x10000));
				is[i_1101_++]
				    = i_1217_ - i_1216_ | i_1216_ - (i_1216_
								     >>> 8);
			    } else
				i_1101_++;
			}
			i_1101_ += i_1105_;
			i_1102_ += i_1106_;
		    }
		    return;
		}
		throw new IllegalArgumentException();
	    }
	    throw new IllegalArgumentException();
	}
    }