diff --git a/test/org/jetbrains/java/decompiler/BulkDecompilationTest.java b/test/org/jetbrains/java/decompiler/BulkDecompilationTest.java index 7837905..4e2fda3 100644 --- a/test/org/jetbrains/java/decompiler/BulkDecompilationTest.java +++ b/test/org/jetbrains/java/decompiler/BulkDecompilationTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2016 JetBrains s.r.o. + * Copyright 2000-2017 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -58,14 +58,24 @@ public class BulkDecompilationTest { @Test public void testJar() { + doTestJar("bulk"); + } + + @Test + public void testObfuscated() { + doTestJar("obfuscated"); + } + + private void doTestJar(String name) { ConsoleDecompiler decompiler = fixture.getDecompiler(); - decompiler.addSpace(new File(fixture.getTestDataDir(), "bulk.jar"), true); + String jarName = name + ".jar"; + decompiler.addSpace(new File(fixture.getTestDataDir(), jarName), true); decompiler.decompileContext(); File unpacked = new File(fixture.getTempDir(), "unpacked"); - unpack(new File(fixture.getTargetDir(), "bulk.jar"), unpacked); + unpack(new File(fixture.getTargetDir(), jarName), unpacked); - assertFilesEqual(new File(fixture.getTestDataDir(), "bulk"), unpacked); + assertFilesEqual(new File(fixture.getTestDataDir(), name), unpacked); } private static void unpack(File archive, File targetDir) { diff --git a/testData/obfuscated.jar b/testData/obfuscated.jar new file mode 100644 index 0000000..df97fb5 Binary files /dev/null and b/testData/obfuscated.jar differ diff --git a/testData/obfuscated/a.java b/testData/obfuscated/a.java new file mode 100644 index 0000000..c075f89 --- /dev/null +++ b/testData/obfuscated/a.java @@ -0,0 +1,39 @@ +import java.util.Date; +import java.util.Iterator; +import java.util.List; + +public interface a { + String a(); + + int b(); + + int c(); + + long d(); + + List e(); + + Long f(); + + List g(); + + Date h(); + + void i(); + + void j(); + + V a(K var1); + + V a(K var1, f var2); + + void a(K var1, V var2); + + void b(K var1); + + boolean c(K var1); + + Iterator k(); + + List> l(); +} diff --git a/testData/obfuscated/a0.java b/testData/obfuscated/a0.java new file mode 100644 index 0000000..591434a --- /dev/null +++ b/testData/obfuscated/a0.java @@ -0,0 +1,18 @@ +import java.util.List; +import javax.xml.xpath.XPathExpressionException; + +public interface a0 { + a0 a(String var1) throws XPathExpressionException; + + List b(String var1) throws XPathExpressionException; + + a0[] c(String var1) throws XPathExpressionException; + + String d(String var1) throws XPathExpressionException; + + o e(String var1) throws XPathExpressionException; + + boolean f(String var1) throws XPathExpressionException; + + String a(); +} diff --git a/testData/obfuscated/a1.java b/testData/obfuscated/a1.java new file mode 100644 index 0000000..5d4c8a4 --- /dev/null +++ b/testData/obfuscated/a1.java @@ -0,0 +1,91 @@ +import java.util.ArrayList; +import java.util.List; +import javax.xml.xpath.XPathConstants; +import javax.xml.xpath.XPathExpressionException; +import javax.xml.xpath.XPathFactory; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +public class a1 implements a0 { + private Node a; + private static final XPathFactory b = XPathFactory.newInstance(); + + public a1(Node var1) { + this.a = var1; + } + + public a0 a(String var1) throws XPathExpressionException { + Node var2 = (Node)b.newXPath().compile(var1).evaluate(this.a, XPathConstants.NODE); + + try { + if (var2 == null) { + return null; + } + } catch (XPathExpressionException var3) { + throw var3; + } + + return new a1(var2); + } + + public List b(String var1) throws XPathExpressionException { + int var5 = bc.e; + NodeList var2 = (NodeList)b.newXPath().compile(var1).evaluate(this.a, XPathConstants.NODESET); + ArrayList var3 = new ArrayList(var2.getLength()); + int var4 = 0; + + ArrayList var10000; + while(true) { + if (var4 < var2.getLength()) { + try { + var10000 = var3; + if (var5 != 0) { + break; + } + + var3.add(new a1(var2.item(var4))); + ++var4; + if (var5 == 0) { + continue; + } + } catch (XPathExpressionException var7) { + throw var7; + } + + int var6 = ap.c; + ++var6; + ap.c = var6; + } + + var10000 = var3; + break; + } + + return var10000; + } + + public a0[] c(String var1) throws XPathExpressionException { + List var2 = this.b(var1); + return (a0[])var2.toArray(new a0[var2.size()]); + } + + public String d(String param1) throws XPathExpressionException { + // $FF: Couldn't be decompiled + } + + public boolean f(String param1) throws XPathExpressionException { + // $FF: Couldn't be decompiled + } + + public String a() { + return this.a.getNodeName(); + } + + public String toString() { + return this.a(); + } + + public o e(String var1) throws XPathExpressionException { + return o.b((Object)this.d(var1)); + } +} diff --git a/testData/obfuscated/a2.java b/testData/obfuscated/a2.java new file mode 100644 index 0000000..343fa6a --- /dev/null +++ b/testData/obfuscated/a2.java @@ -0,0 +1,93 @@ +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.net.URL; +import org.xml.sax.EntityResolver; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; + +class a2 implements EntityResolver { + final bc a; + private static final String b; + + a2(bc var1) { + this.a = var1; + } + + public InputSource resolveEntity(String var1, String var2) throws SAXException, IOException { + URL var3 = new URL(var2); + if (b.equals(var3.getProtocol())) { + File var4 = new File(var3.getFile()); + + try { + if (var4.exists()) { + return new InputSource(new FileInputStream(var4)); + } + } catch (SAXException var5) { + throw var5; + } + } + + return null; + } + + static { + char[] var10000 = "\u001d2\u00049".toCharArray(); + int var10002 = var10000.length; + int var1 = 0; + char[] var10001 = var10000; + int var2 = var10002; + int var10003; + char[] var4; + if (var10002 <= 1) { + var4 = var10000; + var10003 = var1; + } else { + var10001 = var10000; + var2 = var10002; + if (var10002 <= var1) { + b = (new String(var10000)).intern(); + return; + } + + var4 = var10000; + var10003 = var1; + } + + while(true) { + char var10004 = var4[var10003]; + byte var10005; + switch(var1 % 5) { + case 0: + var10005 = 123; + break; + case 1: + var10005 = 91; + break; + case 2: + var10005 = 104; + break; + case 3: + var10005 = 92; + break; + default: + var10005 = 15; + } + + var4[var10003] = (char)(var10004 ^ var10005); + ++var1; + if (var2 == 0) { + var10003 = var2; + var4 = var10001; + } else { + if (var2 <= var1) { + b = (new String(var10001)).intern(); + return; + } + + var4 = var10001; + var10003 = var1; + } + } + } +} diff --git a/testData/obfuscated/a3.java b/testData/obfuscated/a3.java new file mode 100644 index 0000000..8bd1e44 --- /dev/null +++ b/testData/obfuscated/a3.java @@ -0,0 +1,2068 @@ +import java.util.concurrent.TimeUnit; + +public class a3 { + private static final a a; + private static final String[] b; + + private static int a(int param0, boolean param1) { + // $FF: Couldn't be decompiled + } + + public static void main(String[] var0) throws Exception { + boolean var2 = a7.b; + ax var1 = ax.a(); + System.out.println(b[4]); + a(42, false); + System.out.println(var1.e()); + System.out.println(b[5]); + a(42, true); + System.out.println(var1.e()); + a(); + System.out.println(b[6]); + Thread.sleep(5000L); + System.out.println(b[3]); + d.b(); + a(); + if (var2) { + int var3 = ap.c; + ++var3; + ap.c = var3; + } + + } + + private static void a() { + System.out.println(b[1] + a.c()); + System.out.println(b[0] + a.d()); + System.out.println(b[2] + a.f()); + } + + static { + int var1; + int var6; + char[] var8; + String[] var10000; + char[] var10003; + char[] var10004; + int var10005; + int var10006; + char var10007; + byte var10008; + label697: { + var10000 = new String[7]; + var10003 = "`eA\u0006\u0003\u0015".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label697; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[0] = (new String(var10004)).intern(); + var10003 = "f\u007f^\u0010\u0003\u0015".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + char[] var2; + int var3; + char[] var5; + char var9; + byte var10; + char[] var10001; + int var10002; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label740: { + var10000[1] = (new String(var10003)).intern(); + var10003 = "}\u007fPXkTbAO\u0019".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label740; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[2] = (new String(var10004)).intern(); + var10003 = "gcJ\u001bP[q\u0004\u0016XV~AX\\C\u007fG\u0001PZx\n[\u0017".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label808: { + var10000[3] = (new String(var10003)).intern(); + var10003 = "S\u007fF]\r\u0007?\u0004\u0002PA~K\u0000M\u0015uE\u0016QP,".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label808; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[4] = (new String(var10004)).intern(); + var10003 = "S\u007fF]\r\u0007?\u0004\u0002PA~\u0004\u0016XV~AO".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label876: { + var10000[5] = (new String(var10003)).intern(); + var10003 = "bwM\u0001P[q\u0004@\u0019FsG\u001aWQe\u0004\u0001V\u0015zA\u0001\u0019ZcVU\\[bV\u001c\\F6A\rI\\dA[\u0017\u001b".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label876; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[6] = (new String(var10004)).intern(); + b = var10000; + var2 = "s\u007fF\u001aWTuG\u001c".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + a = d.a((new String(var2)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 53; + break; + case 1: + var10 = 22; + break; + case 2: + var10 = 36; + break; + case 3: + var10 = 117; + break; + default: + var10 = 57; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + a = d.a((new String(var10001)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + if (var6 <= var1) { + label984: { + var10000[5] = (new String(var10004)).intern(); + var10003 = "bwM\u0001P[q\u0004@\u0019FsG\u001aWQe\u0004\u0001V\u0015zA\u0001\u0019ZcVU\\[bV\u001c\\F6A\rI\\dA[\u0017\u001b".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label984; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[6] = (new String(var10004)).intern(); + b = var10000; + var2 = "s\u007fF\u001aWTuG\u001c".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + a = d.a((new String(var2)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 53; + break; + case 1: + var10 = 22; + break; + case 2: + var10 = 36; + break; + case 3: + var10 = 117; + break; + default: + var10 = 57; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + a = d.a((new String(var10001)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + if (var6 <= var1) { + label1119: { + var10000[3] = (new String(var10004)).intern(); + var10003 = "S\u007fF]\r\u0007?\u0004\u0002PA~K\u0000M\u0015uE\u0016QP,".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label1119; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[4] = (new String(var10004)).intern(); + var10003 = "S\u007fF]\r\u0007?\u0004\u0002PA~\u0004\u0016XV~AO".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label1187: { + var10000[5] = (new String(var10003)).intern(); + var10003 = "bwM\u0001P[q\u0004@\u0019FsG\u001aWQe\u0004\u0001V\u0015zA\u0001\u0019ZcVU\\[bV\u001c\\F6A\rI\\dA[\u0017\u001b".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label1187; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[6] = (new String(var10004)).intern(); + b = var10000; + var2 = "s\u007fF\u001aWTuG\u001c".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + a = d.a((new String(var2)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 53; + break; + case 1: + var10 = 22; + break; + case 2: + var10 = 36; + break; + case 3: + var10 = 117; + break; + default: + var10 = 57; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + a = d.a((new String(var10001)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + if (var6 <= var1) { + label1295: { + var10000[5] = (new String(var10004)).intern(); + var10003 = "bwM\u0001P[q\u0004@\u0019FsG\u001aWQe\u0004\u0001V\u0015zA\u0001\u0019ZcVU\\[bV\u001c\\F6A\rI\\dA[\u0017\u001b".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label1295; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[6] = (new String(var10004)).intern(); + b = var10000; + var2 = "s\u007fF\u001aWTuG\u001c".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + a = d.a((new String(var2)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 53; + break; + case 1: + var10 = 22; + break; + case 2: + var10 = 36; + break; + case 3: + var10 = 117; + break; + default: + var10 = 57; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + a = d.a((new String(var10001)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + if (var6 <= var1) { + label333: { + var10000[1] = (new String(var10004)).intern(); + var10003 = "}\u007fPXkTbAO\u0019".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label333; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[2] = (new String(var10004)).intern(); + var10003 = "gcJ\u001bP[q\u0004\u0016XV~AX\\C\u007fG\u0001PZx\n[\u0017".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label377: { + var10000[3] = (new String(var10003)).intern(); + var10003 = "S\u007fF]\r\u0007?\u0004\u0002PA~K\u0000M\u0015uE\u0016QP,".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label377; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[4] = (new String(var10004)).intern(); + var10003 = "S\u007fF]\r\u0007?\u0004\u0002PA~\u0004\u0016XV~AO".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label445: { + var10000[5] = (new String(var10003)).intern(); + var10003 = "bwM\u0001P[q\u0004@\u0019FsG\u001aWQe\u0004\u0001V\u0015zA\u0001\u0019ZcVU\\[bV\u001c\\F6A\rI\\dA[\u0017\u001b".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label445; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[6] = (new String(var10004)).intern(); + b = var10000; + var2 = "s\u007fF\u001aWTuG\u001c".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + a = d.a((new String(var2)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 53; + break; + case 1: + var10 = 22; + break; + case 2: + var10 = 36; + break; + case 3: + var10 = 117; + break; + default: + var10 = 57; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + a = d.a((new String(var10001)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + if (var6 <= var1) { + label553: { + var10000[5] = (new String(var10004)).intern(); + var10003 = "bwM\u0001P[q\u0004@\u0019FsG\u001aWQe\u0004\u0001V\u0015zA\u0001\u0019ZcVU\\[bV\u001c\\F6A\rI\\dA[\u0017\u001b".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label553; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[6] = (new String(var10004)).intern(); + b = var10000; + var2 = "s\u007fF\u001aWTuG\u001c".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + a = d.a((new String(var2)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 53; + break; + case 1: + var10 = 22; + break; + case 2: + var10 = 36; + break; + case 3: + var10 = 117; + break; + default: + var10 = 57; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + a = d.a((new String(var10001)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + if (var6 <= var1) { + label172: { + var10000[3] = (new String(var10004)).intern(); + var10003 = "S\u007fF]\r\u0007?\u0004\u0002PA~K\u0000M\u0015uE\u0016QP,".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label172; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[4] = (new String(var10004)).intern(); + var10003 = "S\u007fF]\r\u0007?\u0004\u0002PA~\u0004\u0016XV~AO".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label216: { + var10000[5] = (new String(var10003)).intern(); + var10003 = "bwM\u0001P[q\u0004@\u0019FsG\u001aWQe\u0004\u0001V\u0015zA\u0001\u0019ZcVU\\[bV\u001c\\F6A\rI\\dA[\u0017\u001b".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label216; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[6] = (new String(var10004)).intern(); + b = var10000; + var2 = "s\u007fF\u001aWTuG\u001c".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + a = d.a((new String(var2)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 53; + break; + case 1: + var10 = 22; + break; + case 2: + var10 = 36; + break; + case 3: + var10 = 117; + break; + default: + var10 = 57; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + a = d.a((new String(var10001)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + if (var6 <= var1) { + label136: { + var10000[5] = (new String(var10004)).intern(); + var10003 = "bwM\u0001P[q\u0004@\u0019FsG\u001aWQe\u0004\u0001V\u0015zA\u0001\u0019ZcVU\\[bV\u001c\\F6A\rI\\dA[\u0017\u001b".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label136; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[6] = (new String(var10004)).intern(); + b = var10000; + var2 = "s\u007fF\u001aWTuG\u001c".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + a = d.a((new String(var2)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 53; + break; + case 1: + var10 = 22; + break; + case 2: + var10 = 36; + break; + case 3: + var10 = 117; + break; + default: + var10 = 57; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + a = d.a((new String(var10001)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + } + } + } +} diff --git a/testData/obfuscated/a4.java b/testData/obfuscated/a4.java new file mode 100644 index 0000000..e0307cf --- /dev/null +++ b/testData/obfuscated/a4.java @@ -0,0 +1,164 @@ +import java.text.DateFormat; +import java.util.Date; +import java.util.logging.Level; + +@aa( + a = {ac.class} +) +public class a4 implements ac { + private static boolean a; + private static y b; + private static final String[] c; + + public static void main(String[] var0) throws Exception { + t.a.setLevel(Level.FINE); + t.a(); + a = true; + + while(true) { + Thread.sleep(10000L); + System.out.println(c[1] + ((ad)b.a()).a()); + } + } + + public void a() throws Exception { + try { + if (a) { + System.out.println(c[0] + DateFormat.getTimeInstance().format(new Date())); + } + + } catch (Exception var1) { + throw var1; + } + } + + static { + String[] var10000; + int var1; + int var2; + char[] var10003; + char[] var10004; + char[] var4; + int var10005; + int var10006; + char var10007; + byte var10008; + label51: { + var10000 = new String[2]; + var10003 = "f\u0019\u0016n-[\u001c\u0016n0AKS".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 label51; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 50; + break; + case 1: + var10008 = 113; + break; + case 2: + var10008 = 115; + break; + case 3: + var10008 = 78; + break; + default: + var10008 = 89; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[0] = (new String(var10004)).intern(); + var10003 = "~\u0010\u0000:y[\u001f\u0005!:S\u0005\u001a!7\bQ".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[1] = (new String(var10003)).intern(); + c = var10000; + a = false; + b = y.a(ad.class); + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 50; + break; + case 1: + var10008 = 113; + break; + case 2: + var10008 = 115; + break; + case 3: + var10008 = 78; + break; + default: + var10008 = 89; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[1] = (new String(var10004)).intern(); + c = var10000; + a = false; + b = y.a(ad.class); + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } +} diff --git a/testData/obfuscated/a5.java b/testData/obfuscated/a5.java new file mode 100644 index 0000000..cad3502 --- /dev/null +++ b/testData/obfuscated/a5.java @@ -0,0 +1,921 @@ +import java.text.DecimalFormat; +import java.util.Iterator; +import java.util.concurrent.TimeUnit; + +public class a5 { + private static y a; + private static final String[] b; + + public static void main(String[] var0) throws Exception { + t.a(); + + while(true) { + System.out.println(b[1]); + Thread.sleep(TimeUnit.MILLISECONDS.convert(60L, TimeUnit.SECONDS)); + a(); + System.out.println(b[0]); + } + } + + private static void a() { + boolean var2 = a7.b; + Iterator var0 = ((ai)a.a()).a().iterator(); + + while(var0.hasNext()) { + al var1 = (al)var0.next(); + System.out.println(var1.a().a() + b[3] + var1.a().b() + "\n" + DecimalFormat.getNumberInstance().format(var1.d()) + " " + var1.a().c() + b[4] + DecimalFormat.getNumberInstance().format(var1.e()) + " " + var1.a().c() + b[2] + DecimalFormat.getNumberInstance().format(var1.f()) + " " + var1.a().c() + "\n"); + if (var2) { + break; + } + } + + } + + static { + String[] var10000 = new String[5]; + char[] var10003 = "`\u001dY>>`\u001dY>>`\u001dY>>`\u001dY>>`\u001dY>>`\u001dY>>`\u001dY>".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 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label316: { + var10000[0] = (new String(var10003)).intern(); + var10003 = "\u001aQ\u001dgz#WT|}(\u0010\u0019z}8D\u0011==c".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 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + + 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 = "a\u00105etm\u0002@{)m".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 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label384: { + var10000[2] = (new String(var10003)).intern(); + var10003 = "m\u001dT".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 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + + 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 = "a\u00105etc\u0010G#~$^N3".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(); + b = var10000; + a = y.a(ai.class); + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + b = var10000; + a = y.a(ai.class); + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + } + + 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 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + } else { + if (var2 <= var1) { + label492: { + var10000[2] = (new String(var10004)).intern(); + var10003 = "m\u001dT".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 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + + 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 = "a\u00105etc\u0010G#~$^N3".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(); + b = var10000; + a = y.a(ai.class); + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + b = var10000; + a = y.a(ai.class); + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + } + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + } + + 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 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + } else { + if (var2 <= var1) { + label129: { + var10000[0] = (new String(var10004)).intern(); + var10003 = "\u001aQ\u001dgz#WT|}(\u0010\u0019z}8D\u0011==c".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 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + + 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 = "a\u00105etm\u0002@{)m".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 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label173: { + var10000[2] = (new String(var10003)).intern(); + var10003 = "m\u001dT".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 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + + 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 = "a\u00105etc\u0010G#~$^N3".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(); + b = var10000; + a = y.a(ai.class); + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + b = var10000; + a = y.a(ai.class); + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + } + + 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 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + } else { + if (var2 <= var1) { + label93: { + var10000[2] = (new String(var10004)).intern(); + var10003 = "m\u001dT".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 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + + 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 = "a\u00105etc\u0010G#~$^N3".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(); + b = var10000; + a = y.a(ai.class); + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + b = var10000; + a = y.a(ai.class); + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + } + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + } + } + } + } +} diff --git a/testData/obfuscated/a6.java b/testData/obfuscated/a6.java new file mode 100644 index 0000000..f935895 --- /dev/null +++ b/testData/obfuscated/a6.java @@ -0,0 +1,5 @@ +public class a6 { + public static void main(String[] param0) throws Exception { + // $FF: Couldn't be decompiled + } +} diff --git a/testData/obfuscated/a7.java b/testData/obfuscated/a7.java new file mode 100644 index 0000000..3e6e15f --- /dev/null +++ b/testData/obfuscated/a7.java @@ -0,0 +1,139 @@ +import java.io.FileInputStream; +import java.io.InputStream; + +public class a7 { + public static boolean b; + private static final String[] a; + + public static void main(String[] var0) throws Exception { + bc var1 = new bc(); + var1.a(a[0], new a8()); + var1.a((InputStream)(new FileInputStream(a[1]))); + } + + static { + String[] var10000; + int var1; + int var2; + char[] var10003; + char[] var10004; + char[] var4; + int var10005; + int var10006; + char var10007; + byte var10008; + label51: { + var10000 = new String[2]; + var10003 = "Z7wN".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 label51; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 52; + break; + case 1: + var10008 = 88; + break; + case 2: + var10008 = 19; + break; + case 3: + var10008 = 43; + break; + default: + var10008 = 10; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[0] = (new String(var10004)).intern(); + var10003 = "G*p\u0004oL9~[fQ+<_oG,=SgX".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[1] = (new String(var10003)).intern(); + a = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 52; + break; + case 1: + var10008 = 88; + break; + case 2: + var10008 = 19; + break; + case 3: + var10008 = 43; + break; + default: + var10008 = 10; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[1] = (new String(var10004)).intern(); + a = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } +} diff --git a/testData/obfuscated/a8.java b/testData/obfuscated/a8.java new file mode 100644 index 0000000..7e8744a --- /dev/null +++ b/testData/obfuscated/a8.java @@ -0,0 +1,405 @@ +final class a8 implements ay { + private static final String[] a; + + public void a(a0 param1) { + // $FF: Couldn't be decompiled + } + + static { + String[] var10000; + int var1; + int var2; + char[] var10003; + char[] var10004; + char[] var4; + int var10005; + int var10006; + char var10007; + byte var10008; + label115: { + var10000 = new String[4]; + var10003 = "(\u000f7O".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 label115; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 70; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 90; + break; + case 3: + var10008 = 42; + break; + default: + var10008 = 64; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[0] = (new String(var10004)).intern(); + var10003 = "4\u000b)E54\r?Yo4\u000b)E54\r?q\u00002\u0017*O}a\u001a?Y4a3".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 = 70; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 90; + break; + case 3: + var10008 = 42; + break; + default: + var10008 = 64; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label158: { + var10000[1] = (new String(var10003)).intern(); + var10003 = "6\u001c3I%".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 label158; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 70; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 90; + break; + case 3: + var10008 = 42; + break; + default: + var10008 = 64; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[2] = (new String(var10004)).intern(); + var10003 = "4\u000b)E54\r?Yo4\u000b)E54\r?q\u00002\u0017*O}a\u001a?Y4a3".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[3] = (new String(var10003)).intern(); + a = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 70; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 90; + break; + case 3: + var10008 = 42; + break; + default: + var10008 = 64; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[3] = (new String(var10004)).intern(); + a = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 70; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 90; + break; + case 3: + var10008 = 42; + break; + default: + var10008 = 64; + } + } + + 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 = 70; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 90; + break; + case 3: + var10008 = 42; + break; + default: + var10008 = 64; + } + } else { + if (var2 <= var1) { + label79: { + var10000[1] = (new String(var10004)).intern(); + var10003 = "6\u001c3I%".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 label79; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 70; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 90; + break; + case 3: + var10008 = 42; + break; + default: + var10008 = 64; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[2] = (new String(var10004)).intern(); + var10003 = "4\u000b)E54\r?Yo4\u000b)E54\r?q\u00002\u0017*O}a\u001a?Y4a3".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[3] = (new String(var10003)).intern(); + a = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 70; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 90; + break; + case 3: + var10008 = 42; + break; + default: + var10008 = 64; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[3] = (new String(var10004)).intern(); + a = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 70; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 90; + break; + case 3: + var10008 = 42; + break; + default: + var10008 = 64; + } + } + } + } + } +} diff --git a/testData/obfuscated/a9.java b/testData/obfuscated/a9.java new file mode 100644 index 0000000..017a83b --- /dev/null +++ b/testData/obfuscated/a9.java @@ -0,0 +1,15 @@ +public class a9 extends RuntimeException { + private static final long serialVersionUID = 1180433275280350911L; + + public a9(String var1, Throwable var2) { + super(var1, var2); + } + + public a9(Throwable var1) { + super(var1); + } + + public a9(String var1) { + super(var1); + } +} diff --git a/testData/obfuscated/a_.java b/testData/obfuscated/a_.java new file mode 100644 index 0000000..a1fd30c --- /dev/null +++ b/testData/obfuscated/a_.java @@ -0,0 +1,8 @@ +class a_ extends RuntimeException { + private static final long serialVersionUID = -7454219131982518216L; + final bc a; + + a_(bc var1) { + this.a = var1; + } +} diff --git a/testData/obfuscated/aa.java b/testData/obfuscated/aa.java new file mode 100644 index 0000000..646a3d3 --- /dev/null +++ b/testData/obfuscated/aa.java @@ -0,0 +1,10 @@ +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.TYPE}) +public @interface aa { + Class[] a(); +} diff --git a/testData/obfuscated/ab.java b/testData/obfuscated/ab.java new file mode 100644 index 0000000..935ee07 --- /dev/null +++ b/testData/obfuscated/ab.java @@ -0,0 +1,43 @@ +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +public class ab implements u { + private List a = new ArrayList(); + + public void a(Class param1) throws Exception { + // $FF: Couldn't be decompiled + } + + public void a() throws Exception { + int var3 = y.d; + Iterator var1 = this.a.iterator(); + + while(true) { + if (var1.hasNext()) { + Object var2 = var1.next(); + + try { + v.a(var2); + if (var3 != 0) { + break; + } + + if (var3 == 0) { + continue; + } + } catch (Exception var5) { + throw var5; + } + + int var4 = ap.c; + ++var4; + ap.c = var4; + } + + this.a.clear(); + break; + } + + } +} diff --git a/testData/obfuscated/ac.java b/testData/obfuscated/ac.java new file mode 100644 index 0000000..b9054d9 --- /dev/null +++ b/testData/obfuscated/ac.java @@ -0,0 +1,3 @@ +public interface ac { + void a() throws Exception; +} diff --git a/testData/obfuscated/ad.java b/testData/obfuscated/ad.java new file mode 100644 index 0000000..08b141e --- /dev/null +++ b/testData/obfuscated/ad.java @@ -0,0 +1,3 @@ +public interface ad { + String a(); +} diff --git a/testData/obfuscated/ae.java b/testData/obfuscated/ae.java new file mode 100644 index 0000000..4dd6fc4 --- /dev/null +++ b/testData/obfuscated/ae.java @@ -0,0 +1,51 @@ +import java.text.DateFormat; +import java.util.Date; +import java.util.List; +import java.util.Timer; +import java.util.concurrent.locks.ReentrantLock; + +@aa( + a = {ad.class} +) +public class ae implements ad { + @x( + a = ac.class + ) + private List a; + private long b = 0L; + private Timer c; + private ReentrantLock d = new ReentrantLock(); + public static boolean e; + + public ae() { + this.a(); + } + + public void a() { + // $FF: Couldn't be decompiled + } + + public void b() { + // $FF: Couldn't be decompiled + } + + public String a() { + try { + if (this.b == 0L) { + return "-"; + } + } catch (a_ var1) { + throw var1; + } + + return DateFormat.getDateTimeInstance().format(new Date(this.b)); + } + + static List a(ae var0) { + return var0.a; + } + + static long a(ae var0, long var1) { + return var0.b = var1; + } +} diff --git a/testData/obfuscated/af.java b/testData/obfuscated/af.java new file mode 100644 index 0000000..0326ac8 --- /dev/null +++ b/testData/obfuscated/af.java @@ -0,0 +1,3 @@ +// $FF: synthetic class +class af { +} diff --git a/testData/obfuscated/ag.java b/testData/obfuscated/ag.java new file mode 100644 index 0000000..73eb9ae --- /dev/null +++ b/testData/obfuscated/ag.java @@ -0,0 +1,32 @@ +public class ag { + private long a = 0L; + private long[] b = new long[100]; + private int c = 0; + private int d = 0; + + public void a(long param1) { + // $FF: Couldn't be decompiled + } + + public double a() { + try { + if (this.d == 0) { + return 0.0D; + } + } catch (a_ var4) { + throw var4; + } + + double var1 = 0.0D; + + for(int var3 = 0; var3 <= this.d; ++var3) { + var1 += (double)this.b[var3]; + } + + return var1 / (double)this.d; + } + + public long b() { + return this.a; + } +} diff --git a/testData/obfuscated/ah.java b/testData/obfuscated/ah.java new file mode 100644 index 0000000..f18b012 --- /dev/null +++ b/testData/obfuscated/ah.java @@ -0,0 +1,28 @@ +import java.util.concurrent.TimeUnit; + +public class ah { + private volatile long a = -1L; + private volatile long b = 0L; + + public void a() { + // $FF: Couldn't be decompiled + } + + public double a(TimeUnit var1) { + return (double)(this.b / this.b(var1)); + } + + public long b() { + return this.b; + } + + public long b(TimeUnit var1) { + long var2 = System.currentTimeMillis() - this.a; + return TimeUnit.MILLISECONDS.convert(var2, var1); + } + + public void c() { + this.a = System.currentTimeMillis(); + this.b = 0L; + } +} diff --git a/testData/obfuscated/ai.java b/testData/obfuscated/ai.java new file mode 100644 index 0000000..b6b3516 --- /dev/null +++ b/testData/obfuscated/ai.java @@ -0,0 +1,39 @@ +import java.util.Collection; +import java.util.Collections; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +@aa( + a = {ac.class, ai.class} +) +public class ai implements ac { + @x( + a = am.class + ) + private List a; + private static Map b = Collections.synchronizedMap(new LinkedHashMap()); + + public void a() throws Exception { + boolean var3 = an.k; + Iterator var1 = this.a.iterator(); + + while(var1.hasNext()) { + am var2 = (am)var1.next(); + var2.a(new j(this)); + if (var3) { + break; + } + } + + } + + public Collection a() { + return b.values(); + } + + static Map b() { + return b; + } +} diff --git a/testData/obfuscated/aj.java b/testData/obfuscated/aj.java new file mode 100644 index 0000000..4ced9b7 --- /dev/null +++ b/testData/obfuscated/aj.java @@ -0,0 +1,8595 @@ +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +import java.io.IOException; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Map.Entry; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +@aa( + a = {am.class} +) +public class aj implements am { + private static final Pattern a; + private Map b; + private long c; + private Map> d; + private long e; + private static final long f = 10L; + private static final Pattern g; + private static final String[] h; + + private Map a() throws IOException { + LinkedHashMap var1 = new LinkedHashMap(); + File var2 = new File(h[2]); + + try { + if (!var2.exists()) { + return var1; + } + } catch (IOException var12) { + throw var12; + } + + BufferedReader var3 = new BufferedReader(new FileReader(var2)); + + try { + for(String var4 = var3.readLine(); var4 != null; var4 = var3.readLine()) { + Matcher var5 = a.matcher(var4); + + try { + if (var5.matches()) { + var1.put(var5.group(1), Long.parseLong(var5.group(2))); + } + } catch (IOException var10) { + throw var10; + } + } + } finally { + var3.close(); + } + + return var1; + } + + private Map> b() throws IOException { + LinkedHashMap var1 = new LinkedHashMap(); + File var2 = new File(h[0]); + + try { + if (!var2.exists()) { + return var1; + } + } catch (IOException var12) { + throw var12; + } + + BufferedReader var3 = new BufferedReader(new FileReader(var2)); + + try { + for(String var4 = var3.readLine(); var4 != null; var4 = var3.readLine()) { + Matcher var5 = g.matcher(var4); + + try { + if (var5.matches()) { + var1.put(var5.group(1), new n(Long.parseLong(var5.group(2)), Long.parseLong(var5.group(3)))); + } + } catch (IOException var10) { + throw var10; + } + } + } finally { + var3.close(); + } + + return var1; + } + + public void a(k var1) { + this.b(var1); + this.c(var1); + } + + protected void b(k var1) { + try { + Map var2 = this.a(); + long var3 = System.currentTimeMillis() - this.c; + this.c = System.currentTimeMillis(); + if (this.b != null) { + Iterator var5 = var2.entrySet().iterator(); + + while(var5.hasNext()) { + Entry var6 = (Entry)var5.next(); + Long var7 = (Long)this.b.get(var6.getKey()); + if (var7 != null) { + double var8 = (double)((((Long)var6.getValue()).longValue() - var7.longValue()) * 10L) / (double)var3; + var1.a((Object)(new ar(h[1], (String)var6.getKey(), "%", var8 * 100.0D))); + } + } + } + + this.b = var2; + } catch (IOException var10) { + var10.printStackTrace(); + } + + } + + protected void c(k param1) { + // $FF: Couldn't be decompiled + } + + static { + String[] var10000 = new String[9]; + char[] var10003 = "h!\"+hh597`4%10x".toCharArray(); + int var10005 = var10003.length; + int var1 = 0; + char[] var10004 = var10003; + int var6 = var10005; + char[] var2; + int var3; + char[] var5; + char[] var8; + char var9; + byte var10; + char[] var10001; + int var10002; + int var10006; + char var10007; + byte var10008; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label3117: { + var10000[0] = (new String(var10003)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label3117; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[1] = (new String(var10004)).intern(); + var10003 = "h!\"+hh\"$%\u007f".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label3185: { + var10000[2] = (new String(var10003)).intern(); + var10003 = "j#5%o4".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label3185; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[3] = (new String(var10004)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label3253: { + var10000[4] = (new String(var10003)).intern(); + var10003 = "j&\"-\u007f\"\"".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label3253; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[5] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label3321: { + var10000[6] = (new String(var10003)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label3321; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label3389: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label3389; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label3497: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label3497; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label3632: { + var10000[6] = (new String(var10004)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label3632; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label3700: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label3700; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label3808: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label3808; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label3970: { + var10000[4] = (new String(var10004)).intern(); + var10003 = "j&\"-\u007f\"\"".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label3970; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[5] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label4038: { + var10000[6] = (new String(var10003)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label4038; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label4106: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label4106; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label4214: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label4214; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label4349: { + var10000[6] = (new String(var10004)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label4349; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label4417: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label4417; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label4525: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label4525; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label4714: { + var10000[2] = (new String(var10004)).intern(); + var10003 = "j#5%o4".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label4714; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[3] = (new String(var10004)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label4782: { + var10000[4] = (new String(var10003)).intern(); + var10003 = "j&\"-\u007f\"\"".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label4782; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[5] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label4850: { + var10000[6] = (new String(var10003)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label4850; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label4918: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label4918; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label5026: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label5026; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label5161: { + var10000[6] = (new String(var10004)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label5161; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label5229: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label5229; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label5337: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label5337; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label5499: { + var10000[4] = (new String(var10004)).intern(); + var10003 = "j&\"-\u007f\"\"".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label5499; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[5] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label5567: { + var10000[6] = (new String(var10003)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label5567; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label5635: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label5635; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label5743: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label5743; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label5878: { + var10000[6] = (new String(var10004)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label5878; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label5946: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label5946; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label6054: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label6054; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label1509: { + var10000[0] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label1509; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[1] = (new String(var10004)).intern(); + var10003 = "h!\"+hh\"$%\u007f".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label1553: { + var10000[2] = (new String(var10003)).intern(); + var10003 = "j#5%o4".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label1553; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[3] = (new String(var10004)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label1621: { + var10000[4] = (new String(var10003)).intern(); + var10003 = "j&\"-\u007f\"\"".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label1621; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[5] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label1689: { + var10000[6] = (new String(var10003)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label1689; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label1757: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label1757; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label1865: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label1865; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label2000: { + var10000[6] = (new String(var10004)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label2000; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label2068: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label2068; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label2176: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label2176; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label2338: { + var10000[4] = (new String(var10004)).intern(); + var10003 = "j&\"-\u007f\"\"".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label2338; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[5] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label2406: { + var10000[6] = (new String(var10003)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label2406; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label2474: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label2474; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label2582: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label2582; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label2717: { + var10000[6] = (new String(var10004)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label2717; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label2785: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label2785; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label2893: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label2893; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label739: { + var10000[2] = (new String(var10004)).intern(); + var10003 = "j#5%o4".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label739; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[3] = (new String(var10004)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label783: { + var10000[4] = (new String(var10003)).intern(); + var10003 = "j&\"-\u007f\"\"".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label783; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[5] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label851: { + var10000[6] = (new String(var10003)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label851; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label919: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label919; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label1027: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label1027; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label1162: { + var10000[6] = (new String(var10004)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label1162; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label1230: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label1230; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label1338: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label1338; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label375: { + var10000[4] = (new String(var10004)).intern(); + var10003 = "j&\"-\u007f\"\"".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label375; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[5] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label419: { + var10000[6] = (new String(var10003)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label419; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label487: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label487; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label595: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label595; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label214: { + var10000[6] = (new String(var10004)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label214; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label178: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label178; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label258: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label258; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } +} diff --git a/testData/obfuscated/ak.java b/testData/obfuscated/ak.java new file mode 100644 index 0000000..f463318 --- /dev/null +++ b/testData/obfuscated/ak.java @@ -0,0 +1,11 @@ +public interface ak { + String a(); + + String b(); + + String c(); + + double d(); + + Double e(); +} diff --git a/testData/obfuscated/al.java b/testData/obfuscated/al.java new file mode 100644 index 0000000..2ca4151 --- /dev/null +++ b/testData/obfuscated/al.java @@ -0,0 +1,459 @@ +import java.text.DecimalFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.concurrent.TimeUnit; + +public class al implements Comparable { + private final ak a; + private final List> b = new ArrayList(); + private final List> c = new ArrayList(); + private double d = 0.0D; + private double e = 0.0D; + private double f = 0.0D; + private static final String[] g; + + public al(ak var1) { + this.a = var1; + } + + protected static long a(Date param0, Date param1, TimeUnit param2) { + // $FF: Couldn't be decompiled + } + + protected static T a(List param0) { + // $FF: Couldn't be decompiled + } + + protected static T b(List param0) { + // $FF: Couldn't be decompiled + } + + public void a(double param1) { + // $FF: Couldn't be decompiled + } + + public ak a() { + return this.a; + } + + public List> b() { + return this.b; + } + + public List> c() { + return this.c; + } + + public double d() { + return this.d; + } + + public double e() { + try { + if (this.b.isEmpty()) { + return 0.0D; + } + } catch (a_ var1) { + throw var1; + } + + return this.e / (double)this.b.size(); + } + + public double f() { + try { + if (this.c.isEmpty()) { + return 0.0D; + } + } catch (a_ var1) { + throw var1; + } + + return this.f / (double)this.c.size(); + } + + public String toString() { + StringBuilder var1 = new StringBuilder(this.a.a()); + + try { + var1.append(g[2]); + var1.append(this.a.b()); + if (this.a.c() != null) { + var1.append(g[1]); + var1.append(this.a.c()); + var1.append("]"); + } + } catch (a_ var2) { + throw var2; + } + + var1.append(g[0]); + var1.append(DecimalFormat.getNumberInstance().format(this.d())); + var1.append(" "); + var1.append(DecimalFormat.getNumberInstance().format(this.e())); + var1.append(" "); + var1.append(DecimalFormat.getNumberInstance().format(this.f())); + return var1.toString(); + } + + protected static boolean a(Object param0, Object param1) { + // $FF: Couldn't be decompiled + } + + public int a(al var1) { + try { + if (var1 == null) { + return 1; + } + } catch (a_ var2) { + throw var2; + } + + try { + if (a(this.a().a(), var1.a().a())) { + return this.a().b().compareTo(var1.a().b()); + } + } catch (a_ var3) { + throw var3; + } + + return this.a().a().compareTo(var1.a().a()); + } + + static { + String[] var10000 = new String[3]; + char[] var10003 = "\u0007Y".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 = 61; + break; + case 1: + var10008 = 121; + break; + case 2: + var10008 = 103; + break; + case 3: + var10008 = 113; + break; + default: + var10008 = 123; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label127: { + var10000[0] = (new String(var10003)).intern(); + var10003 = "\u001d\"".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 label127; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 61; + break; + case 1: + var10008 = 121; + break; + case 2: + var10008 = 103; + break; + case 3: + var10008 = 113; + break; + default: + var10008 = 123; + } + + 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 = "\u001dTG".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[2] = (new String(var10003)).intern(); + g = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 61; + break; + case 1: + var10008 = 121; + break; + case 2: + var10008 = 103; + break; + case 3: + var10008 = 113; + break; + default: + var10008 = 123; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[2] = (new String(var10004)).intern(); + g = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 61; + break; + case 1: + var10008 = 121; + break; + case 2: + var10008 = 103; + break; + case 3: + var10008 = 113; + break; + default: + var10008 = 123; + } + } + + 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 = 61; + break; + case 1: + var10008 = 121; + break; + case 2: + var10008 = 103; + break; + case 3: + var10008 = 113; + break; + default: + var10008 = 123; + } + } else { + if (var2 <= var1) { + label65: { + var10000[0] = (new String(var10004)).intern(); + var10003 = "\u001d\"".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 label65; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 61; + break; + case 1: + var10008 = 121; + break; + case 2: + var10008 = 103; + break; + case 3: + var10008 = 113; + break; + default: + var10008 = 123; + } + + 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 = "\u001dTG".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[2] = (new String(var10003)).intern(); + g = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 61; + break; + case 1: + var10008 = 121; + break; + case 2: + var10008 = 103; + break; + case 3: + var10008 = 113; + break; + default: + var10008 = 123; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[2] = (new String(var10004)).intern(); + g = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 61; + break; + case 1: + var10008 = 121; + break; + case 2: + var10008 = 103; + break; + case 3: + var10008 = 113; + break; + default: + var10008 = 123; + } + } + } + } + } +} diff --git a/testData/obfuscated/am.java b/testData/obfuscated/am.java new file mode 100644 index 0000000..7353ace --- /dev/null +++ b/testData/obfuscated/am.java @@ -0,0 +1,3 @@ +public interface am { + void a(k var1); +} diff --git a/testData/obfuscated/an.java b/testData/obfuscated/an.java new file mode 100644 index 0000000..59d7f06 --- /dev/null +++ b/testData/obfuscated/an.java @@ -0,0 +1,1057 @@ +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.MemoryPoolMXBean; +import java.lang.management.OperatingSystemMXBean; +import java.lang.management.ThreadMXBean; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; + +@aa( + a = {am.class} +) +public class an implements am { + private OperatingSystemMXBean a = ManagementFactory.getOperatingSystemMXBean(); + private MemoryMXBean b = ManagementFactory.getMemoryMXBean(); + private List c = ManagementFactory.getMemoryPoolMXBeans(); + private ThreadMXBean d = ManagementFactory.getThreadMXBean(); + private List e = ManagementFactory.getGarbageCollectorMXBeans(); + private Map f = Collections.synchronizedMap(new TreeMap()); + private ak g; + private List h; + private ak i; + private ak j; + public static boolean k; + private static final String[] l; + + public an() { + this.g = new at(this, l[2], l[1]); + this.i = new au(this, l[0], l[5]); + this.j = new av(this, l[4], l[3]); + } + + private List a() { + boolean var4 = k; + + List var10000; + label45: { + try { + var10000 = this.h; + if (var4) { + return var10000; + } + + if (var10000 != null) { + break label45; + } + } catch (a_ var6) { + throw var6; + } + + ArrayList var1 = new ArrayList(); + Iterator var2 = this.c.iterator(); + + while(var2.hasNext()) { + MemoryPoolMXBean var3 = (MemoryPoolMXBean)var2.next(); + + try { + var1.add(new aw(this, var3)); + if (var4) { + break label45; + } + + if (var4) { + break; + } + } catch (a_ var5) { + throw var5; + } + } + + this.h = var1; + } + + var10000 = this.h; + return var10000; + } + + public void a(k var1) { + var1.a((Object)this.g); + var1.a((Collection)this.a()); + var1.a((Object)this.i); + var1.a((Object)this.j); + } + + public List b() { + ArrayList var1 = new ArrayList(this.f.values()); + Collections.sort(var1); + return var1; + } + + static MemoryMXBean a(an var0) { + return var0.b; + } + + static Map b(an var0) { + return var0.f; + } + + static ThreadMXBean c(an var0) { + return var0.d; + } + + static OperatingSystemMXBean d(an var0) { + return var0.a; + } + + static List e(an var0) { + return var0.e; + } + + static { + String[] var10000; + int var1; + int var2; + char[] var10003; + char[] var10004; + char[] var4; + int var10005; + int var10006; + char var10007; + byte var10008; + label304: { + var10000 = new String[6]; + var10003 = "\u0006\b\u000e".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 label304; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[0] = (new String(var10004)).intern(); + var10003 = "\u0004;\"B".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 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label347: { + var10000[1] = (new String(var10003)).intern(); + var10003 = "\u0006\b\u000e".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 label347; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[2] = (new String(var10004)).intern(); + var10003 = "\u000b\u001d".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 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label415: { + var10000[3] = (new String(var10003)).intern(); + var10003 = "\u0006\b\u000e".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 label415; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[4] = (new String(var10004)).intern(); + var10003 = "\u000f\u000e\u0016".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[5] = (new String(var10003)).intern(); + l = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[5] = (new String(var10004)).intern(); + l = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + } + + 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 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + } else { + if (var2 <= var1) { + label523: { + var10000[3] = (new String(var10004)).intern(); + var10003 = "\u0006\b\u000e".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 label523; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[4] = (new String(var10004)).intern(); + var10003 = "\u000f\u000e\u0016".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[5] = (new String(var10003)).intern(); + l = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[5] = (new String(var10004)).intern(); + l = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + } + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + } + + 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 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + } else { + if (var2 <= var1) { + label143: { + var10000[1] = (new String(var10004)).intern(); + var10003 = "\u0006\b\u000e".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 label143; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[2] = (new String(var10004)).intern(); + var10003 = "\u000b\u001d".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 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label187: { + var10000[3] = (new String(var10003)).intern(); + var10003 = "\u0006\b\u000e".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 label187; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[4] = (new String(var10004)).intern(); + var10003 = "\u000f\u000e\u0016".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[5] = (new String(var10003)).intern(); + l = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[5] = (new String(var10004)).intern(); + l = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + } + + 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 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + } else { + if (var2 <= var1) { + label107: { + var10000[3] = (new String(var10004)).intern(); + var10003 = "\u0006\b\u000e".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 label107; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[4] = (new String(var10004)).intern(); + var10003 = "\u000f\u000e\u0016".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[5] = (new String(var10003)).intern(); + l = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[5] = (new String(var10004)).intern(); + l = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + } + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + } + } + } + } +} diff --git a/testData/obfuscated/ao.java b/testData/obfuscated/ao.java new file mode 100644 index 0000000..745e043 --- /dev/null +++ b/testData/obfuscated/ao.java @@ -0,0 +1,25 @@ +import java.lang.Thread.State; + +public class ao implements Comparable { + protected String a; + protected State b; + protected double c; + protected long d; + protected long e; + + public String a() { + return this.a; + } + + public State b() { + return this.b; + } + + public double c() { + return this.c; + } + + public int a(ao param1) { + // $FF: Couldn't be decompiled + } +} diff --git a/testData/obfuscated/ap.java b/testData/obfuscated/ap.java new file mode 100644 index 0000000..8f14fd7 --- /dev/null +++ b/testData/obfuscated/ap.java @@ -0,0 +1,91 @@ +public abstract class ap implements ak { + private final String a; + private final String b; + public static int c; + private static final String d; + + public ap(String var1, String var2) { + this.b = var1; + this.a = var2; + } + + public String b() { + return this.a; + } + + public String a() { + return this.b; + } + + public int hashCode() { + return (this.b + this.a).hashCode(); + } + + public boolean equals(Object param1) { + // $FF: Couldn't be decompiled + } + + public String toString() { + return this.b + d + this.a; + } + + static { + char[] var10000 = "K\u000eX".toCharArray(); + int var10002 = var10000.length; + int var1 = 0; + char[] var10001 = var10000; + int var2 = var10002; + int var10003; + char[] var4; + if (var10002 <= 1) { + var4 = var10000; + var10003 = var1; + } else { + var10001 = var10000; + var2 = var10002; + if (var10002 <= var1) { + d = (new String(var10000)).intern(); + return; + } + + var4 = var10000; + var10003 = var1; + } + + while(true) { + char var10004 = var4[var10003]; + byte var10005; + switch(var1 % 5) { + case 0: + var10005 = 107; + break; + case 1: + var10005 = 35; + break; + case 2: + var10005 = 120; + break; + case 3: + var10005 = 65; + break; + default: + var10005 = 23; + } + + var4[var10003] = (char)(var10004 ^ var10005); + ++var1; + if (var2 == 0) { + var10003 = var2; + var4 = var10001; + } else { + if (var2 <= var1) { + d = (new String(var10001)).intern(); + return; + } + + var4 = var10001; + var10003 = var1; + } + } + } +} diff --git a/testData/obfuscated/aq.java b/testData/obfuscated/aq.java new file mode 100644 index 0000000..784fb30 --- /dev/null +++ b/testData/obfuscated/aq.java @@ -0,0 +1,29 @@ +public class aq extends ap { + private volatile long d; + private volatile long e; + private final String f; + private static final long g = 4611686018427387903L; + private final Double h; + + public aq(String var1, String var2, String var3, Double var4) { + super(var1, var2); + this.f = var3; + this.h = var4; + } + + public String c() { + return this.f; + } + + public void a(long param1) { + // $FF: Couldn't be decompiled + } + + public double d() { + // $FF: Couldn't be decompiled + } + + public Double e() { + return this.h; + } +} diff --git a/testData/obfuscated/ar.java b/testData/obfuscated/ar.java new file mode 100644 index 0000000..bf70813 --- /dev/null +++ b/testData/obfuscated/ar.java @@ -0,0 +1,22 @@ +public class ar extends ap { + private final String d; + private final double e; + + public ar(String var1, String var2, String var3, double var4) { + super(var1, var2); + this.d = var3; + this.e = var4; + } + + public String c() { + return this.d; + } + + public double d() { + return this.e; + } + + public Double e() { + return null; + } +} diff --git a/testData/obfuscated/as.java b/testData/obfuscated/as.java new file mode 100644 index 0000000..6e7c1a5 --- /dev/null +++ b/testData/obfuscated/as.java @@ -0,0 +1,49 @@ +import java.util.concurrent.TimeUnit; + +public class as extends ap { + private volatile long d = 0L; + private volatile long e; + private final TimeUnit f; + private final Double g; + private String h; + private double i; + + public as(String var1, String var2, TimeUnit var3, Double var4, String var5) { + super(var1, var2); + this.f = var3; + this.h = var5; + this.g = var4; + this.e = System.currentTimeMillis(); + } + + public String c() { + return this.h; + } + + public void a() { + // $FF: Couldn't be decompiled + } + + public void a(long var1) { + try { + if (9223372036854775797L - var1 > this.d) { + this.d += var1; + } + + } catch (a_ var3) { + throw var3; + } + } + + public double d() { + // $FF: Couldn't be decompiled + } + + public double b() { + return this.i; + } + + public Double e() { + return this.g; + } +} diff --git a/testData/obfuscated/at.java b/testData/obfuscated/at.java new file mode 100644 index 0000000..efafba2 --- /dev/null +++ b/testData/obfuscated/at.java @@ -0,0 +1,81 @@ +class at extends ap { + final an d; + private static final String e; + + at(an var1, String var2, String var3) { + super(var2, var3); + this.d = var1; + } + + public double d() { + return (double)an.a(this.d).getHeapMemoryUsage().getUsed() / 1024.0D / 1024.0D; + } + + public String c() { + return e; + } + + public Double e() { + return (double)an.a(this.d).getHeapMemoryUsage().getMax() / 1024.0D / 1024.0D; + } + + static { + char[] var10000 = "$b".toCharArray(); + int var10002 = var10000.length; + int var1 = 0; + char[] var10001 = var10000; + int var2 = var10002; + int var10003; + char[] var4; + if (var10002 <= 1) { + var4 = var10000; + var10003 = var1; + } else { + var10001 = var10000; + var2 = var10002; + if (var10002 <= var1) { + e = (new String(var10000)).intern(); + return; + } + + var4 = var10000; + var10003 = var1; + } + + while(true) { + char var10004 = var4[var10003]; + byte var10005; + switch(var1 % 5) { + case 0: + var10005 = 105; + break; + case 1: + var10005 = 32; + break; + case 2: + var10005 = 18; + break; + case 3: + var10005 = 31; + break; + default: + var10005 = 120; + } + + var4[var10003] = (char)(var10004 ^ var10005); + ++var1; + if (var2 == 0) { + var10003 = var2; + var4 = var10001; + } else { + if (var2 <= var1) { + e = (new String(var10001)).intern(); + return; + } + + var4 = var10001; + var10003 = var1; + } + } + } +} diff --git a/testData/obfuscated/au.java b/testData/obfuscated/au.java new file mode 100644 index 0000000..cf88f45 --- /dev/null +++ b/testData/obfuscated/au.java @@ -0,0 +1,24 @@ +class au extends ap { + private long d; + private long e; + final an f; + + au(an var1, String var2, String var3) { + super(var2, var3); + this.f = var1; + this.d = 0L; + this.e = 0L; + } + + public double d() { + // $FF: Couldn't be decompiled + } + + public String c() { + return "%"; + } + + public Double e() { + return 100.0D; + } +} diff --git a/testData/obfuscated/av.java b/testData/obfuscated/av.java new file mode 100644 index 0000000..ab6587d --- /dev/null +++ b/testData/obfuscated/av.java @@ -0,0 +1,24 @@ +class av extends ap { + private long d; + private long e; + final an f; + + av(an var1, String var2, String var3) { + super(var2, var3); + this.f = var1; + this.d = 0L; + this.e = 0L; + } + + public double d() { + // $FF: Couldn't be decompiled + } + + public String c() { + return "%"; + } + + public Double e() { + return 100.0D; + } +} diff --git a/testData/obfuscated/aw.java b/testData/obfuscated/aw.java new file mode 100644 index 0000000..2c7b400 --- /dev/null +++ b/testData/obfuscated/aw.java @@ -0,0 +1,361 @@ +import java.lang.management.MemoryPoolMXBean; + +class aw extends ap { + private MemoryPoolMXBean d; + final an e; + private static final String[] f; + + public aw(an var1, MemoryPoolMXBean var2) { + super(f[1], f[0] + var2.getName()); + this.e = var1; + this.d = var2; + } + + public double d() { + // $FF: Couldn't be decompiled + } + + public String c() { + return f[2]; + } + + public Double e() { + // $FF: Couldn't be decompiled + } + + static { + String[] var10000 = new String[3]; + char[] var10003 = "6\u0000ec".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 = 123; + break; + case 1: + var10008 = 69; + break; + case 2: + var10008 = 40; + break; + case 3: + var10008 = 78; + break; + default: + var10008 = 31; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label127: { + var10000[0] = (new String(var10003)).intern(); + var10003 = "1\u0013e".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 label127; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 123; + break; + case 1: + var10008 = 69; + break; + case 2: + var10008 = 40; + break; + case 3: + var10008 = 78; + break; + default: + var10008 = 31; + } + + 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 = "6\u0007".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[2] = (new String(var10003)).intern(); + f = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 123; + break; + case 1: + var10008 = 69; + break; + case 2: + var10008 = 40; + break; + case 3: + var10008 = 78; + break; + default: + var10008 = 31; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[2] = (new String(var10004)).intern(); + f = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 123; + break; + case 1: + var10008 = 69; + break; + case 2: + var10008 = 40; + break; + case 3: + var10008 = 78; + break; + default: + var10008 = 31; + } + } + + 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 = 123; + break; + case 1: + var10008 = 69; + break; + case 2: + var10008 = 40; + break; + case 3: + var10008 = 78; + break; + default: + var10008 = 31; + } + } else { + if (var2 <= var1) { + label65: { + var10000[0] = (new String(var10004)).intern(); + var10003 = "1\u0013e".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 label65; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 123; + break; + case 1: + var10008 = 69; + break; + case 2: + var10008 = 40; + break; + case 3: + var10008 = 78; + break; + default: + var10008 = 31; + } + + 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 = "6\u0007".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[2] = (new String(var10003)).intern(); + f = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 123; + break; + case 1: + var10008 = 69; + break; + case 2: + var10008 = 40; + break; + case 3: + var10008 = 78; + break; + default: + var10008 = 31; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[2] = (new String(var10004)).intern(); + f = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 123; + break; + case 1: + var10008 = 69; + break; + case 2: + var10008 = 40; + break; + case 3: + var10008 = 78; + break; + default: + var10008 = 31; + } + } + } + } + } +} diff --git a/testData/obfuscated/ax.java b/testData/obfuscated/ax.java new file mode 100644 index 0000000..bdb7372 --- /dev/null +++ b/testData/obfuscated/ax.java @@ -0,0 +1,172 @@ +import java.util.concurrent.TimeUnit; + +public class ax { + private long a = 0L; + private static final String[] b; + + public static ax a() { + return new ax(); + } + + private ax() { + this.b(); + } + + public void b() { + this.a = System.nanoTime(); + } + + public long c() { + return TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - this.a); + } + + public String d() { + return this.c() + b[0]; + } + + public String a(boolean var1) { + String var2 = String.valueOf(((double)System.nanoTime() - (double)this.a) / 1000.0D); + + try { + if (var1) { + this.b(); + } + + return var2; + } catch (a_ var3) { + throw var3; + } + } + + public String e() { + String var1 = this.c() + b[1]; + this.b(); + return var1; + } + + static { + String[] var10000; + int var1; + int var2; + char[] var10003; + char[] var10004; + char[] var4; + int var10005; + int var10006; + char var10007; + byte var10008; + label51: { + var10000 = new String[2]; + var10003 = "}|".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 label51; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 16; + break; + case 1: + var10008 = 15; + break; + case 2: + var10008 = 44; + break; + case 3: + var10008 = 84; + break; + default: + var10008 = 86; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[0] = (new String(var10004)).intern(); + var10003 = "}|".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[1] = (new String(var10003)).intern(); + b = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 16; + break; + case 1: + var10008 = 15; + break; + case 2: + var10008 = 44; + break; + case 3: + var10008 = 84; + break; + default: + var10008 = 86; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[1] = (new String(var10004)).intern(); + b = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } +} diff --git a/testData/obfuscated/ay.java b/testData/obfuscated/ay.java new file mode 100644 index 0000000..93a8659 --- /dev/null +++ b/testData/obfuscated/ay.java @@ -0,0 +1,3 @@ +public interface ay { + void a(a0 var1); +} diff --git a/testData/obfuscated/az.java b/testData/obfuscated/az.java new file mode 100644 index 0000000..773bde2 --- /dev/null +++ b/testData/obfuscated/az.java @@ -0,0 +1,205 @@ +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import org.w3c.dom.DOMException; +import org.w3c.dom.Document; +import org.w3c.dom.Node; +import org.w3c.dom.ProcessingInstruction; +import org.xml.sax.Attributes; + +class az { + private Document a; + private Node b; + private Node c; + private ay d; + private static final String[] e; + + public az(ay var1, String var2, String var3, Attributes var4) throws ParserConfigurationException { + this.d = var1; + DocumentBuilderFactory var5 = DocumentBuilderFactory.newInstance(); + DocumentBuilder var6 = var5.newDocumentBuilder(); + this.a = var6.newDocument(); + this.a(var3, var4); + } + + private boolean a() { + try { + if (this.b()) { + this.d.a(new a1(this.b)); + return true; + } + } catch (DOMException var1) { + throw var1; + } + + this.c = this.c.getParentNode(); + return false; + } + + private boolean b() { + return this.c.equals(this.b); + } + + private void a(String param1, Attributes param2) { + // $FF: Couldn't be decompiled + } + + public Node c() { + return this.b; + } + + public void a(String var1, String var2, Attributes var3) { + this.a(var2, var3); + } + + public void a(String var1, String var2) { + ProcessingInstruction var3 = this.a.createProcessingInstruction(var1, var2); + this.c.appendChild(var3); + } + + public boolean b(String var1, String var2) { + try { + if (!this.c.getNodeName().equals(var2)) { + throw new DOMException((short)12, e[0] + var2 + e[1] + this.c.getNodeName()); + } + } catch (DOMException var3) { + throw var3; + } + + return this.a(); + } + + public void a(String var1) { + this.c.appendChild(this.a.createTextNode(var1)); + } + + public ay d() { + return this.d; + } + + static { + String[] var10000; + int var1; + int var2; + char[] var10003; + char[] var10004; + char[] var4; + int var10005; + int var10006; + char var10007; + byte var10008; + label51: { + var10000 = new String[2]; + var10003 = "+\u0013*w'\u001b\u001e;j3^\u0018!kz\n\u001c(5w".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 label51; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 126; + break; + case 1: + var10008 = 125; + break; + case 2: + var10008 = 79; + break; + case 3: + var10008 = 15; + break; + default: + var10008 = 87; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[0] = (new String(var10004)).intern(); + var10003 = "^\u00187\u007f2\u001d\t*km^".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[1] = (new String(var10003)).intern(); + e = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 126; + break; + case 1: + var10008 = 125; + break; + case 2: + var10008 = 79; + break; + case 3: + var10008 = 15; + break; + default: + var10008 = 87; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[1] = (new String(var10004)).intern(); + e = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } +} diff --git a/testData/obfuscated/b.java b/testData/obfuscated/b.java new file mode 100644 index 0000000..7fd3287 --- /dev/null +++ b/testData/obfuscated/b.java @@ -0,0 +1,99 @@ +import java.util.Date; + +public class b { + protected ah a; + protected long b; + protected long c; + protected final K d; + protected V e; + protected long f; + protected long g; + + public ah a() { + return this.a; + } + + public long b() { + return this.a.b(); + } + + public Date c() { + return new Date(this.b); + } + + public void a(long var1) { + this.b = var1; + } + + public Date d() { + return new Date(this.c); + } + + public Date e() { + return new Date(this.f); + } + + public void b(long var1) { + this.c = var1; + } + + public V f() { + return this.e; + } + + public void a(V var1) { + this.e = var1; + } + + public b(K var1, V var2, long var3, long var5) { + boolean var7 = d.b; + super(); + this.a = new ah(); + this.b = 0L; + this.c = 0L; + this.d = var1; + this.f = var3; + this.g = var5; + this.c = System.currentTimeMillis(); + this.b = this.c; + this.e = var2; + if (ap.c != 0) { + boolean var10000; + label18: { + try { + if (var7) { + var10000 = false; + break label18; + } + } catch (a_ var8) { + throw var8; + } + + var10000 = true; + } + + d.b = var10000; + } + + } + + public long g() { + return this.f; + } + + public void c(long var1) { + this.f = var1; + } + + public long h() { + return this.g; + } + + public void d(long var1) { + this.g = var1; + } + + public K i() { + return this.d; + } +} diff --git a/testData/obfuscated/ba.java b/testData/obfuscated/ba.java new file mode 100644 index 0000000..8c09da4 --- /dev/null +++ b/testData/obfuscated/ba.java @@ -0,0 +1,177 @@ +import java.util.Iterator; +import java.util.TimerTask; + +class ba extends TimerTask { + final ae a; + private static final String[] b; + + private ba(ae var1) { + this.a = var1; + } + + public void run() { + boolean var4 = ae.e; + Iterator var1 = ae.a(this.a).iterator(); + + while(true) { + if (var1.hasNext()) { + ac var2 = (ac)var1.next(); + + label23: { + try { + var2.a(); + } catch (Exception var6) { + r.a(b[0]).a(b[1], var2.getClass().getName()).a(); + break label23; + } + + if (var4) { + break; + } + } + + if (!var4) { + continue; + } + + int var5 = ap.c; + ++var5; + ap.c = var5; + } + + ae.a(this.a, System.currentTimeMillis()); + break; + } + + } + + ba(ae var1, af var2) { + this(var1); + } + + static { + String[] var10000; + int var1; + int var2; + char[] var10003; + char[] var10004; + char[] var4; + int var10005; + int var10006; + char var10007; + byte var10008; + label51: { + var10000 = new String[2]; + var10003 = "\b[\u0006\u001d\u001b\u0000D\r\u001a\u0016(y\u0002\u001c\t\u000bL\n\u0003\u0007)".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 label51; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 45; + break; + case 2: + var10008 = 99; + break; + case 3: + var10008 = 111; + break; + default: + var10008 = 98; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[0] = (new String(var10004)).intern(); + var10003 = ".A\u0002\u001c\u0011".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[1] = (new String(var10003)).intern(); + b = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 45; + break; + case 2: + var10008 = 99; + break; + case 3: + var10008 = 111; + break; + default: + var10008 = 98; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[1] = (new String(var10004)).intern(); + b = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } +} diff --git a/testData/obfuscated/bb.java b/testData/obfuscated/bb.java new file mode 100644 index 0000000..48a4d9a --- /dev/null +++ b/testData/obfuscated/bb.java @@ -0,0 +1,904 @@ +import org.xhtmlrenderer.extend.FSImage; +import org.xhtmlrenderer.extend.ReplacedElement; +import org.xhtmlrenderer.extend.UserAgentCallback; +import org.xhtmlrenderer.layout.LayoutContext; +import org.xhtmlrenderer.pdf.ITextOutputDevice; +import org.xhtmlrenderer.pdf.ITextReplacedElementFactory; +import org.xhtmlrenderer.render.BlockBox; + +public class bb extends ITextReplacedElementFactory { + public static boolean b; + private static final String[] a; + + public bb(ITextOutputDevice var1) { + super(var1); + } + + public ReplacedElement createReplacedElement(LayoutContext param1, BlockBox param2, UserAgentCallback param3, int param4, int param5) { + // $FF: Couldn't be decompiled + } + + private n a(int param1, int param2, FSImage param3) { + // $FF: Couldn't be decompiled + } + + static { + String[] var10000 = new String[5]; + char[] var10003 = "u\u0003\u000e".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 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label316: { + var10000[0] = (new String(var10003)).intern(); + var10003 = "o\u001c\n".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 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + + 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 = "h\u0017\u0019K".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 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label384: { + var10000[2] = (new String(var10003)).intern(); + var10003 = "\u007f\u0001\rK\u0010.V".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 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + + 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 = "o\u001c\n".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(); + a = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + a = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + } + + 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 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + } else { + if (var2 <= var1) { + label492: { + var10000[2] = (new String(var10004)).intern(); + var10003 = "\u007f\u0001\rK\u0010.V".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 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + + 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 = "o\u001c\n".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(); + a = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + a = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + } + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + } + + 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 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + } else { + if (var2 <= var1) { + label129: { + var10000[0] = (new String(var10004)).intern(); + var10003 = "o\u001c\n".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 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + + 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 = "h\u0017\u0019K".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 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label173: { + var10000[2] = (new String(var10003)).intern(); + var10003 = "\u007f\u0001\rK\u0010.V".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 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + + 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 = "o\u001c\n".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(); + a = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + a = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + } + + 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 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + } else { + if (var2 <= var1) { + label93: { + var10000[2] = (new String(var10004)).intern(); + var10003 = "\u007f\u0001\rK\u0010.V".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 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + + 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 = "o\u001c\n".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(); + a = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + a = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + } + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + } + } + } + } +} diff --git a/testData/obfuscated/bc.java b/testData/obfuscated/bc.java new file mode 100644 index 0000000..ee3c7f5 --- /dev/null +++ b/testData/obfuscated/bc.java @@ -0,0 +1,159 @@ +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.parsers.SAXParser; +import javax.xml.parsers.SAXParserFactory; +import org.w3c.dom.Node; +import org.xml.sax.Attributes; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; +import org.xml.sax.XMLReader; +import org.xml.sax.helpers.DefaultHandler; + +public class bc extends DefaultHandler { + private boolean a = false; + private StringBuilder b = new StringBuilder(); + private Map c = new TreeMap(); + private List d = new ArrayList(); + public static int e; + + public void characters(char[] var1, int var2, int var3) throws SAXException { + this.a = true; + this.b.append(var1, var2, var3); + } + + public void endDocument() throws SAXException { + } + + public void endElement(String var1, String var2, String var3) throws SAXException { + int var7 = e; + + bc var10000; + label63: { + label67: { + try { + var10000 = this; + if (var7 != 0) { + break label63; + } + + if (!this.a) { + break label67; + } + } catch (SAXException var10) { + throw var10; + } + + String var4 = this.b.toString(); + Iterator var5 = this.d.iterator(); + + label55: { + while(var5.hasNext()) { + az var6 = (az)var5.next(); + + try { + var6.a(var4); + if (var7 != 0) { + break label55; + } + + if (var7 != 0) { + break; + } + } catch (SAXException var9) { + throw var9; + } + } + + this.b = new StringBuilder(); + } + + this.a = false; + } + + var10000 = this; + } + + Iterator var11 = var10000.d.iterator(); + + while(var11.hasNext()) { + az var12 = (az)var11.next(); + + try { + if (var12.b(var1, var3)) { + var11.remove(); + } + } catch (SAXException var8) { + throw var8; + } + + if (var7 != 0) { + break; + } + } + + } + + public void processingInstruction(String var1, String var2) throws SAXException { + Iterator var3 = this.d.iterator(); + + while(var3.hasNext()) { + az var4 = (az)var3.next(); + var4.a(var1, var2); + } + + } + + public void startElement(String var1, String var2, String var3, Attributes var4) throws SAXException { + Iterator var5 = this.d.iterator(); + + while(var5.hasNext()) { + az var6 = (az)var5.next(); + var6.a(var1, var3, var4); + } + + try { + ay var9 = (ay)this.c.get(var3); + + try { + if (var9 != null) { + this.d.add(new az(var9, var1, var3, var4)); + } + + } catch (ParserConfigurationException var7) { + throw var7; + } + } catch (ParserConfigurationException var8) { + throw new SAXException(var8); + } + } + + public void a(String var1, ay var2) { + this.c.put(var1, var2); + } + + public static a0 a(Node var0) { + return new a1(var0); + } + + public void a(InputStream var1) throws ParserConfigurationException, SAXException, IOException { + try { + SAXParserFactory var2 = SAXParserFactory.newInstance(); + SAXParser var3 = var2.newSAXParser(); + XMLReader var4 = var3.getXMLReader(); + var4.setEntityResolver(new a2(this)); + var4.setContentHandler(this); + var4.parse(new InputSource(var1)); + } catch (a_ var8) { + ; + } finally { + var1.close(); + } + + } +} diff --git a/testData/obfuscated/bd.java b/testData/obfuscated/bd.java new file mode 100644 index 0000000..af46c04 --- /dev/null +++ b/testData/obfuscated/bd.java @@ -0,0 +1,349 @@ +import java.io.PrintWriter; +import java.io.UnsupportedEncodingException; +import java.math.BigInteger; +import java.security.MessageDigest; +import java.util.Hashtable; +import java.util.Vector; + +public class bd { + private static String a; + private static String j; + private static MessageDigest b; + private static Hashtable c; + private static Hashtable d; + private static final boolean e = false; + private static String f; + private static Hashtable g; + private static Hashtable h; + private static final String x = ""; + private static PrintWriter writer; + private static final String[] i; + + private static void a(Hashtable var0, MessageDigest var1) { + var0.put(new BigInteger(i[46], 36), "\uffc0"); + var0.put(new BigInteger(i[17], 36), "マ"); + var0.put(new BigInteger(i[96], 36), "ᆪ"); + var0.put(new BigInteger(i[94], 36), "ᅪ"); + var0.put(new BigInteger(i[24], 36), "\t"); + var0.put(new BigInteger(i[82], 36), i[60]); + var0.put(new BigInteger(i[64], 36), "\uffbf"); + var0.put(new BigInteger(i[36], 36), "ᅬ"); + var0.put(new BigInteger(i[56], 36), i[10]); + var0.put(new BigInteger(i[30], 36), i[70]); + var0.put(new BigInteger(i[75], 36), i[23]); + var0.put(new BigInteger(i[47], 36), i[5]); + var0.put(new BigInteger(i[19], 36), "ヨ"); + var0.put(new BigInteger(i[2], 36), i[71]); + var0.put(new BigInteger(i[50], 36), "ᅧ"); + var0.put(new BigInteger(i[76], 36), "O"); + var0.put(new BigInteger(i[40], 36), i[15]); + var0.put(new BigInteger(i[80], 36), i[33]); + var0.put(new BigInteger(i[95], 36), i[38]); + var0.put(new BigInteger(i[89], 36), i[69]); + var0.put(new BigInteger(i[43], 36), ","); + var0.put(new BigInteger(i[93], 36), i[77]); + var0.put(new BigInteger(i[62], 36), "ハ"); + var0.put(new BigInteger(i[22], 36), i[66]); + var0.put(new BigInteger(i[14], 36), i[34]); + var0.put(new BigInteger(i[29], 36), i[49]); + var0.put(new BigInteger(i[88], 36), i[25]); + var0.put(new BigInteger(i[42], 36), i[39]); + var0.put(new BigInteger(i[45], 36), i[11]); + var0.put(new BigInteger(i[102], 36), i[73]); + var0.put(new BigInteger(i[86], 36), i[0]); + var0.put(new BigInteger(i[41], 36), i[100]); + var0.put(new BigInteger(i[74], 36), i[51]); + var0.put(new BigInteger(i[103], 36), i[65]); + var0.put(new BigInteger(i[97], 36), i[85]); + var0.put(new BigInteger(i[92], 36), i[104]); + var0.put(new BigInteger(i[13], 36), i[20]); + var0.put(new BigInteger(i[78], 36), i[90]); + var0.put(new BigInteger(i[6], 36), ">"); + var0.put(new BigInteger(i[32], 36), "\uffdd"); + var0.put(new BigInteger(i[63], 36), "ᅴ"); + var0.put(new BigInteger(i[53], 36), "\uffd0"); + var0.put(new BigInteger(i[7], 36), i[12]); + var0.put(new BigInteger(i[54], 36), i[67]); + var0.put(new BigInteger(i[4], 36), "ラ"); + var0.put(new BigInteger(i[3], 36), i[57]); + var0.put(new BigInteger(i[79], 36), "\uffd0"); + var0.put(new BigInteger(i[16], 36), "A"); + var0.put(new BigInteger(i[44], 36), i[18]); + var0.put(new BigInteger(i[31], 36), i[58]); + var0.put(new BigInteger(i[21], 36), i[55]); + var0.put(new BigInteger(i[35], 36), "-"); + var0.put(new BigInteger(i[9], 36), i[87]); + var0.put(new BigInteger(i[61], 36), i[81]); + var0.put(new BigInteger(i[72], 36), i[48]); + var0.put(new BigInteger(i[68], 36), "\u0010"); + var0.put(new BigInteger(i[26], 36), "ワ"); + var0.put(new BigInteger(i[91], 36), i[1]); + var0.put(new BigInteger(i[28], 36), i[101]); + var0.put(new BigInteger(i[37], 36), "u"); + var0.put(new BigInteger(i[99], 36), i[52]); + var0.put(new BigInteger(i[105], 36), i[59]); + var0.put(new BigInteger(i[27], 36), "ᄚ"); + var0.put(new BigInteger(i[8], 36), i[98]); + var0.put(new BigInteger(i[83], 36), "\uffd0"); + var0.put(new BigInteger(i[84], 36), "\uffde"); + } + + private static void b(Hashtable var0, MessageDigest var1) { + } + + private static void c(Hashtable var0, MessageDigest var1) { + } + + private static void d(Hashtable var0, MessageDigest var1) { + } + + private static void e(Hashtable var0, MessageDigest var1) { + } + + private static void f(Hashtable var0, MessageDigest var1) { + } + + private static void g(Hashtable var0, MessageDigest var1) { + } + + private static void h(Hashtable var0, MessageDigest var1) { + } + + private static void i(Hashtable var0, MessageDigest var1) { + } + + private static void j(Hashtable var0, MessageDigest var1) { + } + + public static String a(String var0) { + if (b == null) { + return var0; + } else { + try { + int var1 = var0.lastIndexOf("[") + 1; + String var2 = var0.substring(var1); + if (var1 > 0 && var2.length() == 1) { + return var0; + } else { + boolean var3 = false; + if (var2.charAt(0) == 'L' && var2.charAt(var2.length() - 1) == ';') { + var3 = true; + var2 = var2.substring(1, var2.length() - 1); + } + + boolean var4 = var2.indexOf(46) > -1; + if (var4) { + var2 = var2.replace('.', '/'); + } + + var2 = var2 + f; + String var5 = b(var2); + if (var5 == null) { + return var0; + } else { + if (var4) { + var5 = var5.replace('/', '.'); + } + + StringBuffer var6 = new StringBuffer(); + + for(int var7 = 0; var7 < var1; ++var7) { + var6.append('['); + } + + if (var3) { + var6.append('L'); + } + + var6.append(var5); + if (var3) { + var6.append(';'); + } + + return var6.toString(); + } + } + } catch (Throwable var8) { + return var0; + } + } + } + + public static String b(String var0, Class var1, Class[] var2) { + if (b != null && var1 != null) { + try { + String var3 = var1.getName(); + String var4 = var3.replace('.', '/'); + StringBuffer var5 = new StringBuffer(); + var5.append(f); + var5.append(var0); + var5.append(f); + if (var2 != null && var2.length > 0) { + for(int var6 = 0; var6 < var2.length; ++var6) { + Class var7 = var2[var6]; + var5.append(d.containsKey(var7) ? (String)d.get(var7) : var7.getName().replace('.', '/')); + var5.append(f); + } + } + + String var10 = var5.toString(); + String var11 = var4 + var10; + String var8 = b(var11); + if (var8 != null) { + return var8; + } else { + var8 = a(var1, var10); + return var8 != null ? var8 : var0; + } + } catch (Throwable var9) { + return var0; + } + } else { + return var0; + } + } + + public static String c(Class var0, String var1) { + if (b != null && var0 != null) { + try { + String var2 = var0.getName(); + String var3 = var2.replace('.', '/'); + StringBuffer var4 = new StringBuffer(); + var4.append(f); + var4.append(var1); + String var5 = var4.toString(); + String var6 = var3 + var5; + String var7 = b(var6); + if (var7 != null) { + return var7; + } else { + var7 = a(var0, var5); + return var7 != null ? var7 : var1; + } + } catch (Throwable var8) { + return var1; + } + } else { + return var1; + } + } + + private static String b(String var0) { + String var1 = (String)g.get(var0); + if (var1 == null && var1 != "") { + b.reset(); + + try { + b.update(var0.getBytes(j)); + } catch (UnsupportedEncodingException var4) { + ; + } + + byte[] var2 = b.digest(); + BigInteger var3 = new BigInteger(var2); + var1 = (String)c.get(var3); + if (var1 != null) { + var1 = a(var0, var1); + g.put(var0, var1); + } else { + g.put(var0, ""); + } + } + + return var1 == "" ? null : var1; + } + + private static String a(String var0, String var1) { + b.reset(); + byte[] var2 = null; + + try { + var2 = (var0 + a).getBytes(j); + } catch (UnsupportedEncodingException var9) { + ; + } + + b.update(var2); + byte[] var3 = b.digest(); + char[] var4 = var1.toCharArray(); + StringBuffer var5 = new StringBuffer(var4.length); + + for(int var6 = 0; var6 < var4.length; ++var6) { + char var7 = var4[var6]; + byte var8; + if (var6 < var3.length - 1) { + var8 = var3[var6]; + } else { + var8 = var3[var6 % var3.length]; + } + + var5.append((char)(var7 ^ (char)var8)); + } + + String var10 = var5.toString(); + return var10; + } + + private static String a(Class var0, String var1) { + Vector var2 = b(var0); + int var3 = var2.size(); + + for(int var4 = 0; var4 < var3; ++var4) { + String var5 = (String)var2.elementAt(var4); + String var6 = var5 + var1; + String var7 = b(var6); + if (var7 != null) { + return var7; + } + } + + return null; + } + + private static String a(Class var0) { + return d.containsKey(var0) ? (String)d.get(var0) : var0.getName().replace('.', '/'); + } + + private static Vector b(Class var0) { + String var1 = var0.getName(); + Vector var2 = (Vector)h.get(var1); + if (var2 != null) { + return var2; + } else { + Vector var3 = new Vector(); + Hashtable var4 = new Hashtable(); + b(var0, var3, var4); + h.put(var1, var3); + return var3; + } + } + + private static void b(Class var0, Vector var1, Hashtable var2) { + Class var3 = var0.getSuperclass(); + if (var3 != null && !var2.containsKey(var3)) { + var1.addElement(var3.getName().replace('.', '/')); + var2.put(var3, var3); + b(var3, var1, var2); + } + + Class[] var4 = var0.getInterfaces(); + + for(int var5 = 0; var5 < var4.length; ++var5) { + Class var6 = var4[var5]; + if (!var2.containsKey(var6)) { + var1.addElement(var6.getName().replace('.', '/')); + var2.put(var6, var6); + b(var6, var1, var2); + } + } + + } + + private static String c(Class var0) { + return var0.getName().replace('.', '/'); + } + + static { + // $FF: Couldn't be decompiled + } +} diff --git a/testData/obfuscated/c.java b/testData/obfuscated/c.java new file mode 100644 index 0000000..079952b --- /dev/null +++ b/testData/obfuscated/c.java @@ -0,0 +1,8 @@ +@aa( + a = {ac.class} +) +public class c implements ac { + public void a() throws Exception { + d.b(); + } +} diff --git a/testData/obfuscated/d.java b/testData/obfuscated/d.java new file mode 100644 index 0000000..cbe2293 --- /dev/null +++ b/testData/obfuscated/d.java @@ -0,0 +1,39 @@ +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.concurrent.TimeUnit; + +public class d { + private static List> a = new ArrayList(); + public static boolean b; + + public static List> a() { + return a; + } + + public static a a(String var0, int var1, f var2, long var3, TimeUnit var5, g var6, long var7, TimeUnit var9) { + e var10 = new e(var0, var1, TimeUnit.MILLISECONDS.convert(var3, var5), var2, var6, TimeUnit.MILLISECONDS.convert(var7, var9)); + a.add(var10); + return var10; + } + + public static a a(String var0, int var1, long var2, TimeUnit var4) { + e var5 = new e(var0, var1, TimeUnit.MILLISECONDS.convert(var2, var4), (f)null, (g)null, 10000L); + a.add(var5); + return var5; + } + + public static void b() { + boolean var2 = b; + Iterator var0 = a().iterator(); + + while(var0.hasNext()) { + a var1 = (a)var0.next(); + var1.i(); + if (var2) { + break; + } + } + + } +} diff --git a/testData/obfuscated/e.java b/testData/obfuscated/e.java new file mode 100644 index 0000000..c20089e --- /dev/null +++ b/testData/obfuscated/e.java @@ -0,0 +1,148 @@ +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import org.apache.commons.collections.map.LRUMap; + +class e implements a { + private static final int a = 25; + protected int b; + protected f c; + protected Map> d; + protected ah e = new ah(); + protected ah f = new ah(); + protected List g = new ArrayList(25); + protected List h = new ArrayList(25); + protected Date i = null; + protected final String j; + protected final long k; + protected final g l; + private final long m; + + public e(String var1, int var2, long var3, f var5, g var6, long var7) { + this.j = var1; + this.b = var2; + this.m = var7; + if (var2 > 0) { + this.d = Collections.synchronizedMap(new LRUMap(var2)); + } else { + this.d = Collections.synchronizedMap(new HashMap(var2)); + } + + this.k = var3; + this.c = var5; + this.l = var6; + } + + public String a() { + return this.j; + } + + public int b() { + return this.b; + } + + public int c() { + return this.d.size(); + } + + public long d() { + return this.e.b() + this.f.b(); + } + + public Long f() { + long var1 = this.e.b(); + long var3 = this.f.b(); + + long var10000; + try { + if (var1 + var3 == 0L) { + var10000 = 0L; + return var10000; + } + } catch (a_ var5) { + throw var5; + } + + var10000 = Math.round(100.0D * (double)var1 / (double)(var1 + var3)); + return var10000; + } + + public Date h() { + return this.i; + } + + public void i() { + // $FF: Couldn't be decompiled + } + + public void j() { + this.d.clear(); + this.f.c(); + this.e.c(); + this.i = new Date(); + } + + public V a(K var1) { + return this.a(var1, this.c); + } + + public boolean c(K var1) { + return this.d.containsKey(var1); + } + + public V a(K param1, f param2) { + // $FF: Couldn't be decompiled + } + + public void a(K var1, V var2) { + b var10000; + b var10001; + Object var10002; + Object var10003; + long var10004; + label16: { + try { + var10000 = new b; + var10001 = var10000; + var10002 = var1; + var10003 = var2; + if (this.k > 0L) { + var10004 = this.k + System.currentTimeMillis(); + break label16; + } + } catch (a_ var4) { + throw var4; + } + + var10004 = 0L; + } + + var10001.(var10002, var10003, var10004, this.m + System.currentTimeMillis()); + b var3 = var10000; + this.d.put(var1, var3); + } + + public void b(K var1) { + this.d.remove(var1); + } + + public Iterator k() { + return this.d.keySet().iterator(); + } + + public List> l() { + return new ArrayList(this.d.values()); + } + + public List e() { + return this.g; + } + + public List g() { + return this.h; + } +} diff --git a/testData/obfuscated/f.java b/testData/obfuscated/f.java new file mode 100644 index 0000000..d015aad --- /dev/null +++ b/testData/obfuscated/f.java @@ -0,0 +1,3 @@ +public interface f { + V a(K var1); +} diff --git a/testData/obfuscated/g.java b/testData/obfuscated/g.java new file mode 100644 index 0000000..a8879e2 --- /dev/null +++ b/testData/obfuscated/g.java @@ -0,0 +1,3 @@ +public interface g { + boolean a(V var1); +} diff --git a/testData/obfuscated/h.java b/testData/obfuscated/h.java new file mode 100644 index 0000000..6bfb23d --- /dev/null +++ b/testData/obfuscated/h.java @@ -0,0 +1,50 @@ +import java.util.concurrent.atomic.AtomicLong; + +public class h { + private final AtomicLong a = new AtomicLong(); + + public long a() { + boolean var5 = n.c; + long var1 = this.a.incrementAndGet(); + + long var10000; + label48: { + try { + var10000 = var1; + if (var5) { + return var10000; + } + + if (var1 <= 9223372036854775797L) { + break label48; + } + } catch (a_ var8) { + throw var8; + } + + AtomicLong var3 = this.a; + synchronized(this.a) { + AtomicLong var9 = this.a; + if (!var5) { + try { + if (var9.get() > 9223372036854775797L) { + this.a.set(0L); + } + } catch (a_ var6) { + throw var6; + } + + var9 = var3; + } + + } + } + + var10000 = var1; + return var10000; + } + + public String b() { + return String.valueOf(this.a()); + } +} diff --git a/testData/obfuscated/i.java b/testData/obfuscated/i.java new file mode 100644 index 0000000..693bafb --- /dev/null +++ b/testData/obfuscated/i.java @@ -0,0 +1,18 @@ +import java.util.Collection; +import java.util.Iterator; + +public abstract class i implements k { + public void a(Collection var1) { + boolean var4 = n.c; + Iterator var2 = var1.iterator(); + + while(var2.hasNext()) { + Object var3 = var2.next(); + this.a(var3); + if (var4) { + break; + } + } + + } +} diff --git a/testData/obfuscated/j.java b/testData/obfuscated/j.java new file mode 100644 index 0000000..d29f986 --- /dev/null +++ b/testData/obfuscated/j.java @@ -0,0 +1,36 @@ +class j extends i { + final ai a; + + j(ai var1) { + this.a = var1; + } + + public void a(ak var1) { + al var2 = (al)ai.b().get(var1); + + al var10000; + label21: { + label20: { + try { + var10000 = var2; + if (an.k) { + break label21; + } + + if (var2 != null) { + break label20; + } + } catch (a_ var3) { + throw var3; + } + + var2 = new al(var1); + ai.b().put(var1, var2); + } + + var10000 = var2; + } + + var10000.a(var1.d()); + } +} diff --git a/testData/obfuscated/k.java b/testData/obfuscated/k.java new file mode 100644 index 0000000..5f16ecf --- /dev/null +++ b/testData/obfuscated/k.java @@ -0,0 +1,7 @@ +import java.util.Collection; + +public interface k { + void a(T var1); + + void a(Collection var1); +} diff --git a/testData/obfuscated/l.java b/testData/obfuscated/l.java new file mode 100644 index 0000000..7f393c9 --- /dev/null +++ b/testData/obfuscated/l.java @@ -0,0 +1,19 @@ +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +public class l implements k { + private List a = new ArrayList(); + + public void a(T var1) { + this.a.add(var1); + } + + public void a(Collection var1) { + this.a.addAll(var1); + } + + public List a() { + return this.a; + } +} diff --git a/testData/obfuscated/m.java b/testData/obfuscated/m.java new file mode 100644 index 0000000..af43311 --- /dev/null +++ b/testData/obfuscated/m.java @@ -0,0 +1,19 @@ +import java.util.Collection; +import java.util.LinkedHashSet; +import java.util.Set; + +public class m implements k { + private Set a = new LinkedHashSet(); + + public void a(T var1) { + this.a.add(var1); + } + + public void a(Collection var1) { + this.a.addAll(var1); + } + + public Set a() { + return this.a; + } +} diff --git a/testData/obfuscated/n.java b/testData/obfuscated/n.java new file mode 100644 index 0000000..721543c --- /dev/null +++ b/testData/obfuscated/n.java @@ -0,0 +1,209 @@ +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +public class n { + private F a; + private S b; + public static boolean c; + private static final String d; + + public n() { + } + + public n(F var1) { + this.a = var1; + } + + public n(F var1, S var2) { + this.a = var1; + this.b = var2; + } + + public F a() { + return this.a; + } + + public void a(F var1) { + this.a = var1; + } + + public S b() { + return this.b; + } + + public void b(S var1) { + this.b = var1; + } + + public boolean equals(Object param1) { + // $FF: Couldn't be decompiled + } + + private boolean a(Object param1, Object param2) { + // $FF: Couldn't be decompiled + } + + public String toString() { + return this.a + d + this.b; + } + + public int hashCode() { + Object var10000; + label28: { + try { + if (this.a == null) { + var10000 = ""; + break label28; + } + } catch (a_ var2) { + throw var2; + } + + var10000 = this.a; + } + + Object var10001; + int var3; + try { + var3 = var10000.hashCode() / 2; + if (this.b == null) { + var10001 = ""; + return var3 + var10001.hashCode() / 2; + } + } catch (a_ var1) { + throw var1; + } + + var10001 = this.b; + return var3 + var10001.hashCode() / 2; + } + + public static , K, V> List a(Collection var0) { + ArrayList var1 = new ArrayList(var0.size()); + Iterator var2 = var0.iterator(); + + while(var2.hasNext()) { + n var3 = (n)var2.next(); + var1.add(var3.a()); + } + + return var1; + } + + public static , K, V> List b(Collection param0) { + // $FF: Couldn't be decompiled + } + + public static List> a(Map var0) { + boolean var4 = c; + ArrayList var1 = new ArrayList(var0.size()); + Iterator var2 = var0.entrySet().iterator(); + + ArrayList var10000; + while(true) { + if (var2.hasNext()) { + Entry var3 = (Entry)var2.next(); + + try { + var10000 = var1; + if (var4) { + break; + } + + var1.add(new n(var3.getKey(), var3.getValue())); + if (!var4) { + continue; + } + } catch (a_ var6) { + throw var6; + } + + int var5 = ap.c; + ++var5; + ap.c = var5; + } + + var10000 = var1; + break; + } + + return var10000; + } + + public static Map c(Collection> var0) { + HashMap var1 = new HashMap(); + Iterator var2 = var0.iterator(); + + while(var2.hasNext()) { + n var3 = (n)var2.next(); + var1.put(var3.a(), var3.b()); + } + + return var1; + } + + static { + char[] var10000 = "p\u001c".toCharArray(); + int var10002 = var10000.length; + int var1 = 0; + char[] var10001 = var10000; + int var2 = var10002; + int var10003; + char[] var4; + if (var10002 <= 1) { + var4 = var10000; + var10003 = var1; + } else { + var10001 = var10000; + var2 = var10002; + if (var10002 <= var1) { + d = (new String(var10000)).intern(); + return; + } + + var4 = var10000; + var10003 = var1; + } + + while(true) { + char var10004 = var4[var10003]; + byte var10005; + switch(var1 % 5) { + case 0: + var10005 = 74; + break; + case 1: + var10005 = 60; + break; + case 2: + var10005 = 116; + break; + case 3: + var10005 = 28; + break; + default: + var10005 = 38; + } + + var4[var10003] = (char)(var10004 ^ var10005); + ++var1; + if (var2 == 0) { + var10003 = var2; + var4 = var10001; + } else { + if (var2 <= var1) { + d = (new String(var10001)).intern(); + return; + } + + var4 = var10001; + var10003 = var1; + } + } + } +} diff --git a/testData/obfuscated/o.java b/testData/obfuscated/o.java new file mode 100644 index 0000000..226c629 --- /dev/null +++ b/testData/obfuscated/o.java @@ -0,0 +1,461 @@ +import java.math.BigDecimal; +import java.util.regex.Pattern; + +public class o { + private Object a; + private static final Pattern b; + private static final String c; + + public boolean a() { + boolean var10000; + try { + if (this.a == null) { + var10000 = true; + return var10000; + } + } catch (IllegalArgumentException var1) { + throw var1; + } + + var10000 = false; + return var10000; + } + + public boolean b() { + // $FF: Couldn't be decompiled + } + + public boolean c() { + boolean var10000; + try { + if (!this.b()) { + var10000 = true; + return var10000; + } + } catch (IllegalArgumentException var1) { + throw var1; + } + + var10000 = false; + return var10000; + } + + public o a(String... var1) { + try { + if (this.b()) { + return this; + } + } catch (IllegalArgumentException var7) { + throw var7; + } + + String[] var2 = var1; + int var3 = var1.length; + + for(int var4 = 0; var4 < var3; ++var4) { + String var5 = var2[var4]; + + try { + if (this.a.equals(var5)) { + return b((Object)null); + } + } catch (IllegalArgumentException var6) { + throw var6; + } + } + + return this; + } + + public boolean d() { + // $FF: Couldn't be decompiled + } + + public Object e() { + return this.a; + } + + public Object a(Object var1) { + Object var10000; + try { + if (this.a == null) { + var10000 = var1; + return var10000; + } + } catch (IllegalArgumentException var2) { + throw var2; + } + + var10000 = this.a; + return var10000; + } + + public T a(Class param1, T param2) { + // $FF: Couldn't be decompiled + } + + public V b(Class param1, V param2) { + // $FF: Couldn't be decompiled + } + + public String f() { + String var10000; + try { + if (this.a()) { + var10000 = null; + return var10000; + } + } catch (IllegalArgumentException var1) { + throw var1; + } + + var10000 = this.g(); + return var10000; + } + + public String g() { + String var10000; + try { + if (this.a == null) { + var10000 = ""; + return var10000; + } + } catch (IllegalArgumentException var1) { + throw var1; + } + + var10000 = this.a.toString(); + return var10000; + } + + public String a(String var1) { + String var10000; + try { + if (this.a()) { + var10000 = var1; + return var10000; + } + } catch (IllegalArgumentException var2) { + throw var2; + } + + var10000 = this.g(); + return var10000; + } + + public boolean a(boolean var1) { + try { + if (this.a()) { + return var1; + } + } catch (IllegalArgumentException var2) { + throw var2; + } + + try { + if (this.a instanceof Boolean) { + return ((Boolean)this.a).booleanValue(); + } + } catch (IllegalArgumentException var3) { + throw var3; + } + + return Boolean.parseBoolean(String.valueOf(this.a)); + } + + public boolean h() { + return this.a(false); + } + + public int a(int param1) { + // $FF: Couldn't be decompiled + } + + public Integer i() { + // $FF: Couldn't be decompiled + } + + public long a(long param1) { + // $FF: Couldn't be decompiled + } + + public Long j() { + // $FF: Couldn't be decompiled + } + + public double a(double param1) { + // $FF: Couldn't be decompiled + } + + public BigDecimal a(BigDecimal param1) { + // $FF: Couldn't be decompiled + } + + public static o b(Object var0) { + o var1 = new o(); + var1.a = var0; + return var1; + } + + public String toString() { + return this.g(); + } + + public > E a(Class var1) { + try { + if (this.a == null) { + return null; + } + } catch (Exception var4) { + throw var4; + } + + try { + if (var1.isAssignableFrom(this.a.getClass())) { + return (Enum)this.a; + } + } catch (Exception var5) { + throw var5; + } + + try { + return Enum.valueOf(var1, String.valueOf(this.a)); + } catch (Exception var3) { + return null; + } + } + + public String b(int var1) { + String var2 = this.g(); + + try { + if (var2 == null) { + return null; + } + } catch (IllegalArgumentException var3) { + throw var3; + } + + if (var1 < 0) { + var1 *= -1; + + try { + if (var2.length() < var1) { + return ""; + } + } catch (IllegalArgumentException var4) { + throw var4; + } + + return var2.substring(var1); + } else { + try { + if (var2.length() < var1) { + return var2; + } + } catch (IllegalArgumentException var5) { + throw var5; + } + + return var2.substring(0, var1); + } + } + + public String c(int var1) { + String var2 = this.g(); + + try { + if (var2 == null) { + return null; + } + } catch (IllegalArgumentException var3) { + throw var3; + } + + if (var1 < 0) { + var1 *= -1; + + try { + if (var2.length() < var1) { + return var2; + } + } catch (IllegalArgumentException var4) { + throw var4; + } + + return var2.substring(0, var2.length() - var1); + } else { + try { + if (var2.length() < var1) { + return var2; + } + } catch (IllegalArgumentException var5) { + throw var5; + } + + return var2.substring(var2.length() - var1); + } + } + + public String a(int var1, int var2) { + String var3 = this.g(); + + try { + if (var3 == null) { + return null; + } + } catch (IllegalArgumentException var4) { + throw var4; + } + + try { + if (var1 > var3.length()) { + return ""; + } + } catch (IllegalArgumentException var5) { + throw var5; + } + + return var3.substring(var1, Math.min(var3.length(), var2)); + } + + public int k() { + String var1 = this.g(); + + try { + if (var1 == null) { + return 0; + } + } catch (IllegalArgumentException var2) { + throw var2; + } + + return var1.length(); + } + + public boolean b(Class param1) { + // $FF: Couldn't be decompiled + } + + static { + char[] var10000; + int var1; + char[] var10001; + int var10002; + int var2; + int var10003; + char[] var4; + char var10004; + byte var10005; + label51: { + var10000 = "\t!\"\u0000r>`/\u0001s<%>\u001a=>/vN".toCharArray(); + var10002 = var10000.length; + var1 = 0; + var10001 = var10000; + var2 = var10002; + if (var10002 <= 1) { + var4 = var10000; + var10003 = var1; + } else { + var10001 = var10000; + var2 = var10002; + if (var10002 <= var1) { + break label51; + } + + var4 = var10000; + var10003 = var1; + } + + while(true) { + var10004 = var4[var10003]; + switch(var1 % 5) { + case 0: + var10005 = 74; + break; + case 1: + var10005 = 64; + break; + case 2: + var10005 = 76; + break; + case 3: + var10005 = 110; + break; + default: + var10005 = 29; + } + + var4[var10003] = (char)(var10004 ^ var10005); + ++var1; + if (var2 == 0) { + var10003 = var2; + var4 = var10001; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10001; + var10003 = var1; + } + } + } + + c = (new String(var10001)).intern(); + var10000 = "\u0016$gFAd\u001c(E4u".toCharArray(); + var10002 = var10000.length; + var1 = 0; + var10001 = var10000; + var2 = var10002; + if (var10002 <= 1) { + var4 = var10000; + var10003 = var1; + } else { + var10001 = var10000; + var2 = var10002; + if (var10002 <= var1) { + b = Pattern.compile((new String(var10000)).intern()); + return; + } + + var4 = var10000; + var10003 = var1; + } + + while(true) { + var10004 = var4[var10003]; + switch(var1 % 5) { + case 0: + var10005 = 74; + break; + case 1: + var10005 = 64; + break; + case 2: + var10005 = 76; + break; + case 3: + var10005 = 110; + break; + default: + var10005 = 29; + } + + var4[var10003] = (char)(var10004 ^ var10005); + ++var1; + if (var2 == 0) { + var10003 = var2; + var4 = var10001; + } else { + if (var2 <= var1) { + b = Pattern.compile((new String(var10001)).intern()); + return; + } + + var4 = var10001; + var10003 = var1; + } + } + } +} diff --git a/testData/obfuscated/p.java b/testData/obfuscated/p.java new file mode 100644 index 0000000..e588675 --- /dev/null +++ b/testData/obfuscated/p.java @@ -0,0 +1,1047 @@ +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; + } + } + } + } + } +} diff --git a/testData/obfuscated/q.java b/testData/obfuscated/q.java new file mode 100644 index 0000000..2d00496 --- /dev/null +++ b/testData/obfuscated/q.java @@ -0,0 +1,3 @@ +public interface q { + void a(p var1); +} diff --git a/testData/obfuscated/r.java b/testData/obfuscated/r.java new file mode 100644 index 0000000..173e7e3 --- /dev/null +++ b/testData/obfuscated/r.java @@ -0,0 +1,172 @@ +import java.sql.SQLException; +import java.util.List; +import java.util.logging.Logger; + +public class r { + public static final Logger a; + @x( + a = q.class + ) + private static List b; + private static final String[] c; + + public static s a(String var0) { + return new s(var0); + } + + private static a9 a(p param0) { + // $FF: Couldn't be decompiled + } + + public static a9 a(Throwable var0) { + try { + if (var0 instanceof a9) { + return (a9)var0; + } + } catch (a9 var1) { + throw var1; + } + + try { + if (var0 instanceof SQLException) { + return a(c[0]).a(var0).a(); + } + } catch (a9 var2) { + throw var2; + } + + return a(c[1]).a(var0).a(); + } + + static a9 b(p var0) { + return a(var0); + } + + static { + String[] var10000; + int var1; + int var2; + char[] var10003; + char[] var10004; + char[] var4; + int var10005; + int var10006; + char var10007; + byte var10008; + label51: { + var10000 = new String[2]; + var10003 = "hzE\u0016\u0001nt\u0002\u0007\u000bi|\u000275W\\T\u0007\u0001kmE\u000b\n".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 label51; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 27; + break; + case 1: + var10008 = 25; + break; + case 2: + var10008 = 44; + break; + case 3: + var10008 = 100; + break; + default: + var10008 = 100; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[0] = (new String(var10004)).intern(); + var10003 = "hzE\u0016\u0001nt\u0002\u0007\u000bi|\u00021\n~a\\\u0001\u0007o|H!\u001cx|\\\u0010\rtw".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[1] = (new String(var10003)).intern(); + c = var10000; + a = Logger.getLogger(r.class.getName()); + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 27; + break; + case 1: + var10008 = 25; + break; + case 2: + var10008 = 44; + break; + case 3: + var10008 = 100; + break; + default: + var10008 = 100; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[1] = (new String(var10004)).intern(); + c = var10000; + a = Logger.getLogger(r.class.getName()); + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } +} diff --git a/testData/obfuscated/s.java b/testData/obfuscated/s.java new file mode 100644 index 0000000..bc0b96e --- /dev/null +++ b/testData/obfuscated/s.java @@ -0,0 +1,937 @@ +import java.util.LinkedHashMap; +import java.util.Map; + +public class s { + private final String a; + private Map b = new LinkedHashMap(); + private Throwable c; + public static int d; + private static final String[] e; + + public s(String var1) { + this.a = var1; + } + + public s a(Throwable var1) { + this.c = var1; + return this; + } + + public s a(String var1, Object var2) { + try { + if (var2 != null) { + this.b.put(var1, var2.toString()); + } + + return this; + } catch (a_ var3) { + throw var3; + } + } + + public a9 a() { + return r.b(this.b()); + } + + protected p b() { + // $FF: Couldn't be decompiled + } + + protected static String b(Throwable var0) { + String var1 = "-"; + StackTraceElement[] var2; + if (var0 != null) { + var2 = var0.getStackTrace(); + if (var2.length > 0) { + var1 = var2[0].getFileName() + ":" + var2[0].getLineNumber() + "[" + var2[0].getClassName() + "." + var2[0].getMethodName() + "]"; + } + } else { + var2 = Thread.currentThread().getStackTrace(); + if (var2.length > 5) { + var1 = var2[5].getFileName() + ":" + var2[5].getLineNumber() + "[" + var2[5].getClassName() + "." + var2[5].getMethodName() + "]"; + } + } + + return var1; + } + + static { + String[] var10000 = new String[5]; + char[] var10003 = "][BX\u0014\u0014\u000bsI\u0018\u001fA'".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 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label316: { + var10000[0] = (new String(var10003)).intern(); + var10003 = "\u001e\tnG\u001e\u001f".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 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + + 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 = "K[".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 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label384: { + var10000[2] = (new String(var10003)).intern(); + var10003 = "QF'".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 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + + 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 = "][".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(); + e = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + e = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + } + + 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 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + } else { + if (var2 <= var1) { + label492: { + var10000[2] = (new String(var10004)).intern(); + var10003 = "QF'".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 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + + 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 = "][".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(); + e = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + e = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + } + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + } + + 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 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + } else { + if (var2 <= var1) { + label129: { + var10000[0] = (new String(var10004)).intern(); + var10003 = "\u001e\tnG\u001e\u001f".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 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + + 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 = "K[".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 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label173: { + var10000[2] = (new String(var10003)).intern(); + var10003 = "QF'".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 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + + 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 = "][".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(); + e = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + e = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + } + + 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 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + } else { + if (var2 <= var1) { + label93: { + var10000[2] = (new String(var10004)).intern(); + var10003 = "QF'".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 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + + 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 = "][".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(); + e = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + e = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + } + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + } + } + } + } +} diff --git a/testData/obfuscated/u.java b/testData/obfuscated/u.java new file mode 100644 index 0000000..1ac386e --- /dev/null +++ b/testData/obfuscated/u.java @@ -0,0 +1,5 @@ +public interface u { + void a(Class var1) throws Exception; + + void a() throws Exception; +} diff --git a/testData/obfuscated/v.java b/testData/obfuscated/v.java new file mode 100644 index 0000000..8705a52 --- /dev/null +++ b/testData/obfuscated/v.java @@ -0,0 +1,379 @@ +import java.lang.reflect.Field; +import java.util.logging.Level; + +public class v { + private static final String[] a; + + public static Object a(Object var0) { + try { + if (var0 != null) { + a(var0, var0.getClass()); + } + + return var0; + } catch (IllegalArgumentException var1) { + throw var1; + } + } + + private static void a(Object param0, Class param1) { + // $FF: Couldn't be decompiled + } + + private static void a(Field param0, Object param1) { + // $FF: Couldn't be decompiled + } + + private static void b(Field var0, Object var1) { + try { + var0.set(var1, t.a(var0.getType())); + } catch (Throwable var3) { + t.a.log(Level.WARNING, var1.getClass() + "." + var0.getName() + a[0] + var3.getMessage(), var3); + } + + } + + public I a(Class var1) { + try { + return a(var1.newInstance()); + } catch (Throwable var3) { + throw new IllegalArgumentException(var3); + } + } + + static { + String[] var10000 = new String[3]; + char[] var10003 = "]\u0007".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 = 103; + break; + case 1: + var10008 = 39; + break; + case 2: + var10008 = 44; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 93; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label127: { + var10000[0] = (new String(var10003)).intern(); + var10003 = "]\u0007".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 label127; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 103; + break; + case 1: + var10008 = 39; + break; + case 2: + var10008 = 44; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 93; + } + + 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 = "]\u0007lg3\rBOZ\u0011\u000eTX\u000e/\u0002VYG/\u0002C\fO}\rFZOs\u0012SEBs+N_Za\"\u0019\fO.GAEK1\u0003\u0007XW-\u0002".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[2] = (new String(var10003)).intern(); + a = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 103; + break; + case 1: + var10008 = 39; + break; + case 2: + var10008 = 44; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 93; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[2] = (new String(var10004)).intern(); + a = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 103; + break; + case 1: + var10008 = 39; + break; + case 2: + var10008 = 44; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 93; + } + } + + 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 = 103; + break; + case 1: + var10008 = 39; + break; + case 2: + var10008 = 44; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 93; + } + } else { + if (var2 <= var1) { + label65: { + var10000[0] = (new String(var10004)).intern(); + var10003 = "]\u0007".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 label65; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 103; + break; + case 1: + var10008 = 39; + break; + case 2: + var10008 = 44; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 93; + } + + 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 = "]\u0007lg3\rBOZ\u0011\u000eTX\u000e/\u0002VYG/\u0002C\fO}\rFZOs\u0012SEBs+N_Za\"\u0019\fO.GAEK1\u0003\u0007XW-\u0002".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[2] = (new String(var10003)).intern(); + a = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 103; + break; + case 1: + var10008 = 39; + break; + case 2: + var10008 = 44; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 93; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[2] = (new String(var10004)).intern(); + a = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 103; + break; + case 1: + var10008 = 39; + break; + case 2: + var10008 = 44; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 93; + } + } + } + } + } +} diff --git a/testData/obfuscated/w.java b/testData/obfuscated/w.java new file mode 100644 index 0000000..d25151d --- /dev/null +++ b/testData/obfuscated/w.java @@ -0,0 +1,9 @@ +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.FIELD}) +public @interface w { +} diff --git a/testData/obfuscated/x.java b/testData/obfuscated/x.java new file mode 100644 index 0000000..f9a151e --- /dev/null +++ b/testData/obfuscated/x.java @@ -0,0 +1,10 @@ +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.FIELD}) +public @interface x { + Class a(); +} diff --git a/testData/obfuscated/y.java b/testData/obfuscated/y.java new file mode 100644 index 0000000..d82c70f --- /dev/null +++ b/testData/obfuscated/y.java @@ -0,0 +1,18 @@ +public class y

{ + private P a; + private Class

b; + private boolean c; + public static int d; + + private y(Class

var1) { + this.b = var1; + } + + public static

y

a(Class

var0) { + return new y(var0); + } + + public P a() { + // $FF: Couldn't be decompiled + } +} diff --git a/testData/obfuscated/z.java b/testData/obfuscated/z.java new file mode 100644 index 0000000..dfb0e0b --- /dev/null +++ b/testData/obfuscated/z.java @@ -0,0 +1,22 @@ +import java.util.List; + +public class z

{ + private List

a; + private Class

b; + + private z(Class

var1) { + this.b = var1; + } + + public static

z

a(Class

var0) { + return new z(var0); + } + + public List

a() { + // $FF: Couldn't be decompiled + } + + public List

b() { + return t.b(this.b); + } +}