I am familiar with debuggers and sorts. I was going through a program and noticed that IDA does make some mistakes on what it decides what on its pseudo code will be. Is there a list of common mistakes by IDA and do you think that it would be possible to get something to a compilable source? I thought I would test it out on some programs and one thing weird I noticed is that it will do: v1 = thiscall(); Where as in source I just have the `thiscall();`. I also noticed that it bloats a lot of things which is from the assembly itself. So my questions are: - Is there a list of common IDA mistakes ? - Can once I have worked back fairly close to source will IDA produce a header file ? - Is it possible to get back to a source that I could at least compile code from? Its looking like I might be able to providing if I knew the libraries and outline of the program well. Let me know what your thoughts and experiences from using IDA on this subject. **Edit:** I found a project that actually did this. All functions are byte for byte in 100% accuracy. So yes my past self, it is indeed possible. https://github.com/diasurgical/devilution