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