this

Code:
/* Class153_Sub8 - Decompiled by JODE
 * Visit http://jode.sourceforge.net/
 */
import java.math.BigInteger;
import java.net.Socket;

public class Class153_Sub8 extends Class153
{
    public static int anInt4216;
    public static int anInt4217;
    public static int anInt4218;
    public static int anInt4219;
    public static int anInt4220;
    public static int anInt4221;
    public static int anInt4222;
    public static int anInt4223;
    public static int anInt4224;
    public static int anInt4225;
    public static int anInt4226;
    public static int anInt4227;
    public static int anInt4228;
    public static int anInt4229;
    public static int anInt4230;
    public static int anInt4231;
    public static int anInt4232;
    public static int anInt4233;
    public static int anInt4234;
    public static int anInt4235;
    public static int anInt4236;
    public int anInt4237;
    public static int anInt4238;
    public static int anInt4239;
    public static int anInt4240;
    public static int anInt4241;
    public static int anInt4242;
    public static int[] anIntArray4243 = { 16, 32, 64, 128 };
    public static int anInt4244;
    public static int anInt4245;
    public static int anInt4246;
    public static int anInt4247;
    public static int anInt4248;
    public static int anInt4249;
    public static int anInt4250;
    public static Class186 aClass186_4251;
    public static int anInt4252;
    public static int anInt4253;
    public static int anInt4254;
    public static int anInt4255;
    public static int anInt4256;
    public static int anInt4257;
    public static int anInt4258;
    public static int anInt4259;
    public static int anInt4260;
    public static int anInt4261;
    public static int anInt4262;
    public static int anInt4263;
    public static int anInt4264;
    public static int anInt4265;
    public static int anInt4266;
    public static int anInt4267;
    public static int anInt4268;
    public static int anInt4269;
    public static int anInt4270;
    public static int anInt4271;
    public static int anInt4272;
    public static int anInt4273;
    public static int anInt4274;
    public static int anInt4275;
    public static int anInt4276;
    public static int anInt4277;
    public static int anInt4278;
    public static int anInt4279;
    public static int anInt4280;
    public byte[] aByteArray4281;
    
    public int method1616(byte arg0) {
	try {
	    int i = -108 % ((arg0 - 57) / 41);
	    anInt4228++;
	    return 0xff & 128 + -aByteArray4281[anInt4237++];
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.R(" + arg0 + ')');
	}
    }
    
    public void method1617(int arg0, int arg1) {
	try {
	    if (arg0 == 301673864) {
		anInt4230++;
		aByteArray4281[anInt4237++] = (byte) -arg1;
	    }
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      "dg.KB(" + arg0 + ',' + arg1 + ')');
	}
    }
    
    public void method1618(boolean arg0, BigInteger arg1, BigInteger arg2) {
	try {
	   /* anInt4217++;
	    int i = anInt4237;
	    anInt4237 = 0;
	    byte[] is = new byte[i];
	    method1630(is, i, 0, -1);
	    BigInteger biginteger = new BigInteger(is);
	    if (arg0 != true)
		method1660(-13);
	    BigInteger biginteger_0_ = biginteger.modPow(arg1, arg2);
	    byte[] is_1_ = biginteger_0_.toByteArray();
	    anInt4237 = 0;
	    method1643(is_1_.length, (byte) -107);
	    method1631(is_1_, 105, is_1_.length, 0);*/
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      ("dg.OA(" + arg0 + ','
				       + (arg1 != null ? "{...}" : "null")
				       + ','
				       + (arg2 != null ? "{...}" : "null")
				       + ')'));
	}
    }
    
    public void method1619(int arg0, int[] arg1) {
	try {
	    anInt4256++;
	    int i = anInt4237 / 8;
	    anInt4237 = 0;
	    for (int i_2_ = arg0; (i ^ 0xffffffff) < (i_2_ ^ 0xffffffff);
		 i_2_++) {
		int i_3_ = method1657(arg0 ^ 0xe39);
		int i_4_ = method1657(3641);
		int i_5_ = 0;
		int i_6_ = -1640531527;
		int i_7_ = 32;
		while ((i_7_-- ^ 0xffffffff) < -1) {
		    i_3_ += ((i_4_ >>> -138527931 ^ i_4_ << 831640004) + i_4_
			     ^ i_5_ - -arg1[0x3 & i_5_]);
		    i_5_ += i_6_;
		    i_4_ += (i_3_ + (i_3_ >>> 1800282213 ^ i_3_ << -1393081724)
			     ^ i_5_ - -arg1[(i_5_ & 0x1f9a) >>> 972488331]);
		}
		anInt4237 -= 8;
		method1663(i_3_, 871);
		method1663(i_4_, 871);
	    }
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      ("dg.UA(" + arg0 + ','
				       + (arg1 != null ? "{...}" : "null")
				       + ')'));
	}
    }
    
    public void method1620(int arg0, int arg1) {
	try {
	    anInt4245++;
	    if ((arg0 ^ 0xffffffff) <= -1 && (arg0 ^ 0xffffffff) > -129)
		method1643(arg0, (byte) -70);
	    else if ((arg0 ^ 0xffffffff) <= -1 && (arg0 ^ 0xffffffff) > -32769)
		method1665(32768 + arg0, false);
	    else {
		if (arg1 >= -103)
		    aClass186_4251 = null;
		throw new IllegalArgumentException();
	    }
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      "dg.M(" + arg0 + ',' + arg1 + ')');
	}
    }
    
    public String method1621(byte arg0) {
	try {
	    anInt4262++;
	    byte i = aByteArray4281[anInt4237++];
	    if (i != 0)
		throw new IllegalStateException
			  ("Bad version number in gjstr2");
	    int i_8_ = anInt4237;
	    while (aByteArray4281[anInt4237++] != 0) {
		/* empty */
	    }
	    if (arg0 != -121)
		return null;
	    int i_9_ = -i_8_ + anInt4237 - 1;
	    if ((i_9_ ^ 0xffffffff) == -1)
		return "";
	    return Class93.method1017(arg0 ^ ~0x3c95, i_9_, i_8_,
				      aByteArray4281);
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.DA(" + arg0 + ')');
	}
    }
    
    public String method1622(boolean arg0) {
	try {
	    anInt4216++;
	    int i = anInt4237;
	    while (aByteArray4281[anInt4237++] != 0) {
		/* empty */
	    }
	    int i_10_ = -1 + (-i + anInt4237);
	    if ((i_10_ ^ 0xffffffff) == -1)
		return "";
	    if (arg0 != false)
		method1654(8);
	    return Class93.method1017(15597, i_10_, i, aByteArray4281);
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.LA(" + arg0 + ')');
	}
    }
    
    public void method1623(int arg0, int arg1) {
	aByteArray4281[anInt4237++] = (byte) (arg1 >> 1965417928);
	anInt4267++;
	aByteArray4281[anInt4237++] = (byte) (arg1 - -128);
	if (arg0 != -2)
	    method1660(87);
    }
    
    public void method1624(int arg0, int arg1) {
	try {
	    aByteArray4281[anInt4237++] = (byte) (arg0 >> -613370128);
	    anInt4275++;
	    aByteArray4281[anInt4237++] = (byte) (arg0 >> -1241473448);
	    aByteArray4281[anInt4237++] = (byte) arg0;
	    if (arg1 >= 104)
		aByteArray4281[anInt4237++] = (byte) (arg0 >> -1920542552);
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      "dg.BB(" + arg0 + ',' + arg1 + ')');
	}
    }
    
    public void method1625(byte arg0, int arg1) {
	try {
	    if ((arg1 & ~0x7f ^ 0xffffffff) != -1) {
		if ((~0x3fff & arg1) != 0) {
		    if ((~0x1fffff & arg1) != 0) {
			if ((~0xfffffff & arg1 ^ 0xffffffff) != -1)
			    method1643(arg1 >>> -5583652 | 0x80, (byte) -76);
			method1643(arg1 >>> 1391471925 | 0x80, (byte) -106);
		    }
		    method1643(arg1 >>> -1838775378 | 0x80, (byte) -64);
		}
		method1643((0x4044 | arg1) >>> -411596185, (byte) -57);
	    }
	    if (arg0 <= 47)
		anInt4237 = 60;
	    anInt4233++;
	    method1643(0x7f & arg1, (byte) -71);
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      "dg.Q(" + arg0 + ',' + arg1 + ')');
	}
    }
    
    public int method1626(int arg0) {
	try {
	    if (arg0 != -3451)
		aClass186_4251 = null;
	    anInt4237 += 2;
	    anInt4261++;
	    return ((aByteArray4281[-1 + anInt4237] << -1628802104 & 0xff00)
		    + (-128 + aByteArray4281[anInt4237 - 2] & 0xff));
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.E(" + arg0 + ')');
	}
    }
    
    public int method1627(int arg0) {
	try {
	    if (arg0 != 65280)
		aClass186_4251 = null;
	    anInt4250++;
	    return 0xff & -128 + aByteArray4281[anInt4237++];
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.I(" + arg0 + ')');
	}
    }
    
    public String method1628(byte arg0) {
	try {
	    anInt4220++;
	    if (arg0 != -47)
		method1635((byte) 38);
	    if (aByteArray4281[anInt4237] == 0) {
		anInt4237++;
		return null;
	    }
	    return method1622(false);
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.FA(" + arg0 + ')');
	}
    }
    
    public int method1629(int arg0) {
	try {
	    anInt4238++;
	    anInt4237 += 4;
	    if (arg0 != -1)
		return -122;
	    return ((aByteArray4281[-2 + anInt4237] & 0xff)
		    + ((aByteArray4281[-3 + anInt4237] & 0xff) << -1626641512)
		    + (((aByteArray4281[-4 + anInt4237] & 0xff) << 122347504)
		       + ((0xff & aByteArray4281[-1 + anInt4237])
			  << -1674120216)));
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.MA(" + arg0 + ')');
	}
    }
    
    public void method1630(byte[] arg0, int arg1, int arg2, int arg3) {
	try {
	    if (arg3 == -1) {
		anInt4278++;
		for (int i = arg2;
		     (i ^ 0xffffffff) > (arg1 + arg2 ^ 0xffffffff); i++)
		    arg0[i] = aByteArray4281[anInt4237++];
	    }
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      ("dg.CA("
				       + (arg0 != null ? "{...}" : "null")
				       + ',' + arg1 + ',' + arg2 + ',' + arg3
				       + ')'));
	}
    }
    
    public void method1631(byte[] arg0, int arg1, int arg2, int arg3) {
	try {
	    if (arg1 >= 46) {
		for (int i = arg3;
		     (arg2 + arg3 ^ 0xffffffff) < (i ^ 0xffffffff); i++)
		    aByteArray4281[anInt4237++] = arg0[i];
		anInt4227++;
	    }
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      ("dg.HA("
				       + (arg0 != null ? "{...}" : "null")
				       + ',' + arg1 + ',' + arg2 + ',' + arg3
				       + ')'));
	}
    }
    
    public long method1632(byte arg0, int arg1) {
	try {
	    anInt4240++;
	    if (arg0 != 85)
		anInt4218 = 21;
	    if ((--arg1 ^ 0xffffffff) > -1 || arg1 > 7)
		throw new IllegalArgumentException();
	    int i = 8 * arg1;
	    long l = 0L;
	    for (/**/; i >= 0; i -= 8)
		l |= ((long) aByteArray4281[anInt4237++] & 0xffL) << i;
	    return l;
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      "dg.W(" + arg0 + ',' + arg1 + ')');
	}
    }
    
    public byte method1633(int arg0) {
	try {
	    anInt4263++;
	    if (arg0 != 0)
		return (byte) 53;
	    return (byte) -aByteArray4281[anInt4237++];
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.PA(" + arg0 + ')');
	}
    }
    
    public int method1634(int arg0) {
	try {
	    if (arg0 > -2)
		anInt4218 = 120;
	    anInt4224++;
	    return aByteArray4281[anInt4237++] & 0xff;
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.C(" + arg0 + ')');
	}
    }
    
    public int method1635(byte arg0) {
	try {
	    if (arg0 <= 92)
		return -22;
	    anInt4219++;
	    return -aByteArray4281[anInt4237++] & 0xff;
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.L(" + arg0 + ')');
	}
    }
    
    public void method1636(int arg0, int arg1, int arg2, int[] arg3) {
	try {
	    anInt4271++;
	    if (arg1 >= 56) {
		int i = anInt4237;
		anInt4237 = arg0;
		int i_11_ = (arg2 + -arg0) / 8;
		for (int i_12_ = 0;
		     (i_11_ ^ 0xffffffff) < (i_12_ ^ 0xffffffff); i_12_++) {
		    int i_13_ = method1657(3641);
		    int i_14_ = method1657(3641);
		    int i_15_ = -957401312;
		    int i_16_ = -1640531527;
		    int i_17_ = 32;
		    while ((i_17_-- ^ 0xffffffff) < -1) {
			i_14_ -= (i_13_ + (i_13_ >>> 1539415205
					   ^ i_13_ << -724341756)
				  ^ (arg3[(i_15_ & 0x1932) >>> 1645164235]
				     + i_15_));
			i_15_ -= i_16_;
			i_13_ -= (arg3[0x3 & i_15_] + i_15_
				  ^ i_14_ + (i_14_ >>> 174854917
					     ^ i_14_ << 296178308));
		    }
		    anInt4237 -= 8;
		    method1663(i_13_, 871);
		    method1663(i_14_, 871);
		}
		anInt4237 = i;
	    }
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      ("dg.S(" + arg0 + ',' + arg1 + ',' + arg2
				       + ','
				       + (arg3 != null ? "{...}" : "null")
				       + ')'));
	}
    }
    
    public int method1637(int arg0) {
	try {
	    if (arg0 != -1640531527)
		method1629(60);
	    anInt4234++;
	    int i = aByteArray4281[anInt4237] & 0xff;
	    if (i < 128)
		return -64 + method1634(-16);
	    return method1677((byte) 48) + -49152;
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.P(" + arg0 + ')');
	}
    }
    
    public int method1638(boolean arg0) {
	try {
	    if (arg0 != true)
		anInt4218 = -23;
	    anInt4274++;
	    anInt4237 += 2;
	    int i = (((aByteArray4281[anInt4237 + -2] & 0xff) << 2073584808)
		     + (-128 + aByteArray4281[-1 + anInt4237] & 0xff));
	    if ((i ^ 0xffffffff) < -32768)
		i -= 65536;
	    return i;
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.CB(" + arg0 + ')');
	}
    }
    
    public void method1639(byte arg0, int arg1, int arg2, byte[] arg3) {
	try {
	    for (int i = -1 + arg1 + arg2;
		 (arg2 ^ 0xffffffff) >= (i ^ 0xffffffff); i--)
		arg3[i] = aByteArray4281[anInt4237++];
	    if (arg0 <= 21)
		aClass186_4251 = null;
	    anInt4221++;
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      ("dg.IB(" + arg0 + ',' + arg1 + ','
				       + arg2 + ','
				       + (arg3 != null ? "{...}" : "null")
				       + ')'));
	}
    }
    
    public int method1640(byte arg0) {
	try {
	    if (arg0 > -23)
		method1623(-115, 50);
	    anInt4237 += 4;
	    anInt4231++;
	    return ((aByteArray4281[anInt4237 - 4] & 0xff)
		    + (((aByteArray4281[-2 + anInt4237] & 0xff) << -1804400112)
		       + ((aByteArray4281[anInt4237 - 1] << -275322664
			   & ~0xffffff)
			  - -((aByteArray4281[-3 + anInt4237] & 0xff)
			      << 319470088))));
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.GB(" + arg0 + ')');
	}
    }
    
    public static void method1641(Class3 arg0, int arg1) {
	try {
	    anInt4269++;
	    arg0.method139(0, 0, Class210_Sub3.anInt4856, 350);
	    if (arg1 != 8)
		method1667(-10);
	    arg0.method133(0, 0, Class210_Sub3.anInt4856, 350,
			   (0x332277
			    | Class153_Sub36_Sub15.anInt6008 << 245198936),
			   1);
	    for (int i = 0; (i ^ 0xffffffff) > -101; i++) {
		int i_18_ = Class200.anIntArray2829[i];
		int i_19_ = Class16.anIntArray245[i];
		arg0.method133(i_18_, i_19_, 2, 2,
			       (0xffffff
				| Class167.anIntArray2205[i] << 930699256),
			       1);
	    }
	    int i = 350 / Class164.anInt2160;
	    if (Class87_Sub1.anInt3890 > 0) {
		int i_20_ = 342 + -Class164.anInt2160;
		int i_21_ = i * i_20_ / (i + Class87_Sub1.anInt3890 - 1);
		int i_22_ = 4;
		if (Class87_Sub1.anInt3890 > 1)
		    i_22_ += ((i_20_ + -i_21_)
			      * (-Class140.anInt1876
				 + (Class87_Sub1.anInt3890 + -1))
			      / (-1 + Class87_Sub1.anInt3890));
		arg0.method133(Class210_Sub3.anInt4856 - 16, i_22_, 12, i_21_,
			       (Class153_Sub36_Sub15.anInt6008 << 62214296
				| 0x332277),
			       2);
		for (int i_23_ = Class140.anInt1876;
		     (i + Class140.anInt1876 > i_23_
		      && i_23_ < Class87_Sub1.anInt3890);
		     i_23_++) {
		    String[] strings
			= Class201.method2695(1,
					      (Class153_Sub24.aStringArray4445
					       [i_23_]),
					      '\010');
		    int i_24_
			= (Class210_Sub3.anInt4856 + -8 - 16) / strings.length;
		    for (int i_25_ = 0; strings.length > i_25_; i_25_++) {
			int i_26_ = 8 + i_25_ * i_24_;
			arg0.method139(i_26_, 0, i_24_ + i_26_ + -8, 350);
			Class153_Sub36_Sub24.aClass177_6114.method2480
			    (-16777216, i_26_, -1, strings[i_25_],
			     (-2 + -Class133.anInt1651 + 350
			      - (Class55_Sub1.aClass183_3584.anInt2575
				 - -(Class164.anInt2160
				     * (-Class140.anInt1876 + i_23_)))),
			     4);
		    }
		}
	    }
	    arg0.method139(0, 0, Class210_Sub3.anInt4856, 350);
	    arg0.method147((byte) -82, Class210_Sub3.anInt4856, 0,
			   -Class133.anInt1651 + 350, -1);
	    Class36.aClass177_496.method2480
		(-16777216, 10, -1, "--> " + Class153_Sub38.aString4613,
		 -Class178.aClass183_2413.anInt2575 + 350 + -1, 4);
	    int i_27_ = -1;
	    if (Class125.anInt1578 % 30 > 15)
		i_27_ = 16777215;
	    arg0.method107(-127,
			   -11 + (350 - Class178.aClass183_2413.anInt2575),
			   (Class178.aClass183_2413.method2543
			    ("--> " + Class153_Sub38.aString4613
					  .substring(0, Class123.anInt1561),
			     arg1 + 116)) + 10,
			   12, i_27_);
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      "dg.A(" + (arg0 != null ? "{...}"
						 : "null") + ',' + arg1 + ')');
	}
    }
    
    public int method1642(int arg0) {
	try {
	    anInt4249++;
	    int i = aByteArray4281[anInt4237++];
	    if (arg0 != -7745)
		return 30;
	    int i_28_ = 0;
	    for (/**/; i < 0; i = aByteArray4281[anInt4237++])
		i_28_ = (0x7f & i | i_28_) << 1257831079;
	    return i_28_ | i;
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.TA(" + arg0 + ')');
	}
    }
    
    public void method1643(int arg0, byte arg1) {
	try {
	    aByteArray4281[anInt4237++] = (byte) arg0;
	    if (arg1 <= -44)
		anInt4268++;
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      "dg.HB(" + arg0 + ',' + arg1 + ')');
	}
    }
    
    public void method1644(int arg0, int arg1) {
	try {
	    if (arg0 != 12299)
		anInt4237 = 20;
	    aByteArray4281[-1 + (-arg1 + anInt4237)] = (byte) arg1;
	    anInt4270++;
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      "dg.OB(" + arg0 + ',' + arg1 + ')');
	}
    }
    
    public int method1645(int arg0) {
	try {
	    int i = 2 / ((arg0 - 48) / 55);
	    anInt4237 += 2;
	    anInt4254++;
	    return (((0xff & aByteArray4281[-1 + anInt4237]) << 296552552)
		    + (0xff & aByteArray4281[-2 + anInt4237]));
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.FB(" + arg0 + ')');
	}
    }
    
    public int method1646(byte arg0) {
	try {
	    anInt4237 += 2;
	    if (arg0 <= 68)
		return -107;
	    anInt4277++;
	    int i = ((aByteArray4281[-1 + anInt4237] << 1362665672 & 0xff00)
		     + (0xff & aByteArray4281[anInt4237 + -2] - 128));
	    if ((i ^ 0xffffffff) < -32768)
		i -= 65536;
	    return i;
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.G(" + arg0 + ')');
	}
    }
    
    public void method1647(int arg0, boolean arg1) {
	try {
	    aByteArray4281[anInt4237++] = (byte) arg0;
	    anInt4241++;
	    aByteArray4281[anInt4237++] = (byte) (arg0 >> -1851534072);
	    if (arg1 != true)
		anIntArray4243 = null;
	    aByteArray4281[anInt4237++] = (byte) (arg0 >> 1468071248);
	    aByteArray4281[anInt4237++] = (byte) (arg0 >> 655283352);
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      "dg.EA(" + arg0 + ',' + arg1 + ')');
	}
    }
    
    public void method1648(int arg0, int arg1) {
	try {
	    anInt4236++;
	    aByteArray4281[anInt4237++] = (byte) arg1;
	    if (arg0 != 128)
		method1671(95, -95);
	    aByteArray4281[anInt4237++] = (byte) (arg1 >> -1658771640);
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      "dg.EB(" + arg0 + ',' + arg1 + ')');
	}
    }
    
    public byte method1649(boolean arg0) {
	try {
	    if (arg0 != false)
		return (byte) 95;
	    anInt4252++;
	    return aByteArray4281[anInt4237++];
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.B(" + arg0 + ')');
	}
    }
    
    public int method1650(boolean arg0) {
	try {
	    anInt4260++;
	    anInt4237 += 2;
	    if (arg0 != false)
		method1666(-68, (byte) 98);
	    return ((0xff & aByteArray4281[-1 + anInt4237] + -128)
		    + (0xff00 & aByteArray4281[-2 + anInt4237] << 598853704));
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.O(" + arg0 + ')');
	}
    }
    
    public static void method1651(int arg0) {
	anInt4258++;
	if ((Class122.anInt1557 ^ 0xffffffff) < -1)
	    Class26.method472(0);
	else {
	    Class153_Sub14_Sub10.aClass167_5496 = Class90.aClass167_1252;
	    Class90.aClass167_1252 = null;
	    Class122_Sub5_Sub3.method1359(40, -105);
	    if (arg0 != 1045632600)
		method1651(-52);
	}
    }
    
    public boolean method1652(boolean arg0) {
	try {
	    anInt4247++;
	    anInt4237 -= 4;
	    if (arg0 != false)
		return false;
	    int i
		= Class175.method2457(anInt4237, (byte) 5, 0, aByteArray4281);
	    int i_29_ = method1657(3641);
	    if ((i ^ 0xffffffff) == (i_29_ ^ 0xffffffff))
		return true;
	    return false;
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.AB(" + arg0 + ')');
	}
    }
    
    public static void method1653(int arg0) {
	aClass186_4251 = null;
	anIntArray4243 = null;
	if (arg0 >= -123)
	    anIntArray4243 = null;
    }
    
    public int method1654(int arg0) {
	try {
	    if (arg0 > -10)
		method1648(3, 19);
	    anInt4244++;
	    int i = 0xff & aByteArray4281[anInt4237];
	    if ((i ^ 0xffffffff) <= -129)
		return method1677((byte) 48) - 32768;
	    return method1634(-41);
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.IA(" + arg0 + ')');
	}
    }
    
    public int method1655(int arg0, int arg1) {
	try {
	    anInt4264++;
	    int i = Class175.method2457(anInt4237, (byte) 127, arg1,
					aByteArray4281);
	    method1663(i, 871);
	    int i_30_ = -80 / ((arg0 - -20) / 50);
	    return i;
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      "dg.K(" + arg0 + ',' + arg1 + ')');
	}
    }
    
    public void method1656(String arg0, boolean arg1) {
	try {
	    if (arg1 != false)
		method1629(-100);
	    anInt4242++;
	    int i = arg0.indexOf('\0');
	    if ((i ^ 0xffffffff) <= -1)
		throw new IllegalArgumentException("NUL character at " + i
						   + " - cannot pjstr");
	    anInt4237
		+= Class153_Sub14.method1715(arg0, anInt4237, 0, -57,
					     aByteArray4281, arg0.length());
	    aByteArray4281[anInt4237++] = (byte) 0;
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      ("dg.QA("
				       + (arg0 != null ? "{...}" : "null")
				       + ',' + arg1 + ')'));
	}
    }
    
    public int method1657(int arg0) {
	try {
	    anInt4257++;
	    if (arg0 != 3641)
		method1663(120, -57);
	    anInt4237 += 4;
	    return (((aByteArray4281[anInt4237 - 2] & 0xff) << -133374072)
		    + ((0xff0000 & aByteArray4281[anInt4237 - 3] << 1605201680)
		       + (aByteArray4281[-4 + anInt4237] << 2133989176
			  & ~0xffffff)
		       - -(0xff & aByteArray4281[anInt4237 - 1])));
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.N(" + arg0 + ')');
	}
    }
    
    public void method1658(int arg0, byte arg1) {
	aByteArray4281[anInt4237++] = (byte) (arg0 >> -2092605040);
	anInt4225++;
	aByteArray4281[anInt4237++] = (byte) (arg0 >> 529248488);
	aByteArray4281[anInt4237++] = (byte) arg0;
	if (arg1 != 56)
	    anInt4237 = 88;
    }
    
    public void method1659(int arg0, boolean arg1) {
	try {
	    aByteArray4281[anInt4237++] = (byte) arg0;
	    if (arg1 == true) {
		anInt4279++;
		aByteArray4281[anInt4237++] = (byte) (arg0 >> -1914364248);
		aByteArray4281[anInt4237++] = (byte) (arg0 >> -1447597168);
		aByteArray4281[anInt4237++] = (byte) (arg0 >> 1214359864);
	    }
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      "dg.KA(" + arg0 + ',' + arg1 + ')');
	}
    }
    
    public long method1660(int arg0) {
	try {
	    anInt4239++;
	    long l = (long) method1657(3641) & 0xffffffffL;
	    long l_31_ = (long) method1657(3641) & 0xffffffffL;
	    if (arg0 != -1)
		method1636(75, 29, 111, null);
	    return (l << 1373554720) - -l_31_;
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.MB(" + arg0 + ')');
	}
    }
    
    public int method1661(boolean arg0) {
	try {
	    if (arg0 != true)
		aByteArray4281 = null;
	    anInt4248++;
	    int i = 0;
	    int i_32_;
	    for (i_32_ = method1654(-40); i_32_ == 32767;
		 i_32_ = method1654(-72))
		i += 32767;
	    i += i_32_;
	    return i;
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.LB(" + arg0 + ')');
	}
    }
    
    public int method1662(boolean arg0) {
	try {
	    anInt4253++;
	    anInt4237 += 4;
	    if (arg0 != true)
		return -69;
	    return ((~0xffffff & aByteArray4281[-2 + anInt4237] << 811239448)
		    - -((0xff & aByteArray4281[-1 + anInt4237]) << -51325936)
		    + ((0xff00 & aByteArray4281[-4 + anInt4237] << 1791728776)
		       + (aByteArray4281[anInt4237 - 3] & 0xff)));
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.GA(" + arg0 + ')');
	}
    }
    
    public void method1663(int arg0, int arg1) {
	try {
	    aByteArray4281[anInt4237++] = (byte) (arg0 >> -1166246824);
	    anInt4272++;
	    if (arg1 != 871)
		method1668(93, 51, 16L);
	    aByteArray4281[anInt4237++] = (byte) (arg0 >> 34626320);
	    aByteArray4281[anInt4237++] = (byte) (arg0 >> -943635032);
	    aByteArray4281[anInt4237++] = (byte) arg0;
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      "dg.WA(" + arg0 + ',' + arg1 + ')');
	}
    }
    
    public void method1664(byte arg0, int arg1) {
	try {
	    anInt4276++;
	    if (arg0 != -105)
		method1638(true);
	    aByteArray4281[-4 + -arg1 + anInt4237]
		= (byte) (arg1 >> 1305119352);
	    aByteArray4281[-3 + anInt4237 - arg1]
		= (byte) (arg1 >> -1855040976);
	    aByteArray4281[-arg1 + (anInt4237 - 2)]
		= (byte) (arg1 >> -2091724920);
	    aByteArray4281[-1 + anInt4237 - arg1] = (byte) arg1;
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      "dg.DB(" + arg0 + ',' + arg1 + ')');
	}
    }
    
    public void method1665(int arg0, boolean arg1) {
	anInt4280++;
	aByteArray4281[anInt4237++] = (byte) (arg0 >> -1277664568);
	aByteArray4281[anInt4237++] = (byte) arg0;
	if (arg1 != false)
	    method1627(-35);
    }
    
    public void method1666(int arg0, byte arg1) {
	try {
	    aByteArray4281[anInt4237++] = (byte) (-arg0 + 128);
	    if (arg1 != -48)
		method1635((byte) -32);
	    anInt4273++;
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      "dg.T(" + arg0 + ',' + arg1 + ')');
	}
    }
    
    public static int method1667(int arg0) {
	try {
	    anInt4246++;
	    try {
		if (Class56.anInt824 == arg0) {
		    if ((Class33.method502(arg0 + 71) + -5000L
			 ^ 0xffffffffffffffffL)
			> (Class72.aLong942 ^ 0xffffffffffffffffL))
			return 0;
		    Class153_Sub36_Sub33.aClass188_6249
			= (Class101.aClass162_1376.method2380
			   (Class122_Sub1_Sub2.aString4937, (byte) -84,
			    Class22.anInt300));
		    Class153_Sub36_Sub35.aLong6291
			= Class33.method502(arg0 ^ 0x6e);
		    Class56.anInt824 = 1;
		}
		if (Class33.method502(arg0 ^ 0x4e)
		    > 30000L + Class153_Sub36_Sub35.aLong6291)
		    return Class209.method2752(1000, arg0 + -5);
		if ((Class56.anInt824 ^ 0xffffffff) == -2) {
		    if (Class153_Sub36_Sub33.aClass188_6249.anInt2701 == 2)
			return Class209.method2752(1001, -5);
		    if (Class153_Sub36_Sub33.aClass188_6249.anInt2701 != 1)
			return -1;
		    Class90.aClass167_1252
			= new Class167((Socket) (Class153_Sub36_Sub33
						 .aClass188_6249.anObject2702),
				       Class101.aClass162_1376);
		    Class153_Sub36_Sub33.aClass188_6249 = null;
		    int i = 0;
		    if (Class153_Sub36_Sub36.aBoolean6295)
			i = Class126.anInt1597;
		    Class210_Sub1.aClass153_Sub8_Sub1_4837.anInt4237 = 0;
		    Class210_Sub1.aClass153_Sub8_Sub1_4837
			.method1643(23, (byte) -92);
		    Class210_Sub1.aClass153_Sub8_Sub1_4837.method1663(i, 871);
		    Class90.aClass167_1252.method2391
			(Class210_Sub1.aClass153_Sub8_Sub1_4837.anInt4237,
			 (byte) -61, 0,
			 (Class210_Sub1.aClass153_Sub8_Sub1_4837
			  .aByteArray4281));
		    if (Class210_Sub2.aClass84_4842 != null)
			Class210_Sub2.aClass84_4842.method947(-15326);
		    if (Class132.aClass84_1646 != null)
			Class132.aClass84_1646.method947(arg0 + -15326);
		    int i_33_ = Class90.aClass167_1252.method2398((byte) -103);
		    if (Class210_Sub2.aClass84_4842 != null)
			Class210_Sub2.aClass84_4842.method947(-15326);
		    if (Class132.aClass84_1646 != null)
			Class132.aClass84_1646.method947(-15326);
		    if ((i_33_ ^ 0xffffffff) != -1)
			return Class209.method2752(i_33_, -5);
		    Class56.anInt824 = 2;
		}
		if (Class56.anInt824 == 2) {
		    if ((Class90.aClass167_1252.method2394(0) ^ 0xffffffff)
			> -3)
			return -1;
		    Class153.anInt2027
			= Class90.aClass167_1252.method2398((byte) -103);
		    Class153.anInt2027 <<= 8;
		    Class153.anInt2027
			+= Class90.aClass167_1252.method2398((byte) -103);
		    Class56.anInt824 = 3;
		    Class112_Sub4.anInt3993 = 0;
		    Class112_Sub3.aByteArray3970
			= new byte[Class153.anInt2027];
		}
		if (Class56.anInt824 == 3) {
		    int i = Class90.aClass167_1252.method2394(0);
		    if (i < 1)
			return -1;
		    if (i > Class153.anInt2027 + -Class112_Sub4.anInt3993)
			i = Class153.anInt2027 - Class112_Sub4.anInt3993;
		    Class90.aClass167_1252.method2390((byte) 125,
						      (Class112_Sub3
						       .aByteArray3970),
						      Class112_Sub4.anInt3993,
						      i);
		    Class112_Sub4.anInt3993 += i;
		    if (Class153.anInt2027 > Class112_Sub4.anInt3993)
			return -1;
		    if (!Class153_Sub36_Sub3
			     .method2114(Class112_Sub3.aByteArray3970, -116))
			return Class209.method2752(1002, -5);
		    Class183.aClass55_Sub1Array2587
			= new Class55_Sub1[Class98.anInt1352];
		    int i_34_ = 0;
		    for (int i_35_ = Class153_Sub36_Sub14.anInt5995;
			 Class93.anInt1277 >= i_35_; i_35_++) {
			Class55_Sub1 class55_sub1
			    = Class195.method2643((byte) 60, i_35_);
			if (class55_sub1 != null)
			    Class183.aClass55_Sub1Array2587[i_34_++]
				= class55_sub1;
		    }
		    Class153_Sub14_Sub15.anInt5548 = 0;
		    Class140.aClass153_Sub31_1875 = null;
		    Class90.aClass167_1252.method2397((byte) -111);
		    Class56.anInt824 = 0;
		    Class112_Sub3.aByteArray3970 = null;
		    Class90.aClass167_1252 = null;
		    Class16.anInt247 = 0;
		    Class72.aLong942 = Class33.method502(120);
		    return 0;
		}
	    } catch (java.io.IOException ioexception) {
		return Class209.method2752(1003, -5);
	    }
	    return -1;
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.JB(" + arg0 + ')');
	}
    }
    
    public void method1668(int arg0, int arg1, long arg2) {
	try {
	    anInt4235++;
	    if (--arg1 < 0 || arg1 > 7)
		throw new IllegalArgumentException();
	    int i = -105 / ((81 - arg0) / 35);
	    for (int i_36_ = arg1 * 8; i_36_ >= 0; i_36_ -= 8)
		aByteArray4281[anInt4237++] = (byte) (int) (arg2 >> i_36_);
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      ("dg.F(" + arg0 + ',' + arg1 + ',' + arg2
				       + ')'));
	}
    }
    
    public void method1669(int arg0, int arg1) {
	try {
	    if (arg1 == 5544) {
		anInt4226++;
		aByteArray4281[anInt4237++] = (byte) arg0;
		aByteArray4281[anInt4237++] = (byte) (arg0 >> 116065608);
	    }
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      "dg.NA(" + arg0 + ',' + arg1 + ')');
	}
    }
    
    public void method1670(int arg0, int arg1) {
	aByteArray4281[anInt4237++] = (byte) (arg0 >> -1368998648);
	anInt4266++;
	aByteArray4281[anInt4237++] = (byte) arg0;
	aByteArray4281[anInt4237++] = (byte) (arg0 >> -164517096);
	aByteArray4281[anInt4237++] = (byte) (arg0 >> 1900693328);
	if (arg1 <= 12)
	    aByteArray4281 = null;
    }
    
    public void method1671(int arg0, int arg1) {
	anInt4232++;
	aByteArray4281[anInt4237++] = (byte) (arg1 - -128);
	if (arg0 > -28)
	    method1654(-32);
    }
    
    public void method1672(int arg0, int arg1) {
	try {
	    anInt4223++;
	    aByteArray4281[anInt4237++] = (byte) (arg0 - -128);
	    if (arg1 != -17029)
		method1637(-112);
	    aByteArray4281[anInt4237++] = (byte) (arg0 >> -392694168);
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      "dg.U(" + arg0 + ',' + arg1 + ')');
	}
    }
    
    public int method1673(int arg0) {
	try {
	    anInt4222++;
	    if (arg0 <= 42)
		return 82;
	    anInt4237 += 2;
	    int i
		= ((aByteArray4281[-1 + anInt4237] & 0xff)
		   + ((aByteArray4281[-2 + anInt4237] & 0xff) << -2055989400));
	    if (i > 32767)
		i -= 65536;
	    return i;
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.VA(" + arg0 + ')');
	}
    }
    
    public static boolean method1674(byte arg0) {
	try {
	    anInt4229++;
	    if (Class153_Sub36_Sub3.aBoolean5850) {
		try {
		    Class1.method90(Class101.aClass162_1376.anApplet2134, 18,
				    "showVideoAd");
		    return true;
		} catch (Throwable throwable) {
		    /* empty */
		}
	    }
	    if (arg0 != -105)
		return false;
	    return false;
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.D(" + arg0 + ')');
	}
    }
    
    public void method1675(long arg0, int arg1) {
	try {
	    aByteArray4281[anInt4237++] = (byte) (int) (arg0 >> -1852492744);
	    anInt4265++;
	    aByteArray4281[anInt4237++] = (byte) (int) (arg0 >> -90981008);
	    aByteArray4281[anInt4237++] = (byte) (int) (arg0 >> -1831674456);
	    aByteArray4281[anInt4237++] = (byte) (int) (arg0 >> -1093937888);
	    aByteArray4281[anInt4237++] = (byte) (int) (arg0 >> -1975556392);
	    aByteArray4281[anInt4237++] = (byte) (int) (arg0 >> 110819600);
	    aByteArray4281[anInt4237++] = (byte) (int) (arg0 >> 1417376520);
	    if (arg1 < 28)
		method1663(-67, -104);
	    aByteArray4281[anInt4237++] = (byte) (int) arg0;
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      "dg.AA(" + arg0 + ',' + arg1 + ')');
	}
    }
    
    public Class153_Sub8(int arg0) {
	try {
	    anInt4237 = 0;
	    aByteArray4281 = Class106.method1068(arg0, true);
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      "dg.<init>(" + arg0 + ')');
	}
    }
    
    public int method1676(boolean arg0) {
	try {
	    anInt4255++;
	    anInt4237 += 3;
	    if (arg0 != false)
		return -13;
	    return ((0xff0000 & aByteArray4281[anInt4237 - 3] << -135065072)
		    - (-(aByteArray4281[anInt4237 + -2] << -558454456 & 0xff00)
		       - (aByteArray4281[-1 + anInt4237] & 0xff)));
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.SA(" + arg0 + ')');
	}
    }
    
    public int method1677(byte arg0) {
	try {
	    anInt4237 += 2;
	    anInt4259++;
	    if (arg0 != 48)
		method1656(null, true);
	    return ((0xff & aByteArray4281[anInt4237 - 1])
		    + (0xff00
		       & aByteArray4281[anInt4237 + -2] << -1147743544));
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception, "dg.J(" + arg0 + ')');
	}
    }
    
    public Class153_Sub8(byte[] arg0) {
	try {
	    aByteArray4281 = arg0;
	    anInt4237 = 0;
	} catch (RuntimeException runtimeexception) {
	    throw Class180.method2506(runtimeexception,
				      "dg.<init>(" + (arg0 != null ? "{...}"
						      : "null") + ')');
	}
    }
}
to


Code:
        StaticPacketBuilder spb = new StaticPacketBuilder().setId(194).setSize(Packet.Size.VAR_SHORT);
        boolean forceSend = true;
        spb.addLEShortA(player.getLocation().getRegionX());
        spb.addShort(player.getLocation().getLocalY());
        spb.addByte((byte) 0);
        spb.addByteA(0);
        if ((((player.getLocation().getRegionX() / 8) == 48) || ((player.getLocation().getRegionX() / 8) == 49)) && ((player.getLocation().getRegionY() / 8) == 48)) {
            forceSend = false;
        }
        if (((player.getLocation().getRegionX() / 8) == 48) && ((player.getLocation().getRegionY() / 8) == 148)) {
            forceSend = false;
        }
        for (int xCalc = (player.getLocation().getRegionX() - 6) / 8; xCalc <= ((player.getLocation().getRegionX() + 6) / 8); xCalc++) {
            for (int yCalc = (player.getLocation().getRegionY() - 6) / 8; yCalc <= ((player.getLocation().getRegionY() + 6) / 8); yCalc++) {
                int region = yCalc + (xCalc << 8); // 1786653352
                if (forceSend || ((yCalc != 49) && (yCalc != 149) && (yCalc != 147) && (xCalc != 50) && ((xCalc != 49) || (yCalc != 47)))) {
                    int[] mapData = World.getInstance().getMapData(region);
                    spb.addInt(mapData[0]);
                    spb.addInt(mapData[1]);
                    spb.addInt(mapData[2]);
                    spb.addInt(mapData[3]);
                }
            }
        }
        spb.addByteA(player.getLocation().getZ());
        spb.addShort(player.getLocation().getLocalX());
        spb.addShort(player.getLocation().getRegionY());
        player.getSession().write(spb.toPacket());
        player.getUpdateFlags().setLastRegion(player.getLocation());
        //World.getInstance().getItemManager().refresh(player);
    }