Dean came to the realisation that everything he does, everything he touches, he can’t save people because even when he saves people it’s the wrong thing to do according to Sam. And when he can’t save people, he loses people who he should have protected like Kevin. The guilt drove him to extreme measures (like working with Crowley). As far as his moral compass goes, I think that might have been shattered after Kevin and after the conversations with Sam. So, he doesn’t care who he works with, he justs gets the job done.