ViTargetDriversAllocateVerifiedData
_VF_TARGET_VERIFIED_DRIVER_DATA *__stdcall ViTargetDriversAllocateVerifiedData(
_VF_SUSPECT_DRIVER_ENTRY *SuspectDriverEntry){
char *PoolWithTag;
char *v3;
PoolWithTag = (char *)ExAllocatePoolWithTag(NonPagedPoolNx, 0x130ui64, 0x44566656ui64);
v3 = PoolWithTag;
if( PoolWithTag )
{
memset((INT64)PoolWithTag, 0i64);
*(_QWORD *)v3 = SuspectDriverEntry;
*((_QWORD *)v3 + 5) = 2557876544i64;
*((_QWORD *)v3 + 3) = v3 + 16;
*((_QWORD *)v3 + 2) = v3 + 16;
InitializeSListHead((_SLIST_HEADER *)(v3 + 64));
InitializeSListHead((_SLIST_HEADER *)(v3 + 80));
*((_QWORD *)v3 + 33) = v3 + 256;
*((_QWORD *)v3 + 32) = v3 + 256;
}
else
{
_InterlockedExchange(&ViTargetAllocationFailures, 1);
}
return(_VF_TARGET_VERIFIED_DRIVER_DATA *)v3;
}Referenced by:
VfTargetDriversAdd
VfTargetDriversEnableVerifier