RtlNumberOfSetBitsEx

UINT64 __fastcall RtlNumberOfSetBitsEx(_RTL_BITMAP_EX *BitMapHeader){
  unsigned __int64 *Buffer; 
  unsigned __int64 v2; 
  unsigned __int64 v3; 
  UINT64 v4; 
  int v5; 
  unsigned __int64 v6; 
  int v7; 
  int v8; 
  int v9; 
  unsigned __int64 v10; 
  int i; 
  char v12; 
  unsigned __int64 v13; 
  __int64 v14; 
  unsigned __int64 v15; 
  unsigned __int64 v16; 
  char v17; 
  Buffer = BitMapHeader->Buffer;
  v2 = BitMapHeader->SizeOfBitMap >> 3;
  v3 = BitMapHeader->SizeOfBitMap & 7;
  v4 = 0i64;
  v5 = (unsigned __int8)Buffer & 7;
  v6 = v2 + (v3 != 0);
  if( 8 - (unsigned __int64)((__int64)BitMapHeader->Buffer & 7) > v2 )
  {
    v9 = 0;
    v7 = v2 + (v3 != 0);
    v10 = 0i64;
  }
  else
  {
    v7 = 8 - v5;
    v8 = ((_BYTE)v2 - (8 - (_BYTE)v5)) & 7;
    v9 = v8 + 1;
    if( !v3 )
      v9 = v8;
    v10 = v6 - (unsigned int)(v9 + v7);
  }
  for( i = 0; v7; --v7 )
  {
    v12 = *(_BYTE *)Buffer;
    Buffer = (unsigned __int64 *)((char *)Buffer + 1);
    if( i == v6 - 1 && v3 )
      v12 &= byte_14001DA00[v3];
    ++i;
    v4 += *((unsigned __int8 *)RtlpBitsClearTotal + (unsigned __int8)~v12);
  }
  if( v10 )
  {
    v13 = ((v10 - 1) >> 3) + 1;
    i += 8 * v13;
    do
    {
      v14 = *Buffer;
      v15 = *Buffer++;
      v4 += (0x101010101010101i64
           * ((((v14 - ((v15 >> 1) & 0x5555555555555555i64)) & 0x3333333333333333i64)
             + (((v14 - ((v15 >> 1) & 0x5555555555555555i64)) >> 2) & 0x3333333333333333i64)
             + ((((v14 - ((v15 >> 1) & 0x5555555555555555i64)) & 0x3333333333333333i64)
               + (((v14 - ((v15 >> 1) & 0x5555555555555555i64)) >> 2) & 0x3333333333333333i64)) >> 4)) & 0xF0F0F0F0F0F0F0Fi64)) >> 56;
      --v13;
    }
    while( v13 );
  }
  if( v9 )
  {
    v16 = v6 - 1;
    do
    {
      v17 = *(_BYTE *)Buffer;
      Buffer = (unsigned __int64 *)((char *)Buffer + 1);
      if( i == v16 && v3 )
        v17 &= byte_14001DA00[v3];
      ++i;
      v4 += *((unsigned __int8 *)RtlpBitsClearTotal + (unsigned __int8)~v17);
      --v9;
    }
    while( v9 );
  }
  return v4;
}

Referenced by:

IoWriteCrashDump
IopLiveDumpEndMirroringCallback
IopLiveDumpEstimateMemoryPages
IopLiveDumpWriteDumpFile
IopLiveDumpWriteDumpFileWithExtraPages
MiInsertPartitionPages
RtlNumberOfClearBitsEx