What makes Assef evil in The Kite Runner?
Assef is the worst of what the cultural divide in pre-Soviet Afghanistan could have created. He is Pashtun, like Amir, and has learned that Hazaras are "less than," so he seeks to capitalize on that fact. The fact that Assef is half-German is inescapable as well; clearly the connection to Hitler and his theories of a superior race factor into Assef's way of thinking.
What is most bothersome (and rightly so) is Assef's assault on Hassef as a punishment to "put him in his place." It is helpful to focus on the fact that such an assault is about the violent show of power, and not a matter of sexuality.
To a certain extent, we must also recognize that since this is Khaled Hosseini's first novel, it makes sense to have a clearly indentifiable antagonist. Assef is a classic bully, and a reader could easily imagine a bully becoming a Taliban leader, and that he would "go after" the child of the boy who embarassed him so many years ago. It also provides the opportunity for the foreshadowing (hint: slingshot) to come full circle.