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.
This commit is contained in:
@@ -0,0 +1,329 @@
|
||||
// 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: j.java
|
||||
|
||||
|
||||
public class j
|
||||
{
|
||||
|
||||
public j()
|
||||
{
|
||||
}
|
||||
|
||||
public static String a(byte abyte0[], int i, int k)
|
||||
{
|
||||
boolean flag1;
|
||||
flag1 = q.d;
|
||||
boolean flag = false;
|
||||
int l;
|
||||
int i1;
|
||||
int j1;
|
||||
l = 0;
|
||||
i1 = -1;
|
||||
j1 = 0;
|
||||
_L22:
|
||||
int k1;
|
||||
int l1;
|
||||
if(j1 >= k)
|
||||
break; /* Loop/switch isn't completed */
|
||||
k1 = abyte0[i++] & 0xff;
|
||||
l1 = k1 >> 4 & 0xf;
|
||||
i1;
|
||||
if(flag1) goto _L2; else goto _L1
|
||||
_L1:
|
||||
-1;
|
||||
if(flag1) goto _L4; else goto _L3
|
||||
_L3:
|
||||
JVM INSTR icmpne 100;
|
||||
goto _L5 _L6
|
||||
_L5:
|
||||
l1;
|
||||
if(flag1) goto _L8; else goto _L7
|
||||
_L7:
|
||||
13;
|
||||
JVM INSTR icmpge 91;
|
||||
goto _L9 _L10
|
||||
_L9:
|
||||
b[l++] = c[l1];
|
||||
if(!flag1) goto _L11; else goto _L10
|
||||
_L10:
|
||||
l1;
|
||||
_L8:
|
||||
i1;
|
||||
if(!flag1) goto _L11; else goto _L6
|
||||
_L6:
|
||||
b[l++] = c[((i1 << 4) + l1) - 195];
|
||||
-1;
|
||||
_L2:
|
||||
i1;
|
||||
_L11:
|
||||
l1 = k1 & 0xf;
|
||||
i1;
|
||||
if(flag1) goto _L13; else goto _L12
|
||||
_L12:
|
||||
-1;
|
||||
JVM INSTR icmpne 186;
|
||||
goto _L14 _L15
|
||||
_L14:
|
||||
l1;
|
||||
if(flag1) goto _L17; else goto _L16
|
||||
_L16:
|
||||
13;
|
||||
JVM INSTR icmpge 177;
|
||||
goto _L18 _L19
|
||||
_L18:
|
||||
b[l++] = c[l1];
|
||||
if(!flag1) goto _L20; else goto _L19
|
||||
_L19:
|
||||
l1;
|
||||
_L17:
|
||||
i1;
|
||||
if(!flag1) goto _L20; else goto _L15
|
||||
_L15:
|
||||
b[l++] = c[((i1 << 4) + l1) - 195];
|
||||
-1;
|
||||
_L13:
|
||||
i1;
|
||||
_L20:
|
||||
j1++;
|
||||
if(!flag1) goto _L22; else goto _L21
|
||||
_L21:
|
||||
j1 = 1;
|
||||
k1 = 0;
|
||||
_L51:
|
||||
k1;
|
||||
l;
|
||||
_L4:
|
||||
JVM INSTR icmpge 377;
|
||||
goto _L23 _L24
|
||||
_L24:
|
||||
break; /* Loop/switch isn't completed */
|
||||
_L23:
|
||||
l1 = b[k1];
|
||||
k1;
|
||||
4;
|
||||
if(flag1) goto _L26; else goto _L25
|
||||
_L25:
|
||||
JVM INSTR icmple 273;
|
||||
goto _L27 _L28
|
||||
_L27:
|
||||
l1;
|
||||
'@';
|
||||
if(flag1) goto _L26; else goto _L29
|
||||
_L29:
|
||||
JVM INSTR icmpne 273;
|
||||
goto _L30 _L28
|
||||
_L30:
|
||||
b[k1] = ' ';
|
||||
_L28:
|
||||
l1;
|
||||
if(flag1) goto _L32; else goto _L31
|
||||
_L31:
|
||||
37;
|
||||
_L26:
|
||||
JVM INSTR icmpne 293;
|
||||
goto _L33 _L34
|
||||
_L33:
|
||||
b[k1] = ' ';
|
||||
_L34:
|
||||
j1;
|
||||
_L32:
|
||||
if(flag1) goto _L36; else goto _L35
|
||||
_L35:
|
||||
JVM INSTR ifeq 342;
|
||||
goto _L37 _L38
|
||||
_L37:
|
||||
l1;
|
||||
'a';
|
||||
if(flag1) goto _L40; else goto _L39
|
||||
_L39:
|
||||
JVM INSTR icmplt 342;
|
||||
goto _L41 _L38
|
||||
_L41:
|
||||
l1;
|
||||
'z';
|
||||
if(flag1) goto _L40; else goto _L42
|
||||
_L42:
|
||||
JVM INSTR icmpgt 342;
|
||||
goto _L43 _L38
|
||||
_L43:
|
||||
b[k1] += '\uFFE0';
|
||||
j1 = 0;
|
||||
_L38:
|
||||
l1;
|
||||
_L36:
|
||||
if(flag1) goto _L45; else goto _L44
|
||||
_L44:
|
||||
46;
|
||||
_L40:
|
||||
JVM INSTR icmpeq 366;
|
||||
goto _L46 _L47
|
||||
_L46:
|
||||
l1;
|
||||
if(flag1) goto _L45; else goto _L48
|
||||
_L48:
|
||||
'!';
|
||||
JVM INSTR icmpne 369;
|
||||
goto _L47 _L49
|
||||
_L47:
|
||||
true;
|
||||
_L45:
|
||||
j1;
|
||||
_L49:
|
||||
k1++;
|
||||
if(!flag1) goto _L51; else goto _L50
|
||||
_L50:
|
||||
return new String(b, 0, l);
|
||||
Exception exception;
|
||||
exception;
|
||||
return ".";
|
||||
}
|
||||
|
||||
public static int a(String s)
|
||||
{
|
||||
boolean flag1;
|
||||
flag1 = q.d;
|
||||
boolean flag = false;
|
||||
s.length();
|
||||
if(flag1) goto _L2; else goto _L1
|
||||
_L1:
|
||||
80;
|
||||
JVM INSTR icmple 29;
|
||||
goto _L3 _L4
|
||||
_L3:
|
||||
break MISSING_BLOCK_LABEL_21;
|
||||
_L4:
|
||||
break MISSING_BLOCK_LABEL_29;
|
||||
s = s.substring(0, 80);
|
||||
s = s.toLowerCase();
|
||||
false;
|
||||
_L2:
|
||||
int i;
|
||||
i;
|
||||
int k;
|
||||
int l;
|
||||
k = -1;
|
||||
l = 0;
|
||||
_L34:
|
||||
char c1;
|
||||
int i1;
|
||||
if(l >= s.length())
|
||||
break; /* Loop/switch isn't completed */
|
||||
c1 = s.charAt(l);
|
||||
i1 = 0;
|
||||
0;
|
||||
if(flag1) goto _L6; else goto _L5
|
||||
_L5:
|
||||
int j1;
|
||||
j1;
|
||||
_L15:
|
||||
if(j1 >= c.length)
|
||||
break; /* Loop/switch isn't completed */
|
||||
c1;
|
||||
if(flag1) goto _L8; else goto _L7
|
||||
_L7:
|
||||
c[j1];
|
||||
if(flag1) goto _L10; else goto _L9
|
||||
_L9:
|
||||
JVM INSTR icmpeq 104;
|
||||
goto _L11 _L12
|
||||
_L11:
|
||||
if(!flag1) goto _L13; else goto _L12
|
||||
_L12:
|
||||
j1;
|
||||
_L8:
|
||||
i1;
|
||||
if(!flag1)
|
||||
break; /* Loop/switch isn't completed */
|
||||
_L13:
|
||||
j1++;
|
||||
if(!flag1) goto _L15; else goto _L14
|
||||
_L14:
|
||||
i1;
|
||||
0xc;
|
||||
_L10:
|
||||
if(flag1) goto _L17; else goto _L16
|
||||
_L16:
|
||||
JVM INSTR icmple 141;
|
||||
goto _L18 _L19
|
||||
_L18:
|
||||
break MISSING_BLOCK_LABEL_133;
|
||||
_L19:
|
||||
break MISSING_BLOCK_LABEL_141;
|
||||
i1 += 195;
|
||||
k;
|
||||
-1;
|
||||
_L17:
|
||||
if(flag1) goto _L21; else goto _L20
|
||||
_L20:
|
||||
JVM INSTR icmpne 187;
|
||||
goto _L22 _L23
|
||||
_L22:
|
||||
i1;
|
||||
if(flag1) goto _L25; else goto _L24
|
||||
_L24:
|
||||
13;
|
||||
JVM INSTR icmpge 171;
|
||||
goto _L26 _L27
|
||||
_L26:
|
||||
i1;
|
||||
_L25:
|
||||
k;
|
||||
if(!flag1) goto _L28; else goto _L27
|
||||
_L27:
|
||||
a[i++] = (byte)i1;
|
||||
if(!flag1) goto _L28; else goto _L23
|
||||
_L23:
|
||||
i1;
|
||||
13;
|
||||
_L21:
|
||||
if(flag1) goto _L30; else goto _L29
|
||||
_L29:
|
||||
JVM INSTR icmpge 221;
|
||||
goto _L31 _L32
|
||||
_L31:
|
||||
a[i++] = (byte)((k << 4) + i1);
|
||||
k = -1;
|
||||
if(!flag1) goto _L28; else goto _L32
|
||||
_L32:
|
||||
a[i++] = (byte)((k << 4) + (i1 >> 4));
|
||||
i1;
|
||||
15;
|
||||
_L30:
|
||||
JVM INSTR iand ;
|
||||
k;
|
||||
_L28:
|
||||
l++;
|
||||
if(!flag1) goto _L34; else goto _L33
|
||||
_L33:
|
||||
k;
|
||||
_L6:
|
||||
if(flag1) goto _L36; else goto _L35
|
||||
_L35:
|
||||
-1;
|
||||
JVM INSTR icmpeq 274;
|
||||
goto _L37 _L38
|
||||
_L37:
|
||||
break MISSING_BLOCK_LABEL_262;
|
||||
_L38:
|
||||
break MISSING_BLOCK_LABEL_274;
|
||||
a[i++] = (byte)(k << 4);
|
||||
i;
|
||||
_L36:
|
||||
return;
|
||||
}
|
||||
|
||||
public static byte a[] = new byte[100];
|
||||
public static char b[] = new char[100];
|
||||
private static char c[] = {
|
||||
' ', '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', ' ', '!', '?',
|
||||
'.', ',', ':', ';', '(', ')', '-', '&', '*', '\\',
|
||||
'\'', '@', '#', '+', '=', '\243', '$', '%', '"', '[',
|
||||
']'
|
||||
};
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user