RtlNumberOfSetBits

NTSTATUS __fastcall RtlNumberOfSetBits(UINT64 *a1){
  NTSTATUS v1; 
  UINT64 v2; 
  int v3; 
  int v4; 
  int v5; 
  int v6; 
  int v7; 
  int v8; 
  int v9; 
  int v10; 
  int v11; 
  int i; 
  char v13; 
  unsigned int v14; 
  __int64 v15; 
  unsigned __int64 v16; 
  char v18; 

  v1 = 0;
  v2 = a1[1];
  v3 = *(_DWORD *)a1 >> 3;
  v4 = *(_DWORD *)a1;
  v5 = *(_DWORD *)a1 & 7;
  v6 = v2 & 7;
  v7 = v3 + (v5 != 0);
  if( 8 - (a1[1] & 7) > (unsigned __int64)*(unsigned int *)a1 >> 3 )
  {
    v8 = v3 + ((*(_DWORD *)a1 & 7) != 0);
    v10 = 0;
    v11 = 0;
  }
  else
  {
    v8 = 8 - v6;
    v9 = ((_BYTE)v3 - (8 - (_BYTE)v6)) & 7;
    v10 = v9 + 1;
    if( !v5 )
      v10 = v9;
    v11 = v7 - v10 - v8;
  }
  for( i = 0; v8; --v8 )
  {
    v13 = *(_BYTE *)v2++;
    if( i == v7 - 1 && v5 )
      v13 &= byte_14001DA00[v4 & 7];
    ++i;
    v1 += *((unsigned __int8 *)RtlpBitsClearTotal + (unsigned __int8)~v13);
  }
  if( v11 )
  {
    v14 = ((unsigned int)(v11 - 1) >> 3) + 1;
    v15 = v14;
    i += 8 * v14;
    do
    {
      v16 = *(_QWORD *)v2;
      v2 += 8i64;
      v1 += (unsigned int)((0x101010101010101i64
                          * ((((v16 - ((v16 >> 1) & 0x5555555555555555i64)) & 0x3333333333333333i64)
                            + (((v16 - ((v16 >> 1) & 0x5555555555555555i64)) >> 2) & 0x3333333333333333i64)
                            + ((((v16 - ((v16 >> 1) & 0x5555555555555555i64)) & 0x3333333333333333i64)
                              + (((v16 - ((v16 >> 1) & 0x5555555555555555i64)) >> 2) & 0x3333333333333333i64)) >> 4)) & 0xF0F0F0F0F0F0F0Fi64)) >> 32) >> 24;
      --v15;
    }
    while( v15 );
  }
  for( ; v10; --v10 )
  {
    v18 = *(_BYTE *)v2++;
    if( i == v7 - 1 && v5 )
      v18 &= byte_14001DA00[v4 & 7];
    ++i;
    v1 += *((unsigned __int8 *)RtlpBitsClearTotal + (unsigned __int8)~v18);
  }
  return v1;
}

Referenced by:

CmpFlushHive
CmpLoadHiveThread
CmpMountPreloadedHives
EtwQueryPerformanceTraceInformation
HalpDmaAllocateScatterPagesFromContiguousPoolV2
HalpDmaAllocateScatterPagesFromContiguousPoolV3
HvFoldBackUnreconciledData
HvFreeHivePartial
HvWriteHivePrimaryFile
HvpAddBin
HvpApplyLegacyLogFile
HvpGenerateLogEntry
HvpGenerateLogEntryDirtyData
HvpPerformLogFileRecovery
MiReleaseDriverPtes
PopEvaluateGlobalUserStatus
PspQueryRateControlHistory
RtlNumberOfClearBits
ST_STORE::StDmCleanup
ST_STORE::StGetStatsWorker
ST_STORE::StStart
SepAddLuidToIndexEntry
SepGetLowBoxNumberEntry