Advertisement
Guest User

Untitled

a guest
May 23rd, 2021
1,251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 11.58 KB | None | 0 0
  1. pub const REFDEF: u64 = 0x16F1FFA0;
  2. pub const NAME_ARRAY: u64 = 0x16F2B0B8;
  3. pub const NAME_LIST_OFFSET: u64 = 0x4C70;
  4. pub const CAMERA_POINTER: u64 = 0x14176660;
  5. pub const CAMERA_OFFSET: u64 = 0x1D8;
  6. pub const LOCAL_INDEX: u64 = 0x6908;
  7. pub const LOCAL_INDEX_OFFSET: u64 = 0x1F4;
  8. pub const NO_RECOIL: u64 = 0x989A0;
  9. pub const WEAPON_DEFINITIONS: u64 = 0x0;
  10. pub const unit_scale: f32 = 0.0254
  11.  
  12. pub mod character_info {
  13. pub const SIZE: u64 = 0x3A50;
  14. pub const VALID: u64 = 0x5B0;
  15. pub const POS: u64 = 0x260;
  16. pub const TEAM: u64 = 0x274;
  17. pub const STANCE: u64 = 0xA28;
  18. // could not find any signature matches with 80 BB ?? ?? ?? ?? ?? 74 ?? 83 BB ?? ?? ?? ?? ?? 48 8D for weapon_index offset
  19. pub const WEAPON_INDEX: u64 = 0x0;
  20. pub const DEAD_1: u64 = 0x10;
  21. pub const DEAD_2: u64 = 0x34;
  22. }
  23.  
  24. pub mod client_info {
  25. pub const ENCRYPTED_PTR: u64 = 0x16F1D608;
  26. }
  27.  
  28. pub mod client_base {
  29. pub const ENCRYPTED_PTR: u64 = 0x9DB98;
  30. }
  31.  
  32. pub mod bone {
  33. pub const ENCRYPTED_PTR: u64 = 0x152C02C8;
  34. pub const BASE_POS: u64 = 0x0;
  35. pub const INDEX_STRUCT_SIZE: u64 = 0x150;
  36. }
  37.  
  38.  
  39. #include "decryption.h"
  40.  
  41. extern "C" auto decrypt_client_info(uint64_t game_base_address, uint64_t encrypted_ptr, uint64_t peb) -> uint64_t {
  42.     RBX = encrypted_address
  43. RDX = game_base_address;
  44. RAX -= 0x4C;
  45. // movzx eax,al
  46. R8 = peb // mov r8,gs:[rax];
  47. RCX = R8;
  48. RAX = 0x0;
  49. RCX -= RDX;
  50. RAX = _rotl64(RAX, 0x10);
  51. RCX += RBX;
  52. RAX ^= read<uint64_t>(game_base_address + 0x64310EB);
  53. RDX = 0xA75E18F8B6F00B13;
  54. RAX = ~RAX;
  55. RCX *= RDX;
  56. RAX = read<uint64_t>(RAX + 0x5);
  57. RDX = 0x55E7FC3002787674;
  58. RCX -= RDX;
  59. RAX *= RCX;
  60. RBX = RAX;
  61. RBX >>= 0x20;
  62. RBX ^= RAX;
  63. RAX = 0x4EAF1444C7716869;
  64. RBX -= RAX;
  65. RAX = game_base_address + 0xE1AB;
  66. RAX -= R8;
  67. RBX ^= RAX;
  68. return RBX;
  69.  
  70. }
  71.  
  72. extern "C" auto decrypt_client_base(uint64_t game_base_address, uint64_t encrypted_ptr, uint64_t peb,
  73.                                     uint8_t switch_case) -> uint64_t {
  74.     RAX = encrypted_address
  75. switch(RCX) {
  76. case 0: {
  77. R10 = read<uint64_t>(game_base_address + 0x6431135);
  78. RDI = game_base_address + 0xBBD;
  79. RAX -= RBX;
  80. RCX = 0xE6E9C4CFE60AA6CF;
  81. RAX *= RCX;
  82. RBP = 0x5FED18F0C0;
  83. RCX = RBP;
  84. RCX -= RDI;
  85. RCX = 0x0;
  86. RCX = _rotl64(RCX, 0x10);
  87. RCX ^= R10;
  88. RCX = ~RCX;
  89. RCX = read<uint64_t>(RCX + 0x7);
  90. RAX *= RCX;
  91. RCX = 0x60A51A7CE56B0033;
  92. RAX ^= RCX;
  93. RCX = game_base_address;
  94. RAX ^= RCX;
  95. RAX += RBX;
  96. RCX = 0xE8A4E59D9068BBD8;
  97. RAX ^= RCX;
  98. RCX = RAX;
  99. RCX >>= 0x25;
  100. RAX ^= RCX;
  101. return RAX;
  102. }
  103. case 1: {
  104. R10 = read<uint64_t>(game_base_address + 0x6431135);
  105. RDI = game_base_address + 0xBBD;
  106. RCX = 0xE9D90E123EA3008F;
  107. RAX *= RCX;
  108. RCX = game_base_address;
  109. RAX += RCX;
  110. RCX = RAX;
  111. RCX >>= 0x1F;
  112. RAX ^= RCX;
  113. RCX = RAX;
  114. RCX >>= 0x3E;
  115. RAX ^= RCX;
  116. RCX = 0x30F82B00D1212CCD;
  117. RAX -= RCX;
  118. RCX = 0xD59E13638316CDC7;
  119. RAX *= RCX;
  120. RCX = RAX;
  121. RCX >>= 0x7;
  122. RAX ^= RCX;
  123. RCX = RAX;
  124. RCX >>= 0xE;
  125. RAX ^= RCX;
  126. RCX = RAX;
  127. RCX >>= 0x1C;
  128. RAX ^= RCX;
  129. RBP = 0x5FED18F0C0;
  130. RDX = RBP;
  131. RDX -= RDI;
  132. RDX = 0x0;
  133. RCX = RAX;
  134. RDX = _rotl64(RDX, 0x10);
  135. RCX >>= 0x38;
  136. RDX ^= R10;
  137. RCX ^= RAX;
  138. RDX = ~RDX;
  139. RAX = read<uint64_t>(RDX + 0x7);
  140. RAX *= RCX;
  141. RAX -= RBX;
  142. return RAX;
  143. }
  144. case 2: {
  145. RDI = game_base_address + 0xBBD;
  146. R15 = game_base_address + 0x63172AC6;
  147. RDX = game_base_address + 0xBA26;
  148. R10 = read<uint64_t>(game_base_address + 0x6431135);
  149. RCX = 0x9247868A197212ED;
  150. RAX *= RCX;
  151. RAX ^= RBX;
  152. RAX ^= R15;
  153. RCX = 0x7826ADD63EB357EF;
  154. RAX ^= RCX;
  155. RCX = 0x694A73F1D4539551;
  156. RAX -= RCX;
  157. RCX = RBX;
  158. RCX = ~RCX;
  159. RCX ^= RDX;
  160. RAX -= RCX;
  161. RBP = 0x5FED18F0C0;
  162. RDX = RBP;
  163. RDX -= RDI;
  164. RCX = RAX;
  165. RDX = 0x0;
  166. RCX >>= 0x15;
  167. RAX ^= RCX;
  168. RDX = _rotl64(RDX, 0x10);
  169. RDX ^= R10;
  170. RCX = RAX;
  171. RDX = ~RDX;
  172. RCX >>= 0x2A;
  173. RCX ^= RAX;
  174. RAX = read<uint64_t>(RDX + 0x7);
  175. RAX *= RCX;
  176. RCX = game_base_address;
  177. RAX -= RCX;
  178. return RAX;
  179. }
  180. case 3: {
  181. RDI = game_base_address + 0xBBD;
  182. R10 = read<uint64_t>(game_base_address + 0x6431135);
  183. RCX = game_base_address;
  184. RAX += RCX;
  185. RCX = 0x24B70F6B48CC3DEC;
  186. RAX -= RCX;
  187. RCX = 0x663EBBD6155754BD;
  188. RAX ^= RCX;
  189. RBP = 0x5FED18F0C0;
  190. RCX = RBP;
  191. RCX -= RDI;
  192. RCX = 0x0;
  193. RCX = _rotl64(RCX, 0x10);
  194. RCX ^= R10;
  195. RCX = ~RCX;
  196. RAX *= read<uint64_t>(RCX + 0x7);
  197. RCX = RAX;
  198. RCX >>= 0x8;
  199. RAX ^= RCX;
  200. RCX = RAX;
  201. RCX >>= 0x10;
  202. RAX ^= RCX;
  203. RCX = RAX;
  204. RCX >>= 0x20;
  205. RAX ^= RCX;
  206. RCX = 0xCD9C754AAF7B438F;
  207. RAX *= RCX;
  208. RCX = game_base_address;
  209. RCX += 0x6EA23EC7;
  210. RCX += RBX;
  211. RAX += RCX;
  212. RCX = RAX;
  213. RCX >>= 0x21;
  214. RAX ^= RCX;
  215. return RAX;
  216. }
  217. case 4: {
  218. R11 = read<uint64_t>(game_base_address + 0x6431135);
  219. RDI = game_base_address + 0xBBD;
  220. RDX = game_base_address + 0x4650B45B;
  221. R8 = game_base_address + 0x2D936AA9;
  222. RBP = 0x5FED18F0C0;
  223. RCX = RBP;
  224. RCX -= RDI;
  225. RCX = 0x0;
  226. RCX = _rotl64(RCX, 0x10);
  227. RCX ^= R11;
  228. RCX = ~RCX;
  229. RAX *= read<uint64_t>(RCX + 0x7);
  230. RCX = 0xFD22695CCD4CE51D;
  231. RAX *= RCX;
  232. RCX = 0xDFBC78FCDD2F01D6;
  233. RAX ^= RCX;
  234. RCX = RBX + 1;
  235. RCX *= RDX;
  236. RAX += RCX;
  237. RCX = 0x6F346D6EF7BB6C1B;
  238. RAX -= RCX;
  239. RCX = RAX;
  240. RCX >>= 0x5;
  241. RAX ^= RCX;
  242. RCX = RAX;
  243. RCX >>= 0xA;
  244. RAX ^= RCX;
  245. RCX = RAX;
  246. RCX >>= 0x14;
  247. RAX ^= RCX;
  248. RCX = RAX;
  249. RCX >>= 0x28;
  250. RAX ^= RCX;
  251. RAX -= RBX;
  252. RAX += R8;
  253. RAX += RBX;
  254. return RAX;
  255. }
  256. case 5: {
  257. R10 = read<uint64_t>(game_base_address + 0x6431135);
  258. RDI = game_base_address + 0xBBD;
  259. R15 = game_base_address + 0x3200;
  260. RCX = RAX;
  261. RCX >>= 0x10;
  262. RAX ^= RCX;
  263. RCX = RAX;
  264. RCX >>= 0x20;
  265. RAX ^= RCX;
  266. RCX = RAX;
  267. RCX >>= 0x17;
  268. RAX ^= RCX;
  269. RCX = RAX;
  270. RCX >>= 0x2E;
  271. RAX ^= RCX;
  272. RCX = game_base_address;
  273. RAX += RCX;
  274. RCX = R15;
  275. RCX = ~RCX;
  276. RCX ^= RBX;
  277. RAX ^= RCX;
  278. RCX = 0x38DF4B3D0F2DE769;
  279. RAX *= RCX;
  280. RCX = 0x6C82026A72D236F4;
  281. RAX -= RCX;
  282. RCX = 0xA4CC72AA79844993;
  283. RAX *= RCX;
  284. RBP = 0x5FED18F0C0;
  285. RCX = RBP;
  286. RCX -= RDI;
  287. RCX = 0x0;
  288. RCX = _rotl64(RCX, 0x10);
  289. RCX ^= R10;
  290. RCX = ~RCX;
  291. RAX *= read<uint64_t>(RCX + 0x7);
  292. return RAX;
  293. }
  294. case 6: {
  295. RDI = game_base_address + 0xBBD;
  296. R15 = game_base_address + 0x6AAD;
  297. R10 = read<uint64_t>(game_base_address + 0x6431135);
  298. RCX = 0x6160F16DF7DF07F7;
  299. RAX *= RCX;
  300. RBP = 0x5FED18F0C0;
  301. RCX = RBP;
  302. RCX -= RDI;
  303. RCX = 0x0;
  304. RCX = _rotl64(RCX, 0x10);
  305. RCX ^= R10;
  306. RCX = ~RCX;
  307. RCX = read<uint64_t>(RCX + 0x7);
  308. RAX *= RCX;
  309. RCX = game_base_address + 0x6FD9E29A;
  310. RAX -= RBX;
  311. RAX += RCX;
  312. RCX = RAX;
  313. RCX >>= 0x16;
  314. RAX ^= RCX;
  315. RCX = RAX;
  316. RCX >>= 0x2C;
  317. RAX ^= RCX;
  318. RCX = R15;
  319. RCX -= RBX;
  320. RAX ^= RCX;
  321. RAX -= RBX;
  322. RAX -= RBX;
  323. RCX = game_base_address;
  324. RAX -= RCX;
  325. return RAX;
  326. }
  327. case 7: {
  328. R10 = read<uint64_t>(game_base_address + 0x6431135);
  329. RDI = game_base_address + 0xBBD;
  330. R14 = game_base_address + 0x54758DB5;
  331. R15 = game_base_address + 0x10C94701;
  332. RCX = RBX + 1;
  333. RCX *= R14;
  334. RAX += RCX;
  335. RAX ^= RBX;
  336. RCX = RAX;
  337. RCX >>= 0x8;
  338. RAX ^= RCX;
  339. RCX = RAX;
  340. RCX >>= 0x10;
  341. RAX ^= RCX;
  342. RDX = RAX;
  343. RDX >>= 0x20;
  344. RDX ^= RAX;
  345. RCX = 0x195F12ACE43A10A3;
  346. RAX = RBX;
  347. RAX ^= R15;
  348. RAX += RDX;
  349. RAX ^= RCX;
  350. RBP = 0x5FED18F0C0;
  351. RCX = RBP;
  352. RCX -= RDI;
  353. RCX = 0x0;
  354. RCX = _rotl64(RCX, 0x10);
  355. RCX ^= R10;
  356. RCX = ~RCX;
  357. RAX *= read<uint64_t>(RCX + 0x7);
  358. RCX = 0x68576374935116D1;
  359. RAX *= RCX;
  360. RCX = 0x466F02281638ADEA;
  361. RAX += RCX;
  362. return RAX;
  363. }
  364. case 8: {
  365. RDI = game_base_address + 0xBBD;
  366. R10 = read<uint64_t>(game_base_address + 0x6431135);
  367. RCX = RAX;
  368. RCX >>= 0xB;
  369. RAX ^= RCX;
  370. RCX = RAX;
  371. RCX >>= 0x16;
  372. RAX ^= RCX;
  373. RCX = RAX;
  374. RCX >>= 0x2C;
  375. RAX ^= RCX;
  376. RCX = RAX;
  377. RCX >>= 0x11;
  378. RAX ^= RCX;
  379. RCX = RAX;
  380. RCX >>= 0x22;
  381. RAX ^= RCX;
  382. RCX = 0x25C0D8E7905861CD;
  383. RAX *= RCX;
  384. RCX = 0x496F6A722EA6EA80;
  385. RAX += RCX;
  386. RAX ^= RBX;
  387. RCX = 0x656F95F2DADBB51B;
  388. RAX += RCX;
  389. RBP = 0x5FED18F0C0;
  390. RDX = RBP;
  391. RDX -= RDI;
  392. RCX = RAX;
  393. RDX = 0x0;
  394. RAX = game_base_address;
  395. RDX = _rotl64(RDX, 0x10);
  396. RCX -= RAX;
  397. RDX ^= R10;
  398. RDX = ~RDX;
  399. RAX = read<uint64_t>(RDX + 0x7);
  400. RAX *= RCX;
  401. return RAX;
  402. }
  403. case 9: {
  404. RDI = game_base_address + 0xBBD;
  405. R9 = read<uint64_t>(game_base_address + 0x6431135);
  406. RAX += RBX;
  407. RAX -= RBX;
  408. RCX = RAX;
  409. RCX >>= 0x7;
  410. RAX ^= RCX;
  411. RCX = RAX;
  412. RCX >>= 0xE;
  413. RAX ^= RCX;
  414. RCX = RAX;
  415. RCX >>= 0x1C;
  416. RAX ^= RCX;
  417. RCX = RAX;
  418. RCX >>= 0x38;
  419. RAX ^= RCX;
  420. RCX = game_base_address;
  421. RAX += RCX;
  422. RCX = 0x42B4A82AA0F19A29;
  423. RAX *= RCX;
  424. RCX = 0x23C2E686A22B1F98;
  425. RAX -= RCX;
  426. RBP = 0x5FED18F0C0;
  427. RCX = RBP;
  428. RCX -= RDI;
  429. RCX = 0x0;
  430. RCX = _rotl64(RCX, 0x10);
  431. RCX ^= R9;
  432. RCX = ~RCX;
  433. RCX = read<uint64_t>(RCX + 0x7);
  434. RAX *= RCX;
  435. RCX = 0x9F157FA9A2B01826;
  436. RAX ^= RCX;
  437. return RAX;
  438. }
  439. case 10: {
  440. RDI = game_base_address + 0xBBD;
  441. R14 = game_base_address + 0x970F;
  442. R9 = read<uint64_t>(game_base_address + 0x6431135);
  443. RCX = 0x3B27986269CF539D;
  444. RAX *= RCX;
  445. RCX = 0x10E12306627DB4E8;
  446. RAX ^= RCX;
  447. RCX = RAX;
  448. RCX >>= 0x1D;
  449. RAX ^= RCX;
  450. RCX = RAX;
  451. RCX >>= 0x3A;
  452. RAX ^= RCX;
  453. RBP = 0x5FED18F0C0;
  454. RCX = RBP;
  455. RCX -= RDI;
  456. RCX = 0x0;
  457. RCX = _rotl64(RCX, 0x10);
  458. RCX ^= R9;
  459. RCX = ~RCX;
  460. RAX *= read<uint64_t>(RCX + 0x7);
  461. RCX = RAX;
  462. RCX >>= 0xA;
  463. RAX ^= RCX;
  464. RCX = RAX;
  465. RCX >>= 0x14;
  466. RAX ^= RCX;
  467. RCX = RAX;
  468. RCX >>= 0x28;
  469. RAX ^= RCX;
  470. RCX = RAX;
  471. RCX >>= 0x19;
  472. RAX ^= RCX;
  473. RCX = RAX;
  474. RCX >>= 0x32;
  475. RAX ^= RCX;
  476. RCX = RAX;
  477. RCX >>= 0x1B;
  478. RAX ^= RCX;
  479. RCX = RAX;
  480. RCX >>= 0x36;
  481. RAX ^= RCX;
  482. RCX = RBX;
  483. RCX *= R14;
  484. RAX += RCX;
  485. return RAX;
  486. }
  487. case 11: {
  488. R9 = read<uint64_t>(game_base_address + 0x6431135);
  489. RDI = game_base_address + 0xBBD;
  490. R11 = game_base_address + 0xD8FC;
  491. R14 = game_base_address + 0x414E88BC;
  492. RCX = 0x9245394404FAA7F4;
  493. RAX += RCX;
  494. RCX = 0x9A9E4C1AE306D82D;
  495. RAX ^= RCX;
  496. RCX = RBX;
  497. RCX ^= R11;
  498. RAX -= RCX;
  499. RCX = RAX;
  500. RCX >>= 0x1A;
  501. RAX ^= RCX;
  502. RCX = RAX;
  503. RCX >>= 0x34;
  504. RAX ^= RCX;
  505. RAX ^= RBX;
  506. RBP = 0x5FED18F0C0;
  507. RCX = RBP;
  508. RCX -= RDI;
  509. RCX = 0x0;
  510. RCX = _rotl64(RCX, 0x10);
  511. RCX ^= R9;
  512. RCX = ~RCX;
  513. RAX *= read<uint64_t>(RCX + 0x7);
  514. RSP = 0xB3EB041C84F5649;
  515. RAX *= RSP;
  516. RCX = RBX;
  517. RCX *= R14;
  518. RAX -= RCX;
  519. return RAX;
  520. }
  521. case 12: {
  522. RDI = game_base_address + 0xBBD;
  523. R14 = game_base_address + 0x7B009E76;
  524. R9 = read<uint64_t>(game_base_address + 0x6431135);
  525. RBP = 0x5FED18F0C0;
  526. RCX = RBP;
  527. RCX -= RDI;
  528. RCX = 0x0;
  529. RCX = _rotl64(RCX, 0x10);
  530. RCX ^= R9;
  531. RCX = ~RCX;
  532. RCX = read<uint64_t>(RCX + 0x7);
  533. RSP = 0x73DBAA6C27DC9AEB;
  534. RCX *= RSP;
  535. RAX *= RCX;
  536. RCX = game_base_address;
  537. RCX += 0x3C6AB2DE;
  538. RCX += RBX;
  539. RAX ^= RCX;
  540. RCX = game_base_address;
  541. RAX += RBX;
  542. RAX = RAX + 0;
  543. RAX += 0x772067CE;
  544. RCX = RAX;
  545. RCX >>= 0xE;
  546. RAX ^= RCX;
  547. RCX = RAX;
  548. RCX >>= 0x1C;
  549. RAX ^= RCX;
  550. RCX = RAX;
  551. RCX >>= 0x38;
  552. RAX ^= RCX;
  553. RCX = RBX;
  554. RCX = ~RCX;
  555. RCX ^= R14;
  556. RAX += RCX;
  557. RCX = RAX;
  558. RCX >>= 0x6;
  559. RAX ^= RCX;
  560. RCX = RAX;
  561. RCX >>= 0xC;
  562. RAX ^= RCX;
  563. RCX = RAX;
  564. RCX >>= 0x18;
  565. RAX ^= RCX;
  566. RCX = RAX;
  567. RCX >>= 0x30;
  568. RAX ^= RCX;
  569. return RAX;
  570. }
  571. case 13: {
  572. R10 = read<uint64_t>(game_base_address + 0x6431135);
  573. RDI = game_base_address + 0xBBD;
  574. RBP = 0x5FED18F0C0;
  575. RCX = RBP;
  576. RCX -= RDI;
  577. RCX = 0x0;
  578. RCX = _rotl64(RCX, 0x10);
  579. RCX ^= R10;
  580. RCX = ~RCX;
  581. RAX *= read<uint64_t>(RCX + 0x7);
  582. RCX = RAX;
  583. RCX >>= 0xC;
  584. RAX ^= RCX;
  585. RCX = RAX;
  586. RCX >>= 0x18;
  587. RAX ^= RCX;
  588. RCX = RAX;
  589. RCX >>= 0x30;
  590. RAX ^= RCX;
  591. RCX = 0x2B0AE9D55E807FA6;
  592. RAX ^= RCX;
  593. RCX = 0xAF2C4EF4A2EF34C3;
  594. RAX *= RCX;
  595. RCX = RBX;
  596. RCX = ~RCX;
  597. RSP = game_base_address;
  598. RCX -= RSP;
  599. RCX += RAX;
  600. RAX = RBX + 18446744073709549677;
  601. RAX += RCX;
  602. RCX = RAX;
  603. RCX >>= 0x24;
  604. RAX ^= RCX;
  605. RCX = 0xA66EE446DC13C863;
  606. RAX *= RCX;
  607. return RAX;
  608. }
  609. case 14: {
  610. R10 = read<uint64_t>(game_base_address + 0x6431135);
  611. RDI = game_base_address + 0xBBD;
  612. R11 = game_base_address + 0x725;
  613. R14 = game_base_address + 0xB;
  614. RCX = RBX;
  615. RCX = ~RCX;
  616. RCX ^= R11;
  617. RAX += RCX;
  618. RBP = 0x5FED18F0C0;
  619. RCX = RBP;
  620. RCX -= RDI;
  621. RCX = 0x0;
  622. RCX = _rotl64(RCX, 0x10);
  623. RCX ^= R10;
  624. RCX = ~RCX;
  625. RAX *= read<uint64_t>(RCX + 0x7);
  626. RCX = R14;
  627. RCX -= RBX;
  628. RAX += RCX;
  629. RCX = RAX;
  630. RCX >>= 0x23;
  631. RAX ^= RCX;
  632. RCX = 0x90C1D736EB8D5178;
  633. RAX ^= RCX;
  634. RCX = 0x101278DFE9637E11;
  635. RAX += RBX;
  636. RAX *= RCX;
  637. RCX = game_base_address;
  638. RAX += RCX;
  639. return RAX;
  640. }
  641. case 15: {
  642. RDI = game_base_address + 0xBBD;
  643. R14 = game_base_address + 0x593CDC6E;
  644. R10 = read<uint64_t>(game_base_address + 0x6431135);
  645. RCX = game_base_address + 0x25AE;
  646. RCX = ~RCX;
  647. RCX *= RBX;
  648. RAX ^= RCX;
  649. RCX = 0x452ADF794B12D9EB;
  650. RAX += RCX;
  651. RDX = game_base_address + 0x6FEBE459;
  652. RDX = ~RDX;
  653. RDX -= RBX;
  654. RAX += RDX;
  655. RCX = R14;
  656. RCX = ~RCX;
  657. // inc rcx
  658. RCX += RBX;
  659. RAX ^= RCX;
  660. RCX = RAX;
  661. RCX >>= 0x25;
  662. RAX ^= RCX;
  663. RCX = 0xD975675422D03E39;
  664. RAX *= RCX;
  665. RBP = 0x5FED18F0C0;
  666. RCX = RBP;
  667. RCX -= RDI;
  668. RCX = 0x0;
  669. RCX = _rotl64(RCX, 0x10);
  670. RCX ^= R10;
  671. RCX = ~RCX;
  672. RAX *= read<uint64_t>(RCX + 0x7);
  673. RAX += RBX;
  674. return RAX;
  675. }
  676.  
  677. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement