MiFillGapAddresses

VOID __stdcall MiFillGapAddresses(VOID *VirtualAddress, VOID *EndVirtualAddress, UINT64 *GapFrames){
  _MMPTE *PfnDb; 
  char *v5; 
  _MMPTE *PteBase; 
  __int64 v7; 
  UINT64 PagingLevel; 
  _MI_PTE_RANGE PteHierarchy; 
  char v10; 

  PfnDb = (_MMPTE *)MmGetPfnDb();
  v5 = &v10;
  PteBase = MmGetPteBase();
  v7 = 4i64;
  do
  {
    PfnDb = (_MMPTE *)((char *)PteBase + (((unsigned __int64)PfnDb >> 9) & 0x7FFFFFFFF8i64));
    EndVirtualAddress = (char *)PteBase + (((unsigned __int64)EndVirtualAddress >> 9) & 0x7FFFFFFFF8i64);
    *((_QWORD *)v5 - 1) = PfnDb;
    *(_QWORD *)v5 = EndVirtualAddress;
    v5 += 16;
    --v7;
  }
  while( v7 );
  LODWORD(PagingLevel) = 3;
  MiFillGapPtes(PfnDb, (_MMPTE *)EndVirtualAddress, &PteHierarchy, GapFrames, PagingLevel);
}

Referenced by:

MiFillPfnGaps