final boolean method2121(int i, Source source, int i_3_) {
	anInt4745++;
	if (i != 25625)
	    method2126((byte) -74);
	if (i_3_ > anInt4739) {
	    method2126((byte) -36);
	    if (anInt4746 <= 0)
		throw new RuntimeException("ARGH!");
	    OpenGL.glBindBufferARB(anInt4755, anInt4746);
	    OpenGL.glBufferDataARBa(anInt4755, i_3_, source.getAddress(),
				    !aBoolean4750 ? 35044 : 35040);
	    ((NativeToolkit) ((Class285) this).aClass377_4759).anInt8063
		+= i_3_ - anInt4747;
	    anInt4739 = i_3_;
	} else if (anInt4746 > 0) {
	    OpenGL.glBindBufferARB(anInt4755, anInt4746);
	    OpenGL.glBufferSubDataARBa(anInt4755, 0, anInt4747,
				       source.getAddress());
	    ((NativeToolkit) ((Class285) this).aClass377_4759).anInt8063
		+= i_3_ - anInt4747;
	} else
	    throw new RuntimeException("ARGH!");
	anInt4747 = i_3_;
	return true;
    }