KiUnlockKobjectArray
VOID __stdcall KiUnlockKobjectArray(PVOID *Objects, UINT64 a2){
volatile signed __int32 *v2;
volatile signed __int32 **v3;
__int64 v4;
v2 = (volatile signed __int32 *)*Objects;
_InterlockedAnd((volatile signed __int32 *)*Objects, 0xFFFFFF7F);
if( (unsigned int)a2 > 1 )
{
v3 = (volatile signed __int32 **)(Objects + 1);
v4 = (unsigned int)(a2 - 1);
do
{
if( *v3 != v2 )
{
v2 = *v3;
_InterlockedAnd(*v3, 0xFFFFFF7F);
}
++v3;
--v4;
}
while( v4 );
}
}Referenced by:
KiWaitForAllObjects