Deep Analysis of Binary Code to Recover Program Structure