Example #1
0
        public bool method_6(Class48 class480)
        {
            var array = class480.Byte0;
            var num   = class480.Int0;
            var src   = class480.Byte1;
            var num2  = class480.Int2;
            var num3  = class480.Int3;
            var i     = 0;
            var num4  = class480.method_0();
            var num5  = class480.method_1();
            var num6  = class480.method_2();
            var num7  = class480.method_3();
            var num8  = class480.method_4();
            var num9  = class480.method_5();
            var num10 = class480.method_6();
            var num11 = array[num + 26] & 255;
            var num12 = _int7;
            var num13 = _int2;

            if (num13 != 0)
            {
                _int1 -= num13;
                if (_int1 != 0)
                {
                    Buffer.BlockCopy(_byte0, num13, _byte0, 0, _int1);
                }
                _int2 = 0;
            }
            if (num12 != 0)
            {
                if (_int5 - num12 != 0)
                {
                    Buffer.BlockCopy(_int3, num12 << 2, _int3, 0, _int5 - num12 << 2);
                    Buffer.BlockCopy(_long0, num12 << 3, _long0, 0, _int5 - num12 << 3);
                }
                _int5 -= num12;
                _int6 -= num12;
                _int7  = 0;
            }
            if (num9 != _int11)
            {
                return(false);
            }
            if (num4 > 0)
            {
                return(false);
            }
            method_4(num11 + 1);
            if (num10 != _int12)
            {
                for (var j = _int6; j < _int5; j++)
                {
                    _int1 -= (_int3[j] & 255);
                }
                _int5 = _int6;
                if (_int12 != -1)
                {
                    _int3[_int5++] = 1024;
                    _int6++;
                }
                if (num5 != 0)
                {
                    num6 = 0;
                    while (i < num11)
                    {
                        var num14 = array[num + 27 + i] & 255;
                        num2 += num14;
                        num3 -= num14;
                        if (num14 < 255)
                        {
                            i++;
                            break;
                        }
                        i++;
                    }
                }
            }
            if (num3 != 0)
            {
                method_3(num3);
                Buffer.BlockCopy(src, num2, _byte0, _int1, num3);
                _int1 += num3;
            }
            var num15 = -1;

            while (i < num11)
            {
                var num16 = array[num + 27 + i] & 255;
                _int3[_int5]  = num16;
                _long0[_int5] = -1L;
                if (num6 != 0)
                {
                    _int3[_int5] |= 256;
                    num6          = 0;
                }
                if (num16 < 255)
                {
                    num15 = _int5;
                }
                _int5++;
                i++;
                if (num16 < 255)
                {
                    _int6 = _int5;
                }
            }
            if (num15 != -1)
            {
                _long0[num15] = num8;
            }
            if (num7 != 0)
            {
                Int9 = 1;
                if (_int5 > 0)
                {
                    _int3[_int5 - 1] |= 512;
                }
            }
            _int12 = num10 + 1;
            return(true);
        }