Although sexp.cpp is a good possible starting point, as it is very straight forward, I think that the best way to try to understand the code would be to start from WinMain and try to see how the program unfolds from there, how things are getting set up, what functions are called and how etc. Granted, it is not the easiest way, it takes lots of time and, at the beginning at least, you will be lost really quickly, but after the first tricky "initiation" period, you will see that it is in fact a very logical sequence and you will be able to see how changing little things can affect the results.
If you can, have handy a text editor with grep/SearchInFiles feature. When you are tracking a function, you can use that to examine quickly from which exact part of the code tree it is called, under what conditions and where the functions/macros called within are defined. The MSVC IDE has this capability, I believe, and it is really really helpful. Also keep notes, plenty of them. You can't possibly remember everything by heart.
Sounds like a lot of work and it is, but it is also quite rewarding, especially the first time that you will see your own changes working in your favorite game. Good luck.