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

207 lines
6.2 KiB
Java

/*
* Decompiled with CFR 0.152.
*/
public final class m {
private int a;
private int[] b;
private int[] c;
private int d;
private int e;
private int f;
public m(int[] nArray) {
block2: {
boolean bl = q.d;
this.c = new int[256];
this.b = new int[256];
for (int i2 = 0; i2 < nArray.length; ++i2) {
this.b[i2] = nArray[i2];
if (!bl) {
if (!bl) continue;
}
break block2;
}
this.c();
}
}
public final int a() {
int n2 = this.a;
int n3 = n2;
this.a = n2 - 1;
if (!q.d) {
if (n3 == 0) {
this.b();
this.a = 255;
}
n3 = this.b[this.a];
}
return n3;
}
private final void b() {
boolean bl = q.d;
boolean bl2 = false;
this.e += ++this.f;
for (int i2 = 0; i2 < 256; ++i2) {
int n2;
int n3 = this.c[i2];
if (!bl) {
switch (i2 & 3) {
case 0: {
this.d ^= this.d << 13;
if (!bl) break;
}
case 1: {
this.d ^= this.d >>> 6;
if (!bl) break;
}
case 2: {
this.d ^= this.d << 2;
if (!bl) break;
}
case 3: {
this.d ^= this.d >>> 16;
}
}
this.d += this.c[i2 + 128 & 0xFF];
}
this.c[i2] = n2 = this.c[(n3 & 0x3FC) >> 2] + this.d + this.e;
this.b[i2] = this.e = this.c[(n2 >> 8 & 0x3FC) >> 2] + n3;
if (!bl) continue;
}
}
private final void c() {
block8: {
int n2;
int n3;
int n4;
int n5;
int n6;
int n7;
int n8;
int n9;
int n10;
boolean bl;
block7: {
block6: {
bl = q.d;
boolean bl2 = false;
n10 = -1640531527;
n9 = -1640531527;
n8 = -1640531527;
n7 = -1640531527;
n6 = -1640531527;
n5 = -1640531527;
n4 = -1640531527;
n3 = -1640531527;
for (n2 = 0; n2 < 4; ++n2) {
n6 += (n3 ^= n4 << 11);
n4 += n5;
n7 += (n4 ^= n5 >>> 2);
n5 += n6;
n8 += (n5 ^= n6 << 8);
n6 += n7;
n9 += (n6 ^= n7 >>> 16);
n7 += n8;
n10 += (n7 ^= n8 << 10);
n8 += n9;
n3 += (n8 ^= n9 >>> 4);
n9 += n10;
n4 += (n9 ^= n10 << 8);
n10 += n3;
n5 += (n10 ^= n3 >>> 9);
n3 += n4;
if (!bl) {
if (!bl) continue;
}
break block6;
}
n2 = 0;
}
while (n2 < 256) {
n3 += this.b[n2];
n4 += this.b[n2 + 1];
n5 += this.b[n2 + 2];
n6 += this.b[n2 + 3];
n7 += this.b[n2 + 4];
n8 += this.b[n2 + 5];
n9 += this.b[n2 + 6];
n10 += this.b[n2 + 7];
n6 += (n3 ^= n4 << 11);
n4 += n5;
n7 += (n4 ^= n5 >>> 2);
n5 += n6;
n8 += (n5 ^= n6 << 8);
n6 += n7;
n9 += (n6 ^= n7 >>> 16);
n7 += n8;
n10 += (n7 ^= n8 << 10);
n8 += n9;
n3 += (n8 ^= n9 >>> 4);
n9 += n10;
n4 += (n9 ^= n10 << 8);
n10 += n3;
n5 += (n10 ^= n3 >>> 9);
this.c[n2] = n3 += n4;
this.c[n2 + 1] = n4;
this.c[n2 + 2] = n5;
this.c[n2 + 3] = n6;
this.c[n2 + 4] = n7;
this.c[n2 + 5] = n8;
this.c[n2 + 6] = n9;
this.c[n2 + 7] = n10;
n2 += 8;
if (!bl) {
if (!bl) continue;
}
break block7;
}
n2 = 0;
}
while (n2 < 256) {
n3 += this.c[n2];
n4 += this.c[n2 + 1];
n5 += this.c[n2 + 2];
n6 += this.c[n2 + 3];
n7 += this.c[n2 + 4];
n8 += this.c[n2 + 5];
n9 += this.c[n2 + 6];
n10 += this.c[n2 + 7];
n6 += (n3 ^= n4 << 11);
n4 += n5;
n7 += (n4 ^= n5 >>> 2);
n5 += n6;
n8 += (n5 ^= n6 << 8);
n6 += n7;
n9 += (n6 ^= n7 >>> 16);
n7 += n8;
n10 += (n7 ^= n8 << 10);
n8 += n9;
n3 += (n8 ^= n9 >>> 4);
n9 += n10;
n4 += (n9 ^= n10 << 8);
n10 += n3;
n5 += (n10 ^= n3 >>> 9);
this.c[n2] = n3 += n4;
this.c[n2 + 1] = n4;
this.c[n2 + 2] = n5;
this.c[n2 + 3] = n6;
this.c[n2 + 4] = n7;
this.c[n2 + 5] = n8;
this.c[n2 + 6] = n9;
this.c[n2 + 7] = n10;
n2 += 8;
if (!bl) {
if (!bl) continue;
}
break block8;
}
this.b();
this.a = 256;
}
}
}