示例#1
0
    private int method_16(int A_0, int A_1, int A_2, Class939 A_3)
    {
        int num = -1;

        if (A_1 == A_2)
        {
            return(A_0);
        }
        if (A_1 < A_2)
        {
            for (int j = (A_0 >= 0) ? A_3.method_2(A_0) : A_0; j >= 0; j = A_3.method_2(A_0))
            {
                A_0 = j;
            }
            int num3 = A_3.method_4(A_0, A_2 - A_1);
            if (A_0 < 0)
            {
                num = num3;
            }
            return(num);
        }
        for (int i = 0; i < (A_2 - 1); i++)
        {
            A_0 = A_3.method_2(A_0);
        }
        A_3.method_3(A_0);
        return(num);
    }
示例#2
0
    private void method_14(Stream A_0, int A_1, Stream A_2, Class939 A_3)
    {
        int num3;
        int num = 3;

        if (A_2 == null)
        {
            throw new ArgumentNullException(BookmarkStart.b("娨弪弬䨮倰帲", num));
        }
        long num2  = A_3.method_16(A_1);
        int  count = A_3.method_0();

        byte[] buffer   = new byte[count];
        long   position = A_2.Position;

        A_2.Position = 0L;
        while ((num3 = A_2.Read(buffer, 0, count)) > 0)
        {
            A_0.Position = num2;
            A_0.Write(buffer, 0, num3);
            A_1 = A_3.method_2(A_1);
            if (A_1 < 0)
            {
                break;
            }
            num2 = A_3.method_16(A_1);
        }
        A_2.Position = position;
    }