Microsoft stock down 30% from peak ahead of July 29 earnings