MiDereferenceSession

VOID __stdcall MiDereferenceSession(){
  _EPROCESS *Process; 

  Process = KeGetCurrentThread()->ApcState.Process;
  if( _InterlockedExchangeAdd((volatile signed __int32 *)Process->Session, 0xFFFFFFFF) == 1 )
    MiDereferenceSessionFinal();
  _InterlockedAnd((volatile signed __int32 *)&Process->1124, 0xFFFEFFFF);
}

Referenced by:

MiSessionCreate
MmCleanProcessAddressSpace