If Hassan represents all that is good and kind, Assef represents all that is evil and cruel. This guy is a flat-out villain. Even if we thought really, really hard, we're not sure we could come up with a single good quality in Assef. Here's just one example of Assef's sociopathic tendencies:
He leaned toward me, like a man about to share a great secret. "You don't know the meaning of the word 'liberating' until you've done that, stood in a roomful of targets [the Hazaras in Mazar-i-Sharif], let the bullets fly, free of guilt and remorse, know you are virtuous, good, and decent. Knowing you're doing God's work. It's breathtaking." He kissed the prayer beads, tilted his head. (22.24)
Assef is pretty much the textbook sociopath. Where the heck is Assef's conscience? Well, Assef has never really had a conscience. He displayed no remorse for his rape of Hassan, which occurs when Assef, Amir, and Hassan are only boys. Perhaps Assef simply doesn't see Hazaras as equal to Pashtuns – maybe that explains (though certainly doesn't excuse) his sadistic and cruel actions? More likely, racism is simply an additional evil on Assef's laundry list of cruelties, which also includes child molestation, rape, and murder.
With Hassan it's never quite clear why he's so good. But with Assef the source of his evil remains a mystery. Assef is like an earthquake or a tornado: you just have to accept it as a destructive force. What's odd is that Amir often identifies himself with Assef, or with a Talib executioner. We guess this is what makes Amir interesting: he's caught between Hassan and Assef, two polar opposites that seem to made themselves at home in him. It's probably no coincidence Amir has to confront Assef in order to save Sohrab. If Amir is going to redeem himself, he's got to come face to face with the meanest, darkest part of himself.