Example #1
0
    internal void method_1(Stream A_0, Class938 A_1)
    {
        int num = 11;

        if (A_0 == null)
        {
            throw new ArgumentNullException(BookmarkStart.b("䈰䜲䜴制堸嘺", num));
        }
        int count = this.list_0.Count;

        int[] numArray = A_1.method_28();
        int   index    = 0;

        while (true)
        {
            if ((index >= count) || (index >= 0x6d))
            {
                break;
            }
            numArray[index] = this.list_0[index];
            index++;
        }
        while (index < 0x6d)
        {
            numArray[index] = -1;
            index++;
        }
        if (this.list_1.Count > 0)
        {
            A_1.method_25(this.list_1[0]);
            A_1.method_27(this.list_1.Count);
        }
        byte[] dst   = new byte[A_1.method_5()];
        int    num9  = A_1.method_5();
        int    num10 = (num9 / 4) - 1;
        int    num4  = 0;
        int    num11 = this.list_1.Count;

        while (num4 < num11)
        {
            int  num5 = this.list_1[num4];
            long num6 = A_1.method_30(num5);
            int  num7 = 0;
            for (int i = 0; num7 < num10; i += 4)
            {
                int num13 = (index < count) ? this.list_0[index] : -1;
                Buffer.BlockCopy(BitConverter.GetBytes(num13), 0, dst, i, 4);
                num7++;
                index++;
            }
            int num12 = (num4 == (num11 - 1)) ? -2 : this.list_1[num4 + 1];
            Buffer.BlockCopy(BitConverter.GetBytes(num12), 0, dst, num9 - 4, 4);
            A_0.Position = num6;
            A_0.Write(dst, 0, num9);
            num4++;
        }
    }
Example #2
0
    public void method_10(Stream A_0, Class357 A_1, Class938 A_2)
    {
        int    count = this.list_0.Count;
        int    num2  = A_2.method_5();
        ushort num3  = A_2.method_9();
        int    num4  = this.method_0() / 4;
        int    num5  = num4 - 1;
        double num6  = (num5 * count) - 109.0;
        double num7  = (num5 * num5) - 1.0;
        int    num8  = (int)Math.Ceiling((double)(num6 / num7));

        A_2.method_15(num8);
        byte[] buffer = new byte[num2];
        A_1.method_2(num8, this);
        this.method_11(num8, A_1);
        List <int> list  = A_1.method_0();
        int        num9  = 0;
        int        num10 = 0;

        while (num9 < num8)
        {
            num10 = this.method_12(num10, buffer);
            int  num11  = list[num9];
            long offset = Class1004.smethod_4(num11, num3);
            A_0.Seek(offset, SeekOrigin.Begin);
            A_0.Write(buffer, 0, num2);
            num9++;
        }
    }
Example #3
0
    public Class357(Stream A_0, Class938 A_1)
    {
        this.list_1 = new List <int>();
        int    num      = A_1.method_26();
        int    count    = A_1.method_5();
        ushort num3     = A_1.method_9();
        int    capacity = 0x6d + ((num * (count - 4)) / 4);

        this.list_0 = new List <int>(capacity);
        this.list_0.AddRange(A_1.method_28());
        if (num > 0)
        {
            int num5 = A_1.method_24();
            A_1.method_9();
            byte[] buffer = new byte[count];
            int[]  dst    = new int[(count / 4) - 1];
            while (num5 >= 0)
            {
                long num6 = Class1004.smethod_4(num5, num3);
                this.list_1.Add(num5);
                A_0.Position = num6;
                A_0.Read(buffer, 0, count);
                Buffer.BlockCopy(buffer, 0, dst, 0, count - 4);
                this.list_0.AddRange(dst);
                num5 = BitConverter.ToInt32(buffer, count - 4);
            }
        }
    }
Example #4
0
    internal void method_9(byte[] A_0, int A_1, int A_2, Class938 A_3)
    {
        ushort num   = A_3.method_9();
        int    count = A_3.method_5();
        long   num3  = smethod_4(A_2, num);

        this.stream_0.Position = num3;
        this.stream_0.Read(A_0, A_1, count);
    }
Example #5
0
    public Class939(Class1004 A_0, Stream A_1, Class357 A_2, Class938 A_3)
    {
        int num5 = 3;

        this.list_0 = new List <int>();
        this.list_1 = new List <int>();
        if (A_0 == null)
        {
            throw new ArgumentNullException(BookmarkStart.b("伨䈪䄬䨮", num5));
        }
        if (A_1 == null)
        {
            throw new ArgumentNullException(BookmarkStart.b("娨弪弬䨮倰帲", num5));
        }
        this.stream_0 = A_0.method_4();
        List <int> list  = A_2.method_0();
        int        count = A_3.method_5();

        this.ushort_0 = A_3.method_9();
        byte[] buffer = new byte[count];
        int[]  dst    = new int[count >> 2];
        this.int_0 = 0x200;
        int num2 = 0;
        int num3 = list.Count;

        while (num2 < num3)
        {
            int num4 = list[num2];
            if (num4 >= 0)
            {
                A_0.method_9(buffer, 0, num4, A_3);
                Buffer.BlockCopy(buffer, 0, dst, 0, count);
                this.list_0.AddRange(dst);
            }
            num2++;
        }
    }