VOID __fastcall MiDecrementProtoShareCounts(INT64 a1, INT64 a2){
INT64 v2;
volatile signed __int64 *v3;
unsigned __int64 v4;
if( a2 )
{
v2 = a2;
v3 = (volatile signed __int64 *)((char *)MmGetPfnDb() + 48 * a1);
do
{
v4 = (unsigned __int8)MiLockPageInline((INT64)v3);
MiDecrementShareCount((UINT64)v3);
_InterlockedAnd64(v3 + 3, 0x7FFFFFFFFFFFFFFFui64);
__writecr8(v4);
v3 += 6;
--v2;
}
while( v2 );
}
}