static final void method2307(int i, long l, int i_0_, int i_1_) {
	try {
	    anInt4823++;
	    if (i_1_ <= 3)
		method2308((byte) -121, 59);
	    int i_2_ = (int) l >> -1914464274 & 0x1f;
	    int i_3_ = (0x37d8b0 & (int) l) >> -425142188;
	    int i_4_ = 0x7fffffff & (int) (l >>> -587776800);
	    if (i_2_ != 10 && i_2_ != 11 && (i_2_ ^ 0xffffffff) != -23)
		Class298.method2252(true, i_0_, i, (byte) -119, 0, 0, 0, i_2_,
				    i_3_);
	    else {
		ObjectDefinition class51
		    = Class348_Sub40_Sub12.objectLoader.getObject(0, i_4_);
		int i_5_;
		int i_6_;
		if ((i_3_ ^ 0xffffffff) == -1 || (i_3_ ^ 0xffffffff) == -3) {
		    i_5_ = ((ObjectDefinition) class51).anInt926;
		    i_6_ = ((ObjectDefinition) class51).anInt961;
		} else {
		    i_5_ = ((ObjectDefinition) class51).anInt961;
		    i_6_ = ((ObjectDefinition) class51).anInt926;
		}
		int i_7_ = ((ObjectDefinition) class51).anInt914;
		if ((i_3_ ^ 0xffffffff) != -1)
		    i_7_ = (0xf & i_7_ << i_3_) + (i_7_ >> 4 + -i_3_);
		Class298.method2252(true, i_0_, i, (byte) -99, i_5_, i_7_,
				    i_6_, 0, 0);
	    }
	} catch (RuntimeException runtimeexception) {
	    throw Class348_Sub17.method2929(runtimeexception,
					    ("cf.B(" + i + ',' + l + ',' + i_0_
					     + ',' + i_1_ + ')'));
	}
    }