BF2Statistics.Gamespy.Enctypex.Five C# (CSharp) Method

Five() private static method

private static Five ( byte &u0002, byte u0003 ) : byte
u0002 byte
u0003 byte
return byte
        private static byte Five(ref byte[] u0002, byte u0003)
        {
            int num = u0002[256];
            int num1 = u0002[257];
            int num2 = u0002[num];
            u0002[256] = (byte)((num + 1) % 256);
            u0002[257] = (byte)((num1 + num2) % 256);
            num = u0002[260];
            num1 = u0002[257];
            num1 = u0002[num1];
            num2 = u0002[num];
            u0002[num] = (byte)num1;
            num = u0002[259];
            num1 = u0002[257];
            num = u0002[num];
            u0002[num1] = (byte)num;
            num = u0002[256];
            num1 = u0002[259];
            num = u0002[num];
            u0002[num1] = (byte)num;
            num = u0002[256];
            u0002[num] = (byte)num2;
            num1 = u0002[258];
            num = u0002[num2];
            num2 = u0002[259];
            num1 = (num1 + num) % 256;
            u0002[258] = (byte)num1;
            num = num1;
            num2 = u0002[num2];
            num1 = u0002[257];
            num1 = u0002[num1];
            num = u0002[num];
            num2 = (num2 + num1) % 256;
            num1 = u0002[260];
            num1 = u0002[num1];
            num2 = (num2 + num1) % 256;
            num1 = u0002[num2];
            num2 = u0002[256];
            num2 = u0002[num2];
            num = (num + num2) % 256;
            num2 = u0002[num1];
            num1 = u0002[num];
            num2 = (num2 ^ num1 ^ u0003) % 256;
            u0002[260] = (byte)num2;
            u0002[259] = u0003;
            return (byte)num2;
        }