Swede Peter Hanson leads Rory McIlroy by two shots at the halfway stage of the BMW Masters in Shanghai.