Microsoft stock analysis