

As of now we see that only 1 argument is pushed (our text), the game will take care of EAX by itself, which means that we don't have to work hard with this one 
void __cdecl PushTextToChat(char* text)
{
}
006F8179 |. E8 A2E5D0FF |CALL PBlackou.00406720 ;PBlackout.00406720 -> The offset of our function is 00406720 (which is a HEX btw)
006F816D |. 68 2CC89B00 |PUSH PBlackou.009BC82C ; ASCII "[%s] %s" TO: 006F817E |. 83C4 10 |ADD ESP,10
void __cdecl PushTextToChat(char* text)
{
DWORD pointer = 0x406720;
__asm{
push text
lea eax, dword ptr ss:[ebp-218]
push eax
call pointer
add esp, 10
};
}

, I Repped you aswell..
.MOV DWORD PTR DS:[ADDY],EAX
PushTextToChat("something i wanna say");