Pointerscan... Try to find the base pointer for something
Find out what writes to the selected address, and since the program knows the offset, the place it writes the information to will always be the thing that you find there.
Then, simply mimic what you see in the program in your own program.
For example, if you see MOV [ESI+A4],EAX You should find an address that holds the value of ESI, and then read from it, to find the current ESI value, and then add A4 to it to find the address you were first looking for.