RtlpInternEntryMatch
char __fastcall RtlpInternEntryMatch(__int64 a1, _QWORD *a2, __int64 a3){
unsigned __int64 v3;
UINT64 v5;
unsigned __int64 v6;
__int64 v7;
__int64 i;
UINT64 v9;
UINT64 v10;
const VOID *v11;
v3 = *(_QWORD *)(a1 + 24);
v5 = (unsigned __int16)v3;
if( *a2 == (unsigned __int16)v3 && a3 == (unsigned __int16)v3 + ((v3 >> 16) & 0x3FFFFFFF) )
{
v6 = a2[2];
v7 = 0i64;
if( !v6 )
return 1;
for( i = a2[1]; ; i += 32i64 )
{
v9 = *(_QWORD *)(i + 16);
v10 = *(_QWORD *)(i + 24) - ((*(_QWORD *)(i + 24) - 1i64) & (*(_QWORD *)(i + 24) + v5 - 1)) - 1 + v5;
v11 = (const VOID *)(v10 + a1);
v5 = v9 + v10;
if( memcmp(v11, *(const VOID **)i, v9) )
break;
if( ++v7 >= v6 )
return 1;
}
}
return 0;
}Referenced by:
RtlpInternEntryFind