If you want a good base to start with Diablo 3, I suggest you read a bit about the different "names" the game uses (i.e. ACD, RActor, SNO, Scenes, ect.) As you can easily recover info about those via the Debug Strings the game uses. If you open up the game with any disassembler, you will easily find all these strings and the functions that use it.
Here's a simple example:
Code:
if ( *(v5 + 0x6C) == 0xFFFFFFFF )
{
v7 = sub_8269C0(&v14, 1, *(v3 + 0x90), 0);
LOBYTE(v17) = 1;
v8 = *(v3 + 0x90);
v9 = sub_F0FCC0(v7);
OutputDebug(
5,
3,
0,
"AttributesGetPower: Actor %s:%s (%d) says it is a monster, but doesn't have a valid monster SNO!\n",
v3 + 4,
v9,
v8);
LOBYTE(v17) = 0;
sub_F103D0(&v14);
v6 = v16;
}
There is additional code but I just wanted to show this one. Here we can see that the condition for this string to be printed is that the Actor contains a monster SNO. What is checked is for *(Actor + 0x6C) not to be -1, which means the Monster SNO is located there and an invalid SNO value is probably -1. There are a LOT of these strings.
Now of course if you're looking for a function it is possible that it doesn't have such a string in it, those strings are just there because they were used by blizzard for debugging at some point. Finding a function such as the one that prints to chat usually require a bit of research and analyze. I'm sure you could attempt to search for the actually "printed" chat messages and see what references them.
This was recovered with IDA. I know you said you were new to the scene but this information is very good to know if you want to reverse D3.