VerifierExInitializeLookasideListEx

__int64 __fastcall VerifierExInitializeLookasideListEx(
        ULONG_PTR BugCheckParameter2,
        __int64 a2,
        __int64 a3,
        int a4,
        int a5,
        ULONG_PTR BugCheckParameter3,
        int a7,
        __int16 a8){
  int IsEnabled; 
  int v13; 
  UINT64 v15; 
  VOID *retaddr; 
  IsEnabled = VfTargetDriversIsEnabled(retaddr);
  if( IsEnabled )
  {
    VfCheckPoolType((_POOL_TYPE)a4, retaddr, (unsigned int)a7);
    if( BugCheckParameter3 < 8 && (MmVerifierData & 1) != 0 )
      VerifierBugCheckIfAppropriate(0xC4ui64, 0xCDui64, BugCheckParameter2, BugCheckParameter3, 8ui64, v15);
    VfUtilSynchronizationObjectSanityChecks((PVOID)BugCheckParameter2, 0x60ui64);
  }
  v13 = pXdvExInitializeLookasideListEx(
          BugCheckParameter2,
          a2,
          a3,
          a4,
          a5,
          BugCheckParameter3,
          a7,
          a8,
          IsEnabled,
          (__int64)ExInitializeLookasideListExInternal);
  if( v13 >= 0 )
  {
    if( (IsEnabled || (_DWORD)KernelVerifier)
      && *(VOID(__fastcall **)(_HHIVE *, UINT64, UINT64, _CHILD_LIST *))(BugCheckParameter2 + 48) == CmpAllocateTransientPoolWithTag
      && *(VOID(__stdcall **)(PVOID, PVOID))(BugCheckParameter2 + 56) == ExFreePoolEx )
    {
      *(_QWORD *)(BugCheckParameter2 + 48) = VerifierExAllocatePoolEx;
      *(_QWORD *)(BugCheckParameter2 + 56) = VerifierExFreePoolEx;
    }
    ViLookasideAdd((_GENERAL_LOOKASIDE *)BugCheckParameter2);
  }
  return(unsigned int)v13;
}

Referenced by:

No references.