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