If possible, I would try writing unit tests for the existing code. This tests your understanding of what you are reading and will come in handy later if you change the code. If unit tests already exist then I suggest that you read them since they will tell you the intention of each function.
Unit tests are a lot like documentation: they will tell you what the code is _expected_ to do. (Not what the code actually _will_ do, especially in corner cases). Thus, if you are already digging in to see what any section of code is doing, document what you've found: write a unit test.