In a way, Amir knew very well how guilty he was because he not only treated Hassan as just as a Hazara, but even is seen thinking of him as "just a Hazara". This is easily recognized in the moments in which Assef states that Hassan would eat dirt for him and Amir is left knowing that he would never do the same for Hassan, but that he could actually ask him too if he needed to be amused. Time and time again he wanted Hassan to defend himself because Amir had never defended Hassan, in all aspects, not just the rape. Because of this, Amir knew that he would've been hurt by his defense, but needed it more than anything to be relieved of his guilt of neglecting an innocent boy for quite literally all of his life. He spent his entire life running from what he had done with absolute;y no one recognizng it, not himself and not Hassan. This is why he tells his wife everything and is willingly beat to defend Sohrab, because defending his son could allow Amir for once in his life defend even something that Hassan loved.