MiReplacePfnWithGapMapping

VOID __fastcall MiReplacePfnWithGapMapping(volatile INT64 *a1, INT64 a2){
  unsigned int v3; 
  char v4; 
  INT64 ValidPte; 
  INT64 result; 
  int v7; 
  __int64 v8; 
  v3 = a2;
  if( qword_140C4EB08 == (PVOID)qword_140C4EB10 )
  {
    memset((INT64)&result, 0i64);
    v4 = MI_READ_PTE_LOCK_FREE((INT64)a1);
    v8 = 0i64;
    v7 = 20;
    if( v3 && v4 < 0 )
      MiInsertLargeTbFlushEntry((INT64)&result, v3, (INT64)a1);
    else
      MiInsertRecursiveTbFlushEntries((INT64)&result, v3, (INT64)a1);
    *a1 = ZeroPte;
    MiFlushTbList((__int64)&result);
  }
  else
  {
    ValidPte = MiMakeValidPte(
                 (UINT64)a1,
                 (INT64)*(&qword_140C4EB08 + (int)a2),
                 (_DWORD)a2 != 0 ? -1476395004 : 536870913);
    MiTransformValidPteInPlace(a1, (UINT64)a1, ValidPte, v3);
  }
}

Referenced by:

MiPfnRangeIsZero