SepTokenInitialization

UINT8 __stdcall SepTokenInitialization(){
  NTSTATUS v0; 
  _UNICODE_STRING DestinationString; 
  _OBJECT_TYPE_INITIALIZER ObjectTypeInitializer; 

  DestinationString = 0i64;
  RtlInitUnicodeString(&DestinationString, L"Token");
  memset(&ObjectTypeInitializer, 0i64, sizeof(ObjectTypeInitializer));
  ObjectTypeInitializer._bf_0 |= 0xEu;
  ObjectTypeInitializer.Length = 120;
  ObjectTypeInitializer.ObjectTypeCode = 512;
  ObjectTypeInitializer.InvalidAttributes = 256;
  ObjectTypeInitializer.PoolType = PagedPool;
  ObjectTypeInitializer.ValidAccessMask = 983551;
  ObjectTypeInitializer.GenericMapping = (_GENERIC_MAPPING)SepTokenMapping;
  ObjectTypeInitializer.DeleteProcedure = (void(__fastcall *)(void *))SepTokenDeleteMethod;
  v0 = ObCreateObjectType(&DestinationString, &ObjectTypeInitializer, 0i64, (_OBJECT_TYPE **)&SeTokenObjectType);
  if( v0 >= 0 )
    v0 = SeRegisterObjectTypeMandatoryPolicy((_OBJECT_TYPE *)SeTokenObjectType, 1ui64);
  return v0 >= 0;
}

Referenced by:

SepInitializationPhase0