ViLookasideTrackList
VOID __fastcall ViLookasideTrackList(_GENERAL_LOOKASIDE *Lookaside, UINT64 HookAllocateFree){
VOID *(__fastcall *v2)(_POOL_TYPE, UINT64, UINT64);
void *v3;
if( (_DWORD)HookAllocateFree && *((VOID(__stdcall **)(PVOID, ULONG))Lookaside + 7) == ExFreePoolWithTag )
{
v2 = (VOID *(__fastcall *)(_POOL_TYPE, UINT64, UINT64))*((_QWORD *)Lookaside + 6);
if( v2 == ExAllocatePoolWithTag )
{
v3 = VerifierExAllocatePoolWithTag;
LABEL_7:
*((_QWORD *)Lookaside + 6) = v3;
*((_QWORD *)Lookaside + 7) = VerifierExFreePool;
goto LABEL_8;
}
if( (char *)v2 == (char *)ExAllocatePoolWithQuotaTag )
{
v3 = VerifierExAllocatePoolWithQuotaTag;
goto LABEL_7;
}
}
LABEL_8:
ViLookasideAdd(Lookaside);
}Referenced by:
VerifierExInitializeNPagedLookasideList
VerifierExInitializePagedLookasideList