If you found send function, you can easily find CDataStore offset.
Code:
void __fastcall NetClient__SendEx(__int64 a1, __int64 a2, unsigned int a3)
{
__int64 v3; // rbx
__int64 v4; // rsi
signed int v5; // edi
__int64 (__fastcall **v6)(); // [rsp+20h] [rbp-28h]
__int64 v7; // [rsp+28h] [rbp-20h]
__int64 v8; // [rsp+30h] [rbp-18h]
int v9; // [rsp+38h] [rbp-10h]
int v10; // [rsp+3Ch] [rbp-Ch]
v6 = CDataStore;
v3 = a2;
v7 = 0i64;
v4 = a1;
v8 = 0i64;
v9 = 0;
v5 = a3;
v10 = -1;
sub_1402BD400((__int64)&v6, 16);
(*(void (__fastcall **)(__int64, __int64 (__fastcall ***)()))(*(_QWORD *)v3 + 16i64))(v3, &v6);
v10 = 16;
NetClient__SendExEx(v4, (__int64)&v6, v5);
v6 = CDataStore;
if ( HIDWORD(v8) != -1 )
CDataStore__InternalDestroy(&v6, &v7, &v8, (char *)&v8 + 4);
}
note: this decompilation is from retail 33237 build.