Code:
// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3)
final class Class163
{
public static void method2295(int i)
{
try
{
if(i != 99)
{
return;
} else
{
aBooleanArrayArray2285 = null;
anIntArray2284 = null;
return;
}
}
catch(RuntimeException runtimeexception)
{
throw Class130_Sub1.method1251(runtimeexception, "qq.C(" + i + ')');
}
}
static final void method2296(Class35 class35, Class138_Sub13 class138_sub13, int i, boolean flag)
{
try
{
Class138_Sub34 class138_sub34 = new Class138_Sub34();
class138_sub34.anInt4488 = class138_sub13.method1382((byte)104);
class138_sub34.anInt4477 = class138_sub13.method1381(-20);
if(!flag)
aBoolean2276 = false;
class138_sub34.aByteArrayArrayArray4481 = new byte[class138_sub34.anInt4488][][];
class138_sub34.anIntArray4489 = new int[class138_sub34.anInt4488];
class138_sub34.anIntArray4484 = new int[class138_sub34.anInt4488];
class138_sub34.aClass206Array4487 = new Class206[class138_sub34.anInt4488];
class138_sub34.aClass206Array4476 = new Class206[class138_sub34.anInt4488];
class138_sub34.anIntArray4485 = new int[class138_sub34.anInt4488];
for(int j = 0; j < class138_sub34.anInt4488; j++)
try
{
int k = class138_sub13.method1382((byte)104);
if(~k != -1 && k != 1 && ~k != -3)
{
if(k == 3 || ~k == -5)
{
String s = class138_sub13.method1410((byte)114);
String s2 = class138_sub13.method1410((byte)123);
int l = class138_sub13.method1382((byte)104);
String as[] = new String[l];
for(int j1 = 0; l > j1; j1++)
as[j1] = class138_sub13.method1410((byte)116);
byte abyte0[][] = new byte[l][];
if(~k == -4)
{
for(int k1 = 0; l > k1; k1++)
{
int l1 = class138_sub13.method1381(-20);
abyte0[k1] = new byte[l1];
class138_sub13.method1359(!flag, l1, abyte0[k1], 0);
}
}
class138_sub34.anIntArray4489[j] = k;
Class aclass[] = new Class[l];
for(int i2 = 0; l > i2; i2++)
aclass[i2] = Class157_Sub1.method2166((byte)-71, as[i2]);
class138_sub34.aClass206Array4487[j] = class35.method350(s2, Class157_Sub1.method2166((byte)-71, s), aclass, false);
class138_sub34.aByteArrayArrayArray4481[j] = abyte0;
}
} else
{
String s1 = class138_sub13.method1410((byte)66);
String s3 = class138_sub13.method1410((byte)117);
int i1 = 0;
if(k == 1)
i1 = class138_sub13.method1381(-16);
class138_sub34.anIntArray4489[j] = k;
class138_sub34.anIntArray4485[j] = i1;
class138_sub34.aClass206Array4476[j] = class35.method334(9236, s3, Class157_Sub1.method2166((byte)-71, s1));
}
}
catch(ClassNotFoundException _ex)
{
class138_sub34.anIntArray4484[j] = -1;
}
catch(SecurityException _ex)
{
class138_sub34.anIntArray4484[j] = -2;
}
catch(NullPointerException _ex)
{
class138_sub34.anIntArray4484[j] = -3;
}
catch(Exception _ex)
{
class138_sub34.anIntArray4484[j] = -4;
}
catch(Throwable _ex)
{
class138_sub34.anIntArray4484[j] = -5;
}
Class138_Sub35_Sub29.aClass115_6322.method1150(-104, class138_sub34);
return;
}
catch(RuntimeException runtimeexception)
{
throw Class130_Sub1.method1251(runtimeexception, "qq.A(" + (class35 == null ? "null" : "{...}") + ',' + (class138_sub13 == null ? "null" : "{...}") + ',' + i + ',' + flag + ')');
}
}
Class163(int ai[])
{
try
{
int i;
for(i = 1; ai.length + (ai.length >> 1) >= i; i <<= 1);
anIntArray2278 = new int[i + i];
for(int j = 0; ~(i - -i) < ~j; j++)
anIntArray2278[j] = -1;
for(int k = 0; ~k > ~ai.length; k++)
{
int l;
for(l = -1 + i & ai[k]; ~anIntArray2278[(l + l) - -1] != 0; l = l + 1 & -1 + i);
anIntArray2278[l + l] = ai[k];
anIntArray2278[l - (-l - 1)] = k;
}
return;
}
catch(RuntimeException runtimeexception)
{
throw Class130_Sub1.method1251(runtimeexception, "qq.<init>(" + (ai == null ? "null" : "{...}") + ')');
}
}
final int method2297(int i, int j)
{
try
{
int k = (anIntArray2278.length >> 1) + -1;
int l = k & i;
do
{
int i1 = anIntArray2278[1 + l + l];
if(~i1 == 0)
return -1;
if(~anIntArray2278[l + l] == ~i)
return i1;
l = k & 1 + l;
} while(true);
}
catch(RuntimeException runtimeexception)
{
throw Class130_Sub1.method1251(runtimeexception, "qq.B(" + i + ',' + j + ')');
}
}
static int anInt2273 = 0;
static int anInt2274;
static boolean aBoolean2275 = false;
static boolean aBoolean2276 = true;
static int anInt2277 = 0;
private int anIntArray2278[];
static int anInt2279 = 127;
static int anInt2280 = 0xf423f;
static int anInt2281;
static int anInt2282;
static int anInt2283;
static int anIntArray2284[] = {
99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
99, 99, 99, 99, 99
};
static boolean aBooleanArrayArray2285[][] = {
{
true, true, true, true, true, true, true, true, true, true,
true, true, true
}, {
true, true, true, false, false, false, true, true, false, false,
false, false, true
}, {
true, false, false, false, false, true, true, true, false, false,
false, false, false
}, {
false, false, true, true, true, true, false, false, false, false,
false, false, false
}, {
true, true, true, true, true, true, false, false, false, false,
false, false, false
}, {
true, true, true, false, false, true, true, true, false, false,
false, false, false
}, {
true, true, false, false, false, true, true, true, false, false,
false, false, true
}, {
true, true, false, false, false, false, false, true, false, false,
false, false, false
}, {
false, true, true, true, true, true, true, true, false, false,
false, false, false
}, {
true, false, false, false, true, true, true, true, true, true,
false, false, false
}, {
true, true, true, true, true, false, false, false, true, true,
false, false, false
}, {
true, true, true, false, false, false, false, false, false, false,
true, true, false
}, new boolean[13]
};
}
ok lets do some manual deobfuscation: