CmpFindSubKeyByHashWithStatus
__int64 __fastcall CmpFindSubKeyByHashWithStatus(__int64 a1, __int64 a2, __m128i *a3, _DWORD *a4){
int v8;
int v9;
unsigned __int16 v10;
int v12;
v8 = CmpHashUnicodeComponent((const _UNICODE_STRING *)a3);
*a4 = -1;
v9 = v8;
v10 = 0;
if( !*(_WORD *)(a2 + 2) )
return 3221225524i64;
while( 1 )
{
if( v9 != *(_DWORD *)(a2 + 8i64 * v10 + 8) )
goto LABEL_3;
v12 = CmpDoCompareKeyName(a1, (const _UNICODE_STRING *)a3, 0i64, *(unsigned int *)(a2 + 8i64 * v10 + 4));
if( v12 == 2 )
return 3221225626i64;
if( !v12 )
{
*a4 = *(_DWORD *)(a2 + 8i64 * v10 + 4);
return 0i64;
}
LABEL_3:
if( ++v10 >= *(_WORD *)(a2 + 2) )
return 3221225524i64;
}
}Referenced by:
CmpFindSubKeyByNameWithStatus