It would be very difficult for a decompiler to interpret the series of machine language instructions (ASM) that exist in an executable file and decide what the original source instruction was. Obviously, source language syntax no longer exists in the executable. Even if a certain degree of success is achieved, the generated 'source code' lacks meaningful variable and function names. This loss of names means that a decompiler would have to create unique names for all the constants, variables, functions, and procedures. When a Delphi project is compiled and linked to produce a standalone executable file, most of the names used in the program are converted to addresses. Fully automated decompilation is not possible - no decompiler could exactly reproduce the original source code. Is true decompilation possible? No, of course not.