MiDereferenceSession

VOID __stdcall MiDereferenceSession(){
  __int64 v0; 
  void *v1; 
  v0 = *((_QWORD *)KeGetCurrentThread() + 23);
  v1 = *(void **)(v0 + 1368);
  if( _InterlockedExchangeAdd((volatile signed __int32 *)v1, 0xFFFFFFFF) == 1 )
    MiDereferenceSessionFinal(v1);
  _InterlockedAnd((volatile signed __int32 *)(v0 + 1124), 0xFFFEFFFF);
}

Referenced by:

MiSessionCreate
MmCleanProcessAddressSpace