/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.policy.variable.Syntax$SyntaxErrorHandler
 *  com.l7tech.util.HexUtils
 *  org.apache.commons.lang3.StringUtils
 *  org.jaaslounge.decoding.kerberos.KerberosAuthData
 *  org.jaaslounge.decoding.kerberos.KerberosEncData
 *  org.jaaslounge.decoding.kerberos.KerberosPacAuthData
 *  org.jaaslounge.decoding.kerberos.KerberosRelevantAuthData
 *  org.jaaslounge.decoding.pac.Pac
 *  org.jaaslounge.decoding.pac.PacLogonInfo
 *  org.jaaslounge.decoding.pac.PacSid
 *  org.jaaslounge.decoding.pac.PacSignature
 */
package com.l7tech.server.policy.variable;

import com.l7tech.policy.variable.Syntax;
import com.l7tech.server.policy.variable.ExpandVariables;
import com.l7tech.util.HexUtils;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.lang3.StringUtils;
import org.jaaslounge.decoding.kerberos.KerberosAuthData;
import org.jaaslounge.decoding.kerberos.KerberosEncData;
import org.jaaslounge.decoding.kerberos.KerberosPacAuthData;
import org.jaaslounge.decoding.kerberos.KerberosRelevantAuthData;
import org.jaaslounge.decoding.pac.Pac;
import org.jaaslounge.decoding.pac.PacLogonInfo;
import org.jaaslounge.decoding.pac.PacSid;
import org.jaaslounge.decoding.pac.PacSignature;

public class KerberosAuthorizationDataSelector
implements ExpandVariables.Selector<KerberosEncData> {
    public static final String KERBEROS_DATA;
    public static final String KERBEROS_AUTHORIZATION;
    public static final String PAC;
    public static final String PAC_LOGON_INFO;
    public static final String PAC_KDC_SIGNATURE;
    public static final String PAC_SERVER_SIGNATURE;
    public static final String KERBEROS_RELEVANT_DATA;
    protected static final Pattern KERBEROS_AUTHORIZATION_PATTERN;
    private static final String[] a;

    @Override
    public ExpandVariables.Selector.Selection select(String string, KerberosEncData kerberosEncData, String string2, Syntax.SyntaxErrorHandler syntaxErrorHandler, boolean bl2) {
        Object var6_6 = null;
        String string3 = string2.toLowerCase();
        try {
            if (null == kerberosEncData) {
                return null;
            }
        }
        catch (NumberFormatException numberFormatException) {
            throw KerberosAuthorizationDataSelector.a(numberFormatException);
        }
        List list = kerberosEncData.getUserAuthorizations();
        return this.a(string, list, string3, syntaxErrorHandler, bl2);
    }

    @Override
    public Class<KerberosEncData> getContextObjectClass() {
        return KerberosEncData.class;
    }

    private ExpandVariables.Selector.Selection a(String string, List<KerberosAuthData> list, String string2, Syntax.SyntaxErrorHandler syntaxErrorHandler, boolean bl2) {
        ExpandVariables.Selector.Selection selection;
        block12: {
            block13: {
                Matcher matcher;
                block15: {
                    String string3;
                    KerberosAuthData kerberosAuthData;
                    block14: {
                        selection = null;
                        matcher = KERBEROS_AUTHORIZATION_PATTERN.matcher(string2);
                        try {
                            if (!matcher.find()) break block12;
                            if (!StringUtils.isNotEmpty((CharSequence)matcher.group(1))) break block13;
                        }
                        catch (NumberFormatException numberFormatException) {
                            throw KerberosAuthorizationDataSelector.a(numberFormatException);
                        }
                        kerberosAuthData = this.a(list, matcher, syntaxErrorHandler);
                        if (!StringUtils.isNotEmpty((CharSequence)matcher.group(3))) break block15;
                        string3 = matcher.group(3).substring(1);
                        try {
                            try {
                                if (!string3.startsWith(a[39]) && !string3.equals(a[30])) break block14;
                            }
                            catch (NumberFormatException numberFormatException) {
                                throw KerberosAuthorizationDataSelector.a(numberFormatException);
                            }
                            if (!(kerberosAuthData instanceof KerberosPacAuthData)) break block12;
                        }
                        catch (NumberFormatException numberFormatException) {
                            throw KerberosAuthorizationDataSelector.a(numberFormatException);
                        }
                        KerberosPacAuthData kerberosPacAuthData = (KerberosPacAuthData)kerberosAuthData;
                        String[] stringArray = a;
                        if (string3.startsWith(stringArray[38])) {
                            selection = this.a(kerberosAuthData, string3, syntaxErrorHandler, bl2);
                        } else {
                            try {
                                if (!string3.startsWith(a[8]) && !string3.startsWith(a[29])) break block12;
                            }
                            catch (NumberFormatException numberFormatException) {
                                throw KerberosAuthorizationDataSelector.a(numberFormatException);
                            }
                            selection = this.a(kerberosPacAuthData, string3, syntaxErrorHandler, bl2);
                        }
                        break block12;
                    }
                    try {
                        if (!string3.startsWith(a[23]) || !(kerberosAuthData instanceof KerberosRelevantAuthData)) break block12;
                    }
                    catch (NumberFormatException numberFormatException) {
                        throw KerberosAuthorizationDataSelector.a(numberFormatException);
                    }
                    KerberosRelevantAuthData kerberosRelevantAuthData = (KerberosRelevantAuthData)kerberosAuthData;
                    List list2 = kerberosRelevantAuthData.getAuthorizations();
                    selection = this.a(string, list2, string3, syntaxErrorHandler, bl2);
                    break block12;
                }
                selection = new ExpandVariables.Selector.Selection(this.a(list, matcher, syntaxErrorHandler), string2.substring(a[31].length()));
                break block12;
            }
            selection = new ExpandVariables.Selector.Selection(list, string2);
        }
        return selection;
    }

    private KerberosAuthData a(List<KerberosAuthData> list, Matcher matcher, Syntax.SyntaxErrorHandler syntaxErrorHandler) {
        KerberosAuthData kerberosAuthData;
        block6: {
            int n2;
            block7: {
                kerberosAuthData = null;
                try {
                    n2 = Integer.parseInt(matcher.group(2));
                }
                catch (NumberFormatException numberFormatException) {
                    throw new RuntimeException(syntaxErrorHandler.handleBadVariable(matcher.group(), (Throwable)numberFormatException));
                }
                try {
                    try {
                        if (null == list) break block6;
                        if (n2 < list.size()) break block7;
                    }
                    catch (NumberFormatException numberFormatException) {
                        throw KerberosAuthorizationDataSelector.a(numberFormatException);
                    }
                    throw new RuntimeException(syntaxErrorHandler.handleSubscriptOutOfRange(n2, matcher.group(), list.size()));
                }
                catch (NumberFormatException numberFormatException) {
                    throw KerberosAuthorizationDataSelector.a(numberFormatException);
                }
            }
            kerberosAuthData = list.get(n2);
        }
        return kerberosAuthData;
    }

    private ExpandVariables.Selector.Selection a(KerberosPacAuthData kerberosPacAuthData, String string, Syntax.SyntaxErrorHandler syntaxErrorHandler, boolean bl2) {
        String[] stringArray = a;
        if (string.startsWith(stringArray[33])) {
            PacSignature pacSignature = kerberosPacAuthData.getPac().getKdcSignature();
            return this.a(pacSignature, string, stringArray[8]);
        }
        stringArray = a;
        if (string.startsWith(stringArray[27])) {
            PacSignature pacSignature = kerberosPacAuthData.getPac().getServerSignature();
            return this.a(pacSignature, string, stringArray[29]);
        }
        return null;
    }

    private ExpandVariables.Selector.Selection a(PacSignature pacSignature, String string, String string2) {
        try {
            if (string.equals(string2 + a[22])) {
                return new ExpandVariables.Selector.Selection(HexUtils.encodeBase64((byte[])pacSignature.getChecksum(), (boolean)true));
            }
        }
        catch (NumberFormatException numberFormatException) {
            throw KerberosAuthorizationDataSelector.a(numberFormatException);
        }
        try {
            if (string.equals(string2 + a[20])) {
                return new ExpandVariables.Selector.Selection(pacSignature.getType());
            }
        }
        catch (NumberFormatException numberFormatException) {
            throw KerberosAuthorizationDataSelector.a(numberFormatException);
        }
        return null;
    }

    private ExpandVariables.Selector.Selection a(KerberosAuthData kerberosAuthData, String string, Syntax.SyntaxErrorHandler syntaxErrorHandler, boolean bl2) {
        block74: {
            if (kerberosAuthData instanceof KerberosPacAuthData) {
                PacLogonInfo pacLogonInfo;
                block75: {
                    Pac pac = ((KerberosPacAuthData)kerberosAuthData).getPac();
                    pacLogonInfo = pac.getLogonInfo();
                    try {
                        try {
                            if (!string.startsWith(a[34])) break block74;
                            if (!string.equals(a[0])) break block75;
                        }
                        catch (NumberFormatException numberFormatException) {
                            throw KerberosAuthorizationDataSelector.a(numberFormatException);
                        }
                        return new ExpandVariables.Selector.Selection(KerberosAuthorizationDataSelector.a(pacLogonInfo.getLogonTime()));
                    }
                    catch (NumberFormatException numberFormatException) {
                        throw KerberosAuthorizationDataSelector.a(numberFormatException);
                    }
                }
                try {
                    if (string.equals(a[19])) {
                        return new ExpandVariables.Selector.Selection(KerberosAuthorizationDataSelector.a(pacLogonInfo.getLogoffTime()));
                    }
                }
                catch (NumberFormatException numberFormatException) {
                    throw KerberosAuthorizationDataSelector.a(numberFormatException);
                }
                try {
                    if (string.equals(a[26])) {
                        return new ExpandVariables.Selector.Selection(KerberosAuthorizationDataSelector.a(pacLogonInfo.getKickOffTime()));
                    }
                }
                catch (NumberFormatException numberFormatException) {
                    throw KerberosAuthorizationDataSelector.a(numberFormatException);
                }
                try {
                    if (string.equals(a[2])) {
                        return new ExpandVariables.Selector.Selection(KerberosAuthorizationDataSelector.a(pacLogonInfo.getPwdLastChangeTime()));
                    }
                }
                catch (NumberFormatException numberFormatException) {
                    throw KerberosAuthorizationDataSelector.a(numberFormatException);
                }
                try {
                    if (string.equals(a[10])) {
                        return new ExpandVariables.Selector.Selection(KerberosAuthorizationDataSelector.a(pacLogonInfo.getPwdCanChangeTime()));
                    }
                }
                catch (NumberFormatException numberFormatException) {
                    throw KerberosAuthorizationDataSelector.a(numberFormatException);
                }
                try {
                    if (string.equals(a[32])) {
                        return new ExpandVariables.Selector.Selection(KerberosAuthorizationDataSelector.a(pacLogonInfo.getPwdMustChangeTime()));
                    }
                }
                catch (NumberFormatException numberFormatException) {
                    throw KerberosAuthorizationDataSelector.a(numberFormatException);
                }
                try {
                    if (string.equals(a[7])) {
                        return new ExpandVariables.Selector.Selection(pacLogonInfo.getUserDisplayName());
                    }
                }
                catch (NumberFormatException numberFormatException) {
                    throw KerberosAuthorizationDataSelector.a(numberFormatException);
                }
                try {
                    if (string.equals(a[37])) {
                        return new ExpandVariables.Selector.Selection(pacLogonInfo.getUserName());
                    }
                }
                catch (NumberFormatException numberFormatException) {
                    throw KerberosAuthorizationDataSelector.a(numberFormatException);
                }
                try {
                    if (string.equals(a[12])) {
                        return new ExpandVariables.Selector.Selection(pacLogonInfo.getLogonScript());
                    }
                }
                catch (NumberFormatException numberFormatException) {
                    throw KerberosAuthorizationDataSelector.a(numberFormatException);
                }
                try {
                    if (string.equals(a[17])) {
                        return new ExpandVariables.Selector.Selection(pacLogonInfo.getProfilePath());
                    }
                }
                catch (NumberFormatException numberFormatException) {
                    throw KerberosAuthorizationDataSelector.a(numberFormatException);
                }
                try {
                    if (string.equals(a[36])) {
                        return new ExpandVariables.Selector.Selection(pacLogonInfo.getHomeDirectory());
                    }
                }
                catch (NumberFormatException numberFormatException) {
                    throw KerberosAuthorizationDataSelector.a(numberFormatException);
                }
                try {
                    if (string.equals(a[3])) {
                        return new ExpandVariables.Selector.Selection(pacLogonInfo.getHomeDrive());
                    }
                }
                catch (NumberFormatException numberFormatException) {
                    throw KerberosAuthorizationDataSelector.a(numberFormatException);
                }
                try {
                    if (string.equals(a[28])) {
                        return new ExpandVariables.Selector.Selection(pacLogonInfo.getLogonCount());
                    }
                }
                catch (NumberFormatException numberFormatException) {
                    throw KerberosAuthorizationDataSelector.a(numberFormatException);
                }
                try {
                    if (string.equals(a[35])) {
                        return new ExpandVariables.Selector.Selection(pacLogonInfo.getBadPasswordCount());
                    }
                }
                catch (NumberFormatException numberFormatException) {
                    throw KerberosAuthorizationDataSelector.a(numberFormatException);
                }
                try {
                    if (string.equals(a[25])) {
                        return new ExpandVariables.Selector.Selection(pacLogonInfo.getUserSid().toString());
                    }
                }
                catch (NumberFormatException numberFormatException) {
                    throw KerberosAuthorizationDataSelector.a(numberFormatException);
                }
                try {
                    if (string.equals(a[4])) {
                        return new ExpandVariables.Selector.Selection(pacLogonInfo.getGroupSid().toString());
                    }
                }
                catch (NumberFormatException numberFormatException) {
                    throw KerberosAuthorizationDataSelector.a(numberFormatException);
                }
                try {
                    if (string.equals(a[13])) {
                        return new ExpandVariables.Selector.Selection(pacLogonInfo.getGroupSids().length);
                    }
                }
                catch (NumberFormatException numberFormatException) {
                    throw KerberosAuthorizationDataSelector.a(numberFormatException);
                }
                try {
                    if (string.equals(a[40])) {
                        return new ExpandVariables.Selector.Selection(KerberosAuthorizationDataSelector.a(pacLogonInfo.getGroupSids()));
                    }
                }
                catch (NumberFormatException numberFormatException) {
                    throw KerberosAuthorizationDataSelector.a(numberFormatException);
                }
                try {
                    if (string.equals(a[18])) {
                        return new ExpandVariables.Selector.Selection(pacLogonInfo.getUserFlags());
                    }
                }
                catch (NumberFormatException numberFormatException) {
                    throw KerberosAuthorizationDataSelector.a(numberFormatException);
                }
                try {
                    if (string.equals(a[24])) {
                        return new ExpandVariables.Selector.Selection(pacLogonInfo.getServerName());
                    }
                }
                catch (NumberFormatException numberFormatException) {
                    throw KerberosAuthorizationDataSelector.a(numberFormatException);
                }
                try {
                    if (string.equals(a[16])) {
                        return new ExpandVariables.Selector.Selection(pacLogonInfo.getDomainName());
                    }
                }
                catch (NumberFormatException numberFormatException) {
                    throw KerberosAuthorizationDataSelector.a(numberFormatException);
                }
                try {
                    if (string.equals(a[11])) {
                        return new ExpandVariables.Selector.Selection(KerberosAuthorizationDataSelector.a(pacLogonInfo.getExtraSids()));
                    }
                }
                catch (NumberFormatException numberFormatException) {
                    throw KerberosAuthorizationDataSelector.a(numberFormatException);
                }
                try {
                    if (string.equals(a[21])) {
                        return new ExpandVariables.Selector.Selection(KerberosAuthorizationDataSelector.a(pacLogonInfo.getResourceGroupSids()));
                    }
                }
                catch (NumberFormatException numberFormatException) {
                    throw KerberosAuthorizationDataSelector.a(numberFormatException);
                }
                try {
                    if (string.equals(a[9])) {
                        return new ExpandVariables.Selector.Selection(pacLogonInfo.getUserAccountControl());
                    }
                }
                catch (NumberFormatException numberFormatException) {
                    throw KerberosAuthorizationDataSelector.a(numberFormatException);
                }
                return new ExpandVariables.Selector.Selection(pacLogonInfo, string.substring(a[38].length()));
            }
        }
        return null;
    }

    private static String a(Date date) {
        String string;
        try {
            string = null != date ? Long.toString(date.getTime()) : "";
        }
        catch (NumberFormatException numberFormatException) {
            throw KerberosAuthorizationDataSelector.a(numberFormatException);
        }
        return string;
    }

    private static List<String> a(PacSid[] pacSidArray) {
        ArrayList<String> arrayList = new ArrayList<String>();
        if (null != pacSidArray) {
            for (PacSid pacSid : pacSidArray) {
                arrayList.add(pacSid.toString());
            }
        }
        return arrayList;
    }

    /*
     * Unable to fully structure code
     */
    static {
        block10: {
            block9: {
                var5 = new String[41];
                var3_1 = 0;
                var2_2 = "$!R3/Y\u000e;.Xs%YG8/Vr-B\u00009%\u0003$!R\u001f$!R3/Y\u000e;.Xs%YG$7Uq\"E\u001d7(Ps$S\u001d=-T\u0017$!R3/Y\u000e;.Xs%YG</\\x'D\u0000\"%\u0015$!R3/Y\u000e;.Xs%YG32^h3_\r%55Eu,D\u0000.!Et,X\u001a|\u001c\u001f5\u001fRB}h\u0019Amj\u001e/q\u001d`j\u001c@}\u007f\b&%]x5W\u0007 \u001e$!R3/Y\u000e;.Xs%YG!3TomR\u0000'0]|:X\b9%\u0011$!R3(R\nz3Xz-W\u001d!2T!$!R3/Y\u000e;.Xs%YG!3TomW\n7/Ds7U\u0006:4Cr/\u001e$!R3/Y\u000e;.Xs%YG$7U~\"X\n<!_z&B\u00009%\u0017$!R3/Y\u000e;.Xs%YG18Eo\"E\u000003\u0019$!R3/Y\u000e;.Xs%YG8/Vr-E\n&)Ai\u0018$!R3/Y\u000e;.Xs%YG32^h3U\u0006!.E\r?%C\u007f&D\u0006'nU|7W\u000e55Eu,D\u0000.!Et,X\u001a\u0014$!R3/Y\u000e;.Xs%YG0/\\|*X\u0019$!R3/Y\u000e;.Xs%YG$2^{*Z\f$!Eu\u0018$!R3/Y\u000e;.Xs%YG!3TomP\u00055'B\u0018$!R3/Y\u000e;.Xs%YG8/Vr%P\u001d=-T\u0005z4Hm&\u001a$!R3/Y\u000e;.Xs%YG&%Br6D\n13Xy0\tz#Yx ]\u001a!-\b&%]x5W\u0007 \u0018$!R3/Y\u000e;.Xs%YG'%Ck&D\u00075-T\u0014$!R3/Y\u000e;.Xs%YG!3To*R\u0019$!R3/Y\u000e;.Xs%YG?)Rv,P\u000f )\\x\u0014$!R30S\u001b\"%C30_\u000e:!Eh1S\u0018$!R3/Y\u000e;.Xs%YG8/Vr-U\u0006!.E\u0014$!R30S\u001b\"%C30_\u000e:!Eh1S\u0003$!R\u000e55Eu,D\u0000.!Et,X\u001a\u001f$!R3/Y\u000e;.Xs%YG$7Up6E\u001d7(Ps$S\u001d=-T\u0011$!R3(R\nz3Xz-W\u001d!2T\r$!R3/Y\u000e;.Xs%Y\u001e$!R3/Y\u000e;.Xs%YG6!Um\"E\u001a#/Cy Y\u001c:4\u0015$!R3/Y\u000e;.Xs%YG</\\x'_\u001b\u0017$!R3/Y\u000e;.Xs%YG!3TomX\b9%\r$!R3/Y\u000e;.Xs%Y";
                var4_3 = "$!R3/Y\u000e;.Xs%YG8/Vr-B\u00009%\u0003$!R\u001f$!R3/Y\u000e;.Xs%YG$7Uq\"E\u001d7(Ps$S\u001d=-T\u0017$!R3/Y\u000e;.Xs%YG</\\x'D\u0000\"%\u0015$!R3/Y\u000e;.Xs%YG32^h3_\r%55Eu,D\u0000.!Et,X\u001a|\u001c\u001f5\u001fRB}h\u0019Amj\u001e/q\u001d`j\u001c@}\u007f\b&%]x5W\u0007 \u001e$!R3/Y\u000e;.Xs%YG!3TomR\u0000'0]|:X\b9%\u0011$!R3(R\nz3Xz-W\u001d!2T!$!R3/Y\u000e;.Xs%YG!3TomW\n7/Ds7U\u0006:4Cr/\u001e$!R3/Y\u000e;.Xs%YG$7U~\"X\n<!_z&B\u00009%\u0017$!R3/Y\u000e;.Xs%YG18Eo\"E\u000003\u0019$!R3/Y\u000e;.Xs%YG8/Vr-E\n&)Ai\u0018$!R3/Y\u000e;.Xs%YG32^h3U\u0006!.E\r?%C\u007f&D\u0006'nU|7W\u000e55Eu,D\u0000.!Et,X\u001a\u0014$!R3/Y\u000e;.Xs%YG0/\\|*X\u0019$!R3/Y\u000e;.Xs%YG$2^{*Z\f$!Eu\u0018$!R3/Y\u000e;.Xs%YG!3TomP\u00055'B\u0018$!R3/Y\u000e;.Xs%YG8/Vr%P\u001d=-T\u0005z4Hm&\u001a$!R3/Y\u000e;.Xs%YG&%Br6D\n13Xy0\tz#Yx ]\u001a!-\b&%]x5W\u0007 \u0018$!R3/Y\u000e;.Xs%YG'%Ck&D\u00075-T\u0014$!R3/Y\u000e;.Xs%YG!3To*R\u0019$!R3/Y\u000e;.Xs%YG?)Rv,P\u000f )\\x\u0014$!R30S\u001b\"%C30_\u000e:!Eh1S\u0018$!R3/Y\u000e;.Xs%YG8/Vr-U\u0006!.E\u0014$!R30S\u001b\"%C30_\u000e:!Eh1S\u0003$!R\u000e55Eu,D\u0000.!Et,X\u001a\u001f$!R3/Y\u000e;.Xs%YG$7Up6E\u001d7(Ps$S\u001d=-T\u0011$!R3(R\nz3Xz-W\u001d!2T\r$!R3/Y\u000e;.Xs%Y\u001e$!R3/Y\u000e;.Xs%YG6!Um\"E\u001a#/Cy Y\u001c:4\u0015$!R3/Y\u000e;.Xs%YG</\\x'_\u001b\u0017$!R3/Y\u000e;.Xs%YG!3TomX\b9%\r$!R3/Y\u000e;.Xs%Y".length();
                var1_4 = 23;
                var0_5 = -1;
lbl7:
                // 2 sources

                while (true) {
                    v0 = 75;
                    v1 = ++var0_5;
                    v2 = var2_2.substring(v1, v1 + var1_4);
                    v3 = -1;
                    break block9;
                    break;
                }
lbl13:
                // 1 sources

                while (true) {
                    var5[var3_1++] = KerberosAuthorizationDataSelector.a(v0, KerberosAuthorizationDataSelector.a(v2));
                    if ((var0_5 += var1_4) < var4_3) {
                        var1_4 = var2_2.charAt(var0_5);
                        ** continue;
                    }
                    var2_2 = "\n\u000f|\u001d\u0016\n\u000f|\u001d\u0001w \u0015\u0000v]\u000bwi\u001d\u001cpF\u001dq#\t";
                    var4_3 = "\n\u000f|\u001d\u0016\n\u000f|\u001d\u0001w \u0015\u0000v]\u000bwi\u001d\u001cpF\u001dq#\t".length();
                    var1_4 = 4;
                    var0_5 = -1;
lbl22:
                    // 2 sources

                    while (true) {
                        v0 = 101;
                        v4 = ++var0_5;
                        v2 = var2_2.substring(v4, v4 + var1_4);
                        v3 = 0;
                        break block9;
                        break;
                    }
                    break;
                }
lbl28:
                // 1 sources

                while (true) {
                    var5[var3_1++] = KerberosAuthorizationDataSelector.a(v0, KerberosAuthorizationDataSelector.a(v2));
                    if ((var0_5 += var1_4) < var4_3) {
                        var1_4 = var2_2.charAt(var0_5);
                        ** continue;
                    }
                    break block10;
                    break;
                }
            }
            switch (v3) {
                default: {
                    ** continue;
                }
                ** case 0:
lbl39:
                // 1 sources

                ** continue;
            }
        }
        KerberosAuthorizationDataSelector.a = var5;
        KerberosAuthorizationDataSelector.PAC = KerberosAuthorizationDataSelector.a[1];
        KerberosAuthorizationDataSelector.PAC_LOGON_INFO = KerberosAuthorizationDataSelector.a[38];
        KerberosAuthorizationDataSelector.KERBEROS_RELEVANT_DATA = KerberosAuthorizationDataSelector.a[6];
        KerberosAuthorizationDataSelector.KERBEROS_DATA = KerberosAuthorizationDataSelector.a[14];
        KerberosAuthorizationDataSelector.PAC_SERVER_SIGNATURE = KerberosAuthorizationDataSelector.a[29];
        KerberosAuthorizationDataSelector.PAC_KDC_SIGNATURE = KerberosAuthorizationDataSelector.a[8];
        KerberosAuthorizationDataSelector.KERBEROS_AUTHORIZATION = KerberosAuthorizationDataSelector.a[15];
        KerberosAuthorizationDataSelector.KERBEROS_AUTHORIZATION_PATTERN = Pattern.compile(KerberosAuthorizationDataSelector.a[5]);
    }

    private static NumberFormatException a(NumberFormatException numberFormatException) {
        return numberFormatException;
    }

    private static char[] a(String string) {
        char[] cArray = string.toCharArray();
        if (cArray.length < 2) {
            cArray = cArray;
            cArray[0] = (char)(cArray[0] ^ 0x22);
        }
        return cArray;
    }

    /*
     * Handled impossible loop by duplicating code
     * Enabled aggressive block sorting
     */
    private static String a(int n2, char[] cArray) {
        char[] cArray2;
        block11: {
            int n3;
            int n4;
            int n5;
            block10: {
                n5 = n2;
                cArray2 = cArray;
                n4 = cArray.length;
                n3 = 0;
                if (!true) break block10;
                n4 = n4;
                if (n4 <= n3) break block11;
            }
            do {
                n5 = n5;
                cArray2 = cArray2;
                int n6 = n3;
                cArray2[n6] = (char)(cArray2[n6] ^ (n5 ^ (switch (n3 % 7) {
                    case 0 -> 31;
                    case 1 -> 11;
                    case 2 -> 122;
                    case 3 -> 86;
                    case 4 -> 8;
                    case 5 -> 125;
                    default -> 34;
                })));
                ++n3;
                n4 = n4;
            } while (n4 > n3);
        }
        return new String(cArray2).intern();
    }
}

