HvpViewMapUnCOWAndSealRange
VOID __stdcall HvpViewMapUnCOWAndSealRange(INT64 a1, INT64 a2, UINT64 a3){
INT64 v3;
INT64 v4;
INT64 v6;
INT64 v7;
INT64 v8;
INT64 v9;
v3 = (unsigned int)(a2 + 4096);
v4 = v3 + (unsigned int)a3;
if( v3 < (unsigned __int64)v4 )
{
v6 = a1 + 40;
do
{
v7 = *(_QWORD *)v6;
if( (*(_BYTE *)(v6 + 8) & 1) != 0 && v7 )
v7 ^= v6;
while( v7 )
{
if( v3 >= *(_QWORD *)(v7 + 40) )
{
if( v3 < *(_QWORD *)(v7 + 48) )
break;
v8 = *(_QWORD *)(v7 + 8);
}
else
{
v8 = *(_QWORD *)v7;
}
if( (*(_BYTE *)(v6 + 8) & 1) != 0 && v8 )
v7 ^= v8;
else
v7 = v8;
}
v9 = v4;
if( v4 >= *(_QWORD *)(v7 + 48) )
v9 = *(_QWORD *)(v7 + 48);
HvpViewMapMakeViewRangeUnCOWByCaller(a1, v7, v3, v9);
v3 = v9;
}
while( v9 < v4 );
}
}Referenced by:
HvUnCOWReconciledPages