Flow obfuscation

Before Flow obfuscation

@Override
public void run() {
    do {
        try {
            Thread.sleep(500L);
        }
        catch (InterruptedException e) {
            System.out.println(e);
        }
        System.out.println("int " + ++a);
    } while (true);
}

After Flow obfuscation


    @Override
    public void run() {
        do {
            block3 : {
                try {
                    16 + 48;
                    Thread.sleep(500L);
                    if (!QLPJzoaxql) break block3;
                    Object v0 = null;
                    Object v1 = null;
                    Object v2 = null;
                }
                catch (InterruptedException interruptedException) {
                    Object var1_1 = null;
                    InterruptedException interruptedException2 = interruptedException;
                    "UO".toString().isEmpty();
                    InterruptedException interruptedException3 = interruptedException2;
                    "JH".equals(null);
                    System.out.println(interruptedException2);
                }
                throw null;
            }
            "XvC".toString().isEmpty();
            "R".equals(null);
            -82 + 88;
            "HS".length();
            System.out.println("int " + ++a);
            "mxUJk".toCharArray();
        } while (!QLPJzoaxql);
        Object v5 = null;
        Object v6 = null;
        Object v7 = null;
        throw null;
    }