FsRtlpOpenDev

NTSTATUS __stdcall FsRtlpOpenDev(PHANDLE Handle, LPWSTR DevNameStr){
  WCHAR v2; 
  NTSTATUS result; 
  UINT64 FileAttributes; 
  UINT64 ShareAccess; 
  UINT64 CreateDisposition; 
  UINT64 v8; 
  UINT64 v9; 
  struct _UNICODE_STRING DestinationString; 
  struct _IO_STATUS_BLOCK IoStatusBlock; 
  struct _OBJECT_ATTRIBUTES ObjectAttributes; 
  *(&ObjectAttributes.Length + 1) = 0;
  *(&ObjectAttributes.Attributes + 1) = 0;
  DestinationString = 0i64;
  IoStatusBlock = 0i64;
  RtlInitUnicodeString(&DestinationString, L"\\Device\\Mup", v2);
  LODWORD(v9) = 0;
  LODWORD(v8) = 0;
  ObjectAttributes.RootDirectory = 0i64;
  LODWORD(CreateDisposition) = 1;
  LODWORD(ShareAccess) = 3;
  LODWORD(FileAttributes) = 128;
  ObjectAttributes.Length = 48;
  ObjectAttributes.Attributes = 512;
  ObjectAttributes.ObjectName = &DestinationString;
  *(_OWORD *)&ObjectAttributes.SecurityDescriptor = 0i64;
  result = ZwCreateFile(
             Handle,
             0x40000000ui64,
             &ObjectAttributes,
             &IoStatusBlock,
             0i64,
             FileAttributes,
             ShareAccess,
             CreateDisposition,
             v8,
             0i64,
             v9);
  if( result < 0 || (result = IoStatusBlock.Status, IoStatusBlock.Status < 0) )
    *Handle = (void *)-1i64;
  return result;
}

Referenced by:

FsRtlpRegisterUncProvider