I'm working on reversing where the game stores the nearby mobs but I haven't worked everything out yet. I'm really looking for some input from programmers and reverse engineers, I know you guys are hiding out there!
I've worked out a function where the game checks the current hp of all nearby monsters non stop if you have the hp bars above head enabled (default ingame hot-key F8). I could just place a hook there to update my own list of nearby mobs but I'd much rather find the actual method of finding them in memory.
Below is a link to the function that I have partially documented. If you place a hook on line 75 (0x006129CD) then the pointer to the mob structure is in the EAX register. The function is called several times each time a new monster returned, eventually starting over.
Edit: Newer cleaned up comments ->