Example #1
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 #2
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);
            }
        }
    }