Lessons learned in the x86 land Description: Big part of code deobfuscation process is understanding semantics of analysed code. In case of x86 assembly big problem pose non explicit source and destination operands, flag updates and nesting opcodes (instructions). This talk will address problems encountered while developing deobfuscation plugin for IDA and ways to solve them: building disassembly tree, code rewriting and assembling, analysing x86 semantics and side effects... Finally a code deobfuscation IDA plugin based on optimization algorithms will be demonstrated along with suggestions how to reuse some of the x86 analysis code for other types of projects.