private static final int method2912
	(int i, int i_106_, byte[] is, int[] is_107_, int i_108_, int i_109_,
	 int i_110_, int i_111_, int i_112_, int i_113_, int i_114_,
	 Class348_Sub16_Sub5 class348_sub16_sub5, int i_115_, int i_116_) {
	class348_sub16_sub5.anInt8970
	    -= class348_sub16_sub5.anInt8971 * i_109_;
	class348_sub16_sub5.anInt8974
	    -= class348_sub16_sub5.anInt8978 * i_109_;
	if (i_115_ == 0
	    || ((i_112_ = i_109_ + (i_114_ + 256 - i_108_ + i_115_) / i_115_)
		> i_113_))
	    i_112_ = i_113_;
	while (i_109_ < i_112_) {
	    i_106_ = i_108_ >> 8;
	    i = is[i_106_ - 1];
	    is_107_[i_109_++]
		+= (((i << 8) + (is[i_106_] - i) * (i_108_ & 0xff)) * i_110_
		    >> 6);
	    i_110_ += i_111_;
	    i_108_ += i_115_;
	}
	if (i_115_ == 0
	    || ((i_112_ = i_109_ + (i_114_ - i_108_ + i_115_) / i_115_)
		> i_113_))
	    i_112_ = i_113_;
	i = i_116_;
	i_106_ = i_115_;
	while (i_109_ < i_112_) {
	    is_107_[i_109_++]
		+= (((i << 8) + (is[i_108_ >> 8] - i) * (i_108_ & 0xff))
		    * i_110_) >> 6;
	    i_110_ += i_111_;
	    i_108_ += i_106_;
	}
	class348_sub16_sub5.anInt8970
	    += class348_sub16_sub5.anInt8971 * i_109_;
	class348_sub16_sub5.anInt8974
	    += class348_sub16_sub5.anInt8978 * i_109_;
	class348_sub16_sub5.anInt8976 = i_110_;
	class348_sub16_sub5.anInt8983 = i_108_;
	return i_109_;
    }