public const ulong BonesBasePos = 0x95434;
public const ulong BonesEncryptedPtr = 0x155A7FE8;
public const ulong BonesSizeStruct = 0x150;
public const ulong CameraOffset = 0x14417F80;
public const ulong CameraPos = 0x1D8;
public const ulong ClientBase_Dead1 = 0x36F0;
public const ulong ClientBase_Dead2 = 0x39B8;
public const ulong ClientBase_PosPtr = 0x448;
public const ulong ClientBase_Size = 0x3AA8;
public const ulong ClientBase_Stance = 0x2F6C;
public const ulong ClientBase_TeamId = 0x2DF4;
public const ulong ClientBase_Valid = 0x488;
public const ulong ClientBase_WeaponIndex = 0x3D8;
public const ulong ClientBaseEncryptedPtr = 0x9DBF8;
public const ulong ClientInfoEncryptedPtr = 0x17219218;
public const ulong LocalIndexOffset = 0x38C00;
public const ulong NameArrayOffset = 0x17226E58;
public const ulong NameListOffset = 0x4C70;
public const ulong NoRecoilOffset = 0x24CEC;
public const ulong RefDefEncryptedPtr = 0x1721BBB0;
public const ulong Weapon_Definition = 0x144EB300;
uint64_t DecryptClientInfo(uint64_t enc_client)
{
uint64_t rax, rbx, rcx, rdx, r8, rbp = 0;
rbx = enc_client;
if (!rbx)
return 0;
r8 = No_Define::BaseAddress;
rcx = No_Define::PEB;
rcx = ~rcx;
rax = driver::read<uint64_t>(rbp + 0xf8); if (!rax) rax = No_Define::BaseAddress;
rdx = No_Define::BaseAddress + 0xF45;
rax -= rdx;
rdx = 0x6D70CEFD9593A4F9;
rax = 0;
rax <<= 0x10;
rax ^= driver::read<uint64_t>(No_Define::BaseAddress + 0x660310D);
rax = _byteswap_uint64(rax);
rbx *= driver::read<uint64_t>(rax + 0x17);
rax = rbx;
rax >>= 0x24;
rbx ^= rax;
rax = 0x3938DE18C6D75C93;
rbx *= rdx;
rbx += rax;
rbx ^= rcx;
rbx ^= r8;
return rbx;
}
uint64_t DecryptClientBase(uint64_t encrypted_clientbase)
{
uint64_t rax, rbx, rcx, rdx, r8, rdi, r9, r10, r11, r12, r13, r14, r15, rsi, rsp, rbp = 0;
rax = encrypted_clientbase;
if (!rax)
return 0;
rbx = No_Define::PEB;
rcx = rbx;
rcx >>= 0xF;
rcx &= 0xF;
switch (rcx)
{
case 0:
{
rdi = (No_Define::BaseAddress + 0x2A1);
r14 = (No_Define::BaseAddress + 0x3C431634);
r10 = driver::read<uint64_t>(No_Define::BaseAddress + 0x6603146);
rcx = 0x2C52EE7E5CA1CE96;
rax -= rcx;
rcx = driver::read<uint64_t>(rbp + 0xf8); if (!rcx) rcx = No_Define::BaseAddress;
rcx -= rdi;
rcx = 0;
rcx <<= 0x10;
rcx ^= r10;
rcx = (~rcx);
rax *= driver::read<uint64_t>(rcx + 0x9);
rcx = rbx;
rcx ^= r14;
rax -= rcx;
rax += rbx;
rcx = rax;
rcx >>= 0x14;
rax ^= rcx;
rcx = rax;
rcx >>= 0x28;
rax ^= rcx;
rax += rbx;
rcx = 0x9C83A6ED81709013;
rax *= rcx;
rcx = 0x709DC8ADED0BA319;
rax += rcx;
return rax;
}
case 1:
{
rdi = (No_Define::BaseAddress + 0x2A1);
r9 = driver::read<uint64_t>(No_Define::BaseAddress + 0x6603146);
rcx = 0x1A69AD46E3A25C75;
rax -= rcx;
rcx = rax;
rcx >>= 0xC;
rax ^= rcx;
rcx = rax;
rcx >>= 0x18;
rax ^= rcx;
rcx = rax;
rcx >>= 0x30;
rcx ^= rbx;
rax ^= rcx;
rcx = 0x6ECEBD9C03D02936;
rax -= rcx;
rcx = No_Define::BaseAddress;
rax += rcx;
rcx = driver::read<uint64_t>(rbp + 0xf8); if (!rcx) rcx = No_Define::BaseAddress;
rcx -= rdi;
rcx = 0;
rcx <<= 0x10;
rcx ^= r9;
rcx = (~rcx);
rcx = driver::read<uint64_t>(rcx + 0x9);
rcx *= 0x3CE1F452114BE5D;
rax *= rcx;
rax += rbx;
return rax;
}
case 2:
{
rdi = (No_Define::BaseAddress + 0x2A1);
r11 = (No_Define::BaseAddress + 0xAE07);
rdx = driver::read<uint64_t>(No_Define::BaseAddress + 0x6603146);
rax += rbx;
rcx = rax;
rcx >>= 0x13;
rax ^= rcx;
rcx = rax;
rcx >>= 0x26;
rax ^= rcx;
rcx = 0x337FEE03C131D861;
rax ^= rcx;
rcx = 0xBCA9BFAF51DA6757;
rax *= rcx;
rcx = 0x5434E82D28CC28F9;
rax -= rcx;
rcx = driver::read<uint64_t>(rbp + 0xf8); if (!rcx) rcx = No_Define::BaseAddress;
rcx -= rdi;
rcx = 0;
rcx <<= 0x10;
rcx ^= rdx;
rcx = (~rcx);
rax *= driver::read<uint64_t>(rcx + 0x9);
rcx = No_Define::BaseAddress;
rax -= rcx;
rax += 0xFFFFFFFFE2253F2C;
rax += rbx;
rcx = r11;
rcx = (~rcx);
rcx += rbx;
rax ^= rcx;
return rax;
}
case 3:
{
r10 = driver::read<uint64_t>(No_Define::BaseAddress + 0x6603146);
rdi = (No_Define::BaseAddress + 0x2A1);
r15 = (No_Define::BaseAddress + 0x576A2168);
rcx = driver::read<uint64_t>(rbp + 0xf8); if (!rcx) rcx = No_Define::BaseAddress;
rcx -= rdi;
rcx = 0;
rcx <<= 0x10;
rcx ^= r10;
rcx = (~rcx);
rcx = driver::read<uint64_t>(rcx + 0x9);
rcx *= 0x8035B07E6320667D;
rax *= rcx;
rcx = rbx;
rcx *= r15;
rcx ^= rbx;
rax ^= rcx;
rcx = No_Define::BaseAddress;
rax -= rbx;
rax -= rcx;
rax -= 0x31E8;
rcx = rax;
rcx >>= 0x1;
rax ^= rcx;
rcx = rax;
rcx >>= 0x2;
rax ^= rcx;
rcx = rax;
rcx >>= 0x4;
rax ^= rcx;
rcx = rax;
rcx >>= 0x8;
rax ^= rcx;
rcx = rax;
rcx >>= 0x10;
rax ^= rcx;
rcx = rax;
rcx >>= 0x20;
rax ^= rcx;
rcx = rax;
rcx >>= 0x4;
rax ^= rcx;
rcx = rax;
rcx >>= 0x8;
rax ^= rcx;
rcx = rax;
rcx >>= 0x10;
rax ^= rcx;
rcx = rax;
rcx >>= 0x20;
rax ^= rcx;
rcx = rax;
rcx >>= 0x1E;
rax ^= rcx;
rcx = rax;
rcx >>= 0x3C;
rax ^= rcx;
return rax;
}
case 4:
{
rdi = (No_Define::BaseAddress + 0x2A1);
r9 = driver::read<uint64_t>(No_Define::BaseAddress + 0x6603146);
rcx = No_Define::BaseAddress;
rcx += 0x281F;
rcx += rbx;
rax ^= rcx;
rcx = 0xDF286BBF83F616D1;
rax *= rcx;
rcx = rax;
rcx >>= 0x8;
rax ^= rcx;
rcx = rax;
rcx >>= 0x10;
rax ^= rcx;
rcx = rax;
rcx >>= 0x20;
rax ^= rcx;
rcx = No_Define::BaseAddress;
rax ^= rcx;
rax -= rcx;
rax += 0xFFFFFFFFE4385B97;
rax += rbx;
rcx = driver::read<uint64_t>(rbp + 0xf8); if (!rcx) rcx = No_Define::BaseAddress;
rcx -= rdi;
rcx = 0;
rcx <<= 0x10;
rcx ^= r9;
rcx = (~rcx);
rax *= driver::read<uint64_t>(rcx + 0x9);
rcx = 0x4A4FFCF706C23293;
rax -= rcx;
rcx = rax;
rcx >>= 0x22;
rax ^= rcx;
return rax;
}
case 5:
{
r10 = driver::read<uint64_t>(No_Define::BaseAddress + 0x6603146);
rdi = (No_Define::BaseAddress + 0x2A1);
rcx = (No_Define::BaseAddress + 0x9128);
rcx -= rbx;
rax += rcx;
rdx = driver::read<uint64_t>(rbp + 0xf8); if (!rdx) rdx = No_Define::BaseAddress;
rdx -= rdi;
rcx = rax;
rcx >>= 0x26;
rdx = 0;
rcx ^= rax;
rdx <<= 0x10;
rcx -= rbx;
rdx ^= r10;
rdx = (~rdx);
rax = driver::read<uint64_t>(rdx + 0x9);
rax *= rcx;
rcx = 0x347EE6669F93372E;
rax -= rcx;
rcx = 0xCC4AC21D5E07EAFD;
rax *= rcx;
rcx = No_Define::BaseAddress;
rax -= rcx;
rax += 0xFFFFFFFFC0A98326;
rax += rbx;
rcx = 0x25D8C69821A4B1C1;
rax *= rcx;
return rax;
}
case 6:
{
r10 = driver::read<uint64_t>(No_Define::BaseAddress + 0x6603146);
rdi = (No_Define::BaseAddress + 0x2A1);
rcx = No_Define::BaseAddress;
rax -= rcx;
rax += 0xFFFFFFFFFFFF0A85;
rax += rbx;
rcx = 0xDD3029A8BCE8D4D;
rax *= rcx;
rdx = driver::read<uint64_t>(rbp + 0xf8); if (!rdx) rdx = No_Define::BaseAddress;
rdx -= rdi;
rdx = 0;
rdx <<= 0x10;
rcx = 0xFCFBF307C71E86A5;
rax ^= rcx;
rdx ^= r10;
rcx = No_Define::BaseAddress;
rdx = (~rdx);
rax -= rcx;
rcx = rbx + 0xffffffffffff06ff;
rcx += rax;
rax = (No_Define::BaseAddress + 0x48A8C848);
rax = (~rax);
rax *= rbx;
rcx ^= rax;
rax = driver::read<uint64_t>(rdx + 0x9);
rax *= rcx;
rcx = rax;
rcx >>= 0x24;
rax ^= rcx;
rcx = 0x2F5690490931B637;
rax *= rcx;
return rax;
}
case 7:
{
rdi = (No_Define::BaseAddress + 0x2A1);
r14 = (No_Define::BaseAddress + 0x2491D7D9);
r9 = driver::read<uint64_t>(No_Define::BaseAddress + 0x6603146);
rcx = 0x635E4B2FC3D0A10D;
rax *= rcx;
rcx = r14;
rcx = (~rcx);
rcx ^= rbx;
rax += rcx;
rcx = 0x51256D5DC16562EC;
rax ^= rcx;
rcx = rax;
rcx >>= 0x6;
rax ^= rcx;
rcx = rax;
rcx >>= 0xC;
rax ^= rcx;
rcx = rax;
rcx >>= 0x18;
rax ^= rcx;
rcx = rax;
rcx >>= 0x30;
rax ^= rcx;
rcx = rbx;
rcx *= No_Define::BaseAddress + 0x5E98C991;
rax += rcx;
rcx = No_Define::BaseAddress;
rax -= rcx;
rcx = rax;
rcx >>= 0xC;
rax ^= rcx;
rcx = rax;
rcx >>= 0x18;
rax ^= rcx;
rcx = rax;
rcx >>= 0x30;
rax ^= rcx;
rcx = driver::read<uint64_t>(rbp + 0xf8); if (!rcx) rcx = No_Define::BaseAddress;
rcx -= rdi;
rcx = 0;
rcx <<= 0x10;
rcx ^= r9;
rcx = (~rcx);
rax *= driver::read<uint64_t>(rcx + 0x9);
return rax;
}
case 8:
{
r10 = driver::read<uint64_t>(No_Define::BaseAddress + 0x6603146);
rdi = (No_Define::BaseAddress + 0x2A1);
rdx = driver::read<uint64_t>(rbp + 0xf8); if (!rdx) rdx = No_Define::BaseAddress;
rdx -= rdi;
rdx = 0;
rdx <<= 0x10;
rdx ^= r10;
rcx = 0xF9180DCDF5F228B4;
rcx += rax;
rdx = (~rdx);
rax = driver::read<uint64_t>(rdx + 0x9);
rax *= rcx;
rax += rbx;
rcx = rax;
rcx >>= 0x5;
rax ^= rcx;
rcx = rax;
rcx >>= 0xA;
rax ^= rcx;
rcx = rax;
rcx >>= 0x14;
rax ^= rcx;
rcx = rax;
rcx >>= 0x28;
rax ^= rcx;
rcx = No_Define::BaseAddress;
rax ^= rcx;
rcx = 0xEE1131A827DCAA68;
rax -= rbx;
rax ^= rcx;
rcx = 0xB6B2FC7C21D1D489;
rax *= rcx;
return rax;
}
case 9:
{
rdi = (No_Define::BaseAddress + 0x2A1);
r15 = (No_Define::BaseAddress + 0x74E0B964);
r10 = driver::read<uint64_t>(No_Define::BaseAddress + 0x6603146);
rax += rbx;
rcx = (No_Define::BaseAddress + 0x2E0E6E37);
rax += rcx;
rcx = 0xFA547910F03B3987;
rax *= rcx;
rcx = (No_Define::BaseAddress + 0x91DC);
rcx = (~rcx);
rcx *= rbx;
rax ^= rcx;
rcx = rax;
rcx >>= 0x2;
rax ^= rcx;
rcx = rax;
rcx >>= 0x4;
rax ^= rcx;
rcx = rax;
rcx >>= 0x8;
rax ^= rcx;
rcx = rax;
rcx >>= 0x10;
rax ^= rcx;
rcx = rax;
rcx >>= 0x20;
rax ^= rcx;
rcx = rax;
rcx >>= 0xB;
rax ^= rcx;
rcx = rax;
rcx >>= 0x16;
rax ^= rcx;
rcx = rax;
rcx >>= 0x2C;
rax ^= rcx;
rcx = No_Define::BaseAddress;
rax ^= rcx;
rcx = driver::read<uint64_t>(rbp + 0xf8); if (!rcx) rcx = No_Define::BaseAddress;
rcx -= rdi;
rcx = 0;
rcx <<= 0x10;
rcx ^= r10;
rcx = (~rcx);
rax *= driver::read<uint64_t>(rcx + 0x9);
rcx = r15;
rcx = (~rcx);
rcx ^= rbx;
rax += rcx;
return rax;
}
case 10:
{
rdi = (No_Define::BaseAddress + 0x2A1);
r10 = driver::read<uint64_t>(No_Define::BaseAddress + 0x6603146);
rcx = rax;
rcx >>= 0x1B;
rax ^= rcx;
rcx = rax;
rcx >>= 0x36;
rax ^= rcx;
rcx = rax;
rcx >>= 0x22;
rcx ^= rbx;
rax ^= rcx;
rcx = rax;
rcx >>= 0x15;
rax ^= rcx;
rcx = rax;
rcx >>= 0x2A;
rax ^= rcx;
rcx = driver::read<uint64_t>(rbp + 0xf8); if (!rcx) rcx = No_Define::BaseAddress;
rcx -= rdi;
rcx = 0;
rcx <<= 0x10;
rcx ^= r10;
rcx = (~rcx);
rax *= driver::read<uint64_t>(rcx + 0x9);
rcx = 0x5D93FBAC7F625877;
rax *= rcx;
rcx = 0x52B757443CDBD28B;
rax += rcx;
rcx = 0x5E17A54EAA80B6A5;
rax *= rcx;
return rax;
}
case 11:
{
r10 = driver::read<uint64_t>(No_Define::BaseAddress + 0x6603146);
rdi = (No_Define::BaseAddress + 0x2A1);
rcx = 0x4041D2698092818B;
rax *= rcx;
rcx = 0x6E7B1B11ABDFF2FA;
rax ^= rcx;
rdx = driver::read<uint64_t>(rbp + 0xf8); if (!rdx) rdx = No_Define::BaseAddress;
rdx -= rdi;
rdx = 0;
rdx <<= 0x10;
rcx = rbx + rax;
rdx ^= r10;
rdx = (~rdx);
rax = driver::read<uint64_t>(rdx + 0x9);
rax *= rcx;
rcx = rax;
rcx >>= 0x14;
rax ^= rcx;
rcx = rax;
rcx >>= 0x28;
rax ^= rcx;
rcx = rax;
rcx >>= 0x6;
rax ^= rcx;
rcx = rax;
rcx >>= 0xC;
rax ^= rcx;
rcx = rax;
rcx >>= 0x18;
rax ^= rcx;
rcx = rax;
rcx >>= 0x30;
rax ^= rcx;
rcx = 0x40077D00487E24C2;
rax += rcx;
rax -= rbx;
return rax;
}
case 12:
{
r9 = driver::read<uint64_t>(No_Define::BaseAddress + 0x6603146);
rdi = (No_Define::BaseAddress + 0x2A1);
r11 = (No_Define::BaseAddress + 0x1263);
rcx = 0xA8101149FD4CA7C3;
rax *= rcx;
r15 = 0x4EC0B4781CB32BBF;
rcx = rbx;
rcx = (~rcx);
rcx *= r11;
rcx += r15;
rax += rcx;
rcx = driver::read<uint64_t>(rbp + 0xf8); if (!rcx) rcx = No_Define::BaseAddress;
rcx -= rdi;
rcx = 0;
rcx <<= 0x10;
rcx ^= r9;
rcx = (~rcx);
rax *= driver::read<uint64_t>(rcx + 0x9);
rcx = rax;
rcx >>= 0x1E;
rax ^= rcx;
rcx = rax;
rcx >>= 0x3C;
rax ^= rcx;
rax ^= rbx;
rcx = 0x4E80F1A0C98C468;
rax += rcx;
rax -= rbx;
return rax;
}
case 13:
{
r10 = driver::read<uint64_t>(No_Define::BaseAddress + 0x6603146);
rdi = (No_Define::BaseAddress + 0x2A1);
r11 = (No_Define::BaseAddress + 0x6267F8D9);
rcx = driver::read<uint64_t>(rbp + 0xf8); if (!rcx) rcx = No_Define::BaseAddress;
rcx -= rdi;
rcx = 0;
rcx <<= 0x10;
rcx ^= r10;
rcx = (~rcx);
rcx = driver::read<uint64_t>(rcx + 0x9);
rax *= rcx;
rcx = 0x87FBBF81F585A7F5;
rax *= rcx;
rcx = No_Define::BaseAddress;
rax += rcx;
rcx = rbx + rax;
rax = 0xE2DF381128AD7D;
rcx ^= rax;
rax = rcx;
rax >>= 0x15;
rcx ^= rax;
rax = rcx;
rax >>= 0x2A;
rax ^= rcx;
rcx = r11;
rcx = (~rcx);
rax -= rbx;
rax += rcx;
rcx = No_Define::BaseAddress;
rax -= rcx;
return rax;
}
case 14:
{
rdi = (No_Define::BaseAddress + 0x2A1);
r11 = driver::read<uint64_t>(No_Define::BaseAddress + 0x6603146);
rdx = (No_Define::BaseAddress + 0xB8FD);
rcx = rbx;
r8 = driver::read<uint64_t>(rbp + 0xf8); if (!r8) r8 = No_Define::BaseAddress;
rcx *= rdx;
r8 -= rdi;
r8 = 0;
r8 <<= 0x10;
r8 ^= r11;
rdx = rax + rcx * 0x2;
r8 = (~r8);
rax = (No_Define::BaseAddress + 0x3DA2C48A);
rdx += rax;
rax = driver::read<uint64_t>(r8 + 0x9);
rax *= rdx;
rcx = rax;
rcx >>= 0x15;
rax ^= rcx;
rcx = rax;
rcx >>= 0x2A;
rax ^= rcx;
rcx = 0x63F739E7ACE8DEFA;
rax -= rcx;
rcx = 0xECA41A7D230C65B;
rax *= rcx;
return rax;
}
case 15:
{
rdi = (No_Define::BaseAddress + 0x2A1);
r15 = (No_Define::BaseAddress + 0x4A2);
r10 = driver::read<uint64_t>(No_Define::BaseAddress + 0x6603146);
rcx = No_Define::BaseAddress;
rax -= rcx;
rcx = rax;
rcx >>= 0x15;
rax ^= rcx;
rcx = rax;
rdx = driver::read<uint64_t>(rbp + 0xf8); if (!rdx) rdx = No_Define::BaseAddress;
rdx -= rdi;
rcx >>= 0x2A;
rdx = 0;
rcx ^= rax;
rdx <<= 0x10;
rdx ^= r10;
rdx = (~rdx);
rax = driver::read<uint64_t>(rdx + 0x9);
rax *= rcx;
rax += rbx;
rcx = 0xC3EBCF9689C9BEB;
rax *= rcx;
rcx = 0x7631FAD984D70CD9;
rax *= rcx;
rcx = 0x2D351ADE4F41F93F;
rax += rcx;
rax ^= rbx;
rax ^= r15;
return rax;
}
}
return 0;
}