RtlMergeBitMaps

VOID __stdcall RtlMergeBitMaps(_RTL_BITMAP *Destination, _RTL_BITMAP *Source){
  unsigned int SizeOfBitMap; 
  __int64 v3; 
  unsigned int *Buffer; 

  SizeOfBitMap = Destination->SizeOfBitMap;
  if( Destination->SizeOfBitMap >= Source->SizeOfBitMap )
    SizeOfBitMap = Source->SizeOfBitMap;
  v3 = 0i64;
  while( SizeOfBitMap )
  {
    Buffer = Source->Buffer;
    if( SizeOfBitMap < 0x20 )
    {
      Destination->Buffer[v3] |= Buffer[v3] & ((1i64 << SizeOfBitMap) - 1);
      SizeOfBitMap = 0;
    }
    else
    {
      SizeOfBitMap -= 32;
      Destination->Buffer[v3] |= Buffer[v3];
      v3 = (unsigned int)(v3 + 1);
    }
  }
}

Referenced by:

CmpFlushHive
HvFoldBackUnreconciledData
HvStoreModifiedData
HvUnCOWReconciledPages
HvpPerformLogFileRecovery