If there's any documentation for the program you're working on, chances are it's dangerously out of date. You'll have to rely on the source code, and unless the program you need to analyze is trivial, you won't be able to digest it all at once. Even simple programs become alarmingly complex when packaged to run as server apps. So you'll have to reverse-engineer the structure of the application, if it has one, or at best understand how the program has grown over the years. Code comments, like documentation, can be treacherous allies.
Harried programmers update the code and forget to change the comments.
Even with the best of intentions, it's easy to let code and comments slide apart. If you're moving to Windows NT from another operating system you'll have the same problem. The developers who make check-ins have the changes fresh in their memories and can still capture the important details. I've found a combination of approaches helps me get to the bottom of a piece of code quickly. The keys to any application are, of course, the control and the data flows.