コード例 #1
0
                    // Token: 0x06000047 RID: 71 RVA: 0x000043D0 File Offset: 0x000025D0
                    internal byte method_3(Class0 class0_0, byte byte_0)
                    {
                        uint num = 1u;

                        for (; ;)
                        {
                            uint num2 = (uint)(byte_0 >> 7 & 1);
                            byte_0 = (byte)(byte_0 << 1);
                            uint num3 = this.struct0_0[(int)((uint)((UIntPtr)((1u + num2 << 8) + num)))].method_1(class0_0);
                            num = (num << 1 | num3);
                            bool flag  = num2 != num3;
                            bool flag3 = flag;
                            if (flag3)
                            {
                                break;
                            }
                            bool flag2 = num >= 256u;
                            bool flag4 = flag2;
                            if (flag4)
                            {
                                goto Block_2;
                            }
                        }
                        while (num < 256u)
                        {
                            num = (num << 1 | this.struct0_0[(int)((uint)((UIntPtr)num))].method_1(class0_0));
                        }
Block_2:
                        return((byte)num);
                    }
コード例 #2
0
                // Token: 0x0600002A RID: 42 RVA: 0x00003A08 File Offset: 0x00003A08
                internal byte method_3(Class0 class0_0, byte byte_0)
                {
                    uint num = 1u;

                    while (true)
                    {
                        uint num2 = (uint)(byte_0 >> 7 & 1);
                        byte_0 = (byte)(byte_0 << 1);
                        uint num3 = this.struct0_0[(int)((UIntPtr)((1u + num2 << 8) + num))].method_1(class0_0);
                        num = (num << 1 | num3);
                        if (num2 != num3)
                        {
                            break;
                        }
                        if (num >= 256u)
                        {
                            goto IL_5E;
                        }
                    }
                    while (num < 256u)
                    {
                        num = (num << 1 | this.struct0_0[(int)((UIntPtr)num)].method_1(class0_0));
                    }
IL_5E:
                    return((byte)num);
                }
コード例 #3
0
                // Token: 0x0600003C RID: 60 RVA: 0x000040AC File Offset: 0x000022AC
                internal uint method_2(Class0 class0_0, uint uint_1)
                {
                    bool flag  = this.struct0_0.method_1(class0_0) == 0u;
                    bool flag3 = flag;
                    uint result;

                    if (flag3)
                    {
                        result = this.struct1_0[(int)((uint)((UIntPtr)uint_1))].method_1(class0_0);
                    }
                    else
                    {
                        uint num   = 8u;
                        bool flag2 = this.struct0_1.method_1(class0_0) == 0u;
                        bool flag4 = flag2;
                        if (flag4)
                        {
                            num += this.struct1_1[(int)((uint)((UIntPtr)uint_1))].method_1(class0_0);
                        }
                        else
                        {
                            num += 8u;
                            num += this.struct1_2.method_1(class0_0);
                        }
                        result = num;
                    }
                    return(result);
                }
コード例 #4
0
        // Token: 0x0600000A RID: 10 RVA: 0x00002E2C File Offset: 0x00002E2C
        internal uint method_1(Class0 class0_0)
        {
            uint num = (class0_0.uint_1 >> 11) * this.uint_0;

            if (class0_0.uint_0 < num)
            {
                class0_0.uint_1 = num;
                this.uint_0    += 2048u - this.uint_0 >> 5;
                if (class0_0.uint_1 < 16777216u)
                {
                    class0_0.uint_0   = (class0_0.uint_0 << 8 | (uint)((byte)class0_0.stream_0.ReadByte()));
                    class0_0.uint_1 <<= 8;
                }
                return(0u);
            }
            class0_0.uint_1 -= num;
            class0_0.uint_0 -= num;
            this.uint_0     -= this.uint_0 >> 5;
            if (class0_0.uint_1 < 16777216u)
            {
                class0_0.uint_0   = (class0_0.uint_0 << 8 | (uint)((byte)class0_0.stream_0.ReadByte()));
                class0_0.uint_1 <<= 8;
            }
            return(1u);
        }
コード例 #5
0
                    // Token: 0x06000046 RID: 70 RVA: 0x00004388 File Offset: 0x00002588
                    internal byte method_2(Class0 class0_0)
                    {
                        uint num = 1u;

                        do
                        {
                            num = (num << 1 | this.struct0_0[(int)((uint)((UIntPtr)num))].method_1(class0_0));
                        }while (num < 256u);
                        return((byte)num);
                    }
コード例 #6
0
            // Token: 0x0600002C RID: 44 RVA: 0x00003CAC File Offset: 0x00001EAC
            internal uint method_1(Class0 class0_0)
            {
                uint num = 1u;

                for (int i = this.int_0; i > 0; i--)
                {
                    num = (num << 1) + this.struct0_0[(int)((uint)((UIntPtr)num))].method_1(class0_0);
                }
                return(num - (1u << this.int_0));
            }
コード例 #7
0
            // Token: 0x0600002E RID: 46 RVA: 0x00003D68 File Offset: 0x00001F68
            internal static uint smethod_0(Struct0[] struct0_1, uint uint_0, Class0 class0_0, int int_1)
            {
                uint num  = 1u;
                uint num2 = 0u;

                for (int i = 0; i < int_1; i++)
                {
                    uint num3 = struct0_1[(int)((uint)((UIntPtr)(uint_0 + num)))].method_1(class0_0);
                    num <<= 1;
                    num  += num3;
                    num2 |= num3 << i;
                }
                return(num2);
            }
コード例 #8
0
            // Token: 0x0600002D RID: 45 RVA: 0x00003D08 File Offset: 0x00001F08
            internal uint method_2(Class0 class0_0)
            {
                uint num  = 1u;
                uint num2 = 0u;

                for (int i = 0; i < this.int_0; i++)
                {
                    uint num3 = this.struct0_0[(int)((uint)((UIntPtr)num))].method_1(class0_0);
                    num <<= 1;
                    num  += num3;
                    num2 |= num3 << i;
                }
                return(num2);
            }
コード例 #9
0
            // Token: 0x0600001F RID: 31 RVA: 0x00003820 File Offset: 0x00003820
            internal uint method_2(Class0 class0_0, uint uint_1)
            {
                if (this.struct0_0.method_1(class0_0) == 0u)
                {
                    return(this.struct1_0[(int)((UIntPtr)uint_1)].method_1(class0_0));
                }
                uint num = 8u;

                if (this.struct0_1.method_1(class0_0) == 0u)
                {
                    num += this.struct1_1[(int)((UIntPtr)uint_1)].method_1(class0_0);
                }
                else
                {
                    num += 8u;
                    num += this.struct1_2.method_1(class0_0);
                }
                return(num);
            }
コード例 #10
0
            // Token: 0x06000029 RID: 41 RVA: 0x00003B2C File Offset: 0x00001D2C
            internal uint method_1(Class0 class0_0)
            {
                uint num   = (class0_0.uint_1 >> 11) * this.uint_0;
                bool flag  = class0_0.uint_0 < num;
                bool flag4 = flag;
                uint result;

                if (flag4)
                {
                    class0_0.uint_1 = num;
                    this.uint_0    += 2048u - this.uint_0 >> 5;
                    bool flag2 = class0_0.uint_1 < 16777216u;
                    bool flag5 = flag2;
                    if (flag5)
                    {
                        class0_0.uint_0   = (class0_0.uint_0 << 8 | (uint)((byte)class0_0.stream_0.ReadByte()));
                        class0_0.uint_1 <<= 8;
                    }
                    result = 0u;
                }
                else
                {
                    class0_0.uint_1 -= num;
                    class0_0.uint_0 -= num;
                    this.uint_0     -= this.uint_0 >> 5;
                    bool flag3 = class0_0.uint_1 < 16777216u;
                    bool flag6 = flag3;
                    if (flag6)
                    {
                        class0_0.uint_0   = (class0_0.uint_0 << 8 | (uint)((byte)class0_0.stream_0.ReadByte()));
                        class0_0.uint_1 <<= 8;
                    }
                    result = 1u;
                }
                return(result);
            }
コード例 #11
0
 // Token: 0x06000042 RID: 66 RVA: 0x00004304 File Offset: 0x00002504
 internal byte method_4(Class0 class0_0, uint uint_1, byte byte_0, byte byte_1)
 {
     return(this.struct2_0[(int)((uint)((UIntPtr)this.method_2(uint_1, byte_0)))].method_3(class0_0, byte_1));
 }