SeTokenSetRedirectionTrustPolicy

NTSTATUS __stdcall SeTokenSetRedirectionTrustPolicy(INT64 a1){
  char v1; 
  INT64 v2; 
  _ETHREAD *CurrentThread; 
  char v4; 
  int v6; 
  unsigned int v7; 
  NTSTATUS result; 
  signed __int32 v9[10]; 

  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  v4 = v1;
  --CurrentThread->Tcb.KernelApcDisable;
  ExAcquireResourceExclusiveLite(*(_QWORD *)(a1 + 48), 1, v2);
  _InterlockedOr(v9, 0);
  v6 = *(_DWORD *)(a1 + 200);
  if( v4 )
    v7 = v6 & 0xFE7FFFFF | 0x1000000;
  else
    v7 = v6 & 0xFE7FFFFF | 0x800000;
  *(_DWORD *)(a1 + 200) = v7;
  *(_QWORD *)(a1 + 56) = ExpLuidIncrement + _InterlockedExchangeAdd64(&ExpLuid, ExpLuidIncrement);
  _InterlockedOr(v9, 0);
  ExReleaseResourceLite(*(PERESOURCE *)(a1 + 48));
  KeLeaveCriticalRegion();
  return result;
}

Referenced by:

PspSetRedirectionTrustPolicy