Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DWORD64 __fastcall get_entities()
- {
- unsigned __int64 v5; // rax
- __int64 v6; // r9
- int v7; // ecx
- __int64 v8; // r8
- unsigned __int64 v9; // rax
- unsigned __int64 v10; // rax
- unsigned __int64 v11; // rax
- unsigned __int64 v12; // rax
- unsigned __int64 v13; // rax
- int v14; // ecx
- unsigned __int64 v15; // rax
- unsigned __int64 v16; // rax
- unsigned __int64 v17; // rax
- unsigned __int64 v18; // rax
- unsigned __int64 v19; // rcx
- unsigned __int64 v20; // rax
- int v21; // ecx
- unsigned __int64 v22; // rax
- unsigned __int64 v23; // rax
- int v24; // ecx
- unsigned __int64 v25; // rax
- unsigned __int64 v26; // rax
- unsigned __int64 v27; // rax
- unsigned __int64 v28; // rax
- unsigned int v29; // edx
- int v30; // ecx
- unsigned __int64 v31; // rax
- unsigned __int64 v32; // rax
- unsigned __int64 v33; // rax
- unsigned __int64 v34; // rax
- unsigned __int64 v35; // rcx
- unsigned int v36; // edx
- int v37; // ecx
- unsigned __int64 v38; // rax
- unsigned __int64 v39; // rcx
- unsigned __int64 v40; // rax
- unsigned __int64 v41; // rax
- unsigned int v42; // edx
- int v43; // ecx
- unsigned __int64 v44; // rax
- unsigned int v45; // edx
- int v46; // ecx
- unsigned __int64 v47; // rcx
- unsigned __int64 v48; // rax
- unsigned __int64 v49; // rcx
- unsigned __int64 v50; // rax
- unsigned __int64 v51; // rax
- unsigned int v52; // edx
- int v53; // ecx
- unsigned __int64 v54; // rcx
- unsigned __int64 v55; // rax
- unsigned __int64 v56; // rcx
- unsigned __int64 v57; // rax
- int v58; // ecx
- unsigned __int64 v59; // rcx
- unsigned __int64 v60; // rax
- unsigned __int64 v61; // rax
- unsigned __int64 v62; // rax
- unsigned __int64 v63; // rax
- int v64; // ecx
- unsigned __int64 v65; // rax
- unsigned __int64 v66; // rax
- unsigned __int64 v67; // rax
- int v68; // ecx
- unsigned __int64 v69; // rcx
- unsigned __int64 v70; // rax
- unsigned __int64 v71; // rax
- unsigned __int64 v72; // rax
- int v73; // ecx
- unsigned __int64 v74; // rax
- unsigned __int64 v75; // rax
- unsigned __int64 v76; // rax
- unsigned int v77; // edx
- int v78; // ecx
- unsigned __int64 v79; // rcx
- unsigned __int64 v80; // rax
- unsigned __int64 v81; // rax
- unsigned __int64 v82; // rax
- int v83; // ecx
- unsigned __int64 v84; // rax
- unsigned __int64 v85; // rax
- unsigned __int64 v86; // rax
- unsigned __int64 v87; // rax
- int v88; // ecx
- unsigned __int64 v89; // rax
- unsigned __int64 v90; // rax
- unsigned __int64 v91; // rax
- unsigned __int64 v92; // rax
- unsigned __int64 v93; // rax
- __int64 v94; // rdx
- const auto peb_address = reinterpret_cast<uint64_t>(GetPEB());
- if (!peb_address)
- return 0;
- unsigned __int64 qword_7FF73F5E8275 = *(uintptr_t*)((uintptr_t)globals::mainModule + 0x37F8275);
- if (!qword_7FF73F5E8275)
- return 0;
- v5 = *(uintptr_t*)((uintptr_t)globals::mainModule + 0x10764858);
- if (!v5)
- return 0;
- v5 = *(uintptr_t*)(v5 + 0x10);
- if (!v5)
- return 0;
- switch (__ROR8__((uint64_t)peb_address, 12) & 0xFi64)
- {
- case 0i64:
- v6 = qword_7FF73F5E8275;
- v7 = -215334650;
- IDA_LODWORD(v8) = -637894527;
- do
- {
- if ((unsigned int)v8 > 0x2F1925D1)
- {
- switch ((DWORD)v8)
- {
- case 0x894199C9:
- v5 *= *(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16))
- + 9);
- v7 = -1656044642;
- break;
- case 0xD9FA8081:
- v13 = ((((279154826869148035i64 * v5) >> 11) ^ (279154826869148035i64 * v5)) >> 22) ^ ((279154826869148035i64 * v5) >> 11) ^ (279154826869148035i64 * v5);
- v5 = (v13 >> 44) ^ v13;
- v7 = 1354438984;
- break;
- case 0xE695FD56:
- v5 *= 1286231170876372887i64;
- v7 = -913516409;
- break;
- case 0xFD186B5D:
- v5 ^= v5 >> 32;
- v7 = 462263819;
- break;
- }
- }
- else
- {
- switch ((DWORD)v8)
- {
- case 0x2F1925D1:
- v5 ^= v5 >> 33;
- v7 = -1186633494;
- break;
- case 0x2B446A:
- v5 *= -7455582724775828167i64;
- v7 = 1000186924;
- break;
- case 0x2E52E7F:
- v9 = (((v5 >> 12) ^ v5) >> 24) ^ (v5 >> 12) ^ v5;
- v10 = ((-7978674832585199189i64 * ((v9 >> 48) ^ v9)) >> 11) ^ (-7978674832585199189i64 * ((v9 >> 48) ^ v9));
- v11 = (((v10 >> 22) ^ v10) >> 44) ^ (v10 >> 22) ^ v10;
- v12 = (((v11 >> 10) ^ v11) >> 20) ^ (v11 >> 10) ^ v11;
- v5 = (v12 >> 40) ^ v12;
- v7 = -1045507250;
- break;
- case 0x140B5A57:
- v5 ^= v5 >> 34;
- v7 = 1028675923;
- break;
- case 0x25252EAC:
- v7 = 859508772;
- v5 = -4326580056501010731i64
- * ((v5 >> 17) ^ v5 ^ (((v5 >> 17) ^ v5) >> 34))
- * (*(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16))
- + 9));
- break;
- case 0x295B0304:
- v5 *= -4735444876904761375i64;
- v7 = -733779879;
- break;
- }
- }
- v8 = v7 ^ (unsigned int)v8;
- } while ((DWORD)v8 != -1772335813);
- break;
- case 1i64:
- v6 = qword_7FF73F5E8275;
- v14 = -1421739455;
- IDA_LODWORD(v8) = 1074241274;
- do
- {
- if ((unsigned int)v8 > 0x650270B6)
- {
- switch ((DWORD)v8)
- {
- case 0x7F5851F9:
- v5 ^= (((v5 >> 16) ^ v5) >> 32) ^ (v5 >> 16);
- v14 = -1732617670;
- break;
- case 0x819297F4:
- v19 = _byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16));
- v20 = ((*(uintptr_t*)(v19 + 13) * v5) >> 17) ^ (*(uintptr_t*)(v19 + 13) * v5);
- v5 = (v20 >> 34) ^ v20;
- v14 = -1182448197;
- break;
- case 0x854B90AA:
- v18 = (((v5 >> 14) ^ v5) >> 28) ^ (v5 >> 14) ^ v5;
- v14 = -1458132411;
- v5 = 3413544518411665113i64 * ((v18 >> 56) ^ v18);
- break;
- case 0xD1ABE8D6:
- v5 *= -6698299221468218401i64;
- v14 = -725603755;
- break;
- }
- }
- else
- {
- switch ((DWORD)v8)
- {
- case 0x650270B6:
- v17 = ((6217676989566351913i64 * v5) ^ ((6217676989566351913i64 * v5) >> 32))
- * (*(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16))
- + 9));
- v5 = (v17 >> 33) ^ v17;
- v14 = 435067182;
- break;
- case 0x56BC283:
- v5 ^= v5 >> 34;
- v14 = 1617539637;
- break;
- case 0x40079EFA:
- v16 = ((((-8781049729379327165i64 * v5) >> 11) ^ (-8781049729379327165i64 * v5)) >> 22) ^ ((-8781049729379327165i64 * v5) >> 11) ^ (-8781049729379327165i64 * v5);
- v5 = (v16 >> 44) ^ v16;
- v14 = -1850968532;
- break;
- case 0x500684AC:
- v5 *= 6734988298214457105i64;
- v14 = 507389220;
- break;
- case 0x55061F6B:
- v15 = ((((9029082209774219265i64 * v5) >> 11) ^ (9029082209774219265i64 * v5)) >> 22) ^ ((9029082209774219265i64 * v5) >> 11) ^ (9029082209774219265i64 * v5);
- v5 = (v15 >> 44) ^ v15;
- v14 = 466402827;
- break;
- }
- }
- v8 = v14 ^ (unsigned int)v8;
- } while ((DWORD)v8 != 2095901080);
- break;
- case 2i64:
- v6 = qword_7FF73F5E8275;
- v21 = -1263544496;
- IDA_LODWORD(v8) = -510871146;
- do
- {
- if ((unsigned int)v8 > 0x6FE91FF7)
- {
- switch ((DWORD)v8)
- {
- case 0xA14914C5:
- v5 ^= v5 >> 37;
- v21 = -344456772;
- break;
- case 0xAA9CCAB9:
- v5 *= *(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16))
- + 7);
- v21 = 1458045148;
- break;
- case 0xBD3AE54B:
- v5 ^= v5 >> 40;
- v21 = -1406000299;
- break;
- case 0xE18CB996:
- v23 = ((((6657778913670413337i64 * v5) >> 11) ^ (6657778913670413337i64 * v5)) >> 22) ^ ((6657778913670413337i64 * v5) >> 11) ^ (6657778913670413337i64 * v5);
- v5 = (v23 ^ (v23 >> 44))
- * (*(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16))
- + 9));
- v21 = -131551280;
- break;
- case 0xF2C4FD8C:
- v5 *= 5026977441755745957i64;
- v21 = -443969895;
- break;
- }
- }
- else
- {
- switch ((DWORD)v8)
- {
- case 0x6FE91FF7:
- v5 *= 7639646068965556851i64;
- v21 = 1230816256;
- break;
- case 0x19A41646:
- v21 = 1247323927;
- v5 = -6538909203353742063i64 * ((v5 >> 34) ^ v5);
- break;
- case 0x26B5DBF7:
- v5 ^= v5 >> 33;
- v21 = 721016676;
- break;
- case 0x2BC0CA87:
- v22 = (((v5 >> 10) ^ v5) >> 20) ^ (v5 >> 10) ^ v5;
- v21 = 88846004;
- v5 = 3798737981467209321i64 * ((v22 >> 40) ^ v22);
- break;
- case 0x4457C76F:
- v5 ^= (((v5 >> 19) ^ v5) >> 38) ^ (v5 >> 19);
- v21 = 22049745;
- break;
- case 0x53FCB151:
- v5 ^= v5 >> 32;
- v21 = 1008053926;
- break;
- }
- }
- v8 = v21 ^ (unsigned int)v8;
- } while ((DWORD)v8 != 206310547);
- break;
- case 3i64:
- v6 = qword_7FF73F5E8275;
- v24 = -1012227216;
- IDA_LODWORD(v8) = 1259926867;
- do
- {
- if ((unsigned int)v8 > 0x5DBF7315)
- {
- switch ((DWORD)v8)
- {
- case 0x6113B811:
- v5 *= -1099864626353076491i64;
- v24 = -393604902;
- break;
- case 0xAD3D4B9C:
- v5 = ((-254576267790735895i64 * ((v5 >> 34) ^ v5)) >> 32) ^ (-254576267790735895i64 * ((v5 >> 34) ^ v5));
- v24 = -1856987998;
- break;
- case 0xE483386C:
- v5 ^= v5 >> 33;
- v24 = -875455757;
- break;
- case 0xE9715D84:
- v26 = (((v5 >> 12) ^ v5) >> 24) ^ (v5 >> 12) ^ v5;
- v27 = (((v26 >> 48) ^ v26) >> 29) ^ (v26 >> 48) ^ v26;
- v28 = (v27 ^ (v27 >> 58))
- * (*(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16))
- + 13));
- v5 = (v28 >> 38) ^ v28;
- v24 = -831476011;
- break;
- }
- }
- else
- {
- switch ((DWORD)v8)
- {
- case 0x5DBF7315:
- v5 ^= (((v5 >> 20) ^ v5) >> 40) ^ (v5 >> 20);
- v24 = 188899258;
- break;
- case 0x89747E:
- v25 = (((v5 >> 11) ^ v5) >> 22) ^ (v5 >> 11) ^ v5;
- v24 = -1380696094;
- v5 = 6984239020889517927i64 * ((v25 >> 44) ^ v25);
- break;
- case 0x269CF141:
- v5 *= 6513416010345991633i64;
- v24 = 1980514413;
- break;
- case 0x31D1EB9C:
- v5 *= 2169238420182610817i64;
- v24 = -243773301;
- break;
- case 0x3C6DD73E:
- v5 *= 399063102185793645i64;
- v24 = -655429806;
- break;
- case 0x4B18F553:
- v5 *= *(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16))
- + 9);
- v24 = 1267826989;
- break;
- }
- }
- v8 = v24 ^ (unsigned int)v8;
- } while ((DWORD)v8 != 793944735);
- break;
- case 4i64:
- v8 = qword_7FF73F5E8275;
- v29 = 1843169928;
- v30 = 367048649;
- v6 = 79076019554718377i64;
- do
- {
- if (v29 > 0x6DDC8A88)
- {
- switch (v29)
- {
- case 0x7EBCAB5Cu:
- v35 = _byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16));
- v5 = ((*(uintptr_t*)(v35 + 9) * v5) >> 33) ^ (*(uintptr_t*)(v35 + 9) * v5);
- v30 = -1501942179;
- break;
- case 0x8FD7DC78:
- v5 ^= (((v5 >> 23) ^ v5) >> 46) ^ (v5 >> 23);
- v30 = -1287851851;
- break;
- case 0xCDC439FE:
- v34 = (((v5 >> 10) ^ v5) >> 20) ^ (v5 >> 10) ^ v5;
- v30 = 1248252581;
- v5 = -4576440385940277195i64 * ((v34 >> 40) ^ v34);
- break;
- case 0xFF1C4D45:
- v33 = -7498697789385608467i64 * (((8246635407885866537i64 * v5) >> 34) ^ (8246635407885866537i64 * v5));
- v5 = (v33 >> 32) ^ v33;
- v30 = -2120161767;
- break;
- }
- }
- else
- {
- switch (v29)
- {
- case 0x6DDC8A88u:
- v5 *= 79076019554718377i64;
- v30 = 930613693;
- break;
- case 0x38268BBu:
- v5 *= *(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16))
- + 15);
- v30 = 1209109086;
- break;
- case 0x2B7692C0u:
- v30 = -1542376522;
- v5 = 7694257453969299829i64 * ((v5 >> 39) ^ v5);
- break;
- case 0x5AA48335u:
- v32 = (((v5 >> 11) ^ v5) >> 22) ^ (v5 >> 11) ^ v5;
- v5 = (v32 >> 44) ^ v32;
- v30 = -1514615184;
- break;
- case 0x68C99E17u:
- v31 = (((v5 >> 14) ^ v5) >> 28) ^ (v5 >> 14) ^ v5;
- v5 = (v31 >> 56) ^ v31;
- v30 = 745223281;
- break;
- }
- }
- v29 ^= v30;
- } while (v29 != -658078463);
- break;
- case 5i64:
- v8 = qword_7FF73F5E8275;
- v36 = 206908681;
- v37 = 1567126113;
- v6 = -1490051115850256833i64;
- do
- {
- if (v36 > 0x7DA47CBF)
- {
- switch (v36)
- {
- case 0x8C92F8BA:
- v5 = ((2642899125010789073i64 * ((v5 >> 34) ^ v5)) >> 32) ^ (2642899125010789073i64 * ((v5 >> 34) ^ v5));
- v37 = -1421377855;
- break;
- case 0xB421D91D:
- v5 ^= v5 >> 33;
- v37 = -382859363;
- break;
- case 0xBC48D4DF:
- v41 = (((v5 >> 22) ^ v5) >> 44) ^ (v5 >> 22) ^ v5;
- v5 = (v41 >> 40) ^ v41;
- v37 = 728231214;
- break;
- case 0xC31A8BDF:
- v5 *= *(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16))
- + 9);
- v37 = 1334342501;
- break;
- case 0xC773AD4D:
- v39 = _byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16));
- v40 = ((*(uintptr_t*)(v39 + 25) * v5) >> 25) ^ (*(uintptr_t*)(v39 + 25) * v5);
- v5 = (v40 >> 50) ^ v40;
- v37 = -1396802365;
- break;
- }
- }
- else
- {
- switch (v36)
- {
- case 0x7DA47CBFu:
- v5 *= 263753969891435199i64;
- v37 = 1791357254;
- break;
- case 0xC552D09u:
- v38 = ((((668279531958246127i64 * v5) >> 11) ^ (668279531958246127i64 * v5)) >> 22) ^ ((668279531958246127i64 * v5) >> 11) ^ (668279531958246127i64 * v5);
- v5 = (v38 >> 44) ^ v38;
- v37 = -816863530;
- break;
- case 0x16784F3Au:
- v5 *= 5150137896691509053i64;
- v37 = 968613796;
- break;
- case 0x1A879D6Bu:
- v37 = 530940254;
- v5 = -1350347289528063655i64 * ((v5 >> 36) ^ v5);
- break;
- case 0x27D5867Bu:
- v5 *= -1490051115850256833i64;
- v37 = -1812701338;
- break;
- }
- }
- v36 ^= v37;
- } while (v36 != 1561321088);
- break;
- case 6i64:
- v8 = qword_7FF73F5E8275;
- v42 = -648102525;
- v43 = 629457204;
- v6 = -3714080857275482259i64;
- do
- {
- if (v42 > 0x6D919676)
- {
- switch (v42)
- {
- case 0x6FE29E70u:
- v5 = ((-8798424950109236483i64 * v5) >> 34) ^ (-8798424950109236483i64 * v5);
- v43 = 1480304983;
- break;
- case 0x7EAC57C6u:
- v43 = -1715498414;
- v5 = -2826511211129377569i64 * ((((v5 >> 25) ^ v5) >> 50) ^ (v5 >> 25) ^ v5);
- break;
- case 0xD95EBD83:
- v5 *= -3772161568334105389i64;
- v43 = 699488983;
- break;
- case 0xE2624955:
- v5 ^= v5 >> 36;
- v43 = 1135491346;
- break;
- case 0xF0EFE754:
- v44 = (((v5 >> 11) ^ v5) >> 22) ^ (v5 >> 11) ^ v5;
- v5 = (v44 >> 44) ^ v44;
- v43 = -1626506972;
- break;
- }
- }
- else
- {
- switch (v42)
- {
- case 0x6D919676u:
- v5 *= 1503922958134356461i64
- * (*(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16))
- + 9));
- v43 = 1225715110;
- break;
- case 0x7E2B90Bu:
- v5 ^= (((v5 >> 24) ^ v5) >> 48) ^ (v5 >> 24);
- v43 = -1875839873;
- break;
- case 0x29EE04BCu:
- v5 = ((-6843233251514505657i64 * ((v5 >> 32) ^ v5)) >> 33) ^ (-6843233251514505657i64 * ((v5 >> 32) ^ v5));
- v43 = -125792829;
- break;
- case 0x37D93727u:
- v5 *= *(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16))
- + 9);
- v43 = 506934171;
- break;
- case 0x62C70805u:
- v5 *= -3714080857275482259i64;
- v43 = -251588585;
- break;
- case 0x6A41C60Bu:
- v5 ^= (((v5 >> 21) ^ v5) >> 42) ^ (v5 >> 21);
- v43 = 1252100369;
- break;
- }
- }
- v42 ^= v43;
- } while (v42 != -781284993);
- break;
- case 7i64:
- v8 = qword_7FF73F5E8275;
- v45 = 1715396362;
- v46 = 1471282209;
- v6 = -1046981356095461599i64;
- do
- {
- if (v45 > 0x9AAAF4E4)
- {
- switch (v45)
- {
- case 0xAF811AC6:
- v51 = ((((-1046981356095461599i64 * v5) >> 10) ^ (-1046981356095461599i64 * v5)) >> 20) ^ ((-1046981356095461599i64 * v5) >> 10) ^ (-1046981356095461599i64 * v5);
- v5 = (v51 >> 40) ^ v51;
- v46 = 1349605540;
- break;
- case 0xB60A3214:
- v49 = _byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16));
- v50 = ((*(uintptr_t*)(v49 + 15) * v5) >> 24) ^ (*(uintptr_t*)(v49 + 15) * v5);
- v5 = (v50 >> 48) ^ v50;
- v46 = 346659151;
- break;
- case 0xFCCD58D2:
- v5 = ((-5354681144209995371i64 * ((v5 >> 32) ^ v5)) >> 33) ^ (-5354681144209995371i64 * ((v5 >> 32) ^ v5));
- v46 = 575632065;
- break;
- }
- }
- else
- {
- switch (v45)
- {
- case 0x9AAAF4E4:
- v46 = -601365438;
- v5 = 8664097053072027533i64 * ((((v5 >> 28) ^ v5) >> 56) ^ (v5 >> 28) ^ v5);
- break;
- case 0x1F834CBu:
- v46 = -46830567;
- v5 = -6508093821370371639i64 * (((3379597867461193145i64 * v5) >> 34) ^ (3379597867461193145i64 * v5));
- break;
- case 0x663EDF0Au:
- v47 = _byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16));
- v48 = ((*(uintptr_t*)(v47 + 9) * v5) >> 11) ^ (*(uintptr_t*)(v47 + 9) * v5);
- v5 = (((v48 >> 22) ^ v48) >> 44) ^ (v48 >> 22) ^ v48;
- v46 = 1741089729;
- break;
- case 0x81E66D10:
- v46 = 2026038984;
- v5 = 8455267959189821851i64 * ((((v5 >> 18) ^ v5) >> 36) ^ (v5 >> 18) ^ v5);
- break;
- }
- }
- v45 ^= v46;
- } while (v45 != -561894893);
- break;
- case 8i64:
- v8 = qword_7FF73F5E8275;
- v52 = 1324892019;
- v53 = -1518275246;
- v6 = 9061039594084433199i64;
- do
- {
- if (v52 > 0x5ECC1561)
- {
- switch (v52)
- {
- case 0x6CDC352Du:
- v53 = -792772235;
- v5 = -5320098532597007853i64
- * (((((-1785068723959019167i64 * v5) >> 32) ^ (-1785068723959019167i64 * v5)) >> 39) ^ ((-1785068723959019167i64 * v5) >> 32) ^ (-1785068723959019167i64 * v5));
- break;
- case 0x9660FB50:
- v5 ^= v5 >> 32;
- v53 = -791396491;
- break;
- case 0xA0227101:
- v5 *= -1259380067919648353i64;
- v53 = 92122529;
- break;
- case 0xA55FDCA0:
- v53 = 859777008;
- v5 = 7171650437169705013i64 * ((v5 >> 34) ^ v5);
- break;
- }
- }
- else
- {
- switch (v52)
- {
- case 0x5ECC1561u:
- v5 ^= v5 >> 33;
- v53 = 448929302;
- break;
- case 0x24711A6Cu:
- v56 = _byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16));
- v57 = ((*(uintptr_t*)(v56 + 9) * v5) >> 17) ^ (*(uintptr_t*)(v56 + 9) * v5);
- v53 = 1097301330;
- v5 = -7715613913043123993i64 * ((v57 >> 34) ^ v57);
- break;
- case 0x46B4C425u:
- v5 *= 9061039594084433199i64;
- v53 = 410571076;
- break;
- case 0x4EF83F73u:
- v54 = _byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16));
- v55 = ((*(uintptr_t*)(v54 + 9) * v5) >> 11) ^ (*(uintptr_t*)(v54 + 9) * v5);
- v5 = (((v55 >> 22) ^ v55) >> 44) ^ (v55 >> 22) ^ v55;
- v53 = -287682958;
- break;
- case 0x55D581BEu:
- v5 ^= v5 >> 36;
- v53 = -1679749402;
- break;
- }
- }
- v52 ^= v53;
- } while (v52 != 1141771127);
- break;
- case 9i64:
- v6 = qword_7FF73F5E8275;
- v58 = -211136829;
- IDA_LODWORD(v8) = -710799501;
- do
- {
- if ((unsigned int)v8 > 0x94068C46)
- {
- switch ((DWORD)v8)
- {
- case 0xD5A20F73:
- v5 *= -1140417542859424221i64;
- v58 = -49361488;
- break;
- case 0xDD87592C:
- v5 *= -5550595233316717153i64;
- v58 = 1033829346;
- break;
- case 0xE019A2CE:
- v5 ^= v5 >> 34;
- v58 = -1634333229;
- break;
- }
- }
- else
- {
- switch ((DWORD)v8)
- {
- case 0x94068C46:
- v5 = ((v5 >> 29) ^ v5 ^ (((v5 >> 29) ^ v5) >> 58))
- * (*(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16))
- + 17));
- v58 = 1672135490;
- break;
- case 0x2DB4C43:
- v62 = ((((2357863658542354479i64 * v5) >> 31) ^ (2357863658542354479i64 * v5)) >> 62) ^ ((2357863658542354479i64 * v5) >> 31) ^ (2357863658542354479i64 * v5);
- v63 = 3227618980945044031i64 * ((((v62 >> 23) ^ v62) >> 46) ^ (v62 >> 23) ^ v62);
- v5 = (((v63 >> 21) ^ v63) >> 42) ^ (v63 >> 21) ^ v63;
- v58 = 380934493;
- break;
- case 0x28ACC2C3:
- v61 = (((v5 >> 11) ^ v5) >> 22) ^ (v5 >> 11) ^ v5;
- v5 = (v61 >> 44) ^ v61;
- v58 = -181691409;
- break;
- case 0x7E8FAF1D:
- v59 = _byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16));
- v60 = -791397262808006193i64 * (((*(uintptr_t*)(v59 + 9) * v5) >> 32) ^ (*(uintptr_t*)(v59 + 9) * v5));
- v5 = (v60 >> 33) ^ v60;
- v58 = -1639375542;
- break;
- }
- }
- v8 = v58 ^ (unsigned int)v8;
- } while ((DWORD)v8 != -523849129);
- break;
- case 0xAi64:
- v6 = qword_7FF73F5E8275;
- v64 = 1226753560;
- IDA_LODWORD(v8) = 1015843442;
- do
- {
- if ((unsigned int)v8 > 0x84338B99)
- {
- switch ((DWORD)v8)
- {
- case 0x9A09D69D:
- v67 = (((v5 >> 11) ^ v5) >> 22) ^ (v5 >> 11) ^ v5;
- v64 = -1259370927;
- v5 = -3261739495856580535i64 * ((v67 >> 44) ^ v67);
- break;
- case 0x9BE71274:
- v5 *= 5110205201235089995i64;
- v64 = -554473483;
- break;
- case 0xCA68CE62:
- v64 = 1314604539;
- v5 = -6666980917331756217i64 * ((v5 >> 32) ^ v5);
- break;
- }
- }
- else
- {
- switch ((DWORD)v8)
- {
- case 0x84338B99:
- v5 ^= v5 >> 33;
- v64 = 1640467298;
- break;
- case 0xBD879E9:
- v66 = (((v5 >> 33) ^ v5) >> 10) ^ (v5 >> 33) ^ v5;
- v64 = 1431160392;
- v5 = 584434054249834147i64
- * ((v66 >> 20) ^ v66 ^ (((v66 >> 20) ^ v66) >> 40))
- * (*(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16))
- + 25));
- break;
- case 0x2EE650CC:
- v64 = -460415314;
- v5 = 7271143759764351223i64 * ((v5 >> 34) ^ v5);
- break;
- case 0x3A8D29AA:
- v65 = (((v5 >> 22) ^ v5) >> 44) ^ (v5 >> 22) ^ v5;
- v5 = (v65 >> 40) ^ v65;
- v64 = 1885461523;
- break;
- case 0x3C8C8A72:
- v5 *= *(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16))
- + 9);
- v64 = -1501209361;
- break;
- }
- }
- v8 = v64 ^ (unsigned int)v8;
- } while ((DWORD)v8 != -436993797);
- break;
- case 0xBi64:
- v6 = qword_7FF73F5E8275;
- v68 = -352576275;
- IDA_LODWORD(v8) = 2083277596;
- do
- {
- if ((unsigned int)v8 > 0xA013D2CB)
- {
- switch ((DWORD)v8)
- {
- case 0xA98146FA:
- v5 *= -7777501567629756509i64;
- v68 = 1544727994;
- break;
- case 0xCCB45010:
- v72 = (((v5 >> 40) ^ v5) >> 22) ^ (v5 >> 40) ^ v5;
- v5 = (v72 >> 44) ^ v72;
- v68 = 715595232;
- break;
- case 0xE7597863:
- v5 = ((589820372989812181i64 * v5) >> 34) ^ (589820372989812181i64 * v5);
- v68 = -377226765;
- break;
- }
- }
- else
- {
- switch ((DWORD)v8)
- {
- case 0xA013D2CB:
- v71 = (((v5 >> 21) ^ v5) >> 42) ^ (v5 >> 21) ^ v5;
- v5 = ((v71 >> 25) ^ v71 ^ (((v71 >> 25) ^ v71) >> 50))
- * (*(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16))
- + 15));
- v68 = 148528274;
- break;
- case 0xEDA8190:
- v5 *= -2542879130721843953i64;
- v68 = 824470298;
- break;
- case 0x3FFEEA8A:
- v5 = ((-5712079829072476083i64 * ((v5 >> 32) ^ v5)) >> 33) ^ (-5712079829072476083i64 * ((v5 >> 32) ^ v5));
- v68 = -754044170;
- break;
- case 0x6D082DD4:
- v5 *= -1364266855495272659i64;
- v68 = 571231357;
- break;
- case 0x7C2C4B1C:
- v69 = _byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16));
- v70 = ((*(uintptr_t*)(v69 + 9) * v5) >> 11) ^ (*(uintptr_t*)(v69 + 9) * v5);
- v5 = (((v70 >> 22) ^ v70) >> 44) ^ (v70 >> 22) ^ v70;
- v68 = -1686817921;
- break;
- }
- }
- v8 = v68 ^ (unsigned int)v8;
- } while ((DWORD)v8 != -319760260);
- break;
- case 0xCi64:
- v6 = qword_7FF73F5E8275;
- v73 = 442867009;
- IDA_LODWORD(v8) = 1096528784;
- do
- {
- if ((unsigned int)v8 > 0x5DF65450)
- {
- if ((DWORD)v8 == 1989134689)
- {
- v75 = -6933056048451905181i64
- * (((377204745575520251i64 * v5) >> 22) ^ (377204745575520251i64 * v5) ^ ((((377204745575520251i64 * v5) >> 22) ^ (377204745575520251i64 * v5)) >> 44))
- * (*(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16))
- + 15));
- v76 = (((v75 >> 28) ^ v75) >> 56) ^ (v75 >> 28) ^ v75;
- v5 = (((v76 >> 29) ^ v76) >> 58) ^ (v76 >> 29) ^ v76;
- v73 = 1576807396;
- }
- else if ((DWORD)v8 == -405612626)
- {
- v5 ^= v5 >> 32;
- v73 = 889359932;
- }
- }
- else
- {
- switch ((DWORD)v8)
- {
- case 0x5DF65450:
- v5 *= *(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16))
- + 9);
- v73 = 363653035;
- break;
- case 0x415BB390:
- v5 *= 5128713183279659103i64;
- v73 = 55877564;
- break;
- case 0x420F2C2C:
- v74 = (((v5 >> 11) ^ v5) >> 22) ^ (v5 >> 11) ^ v5;
- v5 = ((4032865656204776323i64 * ((v74 >> 44) ^ v74)) >> 34) ^ (4032865656204776323i64 * ((v74 >> 44) ^ v74));
- v73 = 536443004;
- break;
- case 0x485AB3FB:
- v5 = ((8738323996471334337i64 * ((v5 >> 32) ^ v5)) >> 33) ^ (8738323996471334337i64 * ((v5 >> 32) ^ v5));
- v73 = -757150338;
- break;
- }
- }
- v8 = v73 ^ (unsigned int)v8;
- } while ((DWORD)v8 != -1702592891);
- break;
- case 0xDi64:
- v8 = qword_7FF73F5E8275;
- v77 = -1559511383;
- v78 = 206813144;
- v6 = -7057223809766711713i64;
- do
- {
- if (v77 > 0xA000DB01)
- {
- switch (v77)
- {
- case 0xA30BBEA9:
- v5 *= 4787882654895825615i64;
- v78 = 74983639;
- break;
- case 0xA750AD6D:
- v5 *= -8371167368346145367i64;
- v78 = -1945429779;
- break;
- case 0xA773967E:
- v82 = (((v5 >> 11) ^ v5) >> 22) ^ (v5 >> 11) ^ v5;
- v5 = (v82 >> 44) ^ v82;
- v78 = -1274538672;
- break;
- case 0xD6AA84D2:
- v5 ^= (((v5 >> 29) ^ v5) >> 58) ^ (v5 >> 29);
- v78 = 1245808532;
- break;
- case 0xDF6331EF:
- v5 = ((-5506733914780726849i64 * v5) >> 33) ^ (-5506733914780726849i64 * v5);
- v78 = 336951811;
- break;
- }
- }
- else
- {
- switch (v77)
- {
- case 0xA000DB01:
- v81 = (((v5 >> 18) ^ v5) >> 36) ^ (v5 >> 18) ^ v5;
- v5 = (v81 >> 32) ^ v81;
- v78 = -1431549620;
- break;
- case 0x5E86CCCu:
- v5 ^= v5 >> 32;
- v78 = -628400861;
- break;
- case 0x137B832Eu:
- v79 = _byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16));
- v80 = ((*(uintptr_t*)(v79 + 9) * v5) >> 34) ^ (*(uintptr_t*)(v79 + 9) * v5);
- v78 = 378793954;
- v5 = -4922768788278357693i64 * v80;
- break;
- case 0x2ADE580Au:
- v5 *= *(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16))
- + 15);
- v78 = -1214127080;
- break;
- case 0x4E730327u:
- v5 *= -7057223809766711713i64;
- v78 = -475046886;
- break;
- case 0x5272B5C6u:
- v5 = ((-6528595123919291523i64 * v5) >> 34) ^ (-6528595123919291523i64 * v5);
- v78 = -1033667739;
- break;
- }
- }
- v77 ^= v78;
- } while (v77 != -881439764);
- break;
- case 0xEi64:
- v6 = qword_7FF73F5E8275;
- v83 = -636480253;
- IDA_LODWORD(v8) = 1812341224;
- do
- {
- if ((unsigned int)v8 > 0x6E66E1B9)
- {
- switch ((DWORD)v8)
- {
- case 0x8C2D5826:
- v86 = ((((1917540473678440865i64 * v5) >> 25) ^ (1917540473678440865i64 * v5)) >> 50) ^ ((1917540473678440865i64 * v5) >> 25) ^ (1917540473678440865i64 * v5);
- v87 = (((v86 >> 13) ^ v86) >> 26) ^ (v86 >> 13) ^ v86;
- v5 = (v87 >> 52) ^ v87;
- v83 = 1116439088;
- break;
- case 0x9BE2E87B:
- v5 ^= v5 >> 33;
- v83 = 624163107;
- break;
- case 0xCDCE9350:
- v83 = 1445755691;
- v5 = -7608280755266792109i64 * ((v5 >> 32) ^ v5);
- break;
- case 0xE51B47DF:
- v5 *= -5713253312370912115i64
- * *(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16))
- + 25);
- v83 = -440436607;
- break;
- }
- }
- else
- {
- switch ((DWORD)v8)
- {
- case 0x6E66E1B9:
- v85 = (((v5 >> 13) ^ v5) >> 26) ^ (v5 >> 13) ^ v5;
- v5 = (v85 >> 52) ^ v85;
- v83 = -460373271;
- break;
- case 0xD3C1A59:
- v5 *= -7627514957499353495i64;
- v83 = -1893333314;
- break;
- case 0x3CAD4040:
- v5 ^= (((v5 >> 26) ^ v5) >> 52) ^ (v5 >> 26);
- v83 = 957251475;
- break;
- case 0x4BA8CF9F:
- v5 = (v5 ^ (v5 >> 34)) * *(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(0, 16)) + 9);
- v83 = -2040111921;
- break;
- case 0x6C0621E8:
- v84 = ((((-5343560733404936715i64 * v5) >> 11) ^ (-5343560733404936715i64 * v5)) >> 22) ^ ((-5343560733404936715i64 * v5) >> 11) ^ (-5343560733404936715i64 * v5);
- v83 = 665775735;
- v5 = -3302863742832181443i64 * ((v84 >> 44) ^ v84);
- break;
- }
- }
- v8 = v83 ^ (unsigned int)v8;
- } while ((DWORD)v8 != -1093594792);
- break;
- default:
- v6 = qword_7FF73F5E8275;
- v88 = -1531642947;
- IDA_LODWORD(v8) = -211380569;
- do
- {
- if ((unsigned int)v8 > 0x6CCBDBF1)
- {
- switch ((DWORD)v8)
- {
- case 0xAF517755:
- v5 *= -427104470671662445i64;
- v88 = 1543431172;
- break;
- case 0xF13C24EC:
- v5 *= -421017844244858921i64;
- v88 = -1729413572;
- break;
- case 0xF36696A7:
- v93 = ((((764511474151144849i64 * v5) >> 11) ^ (764511474151144849i64 * v5)) >> 22) ^ ((764511474151144849i64 * v5) >> 11) ^ (764511474151144849i64 * v5);
- v5 = (v93 >> 44) ^ v93;
- v88 = 39498315;
- break;
- }
- }
- else
- {
- switch ((DWORD)v8)
- {
- case 0x6CCBDBF1:
- v91 = (v5 ^ (v5 >> 37))
- * (*(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16))
- + 25));
- v92 = (((v91 >> 10) ^ v91) >> 20) ^ (v91 >> 10) ^ v91;
- v5 = (v92 >> 40) ^ v92;
- v88 = 432110273;
- break;
- case 0x10BA5514:
- v5 *= -5339116251246344131i64;
- v88 = -1039670011;
- break;
- case 0x2B8F086B:
- v5 = ((-4967773153117584823i64 * v5) >> 33) ^ (-4967773153117584823i64 * v5);
- v88 = -1284546173;
- break;
- case 0x5812BABF:
- v90 = (((v5 >> 39) ^ v5) >> 29) ^ (v5 >> 39) ^ v5;
- v88 = -154193965;
- v5 = 3663648700882107923i64 * ((v90 >> 58) ^ v90);
- break;
- case 0x69D71AD0:
- v89 = (v5 ^ (v5 >> 34))
- * (*(uintptr_t*)(_byteswap_uint64(qword_7FF73F5E8275 ^ __ROL8__(
- 0,
- 16))
- + 9));
- v5 = (v89 >> 32) ^ v89;
- v88 = 1113068219;
- break;
- }
- }
- v8 = v88 ^ (unsigned int)v8;
- } while ((DWORD)v8 != -1730123288);
- break;
- }
- return v5;
- }
RAW Paste Data