SepSetTokenSessionById

void __fastcall SepSetTokenSessionById(__int64 a1, unsigned int a2, char a3, __int64 a4, _QWORD *a5){
  _ADAPTER_OBJECT *v7; 

  if( *(_DWORD *)(a1 + 120) != a2 )
  {
    *(_DWORD *)(a1 + 120) = a2;
    if( !SeTokenDoesNotTrackSessionObject )
    {
      if( a3 )
      {
        if( a5 )
          *a5 = *(_QWORD *)(a1 + 1160);
        *(_QWORD *)(a1 + 1160) = a4;
      }
      else
      {
        v7 = *(_ADAPTER_OBJECT **)(a1 + 1160);
        if( v7 )
          HalPutDmaAdapter(v7);
        *(_QWORD *)(a1 + 1160) = MmGetSessionObjectById(a2);
      }
    }
  }
}

Referenced by:

SeExchangePrimaryToken
SeSetSessionIdToken
SeSubProcessToken
SepFilterToken
SepGetAnonymousToken