/* * 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(); } }