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;
}