final void method3814(boolean bool, boolean bool_20_, int i, byte i_21_) {
	if (i_21_ >= 27) {
	    anInt8081++;
	    if ((i ^ 0xffffffff) != (anInt8104 ^ 0xffffffff)
		|| !aBoolean8153 == ((NativeToolkit) this).aBoolean8160) {
		Interface18_Impl3 interface18_impl3 = null;
		int i_22_ = 0;
		byte i_23_ = 0;
		int i_24_ = 0;
		byte i_25_
		    = ((NativeToolkit) this).aBoolean8160 ? (byte) 3 : (byte) 0;
		if (i >= 0) {
		    interface18_impl3
			= aClass372_8137.method3587((byte) -97, i);
		    TextureDefinition class12 = ((AbstractToolkit) this).aD4579.getTexture(i, -6662);
		    if (((TextureDefinition) class12).aByte198 == 0
			&& ((TextureDefinition) class12).aByte211 == 0)
			method3879(-8629);
		    else {
			int i_26_
			    = !((TextureDefinition) class12).aBoolean199 ? 128 : 64;
			int i_27_ = i_26_ * 50;
			Class101_Sub2 class101_sub2 = method3820(false);
			class101_sub2.method916
			    (((float) (((NativeToolkit) this).anInt8146 % i_27_
				       * ((TextureDefinition) class12).aByte211)
			      / (float) i_27_),
			     true, 0.0F,
			     ((float) (((TextureDefinition) class12).aByte198
				       * (((NativeToolkit) this).anInt8146 % i_27_))
			      / (float) i_27_));
			method3853(-32, Class239_Sub18.aClass251_6030);
		    }
		    i_22_ = ((TextureDefinition) class12).anInt203;
		    if (!((NativeToolkit) this).aBoolean8160) {
			i_23_ = ((TextureDefinition) class12).aByte202;
			i_25_ = ((TextureDefinition) class12).aByte213;
			i_24_ = ((TextureDefinition) class12).anInt206;
		    }
		} else
		    method3879(-8629);
		method3875(i_23_, bool_20_, bool, i_25_, i_24_, -103);
		if (aClass367_8143 != null)
		    aClass367_8143.method3527(i_22_, interface18_impl3,
					      -16776);
		else {
		    method3850((byte) -86, interface18_impl3);
		    method3923(true, i_22_);
		}
		aBoolean8153 = ((NativeToolkit) this).aBoolean8160;
		anInt8104 = i;
	    }
	    anInt8100 &= ~0x7;
	}
    }