Files
sbot_archive/j.java
T
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;
}
}