CmpIsKeyDeletedForKeyBody
UINT8 __stdcall CmpIsKeyDeletedForKeyBody(CM_KEY_BODY *KeyBody, CM_TRANS *CmTrans){
int v2;
_CM_KEY_CONTROL_BLOCK *KeyControlBlock;
__int64 v5;
__int64 v6;
LIST_ENTRY *v7;
int v8;
LIST_ENTRY *ListIterator;
v2 = *((_DWORD *)KeyBody + 12);
KeyControlBlock = KeyBody->KeyControlBlock;
ListIterator = 0i64;
if( (v2 & 9) != 0 )
goto LABEL_9;
if( !CmTrans )
goto LABEL_3;
LODWORD(v5) = CmListGetNextElement(KeyControlBlock->KCBUoWListHead, &ListIterator, 32i64);
if( !v5 )
goto LABEL_3;
do
{
v8 = *(_DWORD *)(v5 + 68);
if( v8 == 2 || v8 == 11 )
break;
LODWORD(v5) = CmListGetNextElement(v7, &ListIterator, 32i64);
}
while( v5 );
if( CmEqualTrans(*(_QWORD *)(v5 + 56), v6) )
LABEL_9:
LOBYTE(v5) = 1;
else
LABEL_3:
LOBYTE(v5) = 0;
return v5;
}Referenced by:
CmDeleteLayeredKey
CmDeleteValueKey
CmEnumerateValueFromLayeredKey
CmEnumerateValueKey
CmEnumerateValueKeyFromMergedView
CmKeyBodyNeedsVirtualImage
CmQueryKey
CmQueryLayeredKey
CmQueryMultipleValueKey
CmRestoreKey
CmSaveMergedKeys
CmSetValueKey
CmpCheckKeyBodyAccess
CmpCloseKeyObject
CmpDoParseKey
CmpIsHiveAlreadyLoaded
CmpLoadHiveVolatile
CmpLoadKeyCommon
CmpResolveHiveLoadConflict
NtNotifyChangeMultipleKeys