Esempio n. 1
0
    private static \uE01E \uE006(\uE01B.\uE001[] \uE088, int \uE089, int \uE08A, int \uE08B)
    {
        \uE01B.\uE001[] array = new \uE01B.\uE001[\uE089];
        int             num4;
        int             num3;

        \uE01B.\uE001[] array2;
        \uE01E          uE01E;

        for (;;)
        {
            int num = \uE01A.\uE00D(48);
            for (;;)
            {
                int           num2;
                \uE01B.\uE001 uE;
                switch (num)
                {
                case 0:
                    num2 = 0;
                    num  = \uE01A.\uE00D(42);
                    continue;

                case 1:
                    num3 = (num4 = 0);
                    num  = 0;
                    continue;

                case 2:
                    array2 = new \uE01B.\uE001[\uE089];
                    num    = 6;
                    continue;

                case 3:
                    if (num2 != 0)
                    {
                        num = 4;
                        continue;
                    }
                    goto IL_123;

                case 4:
IL_53:
                    uE  = \uE088[num2];
                    num = 10;
                    continue;

                case 5:
                    uE01E.\uE004 = true;
                    num          = 7;
                    continue;

                case 6:
                    uE01E = new \uE01E();
                    num   = 8;
                    continue;

                case 7:
                    uE01E.\uE005 = uE.\uE003;
                    num          = 11;
                    continue;

                case 8:
                    uE01E.\uE004 = false;
                    num          = 1;
                    continue;

                case 9:
                    if (uE.\uE002.\uE002 == \uE08A)
                    {
                        num = 5;
                        continue;
                    }
                    goto IL_D0;

                case 10:
                    if (uE.\uE002.\uE003 == \uE08B)
                    {
                        num = 9;
                        continue;
                    }
                    goto IL_D0;

                case 11:
                    goto IL_11D;
                }
                break;
IL_123:
                if (num2 >= \uE089)
                {
                    goto Block_6;
                }
                goto IL_53;
IL_11D:
                num2++;
                goto IL_123;
IL_D0:
                if ((uE.\uE002.\uE002 >> uE.\uE002.\uE003 - \uE08B - 1 & 1) != 0)
                {
                    array2[num4++] = uE;
                    goto IL_11D;
                }
                array[num3++] = uE;
                goto IL_11D;
            }
        }
Block_6:
        if (!uE01E.\uE004)
        {
            if (num3 > 0)
            {
                uE01E.\uE006 = \uE01B.\uE006(array, num3, \uE08A << 1, \uE08B + 1);
            }
            if (num4 > 0)
            {
                uE01E.\uE007 = \uE01B.\uE006(array2, num4, \uE08A << 1 | 1, \uE08B + 1);
            }
        }
        return(uE01E);
    }
Esempio n. 2
0
    internal static \uE01E \uE005(\uE01D[] \uE087)
    {
        \uE01B.\uE001[] array = new \uE01B.\uE001[\uE087.Length];
        int             uE    = 0;

        for (;;)
        {
            int num = \uE01A.\uE00D(48);
            for (;;)
            {
                int num2;
                switch (num)
                {
                case 0:
                    if (num2 != 0)
                    {
                        num = 3;
                        continue;
                    }
                    goto IL_D6;

                case 1:
                {
                    \uE01B.\uE001 uE2 = default(\uE01B.\uE001);
                    num = 4;
                    continue;
                }

                case 2:
                    num2 = 0;
                    num  = 0;
                    continue;

                case 3:
IL_42:
                    if (\uE087[num2].\uE003 > 0)
                    {
                        num = \uE01A.\uE00D(46);
                        continue;
                    }
                    goto IL_B2;

                case 4:
                {
                    \uE01B.\uE001 uE2;
                    for (;;)
                    {
                        int num3 = \uE01A.\uE00D(46);
                        for (;;)
                        {
                            switch (num3)
                            {
                            case 0:
                                uE2.\uE003 = (ushort)num2;
                                num3       = 2;
                                continue;

                            case 1:
                                uE2.\uE002 = \uE087[num2];
                                num3       = 0;
                                continue;

                            case 2:
                                goto IL_9D;
                            }
                            break;
                        }
                    }
IL_9D:
                    array[uE++] = uE2;
                    goto IL_B2;
                }
                }
                break;
IL_D6:
                if (num2 >= \uE087.Length)
                {
                    goto Block_4;
                }
                goto IL_42;
IL_B2:
                num2++;
                goto IL_D6;
            }
        }
Block_4:
        return(\uE01B.\uE006(array, uE, 0, 0));
    }