Rank-preserving multiplicative maps on B(X)