final void method963(int i, int i_857_, aa var_aa, int i_858_,
			 int i_859_) {
	if (((AbstractSoftwareRaster) this).softwareToolkit.method3716())
	    throw new IllegalStateException();
	i += ((AbstractSoftwareRaster) this).anInt8461;
	i_857_ += ((AbstractSoftwareRaster) this).anInt8464;
	int i_860_ = 0;
	int i_861_
	    = ((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).maxWidth;
	int i_862_ = ((AbstractSoftwareRaster) this).width;
	int i_863_ = ((AbstractSoftwareRaster) this).height;
	int i_864_ = i_861_ - i_862_;
	int i_865_ = 0;
	int i_866_ = i + i_857_ * i_861_;
	if (i_857_
	    < ((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).heightOffset) {
	    int i_867_
		= (((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).heightOffset
		   - i_857_);
	    i_863_ -= i_867_;
	    i_857_
		= ((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).heightOffset;
	    i_860_ += i_867_ * i_862_;
	    i_866_ += i_867_ * i_861_;
	}
	if (i_857_ + i_863_
	    > ((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).height)
	    i_863_ -= i_857_ + i_863_ - ((SoftwareToolkit) (((AbstractSoftwareRaster) this)
						    .softwareToolkit)).height;
	if (i < ((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).widthOffset) {
	    int i_868_
		= (((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).widthOffset
		   - i);
	    i_862_ -= i_868_;
	    i = ((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).widthOffset;
	    i_860_ += i_868_;
	    i_866_ += i_868_;
	    i_865_ += i_868_;
	    i_864_ += i_868_;
	}
	if (i + i_862_
	    > ((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit).width) {
	    int i_869_ = (i + i_862_
			  - (((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit)
			     .width));
	    i_862_ -= i_869_;
	    i_865_ += i_869_;
	    i_864_ += i_869_;
	}
	if (i_862_ > 0 && i_863_ > 0) {
	    aa_Sub3 var_aa_Sub3 = (aa_Sub3) var_aa;
	    int[] is = ((aa_Sub3) var_aa_Sub3).anIntArray5201;
	    int[] is_870_ = ((aa_Sub3) var_aa_Sub3).anIntArray5202;
	    int[] is_871_ = (((SoftwareToolkit) ((AbstractSoftwareRaster) this).softwareToolkit)
			     .pixelBuffer);
	    int i_872_ = i_857_;
	    if (i_859_ > i_872_) {
		i_872_ = i_859_;
		i_866_ += (i_859_ - i_857_) * i_861_;
		i_860_ += (i_859_ - i_857_) * ((AbstractSoftwareRaster) this).width;
	    }
	    int i_873_ = (i_859_ + is.length < i_857_ + i_863_
			  ? i_859_ + is.length : i_857_ + i_863_);
	    for (int i_874_ = i_872_; i_874_ < i_873_; i_874_++) {
		int i_875_ = is[i_874_ - i_859_] + i_858_;
		int i_876_ = is_870_[i_874_ - i_859_];
		int i_877_ = i_862_;
		if (i > i_875_) {
		    int i_878_ = i - i_875_;
		    if (i_878_ >= i_876_) {
			i_860_ += i_862_ + i_865_;
			i_866_ += i_862_ + i_864_;
			continue;
		    }
		    i_876_ -= i_878_;
		} else {
		    int i_879_ = i_875_ - i;
		    if (i_879_ >= i_862_) {
			i_860_ += i_862_ + i_865_;
			i_866_ += i_862_ + i_864_;
			continue;
		    }
		    i_860_ += i_879_;
		    i_877_ -= i_879_;
		    i_866_ += i_879_;
		}
		int i_880_ = 0;
		if (i_877_ < i_876_)
		    i_876_ = i_877_;
		else
		    i_880_ = i_877_ - i_876_;
		for (int i_881_ = -i_876_; i_881_ < 0; i_881_++) {
		    int i_882_
			= ((SoftwareRaster) this).anIntArray9933[i_860_++];
		    if (i_882_ != 0)
			is_871_[i_866_++] = i_882_;
		    else
			i_866_++;
		}
		i_860_ += i_880_ + i_865_;
		i_866_ += i_880_ + i_864_;
	    }
	}
    }