Fork of the Fernflower decompiler
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
fernflower/testData/obfuscated/p.java

1047 lines
35 KiB

import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
public class p {
protected String a;
protected String b;
protected String c;
private String d;
private String e;
private Throwable f;
private static final String[] g;
public p(String var1, String var2, Throwable var3, String var4) {
int var10 = s.d;
super();
this.e = "";
this.a = var1;
this.c = var2;
this.f = var3;
ArrayList var5 = new ArrayList(Arrays.asList(Thread.currentThread().getStackTrace()));
int var6 = 3;
while(!var5.isEmpty()) {
try {
if (var6 <= 0) {
break;
}
var5.remove(0);
--var6;
if (var10 == 0) {
continue;
}
} catch (a_ var16) {
throw var16;
}
int var11 = ap.c;
++var11;
ap.c = var11;
break;
}
StringBuilder var7 = new StringBuilder();
Iterator var8 = var5.iterator();
while(true) {
if (var8.hasNext()) {
StackTraceElement var9 = (StackTraceElement)var8.next();
try {
var7.append(var9.getClassName());
var7.append(".");
var7.append(var9.getMethodName());
var7.append(g[0]);
var7.append(var9.getFileName());
var7.append(":");
var7.append(var9.getLineNumber());
var7.append(")");
var7.append("\n");
if (var10 != 0) {
break;
}
if (var10 == 0) {
continue;
}
} catch (a_ var15) {
throw var15;
}
}
this.d = var7.toString();
break;
}
p var10000;
String var10001;
label56: {
label55: {
label54: {
try {
if (var10 != 0) {
break label55;
}
if (var3 == null) {
break label54;
}
} catch (a_ var14) {
throw var14;
}
StringWriter var17 = new StringWriter();
PrintWriter var18 = new PrintWriter(var17);
var3.printStackTrace(var18);
this.e = var17.toString();
var18.close();
}
try {
var10000 = this;
var10001 = var4;
if (var10 != 0) {
break label56;
}
this.b = var4;
} catch (a_ var13) {
throw var13;
}
}
try {
if (var4 != null) {
return;
}
var10000 = this;
var10001 = var1;
} catch (a_ var12) {
throw var12;
}
}
var10000.b = var10001;
}
public String a() {
return this.c;
}
public String b() {
return this.d;
}
public String c() {
return this.b;
}
public String d() {
return this.e;
}
public String toString() {
StringBuilder var1 = new StringBuilder();
var1.append(this.e());
var1.append(g[4]);
var1.append(this.a());
var1.append(g[1]);
var1.append(g[3]);
var1.append(this.c());
var1.append(g[2]);
return var1.toString();
}
public String e() {
return this.a;
}
public Throwable f() {
return this.f;
}
static {
String[] var10000 = new String[5];
char[] var10003 = "D@".toCharArray();
int var10005 = var10003.length;
int var1 = 0;
char[] var10004 = var10003;
int var2 = var10005;
char[] var4;
int var10006;
char var10007;
byte var10008;
if (var10005 <= 1) {
var4 = var10003;
var10006 = var1;
var10007 = var10003[var1];
switch(var1 % 5) {
case 0:
var10008 = 100;
break;
case 1:
var10008 = 104;
break;
case 2:
var10008 = 14;
break;
case 3:
var10008 = 21;
break;
default:
var10008 = 25;
}
} else {
var10004 = var10003;
var2 = var10005;
if (var10005 <= var1) {
label316: {
var10000[0] = (new String(var10003)).intern();
var10003 = "nE#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84Ib".toCharArray();
var10005 = var10003.length;
var1 = 0;
var10004 = var10003;
var2 = var10005;
if (var10005 <= 1) {
var4 = var10003;
var10006 = var1;
} else {
var10004 = var10003;
var2 = var10005;
if (var10005 <= var1) {
break label316;
}
var4 = var10003;
var10006 = var1;
}
while(true) {
var10007 = var4[var10006];
switch(var1 % 5) {
case 0:
var10008 = 100;
break;
case 1:
var10008 = 104;
break;
case 2:
var10008 = 14;
break;
case 3:
var10008 = 21;
break;
default:
var10008 = 25;
}
var4[var10006] = (char)(var10007 ^ var10008);
++var1;
if (var2 == 0) {
var10006 = var2;
var4 = var10004;
} else {
if (var2 <= var1) {
break;
}
var4 = var10004;
var10006 = var1;
}
}
}
var10000[1] = (new String(var10004)).intern();
var10003 = "nE#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84Ib".toCharArray();
var10005 = var10003.length;
var1 = 0;
var10004 = var10003;
var2 = var10005;
if (var10005 <= 1) {
var4 = var10003;
var10006 = var1;
var10007 = var10003[var1];
switch(var1 % 5) {
case 0:
var10008 = 100;
break;
case 1:
var10008 = 104;
break;
case 2:
var10008 = 14;
break;
case 3:
var10008 = 21;
break;
default:
var10008 = 25;
}
} else {
var10004 = var10003;
var2 = var10005;
if (var10005 <= var1) {
label384: {
var10000[2] = (new String(var10003)).intern();
var10003 = "(\u0007mtm\r\u0007`/\u0013".toCharArray();
var10005 = var10003.length;
var1 = 0;
var10004 = var10003;
var2 = var10005;
if (var10005 <= 1) {
var4 = var10003;
var10006 = var1;
} else {
var10004 = var10003;
var2 = var10005;
if (var10005 <= var1) {
break label384;
}
var4 = var10003;
var10006 = var1;
}
while(true) {
var10007 = var4[var10006];
switch(var1 % 5) {
case 0:
var10008 = 100;
break;
case 1:
var10008 = 104;
break;
case 2:
var10008 = 14;
break;
case 3:
var10008 = 21;
break;
default:
var10008 = 25;
}
var4[var10006] = (char)(var10007 ^ var10008);
++var1;
if (var2 == 0) {
var10006 = var2;
var4 = var10004;
} else {
if (var2 <= var1) {
break;
}
var4 = var10004;
var10006 = var1;
}
}
}
var10000[3] = (new String(var10004)).intern();
var10003 = "Db#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84IE\u0004".toCharArray();
var10005 = var10003.length;
var1 = 0;
var10004 = var10003;
var2 = var10005;
if (var10005 <= 1) {
var4 = var10003;
var10006 = var1;
} else {
var10004 = var10003;
var2 = var10005;
if (var10005 <= var1) {
var10000[4] = (new String(var10003)).intern();
g = var10000;
return;
}
var4 = var10003;
var10006 = var1;
}
while(true) {
var10007 = var4[var10006];
switch(var1 % 5) {
case 0:
var10008 = 100;
break;
case 1:
var10008 = 104;
break;
case 2:
var10008 = 14;
break;
case 3:
var10008 = 21;
break;
default:
var10008 = 25;
}
var4[var10006] = (char)(var10007 ^ var10008);
++var1;
if (var2 == 0) {
var10006 = var2;
var4 = var10004;
} else {
if (var2 <= var1) {
var10000[4] = (new String(var10004)).intern();
g = var10000;
return;
}
var4 = var10004;
var10006 = var1;
}
}
}
var4 = var10003;
var10006 = var1;
var10007 = var10003[var1];
switch(var1 % 5) {
case 0:
var10008 = 100;
break;
case 1:
var10008 = 104;
break;
case 2:
var10008 = 14;
break;
case 3:
var10008 = 21;
break;
default:
var10008 = 25;
}
}
while(true) {
while(true) {
var4[var10006] = (char)(var10007 ^ var10008);
++var1;
if (var2 == 0) {
var10006 = var2;
var4 = var10004;
var10007 = var10004[var2];
switch(var1 % 5) {
case 0:
var10008 = 100;
break;
case 1:
var10008 = 104;
break;
case 2:
var10008 = 14;
break;
case 3:
var10008 = 21;
break;
default:
var10008 = 25;
}
} else {
if (var2 <= var1) {
label492: {
var10000[2] = (new String(var10004)).intern();
var10003 = "(\u0007mtm\r\u0007`/\u0013".toCharArray();
var10005 = var10003.length;
var1 = 0;
var10004 = var10003;
var2 = var10005;
if (var10005 <= 1) {
var4 = var10003;
var10006 = var1;
} else {
var10004 = var10003;
var2 = var10005;
if (var10005 <= var1) {
break label492;
}
var4 = var10003;
var10006 = var1;
}
while(true) {
var10007 = var4[var10006];
switch(var1 % 5) {
case 0:
var10008 = 100;
break;
case 1:
var10008 = 104;
break;
case 2:
var10008 = 14;
break;
case 3:
var10008 = 21;
break;
default:
var10008 = 25;
}
var4[var10006] = (char)(var10007 ^ var10008);
++var1;
if (var2 == 0) {
var10006 = var2;
var4 = var10004;
} else {
if (var2 <= var1) {
break;
}
var4 = var10004;
var10006 = var1;
}
}
}
var10000[3] = (new String(var10004)).intern();
var10003 = "Db#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84IE\u0004".toCharArray();
var10005 = var10003.length;
var1 = 0;
var10004 = var10003;
var2 = var10005;
if (var10005 <= 1) {
var4 = var10003;
var10006 = var1;
} else {
var10004 = var10003;
var2 = var10005;
if (var10005 <= var1) {
var10000[4] = (new String(var10003)).intern();
g = var10000;
return;
}
var4 = var10003;
var10006 = var1;
}
while(true) {
var10007 = var4[var10006];
switch(var1 % 5) {
case 0:
var10008 = 100;
break;
case 1:
var10008 = 104;
break;
case 2:
var10008 = 14;
break;
case 3:
var10008 = 21;
break;
default:
var10008 = 25;
}
var4[var10006] = (char)(var10007 ^ var10008);
++var1;
if (var2 == 0) {
var10006 = var2;
var4 = var10004;
} else {
if (var2 <= var1) {
var10000[4] = (new String(var10004)).intern();
g = var10000;
return;
}
var4 = var10004;
var10006 = var1;
}
}
}
var4 = var10004;
var10006 = var1;
var10007 = var10004[var1];
switch(var1 % 5) {
case 0:
var10008 = 100;
break;
case 1:
var10008 = 104;
break;
case 2:
var10008 = 14;
break;
case 3:
var10008 = 21;
break;
default:
var10008 = 25;
}
}
}
}
}
var4 = var10003;
var10006 = var1;
var10007 = var10003[var1];
switch(var1 % 5) {
case 0:
var10008 = 100;
break;
case 1:
var10008 = 104;
break;
case 2:
var10008 = 14;
break;
case 3:
var10008 = 21;
break;
default:
var10008 = 25;
}
}
while(true) {
while(true) {
var4[var10006] = (char)(var10007 ^ var10008);
++var1;
if (var2 == 0) {
var10006 = var2;
var4 = var10004;
var10007 = var10004[var2];
switch(var1 % 5) {
case 0:
var10008 = 100;
break;
case 1:
var10008 = 104;
break;
case 2:
var10008 = 14;
break;
case 3:
var10008 = 21;
break;
default:
var10008 = 25;
}
} else {
if (var2 <= var1) {
label129: {
var10000[0] = (new String(var10004)).intern();
var10003 = "nE#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84Ib".toCharArray();
var10005 = var10003.length;
var1 = 0;
var10004 = var10003;
var2 = var10005;
if (var10005 <= 1) {
var4 = var10003;
var10006 = var1;
} else {
var10004 = var10003;
var2 = var10005;
if (var10005 <= var1) {
break label129;
}
var4 = var10003;
var10006 = var1;
}
while(true) {
var10007 = var4[var10006];
switch(var1 % 5) {
case 0:
var10008 = 100;
break;
case 1:
var10008 = 104;
break;
case 2:
var10008 = 14;
break;
case 3:
var10008 = 21;
break;
default:
var10008 = 25;
}
var4[var10006] = (char)(var10007 ^ var10008);
++var1;
if (var2 == 0) {
var10006 = var2;
var4 = var10004;
} else {
if (var2 <= var1) {
break;
}
var4 = var10004;
var10006 = var1;
}
}
}
var10000[1] = (new String(var10004)).intern();
var10003 = "nE#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84Ib".toCharArray();
var10005 = var10003.length;
var1 = 0;
var10004 = var10003;
var2 = var10005;
if (var10005 <= 1) {
var4 = var10003;
var10006 = var1;
var10007 = var10003[var1];
switch(var1 % 5) {
case 0:
var10008 = 100;
break;
case 1:
var10008 = 104;
break;
case 2:
var10008 = 14;
break;
case 3:
var10008 = 21;
break;
default:
var10008 = 25;
}
} else {
var10004 = var10003;
var2 = var10005;
if (var10005 <= var1) {
label173: {
var10000[2] = (new String(var10003)).intern();
var10003 = "(\u0007mtm\r\u0007`/\u0013".toCharArray();
var10005 = var10003.length;
var1 = 0;
var10004 = var10003;
var2 = var10005;
if (var10005 <= 1) {
var4 = var10003;
var10006 = var1;
} else {
var10004 = var10003;
var2 = var10005;
if (var10005 <= var1) {
break label173;
}
var4 = var10003;
var10006 = var1;
}
while(true) {
var10007 = var4[var10006];
switch(var1 % 5) {
case 0:
var10008 = 100;
break;
case 1:
var10008 = 104;
break;
case 2:
var10008 = 14;
break;
case 3:
var10008 = 21;
break;
default:
var10008 = 25;
}
var4[var10006] = (char)(var10007 ^ var10008);
++var1;
if (var2 == 0) {
var10006 = var2;
var4 = var10004;
} else {
if (var2 <= var1) {
break;
}
var4 = var10004;
var10006 = var1;
}
}
}
var10000[3] = (new String(var10004)).intern();
var10003 = "Db#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84IE\u0004".toCharArray();
var10005 = var10003.length;
var1 = 0;
var10004 = var10003;
var2 = var10005;
if (var10005 <= 1) {
var4 = var10003;
var10006 = var1;
} else {
var10004 = var10003;
var2 = var10005;
if (var10005 <= var1) {
var10000[4] = (new String(var10003)).intern();
g = var10000;
return;
}
var4 = var10003;
var10006 = var1;
}
while(true) {
var10007 = var4[var10006];
switch(var1 % 5) {
case 0:
var10008 = 100;
break;
case 1:
var10008 = 104;
break;
case 2:
var10008 = 14;
break;
case 3:
var10008 = 21;
break;
default:
var10008 = 25;
}
var4[var10006] = (char)(var10007 ^ var10008);
++var1;
if (var2 == 0) {
var10006 = var2;
var4 = var10004;
} else {
if (var2 <= var1) {
var10000[4] = (new String(var10004)).intern();
g = var10000;
return;
}
var4 = var10004;
var10006 = var1;
}
}
}
var4 = var10003;
var10006 = var1;
var10007 = var10003[var1];
switch(var1 % 5) {
case 0:
var10008 = 100;
break;
case 1:
var10008 = 104;
break;
case 2:
var10008 = 14;
break;
case 3:
var10008 = 21;
break;
default:
var10008 = 25;
}
}
while(true) {
while(true) {
var4[var10006] = (char)(var10007 ^ var10008);
++var1;
if (var2 == 0) {
var10006 = var2;
var4 = var10004;
var10007 = var10004[var2];
switch(var1 % 5) {
case 0:
var10008 = 100;
break;
case 1:
var10008 = 104;
break;
case 2:
var10008 = 14;
break;
case 3:
var10008 = 21;
break;
default:
var10008 = 25;
}
} else {
if (var2 <= var1) {
label93: {
var10000[2] = (new String(var10004)).intern();
var10003 = "(\u0007mtm\r\u0007`/\u0013".toCharArray();
var10005 = var10003.length;
var1 = 0;
var10004 = var10003;
var2 = var10005;
if (var10005 <= 1) {
var4 = var10003;
var10006 = var1;
} else {
var10004 = var10003;
var2 = var10005;
if (var10005 <= var1) {
break label93;
}
var4 = var10003;
var10006 = var1;
}
while(true) {
var10007 = var4[var10006];
switch(var1 % 5) {
case 0:
var10008 = 100;
break;
case 1:
var10008 = 104;
break;
case 2:
var10008 = 14;
break;
case 3:
var10008 = 21;
break;
default:
var10008 = 25;
}
var4[var10006] = (char)(var10007 ^ var10008);
++var1;
if (var2 == 0) {
var10006 = var2;
var4 = var10004;
} else {
if (var2 <= var1) {
break;
}
var4 = var10004;
var10006 = var1;
}
}
}
var10000[3] = (new String(var10004)).intern();
var10003 = "Db#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84IE\u0004".toCharArray();
var10005 = var10003.length;
var1 = 0;
var10004 = var10003;
var2 = var10005;
if (var10005 <= 1) {
var4 = var10003;
var10006 = var1;
} else {
var10004 = var10003;
var2 = var10005;
if (var10005 <= var1) {
var10000[4] = (new String(var10003)).intern();
g = var10000;
return;
}
var4 = var10003;
var10006 = var1;
}
while(true) {
var10007 = var4[var10006];
switch(var1 % 5) {
case 0:
var10008 = 100;
break;
case 1:
var10008 = 104;
break;
case 2:
var10008 = 14;
break;
case 3:
var10008 = 21;
break;
default:
var10008 = 25;
}
var4[var10006] = (char)(var10007 ^ var10008);
++var1;
if (var2 == 0) {
var10006 = var2;
var4 = var10004;
} else {
if (var2 <= var1) {
var10000[4] = (new String(var10004)).intern();
g = var10000;
return;
}
var4 = var10004;
var10006 = var1;
}
}
}
var4 = var10004;
var10006 = var1;
var10007 = var10004[var1];
switch(var1 % 5) {
case 0:
var10008 = 100;
break;
case 1:
var10008 = 104;
break;
case 2:
var10008 = 14;
break;
case 3:
var10008 = 21;
break;
default:
var10008 = 25;
}
}
}
}
}
var4 = var10004;
var10006 = var1;
var10007 = var10004[var1];
switch(var1 % 5) {
case 0:
var10008 = 100;
break;
case 1:
var10008 = 104;
break;
case 2:
var10008 = 14;
break;
case 3:
var10008 = 21;
break;
default:
var10008 = 25;
}
}
}
}
}
}