SBoT 1.0 decompiled with CFR 0.152

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.
This commit is contained in:
wes
2026-08-25 13:11:31 -04:00
commit c30e839b64
31 changed files with 90600 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* Script
* mudclient
*/
public class BoneBury
extends Script {
public BoneBury(mudclient mudclient2) {
super(mudclient2);
}
public String[] getCommands() {
return new String[]{"bones"};
}
public void start(String string, String[] stringArray) {
while (this.Running()) {
if (this.Fatigue() > 95 && !this.Sleeping()) {
this.DisplayMessage("@gre@SBoT: @whi@Sleeping", 3);
this.Use(this.FindInv(1263));
this.Wait(5000);
}
while (this.GetNearestItem(20) != null && this.InvCount() < 30) {
int[] nArray = this.GetNearestItem(20);
this.TakeItem(nArray[0], nArray[1], 20);
this.Wait(1000);
}
while (this.InvCount() > 2) {
this.Use(this.FindInv(20));
this.Wait(1000);
}
}
this.DisplayMessage("@red@STOPPED", 3);
}
}
+41
View File
@@ -0,0 +1,41 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* Script
* mudclient
*/
public class GuildFish
extends Script {
public GuildFish(mudclient mudclient2) {
super(mudclient2);
}
public String[] getCommands() {
return new String[]{"guildfishing"};
}
public void start(String string, String string2) {
this.CheckFighters(false);
this.DisplayMessage("@gre@SBoT: @whi@GuildFisher-TrapperJ", 3);
while (this.Running()) {
if (this.GetY() >= 3000 || this.InvCount(372) <= 25) continue;
this.WalkEmpty(604, 503, 603, 503);
this.Wait(7000);
long l = System.currentTimeMillis();
int n = this.GetNearestNPC(369);
this.TalkToNPC(n);
while (System.currentTimeMillis() - l <= 5000L && !this.QuestMenu()) {
this.Wait(1);
}
this.Wait(1000);
this.Answer(1);
this.Wait(1000);
this.Answer(1);
this.Wait(1000);
this.Answer(5);
this.Wait(1000);
}
this.DisplayMessage("@gre@SBoT: @whi@Guild Miner - @red@STOPPED", 3);
}
}
+74
View File
@@ -0,0 +1,74 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* Script
* mudclient
*/
public class GuildFisher
extends Script {
public GuildFisher(mudclient mudclient2) {
super(mudclient2);
}
public String[] getCommands() {
return new String[]{"guildfish"};
}
public void start(String string, String string2) {
this.DisplayMessage("@gre@SBoT: @whi@GuildFisher - RichyT", 3);
while (this.Running()) {
while (this.InvCount() < 30) {
if (this.Fatigue() > 85 && !this.Sleeping()) {
this.DisplayMessage("@gre@SBoT: @whi@Sleeping", 3);
this.Use(this.FindInv(1263));
this.Wait(5000);
}
if (this.Sleeping()) continue;
this.AtObject(589, 501);
this.Wait(1000);
}
this.Walk(601, 504);
while (this.DoorAt(603, 506, 3) == 1) {
this.Walk(602, 506);
this.OpenDoor(603, 506, 3);
this.Wait(5000);
this.WalkNoWait(603, 505);
this.Wait(2000);
}
this.WalkEmpty(602, 502, 605, 505);
while (this.InvCount(372) > 0) {
long l;
while (!this.QuestMenu()) {
l = System.currentTimeMillis();
int n = this.GetNearestNPC(369);
this.TalkToNPC(n);
while (System.currentTimeMillis() - l <= 5000L && !this.QuestMenu()) {
this.Wait(1);
}
}
l = System.currentTimeMillis();
this.Answer(1);
while (!this.QuestMenu() && System.currentTimeMillis() - l <= 5000L) {
this.Wait(10);
}
l = System.currentTimeMillis();
this.Answer(1);
while (!this.QuestMenu() && System.currentTimeMillis() - l <= 5000L) {
this.Wait(10);
}
this.Answer(4);
this.Wait(2500);
}
while (this.DoorAt(603, 506, 3) == 1) {
this.Walk(604, 506);
this.OpenDoor(603, 506, 3);
this.Wait(5000);
this.WalkNoWait(602, 506);
this.Wait(2000);
}
this.Walk(593, 502);
}
this.DisplayMessage("@red@STOPPED", 3);
}
}
+996
View File
@@ -0,0 +1,996 @@
/*
* Decompiled with CFR 0.152.
*/
public abstract class Script {
protected mudclient a;
private static String[] z;
public Script(mudclient mudclient2) {
this.a = mudclient2;
}
public void start(String string, String[] stringArray) {
}
public String[] getCommands() {
return new String[0];
}
public void init() {
}
public void stop() {
}
public void ServerMessage(String string) {
}
public void Wait(int n2) {
try {
Thread.sleep(n2);
}
catch (InterruptedException interruptedException) {
// empty catch block
}
}
public void DisplayMessage(String string, int n2) {
this.a.b(string, 3);
}
public void SetFightMode(int n2) {
this.WaitForLoad();
this.a.i(n2);
}
public int GetFightMode() {
this.WaitForLoad();
return this.a.Cd;
}
public void AtObject(int n2, int n3) {
block4: {
mudclient mudclient2;
block2: {
block3: {
boolean bl = q.d;
this.WaitForLoad();
mudclient2 = this.a;
if (bl) break block2;
if (mudclient2.d(n2, n3) == -1) break block3;
this.a.h(n2, n3);
if (!bl) break block4;
}
mudclient2 = this.a;
}
mudclient2.b(z[0] + n2 + z[1] + n3, 3);
}
}
public void AtObject(int[] nArray) {
block4: {
mudclient mudclient2;
block2: {
block3: {
boolean bl = q.d;
this.WaitForLoad();
mudclient2 = this.a;
if (bl) break block2;
if (mudclient2.d(nArray[0], nArray[1]) == -1) break block3;
this.a.h(nArray[0], nArray[1]);
if (!bl) break block4;
}
mudclient2 = this.a;
}
mudclient2.b(z[0] + nArray[0] + z[1] + nArray[1], 3);
}
}
public void AtObject2(int n2, int n3) {
block4: {
mudclient mudclient2;
block2: {
block3: {
boolean bl = q.d;
this.WaitForLoad();
mudclient2 = this.a;
if (bl) break block2;
if (mudclient2.d(n2, n3) == -1) break block3;
this.a.i(n2, n3);
if (!bl) break block4;
}
mudclient2 = this.a;
}
mudclient2.b(z[0] + n2 + z[1] + n3, 3);
}
}
public void AtObject2(int[] nArray) {
block4: {
mudclient mudclient2;
block2: {
block3: {
boolean bl = q.d;
this.WaitForLoad();
mudclient2 = this.a;
if (bl) break block2;
if (mudclient2.d(nArray[0], nArray[1]) == -1) break block3;
this.a.i(nArray[0], nArray[1]);
if (!bl) break block4;
}
mudclient2 = this.a;
}
mudclient2.b(z[0] + nArray[0] + z[1] + nArray[1], 3);
}
}
public void Walk(int n2, int n3) {
boolean bl = q.d;
this.WaitForLoad();
while (this.a.pb() != n2) {
mudclient mudclient2 = this.a;
if (!bl) {
if (mudclient2.qb() == n3) break;
this.WaitForLoad();
mudclient2 = this.a;
}
mudclient2.j(n2, n3);
try {
Thread.sleep(1000L);
}
catch (InterruptedException interruptedException) {
if (!bl) continue;
}
}
}
/*
* Unable to fully structure code
*/
public void Walk(int var1_1, int var2_2, int var3_3) {
var5_4 = q.d;
this.WaitForLoad();
while (this.a.pb() != var1_1) {
v0 = this.a.qb();
if (var5_4) ** GOTO lbl11
if (v0 == var2_2) break;
this.WaitForLoad();
this.a.j(var1_1, var2_2);
try {
v0 = var3_3;
lbl11:
// 2 sources
Thread.sleep(v0);
}
catch (InterruptedException var4_5) {
if (!var5_4) continue;
}
}
}
public void WalkNoWait(int n2, int n3) {
this.WaitForLoad();
this.a.j(n2, n3);
}
/*
* Enabled aggressive block sorting
* Lifted jumps to return sites
*/
public void WalkEmpty(int n2, int n3, int n4, int n5) {
block10: {
int n6;
int n7;
int n8;
boolean bl;
block11: {
block9: {
bl = q.d;
this.WaitForLoad();
int n9 = 0;
n8 = n2;
block0: while (true) {
int n10 = n8;
int n11 = n4;
block1: while (n10 <= n11) {
n7 = n3;
if (bl) break block9;
for (n6 = v884283; n6 <= n5; ++n6) {
int n12 = this.a.g(n8, n6);
if (!bl) {
n11 = 1;
if (bl) continue block1;
if (n12 != n11) continue;
n12 = 1;
}
n9 = n12;
if (!bl) continue;
}
++n8;
if (!bl) continue block0;
}
break;
}
n7 = n9;
}
if (bl) break block11;
if (n7 != 1) break block10;
n7 = 0;
}
n8 = n7;
while (n8 == 0) {
int n13;
this.WaitForLoad();
n6 = this.Rand(n2, n4);
if (!this.a.g(n6, n13 = this.Rand(n3, n5))) continue;
this.Walk(n6, n13);
n8 = 1;
if (!bl) {
continue;
}
break block10;
}
return;
}
System.out.println(z[2]);
this.Walk(this.Rand(n2, n4), this.Rand(n3, n5));
}
/*
* Enabled aggressive block sorting
* Lifted jumps to return sites
*/
public void WalkEmptyNoWait(int n2, int n3, int n4, int n5) {
block10: {
int n6;
int n7;
int n8;
boolean bl;
block11: {
block9: {
bl = q.d;
this.WaitForLoad();
int n9 = 0;
n8 = n2;
block0: while (true) {
int n10 = n8;
int n11 = n4;
block1: while (n10 <= n11) {
n7 = n3;
if (bl) break block9;
for (n6 = v884757; n6 <= n5; ++n6) {
int n12 = this.a.g(n8, n6);
if (!bl) {
n11 = 1;
if (bl) continue block1;
if (n12 != n11) continue;
n12 = 1;
}
n9 = n12;
if (!bl) continue;
}
++n8;
if (!bl) continue block0;
}
break;
}
n7 = n9;
}
if (bl) break block11;
if (n7 != 1) break block10;
n7 = 0;
}
n8 = n7;
while (n8 == 0) {
int n13;
this.WaitForLoad();
n6 = this.Rand(n2, n4);
if (!this.a.g(n6, n13 = this.Rand(n3, n5))) continue;
this.a.j(n6, n13);
n8 = 1;
if (!bl) {
continue;
}
break block10;
}
return;
}
System.out.println(z[2]);
this.a.j(this.Rand(n2, n4), this.Rand(n3, n5));
}
public int GetX() {
this.WaitForLoad();
return this.a.pb();
}
public int GetY() {
this.WaitForLoad();
return this.a.qb();
}
public int Rand(int n2, int n3) {
this.WaitForLoad();
return this.a.k(n2, n3);
}
public void Say(String string) {
this.WaitForLoad();
this.a.f(string);
}
public boolean EmptyTile(int n2, int n3) {
this.WaitForLoad();
return this.a.g(n2, n3);
}
public void MagicPlayer(int n2, int n3) {
this.WaitForLoad();
this.a.l(n2, n3);
}
public void UseOnPlayer(int n2, int n3) {
this.WaitForLoad();
this.a.m(n2, n3);
}
public void AttackPlayer(int n2) {
this.WaitForLoad();
this.a.l(n2);
}
public void DuelPlayer(int n2) {
this.WaitForLoad();
this.a.m(n2);
}
public void TradePlayer(int n2) {
this.WaitForLoad();
this.a.n(n2);
}
public void FollowPlayer(int n2) {
this.WaitForLoad();
this.a.o(n2);
}
public void MagicItem(int n2, int n3, int n4, int n5) {
this.WaitForLoad();
this.a.d(n2, n3, n4, n5);
}
public void UseOnItem(int n2, int n3, int n4, int n5) {
this.WaitForLoad();
this.a.e(n2, n3, n4, n5);
}
public void TakeItem(int n2, int n3, int n4) {
this.WaitForLoad();
this.a.e(n2, n3, n4);
}
public void TakeItem(int[] nArray, int n2) {
this.WaitForLoad();
this.a.e(nArray[0], nArray[1], n2);
}
public void MagicNPC(int n2, int n3) {
this.WaitForLoad();
this.a.n(n2, n3);
}
public void UseOnNPC(int n2, int n3) {
this.WaitForLoad();
this.a.o(n2, n3);
}
public void TalkToNPC(int n2) {
this.WaitForLoad();
this.a.q(n2);
}
public void AttackNPC(int n2) {
this.WaitForLoad();
this.a.r(n2);
}
public void ThieveNPC(int n2) {
this.WaitForLoad();
this.a.s(n2);
}
public void MagicDoor(int n2, int n3, int n4, int n5) {
this.WaitForLoad();
this.a.f(n2, n3, n4, n5);
}
public void UseOnDoor(int n2, int n3, int n4, int n5) {
this.WaitForLoad();
this.a.g(n2, n3, n4, n5);
}
public void OpenDoor(int n2, int n3, int n4) {
this.WaitForLoad();
this.a.f(n2, n3, n4);
}
public void CloseDoor(int n2, int n3, int n4) {
this.WaitForLoad();
this.a.g(n2, n3, n4);
}
public void MagicObject(int n2, int n3, int n4) {
this.WaitForLoad();
this.a.h(n2, n3, n4);
}
public void UseOnObject(int n2, int n3, int n4) {
this.WaitForLoad();
this.a.i(n2, n3, n4);
}
public void Magic(int n2) {
this.WaitForLoad();
this.a.t(n2);
}
public boolean QuestMenu() {
this.WaitForLoad();
return this.a.tf;
}
public void Answer(int n2) {
this.WaitForLoad();
this.a.u(n2);
}
public void MagicInventory(int n2, int n3) {
this.WaitForLoad();
this.a.q(n2, n3);
}
public void UseWithInventory(int n2, int n3) {
this.WaitForLoad();
this.a.r(n2, n3);
}
public void Remove(int n2) {
this.WaitForLoad();
this.a.v(n2);
}
public void Wield(int n2) {
this.WaitForLoad();
this.a.w(n2);
}
public void Use(int n2) {
this.WaitForLoad();
this.a.x(n2);
}
public void Drop(int n2) {
this.WaitForLoad();
this.a.y(n2);
}
public void Deposit(int n2, int n3) {
this.WaitForLoad();
this.a.s(n2, n3);
}
public void Withdraw(int n2, int n3) {
this.WaitForLoad();
this.a.t(n2, n3);
}
public int InvCount(int n2) {
this.WaitForLoad();
return this.a.f(n2);
}
public int InvCount() {
this.WaitForLoad();
return this.a.f(0);
}
public void Logout() {
this.WaitForLoad();
this.a.V();
}
public int[] GetNearestObject(int n2) {
this.WaitForLoad();
int[] nArray = new int[]{n2};
return new int[]{this.a.a(nArray, true, 0, 0, 9999, 9999), this.a.a(nArray, false, 0, 0, 9999, 9999)};
}
public int[] GetNearestObject(int[] nArray) {
this.WaitForLoad();
return new int[]{this.a.a(nArray, true, 0, 0, 9999, 9999), this.a.a(nArray, false, 0, 0, 9999, 9999)};
}
public int[] GetNearestObject(int n2, int n3, int n4, int n5, int n6) {
this.WaitForLoad();
int[] nArray = new int[]{n2};
return new int[]{this.a.a(nArray, true, n3, n4, n5, n6), this.a.a(nArray, false, n3, n4, n5, n6)};
}
public int[] GetNearestObject(int[] nArray, int n2, int n3, int n4, int n5) {
this.WaitForLoad();
return new int[]{this.a.a(nArray, true, n2, n3, n4, n5), this.a.a(nArray, false, n2, n3, n4, n5)};
}
public int GetNearestNPC(int n2) {
this.WaitForLoad();
int[] nArray = new int[]{n2};
return this.a.a(nArray, 0, 0, 9999, 9999);
}
public int GetNearestNPC(int[] nArray) {
this.WaitForLoad();
return this.a.a(nArray, 0, 0, 9999, 9999);
}
public int GetNearestNPC(int n2, int n3, int n4, int n5, int n6) {
this.WaitForLoad();
int[] nArray = new int[]{n2};
return this.a.a(nArray, n3, n6, n5, n6);
}
public int GetNearestNPC(int[] nArray, int n2, int n3, int n4, int n5) {
this.WaitForLoad();
return this.a.a(nArray, n4, n3, n4, n5);
}
public int[] GetNearestItem(int n2) {
this.WaitForLoad();
return new int[]{this.a.a(n2, true), this.a.a(n2, false)};
}
public void CloseShop() {
this.WaitForLoad();
this.a.tb();
}
public void CloseBank() {
this.WaitForLoad();
this.a.sb();
}
public void Buy(int n2) {
this.WaitForLoad();
this.a.A(n2);
}
public void Sell(int n2) {
this.WaitForLoad();
this.a.F(n2);
}
public boolean Bank() {
this.WaitForLoad();
return this.a.af;
}
public boolean Shop() {
this.WaitForLoad();
return this.a.Zg;
}
public void Sex0rPR4Y() {
this.a.Hb = true;
}
public int DoorAt(int n2, int n3, int n4) {
this.WaitForLoad();
return this.a.j(n2, n3, n4);
}
public int ObjectAt(int n2, int n3) {
this.WaitForLoad();
return this.a.u(n2, n3);
}
public int PlayerByName(String string) {
this.WaitForLoad();
return this.a.g(string);
}
public int GetCurrentStat(int n2) {
this.WaitForLoad();
return this.a.M(n2);
}
public int GetStat(int n2) {
this.WaitForLoad();
return this.a.N(n2);
}
public int PlayerHP(int n2) {
this.WaitForLoad();
return this.a.H(n2);
}
public boolean InCombat() {
this.WaitForLoad();
return this.a.ub();
}
public boolean PlayerInCombat(int n2) {
this.WaitForLoad();
return this.a.G(n2);
}
public int PlayerX(int n2) {
this.WaitForLoad();
return this.a.I(n2);
}
public int PlayerY(int n2) {
this.WaitForLoad();
return this.a.J(n2);
}
public int PlayerDestX(int n2) {
this.WaitForLoad();
return this.a.K(n2);
}
public int PlayerDestY(int n2) {
this.WaitForLoad();
return this.a.L(n2);
}
public String LastServerMessage() {
this.WaitForLoad();
return this.a.Lb;
}
public void ResetLastServerMessage() {
this.WaitForLoad();
this.a.Lb = null;
}
public void WaitForServerMessage(int n2) {
this.a.Jb = false;
this.a.Kb = true;
long l2 = System.currentTimeMillis();
while (!this.a.Jb && System.currentTimeMillis() - l2 <= (long)n2) {
this.Wait(10);
if (!q.d) continue;
}
}
public boolean InLastServerMessage(String string) {
boolean bl = this.a.Lb.indexOf(string);
if (!q.d) {
if (bl >= false) {
return true;
}
bl = false;
}
return bl;
}
public int FindInv(int n2) {
this.WaitForLoad();
return this.a.j(n2);
}
public boolean Running() {
this.WaitForLoad();
return this.a.Bb;
}
public void CheckFighters(boolean bl) {
this.WaitForLoad();
this.a.Cb = bl;
}
public void SleepWord() {
this.WaitForLoad();
this.a.rb();
}
public boolean Sleeping() {
this.WaitForLoad();
return this.a.dg;
}
public int Fatigue() {
this.WaitForLoad();
return this.a.Ih * 100 / 750;
}
/*
* Enabled force condition propagation
* Lifted jumps to return sites
*/
public boolean Loading() {
boolean bl = q.d;
int n2 = this.a.Gi;
if (!bl) {
if (n2 != 0) {
this.a.Eg.q = false;
return true;
}
n2 = this.a.bh;
}
if (!bl) {
if (n2 != 1) {
return true;
}
n2 = this.a.vi;
}
int n3 = n2;
int n4 = this.a.wi;
this.a.Dd = false;
n4 += this.a.jd;
int n5 = this.a.ld;
if (bl) return n5 != 0;
if (n5 != this.a.Wg) return 0 != 0;
n5 = n3 += this.a.id;
if (bl) return n5 != 0;
if (n5 <= this.a.yd) return 0 != 0;
n5 = n3;
if (bl) return n5 != 0;
if (n5 >= this.a.Ad) return 0 != 0;
n5 = n4;
if (bl) return n5 != 0;
if (n5 <= this.a.zd) return 0 != 0;
n5 = n4;
if (bl) return n5 != 0;
if (n5 >= this.a.Bd) return 0 != 0;
this.a.Eg.q = true;
return true;
}
public void WaitForLoad() {
while (this.Loading()) {
this.Wait(10);
if (!q.d) continue;
}
}
public void PrayerOn(int n2) {
this.WaitForLoad();
this.a.C(n2);
}
public void PrayerOff(int n2) {
this.WaitForLoad();
this.a.D(n2);
}
public boolean Prayer(int n2) {
this.WaitForLoad();
return this.a.E(n2);
}
public int ShopCount(int n2) {
this.WaitForLoad();
return this.a.B(n2);
}
public void SetWorld(int n2) {
z.a(n2);
}
public int LastPlayerAttacked() {
return this.a.Pb;
}
public void ResetLastPlayerAttacked() {
this.a.Pb = -1;
}
public void Login(String string, String string2) {
this.a.a(string, string2, false);
}
public boolean LoggedIn() {
boolean bl = this.a.bh;
if (!q.d) {
if (bl) {
return true;
}
bl = false;
}
return bl;
}
/*
* Handled impossible loop by duplicating code
* Enabled aggressive block sorting
*/
static {
char[] cArray;
String[] stringArray;
block32: {
int n2;
int n3;
char[] cArray2;
int n4;
block31: {
char[] cArray3;
Object var0;
block30: {
int n5;
int n6;
char[] cArray4;
block29: {
char[] cArray5;
block28: {
int n7;
int n8;
char[] cArray6;
block27: {
stringArray = new String[3];
var0 = null;
char[] cArray7 = "9vu\nC<VB!QC$P\u0019k\u0010D^\u0001#\u0016fz\u000b`\r$v\u0001v\u0017`0\u000fwC$P\u0017f\u0015D".toCharArray();
n4 = 0;
int n9 = cArray7.length;
cArray6 = cArray7;
n8 = n9;
if (n9 <= 1) break block27;
cArray5 = cArray6;
n7 = n8;
if (n8 <= n4) break block28;
}
do {
char[] cArray8 = cArray6;
char[] cArray9 = cArray6;
int n10 = n4;
while (true) {
int n11;
char c2 = cArray8[n10];
switch (n4 % 5) {
case 0: {
n11 = 121;
break;
}
case 1: {
n11 = 4;
break;
}
case 2: {
n11 = 16;
break;
}
case 3: {
n11 = 110;
break;
}
default: {
n11 = 3;
}
}
cArray8[n10] = (char)(c2 ^ n11);
++n4;
cArray6 = cArray9;
n8 = n8;
if (n8 != 0) break;
cArray9 = cArray6;
n7 = n8;
n10 = n8;
cArray8 = cArray6;
}
cArray5 = cArray6;
n7 = n8;
} while (n8 > n4);
}
stringArray[0] = new String(cArray5).intern();
var0 = null;
char[] cArray10 = "U$".toCharArray();
n4 = 0;
int n12 = cArray10.length;
cArray4 = cArray10;
n6 = n12;
if (n12 <= 1) break block29;
cArray3 = cArray4;
n5 = n6;
if (n6 <= n4) break block30;
}
do {
char[] cArray11 = cArray4;
char[] cArray12 = cArray4;
int n13 = n4;
while (true) {
int n14;
char c3 = cArray11[n13];
switch (n4 % 5) {
case 0: {
n14 = 121;
break;
}
case 1: {
n14 = 4;
break;
}
case 2: {
n14 = 16;
break;
}
case 3: {
n14 = 110;
break;
}
default: {
n14 = 3;
}
}
cArray11[n13] = (char)(c3 ^ n14);
++n4;
cArray4 = cArray12;
n6 = n6;
if (n6 != 0) break;
cArray12 = cArray4;
n5 = n6;
n13 = n6;
cArray11 = cArray4;
}
cArray3 = cArray4;
n5 = n6;
} while (n6 > n4);
}
stringArray[1] = new String(cArray3).intern();
var0 = null;
char[] cArray13 = ".eb\u0000j\u0017c*NM\u0016$U\u0003s\r}0:j\u0015acNE\u0016q~\n".toCharArray();
n4 = 0;
int n15 = cArray13.length;
cArray2 = cArray13;
n3 = n15;
if (n15 <= 1) break block31;
cArray = cArray2;
n2 = n3;
if (n3 <= n4) break block32;
}
do {
char[] cArray14 = cArray2;
char[] cArray15 = cArray2;
int n16 = n4;
while (true) {
int n17;
char c4 = cArray14[n16];
switch (n4 % 5) {
case 0: {
n17 = 121;
break;
}
case 1: {
n17 = 4;
break;
}
case 2: {
n17 = 16;
break;
}
case 3: {
n17 = 110;
break;
}
default: {
n17 = 3;
}
}
cArray14[n16] = (char)(c4 ^ n17);
++n4;
cArray2 = cArray15;
n3 = n3;
if (n3 != 0) break;
cArray15 = cArray2;
n2 = n3;
n16 = n3;
cArray14 = cArray2;
}
cArray = cArray2;
n2 = n3;
} while (n3 > n4);
}
stringArray[2] = new String(cArray).intern();
z = stringArray;
}
}
+1186
View File
File diff suppressed because it is too large Load Diff
+4078
View File
File diff suppressed because it is too large Load Diff
+169
View File
@@ -0,0 +1,169 @@
/*
* Decompiled with CFR 0.152.
*/
import java.awt.Event;
import java.awt.Frame;
import java.awt.Graphics;
public class c
extends Frame {
int a;
int b;
int c;
int d;
a e;
Graphics f;
public c(a a2, int n2, int n3, String string, boolean bl, boolean bl2) {
block4: {
block2: {
c c2;
block3: {
boolean bl3 = q.d;
this.d = 28;
this.a = n2;
this.b = n3;
c2 = this;
if (bl3) break block2;
c2.e = a2;
if (!bl2) break block3;
this.d = 48;
if (!bl3) break block4;
}
c2 = this;
}
c2.d = 28;
}
this.setTitle(string);
this.setResizable(bl);
this.show();
this.toFront();
this.resize(this.a, this.b);
this.f = this.getGraphics();
}
public Graphics getGraphics() {
Graphics graphics = super.getGraphics();
graphics.translate(0, 24);
return graphics;
}
public void resize(int n2, int n3) {
super.resize(n2, n3 + this.d);
}
public boolean handleEvent(Event event) {
int n2;
block23: {
block6: {
int n3;
block21: {
boolean bl;
block22: {
block19: {
block20: {
block17: {
block18: {
block15: {
block16: {
block13: {
block14: {
block11: {
block12: {
block9: {
block10: {
block7: {
block8: {
block4: {
block5: {
bl = q.d;
boolean bl2 = false;
n2 = event.id;
n3 = 401;
if (bl) break block4;
if (n2 != n3) break block5;
this.e.keyDown(event, event.key);
if (!bl) break block6;
}
n2 = event.id;
n3 = 402;
}
if (bl) break block7;
if (n2 != n3) break block8;
this.e.keyUp(event, event.key);
if (!bl) break block6;
}
n2 = event.id;
n3 = 501;
}
if (bl) break block9;
if (n2 != n3) break block10;
this.e.mouseDown(event, event.x, event.y - 24);
if (!bl) break block6;
}
n2 = event.id;
n3 = 506;
}
if (bl) break block11;
if (n2 != n3) break block12;
this.e.mouseDrag(event, event.x, event.y - 24);
if (!bl) break block6;
}
n2 = event.id;
n3 = 502;
}
if (bl) break block13;
if (n2 != n3) break block14;
this.e.mouseUp(event, event.x, event.y - 24);
if (!bl) break block6;
}
n2 = event.id;
n3 = 503;
}
if (bl) break block15;
if (n2 != n3) break block16;
this.e.mouseMove(event, event.x, event.y - 24);
if (!bl) break block6;
}
n2 = event.id;
n3 = 201;
}
if (bl) break block17;
if (n2 != n3) break block18;
this.e.destroy();
if (!bl) break block6;
}
n2 = event.id;
n3 = 1001;
}
if (bl) break block19;
if (n2 != n3) break block20;
this.e.action(event, event.target);
if (!bl) break block6;
}
n2 = event.id;
n3 = 403;
}
if (bl) break block21;
if (n2 != n3) break block22;
this.e.keyDown(event, event.key);
if (!bl) break block6;
}
n2 = event.id;
if (bl) break block23;
n3 = 404;
}
if (n2 == n3) {
this.e.keyUp(event, event.key);
}
}
n2 = 1;
}
return n2 != 0;
}
public final void paint(Graphics graphics) {
this.e.paint(graphics);
}
}
+58
View File
@@ -0,0 +1,58 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* sun.audio.AudioPlayer
*/
import java.io.InputStream;
import sun.audio.AudioPlayer;
public class d
extends InputStream {
byte[] a;
int b;
int c;
public d() {
AudioPlayer.player.start((InputStream)this);
}
public void a() {
AudioPlayer.player.stop((InputStream)this);
}
public void a(byte[] byArray, int n2, int n3) {
this.a = byArray;
this.b = n2;
this.c = n2 + n3;
}
public int read(byte[] byArray, int n2, int n3) {
int n4;
block3: {
boolean bl = q.d;
boolean bl2 = false;
for (int i2 = 0; i2 < n3; ++i2) {
n4 = this.b;
if (!bl) {
if (n4 < this.c) {
byArray[n2 + i2] = this.a[this.b++];
if (!bl) continue;
}
byArray[n2 + i2] = -1;
if (!bl) continue;
}
break block3;
}
n4 = n3;
}
return n4;
}
public int read() {
byte[] byArray = new byte[1];
this.read(byArray, 0, 1);
return byArray[0];
}
}
+73
View File
@@ -0,0 +1,73 @@
/*
* Decompiled with CFR 0.152.
*/
class e {
final int a = 4096;
final int b = 16;
final int c = 258;
final int d = 23;
final int e = 1;
final int f = 6;
final int g = 50;
final int h = 4;
final int i = 18002;
byte[] j;
int k;
int l;
int m;
int n;
byte[] o;
int p;
int q;
int r;
int s;
byte t;
int u;
boolean v;
int w;
int x;
int y;
int z;
int A;
int B;
int C;
int[] D;
int E;
int[] F;
int[] G;
public static int[] H;
int I;
boolean[] J;
boolean[] K;
byte[] L;
byte[] M;
int[] N;
byte[] O;
byte[] P;
byte[][] Q;
int[][] R;
int[][] S;
int[][] T;
int[] U;
int V;
e() {
boolean bl = false;
this.D = new int[256];
this.F = new int[257];
this.G = new int[257];
this.J = new boolean[256];
this.K = new boolean[16];
this.L = new byte[256];
this.M = new byte[4096];
this.N = new int[16];
this.O = new byte[18002];
this.P = new byte[18002];
this.Q = new byte[6][258];
this.R = new int[6][258];
this.S = new int[6][258];
this.T = new int[6][258];
this.U = new int[6];
}
}
+5869
View File
File diff suppressed because it is too large Load Diff
+23
View File
@@ -0,0 +1,23 @@
/*
* Decompiled with CFR 0.152.
*/
public class g {
protected int a;
protected int b;
protected int c;
protected int d;
protected int e;
protected int f;
protected l g;
protected int h;
protected int i;
protected int j;
protected int k;
protected int l;
protected int m;
protected int n;
protected boolean o = false;
protected int p;
protected int q = -1;
}
+6359
View File
File diff suppressed because it is too large Load Diff
+50
View File
@@ -0,0 +1,50 @@
/*
* Decompiled with CFR 0.152.
*/
import java.awt.Component;
public final class i
extends h {
public mudclient Q;
public i(int n2, int n3, int n4, Component component) {
super(n2, n3, n4, component);
boolean bl = false;
}
public final void a(int n2, int n3, int n4, int n5, int n6, int n7, int n8) {
boolean bl = q.d;
int n9 = n6;
int n10 = 50000;
if (!bl) {
if (n9 >= n10) {
this.Q.a(n2, n3, n4, n5, n6 - 50000, n7, n8);
return;
}
n9 = n6;
n10 = 40000;
}
if (!bl) {
if (n9 >= n10) {
this.Q.b(n2, n3, n4, n5, n6 - 40000, n7, n8);
return;
}
n9 = n6;
n10 = 20000;
}
if (!bl) {
if (n9 >= n10) {
this.Q.d(n2, n3, n4, n5, n6 - 20000, n7, n8);
return;
}
n9 = n6;
n10 = 5000;
}
if (n9 >= n10) {
this.Q.c(n2, n3, n4, n5, n6 - 5000, n7, n8);
return;
}
super.f(n2, n3, n4, n5, n6);
}
}
+234
View File
@@ -0,0 +1,234 @@
/*
* Decompiled with CFR 0.152.
*/
public class j {
public static byte[] a = new byte[100];
public static char[] b = new char[100];
private static char[] c = new char[]{' ', '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', ' ', '!', '?', '.', ',', ':', ';', '(', ')', '-', '&', '*', '\\', '\'', '@', '#', '+', '=', '\u00a3', '$', '%', '\"', '[', ']'};
/*
* Unable to fully structure code
*/
public static String a(byte[] var0, int var1_1, int var2_2) {
var9_3 = q.d;
var3_4 = false;
try {
var4_5 = 0;
var5_7 = -1;
for (var6_8 = 0; var6_8 < var2_2; ++var6_8) {
block24: {
block20: {
block21: {
block22: {
block23: {
var7_9 = var0[var1_1++] & 255;
var8_10 = var7_9 >> 4 & 15;
v0 = var5_7;
if (var9_3) break block20;
v1 = -1;
if (var9_3) ** GOTO lbl49
if (v0 != v1) break block21;
v2 = var8_10;
if (var9_3) break block22;
if (v2 >= 13) break block23;
j.b[var4_5++] = j.c[var8_10];
if (!var9_3) break block24;
}
v2 = var5_7 = var8_10;
}
if (!var9_3) break block24;
}
j.b[var4_5++] = j.c[(var5_7 << 4) + var8_10 - 195];
v0 = -1;
}
var5_7 = v0;
}
var8_10 = var7_9 & 15;
v3 = var5_7;
if (!var9_3) {
if (v3 == -1) {
v4 = var8_10;
if (!var9_3) {
if (v4 < 13) {
j.b[var4_5++] = j.c[var8_10];
if (!var9_3) continue;
}
v4 = var5_7 = var8_10;
}
if (!var9_3) continue;
}
j.b[var4_5++] = j.c[(var5_7 << 4) + var8_10 - 195];
v3 = -1;
}
var5_7 = v3;
if (!var9_3) continue;
}
var6_8 = 1;
var7_9 = 0;
do {
block33: {
block31: {
block32: {
block30: {
block28: {
block29: {
block27: {
block25: {
block26: {
v5 = var7_9;
v1 = var4_5;
lbl49:
// 2 sources
if (v5 >= v1) break;
var8_10 = j.b[var7_9];
v6 = var7_9;
v7 = 4;
if (var9_3) break block25;
if (v6 <= v7) break block26;
v6 = var8_10;
v7 = 64;
if (var9_3) break block25;
if (v6 == v7) {
j.b[var7_9] = 32;
}
}
v6 = var8_10;
if (var9_3) break block27;
v7 = 37;
}
if (v6 == v7) {
j.b[var7_9] = 32;
}
v6 = var6_8;
}
if (var9_3) break block28;
if (v6 == 0) break block29;
v6 = var8_10;
v8 = 97;
if (var9_3) break block30;
if (v6 < v8) break block29;
v6 = var8_10;
v8 = 122;
if (var9_3) break block30;
if (v6 <= v8) {
v9 = var7_9;
j.b[v9] = (char)(j.b[v9] + 65504);
var6_8 = 0;
}
}
v6 = var8_10;
}
if (var9_3) break block31;
v8 = 46;
}
if (v6 == v8) break block32;
v6 = var8_10;
if (var9_3) break block31;
if (v6 != 33) break block33;
}
v6 = 1;
}
var6_8 = v6;
}
++var7_9;
} while (!var9_3);
return new String(j.b, 0, var4_5);
}
catch (Exception var4_6) {
return ".";
}
}
public static int a(String string) {
int n2;
int n3;
int n4;
boolean bl;
block16: {
bl = q.d;
boolean bl2 = false;
int n5 = string.length();
if (!bl) {
if (n5 > 80) {
string = string.substring(0, 80);
}
string = string.toLowerCase();
n5 = 0;
}
n4 = n5;
n3 = -1;
for (int i2 = 0; i2 < string.length(); ++i2) {
int n6;
int n7;
int n8;
block18: {
block19: {
block21: {
block20: {
block17: {
int n9 = string.charAt(i2);
n8 = 0;
n2 = 0;
if (bl) break block16;
for (int i3 = v172397; i3 < c.length; ++i3) {
int n10 = n9;
if (!bl) {
n7 = c[i3];
if (bl) break block17;
if (n10 != n7 && !bl) continue;
n10 = n8 = i3;
}
if (!bl) break;
if (!bl) continue;
}
n6 = n8;
n7 = 12;
}
if (!bl) {
if (n6 > n7) {
n8 += 195;
}
n6 = n3;
n7 = -1;
}
if (bl) break block18;
if (n6 != n7) break block19;
int n11 = n8;
if (bl) break block20;
if (n11 >= 13) break block21;
n11 = n3 = n8;
}
if (!bl) continue;
}
j.a[n4++] = (byte)n8;
if (!bl) continue;
}
n6 = n8;
n7 = 13;
}
if (!bl) {
if (n6 < n7) {
j.a[n4++] = (byte)((n3 << 4) + n8);
n3 = -1;
if (!bl) continue;
}
j.a[n4++] = (byte)((n3 << 4) + (n8 >> 4));
n6 = n8;
n7 = 15;
}
n3 = n6 & n7;
if (!bl) continue;
}
n2 = n3;
}
if (!bl) {
if (n2 != -1) {
j.a[n4++] = (byte)(n3 << 4);
}
n2 = n4;
}
return n2;
}
}
+16
View File
@@ -0,0 +1,16 @@
/*
* Decompiled with CFR 0.152.
*/
public class k {
public static int a = 196;
public static int b = 196;
public static int c = 85;
public static int d = 63;
public static int e = 58;
public static int f = 36;
public static int g = 17;
public static int h = 24;
public static int i = 1;
public static int j = 2;
}
+2042
View File
File diff suppressed because it is too large Load Diff
+206
View File
@@ -0,0 +1,206 @@
/*
* Decompiled with CFR 0.152.
*/
public final class m {
private int a;
private int[] b;
private int[] c;
private int d;
private int e;
private int f;
public m(int[] nArray) {
block2: {
boolean bl = q.d;
this.c = new int[256];
this.b = new int[256];
for (int i2 = 0; i2 < nArray.length; ++i2) {
this.b[i2] = nArray[i2];
if (!bl) {
if (!bl) continue;
}
break block2;
}
this.c();
}
}
public final int a() {
int n2 = this.a;
int n3 = n2;
this.a = n2 - 1;
if (!q.d) {
if (n3 == 0) {
this.b();
this.a = 255;
}
n3 = this.b[this.a];
}
return n3;
}
private final void b() {
boolean bl = q.d;
boolean bl2 = false;
this.e += ++this.f;
for (int i2 = 0; i2 < 256; ++i2) {
int n2;
int n3 = this.c[i2];
if (!bl) {
switch (i2 & 3) {
case 0: {
this.d ^= this.d << 13;
if (!bl) break;
}
case 1: {
this.d ^= this.d >>> 6;
if (!bl) break;
}
case 2: {
this.d ^= this.d << 2;
if (!bl) break;
}
case 3: {
this.d ^= this.d >>> 16;
}
}
this.d += this.c[i2 + 128 & 0xFF];
}
this.c[i2] = n2 = this.c[(n3 & 0x3FC) >> 2] + this.d + this.e;
this.b[i2] = this.e = this.c[(n2 >> 8 & 0x3FC) >> 2] + n3;
if (!bl) continue;
}
}
private final void c() {
block8: {
int n2;
int n3;
int n4;
int n5;
int n6;
int n7;
int n8;
int n9;
int n10;
boolean bl;
block7: {
block6: {
bl = q.d;
boolean bl2 = false;
n10 = -1640531527;
n9 = -1640531527;
n8 = -1640531527;
n7 = -1640531527;
n6 = -1640531527;
n5 = -1640531527;
n4 = -1640531527;
n3 = -1640531527;
for (n2 = 0; n2 < 4; ++n2) {
n6 += (n3 ^= n4 << 11);
n4 += n5;
n7 += (n4 ^= n5 >>> 2);
n5 += n6;
n8 += (n5 ^= n6 << 8);
n6 += n7;
n9 += (n6 ^= n7 >>> 16);
n7 += n8;
n10 += (n7 ^= n8 << 10);
n8 += n9;
n3 += (n8 ^= n9 >>> 4);
n9 += n10;
n4 += (n9 ^= n10 << 8);
n10 += n3;
n5 += (n10 ^= n3 >>> 9);
n3 += n4;
if (!bl) {
if (!bl) continue;
}
break block6;
}
n2 = 0;
}
while (n2 < 256) {
n3 += this.b[n2];
n4 += this.b[n2 + 1];
n5 += this.b[n2 + 2];
n6 += this.b[n2 + 3];
n7 += this.b[n2 + 4];
n8 += this.b[n2 + 5];
n9 += this.b[n2 + 6];
n10 += this.b[n2 + 7];
n6 += (n3 ^= n4 << 11);
n4 += n5;
n7 += (n4 ^= n5 >>> 2);
n5 += n6;
n8 += (n5 ^= n6 << 8);
n6 += n7;
n9 += (n6 ^= n7 >>> 16);
n7 += n8;
n10 += (n7 ^= n8 << 10);
n8 += n9;
n3 += (n8 ^= n9 >>> 4);
n9 += n10;
n4 += (n9 ^= n10 << 8);
n10 += n3;
n5 += (n10 ^= n3 >>> 9);
this.c[n2] = n3 += n4;
this.c[n2 + 1] = n4;
this.c[n2 + 2] = n5;
this.c[n2 + 3] = n6;
this.c[n2 + 4] = n7;
this.c[n2 + 5] = n8;
this.c[n2 + 6] = n9;
this.c[n2 + 7] = n10;
n2 += 8;
if (!bl) {
if (!bl) continue;
}
break block7;
}
n2 = 0;
}
while (n2 < 256) {
n3 += this.c[n2];
n4 += this.c[n2 + 1];
n5 += this.c[n2 + 2];
n6 += this.c[n2 + 3];
n7 += this.c[n2 + 4];
n8 += this.c[n2 + 5];
n9 += this.c[n2 + 6];
n10 += this.c[n2 + 7];
n6 += (n3 ^= n4 << 11);
n4 += n5;
n7 += (n4 ^= n5 >>> 2);
n5 += n6;
n8 += (n5 ^= n6 << 8);
n6 += n7;
n9 += (n6 ^= n7 >>> 16);
n7 += n8;
n10 += (n7 ^= n8 << 10);
n8 += n9;
n3 += (n8 ^= n9 >>> 4);
n9 += n10;
n4 += (n9 ^= n10 << 8);
n10 += n3;
n5 += (n10 ^= n3 >>> 9);
this.c[n2] = n3 += n4;
this.c[n2 + 1] = n4;
this.c[n2 + 2] = n5;
this.c[n2 + 3] = n6;
this.c[n2 + 4] = n7;
this.c[n2 + 5] = n8;
this.c[n2 + 6] = n9;
this.c[n2 + 7] = n10;
n2 += 8;
if (!bl) {
if (!bl) continue;
}
break block8;
}
this.b();
this.a = 256;
}
}
}
+54911
View File
File diff suppressed because it is too large Load Diff
+79
View File
@@ -0,0 +1,79 @@
/*
* Decompiled with CFR 0.152.
*/
import java.math.BigInteger;
import java.util.zip.CRC32;
public class n {
public byte[] a;
public int b;
static CRC32 c = new CRC32();
private static final int[] d = new int[]{0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, Short.MAX_VALUE, 65535, 131071, 262143, 524287, 1048575, 0x1FFFFF, 0x3FFFFF, 0x7FFFFF, 0xFFFFFF, 0x1FFFFFF, 0x3FFFFFF, 0x7FFFFFF, 0xFFFFFFF, 0x1FFFFFFF, 0x3FFFFFFF, Integer.MAX_VALUE, -1};
private n() {
}
public n(byte[] byArray) {
this.a = byArray;
this.b = 0;
}
public void a(int n2) {
this.a[this.b++] = (byte)n2;
}
public void b(int n2) {
this.a[this.b++] = (byte)(n2 >> 24);
this.a[this.b++] = (byte)(n2 >> 16);
this.a[this.b++] = (byte)(n2 >> 8);
this.a[this.b++] = (byte)n2;
}
public void a(String string) {
string.getBytes(0, string.length(), this.a, this.b);
this.b += string.length();
this.a[this.b++] = 10;
}
public void a(byte[] byArray, int n2, int n3) {
for (int i2 = n2; i2 < n2 + n3; ++i2) {
this.a[this.b++] = byArray[i2];
if (!q.d) continue;
}
}
public int a() {
return this.a[this.b++] & 0xFF;
}
public int b() {
this.b += 2;
return ((this.a[this.b - 2] & 0xFF) << 8) + (this.a[this.b - 1] & 0xFF);
}
public int c() {
this.b += 4;
return ((this.a[this.b - 4] & 0xFF) << 24) + ((this.a[this.b - 3] & 0xFF) << 16) + ((this.a[this.b - 2] & 0xFF) << 8) + (this.a[this.b - 1] & 0xFF);
}
public void b(byte[] byArray, int n2, int n3) {
for (int i2 = n2; i2 < n2 + n3; ++i2) {
byArray[i2] = this.a[this.b++];
if (!q.d) continue;
}
}
public void a(BigInteger bigInteger, BigInteger bigInteger2) {
int n2 = this.b;
this.b = 0;
byte[] byArray = new byte[n2];
this.b(byArray, 0, n2);
BigInteger bigInteger3 = new BigInteger(byArray);
BigInteger bigInteger4 = bigInteger3.modPow(bigInteger, bigInteger2);
byte[] byArray2 = bigInteger4.toByteArray();
this.b = 0;
this.a(byArray2.length);
this.a(byArray2, 0, byArray2.length);
}
}
+2362
View File
File diff suppressed because it is too large Load Diff
+10
View File
@@ -0,0 +1,10 @@
/*
* Decompiled with CFR 0.152.
*/
public class p {
int a;
int b;
int c;
int d;
}
+624
View File
@@ -0,0 +1,624 @@
/*
* Decompiled with CFR 0.152.
*/
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.EOFException;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
public class q {
public static URL a;
private static int[] b;
public static boolean c;
public static boolean d;
private static String A;
public static InputStream a(String string) throws IOException {
InputStream inputStream;
block4: {
URL uRL;
block2: {
block3: {
boolean bl = d;
uRL = a;
if (bl) break block2;
if (uRL != null) break block3;
inputStream = new BufferedInputStream(new FileInputStream(string));
if (!bl) break block4;
}
uRL = new URL(a, string);
}
URL uRL2 = uRL;
inputStream = uRL2.openStream();
}
return inputStream;
}
public static void a(String string, byte[] byArray, int n2) throws IOException {
InputStream inputStream = q.a(string);
DataInputStream dataInputStream = new DataInputStream(inputStream);
try {
dataInputStream.readFully(byArray, 0, n2);
}
catch (EOFException eOFException) {
// empty catch block
}
dataInputStream.close();
}
public static int a(byte by) {
return by & 0xFF;
}
public static int a(byte[] byArray, int n2) {
return ((byArray[n2] & 0xFF) << 8) + (byArray[n2 + 1] & 0xFF);
}
public static int b(byte[] byArray, int n2) {
return ((byArray[n2] & 0xFF) << 24) + ((byArray[n2 + 1] & 0xFF) << 16) + ((byArray[n2 + 2] & 0xFF) << 8) + (byArray[n2 + 3] & 0xFF);
}
public static long c(byte[] byArray, int n2) {
return (((long)q.b(byArray, n2) & 0xFFFFFFFFL) << 32) + ((long)q.b(byArray, n2 + 4) & 0xFFFFFFFFL);
}
public static int d(byte[] byArray, int n2) {
int n3;
int n4 = n3 = q.a(byArray[n2]) * 256 + q.a(byArray[n2 + 1]);
if (!d) {
if (n4 > Short.MAX_VALUE) {
n3 -= 65536;
}
n4 = n3;
}
return n4;
}
public static int e(byte[] byArray, int n2) {
int n3 = byArray[n2] & 0xFF;
int n4 = 128;
if (!d) {
if (n3 < n4) {
return byArray[n2];
}
n3 = ((byArray[n2] & 0xFF) - 128 << 24) + ((byArray[n2 + 1] & 0xFF) << 16) + ((byArray[n2 + 2] & 0xFF) << 8);
n4 = byArray[n2 + 3] & 0xFF;
}
return n3 + n4;
}
public static int a(byte[] byArray, int n2, int n3) {
int n4;
block8: {
int n5;
int n6;
block7: {
int n7;
int n8;
block6: {
boolean bl = d;
boolean bl2 = false;
n8 = n2 >> 3;
n7 = 8 - (n2 & 7);
n4 = 0;
while (n3 > n7) {
n4 += (byArray[n8++] & b[n7]) << n3 - n7;
n3 -= n7;
n7 = 8;
if (!bl) {
if (!bl) continue;
}
break block6;
}
n6 = n3;
n5 = n7;
if (bl) break block7;
if (n6 != n5) break block6;
n4 += byArray[n8] & b[n7];
if (!bl) break block8;
}
n6 = n4;
n5 = byArray[n8] >> n7 - n3 & b[n3];
}
n4 = n6 + n5;
}
return n4;
}
/*
* Enabled aggressive block sorting
* Lifted jumps to return sites
*/
public static String a(String string, int n2) {
boolean bl = d;
boolean bl2 = false;
String string2 = "";
char c2 = '\u0000';
do {
block5: {
block11: {
char c3;
char c4;
char c5;
block10: {
block8: {
block9: {
block6: {
block7: {
char c6;
block3: {
block4: {
if (c2 >= n2) return string2;
c6 = c2;
if (bl) break block3;
if (c6 < string.length()) break block4;
string2 = string2 + " ";
if (!bl) break block5;
}
c6 = string.charAt(c2);
}
c4 = c5 = c6;
c3 = 'a';
if (bl) break block6;
if (c4 < c3) break block7;
c4 = c5;
c3 = 'z';
if (bl) break block6;
if (c4 > c3) break block7;
string2 = string2 + c5;
if (!bl) break block5;
}
c4 = c5;
c3 = 'A';
}
if (bl) break block8;
if (c4 < c3) break block9;
c4 = c5;
c3 = 'Z';
if (bl) break block8;
if (c4 > c3) break block9;
string2 = string2 + c5;
if (!bl) break block5;
}
c4 = c5;
c3 = '0';
}
if (bl) break block10;
if (c4 < c3) break block11;
c4 = c5;
c3 = '9';
}
if (c4 > c3) break block11;
string2 = string2 + c5;
if (!bl) break block5;
}
string2 = string2 + '_';
}
++c2;
} while (!bl);
return string2;
}
public static String a(int n2) {
return (n2 >> 24 & 0xFF) + "." + (n2 >> 16 & 0xFF) + "." + (n2 >> 8 & 0xFF) + "." + (n2 & 0xFF);
}
/*
* Unable to fully structure code
* Could not resolve type clashes
*/
public static long b(String var0) {
block31: {
block35: {
block34: {
block30: {
var7_1 = q.d;
var1_2 = false;
var2_3 = "";
for (var3_4 = 0; var3_4 < var0.length(); ++var3_4) {
block33: {
block32: {
var4_6 = var0.charAt(var3_4);
v0 = var4_6;
v1 = 97;
if (var7_1) break block30;
if (!var7_1) {
if (v0 >= v1) {
v2 = var4_6;
v3 = 'z';
if (!var7_1) {
if (v2 <= v3) {
var2_3 = var2_3 + var4_6;
if (!var7_1) continue;
} else {
** GOTO lbl-1000
}
}
} else lbl-1000:
// 4 sources
{
v2 = var4_6;
v3 = 'A';
}
}
if (!var7_1) {
if (v2 >= v3) {
v2 = var4_6;
v3 = 'Z';
if (!var7_1) {
if (v2 <= v3) {
var2_3 = var2_3 + (char)(var4_6 + 97 - 65);
if (!var7_1) continue;
} else {
** GOTO lbl-1000
}
}
} else lbl-1000:
// 4 sources
{
v2 = var4_6;
v3 = '0';
}
}
if (var7_1) break block32;
if (v2 < v3) break block33;
v2 = var4_6;
v3 = '9';
}
if (v2 <= v3) {
var2_3 = var2_3 + var4_6;
if (!var7_1) continue;
}
}
var2_3 = var2_3 + ' ';
if (!var7_1) continue;
}
v4 = var2_3 = var2_3.trim();
if (var7_1) break block34;
v0 = v4.length();
v1 = 12;
}
if (v0 <= v1) break block35;
v4 = var2_3.substring(0, 12);
}
var2_3 = v4;
}
var3_5 = 0L;
for (var5_7 = 0; var5_7 < var2_3.length(); ++var5_7) {
var6_8 = var2_3.charAt(var5_7);
v5 = var3_5 * 37L;
if (!var7_1) {
var3_5 = v5;
v6 = var6_8;
v7 = 97;
if (!var7_1) {
if (v6 >= v7) {
v6 = var6_8;
v7 = 122;
if (!var7_1) {
if (v6 <= v7) {
var3_5 += (long)(1 + var6_8 - 97);
if (!var7_1) continue;
} else {
** GOTO lbl-1000
}
}
} else lbl-1000:
// 4 sources
{
v6 = var6_8;
v7 = 48;
}
}
if (!var7_1) {
if (v6 < v7) continue;
v6 = var6_8;
v7 = 57;
}
if (v6 > v7) continue;
var3_5 += (long)(27 + var6_8 - 48);
if (!var7_1) continue;
}
break block31;
}
v5 = var3_5;
}
return v5;
}
public static String a(long l2) {
boolean bl = d;
boolean bl2 = false;
if (l2 < 0L) {
return A;
}
String string = "";
while (l2 != 0L) {
int n2;
block9: {
int n3;
block8: {
n2 = (int)(l2 % 37L);
l2 /= 37L;
n3 = n2;
if (!bl) {
if (n3 == 0) {
string = " " + string;
if (!bl) continue;
}
n3 = n2;
}
if (bl) break block8;
if (n3 >= 27) break block9;
long l3 = l2 % 37L - 0L;
n3 = l3 == 0L ? (char)'\u0000' : (l3 < 0L ? (char)'\uffffffff' : '\u0001');
}
if (n3 == 0) {
string = (char)(n2 + 65 - 1) + string;
if (!bl) continue;
}
string = (char)(n2 + 97 - 1) + string;
if (!bl) continue;
}
string = (char)(n2 + 48 - 27) + string;
if (!bl) continue;
}
return string;
}
public static int a(String string, byte[] byArray) {
int n2;
block7: {
int n3;
int n4;
int n5;
boolean bl;
block6: {
bl = d;
boolean bl2 = false;
n5 = q.a(byArray, 0);
n4 = 0;
string = string.toUpperCase();
for (n3 = 0; n3 < string.length(); ++n3) {
n4 = n4 * 61 + string.charAt(n3) - 32;
if (!bl) {
if (!bl) continue;
}
break block6;
}
n3 = 2 + n5 * 10;
}
for (int i2 = 0; i2 < n5; ++i2) {
int n6 = (byArray[i2 * 10 + 2] & 0xFF) * 0x1000000 + (byArray[i2 * 10 + 3] & 0xFF) * 65536 + (byArray[i2 * 10 + 4] & 0xFF) * 256 + (byArray[i2 * 10 + 5] & 0xFF);
int n7 = (byArray[i2 * 10 + 9] & 0xFF) * 65536 + (byArray[i2 * 10 + 10] & 0xFF) * 256 + (byArray[i2 * 10 + 11] & 0xFF);
n2 = n6;
if (!bl) {
int n8;
int n9 = n4;
if (!bl) {
if (n2 == n9) {
return n3;
}
n8 = n3;
n9 = n7;
}
n3 = n8 + n9;
if (!bl) continue;
}
break block7;
}
n2 = 0;
}
return n2;
}
public static int b(String string, byte[] byArray) {
int n2;
block7: {
int n3;
int n4;
int n5;
boolean bl;
block6: {
bl = d;
boolean bl2 = false;
n5 = q.a(byArray, 0);
n4 = 0;
string = string.toUpperCase();
for (n3 = 0; n3 < string.length(); ++n3) {
n4 = n4 * 61 + string.charAt(n3) - 32;
if (!bl) {
if (!bl) continue;
}
break block6;
}
n3 = 2 + n5 * 10;
}
for (int i2 = 0; i2 < n5; ++i2) {
int n6 = (byArray[i2 * 10 + 2] & 0xFF) * 0x1000000 + (byArray[i2 * 10 + 3] & 0xFF) * 65536 + (byArray[i2 * 10 + 4] & 0xFF) * 256 + (byArray[i2 * 10 + 5] & 0xFF);
int n7 = (byArray[i2 * 10 + 6] & 0xFF) * 65536 + (byArray[i2 * 10 + 7] & 0xFF) * 256 + (byArray[i2 * 10 + 8] & 0xFF);
int n8 = (byArray[i2 * 10 + 9] & 0xFF) * 65536 + (byArray[i2 * 10 + 10] & 0xFF) * 256 + (byArray[i2 * 10 + 11] & 0xFF);
n2 = n6;
if (!bl) {
int n9;
int n10 = n4;
if (!bl) {
if (n2 == n10) {
return n7;
}
n9 = n3;
n10 = n8;
}
n3 = n9 + n10;
if (!bl) continue;
}
break block7;
}
n2 = 0;
}
return n2;
}
public static byte[] a(String string, int n2, byte[] byArray) {
return q.a(string, n2, byArray, null);
}
/*
* Enabled force condition propagation
* Lifted jumps to return sites
*/
public static byte[] a(String string, int n2, byte[] byArray, byte[] byArray2) {
int n3;
int n4;
int n5;
boolean bl;
block12: {
bl = d;
boolean bl2 = false;
n5 = (byArray[0] & 0xFF) * 256 + (byArray[1] & 0xFF);
n4 = 0;
string = string.toUpperCase();
for (n3 = 0; n3 < string.length(); ++n3) {
n4 = n4 * 61 + string.charAt(n3) - 32;
if (!bl) {
if (!bl) continue;
}
break block12;
}
n3 = 2 + n5 * 10;
}
for (int i2 = 0; i2 < n5; ++i2) {
int n6;
int n7;
block13: {
int n8;
block14: {
byte[] byArray3;
block19: {
int n9;
int n10;
block17: {
int n11;
block18: {
block16: {
byte[] byArray4;
block15: {
int n12 = (byArray[i2 * 10 + 2] & 0xFF) * 0x1000000 + (byArray[i2 * 10 + 3] & 0xFF) * 65536 + (byArray[i2 * 10 + 4] & 0xFF) * 256 + (byArray[i2 * 10 + 5] & 0xFF);
n10 = (byArray[i2 * 10 + 6] & 0xFF) * 65536 + (byArray[i2 * 10 + 7] & 0xFF) * 256 + (byArray[i2 * 10 + 8] & 0xFF);
n8 = (byArray[i2 * 10 + 9] & 0xFF) * 65536 + (byArray[i2 * 10 + 10] & 0xFF) * 256 + (byArray[i2 * 10 + 11] & 0xFF);
n7 = n12;
n6 = n4;
if (bl) break block13;
if (n7 != n6) break block14;
byArray4 = byArray2;
if (bl) break block15;
if (byArray4 != null) break block16;
byArray4 = new byte[n10 + n2];
}
byArray2 = byArray4;
}
n11 = n10;
if (bl) break block17;
if (n11 == n8) break block18;
u.a(byArray2, n10, byArray, n8, n3);
if (!bl) break block19;
}
n11 = n9 = 0;
}
while (n9 < n10) {
byArray3 = byArray2;
if (bl) return byArray3;
byArray3[n9] = byArray[n3 + n9];
++n9;
if (!bl) continue;
}
}
byArray3 = byArray2;
return byArray3;
}
n7 = n3;
n6 = n8;
}
n3 = n7 + n6;
if (!bl) continue;
}
return null;
}
/*
* Handled impossible loop by duplicating code
* Enabled aggressive block sorting
*/
static {
char[] cArray;
block10: {
int n2;
int n3;
char[] cArray2;
int n4;
block9: {
Object var0 = null;
char[] cArray3 = "md!T8mn\b[5io".toCharArray();
n4 = 0;
int n5 = cArray3.length;
cArray2 = cArray3;
n3 = n5;
if (n5 <= 1) break block9;
cArray = cArray2;
n2 = n3;
if (n3 <= n4) break block10;
}
do {
char[] cArray4 = cArray2;
char[] cArray5 = cArray2;
int n6 = n4;
while (true) {
int n7;
char c2 = cArray4[n6];
switch (n4 % 5) {
case 0: {
n7 = 4;
break;
}
case 1: {
n7 = 10;
break;
}
case 2: {
n7 = 87;
break;
}
case 3: {
n7 = 53;
break;
}
default: {
n7 = 84;
}
}
cArray4[n6] = (char)(c2 ^ n7);
++n4;
cArray2 = cArray5;
n3 = n3;
if (n3 != 0) break;
cArray5 = cArray2;
n2 = n3;
n6 = n3;
cArray4 = cArray2;
}
cArray = cArray2;
n2 = n3;
} while (n3 > n4);
}
A = new String(cArray).intern();
a = null;
b = new int[]{0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, Short.MAX_VALUE, 65535, 131071, 262143, 524287, 1048575, 0x1FFFFF, 0x3FFFFF, 0x7FFFFF, 0xFFFFFF, 0x1FFFFFF, 0x3FFFFFF, 0x7FFFFFF, 0xFFFFFFF, 0x1FFFFFFF, 0x3FFFFFFF, Integer.MAX_VALUE, -1};
}
}
+113
View File
@@ -0,0 +1,113 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* ahd
* java.applet.Applet
*/
import java.applet.Applet;
import java.net.Socket;
public class r {
public static Applet a;
public static int b;
static int c;
static Socket d;
static Runnable e;
static String f;
static String g;
static int h;
private static String[] i;
private static byte[][] j;
public static final void a(String string, byte[] byArray) {
r.i[r.h] = string;
r.j[r.h] = byArray;
++h;
}
public static final byte[] a(String string) {
boolean bl = false;
return null;
}
/*
* Handled impossible loop by adding 'first' condition
* Enabled aggressive block sorting
* Enabled unnecessary exception pruning
* Enabled aggressive exception aggregation
*/
public static final Socket a(int n2) {
c = n2;
boolean bl = true;
do {
if (bl && !(bl = false) && !q.d) continue;
try {
Thread.sleep(100L);
}
catch (Exception exception) {}
} while (c != 0);
return d;
}
/*
* Handled impossible loop by adding 'first' condition
* Enabled aggressive block sorting
* Enabled unnecessary exception pruning
* Enabled aggressive exception aggregation
*/
public static final void a(Runnable runnable) {
Runnable runnable2 = runnable;
boolean bl = true;
do {
block5: {
block4: {
if (!bl || (bl = false)) break block4;
if (q.d) continue;
e = runnable2;
if (ahd.anl == 0) break block5;
}
try {
Thread.sleep(100L);
}
catch (Exception exception) {}
}
runnable2 = e;
} while (runnable2 != null);
}
/*
* Handled impossible loop by adding 'first' condition
* Enabled aggressive block sorting
* Enabled unnecessary exception pruning
* Enabled aggressive exception aggregation
*/
public static final String b(String string) {
String string2 = string;
boolean bl = true;
do {
block5: {
block4: {
if (!bl || (bl = false)) break block4;
if (q.d) continue;
f = string2;
if (ahd.anl == 0) break block5;
}
try {
Thread.sleep(100L);
}
catch (Exception exception) {}
}
string2 = f;
} while (string2 != null);
return g;
}
static {
e = null;
f = null;
i = new String[50];
j = new byte[50][];
}
}
+1844
View File
File diff suppressed because it is too large Load Diff
+5028
View File
File diff suppressed because it is too large Load Diff
+1053
View File
File diff suppressed because it is too large Load Diff
+44
View File
@@ -0,0 +1,44 @@
/*
* Decompiled with CFR 0.152.
*/
final class v {
public long a;
public String b;
public int c;
public int d;
public int e;
public int f;
public int g;
public int h;
public int i;
public int j;
public int k;
public int l;
public int[] m = new int[10];
public int[] n = new int[10];
public int[] o = new int[12];
public String p;
public int q;
public int r;
public int s;
public int t;
public int u;
public int v;
public int w;
public int x = -1;
public int y;
public int z;
public int A;
public int B;
public int C;
public int D;
public int E;
public int F;
public boolean G = false;
public int H = -1;
public int I;
v() {
}
}
+433
View File
@@ -0,0 +1,433 @@
/*
* Decompiled with CFR 0.152.
*/
import java.io.IOException;
public class w {
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;
public void a(int[] nArray) {
this.u = new m(nArray);
this.v = new m(nArray);
}
public void a() {
}
public int b() throws IOException {
return this.h();
}
public long c() throws IOException {
long l2 = this.g();
long l3 = this.g();
long l4 = this.g();
long l5 = this.g();
return (l2 << 48) + (l3 << 32) + (l4 << 16) + l5;
}
public void a(int n2, int n3, byte[] byArray) throws IOException {
}
public int d() throws IOException {
return 0;
}
/*
* Unable to fully structure code
*/
public int a(byte[] var1_1) {
block21: {
var3_2 = q.d;
try {
block27: {
block26: {
block24: {
block25: {
block22: {
block23: {
++this.b;
v0 = this.c;
if (!var3_2) {
if (v0 > 0) {
v0 = this.b;
if (!var3_2) {
if (v0 > this.c) {
this.y = true;
this.C = w.E;
this.c += this.c;
return 0;
} else {
** GOTO lbl-1000
}
}
} else lbl-1000:
// 3 sources
{
v0 = this.a;
}
}
if (var3_2) break block22;
if (v0 != 0) break block23;
v0 = this.d();
if (var3_2) break block22;
if (v0 < 2) break block23;
v0 = this.a = this.h();
if (var3_2) break block22;
if (v0 >= 160) {
this.a = (this.a - 160) * 256 + this.h();
}
}
v0 = this.a;
}
if (!var3_2) {
if (v0 <= 0) break block21;
v0 = this.d();
}
v1 = this.a;
if (!var3_2) {
if (v0 < v1) break block21;
v0 = this.a;
v1 = 160;
}
if (var3_2) break block24;
if (v0 < v1) break block25;
this.a(this.a, var1_1);
if (!var3_2) break block26;
}
var1_1[this.a - 1] = (byte)this.h();
v0 = this.a;
if (var3_2) break block27;
v1 = 1;
}
if (v0 > v1) {
this.a(this.a - 1, var1_1);
}
}
v0 = this.a;
}
var2_3 = v0;
this.a = 0;
this.b = 0;
return var2_3;
}
catch (IOException var2_4) {
this.y = true;
this.C = var2_4.getMessage();
}
}
return 0;
}
public void a(int n2) {
this.g[this.e++] = (byte)(n2 >> 8);
this.g[this.e++] = (byte)n2;
}
public void b(int n2) {
this.g[this.e++] = (byte)n2;
}
public void c(int n2) {
this.g[this.e++] = (byte)(n2 >> 24);
this.g[this.e++] = (byte)(n2 >> 16);
this.g[this.e++] = (byte)(n2 >> 8);
this.g[this.e++] = (byte)n2;
}
public void a(byte[] byArray, int n2, int n3) {
for (int i2 = 0; i2 < n3; ++i2) {
this.g[this.e++] = byArray[n2 + i2];
if (!q.d) continue;
}
}
public int d(int n2) {
return n2 - this.u.a() & 0xFF;
}
public boolean e() {
boolean bl = this.d;
if (!q.d) {
bl = bl > false;
}
return bl;
}
public void f() {
boolean bl;
block11: {
block9: {
int n2;
block10: {
bl = q.d;
w w2 = this;
if (!bl) {
if (w2.v != null) {
n2 = this.g[this.d + 2] & 0xFF;
this.g[this.d + 2] = (byte)(n2 + this.v.a());
}
w2 = this;
}
int n3 = w2.f;
int n4 = 8;
if (!bl) {
if (n3 != n4) {
++this.e;
}
n3 = this.e - this.d;
n4 = 2;
}
n2 = n3 - n4;
if (bl) break block9;
if (n2 < 160) break block10;
this.g[this.d] = (byte)(160 + n2 / 256);
this.g[this.d + 1] = (byte)(n2 & 0xFF);
if (!bl) break block11;
}
this.g[this.d] = (byte)n2;
--this.e;
}
this.g[this.d + 1] = this.g[this.e];
}
w w3 = this;
if (!bl) {
if (w3.A <= 10000) {
int n5;
int n6 = n5 = this.g[this.d + 2] & 0xFF;
x[n6] = x[n6] + 1;
int n7 = n5;
z[n7] = z[n7] + (this.e - this.d);
}
w3 = this;
}
w3.d = this.e;
}
public void a(long l2) {
this.c((int)(l2 >> 32));
this.c((int)(l2 & 0xFFFFFFFFFFFFFFFFL));
}
public int g() throws IOException {
int n2 = this.b();
int n3 = this.b();
return n2 * 256 + n3;
}
public void a(int n2, byte[] byArray) throws IOException {
this.a(n2, 0, byArray);
}
public void e(int n2) {
boolean bl = q.d;
w w2 = this;
if (!bl) {
if (w2.d > this.A * 4 / 5) {
try {
this.f(0);
}
catch (IOException iOException) {
this.y = true;
this.C = iOException.getMessage();
}
}
w2 = this;
}
byte[] byArray = w2.g;
if (!bl) {
if (byArray == null) {
this.g = new byte[this.A];
}
this.g[this.d + 2] = (byte)n2;
byArray = this.g;
}
byArray[this.d + 3] = 0;
this.e = this.d + 3;
this.f = 8;
}
public void a(String string) {
string.getBytes(0, string.length(), this.g, this.e);
this.e += string.length();
}
public void f(int n2) throws IOException {
block8: {
w w2;
int n3;
block7: {
boolean bl = q.d;
n3 = this.y;
if (!bl) {
if (n3 != 0) {
this.d = 0;
this.e = 3;
this.y = false;
throw new IOException(this.C);
}
n3 = ++this.B;
}
if (bl) break block7;
if (n3 < n2) {
return;
}
w2 = this;
if (bl) break block8;
n3 = w2.d;
}
if (n3 > 0) {
this.B = 0;
this.b(this.g, 0, this.d);
}
this.d = 0;
w2 = this;
}
w2.e = 3;
}
public void b(byte[] byArray, int n2, int n3) throws IOException {
}
public int h() throws IOException {
return 0;
}
public void i() throws IOException {
this.f();
this.f(0);
}
public w() {
boolean bl = false;
this.e = 3;
this.f = 8;
this.y = false;
this.A = 5000;
this.C = "";
}
/*
* Handled impossible loop by duplicating code
* Enabled aggressive block sorting
*/
static {
char[] cArray;
block12: {
int n2;
int n3;
char[] cArray2;
int n4;
block11: {
Object var1 = null;
char[] cArray3 = "!uwy\u0010:in".toCharArray();
n4 = 0;
int n5 = cArray3.length;
cArray2 = cArray3;
n3 = n5;
if (n5 <= 1) break block11;
cArray = cArray2;
n2 = n3;
if (n3 <= n4) break block12;
}
do {
char[] cArray4 = cArray2;
char[] cArray5 = cArray2;
int n6 = n4;
while (true) {
int n7;
char c2 = cArray4[n6];
switch (n4 % 5) {
case 0: {
n7 = 85;
break;
}
case 1: {
n7 = 28;
break;
}
case 2: {
n7 = 26;
break;
}
case 3: {
n7 = 28;
break;
}
default: {
n7 = 61;
}
}
cArray4[n6] = (char)(c2 ^ n7);
++n4;
cArray2 = cArray5;
n3 = n3;
if (n3 != 0) break;
cArray5 = cArray2;
n2 = n3;
n6 = n3;
cArray4 = cArray2;
}
cArray = cArray2;
n2 = n3;
} while (n3 > n4);
}
E = new String(cArray).intern();
h = new int[]{0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, Short.MAX_VALUE, 65535, 131071, 262143, 524287, 1048575, 0x1FFFFF, 0x3FFFFF, 0x7FFFFF, 0xFFFFFF, 0x1FFFFFF, 0x3FFFFFF, 0x7FFFFFF, 0xFFFFFFF, 0x1FFFFFFF, 0x3FFFFFFF, Integer.MAX_VALUE, -1};
x = new int[256];
z = new int[256];
w = new char[256];
int n8 = 0;
while (true) {
if (n8 >= 256) {
w.w[61] = 61;
w.w[59] = 59;
w.w[42] = 42;
w.w[43] = 43;
w.w[44] = 44;
w.w[45] = 45;
w.w[46] = 46;
w.w[47] = 47;
w.w[92] = 92;
w.w[124] = 124;
w.w[33] = 33;
w.w[34] = 34;
return;
}
w.w[n8] = (char)n8;
++n8;
}
}
}
+486
View File
@@ -0,0 +1,486 @@
/*
* Decompiled with CFR 0.152.
*/
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
public class x
extends w
implements Runnable {
private InputStream E;
private OutputStream F;
private Socket G;
private boolean H = false;
private byte[] I;
private int J;
private int K;
private boolean L = true;
private static String[] M;
public x(Socket socket, a a2) throws IOException {
this.G = socket;
this.E = socket.getInputStream();
this.F = socket.getOutputStream();
this.L = false;
a2.a(this);
}
/*
* WARNING - Removed try catching itself - possible behaviour change.
*/
public void a() {
block11: {
boolean bl = q.d;
super.a();
this.H = true;
try {
x x2 = this;
if (!bl) {
if (x2.E != null) {
this.E.close();
}
x2 = this;
}
if (!bl) {
if (x2.F != null) {
this.F.close();
}
x2 = this;
}
Socket socket = x2.G;
if (!bl) {
if (socket == null) break block11;
socket = this.G;
}
socket.close();
}
catch (IOException iOException) {
System.out.println(M[1]);
}
}
this.L = true;
x x3 = this;
synchronized (x3) {
this.notify();
}
this.I = null;
}
public int h() throws IOException {
int n2 = this.H;
if (!q.d) {
if (n2 != 0) {
return 0;
}
n2 = this.E.read();
}
return n2;
}
public int d() throws IOException {
int n2 = this.H;
if (!q.d) {
if (n2 != 0) {
return 0;
}
n2 = this.E.available();
}
return n2;
}
public void a(int n2, int n3, byte[] byArray) throws IOException {
boolean bl = q.d;
int n4 = this.H;
if (!bl) {
if (n4 != 0) {
return;
}
n4 = 0;
}
int n5 = n4;
boolean bl2 = false;
while (n5 < n2) {
int n6 = this.E.read(byArray, n5 + n3, n2 - n5);
if (!bl) {
int n7;
if (n6 <= 0) {
throw new IOException(M[0]);
}
n6 = n5 = n5 + n7;
}
if (!bl) continue;
}
}
/*
* WARNING - Removed try catching itself - possible behaviour change.
*/
public void b(byte[] byArray, int n2, int n3) throws IOException {
boolean bl = q.d;
x x2 = this;
if (!bl) {
if (x2.H) {
return;
}
x2 = this;
}
if (!bl) {
if (x2.I == null) {
this.I = new byte[5000];
}
x2 = this;
}
x x3 = x2;
synchronized (x2) {
block11: {
x x4;
int n4 = 0;
while (n4 < n3) {
this.I[this.K] = byArray[n4 + n2];
this.K = (this.K + 1) % 5000;
if (!bl) {
x4 = this;
if (bl) break block11;
if (x4.K == (this.J + 4900) % 5000) {
throw new IOException(M[3]);
}
++n4;
}
if (!bl) continue;
}
this.notify();
x4 = x3;
}
// ** MonitorExit[v1] (shouldn't be in output)
return;
}
}
/*
* WARNING - Removed try catching itself - possible behaviour change.
*/
public void run() {
boolean bl = q.d;
boolean bl2 = false;
while (!this.L) {
int n2;
int n3;
block21: {
x x2 = this;
synchronized (x2) {
int n4;
int n5;
block19: {
block20: {
int n6 = this.K;
if (!bl) {
if (n6 == this.J) {
try {
this.wait();
}
catch (InterruptedException interruptedException) {
// empty catch block
}
}
n6 = this.L ? 1 : 0;
}
if (!bl) {
if (n6 != 0) {
return;
}
n6 = this.J;
}
n3 = n6;
n5 = this.K;
n4 = this.J;
if (bl) break block19;
if (n5 < n4) break block20;
n2 = this.K - this.J;
if (!bl) break block21;
}
n5 = 5000;
n4 = this.J;
}
n2 = n5 - n4;
}
}
if (n2 <= 0) continue;
try {
this.F.write(this.I, n3, n2);
}
catch (IOException iOException) {
this.y = true;
this.C = M[2] + iOException;
}
this.J = (this.J + n2) % 5000;
try {
x x3 = this;
if (!bl) {
if (x3.K != this.J) continue;
x3 = this;
}
x3.F.flush();
}
catch (IOException iOException) {
this.y = true;
this.C = M[2] + iOException;
if (!bl) continue;
}
}
}
/*
* Handled impossible loop by duplicating code
* Enabled aggressive block sorting
*/
static {
char[] cArray;
String[] stringArray;
block43: {
int n2;
int n3;
char[] cArray2;
int n4;
block42: {
char[] cArray3;
Object var0;
block41: {
int n5;
int n6;
char[] cArray4;
block40: {
char[] cArray5;
block39: {
int n7;
int n8;
char[] cArray6;
block38: {
char[] cArray7;
block37: {
int n9;
int n10;
char[] cArray8;
block36: {
stringArray = new String[4];
var0 = null;
char[] cArray9 = "\u0005\u0013|".toCharArray();
n4 = 0;
int n11 = cArray9.length;
cArray8 = cArray9;
n10 = n11;
if (n11 <= 1) break block36;
cArray7 = cArray8;
n9 = n10;
if (n10 <= n4) break block37;
}
do {
char[] cArray10 = cArray8;
char[] cArray11 = cArray8;
int n12 = n4;
while (true) {
int n13;
char c2 = cArray10[n12];
switch (n4 % 5) {
case 0: {
n13 = 64;
break;
}
case 1: {
n13 = 92;
break;
}
case 2: {
n13 = 58;
break;
}
case 3: {
n13 = 92;
break;
}
default: {
n13 = 11;
}
}
cArray10[n12] = (char)(c2 ^ n13);
++n4;
cArray8 = cArray11;
n10 = n10;
if (n10 != 0) break;
cArray11 = cArray8;
n9 = n10;
n12 = n10;
cArray10 = cArray8;
}
cArray7 = cArray8;
n9 = n10;
} while (n10 > n4);
}
stringArray[0] = new String(cArray7).intern();
var0 = null;
char[] cArray12 = "\u0005.H3y`?V3x)2]|x4._=f".toCharArray();
n4 = 0;
int n14 = cArray12.length;
cArray6 = cArray12;
n8 = n14;
if (n14 <= 1) break block38;
cArray5 = cArray6;
n7 = n8;
if (n8 <= n4) break block39;
}
do {
char[] cArray13 = cArray6;
char[] cArray14 = cArray6;
int n15 = n4;
while (true) {
int n16;
char c3 = cArray13[n15];
switch (n4 % 5) {
case 0: {
n16 = 64;
break;
}
case 1: {
n16 = 92;
break;
}
case 2: {
n16 = 58;
break;
}
case 3: {
n16 = 92;
break;
}
default: {
n16 = 11;
}
}
cArray13[n15] = (char)(c3 ^ n16);
++n4;
cArray6 = cArray14;
n8 = n8;
if (n8 != 0) break;
cArray14 = cArray6;
n7 = n8;
n15 = n8;
cArray13 = cArray6;
}
cArray5 = cArray6;
n7 = n8;
} while (n8 > n4);
}
stringArray[1] = new String(cArray5).intern();
var0 = null;
char[] cArray15 = "\u0014+H5\u007f%.\u0000".toCharArray();
n4 = 0;
int n17 = cArray15.length;
cArray4 = cArray15;
n6 = n17;
if (n17 <= 1) break block40;
cArray3 = cArray4;
n5 = n6;
if (n6 <= n4) break block41;
}
do {
char[] cArray16 = cArray4;
char[] cArray17 = cArray4;
int n18 = n4;
while (true) {
int n19;
char c4 = cArray16[n18];
switch (n4 % 5) {
case 0: {
n19 = 64;
break;
}
case 1: {
n19 = 92;
break;
}
case 2: {
n19 = 58;
break;
}
case 3: {
n19 = 92;
break;
}
default: {
n19 = 11;
}
}
cArray16[n18] = (char)(c4 ^ n19);
++n4;
cArray4 = cArray17;
n6 = n6;
if (n6 != 0) break;
cArray17 = cArray4;
n5 = n6;
n18 = n6;
cArray16 = cArray4;
}
cArray3 = cArray4;
n5 = n6;
} while (n6 > n4);
}
stringArray[2] = new String(cArray3).intern();
var0 = null;
char[] cArray18 = "\")\\:n2|U*n2:V3|".toCharArray();
n4 = 0;
int n20 = cArray18.length;
cArray2 = cArray18;
n3 = n20;
if (n20 <= 1) break block42;
cArray = cArray2;
n2 = n3;
if (n3 <= n4) break block43;
}
do {
char[] cArray19 = cArray2;
char[] cArray20 = cArray2;
int n21 = n4;
while (true) {
int n22;
char c5 = cArray19[n21];
switch (n4 % 5) {
case 0: {
n22 = 64;
break;
}
case 1: {
n22 = 92;
break;
}
case 2: {
n22 = 58;
break;
}
case 3: {
n22 = 92;
break;
}
default: {
n22 = 11;
}
}
cArray19[n21] = (char)(c5 ^ n22);
++n4;
cArray2 = cArray20;
n3 = n3;
if (n3 != 0) break;
cArray20 = cArray2;
n2 = n3;
n21 = n3;
cArray19 = cArray2;
}
cArray = cArray2;
n2 = n3;
} while (n3 > n4);
}
stringArray[3] = new String(cArray).intern();
M = stringArray;
}
}
+1425
View File
File diff suppressed because it is too large Load Diff
+677
View File
@@ -0,0 +1,677 @@
/*
* Decompiled with CFR 0.152.
*/
public class z {
public static String[] a;
public static int b;
public static String a() {
return a[b - 29];
}
public static int b() {
int n2;
block4: {
block5: {
int n3;
block2: {
block3: {
boolean bl = q.d;
n3 = b;
if (bl) break block2;
if (n3 == 29) break block3;
n3 = b;
if (bl) break block2;
if (n3 == 31) break block3;
n3 = b;
if (bl) break block2;
if (n3 == 33) break block3;
n2 = b;
if (bl) break block4;
if (n2 != 37) break block5;
}
n3 = 43594;
}
return n3;
}
n2 = 43595;
}
return n2;
}
public static void a(int n2) {
block3: {
int n3;
block4: {
int n4;
block2: {
boolean bl = q.d;
n3 = n2;
n4 = 28;
if (bl) break block2;
if (n3 <= n4) break block3;
n3 = n2;
if (bl) break block4;
n4 = 39;
}
if (n3 >= n4) break block3;
n3 = n2;
}
b = n3;
}
}
/*
* Handled impossible loop by duplicating code
* Enabled aggressive block sorting
*/
static {
char[] cArray;
String[] stringArray;
block109: {
int n2;
int n3;
char[] cArray2;
int n4;
block108: {
char[] cArray3;
Object var0;
block107: {
int n5;
int n6;
char[] cArray4;
block106: {
char[] cArray5;
block105: {
int n7;
int n8;
char[] cArray6;
block104: {
char[] cArray7;
block103: {
int n9;
int n10;
char[] cArray8;
block102: {
char[] cArray9;
block101: {
int n11;
int n12;
char[] cArray10;
block100: {
char[] cArray11;
block99: {
int n13;
int n14;
char[] cArray12;
block98: {
char[] cArray13;
block97: {
int n15;
int n16;
char[] cArray14;
block96: {
char[] cArray15;
block95: {
int n17;
int n18;
char[] cArray16;
block94: {
char[] cArray17;
block93: {
int n19;
int n20;
char[] cArray18;
block92: {
char[] cArray19;
block91: {
int n21;
int n22;
char[] cArray20;
block90: {
stringArray = new String[10];
var0 = null;
char[] cArray21 = "S@\u001b%Y\u0014\u001b\u001f=P\u0015F\u001a;\u0006HW\u000e%\u0006\u0015W\u00008LXX\u00060\rO\u0006@".toCharArray();
n4 = 0;
int n23 = cArray21.length;
cArray20 = cArray21;
n22 = n23;
if (n23 <= 1) break block90;
cArray19 = cArray20;
n21 = n22;
if (n22 <= n4) break block91;
}
do {
char[] cArray22 = cArray20;
char[] cArray23 = cArray20;
int n24 = n4;
while (true) {
int n25;
char c2 = cArray22[n24];
switch (n4 % 5) {
case 0: {
n25 = 59;
break;
}
case 1: {
n25 = 52;
break;
}
case 2: {
n25 = 111;
break;
}
case 3: {
n25 = 85;
break;
}
default: {
n25 = 99;
}
}
cArray22[n24] = (char)(c2 ^ n25);
++n4;
cArray20 = cArray23;
n22 = n22;
if (n22 != 0) break;
cArray23 = cArray20;
n21 = n22;
n24 = n22;
cArray22 = cArray20;
}
cArray19 = cArray20;
n21 = n22;
} while (n22 > n4);
}
stringArray[0] = new String(cArray19).intern();
var0 = null;
char[] cArray24 = "S@\u001b%Y\u0014\u001b\u001f=P\u0015F\u001a;\u0006HW\u000e%\u0006\u0015W\u00008LXX\u00060\rO\u0006@".toCharArray();
n4 = 0;
int n26 = cArray24.length;
cArray18 = cArray24;
n20 = n26;
if (n26 <= 1) break block92;
cArray17 = cArray18;
n19 = n20;
if (n20 <= n4) break block93;
}
do {
char[] cArray25 = cArray18;
char[] cArray26 = cArray18;
int n27 = n4;
while (true) {
int n28;
char c3 = cArray25[n27];
switch (n4 % 5) {
case 0: {
n28 = 59;
break;
}
case 1: {
n28 = 52;
break;
}
case 2: {
n28 = 111;
break;
}
case 3: {
n28 = 85;
break;
}
default: {
n28 = 99;
}
}
cArray25[n27] = (char)(c3 ^ n28);
++n4;
cArray18 = cArray26;
n20 = n20;
if (n20 != 0) break;
cArray26 = cArray18;
n19 = n20;
n27 = n20;
cArray25 = cArray18;
}
cArray17 = cArray18;
n19 = n20;
} while (n20 > n4);
}
stringArray[1] = new String(cArray17).intern();
var0 = null;
char[] cArray27 = "S@\u001b%Y\u0014\u001b\u001a>R\u0015F\u001a;\u0006HW\u000e%\u0006\u0015W\u00008LXX\u00060\rO\u0006@".toCharArray();
n4 = 0;
int n29 = cArray27.length;
cArray16 = cArray27;
n18 = n29;
if (n29 <= 1) break block94;
cArray15 = cArray16;
n17 = n18;
if (n18 <= n4) break block95;
}
do {
char[] cArray28 = cArray16;
char[] cArray29 = cArray16;
int n30 = n4;
while (true) {
int n31;
char c4 = cArray28[n30];
switch (n4 % 5) {
case 0: {
n31 = 59;
break;
}
case 1: {
n31 = 52;
break;
}
case 2: {
n31 = 111;
break;
}
case 3: {
n31 = 85;
break;
}
default: {
n31 = 99;
}
}
cArray28[n30] = (char)(c4 ^ n31);
++n4;
cArray16 = cArray29;
n18 = n18;
if (n18 != 0) break;
cArray29 = cArray16;
n17 = n18;
n30 = n18;
cArray28 = cArray16;
}
cArray15 = cArray16;
n17 = n18;
} while (n18 > n4);
}
stringArray[2] = new String(cArray15).intern();
var0 = null;
char[] cArray30 = "S@\u001b%Y\u0014\u001b\u001a>R\u0015F\u001a;\u0006HW\u000e%\u0006\u0015W\u00008LXX\u00060\rO\u0006@".toCharArray();
n4 = 0;
int n32 = cArray30.length;
cArray14 = cArray30;
n16 = n32;
if (n32 <= 1) break block96;
cArray13 = cArray14;
n15 = n16;
if (n16 <= n4) break block97;
}
do {
char[] cArray31 = cArray14;
char[] cArray32 = cArray14;
int n33 = n4;
while (true) {
int n34;
char c5 = cArray31[n33];
switch (n4 % 5) {
case 0: {
n34 = 59;
break;
}
case 1: {
n34 = 52;
break;
}
case 2: {
n34 = 111;
break;
}
case 3: {
n34 = 85;
break;
}
default: {
n34 = 99;
}
}
cArray31[n33] = (char)(c5 ^ n34);
++n4;
cArray14 = cArray32;
n16 = n16;
if (n16 != 0) break;
cArray32 = cArray14;
n15 = n16;
n33 = n16;
cArray31 = cArray14;
}
cArray13 = cArray14;
n15 = n16;
} while (n16 > n4);
}
stringArray[3] = new String(cArray13).intern();
var0 = null;
char[] cArray33 = "S@\u001b%Y\u0014\u001b\u001a9P\u0015F\u001a;\u0006HW\u000e%\u0006\u0015W\u00008LXX\u00060\rO\u0006@".toCharArray();
n4 = 0;
int n35 = cArray33.length;
cArray12 = cArray33;
n14 = n35;
if (n35 <= 1) break block98;
cArray11 = cArray12;
n13 = n14;
if (n14 <= n4) break block99;
}
do {
char[] cArray34 = cArray12;
char[] cArray35 = cArray12;
int n36 = n4;
while (true) {
int n37;
char c6 = cArray34[n36];
switch (n4 % 5) {
case 0: {
n37 = 59;
break;
}
case 1: {
n37 = 52;
break;
}
case 2: {
n37 = 111;
break;
}
case 3: {
n37 = 85;
break;
}
default: {
n37 = 99;
}
}
cArray34[n36] = (char)(c6 ^ n37);
++n4;
cArray12 = cArray35;
n14 = n14;
if (n14 != 0) break;
cArray35 = cArray12;
n13 = n14;
n36 = n14;
cArray34 = cArray12;
}
cArray11 = cArray12;
n13 = n14;
} while (n14 > n4);
}
stringArray[4] = new String(cArray11).intern();
var0 = null;
char[] cArray36 = "S@\u001b%Y\u0014\u001b\u001a9P\u0015F\u001a;\u0006HW\u000e%\u0006\u0015W\u00008LXX\u00060\rO\u0006@".toCharArray();
n4 = 0;
int n38 = cArray36.length;
cArray10 = cArray36;
n12 = n38;
if (n38 <= 1) break block100;
cArray9 = cArray10;
n11 = n12;
if (n12 <= n4) break block101;
}
do {
char[] cArray37 = cArray10;
char[] cArray38 = cArray10;
int n39 = n4;
while (true) {
int n40;
char c7 = cArray37[n39];
switch (n4 % 5) {
case 0: {
n40 = 59;
break;
}
case 1: {
n40 = 52;
break;
}
case 2: {
n40 = 111;
break;
}
case 3: {
n40 = 85;
break;
}
default: {
n40 = 99;
}
}
cArray37[n39] = (char)(c7 ^ n40);
++n4;
cArray10 = cArray38;
n12 = n12;
if (n12 != 0) break;
cArray38 = cArray10;
n11 = n12;
n39 = n12;
cArray37 = cArray10;
}
cArray9 = cArray10;
n11 = n12;
} while (n12 > n4);
}
stringArray[5] = new String(cArray9).intern();
var0 = null;
char[] cArray39 = "S@\u001b%Y\u0014\u001b\u001a9P\u0015F\u001a;\u0006HW\u000e%\u0006\u0015W\u00008LXX\u00060\rO\u0006@".toCharArray();
n4 = 0;
int n41 = cArray39.length;
cArray8 = cArray39;
n10 = n41;
if (n41 <= 1) break block102;
cArray7 = cArray8;
n9 = n10;
if (n10 <= n4) break block103;
}
do {
char[] cArray40 = cArray8;
char[] cArray41 = cArray8;
int n42 = n4;
while (true) {
int n43;
char c8 = cArray40[n42];
switch (n4 % 5) {
case 0: {
n43 = 59;
break;
}
case 1: {
n43 = 52;
break;
}
case 2: {
n43 = 111;
break;
}
case 3: {
n43 = 85;
break;
}
default: {
n43 = 99;
}
}
cArray40[n42] = (char)(c8 ^ n43);
++n4;
cArray8 = cArray41;
n10 = n10;
if (n10 != 0) break;
cArray41 = cArray8;
n9 = n10;
n42 = n10;
cArray40 = cArray8;
}
cArray7 = cArray8;
n9 = n10;
} while (n10 > n4);
}
stringArray[6] = new String(cArray7).intern();
var0 = null;
char[] cArray42 = "S@\u001b%Y\u0014\u001b\u001a9P\u0015F\u001a;\u0006HW\u000e%\u0006\u0015W\u00008LXX\u00060\rO\u0006@".toCharArray();
n4 = 0;
int n44 = cArray42.length;
cArray6 = cArray42;
n8 = n44;
if (n44 <= 1) break block104;
cArray5 = cArray6;
n7 = n8;
if (n8 <= n4) break block105;
}
do {
char[] cArray43 = cArray6;
char[] cArray44 = cArray6;
int n45 = n4;
while (true) {
int n46;
char c9 = cArray43[n45];
switch (n4 % 5) {
case 0: {
n46 = 59;
break;
}
case 1: {
n46 = 52;
break;
}
case 2: {
n46 = 111;
break;
}
case 3: {
n46 = 85;
break;
}
default: {
n46 = 99;
}
}
cArray43[n45] = (char)(c9 ^ n46);
++n4;
cArray6 = cArray44;
n8 = n8;
if (n8 != 0) break;
cArray44 = cArray6;
n7 = n8;
n45 = n8;
cArray43 = cArray6;
}
cArray5 = cArray6;
n7 = n8;
} while (n8 > n4);
}
stringArray[7] = new String(cArray5).intern();
var0 = null;
char[] cArray45 = "S@\u001b%Y\u0014\u001b\f0\u0017\b\u001a\u001d \r^G\f4\u0013^\u001a\f:\u000e\u0014W\u0003<\u0006U@]z".toCharArray();
n4 = 0;
int n47 = cArray45.length;
cArray4 = cArray45;
n6 = n47;
if (n47 <= 1) break block106;
cArray3 = cArray4;
n5 = n6;
if (n6 <= n4) break block107;
}
do {
char[] cArray46 = cArray4;
char[] cArray47 = cArray4;
int n48 = n4;
while (true) {
int n49;
char c10 = cArray46[n48];
switch (n4 % 5) {
case 0: {
n49 = 59;
break;
}
case 1: {
n49 = 52;
break;
}
case 2: {
n49 = 111;
break;
}
case 3: {
n49 = 85;
break;
}
default: {
n49 = 99;
}
}
cArray46[n48] = (char)(c10 ^ n49);
++n4;
cArray4 = cArray47;
n6 = n6;
if (n6 != 0) break;
cArray47 = cArray4;
n5 = n6;
n48 = n6;
cArray46 = cArray4;
}
cArray3 = cArray4;
n5 = n6;
} while (n6 > n4);
}
stringArray[8] = new String(cArray3).intern();
var0 = null;
char[] cArray48 = "S@\u001b%Y\u0014\u001b\f0\u0017\b\u001a\u001d \r^G\f4\u0013^\u001a\f:\u000e\u0014W\u0003<\u0006U@]z".toCharArray();
n4 = 0;
int n50 = cArray48.length;
cArray2 = cArray48;
n3 = n50;
if (n50 <= 1) break block108;
cArray = cArray2;
n2 = n3;
if (n3 <= n4) break block109;
}
do {
char[] cArray49 = cArray2;
char[] cArray50 = cArray2;
int n51 = n4;
while (true) {
int n52;
char c11 = cArray49[n51];
switch (n4 % 5) {
case 0: {
n52 = 59;
break;
}
case 1: {
n52 = 52;
break;
}
case 2: {
n52 = 111;
break;
}
case 3: {
n52 = 85;
break;
}
default: {
n52 = 99;
}
}
cArray49[n51] = (char)(c11 ^ n52);
++n4;
cArray2 = cArray50;
n3 = n3;
if (n3 != 0) break;
cArray50 = cArray2;
n2 = n3;
n51 = n3;
cArray49 = cArray2;
}
cArray = cArray2;
n2 = n3;
} while (n3 > n4);
}
stringArray[9] = new String(cArray).intern();
a = stringArray;
b = 29;
}
}