Files
wes 2625b73800 SBoT 1.0 decompiled with jad 1.5.8e
Same SBoT.jar, decompiled with jad instead of CFR for comparison -- jad
is the same decompiler the community used on RSC client dumps back in
2004 (see DeobedMC201.rar). A few methods didn't fully resolve (jad is
much less capable than CFR on complex control flow); those are marked
inline where jad gave up.
2026-08-25 13:11:37 -04:00

541 lines
10 KiB
Java

// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/kpdus/jad.html
// Decompiler options: packimports(3)
// Source File Name: w.java
import java.io.IOException;
public class w
{
public void a(int ai[])
{
u = new m(ai);
v = new m(ai);
}
public void a()
{
}
public int b()
throws IOException
{
return h();
}
public long c()
throws IOException
{
long l1 = g();
long l2 = g();
long l3 = g();
long l4 = g();
return (l1 << 48) + (l2 << 32) + (l3 << 16) + l4;
}
public void a(int i1, int j1, byte abyte0[])
throws IOException
{
}
public int d()
throws IOException
{
return 0;
}
public int a(byte abyte0[])
{
boolean flag = q.d;
b++;
c;
if(flag) goto _L2; else goto _L1
_L1:
if(c <= 0) goto _L4; else goto _L3
_L3:
b;
if(flag) goto _L2; else goto _L5
_L5:
c;
JVM INSTR icmple 67;
goto _L6 _L4
_L6:
y = true;
C = E;
c += c;
return 0;
_L4:
a;
_L2:
if(flag) goto _L8; else goto _L7
_L7:
JVM INSTR ifne 133;
goto _L9 _L10
_L9:
d();
if(flag) goto _L8; else goto _L11
_L11:
2;
JVM INSTR icmplt 133;
goto _L12 _L10
_L12:
a = h();
a;
if(flag) goto _L8; else goto _L13
_L13:
160;
JVM INSTR icmplt 133;
goto _L14 _L10
_L14:
a = (a - 160) * 256 + h();
_L10:
a;
_L8:
if(flag) goto _L16; else goto _L15
_L15:
JVM INSTR ifle 239;
goto _L17 _L18
_L18:
break MISSING_BLOCK_LABEL_256;
_L17:
d();
_L16:
a;
if(flag) goto _L20; else goto _L19
_L19:
JVM INSTR icmplt 239;
goto _L21 _L22
_L22:
break MISSING_BLOCK_LABEL_256;
_L21:
a;
'\240';
_L20:
if(flag) goto _L24; else goto _L23
_L23:
JVM INSTR icmplt 186;
goto _L25 _L26
_L25:
a(a, abyte0);
if(!flag) goto _L27; else goto _L26
_L26:
abyte0[a - 1] = (byte)h();
a;
if(flag) goto _L29; else goto _L28
_L28:
true;
_L24:
JVM INSTR icmple 222;
goto _L30 _L27
_L30:
a(a - 1, abyte0);
_L27:
a;
_L29:
int i1;
i1;
a = 0;
b = 0;
return i1;
IOException ioexception;
ioexception;
y = true;
C = ioexception.getMessage();
return 0;
}
public void a(int i1)
{
g[e++] = (byte)(i1 >> 8);
g[e++] = (byte)i1;
}
public void b(int i1)
{
g[e++] = (byte)i1;
}
public void c(int i1)
{
g[e++] = (byte)(i1 >> 24);
g[e++] = (byte)(i1 >> 16);
g[e++] = (byte)(i1 >> 8);
g[e++] = (byte)i1;
}
public void a(byte abyte0[], int i1, int j1)
{
int k1 = 0;
do
{
if(k1 >= j1)
break;
g[e++] = abyte0[i1 + k1];
k1++;
} while(!q.d);
}
public int d(int i1)
{
return i1 - u.a() & 0xff;
}
public boolean e()
{
d;
if(q.d) goto _L2; else goto _L1
_L1:
d > 0;
_L2:
return;
}
public void f()
{
boolean flag = q.d;
this;
if(flag) goto _L2; else goto _L1
_L1:
v;
JVM INSTR ifnull 52;
goto _L3 _L4
_L3:
break MISSING_BLOCK_LABEL_15;
_L4:
break MISSING_BLOCK_LABEL_52;
int i1 = g[d + 2] & 0xff;
g[d + 2] = (byte)(i1 + v.a());
this;
_L2:
f;
8;
if(flag) goto _L6; else goto _L5
_L5:
JVM INSTR icmpeq 75;
goto _L7 _L8
_L7:
break MISSING_BLOCK_LABEL_65;
_L8:
break MISSING_BLOCK_LABEL_75;
e++;
e - d;
2;
_L6:
JVM INSTR isub ;
int j1;
j1;
label0:
{
if(!flag)
{
if(j1 >= 160)
{
g[d] = (byte)(160 + j1 / 256);
g[d + 1] = (byte)(j1 & 0xff);
if(!flag)
break label0;
}
g[d] = (byte)j1;
e--;
}
g[d + 1] = g[e];
}
this;
if(flag) goto _L10; else goto _L9
_L9:
A;
10000;
JVM INSTR icmpgt 235;
goto _L11 _L12
_L11:
break MISSING_BLOCK_LABEL_193;
_L12:
break MISSING_BLOCK_LABEL_235;
int k1 = g[d + 2] & 0xff;
x[k1]++;
z[k1] += e - d;
this;
_L10:
e;
d;
}
public void a(long l1)
{
c((int)(l1 >> 32));
c((int)(l1 & -1L));
}
public int g()
throws IOException
{
int i1 = b();
int j1 = b();
return i1 * 256 + j1;
}
public void a(int i1, byte abyte0[])
throws IOException
{
a(i1, 0, abyte0);
}
public void e(int i1)
{
boolean flag = q.d;
this;
if(flag) goto _L2; else goto _L1
_L1:
d;
(A * 4) / 5;
JVM INSTR icmple 45;
goto _L3 _L4
_L3:
break MISSING_BLOCK_LABEL_23;
_L4:
break MISSING_BLOCK_LABEL_45;
try
{
f(0);
}
catch(IOException ioexception)
{
y = true;
C = ioexception.getMessage();
}
this;
_L2:
g;
if(flag) goto _L6; else goto _L5
_L5:
JVM INSTR ifnonnull 66;
goto _L7 _L8
_L7:
break MISSING_BLOCK_LABEL_56;
_L8:
break MISSING_BLOCK_LABEL_66;
g = new byte[A];
g[d + 2] = (byte)i1;
g;
_L6:
d + 3;
0;
JVM INSTR bastore ;
e = d + 3;
f = 8;
return;
}
public void a(String s1)
{
s1.getBytes(0, s1.length(), g, e);
e += s1.length();
}
public void f(int i1)
throws IOException
{
boolean flag = q.d;
y;
if(flag) goto _L2; else goto _L1
_L1:
if(y)
{
d = 0;
e = 3;
y = false;
throw new IOException(C);
}
B++;
B;
_L2:
if(flag) goto _L4; else goto _L3
_L3:
i1;
JVM INSTR icmpge 65;
goto _L5 _L6
_L5:
break MISSING_BLOCK_LABEL_64;
_L6:
break MISSING_BLOCK_LABEL_65;
return;
this;
if(flag) goto _L8; else goto _L7
_L7:
d;
_L4:
JVM INSTR ifle 94;
goto _L9 _L10
_L9:
break MISSING_BLOCK_LABEL_76;
_L10:
break MISSING_BLOCK_LABEL_94;
B = 0;
b(g, 0, d);
d = 0;
this;
_L8:
3;
e;
}
public void b(byte abyte0[], int i1, int j1)
throws IOException
{
}
public int h()
throws IOException
{
return 0;
}
public void i()
throws IOException
{
f();
f(0);
}
public w()
{
boolean flag = false;
e = 3;
f = 8;
y = false;
A = 5000;
C = "";
}
protected int a;
public int b;
public int c;
public int d;
private int e;
private int f;
public byte g[];
private static int h[];
final int i = 61;
final int j = 59;
final int k = 42;
final int l = 43;
final int m = 44;
final int n = 45;
final int o = 46;
final int p = 47;
final int q = 92;
final int r = 32;
final int s = 124;
final int t = 34;
public m u;
public m v;
static char w[];
public static int x[];
protected boolean y;
public static int z[];
protected int A;
protected int B;
protected String C;
public static int D;
private static String E;
static
{
E = "!uwy\020:in";
break MISSING_BLOCK_LABEL_123;
local;
toCharArray();
JVM INSTR dup ;
JVM INSTR arraylength .length;
JVM INSTR swap ;
int j1 = 0;
JVM INSTR swap ;
JVM INSTR dup_x1 ;
1;
JVM INSTR icmpgt 102;
goto _L1 _L2
_L1:
JVM INSTR dup ;
j1;
_L4:
JVM INSTR dup2 ;
JVM INSTR caload ;
byte byte0;
switch(j1 % 5)
{
case 0: // '\0'
byte0 = 0x55;
break;
case 1: // '\001'
byte0 = 28;
break;
case 2: // '\002'
byte0 = 26;
break;
case 3: // '\003'
byte0 = 28;
break;
default:
byte0 = 61;
break;
}
byte0;
JVM INSTR ixor ;
(char);
JVM INSTR castore ;
j1++;
JVM INSTR swap ;
JVM INSTR dup_x1 ;
JVM INSTR ifne 102;
goto _L3 _L2
_L3:
JVM INSTR dup2 ;
JVM INSTR swap ;
goto _L4
_L2:
JVM INSTR swap ;
JVM INSTR dup_x1 ;
j1;
JVM INSTR icmpgt 26;
goto _L5 _L1
_L5:
JVM INSTR new #169 <Class String>;
JVM INSTR dup_x1 ;
JVM INSTR swap ;
String();
intern();
JVM INSTR swap ;
JVM INSTR pop ;
JVM INSTR ret 1;
h = (new int[] {
0, 1, 3, 7, 15, 31, 63, 127, 255, 511,
1023, 2047, 4095, 8191, 16383, 32767, 65535, 0x1ffff, 0x3ffff, 0x7ffff,
0xfffff, 0x1fffff, 0x3fffff, 0x7fffff, 0xffffff, 0x1ffffff, 0x3ffffff, 0x7ffffff, 0xfffffff, 0x1fffffff,
0x3fffffff, 0x7fffffff, -1
});
x = new int[256];
z = new int[256];
w = new char[256];
for(int i1 = 0; i1 < 256; i1++)
w[i1] = (char)i1;
w[61] = '=';
w[59] = ';';
w[42] = '*';
w[43] = '+';
w[44] = ',';
w[45] = '-';
w[46] = '.';
w[47] = '/';
w[92] = '\\';
w[124] = '|';
w[33] = '!';
w[34] = '"';
}
}