PnprRecopyMappingReserve
__int64 __fastcall PnprRecopyMappingReserve(__int64 *a1){
__int64 v1;
int v3;
__int64 v4;
INT64 v5;
int v6;
__int64 v8;
int v9;
int v10;
v1 = 0i64;
v3 = 0;
while( 1 )
{
LODWORD(v4) = MiGetContainingPageTable(
(UINT64)MmGetPteBase()
+ (((a1[1] + (unsigned __int64)(unsigned int)(v3 << 12)) >> 9) & 0x7FFFFFFFF8i64));
if( v4 != v1 )
{
v1 = v4;
LOBYTE(v5) = 1;
v6 = PnprMarkOrMirrorPages(v4 << 12, 0x1000ui64, v5);
if( v6 < 0 )
break;
}
if( (unsigned int)++v3 >= 0x10 )
{
PnprRecopyAddress(*a1, 0x30u);
return 0i64;
}
}
v8 = PnprContext;
v9 = *(_DWORD *)(PnprContext + 20984);
if( !v9 )
v9 = 5721;
*(_DWORD *)(PnprContext + 20984) = v9;
v10 = *(_DWORD *)(v8 + 20988);
if( !v10 )
v10 = 1;
*(_DWORD *)(v8 + 20988) = v10;
return(unsigned int)v6;
}Referenced by:
PnprRecopyMirrorPages