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.
1335 lines
28 KiB
Java
1335 lines
28 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: u.java
|
|
|
|
import java.io.PrintStream;
|
|
|
|
public class u
|
|
{
|
|
|
|
public u()
|
|
{
|
|
}
|
|
|
|
public static int a(byte abyte0[], int i, byte abyte1[], int j, int k)
|
|
{
|
|
e e1 = new e();
|
|
e1.j = abyte1;
|
|
e1.k = k;
|
|
e1.o = abyte0;
|
|
e1.p = 0;
|
|
e1.l = j;
|
|
e1.q = i;
|
|
e1.x = 0;
|
|
e1.w = 0;
|
|
e1.m = 0;
|
|
e1.n = 0;
|
|
e1.r = 0;
|
|
e1.s = 0;
|
|
e1.z = 0;
|
|
b(e1);
|
|
i -= e1.q;
|
|
return i;
|
|
}
|
|
|
|
private static void a(e e1)
|
|
{
|
|
byte byte0;
|
|
int i;
|
|
int j;
|
|
int k;
|
|
int ai[];
|
|
int l;
|
|
byte abyte0[];
|
|
int i1;
|
|
int j1;
|
|
int k1;
|
|
int l1;
|
|
boolean flag1;
|
|
flag1 = q.d;
|
|
boolean flag = false;
|
|
byte0 = e1.t;
|
|
i = e1.u;
|
|
j = e1.E;
|
|
k = e1.C;
|
|
ai = e.H;
|
|
l = e1.B;
|
|
abyte0 = e1.o;
|
|
i1 = e1.p;
|
|
j1 = e1.q;
|
|
k1 = j1;
|
|
l1 = e1.V + 1;
|
|
_L28:
|
|
if(i <= 0)
|
|
break MISSING_BLOCK_LABEL_148;
|
|
do
|
|
{
|
|
if(j1 == 0)
|
|
{
|
|
if(flag1)
|
|
continue;
|
|
if(!flag1)
|
|
break; /* Loop/switch isn't completed */
|
|
}
|
|
if(i == 1 && !flag1)
|
|
break;
|
|
abyte0[i1] = byte0;
|
|
i--;
|
|
i1++;
|
|
j1--;
|
|
} while(!flag1);
|
|
j1;
|
|
if(flag1) goto _L2; else goto _L1
|
|
_L1:
|
|
if(j1 != 0)
|
|
break MISSING_BLOCK_LABEL_136;
|
|
true;
|
|
_L2:
|
|
i;
|
|
if(!flag1)
|
|
break; /* Loop/switch isn't completed */
|
|
abyte0[i1] = byte0;
|
|
i1++;
|
|
j1--;
|
|
int i2 = 1;
|
|
_L16:
|
|
if(i2 == 0)
|
|
break; /* Loop/switch isn't completed */
|
|
i2 = 0;
|
|
j;
|
|
l1;
|
|
if(flag1) goto _L4; else goto _L3
|
|
_L3:
|
|
if(flag1) goto _L6; else goto _L5
|
|
_L5:
|
|
JVM INSTR icmpne 183;
|
|
goto _L7 _L8
|
|
_L7:
|
|
break MISSING_BLOCK_LABEL_176;
|
|
_L8:
|
|
break MISSING_BLOCK_LABEL_183;
|
|
i = 0;
|
|
if(!flag1)
|
|
break; /* Loop/switch isn't completed */
|
|
byte0 = (byte)k;
|
|
l = ai[l];
|
|
l;
|
|
'\377';
|
|
_L6:
|
|
JVM INSTR iand ;
|
|
(byte);
|
|
byte byte1;
|
|
byte1;
|
|
l >>= 8;
|
|
j++;
|
|
byte1;
|
|
k;
|
|
if(flag1) goto _L10; else goto _L9
|
|
_L9:
|
|
JVM INSTR icmpeq 266;
|
|
goto _L11 _L12
|
|
_L11:
|
|
break MISSING_BLOCK_LABEL_225;
|
|
_L12:
|
|
break; /* Loop/switch isn't completed */
|
|
k = byte1;
|
|
j1;
|
|
if(flag1) goto _L14; else goto _L13
|
|
_L13:
|
|
if(j1 == 0)
|
|
{
|
|
i = 1;
|
|
if(!flag1)
|
|
break; /* Loop/switch isn't completed */
|
|
}
|
|
abyte0[i1] = byte0;
|
|
i1++;
|
|
j1--;
|
|
true;
|
|
_L14:
|
|
i2;
|
|
if(!flag1) goto _L16; else goto _L15
|
|
_L15:
|
|
j;
|
|
if(flag1) goto _L18; else goto _L17
|
|
_L17:
|
|
l1;
|
|
_L10:
|
|
JVM INSTR icmpeq 283;
|
|
goto _L19 _L20
|
|
_L19:
|
|
continue; /* Loop/switch isn't completed */
|
|
_L20:
|
|
break; /* Loop/switch isn't completed */
|
|
if(!flag1) goto _L16; else goto _L21
|
|
_L21:
|
|
j1;
|
|
_L18:
|
|
if(flag1) goto _L23; else goto _L22
|
|
_L22:
|
|
JVM INSTR ifne 300;
|
|
goto _L24 _L25
|
|
_L24:
|
|
break MISSING_BLOCK_LABEL_293;
|
|
_L25:
|
|
break MISSING_BLOCK_LABEL_300;
|
|
i = 1;
|
|
if(!flag1)
|
|
break; /* Loop/switch isn't completed */
|
|
abyte0[i1] = byte0;
|
|
i1++;
|
|
j1--;
|
|
true;
|
|
_L23:
|
|
i2;
|
|
if(!flag1) goto _L16; else goto _L26
|
|
_L26:
|
|
i = 2;
|
|
l = ai[l];
|
|
l;
|
|
'\377';
|
|
_L4:
|
|
JVM INSTR iand ;
|
|
(byte);
|
|
byte1;
|
|
l >>= 8;
|
|
++j;
|
|
l1;
|
|
_L30:
|
|
JVM INSTR icmpeq 70;
|
|
goto _L27 _L28
|
|
_L27:
|
|
byte1;
|
|
k;
|
|
if(flag1) goto _L30; else goto _L29
|
|
_L29:
|
|
if(flag1) goto _L32; else goto _L31
|
|
_L31:
|
|
JVM INSTR icmpeq 381;
|
|
goto _L33 _L34
|
|
_L33:
|
|
k = byte1;
|
|
if(!flag1) goto _L28; else goto _L34
|
|
_L34:
|
|
i = 3;
|
|
l = ai[l];
|
|
l;
|
|
0xff;
|
|
_L32:
|
|
JVM INSTR iand ;
|
|
(byte);
|
|
byte byte2;
|
|
byte2;
|
|
l >>= 8;
|
|
++j;
|
|
l1;
|
|
if(flag1) goto _L36; else goto _L35
|
|
_L35:
|
|
JVM INSTR icmpeq 70;
|
|
goto _L37 _L28
|
|
_L37:
|
|
byte2;
|
|
k;
|
|
_L36:
|
|
if(flag1) goto _L39; else goto _L38
|
|
_L38:
|
|
JVM INSTR icmpeq 442;
|
|
goto _L40 _L41
|
|
_L40:
|
|
break MISSING_BLOCK_LABEL_433;
|
|
_L41:
|
|
break; /* Loop/switch isn't completed */
|
|
k = byte2;
|
|
if(!flag1) goto _L28; else goto _L42
|
|
_L42:
|
|
l = ai[l];
|
|
l;
|
|
'\377';
|
|
_L39:
|
|
JVM INSTR iand ;
|
|
(byte);
|
|
byte byte3;
|
|
byte3;
|
|
l >>= 8;
|
|
j++;
|
|
i = (byte3 & 0xff) + 4;
|
|
l = ai[l];
|
|
k = (byte)(l & 0xff);
|
|
l >>= 8;
|
|
j++;
|
|
if(!flag1) goto _L28; else goto _L43
|
|
_L43:
|
|
i2 = e1.r;
|
|
e1.r += k1 - j1;
|
|
e1;
|
|
if(flag1) goto _L45; else goto _L44
|
|
_L44:
|
|
r;
|
|
i2;
|
|
JVM INSTR icmpge 552;
|
|
goto _L46 _L47
|
|
_L46:
|
|
break MISSING_BLOCK_LABEL_542;
|
|
_L47:
|
|
break MISSING_BLOCK_LABEL_552;
|
|
e1.s++;
|
|
e1.t = byte0;
|
|
e1.u = i;
|
|
e1.E = j;
|
|
e1.C = k;
|
|
e.H = ai;
|
|
e1.B = l;
|
|
e1.o = abyte0;
|
|
e1.p = i1;
|
|
e1;
|
|
_L45:
|
|
j1;
|
|
q;
|
|
}
|
|
|
|
private static void b(e e1)
|
|
{
|
|
boolean flag21;
|
|
flag21 = q.d;
|
|
boolean flag = false;
|
|
boolean flag1 = false;
|
|
boolean flag2 = false;
|
|
boolean flag3 = false;
|
|
boolean flag4 = false;
|
|
boolean flag5 = false;
|
|
boolean flag6 = false;
|
|
boolean flag7 = false;
|
|
boolean flag8 = false;
|
|
boolean flag9 = false;
|
|
boolean flag10 = false;
|
|
boolean flag11 = false;
|
|
boolean flag12 = false;
|
|
boolean flag13 = false;
|
|
boolean flag14 = false;
|
|
boolean flag15 = false;
|
|
boolean flag16 = false;
|
|
boolean flag17 = false;
|
|
boolean flag18 = false;
|
|
boolean flag19 = false;
|
|
boolean flag20 = false;
|
|
Object obj = null;
|
|
Object obj1 = null;
|
|
Object obj2 = null;
|
|
e1.y = 1;
|
|
e.H;
|
|
if(flag21) goto _L2; else goto _L1
|
|
_L1:
|
|
if(e.H != null) goto _L4; else goto _L3
|
|
_L3:
|
|
new int[e1.y * 0x186a0];
|
|
_L2:
|
|
e.H;
|
|
_L4:
|
|
int i = 1;
|
|
_L88:
|
|
byte byte0;
|
|
if(i == 0)
|
|
break; /* Loop/switch isn't completed */
|
|
byte0 = c(e1);
|
|
byte0;
|
|
if(flag21) goto _L6; else goto _L5
|
|
_L5:
|
|
23;
|
|
JVM INSTR icmpne 129;
|
|
goto _L7 _L8
|
|
_L7:
|
|
break MISSING_BLOCK_LABEL_128;
|
|
_L8:
|
|
break MISSING_BLOCK_LABEL_129;
|
|
return;
|
|
byte0 = c(e1);
|
|
byte0 = c(e1);
|
|
byte0 = c(e1);
|
|
byte0 = c(e1);
|
|
byte0 = c(e1);
|
|
e1.z++;
|
|
byte0 = c(e1);
|
|
byte0 = c(e1);
|
|
byte0 = c(e1);
|
|
byte0 = c(e1);
|
|
e1;
|
|
if(flag21) goto _L10; else goto _L9
|
|
_L9:
|
|
d();
|
|
byte0;
|
|
byte0;
|
|
_L6:
|
|
JVM INSTR ifeq 219;
|
|
goto _L11 _L12
|
|
_L11:
|
|
e1.v = true;
|
|
if(!flag21) goto _L13; else goto _L12
|
|
_L12:
|
|
e1;
|
|
_L10:
|
|
false;
|
|
v;
|
|
_L13:
|
|
e1.v;
|
|
if(flag21) goto _L15; else goto _L14
|
|
_L14:
|
|
if(e1.v)
|
|
System.out.println(z);
|
|
e1.A = 0;
|
|
byte byte1 = c(e1);
|
|
e1.A = e1.A << 8 | byte1 & 0xff;
|
|
byte1 = c(e1);
|
|
e1.A = e1.A << 8 | byte1 & 0xff;
|
|
byte1 = c(e1);
|
|
e1.A = e1.A << 8 | byte1 & 0xff;
|
|
false;
|
|
_L15:
|
|
int j;
|
|
j;
|
|
_L24:
|
|
int k;
|
|
if(j >= 16)
|
|
break; /* Loop/switch isn't completed */
|
|
k = d(e1);
|
|
if(flag21) goto _L17; else goto _L16
|
|
_L16:
|
|
k;
|
|
'\001';
|
|
if(flag21) goto _L19; else goto _L18
|
|
_L18:
|
|
JVM INSTR icmpne 367;
|
|
goto _L20 _L21
|
|
_L20:
|
|
e1.K[j] = true;
|
|
_L17:
|
|
if(!flag21) goto _L22; else goto _L21
|
|
_L21:
|
|
e1.K[j] = false;
|
|
_L22:
|
|
j++;
|
|
if(!flag21) goto _L24; else goto _L23
|
|
_L23:
|
|
j = 0;
|
|
_L28:
|
|
j;
|
|
256;
|
|
_L19:
|
|
JVM INSTR icmpge 415;
|
|
goto _L25 _L26
|
|
_L25:
|
|
break MISSING_BLOCK_LABEL_394;
|
|
_L26:
|
|
break; /* Loop/switch isn't completed */
|
|
e1.J[j] = false;
|
|
j++;
|
|
if(flag21)
|
|
break MISSING_BLOCK_LABEL_418;
|
|
if(!flag21) goto _L28; else goto _L27
|
|
_L27:
|
|
j = 0;
|
|
_L43:
|
|
j;
|
|
16;
|
|
_L38:
|
|
JVM INSTR icmpge 507;
|
|
goto _L29 _L30
|
|
_L29:
|
|
break MISSING_BLOCK_LABEL_425;
|
|
_L30:
|
|
break; /* Loop/switch isn't completed */
|
|
e1.K[j];
|
|
if(flag21) goto _L32; else goto _L31
|
|
_L31:
|
|
if(flag21) goto _L34; else goto _L33
|
|
_L33:
|
|
JVM INSTR ifeq 499;
|
|
goto _L35 _L36
|
|
_L35:
|
|
false;
|
|
_L34:
|
|
k;
|
|
_L41:
|
|
int l;
|
|
if(k >= 16)
|
|
break; /* Loop/switch isn't completed */
|
|
l = d(e1);
|
|
if(flag21)
|
|
continue; /* Loop/switch isn't completed */
|
|
l;
|
|
1;
|
|
if(flag21) goto _L38; else goto _L37
|
|
_L37:
|
|
JVM INSTR icmpne 491;
|
|
goto _L39 _L40
|
|
_L39:
|
|
break MISSING_BLOCK_LABEL_477;
|
|
_L40:
|
|
break MISSING_BLOCK_LABEL_491;
|
|
e1.J[j * 16 + k] = true;
|
|
k++;
|
|
if(!flag21) goto _L41; else goto _L36
|
|
_L36:
|
|
j++;
|
|
if(!flag21) goto _L43; else goto _L42
|
|
_L42:
|
|
e(e1);
|
|
j = e1.I + 2;
|
|
a(3, e1);
|
|
_L32:
|
|
k;
|
|
int i1;
|
|
l = a(15, e1);
|
|
i1 = 0;
|
|
_L47:
|
|
if(i1 >= l)
|
|
break; /* Loop/switch isn't completed */
|
|
0;
|
|
if(flag21) goto _L45; else goto _L44
|
|
_L44:
|
|
int j1;
|
|
j1;
|
|
do
|
|
{
|
|
byte byte2 = d(e1);
|
|
if(byte2 == 0)
|
|
{
|
|
if(flag21)
|
|
continue;
|
|
if(!flag21)
|
|
break;
|
|
}
|
|
j1++;
|
|
} while(!flag21);
|
|
e1.P[i1] = (byte)j1;
|
|
i1++;
|
|
if(!flag21) goto _L47; else goto _L46
|
|
_L46:
|
|
6;
|
|
_L45:
|
|
new byte[];
|
|
byte abyte0[];
|
|
abyte0;
|
|
label0:
|
|
{
|
|
j1 = 0;
|
|
do
|
|
{
|
|
if(j1 >= k)
|
|
break;
|
|
abyte0[j1] = j1;
|
|
j1 = (byte)(j1 + 1);
|
|
if(flag21)
|
|
break label0;
|
|
} while(!flag21);
|
|
j1 = 0;
|
|
}
|
|
_L51:
|
|
int k1;
|
|
if(j1 >= l)
|
|
break; /* Loop/switch isn't completed */
|
|
k1 = e1.P[j1];
|
|
abyte0[k1];
|
|
if(flag21) goto _L49; else goto _L48
|
|
_L48:
|
|
int i2;
|
|
i2;
|
|
do
|
|
{
|
|
if(k1 <= 0)
|
|
break;
|
|
abyte0[k1] = abyte0[k1 - 1];
|
|
k1--;
|
|
if(flag21)
|
|
continue; /* Loop/switch isn't completed */
|
|
} while(!flag21);
|
|
abyte0[0] = i2;
|
|
e1.O[j1] = i2;
|
|
j1++;
|
|
if(!flag21) goto _L51; else goto _L50
|
|
_L50:
|
|
false;
|
|
_L49:
|
|
j1;
|
|
_L64:
|
|
j1;
|
|
_L57:
|
|
k;
|
|
JVM INSTR icmpge 846;
|
|
goto _L52 _L53
|
|
_L52:
|
|
break MISSING_BLOCK_LABEL_737;
|
|
_L53:
|
|
break; /* Loop/switch isn't completed */
|
|
k1 = a(5, e1);
|
|
false;
|
|
if(flag21) goto _L55; else goto _L54
|
|
_L54:
|
|
i2;
|
|
_L62:
|
|
if(i2 >= j)
|
|
break; /* Loop/switch isn't completed */
|
|
_L59:
|
|
int j2 = d(e1);
|
|
j2;
|
|
if(flag21) goto _L57; else goto _L56
|
|
_L56:
|
|
label1:
|
|
{
|
|
if(j2 == 0)
|
|
{
|
|
if(flag21)
|
|
break label1;
|
|
if(!flag21)
|
|
break; /* Loop/switch isn't completed */
|
|
}
|
|
j2 = d(e1);
|
|
}
|
|
if(flag21)
|
|
continue; /* Loop/switch isn't completed */
|
|
if(j2 != 0)
|
|
break; /* Loop/switch isn't completed */
|
|
k1++;
|
|
if(!flag21) goto _L59; else goto _L58
|
|
_L58:
|
|
k1--;
|
|
if(!flag21) goto _L59; else goto _L60
|
|
_L60:
|
|
e1.Q[j1][i2] = (byte)k1;
|
|
i2++;
|
|
if(!flag21) goto _L62; else goto _L61
|
|
_L61:
|
|
j1++;
|
|
if(!flag21) goto _L64; else goto _L63
|
|
_L63:
|
|
false;
|
|
_L55:
|
|
j1;
|
|
_L82:
|
|
j1;
|
|
k;
|
|
_L70:
|
|
JVM INSTR icmpge 1009;
|
|
goto _L65 _L66
|
|
_L65:
|
|
break MISSING_BLOCK_LABEL_856;
|
|
_L66:
|
|
break; /* Loop/switch isn't completed */
|
|
k1 = 32;
|
|
i2 = 0;
|
|
false;
|
|
if(flag21) goto _L68; else goto _L67
|
|
_L67:
|
|
j2;
|
|
_L80:
|
|
if(j2 >= j)
|
|
break; /* Loop/switch isn't completed */
|
|
e1.Q[j1][j2];
|
|
i2;
|
|
if(flag21) goto _L70; else goto _L69
|
|
_L69:
|
|
if(flag21) goto _L72; else goto _L71
|
|
_L71:
|
|
JVM INSTR icmple 915;
|
|
goto _L73 _L74
|
|
_L73:
|
|
break MISSING_BLOCK_LABEL_903;
|
|
_L74:
|
|
break MISSING_BLOCK_LABEL_915;
|
|
i2 = e1.Q[j1][j2];
|
|
e1.Q[j1][j2];
|
|
if(flag21) goto _L76; else goto _L75
|
|
_L75:
|
|
k1;
|
|
_L72:
|
|
JVM INSTR icmpge 947;
|
|
goto _L77 _L78
|
|
_L77:
|
|
e1.Q[j1][j2];
|
|
_L76:
|
|
k1;
|
|
_L78:
|
|
j2++;
|
|
if(!flag21) goto _L80; else goto _L79
|
|
_L79:
|
|
a(e1.R[j1], e1.S[j1], e1.T[j1], e1.Q[j1], k1, i2, j);
|
|
e1.U[j1] = k1;
|
|
j1++;
|
|
if(!flag21) goto _L82; else goto _L81
|
|
_L81:
|
|
j1 = e1.I + 1;
|
|
int l1 = 0x186a0 * e1.y;
|
|
i2 = -1;
|
|
false;
|
|
_L68:
|
|
j2;
|
|
int k2;
|
|
int l2;
|
|
label2:
|
|
{
|
|
k2 = 0;
|
|
do
|
|
{
|
|
if(k2 > 255)
|
|
break;
|
|
e1.D[k2] = 0;
|
|
k2++;
|
|
if(flag21)
|
|
break label2;
|
|
} while(!flag21);
|
|
k2 = 4095;
|
|
}
|
|
l2 = 15;
|
|
_L86:
|
|
if(l2 < 0)
|
|
break; /* Loop/switch isn't completed */
|
|
15;
|
|
if(flag21) goto _L84; else goto _L83
|
|
_L83:
|
|
int i3;
|
|
i3;
|
|
do
|
|
{
|
|
if(i3 < 0)
|
|
break;
|
|
e1.M[k2] = (byte)(l2 * 16 + i3);
|
|
k2--;
|
|
i3--;
|
|
if(flag21)
|
|
continue; /* Loop/switch isn't completed */
|
|
} while(!flag21);
|
|
e1.N[l2] = k2 + 1;
|
|
l2--;
|
|
if(!flag21) goto _L86; else goto _L85
|
|
_L85:
|
|
l2 = 0;
|
|
i2++;
|
|
j2 = 50;
|
|
e1.O[0];
|
|
_L84:
|
|
i3;
|
|
int j3;
|
|
int ai[];
|
|
int ai1[];
|
|
int ai2[];
|
|
int k3;
|
|
int l3;
|
|
j3 = e1.U[i3];
|
|
ai = e1.R[i3];
|
|
ai1 = e1.T[i3];
|
|
ai2 = e1.S[i3];
|
|
j2--;
|
|
k3 = j3;
|
|
l3 = a(k3, e1);
|
|
_L90:
|
|
if(l3 <= ai[k3])
|
|
break; /* Loop/switch isn't completed */
|
|
k3++;
|
|
byte byte3 = d(e1);
|
|
l3 = l3 << 1 | byte3;
|
|
if(flag21) goto _L88; else goto _L87
|
|
_L87:
|
|
if(!flag21) goto _L90; else goto _L89
|
|
_L89:
|
|
int i4 = ai1[l3 - ai2[k3]];
|
|
_L118:
|
|
if(i4 == j1)
|
|
break; /* Loop/switch isn't completed */
|
|
i4;
|
|
if(flag21) goto _L92; else goto _L91
|
|
_L91:
|
|
if(i4 == 0) goto _L94; else goto _L93
|
|
_L93:
|
|
i4;
|
|
1;
|
|
if(flag21) goto _L96; else goto _L95
|
|
_L95:
|
|
JVM INSTR icmpne 1568;
|
|
goto _L94 _L97
|
|
_L97:
|
|
break; /* Loop/switch isn't completed */
|
|
_L94:
|
|
-1;
|
|
_L92:
|
|
int k4;
|
|
k4;
|
|
int l4 = 1;
|
|
_L111:
|
|
if(i4 != 0) goto _L99; else goto _L98
|
|
_L98:
|
|
k4 += l4;
|
|
if(!flag21) goto _L100; else goto _L99
|
|
_L99:
|
|
i4;
|
|
1;
|
|
_L115:
|
|
if(flag21) goto _L102; else goto _L101
|
|
_L101:
|
|
JVM INSTR icmpne 1334;
|
|
goto _L103 _L100
|
|
_L103:
|
|
k4 += 2 * l4;
|
|
_L100:
|
|
l4;
|
|
2;
|
|
_L102:
|
|
JVM INSTR imul ;
|
|
l4;
|
|
j2;
|
|
if(flag21) goto _L105; else goto _L104
|
|
_L104:
|
|
if(j2 == 0)
|
|
{
|
|
i2++;
|
|
j2 = 50;
|
|
byte byte5 = e1.O[i2];
|
|
j3 = e1.U[byte5];
|
|
ai = e1.R[byte5];
|
|
ai1 = e1.T[byte5];
|
|
ai2 = e1.S[byte5];
|
|
}
|
|
j2--;
|
|
j3;
|
|
_L105:
|
|
int i5;
|
|
i5;
|
|
int j5 = a(i5, e1);
|
|
_L109:
|
|
if(j5 <= ai[i5])
|
|
break; /* Loop/switch isn't completed */
|
|
i5++;
|
|
byte byte6 = d(e1);
|
|
j5 = j5 << 1 | byte6;
|
|
if(flag21) goto _L107; else goto _L106
|
|
_L106:
|
|
if(!flag21) goto _L109; else goto _L108
|
|
_L108:
|
|
i4 = ai1[j5 - ai2[i5]];
|
|
_L107:
|
|
if(i4 == 0) goto _L111; else goto _L110
|
|
_L110:
|
|
i4;
|
|
if(flag21) goto _L113; else goto _L112
|
|
_L112:
|
|
1;
|
|
if(flag21) goto _L115; else goto _L114
|
|
_L114:
|
|
JVM INSTR icmpeq 1297;
|
|
goto _L116 _L111
|
|
_L116:
|
|
k4++;
|
|
e1.L[e1.M[e1.N[0]] & 0xff];
|
|
_L113:
|
|
i5;
|
|
e1.D[i5 & 0xff] += k4;
|
|
_L120:
|
|
if(k4 <= 0) goto _L118; else goto _L117
|
|
_L117:
|
|
e.H[l2] = i5 & 0xff;
|
|
l2++;
|
|
k4--;
|
|
if(flag21 || flag21)
|
|
break MISSING_BLOCK_LABEL_2223;
|
|
if(!flag21) goto _L120; else goto _L119
|
|
_L119:
|
|
i4;
|
|
true;
|
|
_L96:
|
|
JVM INSTR isub ;
|
|
k4;
|
|
k4;
|
|
16;
|
|
if(flag21) goto _L122; else goto _L121
|
|
_L121:
|
|
JVM INSTR icmpge 1756;
|
|
goto _L123 _L124
|
|
_L123:
|
|
label3:
|
|
{
|
|
i5 = e1.N[0];
|
|
l4 = e1.M[i5 + k4];
|
|
do
|
|
{
|
|
if(k4 <= 3)
|
|
break;
|
|
j5 = i5 + k4;
|
|
e1.M[j5] = e1.M[j5 - 1];
|
|
e1.M[j5 - 1] = e1.M[j5 - 2];
|
|
e1.M[j5 - 2] = e1.M[j5 - 3];
|
|
e1.M[j5 - 3] = e1.M[j5 - 4];
|
|
k4 -= 4;
|
|
if(flag21)
|
|
break label3;
|
|
} while(!flag21);
|
|
do
|
|
{
|
|
if(k4 <= 0)
|
|
break;
|
|
e1.M[i5 + k4] = e1.M[(i5 + k4) - 1];
|
|
k4--;
|
|
if(flag21)
|
|
break label3;
|
|
} while(!flag21);
|
|
e1.M[i5] = l4;
|
|
}
|
|
if(!flag21) goto _L125; else goto _L124
|
|
_L124:
|
|
k4;
|
|
16;
|
|
_L122:
|
|
JVM INSTR idiv ;
|
|
i5;
|
|
label4:
|
|
{
|
|
j5 = k4 % 16;
|
|
int k5 = e1.N[i5] + j5;
|
|
l4 = e1.M[k5];
|
|
do
|
|
{
|
|
if(k5 <= e1.N[i5])
|
|
break;
|
|
e1.M[k5] = e1.M[k5 - 1];
|
|
k5--;
|
|
if(flag21)
|
|
break label4;
|
|
} while(!flag21);
|
|
e1.N[i5]++;
|
|
}
|
|
label5:
|
|
{
|
|
do
|
|
{
|
|
if(i5 <= 0)
|
|
break;
|
|
e1.N[i5]--;
|
|
e1.M[e1.N[i5]] = e1.M[(e1.N[i5 - 1] + 16) - 1];
|
|
i5--;
|
|
if(flag21)
|
|
break label5;
|
|
} while(!flag21);
|
|
e1.N[0]--;
|
|
e1.M[e1.N[0]] = l4;
|
|
}
|
|
e1.N[0];
|
|
if(flag21) goto _L127; else goto _L126
|
|
_L126:
|
|
if(e1.N[0] != 0) goto _L125; else goto _L128
|
|
_L128:
|
|
int l5;
|
|
int i6;
|
|
l5 = 4095;
|
|
i6 = 15;
|
|
_L130:
|
|
if(i6 < 0)
|
|
break; /* Loop/switch isn't completed */
|
|
15;
|
|
if(flag21) goto _L127; else goto _L129
|
|
_L129:
|
|
int j6;
|
|
j6;
|
|
do
|
|
{
|
|
if(j6 < 0)
|
|
break;
|
|
e1.M[l5] = e1.M[e1.N[i6] + j6];
|
|
l5--;
|
|
j6--;
|
|
if(flag21)
|
|
continue; /* Loop/switch isn't completed */
|
|
} while(!flag21);
|
|
e1.N[i6] = l5 + 1;
|
|
i6--;
|
|
if(!flag21) goto _L130; else goto _L125
|
|
_L125:
|
|
e1.D[e1.L[l4 & 0xff] & 0xff]++;
|
|
e.H[l2] = e1.L[l4 & 0xff] & 0xff;
|
|
l2++;
|
|
j2;
|
|
_L127:
|
|
if(flag21) goto _L132; else goto _L131
|
|
_L131:
|
|
JVM INSTR ifne 2135;
|
|
goto _L133 _L134
|
|
_L133:
|
|
break MISSING_BLOCK_LABEL_2083;
|
|
_L134:
|
|
break MISSING_BLOCK_LABEL_2135;
|
|
i2++;
|
|
j2 = 50;
|
|
i5 = e1.O[i2];
|
|
j3 = e1.U[i5];
|
|
ai = e1.R[i5];
|
|
ai1 = e1.T[i5];
|
|
ai2 = e1.S[i5];
|
|
j2--;
|
|
i5 = j3;
|
|
a(i5, e1);
|
|
_L132:
|
|
j5;
|
|
do
|
|
{
|
|
if(j5 <= ai[i5])
|
|
break;
|
|
i5++;
|
|
byte byte7 = d(e1);
|
|
j5 = j5 << 1 | byte7;
|
|
if(flag21)
|
|
continue; /* Loop/switch isn't completed */
|
|
} while(!flag21);
|
|
i4 = ai1[j5 - ai2[i5]];
|
|
if(!flag21) goto _L118; else goto _L135
|
|
_L135:
|
|
e1.u = 0;
|
|
e1.t = 0;
|
|
e1.F[0] = 0;
|
|
int j4;
|
|
label6:
|
|
{
|
|
j4 = 1;
|
|
do
|
|
{
|
|
if(j4 > 256)
|
|
break;
|
|
e1.F[j4] = e1.D[j4 - 1];
|
|
j4++;
|
|
if(flag21)
|
|
break label6;
|
|
} while(!flag21);
|
|
j4 = 1;
|
|
}
|
|
label7:
|
|
{
|
|
do
|
|
{
|
|
if(j4 > 256)
|
|
break;
|
|
e1.F[j4] += e1.F[j4 - 1];
|
|
j4++;
|
|
if(flag21)
|
|
break label7;
|
|
} while(!flag21);
|
|
j4 = 0;
|
|
}
|
|
label8:
|
|
{
|
|
do
|
|
{
|
|
if(j4 >= l2)
|
|
break;
|
|
byte byte4 = (byte)(e.H[j4] & 0xff);
|
|
e.H[e1.F[byte4 & 0xff]] |= j4 << 8;
|
|
e1.F[byte4 & 0xff]++;
|
|
j4++;
|
|
if(flag21)
|
|
break label8;
|
|
} while(!flag21);
|
|
e1.B = e.H[e1.A] >> 8;
|
|
e1.E = 0;
|
|
e1.B = e.H[e1.B];
|
|
e1.C = (byte)(e1.B & 0xff);
|
|
e1.B >>= 8;
|
|
e1.E++;
|
|
e1.V = l2;
|
|
a(e1);
|
|
}
|
|
e1.E;
|
|
if(flag21) goto _L137; else goto _L136
|
|
_L136:
|
|
e1.V + 1;
|
|
JVM INSTR icmpne 2494;
|
|
goto _L138 _L139
|
|
_L138:
|
|
break MISSING_BLOCK_LABEL_2474;
|
|
_L139:
|
|
break; /* Loop/switch isn't completed */
|
|
e1.u;
|
|
if(flag21) goto _L137; else goto _L140
|
|
_L140:
|
|
if(e1.u != 0)
|
|
break; /* Loop/switch isn't completed */
|
|
i = 1;
|
|
if(!flag21) goto _L88; else goto _L141
|
|
_L141:
|
|
false;
|
|
_L137:
|
|
i;
|
|
if(!flag21) goto _L88; else goto _L142
|
|
_L142:
|
|
}
|
|
|
|
private static byte c(e e1)
|
|
{
|
|
return (byte)a(8, e1);
|
|
}
|
|
|
|
private static byte d(e e1)
|
|
{
|
|
return (byte)a(1, e1);
|
|
}
|
|
|
|
private static int a(int i, e e1)
|
|
{
|
|
boolean flag = q.d;
|
|
int j;
|
|
do
|
|
{
|
|
if(e1.x >= i)
|
|
{
|
|
int k = e1.w >> e1.x - i & (1 << i) - 1;
|
|
e1.x -= i;
|
|
j = k;
|
|
if(!flag)
|
|
break;
|
|
}
|
|
e1.w = e1.w << 8 | e1.j[e1.k] & 0xff;
|
|
e1.x += 8;
|
|
e1.k++;
|
|
e1.l--;
|
|
e1.m++;
|
|
do
|
|
{
|
|
if(e1.m != 0)
|
|
break;
|
|
e1.n++;
|
|
} while(flag);
|
|
} while(true);
|
|
return j;
|
|
}
|
|
|
|
private static void e(e e1)
|
|
{
|
|
int i;
|
|
boolean flag;
|
|
flag = q.d;
|
|
e1.I = 0;
|
|
i = 0;
|
|
_L6:
|
|
if(i >= 256)
|
|
break; /* Loop/switch isn't completed */
|
|
e1;
|
|
if(flag) goto _L2; else goto _L1
|
|
_L1:
|
|
J;
|
|
i;
|
|
JVM INSTR baload ;
|
|
JVM INSTR ifeq 52;
|
|
goto _L3 _L4
|
|
_L3:
|
|
e1.L[e1.I] = (byte)i;
|
|
e1;
|
|
_L2:
|
|
JVM INSTR dup ;
|
|
I;
|
|
1;
|
|
JVM INSTR iadd ;
|
|
I;
|
|
_L4:
|
|
i++;
|
|
if(!flag) goto _L6; else goto _L5
|
|
_L5:
|
|
}
|
|
|
|
private static void a(int ai[], int ai1[], int ai2[], byte abyte0[], int i, int j, int k)
|
|
{
|
|
int l;
|
|
int i1;
|
|
boolean flag1;
|
|
flag1 = q.d;
|
|
boolean flag = false;
|
|
l = 0;
|
|
i1 = i;
|
|
_L12:
|
|
i1;
|
|
j;
|
|
_L6:
|
|
JVM INSTR icmpgt 76;
|
|
goto _L1 _L2
|
|
_L1:
|
|
break MISSING_BLOCK_LABEL_22;
|
|
_L2:
|
|
break; /* Loop/switch isn't completed */
|
|
false;
|
|
if(flag1) goto _L4; else goto _L3
|
|
_L3:
|
|
int j1;
|
|
j1;
|
|
_L10:
|
|
if(j1 >= k)
|
|
break; /* Loop/switch isn't completed */
|
|
abyte0[j1];
|
|
i1;
|
|
if(flag1) goto _L6; else goto _L5
|
|
_L5:
|
|
JVM INSTR icmpne 60;
|
|
goto _L7 _L8
|
|
_L7:
|
|
break MISSING_BLOCK_LABEL_51;
|
|
_L8:
|
|
break MISSING_BLOCK_LABEL_60;
|
|
ai2[l] = j1;
|
|
l++;
|
|
j1++;
|
|
if(!flag1) goto _L10; else goto _L9
|
|
_L9:
|
|
i1++;
|
|
if(!flag1) goto _L12; else goto _L11
|
|
_L11:
|
|
false;
|
|
_L4:
|
|
i1;
|
|
label0:
|
|
{
|
|
do
|
|
{
|
|
if(i1 >= 23)
|
|
break;
|
|
ai1[i1] = 0;
|
|
i1++;
|
|
if(flag1)
|
|
break label0;
|
|
} while(!flag1);
|
|
i1 = 0;
|
|
}
|
|
label1:
|
|
{
|
|
do
|
|
{
|
|
if(i1 >= k)
|
|
break;
|
|
ai1[abyte0[i1] + 1]++;
|
|
i1++;
|
|
if(flag1)
|
|
break label1;
|
|
} while(!flag1);
|
|
i1 = 1;
|
|
}
|
|
label2:
|
|
{
|
|
do
|
|
{
|
|
if(i1 >= 23)
|
|
break;
|
|
ai1[i1] += ai1[i1 - 1];
|
|
i1++;
|
|
if(flag1)
|
|
break label2;
|
|
} while(!flag1);
|
|
i1 = 0;
|
|
}
|
|
label3:
|
|
{
|
|
do
|
|
{
|
|
if(i1 >= 23)
|
|
break;
|
|
ai[i1] = 0;
|
|
i1++;
|
|
if(flag1)
|
|
break label3;
|
|
} while(!flag1);
|
|
i1 = 0;
|
|
}
|
|
int k1;
|
|
label4:
|
|
{
|
|
k1 = i;
|
|
do
|
|
{
|
|
if(k1 > j)
|
|
break;
|
|
i1 += ai1[k1 + 1] - ai1[k1];
|
|
ai[k1] = i1 - 1;
|
|
i1 <<= 1;
|
|
k1++;
|
|
if(flag1)
|
|
break label4;
|
|
} while(!flag1);
|
|
k1 = i + 1;
|
|
}
|
|
do
|
|
{
|
|
if(k1 > j)
|
|
break;
|
|
ai1[k1] = (ai[k1 - 1] + 1 << 1) - ai1[k1];
|
|
k1++;
|
|
} while(!flag1);
|
|
return;
|
|
}
|
|
|
|
private static String z;
|
|
|
|
static
|
|
{
|
|
z = "/9\\q$^X@y);7_q4:<2z+0;Y\031";
|
|
break MISSING_BLOCK_LABEL_123;
|
|
local;
|
|
toCharArray();
|
|
JVM INSTR dup ;
|
|
JVM INSTR arraylength .length;
|
|
JVM INSTR swap ;
|
|
int i = 0;
|
|
JVM INSTR swap ;
|
|
JVM INSTR dup_x1 ;
|
|
1;
|
|
JVM INSTR icmpgt 102;
|
|
goto _L1 _L2
|
|
_L1:
|
|
JVM INSTR dup ;
|
|
i;
|
|
_L4:
|
|
JVM INSTR dup2 ;
|
|
JVM INSTR caload ;
|
|
byte byte0;
|
|
switch(i % 5)
|
|
{
|
|
case 0: // '\0'
|
|
byte0 = 0x7f;
|
|
break;
|
|
|
|
case 1: // '\001'
|
|
byte0 = 120;
|
|
break;
|
|
|
|
case 2: // '\002'
|
|
byte0 = 18;
|
|
break;
|
|
|
|
case 3: // '\003'
|
|
byte0 = 56;
|
|
break;
|
|
|
|
default:
|
|
byte0 = 103;
|
|
break;
|
|
}
|
|
byte0;
|
|
JVM INSTR ixor ;
|
|
(char);
|
|
JVM INSTR castore ;
|
|
i++;
|
|
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 ;
|
|
i;
|
|
JVM INSTR icmpgt 26;
|
|
goto _L5 _L1
|
|
_L5:
|
|
JVM INSTR new #179 <Class String>;
|
|
JVM INSTR dup_x1 ;
|
|
JVM INSTR swap ;
|
|
String();
|
|
intern();
|
|
JVM INSTR swap ;
|
|
JVM INSTR pop ;
|
|
JVM INSTR ret 0;
|
|
}
|
|
}
|