The correct option is B robbed him of
The context refers to being attacked. The correct phrasal verb here is "robbed him of" as it means taking away something. In this case 'every penny he had'. Thus, option D is the correct answer.
"Stole him" implies stealing a person. A person can be abducted not stolen.
"Stole of him" is not the correct phrase.
"Robbed him" is incorrect as the missing preposition renders the phrase ungrammatical.
Thus, option D is correct.