Why use inline assembly and call NetworkStream functions by packet structure when you can do this:
Declare and define the address of the game function you want to call
Code:
uintptr_t SendChatPacketAddress = 0x1234AB;
Create a prototype for the function you want to call
Code:
typedef bool ( __thiscall* tSendChatPacket )( void* This, const char* c_szChat, BYTE byType);
tSendChatPacket SendChatPacket = ( tSendChatPacket ) SendChatPacketAddress;
Call it
Code:
SendChatPacket (CPythonNetworkStreamInstance, "Hello World", CHAT_TYPE);
Do you REALLY need (for some reason) to call the function in the way you've showed? Otherwise, it's much better to make a prototype and call it