PopBootStatAccessCheck

NTSTATUS __stdcall PopBootStatAccessCheck(
        _DEVICE_NODE *DeviceNode,
        PVOID DeviceInstanceKey,
        PWCHAR IdList,
        UINT64 IdListSize,
        UINT8 CheckHardwareIds,
        UINT8 *IdsChanged){
  _ACCESS_MASK v6; 
  char v7; 
  NTSTATUS result; 
  VOID *v9; 
  unsigned __int8 v10; 
  _KPROCESSOR_MODE AccessMode; 
  int AccessStatus; 
  unsigned int GrantedAccess; 
  PVOID Object; 
  PVOID SecurityDescriptor; 
  _SECURITY_SUBJECT_CONTEXT SubjectContext; 
  UINT8 MemoryAllocated; 

  v6 = (int)IdList;
  v7 = (char)DeviceInstanceKey;
  GrantedAccess = 0;
  MemoryAllocated = 0;
  SecurityDescriptor = 0i64;
  Object = 0i64;
  memset(&SubjectContext, 0, sizeof(SubjectContext));
  result = ObReferenceObjectByHandle(DeviceNode, 0i64, 0i64, 0, &Object, 0i64);
  AccessStatus = result;
  if( result >= 0 )
  {
    result = ObpGetObjectSecurity(Object, &SecurityDescriptor, &MemoryAllocated, 0);
    AccessStatus = result;
    if( result >= 0 )
    {
      SeCaptureSubjectContext((INT64)&SubjectContext);
      LOBYTE(AccessMode) = v7;
      v9 = SecurityDescriptor;
      v10 = (unsigned __int8)SeAccessCheck(
                               SecurityDescriptor,
                               &SubjectContext,
                               0,
                               v6,
                               0,
                               0i64,
                               (PGENERIC_MAPPING)&IopFileMapping,
                               AccessMode,
                               &GrantedAccess,
                               &AccessStatus);
      SeReleaseSubjectContext(&SubjectContext);
      result = AccessStatus;
      if( v10 )
        result = 0;
      AccessStatus = result;
      if( v9 )
      {
        ObReleaseObjectSecurity(v9, MemoryAllocated);
        result = AccessStatus;
      }
    }
    if( Object )
    {
      HalPutDmaAdapter((PADAPTER_OBJECT)Object);
      return AccessStatus;
    }
  }
  return result;
}

Referenced by:

PopBootStatCheckIntegrity
PopBootStatGet
PopBootStatSet