MmVirtualAccessFault

VOID __stdcall MmVirtualAccessFault(
        VOID *VirtualAddress,
        UINT64 FaultTypeFlags,
        UINT64 *PageFrameNumber,
        INT64 a4,
        CHAR *a5,
        INT64 a6,
        INT16 a7,
        INT64 a8,
        INT64 a9,
        CHAR a10,
        INT64 a11){
  char v12; 
  int v14; 
  UINT64 v15; 
  void *v16; 
  int v17; 
  __int64 v18[12]; 

  v12 = (char)PageFrameNumber;
  memset(v18, 0i64, sizeof(v18));
  MiInitializeFaultVaListCore((__int64)v18, (__int64)VirtualAddress, 1i64, 5);
  v18[5] = FaultTypeFlags;
  v18[6] = 0i64;
  v17 = v14 & (v15 >> 1) | (v15 >> 3) & 2;
  LODWORD(v18[7]) = v17;
  if( (v12 & 8) != 0 )
  {
    v17 |= 4u;
    LODWORD(v18[7]) = v17;
  }
  if( (v12 & 0x10) != 0 )
  {
    v17 |= 8u;
    LODWORD(v18[7]) = v17;
  }
  if( (v12 & 0x20) != 0 )
  {
    v17 |= 0x10u;
    LODWORD(v18[7]) = v17;
  }
  if( (v12 & 0x40) != 0 )
    LODWORD(v18[7]) = v17 | 0x20;
  MmAccessFault(v15, *(PVOID *)VirtualAddress, v14, v16);
}

Referenced by:

PspIumGetPhysicalPage
VmpAccessFaultBatchResolve