HvBufferCheckSum
UINT64 __stdcall HvBufferCheckSum(PVOID Buffer, UINT64 a2){
int v2;
__int64 v3;
unsigned int v4;
int v5;
unsigned __int8 *v6;
_DWORD *v7;
__int64 v8;
unsigned int v9;
__int64 v11;
int v12;
v2 = 0;
v3 = (unsigned int)a2 >> 2;
v4 = a2 & 3;
v5 = 0;
v6 = (unsigned __int8 *)Buffer + 4 * v3;
if( (unsigned int)v3 > 1 )
{
v7 = (char *)Buffer + 4;
v8 = (unsigned int)(v3 - 1);
do
{
v5 ^= *v7++;
--v8;
}
while( v8 );
}
if( v4 )
{
v11 = v4;
do
{
v12 = *v6++;
v2 = v12 + (v2 << 8);
--v11;
}
while( v11 );
}
v9 = v2 ^ v5;
if( v9 == -1 )
v9 = -2;
if( !v9 )
return 1;
return v9;
}Referenced by:
CmAddLogForAction
CmLogTmRmAction
CmpVerifyLogRecord