示例#1
0
    private uint method_7(Stream A_0, bool A_1, out int A_2)
    {
        bool flag;

        A_2 = 0;
        if (A_0.Length == 0L)
        {
            return(0xfffffffe);
        }
        Class916 class2 = (flag = this.class522_0.method_2(A_0.Length) || A_1) ? this.class917_0 : this.class916_0;
        Stream   stream = flag ? this.stream_0 : this.memoryStream_0;
        int      num3   = flag ? 0x200 : 0x40;
        uint     num    = Class967.smethod_1(stream.Position, flag);

        A_0.Position = 0L;
        Class567.smethod_8(A_0, stream);
        Class567.smethod_6(stream, num3);
        A_2 = Class567.smethod_4(A_0.Length, num3);
        for (uint i = 1; i < ((long)A_2); i++)
        {
            class2.method_5(num + i);
        }
        class2.method_5(0xfffffffe);
        return(num);
    }
示例#2
0
    internal void method_8()
    {
        MemoryStream stream = base.method_4();
        BinaryWriter writer = new BinaryWriter(this.stream_0, Encoding.Unicode);
        uint         num    = Class967.smethod_1(this.stream_0.Position, true);
        int          num2   = base.method_2();
        int          num3   = Class567.smethod_4((long)num2, 0x80);

        num3 = Class567.smethod_4((long)(num2 + num3), 0x80);
        this.stream_0.Write(stream.GetBuffer(), 0, (int)stream.Length);
        for (int i = 0; i < num3; i++)
        {
            writer.Write((uint)0xfffffffd);
        }
        int num8 = Class567.smethod_4((long)(num2 + num3), 0x80);

        if (num8 > 0x6d)
        {
            int num7 = Class567.smethod_4((long)(num8 - 0x6d), 0x7f);
            for (int j = 0; j < num7; j++)
            {
                writer.Write((uint)0xfffffffd);
            }
            for (int k = 0; k < num7; k++)
            {
                writer.Write((uint)0xfffffffc);
            }
            num8 = Class567.smethod_4((long)((num2 + num3) + num7), 0x80);
        }
        this.class522_0.int_6 = num8;
        Class967.smethod_2(writer);
        Class523.smethod_1(this.stream_0, num, num8, this.class522_0);
    }
示例#3
0
    internal static void smethod_1(Stream A_0, uint A_1, int A_2, Class522 A_3)
    {
        uint         num      = A_1;
        BinaryWriter writer   = new BinaryWriter(A_0, Encoding.Unicode);
        long         position = A_0.Position;

        A_0.Position = 0x4cL;
        int num3 = Math.Min(A_2, 0x6d);

        for (int i = 0; i < num3; i++)
        {
            writer.Write(num);
            num++;
        }
        Class967.smethod_2(writer);
        A_0.Position = position;
        int num7 = A_2 - num3;

        if (num7 > 0)
        {
            A_3.uint_1 = Class967.smethod_1(A_0.Position, true);
            A_3.int_4  = 0;
            while (num7 > 0)
            {
                int num6 = Math.Min(num7, 0x7f);
                for (int j = 0; j < num6; j++)
                {
                    writer.Write(num);
                    num++;
                }
                Class967.smethod_2(writer);
                num7 -= num6;
                A_3.int_4++;
                A_0.Position -= 4L;
                if (num7 > 0)
                {
                    uint num8 = Class967.smethod_1(A_0.Position, true) + 1;
                    writer.Write(num8);
                }
                else
                {
                    writer.Write((uint)0xfffffffe);
                }
            }
        }
        else
        {
            A_3.uint_1 = 0xfffffffe;
            A_3.int_4  = 0;
        }
    }
示例#4
0
    private MemoryStream method_10(uint A_0, int A_1, int A_2, bool A_3)
    {
        bool flag;

        A_2 = Math.Min(A_1, A_2);
        MemoryStream stream = new MemoryStream(A_2);

        stream.SetLength((long)A_2);
        if (!(flag = A_3 || this.class522_0.method_2((long)A_1)))
        {
            Class1090 class2 = this.class410_0.method_0(0);
            if ((class2.uint_4 != uint.MaxValue) && (this.memoryStream_0 == null))
            {
                this.memoryStream_0 = this.method_10(class2.uint_4, (int)class2.long_2, (int)class2.long_2, true);
            }
            if ((this.class522_0.method_0() == 0) || (this.memoryStream_0 == null))
            {
                stream.SetLength(0L);
                return(stream);
            }
        }
        Class916 class3   = flag ? this.class917_0 : this.class916_0;
        Stream   stream2  = flag ? this.stream_0 : this.memoryStream_0;
        int      num6     = flag ? 0x200 : 0x40;
        int      offset   = 0;
        long     position = stream2.Position;

        for (uint i = A_0; i != 0xfffffffe; i = class3.method_0(i))
        {
            if (i == uint.MaxValue)
            {
                return(stream);
            }
            long num2 = Class967.smethod_0(i, flag);
            if (position != num2)
            {
                stream2.Position = position = num2;
            }
            int num5 = A_2 - offset;
            if (num5 == 0)
            {
                return(stream);
            }
            int count = Math.Min(num6, num5);
            stream2.Read(stream.GetBuffer(), offset, count);
            offset   += count;
            position += count;
        }
        return(stream);
    }
示例#5
0
    internal void method_6()
    {
        Class916 class2 = Class523.smethod_0(this.stream_0, this.class522_0.int_6, this.class522_0.uint_1, this.class522_0.int_4);

        byte[]       buffer = new byte[0x200];
        BinaryReader reader = new BinaryReader(new MemoryStream(buffer), Encoding.Unicode);

        for (uint i = 0; i < this.class522_0.int_6; i++)
        {
            this.stream_0.Position = Class967.smethod_0(class2.method_0(i), true);
            this.stream_0.Read(buffer, 0, 0x200);
            reader.BaseStream.Position = 0L;
            for (int j = 0; j < 0x80; j++)
            {
                base.method_5(reader.ReadUInt32());
            }
        }
    }
示例#6
0
    internal static Class916 smethod_0(Stream A_0, int A_1, uint A_2, int A_3)
    {
        MemoryStream stream = new MemoryStream();

        byte[] buffer = new byte[0x200];
        A_0.Position = 0x4cL;
        int count = Math.Min(A_1, 0x6d) * 4;

        A_0.Read(buffer, 0, count);
        stream.Write(buffer, 0, count);
        uint num2 = A_2;

        for (int i = 0; i < A_3; i++)
        {
            A_0.Position = Class967.smethod_0(num2, true);
            A_0.Read(buffer, 0, 0x200);
            stream.Write(buffer, 0, 0x1fc);
            num2 = (uint)(((buffer[0x1fc] | (buffer[0x1fd] << 8)) | (buffer[510] << 0x10)) | (buffer[0x1ff] << 0x18));
        }
        return(new Class916(stream));
    }
示例#7
0
    private void method_9()
    {
        int num = 4;

        this.class410_0 = new Class410();
        BinaryReader reader = new BinaryReader(this.stream_0, Encoding.Unicode);
        uint         num2   = this.class522_0.uint_2;
        Class335     class2 = new Class335();

        while (num2 != 0xfffffffe)
        {
            this.stream_0.Position = Class967.smethod_0(num2, true);
            for (int i = 0; i < 4; i++)
            {
                this.class410_0.method_3(new Class1090(reader));
            }
            class2.Interface34.imethod_1(num2);
            num2 = this.class917_0.method_0(num2);
            if (class2.Interface34.imethod_3(num2))
            {
                throw new InvalidOperationException(BookmarkStart.b("縩䐫䬭ု䄱䀳䐵䴷夹䠻䬽㈿❁⁃晅㭇㹉⍋㱍ㅏ㕑ㅓ癕㹗㍙せ㭝䁟ᅡţͥէᥩ䱫ᩭὯ剱ᙳ፵塷᥹፻౽ꚇꪉ쪋쾍쒏늑秊ﶛ캟톡蒣얥톧즩삫쮭쎯鲱", num));
            }
        }
    }