This talk might be interesting for you if you love reverse engineering or binary security analysis. We present you modern code obfuscation techniques, such as opaque predicates, arithmetic encoding and virtualization-based obfuscation. Further, we explain state-of-the-art methods in (automated) deobfuscation  as well as how to break these . Finally, we introduce a novel approach  that learns the code's semantics and demonstrate how this can be used to deobfuscate real-world obfuscated code.
 https://www.ieee-security.org/TC/SP2015/papers-archived/6949a674.pdf  https://mediatum.ub.tum.de/doc/1343173/1343173.pdf  https://www.usenix.org/system/files/conference/usenixsecurity17/sec17-blazytko.pdf