Esempio n. 1
0
            // Token: 0x0600001D RID: 29 RVA: 0x000033B0 File Offset: 0x000015B0
            internal void method_4(Stream stream_0, Stream stream_1, long long_0, long long_1)
            {
                this.method_3(stream_0, stream_1);
                Struct3 @struct = default(Struct3);

                @struct.method_0();
                uint  num    = 0u;
                uint  num2   = 0u;
                uint  num3   = 0u;
                uint  num4   = 0u;
                ulong num5   = 0UL;
                bool  flag   = 0L < long_1;
                bool  flag12 = flag;

                if (flag12)
                {
                    this.struct0_0[(int)((uint)((UIntPtr)(@struct.uint_0 << 4)))].method_1(this.class0_0);
                    @struct.method_1();
                    byte byte_ = this.class3_0.method_3(this.class0_0, 0u, 0);
                    this.class4_0.method_5(byte_);
                    num5 += 1UL;
                }
                while (num5 < (ulong)long_1)
                {
                    uint num6   = (uint)num5 & this.uint_2;
                    bool flag2  = this.struct0_0[(int)((uint)((UIntPtr)((@struct.uint_0 << 4) + num6)))].method_1(this.class0_0) == 0u;
                    bool flag13 = flag2;
                    if (flag13)
                    {
                        byte byte_2 = this.class4_0.method_6(0u);
                        bool flag3  = [email protected]_5();
                        bool flag14 = flag3;
                        byte byte_3;
                        if (flag14)
                        {
                            byte_3 = this.class3_0.method_4(this.class0_0, (uint)num5, byte_2, this.class4_0.method_6(num));
                        }
                        else
                        {
                            byte_3 = this.class3_0.method_3(this.class0_0, (uint)num5, byte_2);
                        }
                        this.class4_0.method_5(byte_3);
                        @struct.method_1();
                        num5 += 1UL;
                    }
                    else
                    {
                        bool flag4  = this.struct0_2[(int)((uint)((UIntPtr)@struct.uint_0))].method_1(this.class0_0) == 1u;
                        bool flag15 = flag4;
                        uint num8;
                        if (flag15)
                        {
                            bool flag5  = this.struct0_3[(int)((uint)((UIntPtr)@struct.uint_0))].method_1(this.class0_0) == 0u;
                            bool flag16 = flag5;
                            if (flag16)
                            {
                                bool flag6  = this.struct0_1[(int)((uint)((UIntPtr)((@struct.uint_0 << 4) + num6)))].method_1(this.class0_0) == 0u;
                                bool flag17 = flag6;
                                if (flag17)
                                {
                                    @struct.method_4();
                                    this.class4_0.method_5(this.class4_0.method_6(num));
                                    num5 += 1UL;
                                    continue;
                                }
                            }
                            else
                            {
                                bool flag7  = this.struct0_4[(int)((uint)((UIntPtr)@struct.uint_0))].method_1(this.class0_0) == 0u;
                                bool flag18 = flag7;
                                uint num7;
                                if (flag18)
                                {
                                    num7 = num2;
                                }
                                else
                                {
                                    bool flag8  = this.struct0_5[(int)((uint)((UIntPtr)@struct.uint_0))].method_1(this.class0_0) == 0u;
                                    bool flag19 = flag8;
                                    if (flag19)
                                    {
                                        num7 = num3;
                                    }
                                    else
                                    {
                                        num7 = num4;
                                        num4 = num3;
                                    }
                                    num3 = num2;
                                }
                                num2 = num;
                                num  = num7;
                            }
                            num8 = this.class2_1.method_2(this.class0_0, num6) + 2u;
                            @struct.method_3();
                        }
                        else
                        {
                            num4 = num3;
                            num3 = num2;
                            num2 = num;
                            num8 = 2u + this.class2_0.method_2(this.class0_0, num6);
                            @struct.method_2();
                            uint num9   = this.struct1_0[(int)((uint)((UIntPtr)Class1.smethod_0(num8)))].method_1(this.class0_0);
                            bool flag9  = num9 >= 4u;
                            bool flag20 = flag9;
                            if (flag20)
                            {
                                int num10 = (int)((num9 >> 1) - 1u);
                                num = (2u | (num9 & 1u)) << num10;
                                bool flag10 = num9 < 14u;
                                bool flag21 = flag10;
                                if (flag21)
                                {
                                    num += Struct1.smethod_0(this.struct0_6, num - num9 - 1u, this.class0_0, num10);
                                }
                                else
                                {
                                    num += this.class0_0.method_3(num10 - 4) << 4;
                                    num += this.struct1_1.method_2(this.class0_0);
                                }
                            }
                            else
                            {
                                num = num9;
                            }
                        }
                        bool flag11 = ((ulong)num >= num5 || num >= this.uint_1) && num == uint.MaxValue;
                        bool flag22 = flag11;
                        if (flag22)
                        {
                            break;
                        }
                        this.class4_0.method_4(num, num8);
                        num5 += (ulong)num8;
                    }
                }
                this.class4_0.method_3();
                this.class4_0.method_2();
                this.class0_0.method_1();
            }
Esempio n. 2
0
        // Token: 0x0600001A RID: 26 RVA: 0x00003390 File Offset: 0x00003390
        internal void method_4(Stream stream_0, Stream stream_1, long long_0, long long_1)
        {
            this.method_3(stream_0, stream_1);

            Struct3 @struct = default(Struct3);

            @struct.method_0();
            uint  num  = 0u;
            uint  num2 = 0u;
            uint  num3 = 0u;
            uint  num4 = 0u;
            ulong num5 = 0uL;

            if (0L < long_1)
            {
                this.struct0_0[(int)((UIntPtr)(@struct.uint_0 << 4))].method_1(this.class0_0);
                @struct.method_1();
                byte byte_ = this.class3_0.method_3(this.class0_0, 0u, 0);
                this.class4_0.method_5(byte_);
                num5 += 1uL;
            }
            while (num5 < (ulong)long_1)
            {
                uint num6 = (uint)num5 & this.uint_2;
                if (this.struct0_0[(int)((UIntPtr)((@struct.uint_0 << 4) + num6))].method_1(this.class0_0) == 0u)
                {
                    byte byte_2 = this.class4_0.method_6(0u);
                    byte byte_3;
                    if ([email protected]_5())
                    {
                        byte_3 = this.class3_0.method_4(this.class0_0, (uint)num5, byte_2, this.class4_0.method_6(num));
                    }
                    else
                    {
                        byte_3 = this.class3_0.method_3(this.class0_0, (uint)num5, byte_2);
                    }
                    this.class4_0.method_5(byte_3);
                    @struct.method_1();
                    num5 += 1uL;
                }
                else
                {
                    uint num8;
                    if (this.struct0_2[(int)((UIntPtr)@struct.uint_0)].method_1(this.class0_0) == 1u)
                    {
                        if (this.struct0_3[(int)((UIntPtr)@struct.uint_0)].method_1(this.class0_0) == 0u)
                        {
                            if (this.struct0_1[(int)((UIntPtr)((@struct.uint_0 << 4) + num6))].method_1(this.class0_0) == 0u)
                            {
                                @struct.method_4();
                                this.class4_0.method_5(this.class4_0.method_6(num));
                                num5 += 1uL;
                                continue;
                            }
                        }
                        else
                        {
                            uint num7;
                            if (this.struct0_4[(int)((UIntPtr)@struct.uint_0)].method_1(this.class0_0) == 0u)
                            {
                                num7 = num2;
                            }
                            else
                            {
                                if (this.struct0_5[(int)((UIntPtr)@struct.uint_0)].method_1(this.class0_0) == 0u)
                                {
                                    num7 = num3;
                                }
                                else
                                {
                                    num7 = num4;
                                    num4 = num3;
                                }
                                num3 = num2;
                            }
                            num2 = num;
                            num  = num7;
                        }
                        num8 = this.class2_1.method_2(this.class0_0, num6) + 2u;
                        @struct.method_3();
                    }
                    else
                    {
                        num4 = num3;
                        num3 = num2;
                        num2 = num;
                        num8 = 2u + this.class2_0.method_2(this.class0_0, num6);
                        @struct.method_2();
                        uint num9 = this.struct1_0[(int)((UIntPtr)Class1.smethod_0(num8))].method_1(this.class0_0);
                        if (num9 >= 4u)
                        {
                            int num10 = (int)((num9 >> 1) - 1u);
                            num = (2u | (num9 & 1u)) << num10;
                            if (num9 < 14u)
                            {
                                num += Struct1.smethod_0(this.struct0_6, num - num9 - 1u, this.class0_0, num10);
                            }
                            else
                            {
                                num += this.class0_0.method_3(num10 - 4) << 4;
                                num += this.struct1_1.method_2(this.class0_0);
                            }
                        }
                        else
                        {
                            num = num9;
                        }
                    }
                    if (((ulong)num >= num5 || num >= this.uint_1) && num == 4294967295u)
                    {
                        break;
                    }
                    this.class4_0.method_4(num, num8);
                    num5 += (ulong)num8;
                }
            }
            this.class4_0.method_3();
            this.class4_0.method_2();
            this.class0_0.method_1();
        }