SepSetTokenSessionById
VOID __fastcall SepSetTokenSessionById(INT64 a1, UINT64 a2, CHAR a3, INT64 a4, _QWORD *a5){
unsigned int v5;
struct _DMA_ADAPTER *v7;
__int64 v8;
v5 = a2;
if( *(_DWORD *)(a1 + 120) != (_DWORD)a2 )
{
*(_DWORD *)(a1 + 120) = a2;
if( !SeTokenDoesNotTrackSessionObject )
{
if( a3 )
{
if( a5 )
*a5 = *(_QWORD *)(a1 + 1160);
*(_QWORD *)(a1 + 1160) = a4;
}
else
{
v7 = *(struct _DMA_ADAPTER **)(a1 + 1160);
if( v7 )
HalPutDmaAdapter(v7);
LODWORD(v8) = MmGetSessionObjectById(v5);
*(_QWORD *)(a1 + 1160) = v8;
}
}
}
}Referenced by:
SeExchangePrimaryToken
SeSetSessionIdToken
SeSubProcessToken
SepFilterToken
SepGetAnonymousToken