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