final void method3703(int i, int i_12_, int i_13_, int i_14_, int i_15_,
			  int i_16_, aa var_aa, int i_17_, int i_18_,
			  int i_19_, int i_20_, int i_21_) {
	aa_Sub3 var_aa_Sub3 = (aa_Sub3) var_aa;
	int[] is = ((aa_Sub3) var_aa_Sub3).anIntArray5201;
	int[] is_22_ = ((aa_Sub3) var_aa_Sub3).anIntArray5202;
	int i_23_ = (((SoftwareToolkit) this).heightOffset > i_18_
		     ? ((SoftwareToolkit) this).heightOffset : i_18_);
	int i_24_ = (((SoftwareToolkit) this).height < i_18_ + is.length
		     ? ((SoftwareToolkit) this).height : i_18_ + is.length);
	i_21_ <<= 8;
	i_19_ <<= 8;
	i_20_ <<= 8;
	int i_25_ = i_19_ + i_20_;
	i_21_ %= i_25_;
	i_13_ -= i;
	i_14_ -= i_12_;
	if (i_13_ + i_14_ < 0) {
	    int i_26_
		= (int) (Math.sqrt((double) (i_13_ * i_13_ + i_14_ * i_14_))
			 * 256.0);
	    int i_27_ = i_26_ % i_25_;
	    i_21_ = i_25_ + i_19_ - i_21_ - i_27_;
	    i_21_ %= i_25_;
	    if (i_21_ < 0)
		i_21_ += i_25_;
	    i += i_13_;
	    i_13_ = -i_13_;
	    i_12_ += i_14_;
	    i_14_ = -i_14_;
	}
	if (i_13_ > i_14_) {
	    i_12_ <<= 16;
	    i_12_ += 32768;
	    i_14_ <<= 16;
	    int i_28_
		= (int) Math.floor((double) i_14_ / (double) i_13_ + 0.5);
	    i_13_ += i;
	    int i_29_ = i_15_ >>> 24;
	    int i_30_
		= (int) Math.sqrt((double) (65536
					    + (i_28_ >> 8) * (i_28_ >> 8)));
	    if (i_16_ == 0 || i_16_ == 1 && i_29_ == 255) {
		while (i <= i_13_) {
		    int i_31_ = i_12_ >> 16;
		    int i_32_ = i_31_ - i_18_;
		    if (i >= ((SoftwareToolkit) this).widthOffset
			&& i < ((SoftwareToolkit) this).width && i_31_ >= i_23_
			&& i_31_ < i_24_ && i_21_ < i_19_) {
			int i_33_ = i_17_ + is[i_32_];
			if (i >= i_33_ && i < i_33_ + is_22_[i_32_])
			    ((SoftwareToolkit) this).pixelBuffer
				[i + i_31_ * ((SoftwareToolkit) this).maxWidth]
				= i_15_;
		    }
		    i_12_ += i_28_;
		    i++;
		    i_21_ += i_30_;
		    i_21_ %= i_25_;
		}
		return;
	    }
	    if (i_16_ == 1) {
		i_15_ = (((i_15_ & 0xff00ff) * i_29_ >> 8 & 0xff00ff)
			 + ((i_15_ & 0xff00) * i_29_ >> 8 & 0xff00)
			 + (i_29_ << 24));
		int i_34_ = 256 - i_29_;
		while (i <= i_13_) {
		    int i_35_ = i_12_ >> 16;
		    int i_36_ = i_35_ - i_18_;
		    if (i >= ((SoftwareToolkit) this).widthOffset
			&& i < ((SoftwareToolkit) this).width && i_35_ >= i_23_
			&& i_35_ < i_24_ && i_21_ < i_19_) {
			int i_37_ = i_17_ + is[i_36_];
			if (i >= i_37_ && i < i_37_ + is_22_[i_36_]) {
			    int i_38_ = i + i_35_ * ((SoftwareToolkit) this).maxWidth;
			    int i_39_ = ((SoftwareToolkit) this).pixelBuffer[i_38_];
			    i_39_
				= (((i_39_ & 0xff00ff) * i_34_ >> 8 & 0xff00ff)
				   + ((i_39_ & 0xff00) * i_34_ >> 8 & 0xff00));
			    ((SoftwareToolkit) this).pixelBuffer[i_38_]
				= i_15_ + i_39_;
			}
		    }
		    i_12_ += i_28_;
		    i++;
		    i_21_ += i_30_;
		    i_21_ %= i_25_;
		}
		return;
	    }
	    if (i_16_ == 2) {
		while (i <= i_13_) {
		    int i_40_ = i_12_ >> 16;
		    int i_41_ = i_40_ - i_18_;
		    if (i >= ((SoftwareToolkit) this).widthOffset
			&& i < ((SoftwareToolkit) this).width && i_40_ >= i_23_
			&& i_40_ < i_24_ && i_21_ < i_19_) {
			int i_42_ = i_17_ + is[i_41_];
			if (i >= i_42_ && i < i_42_ + is_22_[i_41_]) {
			    int i_43_ = i + i_40_ * ((SoftwareToolkit) this).maxWidth;
			    int i_44_ = ((SoftwareToolkit) this).pixelBuffer[i_43_];
			    int i_45_ = i_15_ + i_44_;
			    int i_46_
				= (i_15_ & 0xff00ff) + (i_44_ & 0xff00ff);
			    i_44_ = (i_46_ & 0x1000100) + (i_45_ - i_46_
							   & 0x10000);
			    ((SoftwareToolkit) this).pixelBuffer[i_43_]
				= i_45_ - i_44_ | i_44_ - (i_44_ >>> 8);
			}
		    }
		    i_12_ += i_28_;
		    i++;
		    i_21_ += i_30_;
		    i_21_ %= i_25_;
		}
		return;
	    }
	    throw new IllegalArgumentException();
	}
	i <<= 16;
	i += 32768;
	i_13_ <<= 16;
	int i_47_ = (int) Math.floor((double) i_13_ / (double) i_14_ + 0.5);
	int i_48_
	    = (int) Math.sqrt((double) (65536 + (i_47_ >> 8) * (i_47_ >> 8)));
	i_14_ += i_12_;
	int i_49_ = i_15_ >>> 24;
	if (i_16_ == 0 || i_16_ == 1 && i_49_ == 255) {
	    while (i_12_ <= i_14_) {
		int i_50_ = i >> 16;
		int i_51_ = i_12_ - i_18_;
		if (i_12_ >= i_23_ && i_12_ < i_24_
		    && i_50_ >= ((SoftwareToolkit) this).widthOffset
		    && i_50_ < ((SoftwareToolkit) this).width && i_21_ < i_19_
		    && i_50_ >= i_17_ + is[i_51_]
		    && i_50_ < i_17_ + is[i_51_] + is_22_[i_51_])
		    ((SoftwareToolkit) this).pixelBuffer
			[i_50_ + i_12_ * ((SoftwareToolkit) this).maxWidth]
			= i_15_;
		i += i_47_;
		i_12_++;
		i_21_ += i_48_;
		i_21_ %= i_25_;
	    }
	} else if (i_16_ == 1) {
	    i_15_
		= (((i_15_ & 0xff00ff) * i_49_ >> 8 & 0xff00ff)
		   + ((i_15_ & 0xff00) * i_49_ >> 8 & 0xff00) + (i_49_ << 24));
	    int i_52_ = 256 - i_49_;
	    while (i_12_ <= i_14_) {
		int i_53_ = i >> 16;
		int i_54_ = i_12_ - i_18_;
		if (i_12_ >= i_23_ && i_12_ < i_24_
		    && i_53_ >= ((SoftwareToolkit) this).widthOffset
		    && i_53_ < ((SoftwareToolkit) this).width && i_21_ < i_19_
		    && i_53_ >= i_17_ + is[i_54_]
		    && i_53_ < i_17_ + is[i_54_] + is_22_[i_54_]) {
		    int i_55_ = i_53_ + i_12_ * ((SoftwareToolkit) this).maxWidth;
		    int i_56_ = ((SoftwareToolkit) this).pixelBuffer[i_55_];
		    i_56_ = (((i_56_ & 0xff00ff) * i_52_ >> 8 & 0xff00ff)
			     + ((i_56_ & 0xff00) * i_52_ >> 8 & 0xff00));
		    ((SoftwareToolkit) this).pixelBuffer
			[i_53_ + i_12_ * ((SoftwareToolkit) this).maxWidth]
			= i_15_ + i_56_;
		}
		i += i_47_;
		i_12_++;
		i_21_ += i_48_;
		i_21_ %= i_25_;
	    }
	} else if (i_16_ == 2) {
	    while (i_12_ <= i_14_) {
		int i_57_ = i >> 16;
		int i_58_ = i_12_ - i_18_;
		if (i_12_ >= i_23_ && i_12_ < i_24_
		    && i_57_ >= ((SoftwareToolkit) this).widthOffset
		    && i_57_ < ((SoftwareToolkit) this).width && i_21_ < i_19_
		    && i_57_ >= i_17_ + is[i_58_]
		    && i_57_ < i_17_ + is[i_58_] + is_22_[i_58_]) {
		    int i_59_ = i_57_ + i_12_ * ((SoftwareToolkit) this).maxWidth;
		    int i_60_ = ((SoftwareToolkit) this).pixelBuffer[i_59_];
		    int i_61_ = i_15_ + i_60_;
		    int i_62_ = (i_15_ & 0xff00ff) + (i_60_ & 0xff00ff);
		    i_60_ = (i_62_ & 0x1000100) + (i_61_ - i_62_ & 0x10000);
		    ((SoftwareToolkit) this).pixelBuffer[i_59_]
			= i_61_ - i_60_ | i_60_ - (i_60_ >>> 8);
		}
		i += i_47_;
		i_12_++;
		i_21_ += i_48_;
		i_21_ %= i_25_;
	    }
	} else
	    throw new IllegalArgumentException();
    }