MSFT stock analysis