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.
1187 lines
50 KiB
Java
1187 lines
50 KiB
Java
/*
|
|
* Decompiled with CFR 0.152.
|
|
*
|
|
* Could not load the following classes:
|
|
* java.applet.Applet
|
|
*/
|
|
import java.applet.Applet;
|
|
import java.awt.Color;
|
|
import java.awt.Component;
|
|
import java.awt.Event;
|
|
import java.awt.Font;
|
|
import java.awt.FontMetrics;
|
|
import java.awt.Graphics;
|
|
import java.awt.Image;
|
|
import java.awt.image.ColorModel;
|
|
import java.awt.image.ImageObserver;
|
|
import java.awt.image.IndexColorModel;
|
|
import java.awt.image.MemoryImageSource;
|
|
import java.io.DataInputStream;
|
|
import java.io.IOException;
|
|
import java.io.InputStream;
|
|
import java.net.InetAddress;
|
|
import java.net.Socket;
|
|
import java.net.URL;
|
|
|
|
public class a
|
|
extends Applet
|
|
implements Runnable {
|
|
private int a = 512;
|
|
private int b = 384;
|
|
private Thread c;
|
|
private int d = 20;
|
|
private int e = 1000;
|
|
private long[] f = new long[10];
|
|
public static c g;
|
|
private boolean h;
|
|
private int i;
|
|
private int j;
|
|
public int k;
|
|
public int l;
|
|
public int m = 1;
|
|
public String n;
|
|
private boolean o = false;
|
|
private int p;
|
|
private String q = S[12];
|
|
private Font r = new Font(S[14], 0, 15);
|
|
private Font s = new Font(S[13], 1, 13);
|
|
private Font t = new Font(S[13], 0, 12);
|
|
private Image u;
|
|
private Graphics v;
|
|
private static String w;
|
|
public boolean x = false;
|
|
public boolean y = false;
|
|
public boolean z = false;
|
|
public boolean A = false;
|
|
public boolean B = false;
|
|
public boolean C = false;
|
|
public boolean D = false;
|
|
public boolean E = false;
|
|
public int F = 1;
|
|
public int G;
|
|
public int H;
|
|
public int I;
|
|
public int J;
|
|
public int K;
|
|
public int L;
|
|
public boolean M = false;
|
|
public String N = "";
|
|
public String O = "";
|
|
public String P = "";
|
|
public String Q = "";
|
|
public static boolean R;
|
|
private static String[] S;
|
|
|
|
protected void a() {
|
|
}
|
|
|
|
protected synchronized void b() {
|
|
}
|
|
|
|
protected void c() {
|
|
}
|
|
|
|
protected synchronized void d() {
|
|
}
|
|
|
|
protected void e() {
|
|
}
|
|
|
|
protected final void a(int n2, int n3, String string, boolean bl) {
|
|
this.h = true;
|
|
this.a = n2;
|
|
this.b = n3;
|
|
g = new c(this, n2, n3, string, bl, false);
|
|
this.m = 1;
|
|
this.c = new Thread(this);
|
|
this.c.start();
|
|
this.c.setPriority(1);
|
|
}
|
|
|
|
protected final boolean f() {
|
|
return this.h;
|
|
}
|
|
|
|
protected final void a(int n2) {
|
|
this.d = 1000 / n2;
|
|
}
|
|
|
|
protected final void g() {
|
|
for (int i2 = 0; i2 < 10; ++i2) {
|
|
this.f[i2] = 0L;
|
|
if (!q.d) continue;
|
|
}
|
|
}
|
|
|
|
public synchronized boolean keyDown(Event event, int n2) {
|
|
char n3;
|
|
block77: {
|
|
block78: {
|
|
block76: {
|
|
char n4;
|
|
block75: {
|
|
boolean bl;
|
|
block72: {
|
|
block74: {
|
|
block73: {
|
|
block69: {
|
|
block71: {
|
|
block70: {
|
|
block54: {
|
|
block67: {
|
|
block68: {
|
|
block65: {
|
|
char n5;
|
|
block66: {
|
|
char n6;
|
|
block64: {
|
|
char n7;
|
|
block63: {
|
|
block61: {
|
|
block62: {
|
|
block60: {
|
|
block59: {
|
|
block57: {
|
|
block58: {
|
|
block56: {
|
|
block55: {
|
|
bl = q.d;
|
|
boolean bl2 = false;
|
|
this.b(n2);
|
|
this.K = n2;
|
|
this.L = n2;
|
|
this.l = 0;
|
|
n6 = n2;
|
|
n7 = '\u03ee';
|
|
if (!bl) {
|
|
if (n6 == n7) {
|
|
this.z = true;
|
|
}
|
|
n6 = n2;
|
|
n7 = '\u03ef';
|
|
}
|
|
if (!bl) {
|
|
if (n6 == n7) {
|
|
this.A = true;
|
|
}
|
|
n6 = n2;
|
|
n7 = '\u03ec';
|
|
}
|
|
if (!bl) {
|
|
if (n6 == n7) {
|
|
this.B = true;
|
|
}
|
|
n6 = n2;
|
|
n7 = '\u03ed';
|
|
}
|
|
if (!bl) {
|
|
if (n6 == n7) {
|
|
this.C = true;
|
|
}
|
|
n6 = n2;
|
|
n7 = ' ';
|
|
}
|
|
if (!bl) {
|
|
if (n6 == n7) {
|
|
this.D = true;
|
|
}
|
|
n6 = n2;
|
|
n7 = 'n';
|
|
}
|
|
if (bl) break block55;
|
|
if (n6 == n7) break block56;
|
|
n6 = n2;
|
|
n7 = 'm';
|
|
}
|
|
if (bl) break block57;
|
|
if (n6 != n7) break block58;
|
|
}
|
|
this.E = true;
|
|
}
|
|
n6 = n2;
|
|
n7 = 'N';
|
|
}
|
|
if (bl) break block59;
|
|
if (n6 == n7) break block60;
|
|
n6 = n2;
|
|
n7 = 'M';
|
|
}
|
|
if (bl) break block61;
|
|
if (n6 != n7) break block62;
|
|
}
|
|
this.E = true;
|
|
}
|
|
n6 = n2;
|
|
n7 = '{';
|
|
}
|
|
if (!bl) {
|
|
if (n6 == n7) {
|
|
this.x = true;
|
|
}
|
|
n6 = n2;
|
|
n7 = '}';
|
|
}
|
|
if (bl) break block63;
|
|
if (n6 == n7) {
|
|
this.y = true;
|
|
}
|
|
n6 = n2;
|
|
if (bl) break block64;
|
|
n7 = '\u03f0';
|
|
}
|
|
if (n6 == n7) {
|
|
boolean bl3 = this.M;
|
|
if (!bl) {
|
|
bl3 = !bl3;
|
|
}
|
|
this.M = bl3;
|
|
}
|
|
n6 = '\u0000';
|
|
}
|
|
n5 = n6;
|
|
for (int i2 = 0; i2 < w.length(); ++i2) {
|
|
char n8 = n2;
|
|
if (!bl) {
|
|
n4 = w.charAt(i2);
|
|
if (bl) break block54;
|
|
if (n8 != n4 && !bl) continue;
|
|
n8 = n5 = '\u0001';
|
|
}
|
|
if (!bl) break;
|
|
if (!bl) continue;
|
|
}
|
|
n3 = n5;
|
|
if (bl) break block65;
|
|
if (n3 == '\u0000') break block66;
|
|
n3 = this.N.length();
|
|
if (bl) break block65;
|
|
if (n3 < '\u0014') {
|
|
this.N = this.N + (char)n2;
|
|
}
|
|
}
|
|
n3 = n5;
|
|
}
|
|
if (bl) break block67;
|
|
if (n3 == '\u0000') break block68;
|
|
n3 = this.P.length();
|
|
n4 = 'P';
|
|
if (bl) break block54;
|
|
if (n3 < n4) {
|
|
this.P = this.P + (char)n2;
|
|
}
|
|
}
|
|
n3 = n2;
|
|
}
|
|
n4 = '\b';
|
|
}
|
|
if (bl) break block69;
|
|
if (n3 != n4) break block70;
|
|
n3 = this.N.length();
|
|
if (bl) break block71;
|
|
if (n3 > '\u0000') {
|
|
this.N = this.N.substring(0, this.N.length() - 1);
|
|
}
|
|
}
|
|
n3 = n2;
|
|
}
|
|
n4 = '\b';
|
|
}
|
|
if (bl) break block72;
|
|
if (n3 != n4) break block73;
|
|
n3 = this.P.length();
|
|
if (bl) break block74;
|
|
if (n3 > '\u0000') {
|
|
this.P = this.P.substring(0, this.P.length() - 1);
|
|
}
|
|
}
|
|
n3 = n2;
|
|
}
|
|
n4 = '\n';
|
|
}
|
|
if (bl) break block75;
|
|
if (n3 == n4) break block76;
|
|
n3 = n2;
|
|
if (bl) break block77;
|
|
n4 = '\r';
|
|
}
|
|
if (n3 != n4) break block78;
|
|
}
|
|
this.O = this.N;
|
|
this.Q = this.P;
|
|
}
|
|
n3 = '\u0001';
|
|
}
|
|
return n3 != '\u0000';
|
|
}
|
|
|
|
protected void b(int n2) {
|
|
}
|
|
|
|
public synchronized boolean keyUp(Event event, int n2) {
|
|
char c2;
|
|
block30: {
|
|
int n3;
|
|
block29: {
|
|
boolean bl;
|
|
block27: {
|
|
block28: {
|
|
block26: {
|
|
block25: {
|
|
block23: {
|
|
block24: {
|
|
block22: {
|
|
block21: {
|
|
bl = q.d;
|
|
this.K = 0;
|
|
c2 = n2;
|
|
n3 = 1006;
|
|
if (!bl) {
|
|
if (c2 == n3) {
|
|
this.z = false;
|
|
}
|
|
c2 = n2;
|
|
n3 = 1007;
|
|
}
|
|
if (!bl) {
|
|
if (c2 == n3) {
|
|
this.A = false;
|
|
}
|
|
c2 = n2;
|
|
n3 = 1004;
|
|
}
|
|
if (!bl) {
|
|
if (c2 == n3) {
|
|
this.B = false;
|
|
}
|
|
c2 = n2;
|
|
n3 = 1005;
|
|
}
|
|
if (!bl) {
|
|
if (c2 == n3) {
|
|
this.C = false;
|
|
}
|
|
c2 = (char)n2;
|
|
n3 = 32;
|
|
}
|
|
if (!bl) {
|
|
if (c2 == n3) {
|
|
this.D = false;
|
|
}
|
|
c2 = (char)n2;
|
|
n3 = 110;
|
|
}
|
|
if (bl) break block21;
|
|
if (c2 == n3) break block22;
|
|
c2 = (char)n2;
|
|
n3 = 109;
|
|
}
|
|
if (bl) break block23;
|
|
if (c2 != n3) break block24;
|
|
}
|
|
this.E = false;
|
|
}
|
|
c2 = (char)n2;
|
|
n3 = 78;
|
|
}
|
|
if (bl) break block25;
|
|
if (c2 == n3) break block26;
|
|
c2 = (char)n2;
|
|
n3 = 77;
|
|
}
|
|
if (bl) break block27;
|
|
if (c2 != n3) break block28;
|
|
}
|
|
this.E = false;
|
|
}
|
|
c2 = (char)n2;
|
|
n3 = 123;
|
|
}
|
|
if (bl) break block29;
|
|
if (c2 == n3) {
|
|
this.x = false;
|
|
}
|
|
c2 = (char)n2;
|
|
if (bl) break block30;
|
|
n3 = 125;
|
|
}
|
|
if (c2 == n3) {
|
|
this.y = false;
|
|
}
|
|
c2 = '\u0001';
|
|
}
|
|
return c2 != '\u0000';
|
|
}
|
|
|
|
public final synchronized boolean mouseMove(Event event, int n2, int n3) {
|
|
this.G = n2;
|
|
this.H = n3 + 0;
|
|
this.I = 0;
|
|
this.l = 0;
|
|
return true;
|
|
}
|
|
|
|
public final synchronized boolean mouseUp(Event event, int n2, int n3) {
|
|
this.G = n2;
|
|
this.H = n3 + 0;
|
|
this.I = 0;
|
|
return true;
|
|
}
|
|
|
|
public final synchronized boolean mouseDown(Event event, int n2, int n3) {
|
|
block4: {
|
|
int n4;
|
|
block2: {
|
|
a a2;
|
|
block3: {
|
|
boolean bl = q.d;
|
|
this.G = n2;
|
|
a2 = this;
|
|
n4 = n3 + 0;
|
|
if (bl) break block2;
|
|
a2.H = n4;
|
|
if (!event.metaDown()) break block3;
|
|
this.I = 2;
|
|
if (!bl) break block4;
|
|
}
|
|
a2 = this;
|
|
n4 = 1;
|
|
}
|
|
a2.I = n4;
|
|
}
|
|
this.J = this.I;
|
|
this.l = 0;
|
|
this.a(this.I, n2, n3);
|
|
return true;
|
|
}
|
|
|
|
protected void a(int n2, int n3, int n4) {
|
|
}
|
|
|
|
public final synchronized boolean mouseDrag(Event event, int n2, int n3) {
|
|
block4: {
|
|
int n4;
|
|
block2: {
|
|
a a2;
|
|
block3: {
|
|
boolean bl = q.d;
|
|
this.G = n2;
|
|
a2 = this;
|
|
n4 = n3 + 0;
|
|
if (bl) break block2;
|
|
a2.H = n4;
|
|
if (!event.metaDown()) break block3;
|
|
this.I = 2;
|
|
if (!bl) break block4;
|
|
}
|
|
a2 = this;
|
|
n4 = 1;
|
|
}
|
|
a2.I = n4;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
public final void init() {
|
|
this.h = true;
|
|
this.a = 512;
|
|
this.b = 344;
|
|
this.m = 1;
|
|
q.a = this.getCodeBase();
|
|
this.a(this);
|
|
}
|
|
|
|
public final void start() {
|
|
block3: {
|
|
block2: {
|
|
a a2 = this;
|
|
if (q.d) break block2;
|
|
if (a2.i < 0) break block3;
|
|
a2 = this;
|
|
}
|
|
a2.i = 0;
|
|
}
|
|
}
|
|
|
|
public final void stop() {
|
|
block3: {
|
|
block2: {
|
|
a a2 = this;
|
|
if (q.d) break block2;
|
|
if (a2.i < 0) break block3;
|
|
a2 = this;
|
|
}
|
|
a2.i = 4000 / this.d;
|
|
}
|
|
}
|
|
|
|
public final void destroy() {
|
|
block5: {
|
|
Thread thread;
|
|
block6: {
|
|
a a2;
|
|
boolean bl;
|
|
block4: {
|
|
bl = q.d;
|
|
this.i = -1;
|
|
try {
|
|
Thread.sleep(5000L);
|
|
}
|
|
catch (Exception exception) {
|
|
// empty catch block
|
|
}
|
|
a2 = this;
|
|
if (bl) break block4;
|
|
if (a2.i != -1) break block5;
|
|
System.out.println(S[23]);
|
|
this.h();
|
|
a2 = this;
|
|
}
|
|
thread = a2.c;
|
|
if (bl) break block6;
|
|
if (thread == null) break block5;
|
|
thread = this.c;
|
|
}
|
|
thread.stop();
|
|
this.c = null;
|
|
}
|
|
}
|
|
|
|
private final void h() {
|
|
block9: {
|
|
int n2;
|
|
block8: {
|
|
boolean bl;
|
|
block7: {
|
|
c c2;
|
|
block6: {
|
|
bl = q.d;
|
|
this.i = -2;
|
|
System.out.println(S[17]);
|
|
this.c();
|
|
try {
|
|
Thread.sleep(1000L);
|
|
}
|
|
catch (Exception exception) {
|
|
// empty catch block
|
|
}
|
|
c2 = g;
|
|
if (bl) break block6;
|
|
if (c2 == null) break block7;
|
|
c2 = g;
|
|
}
|
|
c2.dispose();
|
|
}
|
|
n2 = this.h;
|
|
if (bl) break block8;
|
|
if (n2 != 0) break block9;
|
|
n2 = 0;
|
|
}
|
|
System.exit(n2);
|
|
}
|
|
}
|
|
|
|
/*
|
|
* Unable to fully structure code
|
|
*/
|
|
public final void run() {
|
|
block42: {
|
|
block33: {
|
|
var13_1 = q.d;
|
|
var1_2 = false;
|
|
v0 = this.m;
|
|
if (!var13_1) {
|
|
if (v0 == 1) {
|
|
this.m = 2;
|
|
this.v = this.getGraphics();
|
|
this.i();
|
|
this.a(0, a.S[11]);
|
|
this.a();
|
|
this.m = 0;
|
|
}
|
|
v0 = 0;
|
|
}
|
|
var2_3 = v0;
|
|
var3_4 = 256;
|
|
var4_5 = 1;
|
|
var5_6 = 0;
|
|
for (var6_7 = 0; var6_7 < 10; ++var6_7) {
|
|
this.f[var6_7] = System.currentTimeMillis();
|
|
if (!var13_1) continue;
|
|
}
|
|
var6_8 = System.currentTimeMillis();
|
|
while (this.i >= 0) {
|
|
block35: {
|
|
block34: {
|
|
block41: {
|
|
block40: {
|
|
block39: {
|
|
block38: {
|
|
block36: {
|
|
block37: {
|
|
v1 = this.i--;
|
|
if (var13_1) break block33;
|
|
if (!var13_1) {
|
|
if (v1 > 0) {
|
|
v2 = this.i;
|
|
if (!var13_1) {
|
|
if (v2 == 0) {
|
|
this.h();
|
|
this.c = null;
|
|
return;
|
|
} else {
|
|
** GOTO lbl-1000
|
|
}
|
|
}
|
|
} else lbl-1000:
|
|
// 3 sources
|
|
|
|
{
|
|
v2 = var3_4;
|
|
}
|
|
}
|
|
var8_9 = v2;
|
|
var9_10 = var4_5;
|
|
var3_4 = 300;
|
|
var4_5 = 1;
|
|
var10_11 = System.currentTimeMillis();
|
|
cfr_temp_0 = this.f[var2_3] - 0L;
|
|
v3 = cfr_temp_0 == 0L ? '\u0000' : (cfr_temp_0 < 0L ? '\uffffffff' : '\u0001');
|
|
if (var13_1) break block36;
|
|
if (v3 != false) break block37;
|
|
var3_4 = var8_9;
|
|
var4_5 = var9_10;
|
|
if (!var13_1) break block38;
|
|
}
|
|
v3 = (cfr_temp_1 = var10_11 - this.f[var2_3]) == 0L ? '\u0000' : (cfr_temp_1 < 0L ? '\uffffffff' : '\u0001');
|
|
}
|
|
if (var13_1) break block39;
|
|
if (v3 > 0) {
|
|
var3_4 = (int)((long)(2560 * this.d) / (var10_11 - this.f[var2_3]));
|
|
}
|
|
}
|
|
v3 = var3_4;
|
|
}
|
|
v4 = 25;
|
|
if (var13_1) break block40;
|
|
if (v3 < v4) {
|
|
var3_4 = 25;
|
|
}
|
|
v3 = var3_4;
|
|
if (var13_1) ** GOTO lbl73
|
|
v4 = 256;
|
|
}
|
|
if (v3 <= v4) break block41;
|
|
var3_4 = 256;
|
|
var4_5 = (int)((long)this.d - (var10_11 - this.f[var2_3]) / 10L);
|
|
v3 = var4_5;
|
|
if (var13_1) ** GOTO lbl73
|
|
if (v3 < this.F) {
|
|
var4_5 = this.F;
|
|
}
|
|
}
|
|
try {
|
|
v3 = var4_5;
|
|
lbl73:
|
|
// 3 sources
|
|
|
|
Thread.sleep(v3);
|
|
}
|
|
catch (InterruptedException var12_13) {
|
|
// empty catch block
|
|
}
|
|
this.f[var2_3] = var10_11;
|
|
var2_3 = (var2_3 + 1) % 10;
|
|
v5 = var4_5;
|
|
if (!var13_1) {
|
|
if (v5 > 1) {
|
|
for (var12_12 = 0; var12_12 < 10; ++var12_12) {
|
|
v6 = this.f;
|
|
v7 = var12_12;
|
|
if (!var13_1) {
|
|
cfr_temp_2 = v6[v7] - 0L;
|
|
v5 = cfr_temp_2 == 0L ? '\u0000' : (cfr_temp_2 < 0L ? '\uffffffff' : '\u0001');
|
|
if (var13_1) break block34;
|
|
if (v5 == 0) continue;
|
|
v6 = this.f;
|
|
v7 = var12_12;
|
|
}
|
|
v6[v7] = v6[v7] + (long)var4_5;
|
|
if (!var13_1) continue;
|
|
}
|
|
}
|
|
v5 = var12_12 = 0;
|
|
}
|
|
}
|
|
while (var5_6 < 256) {
|
|
this.b();
|
|
var5_6 += var3_4;
|
|
if (++var12_12 <= this.e) continue;
|
|
var5_6 = 0;
|
|
this.j += 6;
|
|
v8 = this.j;
|
|
v9 = 25;
|
|
if (!var13_1 && !var13_1) {
|
|
if (v8 <= v9) break;
|
|
this.j = 0;
|
|
this.M = true;
|
|
break;
|
|
}
|
|
break block35;
|
|
}
|
|
--this.j;
|
|
v8 = var5_6;
|
|
v9 = 255;
|
|
}
|
|
var5_6 = v8 & v9;
|
|
this.d();
|
|
if (!var13_1) continue;
|
|
}
|
|
v10 = this;
|
|
if (var13_1) break block42;
|
|
v1 = v10.i;
|
|
}
|
|
if (v1 == -1) {
|
|
this.h();
|
|
}
|
|
v10 = this;
|
|
}
|
|
v10.c = null;
|
|
}
|
|
|
|
public final void update(Graphics graphics) {
|
|
this.paint(graphics);
|
|
}
|
|
|
|
/*
|
|
* Unable to fully structure code
|
|
*/
|
|
public final void paint(Graphics var1_1) {
|
|
block10: {
|
|
block9: {
|
|
block8: {
|
|
var2_2 = q.d;
|
|
v0 = this.m;
|
|
if (var2_2) break block8;
|
|
if (v0 == 2) {
|
|
v1 = this;
|
|
if (!var2_2) {
|
|
if (v1.u != null) {
|
|
this.a(this.p, this.q);
|
|
return;
|
|
} else {
|
|
** GOTO lbl-1000
|
|
}
|
|
}
|
|
} else lbl-1000:
|
|
// 3 sources
|
|
|
|
{
|
|
v1 = this;
|
|
}
|
|
if (var2_2) break block9;
|
|
v0 = v1.m;
|
|
}
|
|
if (v0 != 0) break block10;
|
|
v1 = this;
|
|
}
|
|
v1.e();
|
|
}
|
|
}
|
|
|
|
private final void i() {
|
|
byte[] byArray;
|
|
this.v.setColor(Color.black);
|
|
this.v.fillRect(0, 0, this.a, this.b);
|
|
byte[] byArray2 = byArray = this.a(S[9], S[3], 0);
|
|
if (!q.d) {
|
|
if (byArray2 == null) {
|
|
return;
|
|
}
|
|
byArray2 = q.a(S[6], 0, byArray);
|
|
}
|
|
byte[] byArray3 = byArray2;
|
|
this.u = this.a(byArray3);
|
|
h.a(S[5], 0, this);
|
|
h.a(S[1], 1, this);
|
|
h.a(S[8], 2, this);
|
|
h.a(S[10], 3, this);
|
|
h.a(S[7], 4, this);
|
|
h.a(S[0], 5, this);
|
|
h.a(S[4], 6, this);
|
|
h.a(S[2], 7, this);
|
|
}
|
|
|
|
private final void a(int n2, String string) {
|
|
try {
|
|
int n3 = (this.a - 281) / 2;
|
|
int n4 = (this.b - 148) / 2;
|
|
this.v.setColor(Color.black);
|
|
this.v.fillRect(0, 0, this.a, this.b);
|
|
this.v.drawImage(this.u, n3, n4, (ImageObserver)((Object)this));
|
|
this.p = n2;
|
|
this.q = string;
|
|
this.v.setColor(new Color(132, 132, 132));
|
|
this.v.drawRect((n3 += 2) - 2, (n4 += 90) - 2, 280, 23);
|
|
this.v.fillRect(n3, n4, 277 * n2 / 100, 20);
|
|
this.v.setColor(new Color(198, 198, 198));
|
|
this.a(this.v, string, this.r, n3 + 138, n4 + 10);
|
|
this.a(this.v, S[16], this.s, n3 + 138, n4 + 30);
|
|
this.a(this.v, S[15], this.s, n3 + 138, n4 + 44);
|
|
}
|
|
catch (Exception exception) {
|
|
// empty catch block
|
|
}
|
|
}
|
|
|
|
protected final void b(int n2, String string) {
|
|
try {
|
|
int n3 = (this.a - 281) / 2;
|
|
int n4 = (this.b - 148) / 2;
|
|
this.p = n2;
|
|
this.q = string;
|
|
int n5 = 277 * n2 / 100;
|
|
this.v.setColor(new Color(132, 132, 132));
|
|
this.v.fillRect(n3 += 2, n4 += 90, n5, 20);
|
|
this.v.setColor(Color.black);
|
|
this.v.fillRect(n3 + n5, n4, 277 - n5, 20);
|
|
this.v.setColor(new Color(198, 198, 198));
|
|
this.a(this.v, string, this.r, n3 + 138, n4 + 10);
|
|
return;
|
|
}
|
|
catch (Exception exception) {
|
|
return;
|
|
}
|
|
}
|
|
|
|
protected final void a(Graphics graphics, String string, Font font, int n2, int n3) {
|
|
Object object;
|
|
block4: {
|
|
c c2;
|
|
block2: {
|
|
block3: {
|
|
boolean bl = q.d;
|
|
c2 = g;
|
|
if (bl) break block2;
|
|
if (c2 != null) break block3;
|
|
object = this;
|
|
if (!bl) break block4;
|
|
}
|
|
c2 = g;
|
|
}
|
|
object = c2;
|
|
}
|
|
FontMetrics fontMetrics = ((Component)object).getFontMetrics(font);
|
|
fontMetrics.stringWidth(string);
|
|
graphics.setFont(font);
|
|
graphics.drawString(string, n2 - fontMetrics.stringWidth(string) / 2, n3 + fontMetrics.getHeight() / 4);
|
|
}
|
|
|
|
private final Image a(byte[] byArray) {
|
|
boolean bl = q.d;
|
|
boolean bl2 = false;
|
|
int n2 = byArray[13] * 256 + byArray[12];
|
|
int n3 = byArray[15] * 256 + byArray[14];
|
|
byte[] byArray2 = new byte[256];
|
|
byte[] byArray3 = new byte[256];
|
|
byte[] byArray4 = new byte[256];
|
|
for (int i2 = 0; i2 < 256; ++i2) {
|
|
byArray2[i2] = byArray[20 + i2 * 3];
|
|
byArray3[i2] = byArray[19 + i2 * 3];
|
|
byArray4[i2] = byArray[18 + i2 * 3];
|
|
if (!bl) continue;
|
|
}
|
|
IndexColorModel indexColorModel = new IndexColorModel(8, 256, byArray2, byArray3, byArray4);
|
|
byte[] byArray5 = new byte[n2 * n3];
|
|
int n4 = 0;
|
|
int n5 = n3 - 1;
|
|
while (n5 >= 0) {
|
|
block4: {
|
|
for (int i3 = 0; i3 < n2; ++i3) {
|
|
byArray5[n4++] = byArray[786 + i3 + n5 * n2];
|
|
if (!bl) {
|
|
if (!bl) continue;
|
|
}
|
|
break block4;
|
|
}
|
|
--n5;
|
|
}
|
|
if (!bl) continue;
|
|
}
|
|
MemoryImageSource memoryImageSource = new MemoryImageSource(n2, n3, (ColorModel)indexColorModel, byArray5, 0, n2);
|
|
Image image = this.createImage(memoryImageSource);
|
|
return image;
|
|
}
|
|
|
|
protected byte[] a(String string, String string2, int n2) {
|
|
byte[] byArray;
|
|
block12: {
|
|
int n3;
|
|
Object object;
|
|
int n4;
|
|
int n5;
|
|
block11: {
|
|
int n6;
|
|
block10: {
|
|
boolean bl = q.d;
|
|
n5 = 0;
|
|
n4 = 0;
|
|
byArray = null;
|
|
try {
|
|
this.b(n2, S[18] + string2 + S[21]);
|
|
object = q.a(string);
|
|
DataInputStream dataInputStream = new DataInputStream((InputStream)object);
|
|
byte[] byArray2 = new byte[6];
|
|
dataInputStream.readFully(byArray2, 0, 6);
|
|
n5 = ((byArray2[0] & 0xFF) << 16) + ((byArray2[1] & 0xFF) << 8) + (byArray2[2] & 0xFF);
|
|
n4 = ((byArray2[3] & 0xFF) << 16) + ((byArray2[4] & 0xFF) << 8) + (byArray2[5] & 0xFF);
|
|
this.b(n2, S[18] + string2 + S[20]);
|
|
int n7 = 0;
|
|
byArray = new byte[n4];
|
|
while (n7 < n4) {
|
|
int n8;
|
|
n3 = n8 = n4 - n7;
|
|
n6 = 1000;
|
|
if (!bl) {
|
|
int n9;
|
|
int n10;
|
|
if (!bl) {
|
|
if (n3 > n6) {
|
|
n8 = 1000;
|
|
}
|
|
dataInputStream.readFully(byArray, n7, n8);
|
|
n10 = n7;
|
|
n9 = n8;
|
|
}
|
|
n7 = n10 + n9;
|
|
this.b(n2, S[18] + string2 + S[19] + (5 + n7 * 95 / n4) + "%");
|
|
if (!bl) continue;
|
|
}
|
|
break block10;
|
|
}
|
|
dataInputStream.close();
|
|
}
|
|
catch (IOException iOException) {
|
|
// empty catch block
|
|
}
|
|
this.b(n2, S[22] + string2);
|
|
n3 = n4;
|
|
if (bl) break block11;
|
|
n6 = n5;
|
|
}
|
|
if (n3 == n6) break block12;
|
|
n3 = n5;
|
|
}
|
|
object = new byte[n3];
|
|
u.a((byte[])object, n5, byArray, n4, 0);
|
|
return object;
|
|
}
|
|
return byArray;
|
|
}
|
|
|
|
public Graphics getGraphics() {
|
|
block3: {
|
|
c c2;
|
|
block2: {
|
|
c2 = g;
|
|
if (q.d) break block2;
|
|
if (c2 == null) break block3;
|
|
c2 = g;
|
|
}
|
|
return c2.getGraphics();
|
|
}
|
|
return super.getGraphics();
|
|
}
|
|
|
|
public Image createImage(int n2, int n3) {
|
|
block3: {
|
|
c c2;
|
|
block2: {
|
|
c2 = g;
|
|
if (q.d) break block2;
|
|
if (c2 == null) break block3;
|
|
c2 = g;
|
|
}
|
|
return c2.createImage(n2, n3);
|
|
}
|
|
return super.createImage(n2, n3);
|
|
}
|
|
|
|
public URL getCodeBase() {
|
|
return super.getCodeBase();
|
|
}
|
|
|
|
public URL getDocumentBase() {
|
|
return super.getDocumentBase();
|
|
}
|
|
|
|
public String getParameter(String string) {
|
|
return super.getParameter(string);
|
|
}
|
|
|
|
protected Socket a(String string, int n2) throws IOException {
|
|
Socket socket;
|
|
block3: {
|
|
block2: {
|
|
if (!this.f()) break block2;
|
|
socket = new Socket(InetAddress.getByName(this.getCodeBase().getHost()), n2);
|
|
if (!q.d) break block3;
|
|
}
|
|
socket = new Socket(InetAddress.getByName(string), n2);
|
|
}
|
|
socket.setSoTimeout(30000);
|
|
socket.setTcpNoDelay(true);
|
|
return socket;
|
|
}
|
|
|
|
protected void a(Runnable runnable) {
|
|
Thread thread = new Thread(runnable);
|
|
thread.setDaemon(true);
|
|
thread.start();
|
|
}
|
|
|
|
static {
|
|
String[] stringArray = new String[24];
|
|
Object var0 = null;
|
|
stringArray[0] = a.z(a.z("QfY1"));
|
|
var0 = null;
|
|
stringArray[1] = a.z(a.z("Qf]1"));
|
|
var0 = null;
|
|
stringArray[2] = a.z(a.z("Qe[1"));
|
|
var0 = null;
|
|
stringArray[3] = a.z(a.z("s6\b6G\u0019;\u00061MX%\u0016"));
|
|
var0 = null;
|
|
stringArray[4] = a.z(a.z("Qe_1"));
|
|
var0 = null;
|
|
stringArray[5] = a.z(a.z("Qf^#"));
|
|
var0 = null;
|
|
stringArray[6] = a.z(a.z("U8\b<\u0011M0\u000e"));
|
|
var0 = null;
|
|
stringArray[7] = a.z(a.z("Qf[1"));
|
|
var0 = null;
|
|
stringArray[8] = a.z(a.z("Qf]#"));
|
|
var0 = null;
|
|
stringArray[9] = a.z(a.z("S6\b6G\u0017=\u000e4"));
|
|
var0 = null;
|
|
stringArray[10] = a.z(a.z("Qf\\1"));
|
|
var0 = null;
|
|
stringArray[11] = a.z(a.z("u8\u000e7VW0A}\u0011"));
|
|
var0 = null;
|
|
stringArray[12] = a.z(a.z("u8\u000e7VW0"));
|
|
var0 = null;
|
|
stringArray[13] = a.z(a.z("q2\u0003%ZM>\f2"));
|
|
var0 = null;
|
|
stringArray[14] = a.z(a.z("m>\u00026Lk8\u00022Q"));
|
|
var0 = null;
|
|
stringArray[15] = a.z(a.z("\u0090e_c\u000e\u0014e_c\r\u0019\u0016\u00017M\\ O\u0014PN2\u001ds^W3O\u0019^^2\u0017ssM3"));
|
|
var0 = null;
|
|
stringArray[16] = a.z(a.z("z%\n2K\\3O1F\u0019\u001d.\u0014ZawBsIP$\u0006'\u001fN \u0018}UX0\n+\u0011Z8\u0002"));
|
|
var0 = null;
|
|
stringArray[17] = a.z(a.z("z;\u0000 VW0O#MV0\u001d2R"));
|
|
var0 = null;
|
|
stringArray[18] = a.z(a.z("u8\u000e7VW0O"));
|
|
var0 = null;
|
|
stringArray[19] = a.z(a.z("\u0019zO"));
|
|
var0 = null;
|
|
stringArray[20] = a.z(a.z("\u0019zOf\u001a"));
|
|
var0 = null;
|
|
stringArray[21] = a.z(a.z("\u0019zOc\u001a"));
|
|
var0 = null;
|
|
stringArray[22] = a.z(a.z("l9\u001f2\\R>\u00014\u001f"));
|
|
var0 = null;
|
|
stringArray[23] = a.z(a.z("\fw\u001c6\\V9\u000b \u001f\\/\u001f:M\\3CsYV%\f:Q^w\u0004:SU"));
|
|
S = stringArray;
|
|
g = null;
|
|
var0 = null;
|
|
w = a.z(a.z("x\u0015,\u0017z\u007f\u0010'\u001aur\u001b\"\u001dpi\u0006=\u0000kl\u00018\u000bfc6\r0[\\1\b;VS<\u0003>QV'\u001e!LM\"\u0019$G@-_b\r\ncZe\b\u0001nNq\u009c\u001dr1u\u0015\u0011~B\f\u0002\u0012\f\u0014\u000eB\u0002mH\u0013\u001cG{S}\u0001\u0016h3/\u001f"));
|
|
}
|
|
|
|
private static char[] z(String string) {
|
|
char[] cArray;
|
|
block1: {
|
|
int n2;
|
|
char[] cArray2 = string.toCharArray();
|
|
char[] cArray3 = cArray2;
|
|
char[] cArray4 = cArray2;
|
|
do {
|
|
int n3 = cArray3.length;
|
|
cArray = cArray4;
|
|
n2 = n3;
|
|
if (n3 >= 2) break block1;
|
|
cArray4 = cArray;
|
|
cArray3 = cArray;
|
|
} while (n2 == 0);
|
|
cArray = cArray4;
|
|
n2 = 0;
|
|
cArray3[0] = (char)(cArray3[0] ^ 0x3F);
|
|
}
|
|
return cArray;
|
|
}
|
|
|
|
/*
|
|
* Handled impossible loop by duplicating code
|
|
* Enabled aggressive block sorting
|
|
*/
|
|
private static String z(char[] cArray) {
|
|
char[] cArray2;
|
|
block10: {
|
|
int n2;
|
|
int n3;
|
|
char[] cArray3;
|
|
int n4;
|
|
block9: {
|
|
n4 = 0;
|
|
int n5 = cArray.length;
|
|
cArray3 = cArray;
|
|
n3 = n5;
|
|
if (n5 <= 1) break block9;
|
|
cArray2 = cArray3;
|
|
n2 = n3;
|
|
if (n3 <= n4) break block10;
|
|
}
|
|
do {
|
|
char[] cArray4 = cArray3;
|
|
char[] cArray5 = cArray3;
|
|
int n6 = n4;
|
|
while (true) {
|
|
int n7;
|
|
char c2 = cArray4[n6];
|
|
switch (n4 % 5) {
|
|
case 0: {
|
|
n7 = 57;
|
|
break;
|
|
}
|
|
case 1: {
|
|
n7 = 87;
|
|
break;
|
|
}
|
|
case 2: {
|
|
n7 = 111;
|
|
break;
|
|
}
|
|
case 3: {
|
|
n7 = 83;
|
|
break;
|
|
}
|
|
default: {
|
|
n7 = 63;
|
|
}
|
|
}
|
|
cArray4[n6] = (char)(c2 ^ n7);
|
|
++n4;
|
|
cArray3 = cArray5;
|
|
n3 = n3;
|
|
if (n3 != 0) break;
|
|
cArray5 = cArray3;
|
|
n2 = n3;
|
|
n6 = n3;
|
|
cArray4 = cArray3;
|
|
}
|
|
cArray2 = cArray3;
|
|
n2 = n3;
|
|
} while (n3 > n4);
|
|
}
|
|
return new String(cArray2).intern();
|
|
}
|
|
}
|
|
|