CmpHashUnicodeComponent
INT64 __fastcall CmpHashUnicodeComponent(const UNICODE_STRING *Component){
unsigned int v1;
__int16 v2;
wchar_t *Buffer;
__int64 v4;
UINT16 v5;
v1 = 0;
v2 = _mm_cvtsi128_si32(*(__m128i *)Component);
if( v2 )
{
Buffer = Component->Buffer;
v4 = (unsigned __int16)(((unsigned __int16)(v2 - 1) >> 1) + 1);
do
{
v5 = *Buffer;
if( *Buffer >= 0x61u )
{
if( v5 > 0x7Au )
v5 = NLS_UPCASE(v5);
else
v5 -= 32;
}
++Buffer;
v1 = v5 + 37 * v1;
--v4;
}
while( v4 );
}
return v1;
}Referenced by:
CmDeleteLayeredKey
CmInitSystem1
CmRenameKey
CmpAddStringToMapping
CmpAddToLeaf
CmpCheckLeaf
CmpCreateRegistryRoot
CmpDoBuildVirtualStack
CmpFindSubKeyByHashWithStatus
CmpFindSubkeyInHashByChildCell
CmpGetMappingHiveForString
CmpGetNameControlBlock
CmpPartialPromoteSubkeys
CmpSubtreeEnumeratorAdvance
CmpWaitForHiveMount