ObSetRefTraceInformation

NTSTATUS __stdcall ObSetRefTraceInformation(VOID *SystemInformation, UINT64 SystemInformationLength){
  __int64 v2; 
  char PreviousMode; 

  v2 = (unsigned int)SystemInformationLength;
  PreviousMode = KeGetCurrentThread()->PreviousMode;
  if( !SeSinglePrivilegeCheck(*(_QWORD *)&SeDebugPrivilege, PreviousMode) )
    return -1073741790;
  if( (unsigned int)v2 < 0x28 )
    return -1073741811;
  if( PreviousMode )
  {
    if( ((unsigned __int8)SystemInformation & 7) != 0 )
      ExRaiseDatatypeMisalignment();
    if( (unsigned __int64)SystemInformation + v2 > 0x7FFFFFFF0000i64
      || (char *)SystemInformation + v2 < SystemInformation )
    {
      MEMORY[0x7FFFFFFF0000] = 0;
    }
  }
  if( *(_BYTE *)SystemInformation )
    return ObpStartRuntimeStackTrace((__int64)SystemInformation);
  else
    return ObpStopRuntimeStackTrace();
}

Referenced by:

NtSetSystemInformation