VfFreePoolNotification

VOID __stdcall VfFreePoolNotification(VOID *Address, UINT64 NumberOfBytes){
  if( NumberOfBytes )
  {
    if( (*(&stru_140CF2E80 + 7304) & 8) != 0 && VfPoolTraces )
      ViPoolLogStackTrace(Address, NumberOfBytes);
    if( VfIsVerifierEnabled()
      && ((*(&stru_140CF2E80 + 1826) & 0xFFAFFFFF) != 0
       || (*(&stru_140CF2E80 + 7308) & 2) != 0
       || (*(&stru_140CF2E80 + 7308) & 4) != 0) )
    {
      VfDeadlockDeleteMemoryRange(Address, NumberOfBytes);
      VfRemLockDeleteMemoryRange(Address, NumberOfBytes);
    }
  }
  else if( (*(&stru_140CF2E80 + 7304) & 8) != 0 && ((MmVerifierData & 0x400000) == 0 || (VfFlightOptions & 9) != 0) )
  {
    if( VfPoolTraces )
      ViPoolLogStackTrace(Address, 0x10ui64);
  }
}

Referenced by:

ExFreeHeapPool
ExpFreePoolChecks
VerifierExFreePool
VerifierExFreePoolWithTag