void __fastcall DUMPER_FixChecksum(BYTE* pFile, DWORD dwSize) { if (pFile == 0 || dwSize < 0) return; DWORD* pSignature = (DWORD*)(pFile+0xC); *pSignature = 0; int nSignature = 0; for (DWORD i = 0; i < dwSize; i++) { int byte = pFile[i]; if (nSignature < 0) byte++; nSignature = byte + nSignature * 2; } *pSignature = nSignature; }