MCPcopy Create free account
hub / github.com/diasurgical/devilution / Decrypt

Function Decrypt

Source/encrypt.cpp:8–24  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6DWORD hashtable[1280];
7
8void Decrypt(void *block, DWORD size, DWORD key)
9{
10 DWORD *castBlock;
11 DWORD seed, i;
12
13 castBlock = (DWORD *)block;
14 seed = 0xEEEEEEEE;
15 for (i = 0; i < (size >> 2); i++) {
16 DWORD t = SwapLE32(*castBlock);
17 seed += hashtable[0x400 + (key & 0xFF)];
18 t ^= seed + key;
19 *castBlock = t;
20 seed += t + (seed << 5) + 3;
21 key = ((~key << 0x15) + 0x11111111) | (key >> 0x0B);
22 castBlock++;
23 }
24}
25
26void Encrypt(void *block, DWORD size, DWORD key)
27{

Callers 3

WriteBlockTableMethod · 0.85
WriteHashTableMethod · 0.85
OpenMPQFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected