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.
This commit is contained in:
@@ -0,0 +1,206 @@
|
||||
/*
|
||||
* 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user