MiLockAweVadsShared

ULONG_PTR __fastcall MiLockAweVadsShared(__int64 a1){
  __int64 v1; 
  __int64 v3; 
  ULONG_PTR result; 
  v1 = *(_QWORD *)(a1 + 184);
  v3 = *(_QWORD *)(v1 + 1680);
  while( 1 )
  {
    --*(_WORD *)(a1 + 486);
    result = ExAcquireAutoExpandPushLockShared(v3 + 408, 0i64);
    if( !*(_QWORD *)(v1 + 1248) )
      break;
    MiUnlockAweVadsShared(a1, result);
    MiCopyOnWriteCheckConditions(v1 + 1664, 3221226548i64);
  }
  return result;
}

Referenced by:

MiProtectAweRegion
NtMapUserPhysicalPages
NtMapUserPhysicalPagesScatter