CBaseClientState::ConnectionStart
0x000fd010 · 3996 bytes · __thiscall
_ZN16CBaseClientState15ConnectionStartEP11INetChannel
Decompiled
undefined (2 params)
/* CBaseClientState::ConnectionStart(INetChannel*) */
void __thiscall CBaseClientState::ConnectionStart(CBaseClientState *this,INetChannel *param_1)
{
undefined4 *puVar1;
NET_SplitScreenUser *this_00;
undefined4 *puVar2;
SVC_CreateStringTable *this_01;
SVC_CmdKeyValues *this_02;
int iVar3;
CBaseClientState *pCVar4;
byte bVar5;
uint in_stack_ffffffd8;
bVar5 = 0;
puVar1 = CNetMessage::operator_new((CNetMessage *)0x58,in_stack_ffffffd8);
puVar1[3] = 0;
pCVar4 = this + 8;
puVar1[4] = 0;
puVar1[5] = 0;
puVar1[6] = 0;
puVar1[7] = 0;
puVar1[8] = 0;
puVar1[9] = 0;
puVar1[10] = 0;
puVar1[0xb] = 0;
puVar1[0xc] = 0;
*(undefined1 *)(puVar1 + 0xd) = 0;
puVar1[0xe] = 0;
puVar1[0xf] = 0;
puVar1[0x10] = 0;
puVar1[0x11] = 0;
puVar1[2] = 0;
*puVar1 = &PTR__NET_Tick_002a1b28;
*(undefined1 *)(puVar1 + 1) = 0;
puVar1[0x14] = 0;
puVar1[0x15] = 0;
puVar1[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
puVar1 = CNetMessage::operator_new((CNetMessage *)0x450,(uint)puVar1);
puVar1[3] = 0;
puVar1[4] = 0;
puVar1[5] = 0;
puVar1[6] = 0;
puVar1[7] = 0;
puVar1[8] = 0;
puVar1[9] = 0;
puVar1[10] = 0;
puVar1[0xb] = 0;
puVar1[0xc] = 0;
*(undefined1 *)(puVar1 + 0xd) = 0;
puVar1[0xe] = 0;
puVar1[0xf] = 0;
puVar1[0x10] = 0;
puVar1[0x11] = 0;
*(undefined1 *)(puVar1 + 1) = 1;
puVar1[2] = 0;
*puVar1 = &PTR__NET_StringCmd_002a17c8;
puVar1[0x13] = 0;
puVar1[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
puVar1 = CNetMessage::operator_new((CNetMessage *)0x60,(uint)puVar1);
puVar1[3] = 0;
puVar1[4] = 0;
puVar1[5] = 0;
puVar1[6] = 0;
puVar1[7] = 0;
puVar1[8] = 0;
puVar1[9] = 0;
puVar1[10] = 0;
puVar1[0xb] = 0;
puVar1[0xc] = 0;
*(undefined1 *)(puVar1 + 0xd) = 0;
puVar1[0xe] = 0;
puVar1[0xf] = 0;
puVar1[0x10] = 0;
puVar1[0x11] = 0;
*(undefined1 *)(puVar1 + 1) = 1;
puVar1[2] = 0;
*puVar1 = &PTR__NET_SetConVar_002a1ca8;
puVar1[0x13] = 0;
puVar1[0x14] = 0;
puVar1[0x15] = 0;
puVar1[0x16] = 0;
puVar1[0x17] = 0;
puVar1[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
puVar1 = CNetMessage::operator_new((CNetMessage *)0x80,(uint)puVar1);
puVar1[3] = 0;
puVar1[4] = 0;
puVar1[5] = 0;
puVar1[6] = 0;
puVar1[7] = 0;
puVar1[8] = 0;
puVar1[9] = 0;
puVar1[10] = 0;
puVar1[0xb] = 0;
puVar1[0xc] = 0;
*(undefined1 *)(puVar1 + 0xd) = 0;
puVar1[0xe] = 0;
puVar1[0xf] = 0;
puVar1[0x10] = 0;
puVar1[0x11] = 0;
*(undefined1 *)(puVar1 + 1) = 1;
puVar1[2] = 0;
*puVar1 = &PTR__NET_SignonState_002a1888;
puVar1[0x16] = 0;
puVar1[0x17] = 0;
puVar1[0x18] = 0;
puVar1[0x19] = 0;
puVar1[0x1a] = 0;
puVar1[0x1b] = 0;
puVar1[0x1c] = 0;
puVar1[0x1d] = 0;
puVar1[0x1e] = 0;
puVar1[0x1f] = 0;
puVar1[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
this_00 = CNetMessage::operator_new((CNetMessage *)0x50,(uint)puVar1);
/* try { // try from 000fd2f9 to 000fd2fd has its CatchHandler @ 000fdfac */
NET_SplitScreenUser::NET_SplitScreenUser(this_00);
*(CBaseClientState **)(this_00 + 0x48) = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
puVar1 = CNetMessage::operator_new((CNetMessage *)0x850,(uint)this_00);
puVar1[3] = 0;
puVar1[4] = 0;
puVar1[5] = 0;
puVar1[6] = 0;
puVar1[7] = 0;
puVar1[8] = 0;
puVar1[9] = 0;
puVar1[10] = 0;
puVar1[0xb] = 0;
puVar1[0xc] = 0;
*(undefined1 *)(puVar1 + 0xd) = 0;
puVar1[0xe] = 0;
puVar1[0xf] = 0;
puVar1[0x10] = 0;
puVar1[0x11] = 0;
puVar1[2] = 0;
*puVar1 = &PTR__SVC_Print_002a1768;
*(undefined1 *)(puVar1 + 1) = 0;
puVar1[0x13] = 0;
puVar1[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
puVar2 = CNetMessage::operator_new((CNetMessage *)0x6a4,(uint)puVar1);
puVar1 = puVar2;
for (iVar3 = 0x1a9; iVar3 != 0; iVar3 = iVar3 + -1) {
*puVar1 = 0;
puVar1 = puVar1 + (uint)bVar5 * -2 + 1;
}
puVar2[5] = 0;
puVar2[6] = 0;
puVar2[9] = 0;
puVar2[10] = 0;
puVar2[0xe] = 0;
puVar2[0xf] = 0;
*(undefined1 *)(puVar2 + 1) = 1;
*puVar2 = &PTR__SVC_ServerInfo_002a1828;
puVar2[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
puVar2 = CNetMessage::operator_new((CNetMessage *)0x90,(uint)puVar2);
puVar1 = puVar2;
for (iVar3 = 0x24; iVar3 != 0; iVar3 = iVar3 + -1) {
*puVar1 = 0;
puVar1 = puVar1 + (uint)bVar5 * -2 + 1;
}
puVar2[5] = 0;
puVar2[6] = 0;
puVar2[9] = 0;
puVar2[10] = 0;
puVar2[0xe] = 0;
puVar2[0xf] = 0;
*(undefined1 *)(puVar2 + 1) = 1;
*puVar2 = &PTR__SVC_SendTable_002a1fa8;
puVar2[0x17] = 0xffffffff;
/* try { // try from 000fd460 to 000fd464 has its CatchHandler @ 000fe0b1 */
bf_write::bf_write((bf_write *)(puVar2 + 0x1e));
puVar2[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
puVar1 = CNetMessage::operator_new((CNetMessage *)0x68,(uint)puVar2);
puVar1[3] = 0;
puVar1[4] = 0;
puVar1[5] = 0;
puVar1[6] = 0;
puVar1[7] = 0;
puVar1[8] = 0;
puVar1[9] = 0;
puVar1[10] = 0;
puVar1[0xb] = 0;
puVar1[0xc] = 0;
*(undefined1 *)(puVar1 + 0xd) = 0;
puVar1[0xe] = 0;
puVar1[0xf] = 0;
puVar1[0x10] = 0;
puVar1[0x11] = 0;
*(undefined1 *)(puVar1 + 1) = 1;
puVar1[2] = 0;
*puVar1 = &PTR__SVC_ClassInfo_002a1ee8;
puVar1[0x14] = 0;
puVar1[0x15] = 0;
puVar1[0x16] = 0;
puVar1[0x17] = 0;
puVar1[0x18] = 0;
puVar1[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
puVar1 = CNetMessage::operator_new((CNetMessage *)0x50,(uint)puVar1);
puVar1[3] = 0;
puVar1[4] = 0;
puVar1[5] = 0;
puVar1[6] = 0;
puVar1[7] = 0;
puVar1[8] = 0;
puVar1[9] = 0;
puVar1[10] = 0;
puVar1[0xb] = 0;
puVar1[0xc] = 0;
*(undefined1 *)(puVar1 + 0xd) = 0;
puVar1[0xe] = 0;
puVar1[0xf] = 0;
puVar1[0x10] = 0;
puVar1[0x11] = 0;
*(undefined1 *)(puVar1 + 1) = 1;
puVar1[2] = 0;
*puVar1 = &PTR__SVC_SetPause_002a1c48;
puVar1[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
this_01 = CNetMessage::operator_new((CNetMessage *)0x1ac,(uint)puVar1);
/* try { // try from 000fd5cf to 000fd5d3 has its CatchHandler @ 000fe09f */
SVC_CreateStringTable::SVC_CreateStringTable(this_01);
*(CBaseClientState **)(this_01 + 0x48) = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
puVar2 = CNetMessage::operator_new((CNetMessage *)0x94,(uint)this_01);
puVar1 = puVar2;
for (iVar3 = 0x25; iVar3 != 0; iVar3 = iVar3 + -1) {
*puVar1 = 0;
puVar1 = puVar1 + (uint)bVar5 * -2 + 1;
}
puVar2[5] = 0;
puVar2[6] = 0;
puVar2[9] = 0;
puVar2[10] = 0;
puVar2[0xe] = 0;
puVar2[0xf] = 0;
*(undefined1 *)(puVar2 + 1) = 1;
*puVar2 = &PTR__SVC_UpdateStringTable_002a1d08;
puVar2[0x18] = 0xffffffff;
/* try { // try from 000fd641 to 000fd645 has its CatchHandler @ 000fe084 */
bf_write::bf_write((bf_write *)(puVar2 + 0x1f));
puVar2[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
puVar1 = CNetMessage::operator_new((CNetMessage *)0x158,(uint)puVar2);
puVar1[3] = 0;
puVar1[4] = 0;
puVar1[5] = 0;
puVar1[6] = 0;
puVar1[7] = 0;
puVar1[8] = 0;
puVar1[9] = 0;
puVar1[10] = 0;
puVar1[0xb] = 0;
puVar1[0xc] = 0;
*(undefined1 *)(puVar1 + 0xd) = 0;
puVar1[0xe] = 0;
puVar1[0xf] = 0;
puVar1[0x10] = 0;
puVar1[0x11] = 0;
*(undefined1 *)(puVar1 + 1) = 1;
puVar1[2] = 0;
*puVar1 = &PTR__SVC_VoiceInit_002a1a68;
puVar1[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
puVar1 = CNetMessage::operator_new((CNetMessage *)0x8c,(uint)puVar1);
puVar1[3] = 0;
puVar1[4] = 0;
puVar1[5] = 0;
puVar1[6] = 0;
puVar1[7] = 0;
puVar1[8] = 0;
puVar1[9] = 0;
puVar1[10] = 0;
puVar1[0xb] = 0;
puVar1[0xc] = 0;
*(undefined1 *)(puVar1 + 0xd) = 0;
puVar1[0xe] = 0;
puVar1[0xf] = 0;
puVar1[0x10] = 0;
puVar1[0x11] = 0;
puVar1[2] = 0;
*puVar1 = &PTR__SVC_VoiceData_002a1ac8;
*(undefined1 *)(puVar1 + 0x1a) = 0;
puVar1[0x19] = 0;
puVar1[0x1b] = 0xffffffff;
puVar1[0x1c] = 0;
*(undefined1 *)(puVar1 + 1) = 0;
puVar1[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
puVar2 = CNetMessage::operator_new((CNetMessage *)0x94,(uint)puVar1);
puVar1 = puVar2;
for (iVar3 = 0x25; iVar3 != 0; iVar3 = iVar3 + -1) {
*puVar1 = 0;
puVar1 = puVar1 + (uint)bVar5 * -2 + 1;
}
puVar2[5] = 0;
puVar2[6] = 0;
puVar2[9] = 0;
puVar2[10] = 0;
puVar2[0xe] = 0;
puVar2[0xf] = 0;
*(undefined1 *)(puVar2 + 1) = 1;
*puVar2 = &PTR__SVC_Sounds_002a1dc8;
puVar2[0x18] = 0xffffffff;
/* try { // try from 000fd7f3 to 000fd7f7 has its CatchHandler @ 000fe069 */
bf_write::bf_write((bf_write *)(puVar2 + 0x1f));
puVar2[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
puVar1 = CNetMessage::operator_new((CNetMessage *)0x50,(uint)puVar2);
puVar1[3] = 0;
puVar1[4] = 0;
puVar1[5] = 0;
puVar1[6] = 0;
puVar1[7] = 0;
puVar1[8] = 0;
puVar1[9] = 0;
puVar1[10] = 0;
puVar1[0xb] = 0;
puVar1[0xc] = 0;
*(undefined1 *)(puVar1 + 0xd) = 0;
puVar1[0xe] = 0;
puVar1[0xf] = 0;
puVar1[0x10] = 0;
puVar1[0x11] = 0;
*(undefined1 *)(puVar1 + 1) = 1;
puVar1[2] = 0;
*puVar1 = &PTR__SVC_SetView_002a1948;
puVar1[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
puVar1 = CNetMessage::operator_new((CNetMessage *)0x5c,(uint)puVar1);
puVar1[3] = 0;
puVar1[4] = 0;
puVar1[5] = 0;
puVar1[6] = 0;
puVar1[7] = 0;
puVar1[8] = 0;
puVar1[9] = 0;
puVar1[10] = 0;
puVar1[0xb] = 0;
puVar1[0xc] = 0;
*(undefined1 *)(puVar1 + 0xd) = 0;
puVar1[0xe] = 0;
puVar1[0xf] = 0;
puVar1[0x10] = 0;
puVar1[0x11] = 0;
puVar1[2] = 0;
*puVar1 = &PTR__SVC_FixAngle_002a19a8;
*(undefined1 *)(puVar1 + 1) = 0;
puVar1[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
puVar1 = CNetMessage::operator_new((CNetMessage *)0x58,(uint)puVar1);
puVar1[3] = 0;
puVar1[4] = 0;
puVar1[5] = 0;
puVar1[6] = 0;
puVar1[7] = 0;
puVar1[8] = 0;
puVar1[9] = 0;
puVar1[10] = 0;
puVar1[0xb] = 0;
puVar1[0xc] = 0;
*(undefined1 *)(puVar1 + 0xd) = 0;
puVar1[0xe] = 0;
puVar1[0xf] = 0;
puVar1[0x10] = 0;
puVar1[0x11] = 0;
*(undefined1 *)(puVar1 + 1) = 1;
puVar1[2] = 0;
*puVar1 = &PTR__SVC_CrosshairAngle_002a1a08;
puVar1[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
puVar2 = CNetMessage::operator_new((CNetMessage *)0x68,(uint)puVar1);
puVar1 = puVar2;
for (iVar3 = 0x1a; iVar3 != 0; iVar3 = iVar3 + -1) {
*puVar1 = 0;
puVar1 = puVar1 + (uint)bVar5 * -2 + 1;
}
puVar2[5] = 0;
puVar2[6] = 0;
puVar2[9] = 0;
puVar2[10] = 0;
puVar2[0xe] = 0;
puVar2[0xf] = 0;
*(undefined1 *)(puVar2 + 1) = 1;
*puVar2 = &PTR__SVC_BSPDecal_002a18e8;
puVar2[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
puVar2 = CNetMessage::operator_new((CNetMessage *)0x8c,(uint)puVar2);
puVar1 = puVar2;
for (iVar3 = 0x23; iVar3 != 0; iVar3 = iVar3 + -1) {
*puVar1 = 0;
puVar1 = puVar1 + (uint)bVar5 * -2 + 1;
}
puVar2[5] = 0;
puVar2[6] = 0;
puVar2[9] = 0;
puVar2[10] = 0;
puVar2[0xe] = 0;
puVar2[0xf] = 0;
*(undefined1 *)(puVar2 + 1) = 1;
*puVar2 = &PTR__SVC_GameEvent_002a1f48;
puVar2[0x16] = 0xffffffff;
/* try { // try from 000fda7a to 000fda7e has its CatchHandler @ 000fe04e */
bf_write::bf_write((bf_write *)(puVar2 + 0x1d));
puVar2[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
puVar1 = CNetMessage::operator_new((CNetMessage *)0xa0,(uint)puVar2);
puVar1[3] = 0;
puVar1[4] = 0;
puVar1[5] = 0;
puVar1[6] = 0;
puVar1[7] = 0;
puVar1[8] = 0;
puVar1[9] = 0;
puVar1[10] = 0;
puVar1[0xb] = 0;
puVar1[0xc] = 0;
*(undefined1 *)(puVar1 + 0xd) = 0;
puVar1[0xe] = 0;
puVar1[0xf] = 0;
puVar1[0x10] = 0;
puVar1[0x11] = 0;
*(undefined1 *)(puVar1 + 1) = 1;
puVar1[2] = 0;
*puVar1 = &PTR__SVC_UserMessage_002a1be8;
*(undefined1 *)(puVar1 + 0x16) = 0;
puVar1[0x15] = 0;
puVar1[0x17] = 0xffffffff;
puVar1[0x18] = 0;
/* try { // try from 000fdb36 to 000fdb48 has its CatchHandler @ 000fe036 */
bf_write::bf_write((bf_write *)(puVar1 + 0x1e));
CUtlString::CUtlString((CUtlString *)(puVar1 + 0x24));
*(undefined1 *)(puVar1 + 1) = 0;
puVar1[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
puVar1 = CNetMessage::operator_new((CNetMessage *)0x94,(uint)puVar1);
puVar1[3] = 0;
puVar1[4] = 0;
puVar1[5] = 0;
puVar1[6] = 0;
puVar1[7] = 0;
puVar1[8] = 0;
puVar1[9] = 0;
puVar1[10] = 0;
puVar1[0xb] = 0;
puVar1[0xc] = 0;
*(undefined1 *)(puVar1 + 0xd) = 0;
puVar1[0xe] = 0;
puVar1[0xf] = 0;
puVar1[0x10] = 0;
puVar1[0x11] = 0;
*(undefined1 *)(puVar1 + 1) = 1;
puVar1[2] = 0;
*puVar1 = &PTR__SVC_EntityMessage_002a2008;
*(undefined1 *)(puVar1 + 0x17) = 0;
puVar1[0x16] = 0;
puVar1[0x18] = 0xffffffff;
puVar1[0x19] = 0;
/* try { // try from 000fdc01 to 000fdc05 has its CatchHandler @ 000fe01e */
bf_write::bf_write((bf_write *)(puVar1 + 0x1f));
*(undefined1 *)(puVar1 + 1) = 0;
puVar1[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
puVar2 = CNetMessage::operator_new((CNetMessage *)0xa0,(uint)puVar1);
puVar1 = puVar2;
for (iVar3 = 0x28; iVar3 != 0; iVar3 = iVar3 + -1) {
*puVar1 = 0;
puVar1 = puVar1 + (uint)bVar5 * -2 + 1;
}
puVar2[5] = 0;
puVar2[6] = 0;
puVar2[9] = 0;
puVar2[10] = 0;
puVar2[0xe] = 0;
puVar2[0xf] = 0;
*(undefined1 *)(puVar2 + 1) = 1;
*puVar2 = &PTR__SVC_PacketEntities_002a2068;
puVar2[0x1b] = 0xffffffff;
/* try { // try from 000fdc7a to 000fdc7e has its CatchHandler @ 000fe003 */
bf_write::bf_write((bf_write *)(puVar2 + 0x22));
puVar2[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
puVar1 = CNetMessage::operator_new((CNetMessage *)0x90,(uint)puVar2);
puVar1[3] = 0;
puVar1[4] = 0;
puVar1[5] = 0;
puVar1[6] = 0;
puVar1[7] = 0;
puVar1[8] = 0;
puVar1[9] = 0;
puVar1[10] = 0;
puVar1[0xb] = 0;
puVar1[0xc] = 0;
*(undefined1 *)(puVar1 + 0xd) = 0;
puVar1[0xe] = 0;
puVar1[0xf] = 0;
puVar1[0x10] = 0;
puVar1[0x11] = 0;
*(undefined1 *)(puVar1 + 1) = 1;
puVar1[2] = 0;
*puVar1 = &PTR__SVC_TempEntities_002a1e88;
*(undefined1 *)(puVar1 + 0x16) = 0;
puVar1[0x15] = 0;
puVar1[0x17] = 0xffffffff;
puVar1[0x18] = 0;
/* try { // try from 000fdd36 to 000fdd3a has its CatchHandler @ 000fdfeb */
bf_write::bf_write((bf_write *)(puVar1 + 0x1e));
*(undefined1 *)(puVar1 + 1) = 0;
puVar1[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
puVar2 = CNetMessage::operator_new((CNetMessage *)0x50,(uint)puVar1);
puVar1 = puVar2;
for (iVar3 = 0x14; iVar3 != 0; iVar3 = iVar3 + -1) {
*puVar1 = 0;
puVar1 = puVar1 + (uint)bVar5 * -2 + 1;
}
puVar2[5] = 0;
puVar2[6] = 0;
puVar2[9] = 0;
puVar2[10] = 0;
puVar2[0xe] = 0;
puVar2[0xf] = 0;
*(undefined1 *)(puVar2 + 1) = 1;
*puVar2 = &PTR__SVC_Prefetch_002a1e28;
puVar2[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
puVar1 = CNetMessage::operator_new((CNetMessage *)0x58,(uint)puVar2);
puVar1[3] = 0;
puVar1[4] = 0;
puVar1[5] = 0;
puVar1[6] = 0;
puVar1[7] = 0;
puVar1[8] = 0;
puVar1[9] = 0;
puVar1[10] = 0;
puVar1[0xb] = 0;
puVar1[0xc] = 0;
*(undefined1 *)(puVar1 + 0xd) = 0;
puVar1[0xe] = 0;
puVar1[0xf] = 0;
puVar1[0x10] = 0;
puVar1[0x11] = 0;
*(undefined1 *)(puVar1 + 1) = 1;
puVar1[2] = 0;
*puVar1 = &PTR__SVC_Menu_002a20c8;
puVar1[0x14] = 1;
puVar1[0x13] = 0;
puVar1[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
puVar2 = CNetMessage::operator_new((CNetMessage *)0x90,(uint)puVar1);
puVar1 = puVar2;
for (iVar3 = 0x24; iVar3 != 0; iVar3 = iVar3 + -1) {
*puVar1 = 0;
puVar1 = puVar1 + (uint)bVar5 * -2 + 1;
}
puVar2[5] = 0;
puVar2[6] = 0;
puVar2[9] = 0;
puVar2[10] = 0;
puVar2[0xe] = 0;
puVar2[0xf] = 0;
*(undefined1 *)(puVar2 + 1) = 1;
*puVar2 = &PTR__SVC_GameEventList_002a2128;
puVar2[0x17] = 0xffffffff;
/* try { // try from 000fdea8 to 000fdeac has its CatchHandler @ 000fdfd0 */
bf_write::bf_write((bf_write *)(puVar2 + 0x1e));
puVar2[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
puVar2 = CNetMessage::operator_new((CNetMessage *)0x154,(uint)puVar2);
puVar1 = puVar2;
for (iVar3 = 0x55; iVar3 != 0; iVar3 = iVar3 + -1) {
*puVar1 = 0;
puVar1 = puVar1 + (uint)bVar5 * -2 + 1;
}
puVar2[5] = 0;
puVar2[6] = 0;
puVar2[9] = 0;
puVar2[10] = 0;
puVar2[0xe] = 0;
puVar2[0xf] = 0;
*(undefined1 *)(puVar2 + 1) = 1;
*puVar2 = &PTR__SVC_GetCvarValue_002a21e8;
puVar2[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
puVar2 = CNetMessage::operator_new((CNetMessage *)0x58,(uint)puVar2);
puVar1 = puVar2;
for (iVar3 = 0x16; iVar3 != 0; iVar3 = iVar3 + -1) {
*puVar1 = 0;
puVar1 = puVar1 + (uint)bVar5 * -2 + 1;
}
puVar2[5] = 0;
puVar2[6] = 0;
puVar2[9] = 0;
puVar2[10] = 0;
puVar2[0xe] = 0;
puVar2[0xf] = 0;
*(undefined1 *)(puVar2 + 1) = 1;
*puVar2 = &PTR__SVC_SplitScreen_002a2188;
puVar2[0x12] = pCVar4;
(**(code **)(*(int *)param_1 + 0x78))(param_1);
this_02 = CNetMessage::operator_new((CNetMessage *)0x50,(uint)puVar2);
/* try { // try from 000fdf90 to 000fdf94 has its CatchHandler @ 000fdfbe */
SVC_CmdKeyValues::SVC_CmdKeyValues(this_02,(KeyValues *)0x0);
*(CBaseClientState **)(this_02 + 0x4c) = pCVar4;
/* WARNING: Could not recover jumptable at 0x000fdfaa. Too many branches */
/* WARNING: Treating indirect jump as call */
(**(code **)(*(int *)param_1 + 0x78))();
return;
}
SourceMod gamedata
paste intoaddons/sourcemod/gamedata/<your_plugin>.txt
used as the SourceMod key — change to fit your plugin's convention
SourceMod library name (server / engine / matchmaking)
Just a Signatures{} block, ready to drop into a gamedata
file. Wire it up in your plugin however you like - SDKCall, DHooks,
raw memory ops, or anything else.
Signatures + Functions block. The plugin uses
DHookCreateFromConf - DHooks reads return type, this-type,
calling convention, and argument types straight from the gamedata. Less
boilerplate in the plugin, types travel with the gamedata.
Gamedata KeyValues
DHooks plugin example
Type inference is best-effort from the C signature - sanity-check the DHooks types before shipping.