ExpRemoveGeneralLookaside
VOID __stdcall ExpRemoveGeneralLookaside(UINT64 *ListLock, _GENERAL_LOOKASIDE_POOL *Lookaside){
PVOID *v4;
unsigned __int8 v5;
unsigned __int64 v6;
__int64 v7;
PVOID **v8;
KeAcquireSpinLockRaiseToDpc(ListLock, (UINT64)Lookaside);
v4 = (PVOID *)((char *)Lookaside + 64);
v6 = v5;
v7 = *((_QWORD *)Lookaside + 8);
v8 = (PVOID **)*((_QWORD *)Lookaside + 9);
if( *(_GENERAL_LOOKASIDE_POOL **)(v7 + 8) != (_GENERAL_LOOKASIDE_POOL *)((char *)Lookaside + 64) || *v8 != v4 )
__fastfail(3u);
*v8 = (PVOID *)v7;
*(_QWORD *)(v7 + 8) = v8;
KxReleaseSpinLock(ListLock);
__writecr8(v6);
*((_WORD *)Lookaside + 8) = 0;
*v4 = MmBadPointer;
}Referenced by:
ExDeleteLookasideListEx
ExDeleteNPagedLookasideList
ExDeletePagedLookasideList