NormBuffer__IsBlocked
BOOL __fastcall NormBuffer__IsBlocked(_RTL_NORM_BUFFER *pNormBuffer, UINT64 bTestClass){
WCHAR **v2;
unsigned __int8 v4;
WCHAR **v5;
_RTL_NORMALIZATION *v6;
unsigned int CurrentOutputChar;
INT64 v8;
INT64 v9;
_RTL_NORMALIZATION *v10;
unsigned __int8 v11;
__int64 v12;
char *v13;
char *v15;
v2 = (WCHAR **)*((_QWORD *)pNormBuffer + 5);
*((_QWORD *)pNormBuffer + 13) = v2;
v4 = bTestClass;
v5 = (WCHAR **)*((_QWORD *)pNormBuffer + 10);
if( v2 == v5 )
return 0;
v15 = (char *)v2 - 2;
if( (char *)v2 - 2 == (char *)v5 - 2 )
return 0;
v6 = (_RTL_NORMALIZATION *)*((_QWORD *)pNormBuffer + 14);
while( 1 )
{
CurrentOutputChar = NormBuffer__GetCurrentOutputChar(v5);
LOBYTE(v8) = Normalization__PageLookup(v6, CurrentOutputChar);
v11 = Normalization__TableLookup(v10, v9, v8) & 0x3F;
if( v11 <= v4 )
break;
*(_QWORD *)(v12 + 104) = v15;
v15 -= 2;
if( v15 == v13 )
return 0;
}
return v11 == v4;
}Referenced by:
Normalization__NormalizeCharacter