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