RtlReleasePrivilege

VOID __stdcall RtlReleasePrivilege(VOID *StatePointer){
  int v2; 
  __int64 v3; 
  char *v4; 

  v2 = *((_DWORD *)StatePointer + 8);
  if( (v2 & 3) != 1 )
  {
    ZwAdjustPrivilegesToken(*(_QWORD *)StatePointer, 0, *((_QWORD *)StatePointer + 2), 0i64, 0i64, 0i64);
    v2 = *((_DWORD *)StatePointer + 8);
  }
  if( (v2 & 1) != 0 )
  {
    ZwSetInformationThread(0xFFFFFFFFFFFFFFFEui64, 5i64, (UINT64)StatePointer + 8, 8ui64);
    v3 = *((_QWORD *)StatePointer + 1);
    if( v3 )
      ZwClose(v3);
  }
  v4 = (char *)*((_QWORD *)StatePointer + 2);
  if( v4 != (char *)StatePointer + 36 )
    ExFreePoolWithTag(v4, 0);
  ZwClose(*(_QWORD *)StatePointer);
  ExFreePoolWithTag(StatePointer, 0);
}

Referenced by:

PspAllocateProcess