Tom Cruise is not a good "movie sociopath"
Don't get me wrong, I like Tom Cruise's films, and I even think his performance in this one is one of his best.
But he lacks depth of an interesting movie sociopath in the range like Kevin spacey, Anthony Hopkins, Ed Norton or even Ralph Fieness could pull off.
I agree that this was more realistic, down to earth version of a sociopath/psychopath, but then again, movie itself isn't very realistic in the first place, it's a typical Hollywood movie, full of coincidences, "good guy always win, just cause he's good" type of film, where down to earth version of a coiopath simply doesn't work well, at least in my opinion.