Rory McIlroy was staring a missed cut in the face but four birdies coming home have left him seven off the lead.