VfTargetDriversEnableVerifier
UINT64 __stdcall VfTargetDriversEnableVerifier(VOID *Address, _VF_SUSPECT_DRIVER_ENTRY *SuspectDriverEntry){
unsigned int v2;
_VF_TARGET_VERIFIED_DRIVER_DATA *VerifiedData;
_VF_AVL_TREE_NODE *v5;
_VF_AVL_LOCK_CONTEXT Context[4];
v2 = 0;
*(_OWORD *)Context = 0i64;
if( !VfSafeMode )
{
if( ViTargetInitialized )
{
VerifiedData = ViTargetDriversAllocateVerifiedData(SuspectDriverEntry);
if( VerifiedData )
{
VfAvlInitializeLockContext(Context, Exclusive);
v5 = VfAvlLookupTreeNode(&ViTargetDriversAvl, Context, Address, 1ui64);
if( v5 )
{
v5[3].RangeSize = (unsigned __int64)VerifiedData;
v2 = 1;
++dword_140C1CEE8;
}
VfAvlCleanupLockContext(Context);
if( !v2 )
ExFreePoolWithTag(VerifiedData, 0x44566656u);
}
}
}
return v2;
}Referenced by:
VfSuspectDriversLoadCallback