HvpPointMapEntriesToBuffer

VOID __fastcall HvpPointMapEntriesToBuffer(PVOID BugCheckParameter2, UINT64 a2, INT64 a3, INT64 a4, CHAR a5, INT64 a6){
  int v6; 
  unsigned int v9; 
  _HMAP_ENTRY *CellMap; 
  unsigned int v11; 
  unsigned int v12; 
  unsigned int v13; 
  unsigned int v14; 
  INT64 v15; 

  if( (_DWORD)a3 )
  {
    v6 = a4;
    v9 = 0;
    do
    {
      CellMap = HvpGetCellMap((_HHIVE *)BugCheckParameter2, v9 + v6);
      if( !CellMap )
        KeBugCheckEx(0x51u, (PVOID)1, BugCheckParameter2, (PVOID)v11, (PVOID)0x20A);
      CellMap->PermanentBinAddress = a2;
      if( v12 )
      {
        v14 = 0;
      }
      else
      {
        CellMap->PermanentBinAddress = a2 | 1;
        v14 = v13;
      }
      CellMap->MemAlloc = v14;
      if( a6 )
      {
        CellMap->PermanentBinAddress |= 2ui64;
        v15 = a6;
      }
      else
      {
        v15 = v12;
      }
      CellMap->BlockOffset = v15;
      if( a5 )
        CellMap->PermanentBinAddress |= 8ui64;
      v9 = v12 + 4096;
    }
    while( v9 < v13 );
  }
}

Referenced by:

HvpAddBin
HvpAddDummyBinToHive
HvpBuildMapForMemoryBackedHive
HvpDropPagedBins
HvpRemapAndEnlistHiveBins