Stocks rebound from early weakness as S&P 500, Nasdaq finish higher; Dow cuts losses