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