CmpDestroyHive
__int64 __fastcall CmpDestroyHive(PVOID P){
_PRIVILEGE_SET *v2;
__int64 result;
CmpDestroySecurityCache((_CMHIVE *)P);
CmpUnJoinClassOfTrust((INT64)P);
CmpVERemoveHiveFromSIDMappingTable((INT64)P);
HvHiveCleanup((INT64)P);
CmpCmdHiveClose((_CMHIVE *)P);
v2 = (_PRIVILEGE_SET *)*((_QWORD *)P + 604);
if( v2 )
CmpVolumeContextDecrementRefCount(v2);
result = (unsigned int)_InterlockedExchangeAdd((volatile signed __int32 *)P + 1068, 0xFFFFFFFF);
if( (_DWORD)result == 1 )
return CmpDeleteHive(P);
return result;
}Referenced by:
CmLoadKey
CmReplaceKey
CmRestoreKey
CmSaveKey
CmSaveMergedKeys
CmpCreateEmptyHiveClone
CmpCreateHive
CmpFlushBackupHive
CmpFreeAllMemory
CmpLoadHiveVolatile
CmpLoadKeyCommon
CmpRefreshHive
CmpReorganizeHive