BF2Statistics.Gamespy.Enctypex.Eight C# (CSharp) Метод

Eight() приватный статический Метод

private static Eight ( byte u0002, long u0003, byte u0005, long u0008, long &u0006, long &u000e ) : long
u0002 byte
u0003 long
u0005 byte
u0008 long
u0006 long
u000e long
Результат long
        private static long Eight(byte[] u0002, long u0003, byte[] u0005, long u0008, ref long u0006, ref long u000e)
        {
            long num;
            long num1 = (long)0;
            long num2 = (long)1;
            if (u0003 == (long)0)
            {
                return 0;
            }
            if (u0003 > 1)
            {
                do
                {
                    num2 = (num2 << 1) + 1;
                }
                while (num2 < u0003);
            }
            do
            {
                u0006 = (long)(u0002[u0006 & 255] + u0005[u000e]);
                u000e = u000e + (long)1;
                if (u000e >= u0008)
                {
                    u000e = 0;
                    u0006 = u0006 + u0008;
                }
                num1 = num1 + 1;
                num = (num1 <= 11 ? u0006 & num2 : u0006 & num2 % u0003);
            }
            while (num > u0003);
            return num;
        }