Code Deobfuscation: Intertwining Dynamic, Static and Symbolic Approaches