Full source recovered from SBoT.jar (July 2004) plus the three bundled example scripts (BoneBury, GuildFish, GuildFisher). Class names are the original RSC-era single-letter obfuscation (a.java-z.java); mudclient.java and Script.java kept their real names since those weren't obfuscated.
678 lines
43 KiB
Java
678 lines
43 KiB
Java
/*
|
|
* Decompiled with CFR 0.152.
|
|
*/
|
|
public class z {
|
|
public static String[] a;
|
|
public static int b;
|
|
|
|
public static String a() {
|
|
return a[b - 29];
|
|
}
|
|
|
|
public static int b() {
|
|
int n2;
|
|
block4: {
|
|
block5: {
|
|
int n3;
|
|
block2: {
|
|
block3: {
|
|
boolean bl = q.d;
|
|
n3 = b;
|
|
if (bl) break block2;
|
|
if (n3 == 29) break block3;
|
|
n3 = b;
|
|
if (bl) break block2;
|
|
if (n3 == 31) break block3;
|
|
n3 = b;
|
|
if (bl) break block2;
|
|
if (n3 == 33) break block3;
|
|
n2 = b;
|
|
if (bl) break block4;
|
|
if (n2 != 37) break block5;
|
|
}
|
|
n3 = 43594;
|
|
}
|
|
return n3;
|
|
}
|
|
n2 = 43595;
|
|
}
|
|
return n2;
|
|
}
|
|
|
|
public static void a(int n2) {
|
|
block3: {
|
|
int n3;
|
|
block4: {
|
|
int n4;
|
|
block2: {
|
|
boolean bl = q.d;
|
|
n3 = n2;
|
|
n4 = 28;
|
|
if (bl) break block2;
|
|
if (n3 <= n4) break block3;
|
|
n3 = n2;
|
|
if (bl) break block4;
|
|
n4 = 39;
|
|
}
|
|
if (n3 >= n4) break block3;
|
|
n3 = n2;
|
|
}
|
|
b = n3;
|
|
}
|
|
}
|
|
|
|
/*
|
|
* Handled impossible loop by duplicating code
|
|
* Enabled aggressive block sorting
|
|
*/
|
|
static {
|
|
char[] cArray;
|
|
String[] stringArray;
|
|
block109: {
|
|
int n2;
|
|
int n3;
|
|
char[] cArray2;
|
|
int n4;
|
|
block108: {
|
|
char[] cArray3;
|
|
Object var0;
|
|
block107: {
|
|
int n5;
|
|
int n6;
|
|
char[] cArray4;
|
|
block106: {
|
|
char[] cArray5;
|
|
block105: {
|
|
int n7;
|
|
int n8;
|
|
char[] cArray6;
|
|
block104: {
|
|
char[] cArray7;
|
|
block103: {
|
|
int n9;
|
|
int n10;
|
|
char[] cArray8;
|
|
block102: {
|
|
char[] cArray9;
|
|
block101: {
|
|
int n11;
|
|
int n12;
|
|
char[] cArray10;
|
|
block100: {
|
|
char[] cArray11;
|
|
block99: {
|
|
int n13;
|
|
int n14;
|
|
char[] cArray12;
|
|
block98: {
|
|
char[] cArray13;
|
|
block97: {
|
|
int n15;
|
|
int n16;
|
|
char[] cArray14;
|
|
block96: {
|
|
char[] cArray15;
|
|
block95: {
|
|
int n17;
|
|
int n18;
|
|
char[] cArray16;
|
|
block94: {
|
|
char[] cArray17;
|
|
block93: {
|
|
int n19;
|
|
int n20;
|
|
char[] cArray18;
|
|
block92: {
|
|
char[] cArray19;
|
|
block91: {
|
|
int n21;
|
|
int n22;
|
|
char[] cArray20;
|
|
block90: {
|
|
stringArray = new String[10];
|
|
var0 = null;
|
|
char[] cArray21 = "S@\u001b%Y\u0014\u001b\u001f=P\u0015F\u001a;\u0006HW\u000e%\u0006\u0015W\u00008LXX\u00060\rO\u0006@".toCharArray();
|
|
n4 = 0;
|
|
int n23 = cArray21.length;
|
|
cArray20 = cArray21;
|
|
n22 = n23;
|
|
if (n23 <= 1) break block90;
|
|
cArray19 = cArray20;
|
|
n21 = n22;
|
|
if (n22 <= n4) break block91;
|
|
}
|
|
do {
|
|
char[] cArray22 = cArray20;
|
|
char[] cArray23 = cArray20;
|
|
int n24 = n4;
|
|
while (true) {
|
|
int n25;
|
|
char c2 = cArray22[n24];
|
|
switch (n4 % 5) {
|
|
case 0: {
|
|
n25 = 59;
|
|
break;
|
|
}
|
|
case 1: {
|
|
n25 = 52;
|
|
break;
|
|
}
|
|
case 2: {
|
|
n25 = 111;
|
|
break;
|
|
}
|
|
case 3: {
|
|
n25 = 85;
|
|
break;
|
|
}
|
|
default: {
|
|
n25 = 99;
|
|
}
|
|
}
|
|
cArray22[n24] = (char)(c2 ^ n25);
|
|
++n4;
|
|
cArray20 = cArray23;
|
|
n22 = n22;
|
|
if (n22 != 0) break;
|
|
cArray23 = cArray20;
|
|
n21 = n22;
|
|
n24 = n22;
|
|
cArray22 = cArray20;
|
|
}
|
|
cArray19 = cArray20;
|
|
n21 = n22;
|
|
} while (n22 > n4);
|
|
}
|
|
stringArray[0] = new String(cArray19).intern();
|
|
var0 = null;
|
|
char[] cArray24 = "S@\u001b%Y\u0014\u001b\u001f=P\u0015F\u001a;\u0006HW\u000e%\u0006\u0015W\u00008LXX\u00060\rO\u0006@".toCharArray();
|
|
n4 = 0;
|
|
int n26 = cArray24.length;
|
|
cArray18 = cArray24;
|
|
n20 = n26;
|
|
if (n26 <= 1) break block92;
|
|
cArray17 = cArray18;
|
|
n19 = n20;
|
|
if (n20 <= n4) break block93;
|
|
}
|
|
do {
|
|
char[] cArray25 = cArray18;
|
|
char[] cArray26 = cArray18;
|
|
int n27 = n4;
|
|
while (true) {
|
|
int n28;
|
|
char c3 = cArray25[n27];
|
|
switch (n4 % 5) {
|
|
case 0: {
|
|
n28 = 59;
|
|
break;
|
|
}
|
|
case 1: {
|
|
n28 = 52;
|
|
break;
|
|
}
|
|
case 2: {
|
|
n28 = 111;
|
|
break;
|
|
}
|
|
case 3: {
|
|
n28 = 85;
|
|
break;
|
|
}
|
|
default: {
|
|
n28 = 99;
|
|
}
|
|
}
|
|
cArray25[n27] = (char)(c3 ^ n28);
|
|
++n4;
|
|
cArray18 = cArray26;
|
|
n20 = n20;
|
|
if (n20 != 0) break;
|
|
cArray26 = cArray18;
|
|
n19 = n20;
|
|
n27 = n20;
|
|
cArray25 = cArray18;
|
|
}
|
|
cArray17 = cArray18;
|
|
n19 = n20;
|
|
} while (n20 > n4);
|
|
}
|
|
stringArray[1] = new String(cArray17).intern();
|
|
var0 = null;
|
|
char[] cArray27 = "S@\u001b%Y\u0014\u001b\u001a>R\u0015F\u001a;\u0006HW\u000e%\u0006\u0015W\u00008LXX\u00060\rO\u0006@".toCharArray();
|
|
n4 = 0;
|
|
int n29 = cArray27.length;
|
|
cArray16 = cArray27;
|
|
n18 = n29;
|
|
if (n29 <= 1) break block94;
|
|
cArray15 = cArray16;
|
|
n17 = n18;
|
|
if (n18 <= n4) break block95;
|
|
}
|
|
do {
|
|
char[] cArray28 = cArray16;
|
|
char[] cArray29 = cArray16;
|
|
int n30 = n4;
|
|
while (true) {
|
|
int n31;
|
|
char c4 = cArray28[n30];
|
|
switch (n4 % 5) {
|
|
case 0: {
|
|
n31 = 59;
|
|
break;
|
|
}
|
|
case 1: {
|
|
n31 = 52;
|
|
break;
|
|
}
|
|
case 2: {
|
|
n31 = 111;
|
|
break;
|
|
}
|
|
case 3: {
|
|
n31 = 85;
|
|
break;
|
|
}
|
|
default: {
|
|
n31 = 99;
|
|
}
|
|
}
|
|
cArray28[n30] = (char)(c4 ^ n31);
|
|
++n4;
|
|
cArray16 = cArray29;
|
|
n18 = n18;
|
|
if (n18 != 0) break;
|
|
cArray29 = cArray16;
|
|
n17 = n18;
|
|
n30 = n18;
|
|
cArray28 = cArray16;
|
|
}
|
|
cArray15 = cArray16;
|
|
n17 = n18;
|
|
} while (n18 > n4);
|
|
}
|
|
stringArray[2] = new String(cArray15).intern();
|
|
var0 = null;
|
|
char[] cArray30 = "S@\u001b%Y\u0014\u001b\u001a>R\u0015F\u001a;\u0006HW\u000e%\u0006\u0015W\u00008LXX\u00060\rO\u0006@".toCharArray();
|
|
n4 = 0;
|
|
int n32 = cArray30.length;
|
|
cArray14 = cArray30;
|
|
n16 = n32;
|
|
if (n32 <= 1) break block96;
|
|
cArray13 = cArray14;
|
|
n15 = n16;
|
|
if (n16 <= n4) break block97;
|
|
}
|
|
do {
|
|
char[] cArray31 = cArray14;
|
|
char[] cArray32 = cArray14;
|
|
int n33 = n4;
|
|
while (true) {
|
|
int n34;
|
|
char c5 = cArray31[n33];
|
|
switch (n4 % 5) {
|
|
case 0: {
|
|
n34 = 59;
|
|
break;
|
|
}
|
|
case 1: {
|
|
n34 = 52;
|
|
break;
|
|
}
|
|
case 2: {
|
|
n34 = 111;
|
|
break;
|
|
}
|
|
case 3: {
|
|
n34 = 85;
|
|
break;
|
|
}
|
|
default: {
|
|
n34 = 99;
|
|
}
|
|
}
|
|
cArray31[n33] = (char)(c5 ^ n34);
|
|
++n4;
|
|
cArray14 = cArray32;
|
|
n16 = n16;
|
|
if (n16 != 0) break;
|
|
cArray32 = cArray14;
|
|
n15 = n16;
|
|
n33 = n16;
|
|
cArray31 = cArray14;
|
|
}
|
|
cArray13 = cArray14;
|
|
n15 = n16;
|
|
} while (n16 > n4);
|
|
}
|
|
stringArray[3] = new String(cArray13).intern();
|
|
var0 = null;
|
|
char[] cArray33 = "S@\u001b%Y\u0014\u001b\u001a9P\u0015F\u001a;\u0006HW\u000e%\u0006\u0015W\u00008LXX\u00060\rO\u0006@".toCharArray();
|
|
n4 = 0;
|
|
int n35 = cArray33.length;
|
|
cArray12 = cArray33;
|
|
n14 = n35;
|
|
if (n35 <= 1) break block98;
|
|
cArray11 = cArray12;
|
|
n13 = n14;
|
|
if (n14 <= n4) break block99;
|
|
}
|
|
do {
|
|
char[] cArray34 = cArray12;
|
|
char[] cArray35 = cArray12;
|
|
int n36 = n4;
|
|
while (true) {
|
|
int n37;
|
|
char c6 = cArray34[n36];
|
|
switch (n4 % 5) {
|
|
case 0: {
|
|
n37 = 59;
|
|
break;
|
|
}
|
|
case 1: {
|
|
n37 = 52;
|
|
break;
|
|
}
|
|
case 2: {
|
|
n37 = 111;
|
|
break;
|
|
}
|
|
case 3: {
|
|
n37 = 85;
|
|
break;
|
|
}
|
|
default: {
|
|
n37 = 99;
|
|
}
|
|
}
|
|
cArray34[n36] = (char)(c6 ^ n37);
|
|
++n4;
|
|
cArray12 = cArray35;
|
|
n14 = n14;
|
|
if (n14 != 0) break;
|
|
cArray35 = cArray12;
|
|
n13 = n14;
|
|
n36 = n14;
|
|
cArray34 = cArray12;
|
|
}
|
|
cArray11 = cArray12;
|
|
n13 = n14;
|
|
} while (n14 > n4);
|
|
}
|
|
stringArray[4] = new String(cArray11).intern();
|
|
var0 = null;
|
|
char[] cArray36 = "S@\u001b%Y\u0014\u001b\u001a9P\u0015F\u001a;\u0006HW\u000e%\u0006\u0015W\u00008LXX\u00060\rO\u0006@".toCharArray();
|
|
n4 = 0;
|
|
int n38 = cArray36.length;
|
|
cArray10 = cArray36;
|
|
n12 = n38;
|
|
if (n38 <= 1) break block100;
|
|
cArray9 = cArray10;
|
|
n11 = n12;
|
|
if (n12 <= n4) break block101;
|
|
}
|
|
do {
|
|
char[] cArray37 = cArray10;
|
|
char[] cArray38 = cArray10;
|
|
int n39 = n4;
|
|
while (true) {
|
|
int n40;
|
|
char c7 = cArray37[n39];
|
|
switch (n4 % 5) {
|
|
case 0: {
|
|
n40 = 59;
|
|
break;
|
|
}
|
|
case 1: {
|
|
n40 = 52;
|
|
break;
|
|
}
|
|
case 2: {
|
|
n40 = 111;
|
|
break;
|
|
}
|
|
case 3: {
|
|
n40 = 85;
|
|
break;
|
|
}
|
|
default: {
|
|
n40 = 99;
|
|
}
|
|
}
|
|
cArray37[n39] = (char)(c7 ^ n40);
|
|
++n4;
|
|
cArray10 = cArray38;
|
|
n12 = n12;
|
|
if (n12 != 0) break;
|
|
cArray38 = cArray10;
|
|
n11 = n12;
|
|
n39 = n12;
|
|
cArray37 = cArray10;
|
|
}
|
|
cArray9 = cArray10;
|
|
n11 = n12;
|
|
} while (n12 > n4);
|
|
}
|
|
stringArray[5] = new String(cArray9).intern();
|
|
var0 = null;
|
|
char[] cArray39 = "S@\u001b%Y\u0014\u001b\u001a9P\u0015F\u001a;\u0006HW\u000e%\u0006\u0015W\u00008LXX\u00060\rO\u0006@".toCharArray();
|
|
n4 = 0;
|
|
int n41 = cArray39.length;
|
|
cArray8 = cArray39;
|
|
n10 = n41;
|
|
if (n41 <= 1) break block102;
|
|
cArray7 = cArray8;
|
|
n9 = n10;
|
|
if (n10 <= n4) break block103;
|
|
}
|
|
do {
|
|
char[] cArray40 = cArray8;
|
|
char[] cArray41 = cArray8;
|
|
int n42 = n4;
|
|
while (true) {
|
|
int n43;
|
|
char c8 = cArray40[n42];
|
|
switch (n4 % 5) {
|
|
case 0: {
|
|
n43 = 59;
|
|
break;
|
|
}
|
|
case 1: {
|
|
n43 = 52;
|
|
break;
|
|
}
|
|
case 2: {
|
|
n43 = 111;
|
|
break;
|
|
}
|
|
case 3: {
|
|
n43 = 85;
|
|
break;
|
|
}
|
|
default: {
|
|
n43 = 99;
|
|
}
|
|
}
|
|
cArray40[n42] = (char)(c8 ^ n43);
|
|
++n4;
|
|
cArray8 = cArray41;
|
|
n10 = n10;
|
|
if (n10 != 0) break;
|
|
cArray41 = cArray8;
|
|
n9 = n10;
|
|
n42 = n10;
|
|
cArray40 = cArray8;
|
|
}
|
|
cArray7 = cArray8;
|
|
n9 = n10;
|
|
} while (n10 > n4);
|
|
}
|
|
stringArray[6] = new String(cArray7).intern();
|
|
var0 = null;
|
|
char[] cArray42 = "S@\u001b%Y\u0014\u001b\u001a9P\u0015F\u001a;\u0006HW\u000e%\u0006\u0015W\u00008LXX\u00060\rO\u0006@".toCharArray();
|
|
n4 = 0;
|
|
int n44 = cArray42.length;
|
|
cArray6 = cArray42;
|
|
n8 = n44;
|
|
if (n44 <= 1) break block104;
|
|
cArray5 = cArray6;
|
|
n7 = n8;
|
|
if (n8 <= n4) break block105;
|
|
}
|
|
do {
|
|
char[] cArray43 = cArray6;
|
|
char[] cArray44 = cArray6;
|
|
int n45 = n4;
|
|
while (true) {
|
|
int n46;
|
|
char c9 = cArray43[n45];
|
|
switch (n4 % 5) {
|
|
case 0: {
|
|
n46 = 59;
|
|
break;
|
|
}
|
|
case 1: {
|
|
n46 = 52;
|
|
break;
|
|
}
|
|
case 2: {
|
|
n46 = 111;
|
|
break;
|
|
}
|
|
case 3: {
|
|
n46 = 85;
|
|
break;
|
|
}
|
|
default: {
|
|
n46 = 99;
|
|
}
|
|
}
|
|
cArray43[n45] = (char)(c9 ^ n46);
|
|
++n4;
|
|
cArray6 = cArray44;
|
|
n8 = n8;
|
|
if (n8 != 0) break;
|
|
cArray44 = cArray6;
|
|
n7 = n8;
|
|
n45 = n8;
|
|
cArray43 = cArray6;
|
|
}
|
|
cArray5 = cArray6;
|
|
n7 = n8;
|
|
} while (n8 > n4);
|
|
}
|
|
stringArray[7] = new String(cArray5).intern();
|
|
var0 = null;
|
|
char[] cArray45 = "S@\u001b%Y\u0014\u001b\f0\u0017\b\u001a\u001d \r^G\f4\u0013^\u001a\f:\u000e\u0014W\u0003<\u0006U@]z".toCharArray();
|
|
n4 = 0;
|
|
int n47 = cArray45.length;
|
|
cArray4 = cArray45;
|
|
n6 = n47;
|
|
if (n47 <= 1) break block106;
|
|
cArray3 = cArray4;
|
|
n5 = n6;
|
|
if (n6 <= n4) break block107;
|
|
}
|
|
do {
|
|
char[] cArray46 = cArray4;
|
|
char[] cArray47 = cArray4;
|
|
int n48 = n4;
|
|
while (true) {
|
|
int n49;
|
|
char c10 = cArray46[n48];
|
|
switch (n4 % 5) {
|
|
case 0: {
|
|
n49 = 59;
|
|
break;
|
|
}
|
|
case 1: {
|
|
n49 = 52;
|
|
break;
|
|
}
|
|
case 2: {
|
|
n49 = 111;
|
|
break;
|
|
}
|
|
case 3: {
|
|
n49 = 85;
|
|
break;
|
|
}
|
|
default: {
|
|
n49 = 99;
|
|
}
|
|
}
|
|
cArray46[n48] = (char)(c10 ^ n49);
|
|
++n4;
|
|
cArray4 = cArray47;
|
|
n6 = n6;
|
|
if (n6 != 0) break;
|
|
cArray47 = cArray4;
|
|
n5 = n6;
|
|
n48 = n6;
|
|
cArray46 = cArray4;
|
|
}
|
|
cArray3 = cArray4;
|
|
n5 = n6;
|
|
} while (n6 > n4);
|
|
}
|
|
stringArray[8] = new String(cArray3).intern();
|
|
var0 = null;
|
|
char[] cArray48 = "S@\u001b%Y\u0014\u001b\f0\u0017\b\u001a\u001d \r^G\f4\u0013^\u001a\f:\u000e\u0014W\u0003<\u0006U@]z".toCharArray();
|
|
n4 = 0;
|
|
int n50 = cArray48.length;
|
|
cArray2 = cArray48;
|
|
n3 = n50;
|
|
if (n50 <= 1) break block108;
|
|
cArray = cArray2;
|
|
n2 = n3;
|
|
if (n3 <= n4) break block109;
|
|
}
|
|
do {
|
|
char[] cArray49 = cArray2;
|
|
char[] cArray50 = cArray2;
|
|
int n51 = n4;
|
|
while (true) {
|
|
int n52;
|
|
char c11 = cArray49[n51];
|
|
switch (n4 % 5) {
|
|
case 0: {
|
|
n52 = 59;
|
|
break;
|
|
}
|
|
case 1: {
|
|
n52 = 52;
|
|
break;
|
|
}
|
|
case 2: {
|
|
n52 = 111;
|
|
break;
|
|
}
|
|
case 3: {
|
|
n52 = 85;
|
|
break;
|
|
}
|
|
default: {
|
|
n52 = 99;
|
|
}
|
|
}
|
|
cArray49[n51] = (char)(c11 ^ n52);
|
|
++n4;
|
|
cArray2 = cArray50;
|
|
n3 = n3;
|
|
if (n3 != 0) break;
|
|
cArray50 = cArray2;
|
|
n2 = n3;
|
|
n51 = n3;
|
|
cArray49 = cArray2;
|
|
}
|
|
cArray = cArray2;
|
|
n2 = n3;
|
|
} while (n3 > n4);
|
|
}
|
|
stringArray[9] = new String(cArray).intern();
|
|
a = stringArray;
|
|
b = 29;
|
|
}
|
|
}
|
|
|