HvpPointMapEntriesToBuffer
VOID __fastcall HvpPointMapEntriesToBuffer(UINT64 P2, INT64 a2, INT64 a3, INT64 a4, CHAR a5, INT64 a6){
int v6;
unsigned int v9;
INT64 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(P2, v9 + v6);
if( !CellMap )
KeBugCheckEx(0x51u, 1ui64, P2, v11, 0x20Aui64);
*(_QWORD *)(CellMap + 8) = a2;
if( v12 )
{
v14 = 0;
}
else
{
*(_QWORD *)(CellMap + 8) = a2 | 1;
v14 = v13;
}
*(_DWORD *)(CellMap + 16) = v14;
if( a6 )
{
*(_QWORD *)(CellMap + 8) |= 2ui64;
v15 = a6;
}
else
{
v15 = v12;
}
*(_QWORD *)CellMap = v15;
if( a5 )
*(_QWORD *)(CellMap + 8) |= 8ui64;
v9 = v12 + 4096;
}
while( v9 < v13 );
}
}Referenced by:
HvpAddBin
HvpAddDummyBinToHive
HvpBuildMapForMemoryBackedHive
HvpDropPagedBins
HvpMapHiveImage
HvpRemapAndEnlistHiveBins