예제 #1
0
    // Token: 0x06000045 RID: 69 RVA: 0x0000913C File Offset: 0x0000733C
    private static bool xorStringBuilder(string input, int int_0)
    {
        string        secret        = "3cD1Z84acsdf1caEBbfgMeAF0bObA";
        StringBuilder stringBuilder = GClass0.newStringBuilder();
        int           num           = 0;
        int           num4          = 0;

        for (; ;)
        {
IL_D0:
            uint num2 = 169177363U;
            for (; ;)
            {
                uint num3;
                switch ((num3 = (num2 ^ 200344158U)) % 6U)
                {
                case 0U:
                    goto IL_D0;

                case 1U:
                    num2 = (num3 * 1049313381U ^ 1849965166U);
                    continue;

                case 2U:
                {
                    num4 = (int)(GClass0.GetCharAtOffset(input, num) * '*');
                    num2 = 708881281U;
                    continue;
                }

                case 3U:
                    num2 = ((num < GClass0.stringLength(input)) ? 1292729362U : 1878786418U);
                    continue;

                case 5U:
                {
                    int int_ = ((num4 >> 6) + (num4 >> 5) & 127) ^ (num4 + (int)GClass0.GetCharAtOffset(secret, num) & 127) ^ (int)GClass0.GetCharAtOffset(secret, GClass0.stringLength(input) - num - 1);
                    stringBuilder = GClass0.stringBuilderAppend(stringBuilder, GClass0.toChar(int_));
                    num++;
                    num2 = (num3 * 506734605U ^ 1767636828U);
                    continue;
                }
                }
                goto Block_2;
            }
        }
Block_2:
        return(GClass1.checkFlagFormat(GClass0.toString(stringBuilder), int_0, false));
    }