Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // 55 8B EC 8B 4D 04 81 EC ? ? ? ? 53 56 57
- int CL_SendMove()
- {
- // [COLLAPSED LOCAL DECLARATIONS. PRESS KEYPAD CTRL-"+" TO EXPAND]
- ReturnAddresCheck(retaddr);
- chockedCommand = *(_DWORD *)(CClientState[0] + 0x4D30);// ClientState->chokedcommands
- nextcommandnr = chockedCommand + *(_DWORD *)(CClientState[0] + 0x4D2C) + 1;// ClientState->lastoutgoingcommand
- result = (*((int (__thiscall **)(void **, _DWORD))off_1058CFC0 + 13))(&off_1058CFC0, 0);
- if ( !(_BYTE)result )
- {
- *(_OWORD *)DataOut = xmmword_104E0D90;
- v28 = 256;
- v29 = 0;
- __crt_strtox::big_integer::big_integer((__crt_strtox::big_integer *)v17);
- v21 = 0;
- is_chockedCommand_need_clamp = chockedCommand + 1 < 0;
- nNewCommands = chockedCommand + 1;
- v16[0] = (int)&CNetMessagePB<9,CCLCMsg_Move,11,0>::`vftable';
- v5 = &dword_105BE01C;
- v16[1] = (int)&CNetMessagePB<9,CCLCMsg_Move,11,0>::`vftable';
- v20 = &dword_105BE01C;
- v23 = 0;
- v26 = 15;
- v25 = 0;
- v24 = 0;
- DataOut[0] = data;
- DataOut[1] = (void *)0xFA0;
- DataOut[2] = (void *)0x7D00;
- DataOut[3] = 0;
- LOBYTE(v28) = 0;
- if ( is_chockedCommand_need_clamp )
- {
- nNewCommands = 0;
- }
- else if ( nNewCommands > 15 )
- {
- nNewCommands = 15;
- }
- cmd_delta = nextcommandnr - nNewCommands;
- v6 = 3;
- v19 = nNewCommands;
- from = -1;
- bOK = 1;
- to = nextcommandnr - nNewCommands - 1; // <- in leaked src here is +1
- v8 = 2;
- v22 = 3;
- if ( to > nextcommandnr )
- {
- v10 = data;
- }
- else
- {
- do
- {
- bOK = bOK
- && (*(unsigned __int8 (__thiscall **)(int, _DWORD, void **, int, int, bool))(*(_DWORD *)VClient + 0x60))(
- VClient,
- 0,
- DataOut,
- from,
- to,
- to >= cmd_delta + 1); // <- isnewcmd
- // g_ClientDLL->WriteUsercmdDeltaToBuffer( i, &DataOut, from, to, isnewcmd );
- from = to++;
- }
- while ( to <= nextcommandnr );
- if ( !bOK )
- goto END;
- v10 = (char *)DataOut[0];
- v6 = v22;
- v5 = v20;
- }
- v22 = v6 | 4;
- v11 = ((int)DataOut[3] + 7) >> 3;
- if ( v5 == &dword_105BE01C )
- {
- v12 = (*(int (__thiscall **)(_DWORD, int))(*g_pMemAlloc + 4))(g_pMemAlloc, 24);
- v13 = (int *)v12;
- if ( v12 )
- {
- *(_DWORD *)(v12 + 20) = 15;
- *(_DWORD *)(v12 + 16) = 0;
- *(_BYTE *)v12 = 0;
- }
- else
- {
- v13 = 0;
- }
- v20 = v13;
- }
- sub_100A5F20(v10, v11);
- v14 = *(_DWORD *)(CClientState[(*((int (__thiscall **)(void **))off_1058CFC0 + 5))(&off_1058CFC0)] + 156);
- (*(void (__thiscall **)(int, int *, _DWORD, _DWORD))(*(_DWORD *)v14 + 160))(v14, v16, 0, 0);
- END:
- result = sub_100DAE60(v16);
- }
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment