MiIncrementCombinedPte
INT64 __fastcall MiIncrementCombinedPte(INT64 a1, INT64 a2){
INT64 v2;
__int64 v3;
INT64 result;
v2 = a2 - 48;
v3 = *(_QWORD *)(((a2 - 48) & 0xFFFFFFFFFFFFF000ui64) + 0x10);
if( *(_QWORD *)(qword_140C4E388 + 8i64 * *(unsigned __int16 *)(a1 + 174)) != *(_QWORD *)v3 )
{
LODWORD(result) = MiGetCrossPartitionCombineCharges(*(volatile INT64 **)v3, 1i64);
if( !(_DWORD)result )
return result;
if( _InterlockedIncrement64((volatile signed __int64 *)(v2 + 56)) != 1 )
MiReturnCrossPartitionCombineCharges(*(volatile INT64 **)v3, 1i64);
}
_InterlockedAdd64((volatile signed __int64 *)(v2 + 32), 1ui64);
_InterlockedExchangeAdd((volatile signed __int32 *)(v3 + 392), 1u);
return 1i64;
}Referenced by:
MiBuildForkPte