private final int method2845(int i, Class348_Sub43 class348_sub43) {
	try {
	    if (i != 0)
		anInt8956 = 53;
	    anInt8934++;
	    int i_30_ = (((Class348_Sub43) class348_sub43).anInt7080
			 - -((((Class348_Sub43) class348_sub43).anInt7072
			      * ((Class348_Sub43) class348_sub43).anInt7089)
			     >> -1974421652));
	    i_30_ += (((anIntArray8937
			[((Class348_Sub43) class348_sub43).anInt7067])
		       - 8192)
		      * anIntArray8902[(((Class348_Sub43) class348_sub43)
					.anInt7067)]) >> -1163129076;
	    Class23 class23 = ((Class348_Sub43) class348_sub43).aClass23_7075;
	    if ((((Class23) class23).anInt352 ^ 0xffffffff) < -1
		&& (((Class23) class23).anInt353 > 0
		    || (anIntArray8899
			[((Class348_Sub43) class348_sub43).anInt7067]) > 0)) {
		int i_31_ = ((Class23) class23).anInt353 << 558860802;
		int i_32_ = ((Class23) class23).anInt346 << -492350367;
		if ((((Class348_Sub43) class348_sub43).anInt7083 ^ 0xffffffff)
		    > (i_32_ ^ 0xffffffff))
		    i_31_
			= (i_31_ * ((Class348_Sub43) class348_sub43).anInt7083
			   / i_32_);
		i_31_ += anIntArray8899[(((Class348_Sub43) class348_sub43)
					 .anInt7067)] >> 1264416711;
		double d
		    = Math.sin((double) ((((Class348_Sub43) class348_sub43)
					  .anInt7076)
					 & 0x1ff) * 0.01227184630308513);
		i_30_ += (int) (d * (double) i_31_);
	    }
	    int i_33_
		= (int) (((double) (((Class348_Sub19_Sub1)
				     (((Class348_Sub43) class348_sub43)
				      .aClass348_Sub19_Sub1_7077)).anInt8988
				    * 256)
			  * Math.pow(2.0,
				     3.255208333333333E-4 * (double) i_30_)
			  / (double) Class22.anInt339)
			 + 0.5);
	    if ((i_33_ ^ 0xffffffff) > -2)
		return 1;
	    return i_33_;
	} catch (RuntimeException runtimeexception) {
	    throw Class348_Sub17.method2929(runtimeexception,
					    ("ma.JA(" + i + ','
					     + (class348_sub43 != null
						? "{...}" : "null")
					     + ')'));
	}
    }