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