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