Wal-Mart blames cold weather for fall in profits