Files
wes c30e839b64 SBoT 1.0 decompiled with CFR 0.152
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.
2026-08-25 13:11:31 -04:00

235 lines
9.6 KiB
Java

/*
* Decompiled with CFR 0.152.
*/
public class j {
public static byte[] a = new byte[100];
public static char[] b = new char[100];
private static char[] c = new char[]{' ', 'e', 't', 'a', 'o', 'i', 'h', 'n', 's', 'r', 'd', 'l', 'u', 'm', 'w', 'c', 'y', 'f', 'g', 'p', 'b', 'v', 'k', 'x', 'j', 'q', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ' ', '!', '?', '.', ',', ':', ';', '(', ')', '-', '&', '*', '\\', '\'', '@', '#', '+', '=', '\u00a3', '$', '%', '\"', '[', ']'};
/*
* Unable to fully structure code
*/
public static String a(byte[] var0, int var1_1, int var2_2) {
var9_3 = q.d;
var3_4 = false;
try {
var4_5 = 0;
var5_7 = -1;
for (var6_8 = 0; var6_8 < var2_2; ++var6_8) {
block24: {
block20: {
block21: {
block22: {
block23: {
var7_9 = var0[var1_1++] & 255;
var8_10 = var7_9 >> 4 & 15;
v0 = var5_7;
if (var9_3) break block20;
v1 = -1;
if (var9_3) ** GOTO lbl49
if (v0 != v1) break block21;
v2 = var8_10;
if (var9_3) break block22;
if (v2 >= 13) break block23;
j.b[var4_5++] = j.c[var8_10];
if (!var9_3) break block24;
}
v2 = var5_7 = var8_10;
}
if (!var9_3) break block24;
}
j.b[var4_5++] = j.c[(var5_7 << 4) + var8_10 - 195];
v0 = -1;
}
var5_7 = v0;
}
var8_10 = var7_9 & 15;
v3 = var5_7;
if (!var9_3) {
if (v3 == -1) {
v4 = var8_10;
if (!var9_3) {
if (v4 < 13) {
j.b[var4_5++] = j.c[var8_10];
if (!var9_3) continue;
}
v4 = var5_7 = var8_10;
}
if (!var9_3) continue;
}
j.b[var4_5++] = j.c[(var5_7 << 4) + var8_10 - 195];
v3 = -1;
}
var5_7 = v3;
if (!var9_3) continue;
}
var6_8 = 1;
var7_9 = 0;
do {
block33: {
block31: {
block32: {
block30: {
block28: {
block29: {
block27: {
block25: {
block26: {
v5 = var7_9;
v1 = var4_5;
lbl49:
// 2 sources
if (v5 >= v1) break;
var8_10 = j.b[var7_9];
v6 = var7_9;
v7 = 4;
if (var9_3) break block25;
if (v6 <= v7) break block26;
v6 = var8_10;
v7 = 64;
if (var9_3) break block25;
if (v6 == v7) {
j.b[var7_9] = 32;
}
}
v6 = var8_10;
if (var9_3) break block27;
v7 = 37;
}
if (v6 == v7) {
j.b[var7_9] = 32;
}
v6 = var6_8;
}
if (var9_3) break block28;
if (v6 == 0) break block29;
v6 = var8_10;
v8 = 97;
if (var9_3) break block30;
if (v6 < v8) break block29;
v6 = var8_10;
v8 = 122;
if (var9_3) break block30;
if (v6 <= v8) {
v9 = var7_9;
j.b[v9] = (char)(j.b[v9] + 65504);
var6_8 = 0;
}
}
v6 = var8_10;
}
if (var9_3) break block31;
v8 = 46;
}
if (v6 == v8) break block32;
v6 = var8_10;
if (var9_3) break block31;
if (v6 != 33) break block33;
}
v6 = 1;
}
var6_8 = v6;
}
++var7_9;
} while (!var9_3);
return new String(j.b, 0, var4_5);
}
catch (Exception var4_6) {
return ".";
}
}
public static int a(String string) {
int n2;
int n3;
int n4;
boolean bl;
block16: {
bl = q.d;
boolean bl2 = false;
int n5 = string.length();
if (!bl) {
if (n5 > 80) {
string = string.substring(0, 80);
}
string = string.toLowerCase();
n5 = 0;
}
n4 = n5;
n3 = -1;
for (int i2 = 0; i2 < string.length(); ++i2) {
int n6;
int n7;
int n8;
block18: {
block19: {
block21: {
block20: {
block17: {
int n9 = string.charAt(i2);
n8 = 0;
n2 = 0;
if (bl) break block16;
for (int i3 = v172397; i3 < c.length; ++i3) {
int n10 = n9;
if (!bl) {
n7 = c[i3];
if (bl) break block17;
if (n10 != n7 && !bl) continue;
n10 = n8 = i3;
}
if (!bl) break;
if (!bl) continue;
}
n6 = n8;
n7 = 12;
}
if (!bl) {
if (n6 > n7) {
n8 += 195;
}
n6 = n3;
n7 = -1;
}
if (bl) break block18;
if (n6 != n7) break block19;
int n11 = n8;
if (bl) break block20;
if (n11 >= 13) break block21;
n11 = n3 = n8;
}
if (!bl) continue;
}
j.a[n4++] = (byte)n8;
if (!bl) continue;
}
n6 = n8;
n7 = 13;
}
if (!bl) {
if (n6 < n7) {
j.a[n4++] = (byte)((n3 << 4) + n8);
n3 = -1;
if (!bl) continue;
}
j.a[n4++] = (byte)((n3 << 4) + (n8 >> 4));
n6 = n8;
n7 = 15;
}
n3 = n6 & n7;
if (!bl) continue;
}
n2 = n3;
}
if (!bl) {
if (n2 != -1) {
j.a[n4++] = (byte)(n3 << 4);
}
n2 = n4;
}
return n2;
}
}