Code optimization and compression are generally used during compilation process of the new terminal builds (600 & above). Code obfuscation is also used at compile time, and this fact greatly complicates the work to be done. Nevertheless
MetaTrader Market products are encrypted additionally. These obstacles make the classical methods of reengineering (such as disassembly and static code analysis) ineffective.
Therefore, in order to recover the source code completely, these days it is necessary to work directly with a memory dumps, use debugger for the terminal and overcome restrictions of execution environment virtualization.
This painstaking work requires time and strong effort. But with due perseverance, success remains the option to achieve.
Given the above, it becomes clear that it is impossible to develop a standalone decompiler. But on the other hand, it's possible to create robust service for decompilation. And that is what we successfully did.