NormBuffer__SortBeforeSameClass
CHAR __fastcall NormBuffer__SortBeforeSameClass(INT64 a1, UINT8 a2){
__int64 v2;
__int64 v4;
__int64 v5;
INT64 CurrentOutputChar;
__int64 v7;
__int64 v8;
__int64 v9;
INT64 v10;
CHAR v11;
CHAR v12;
INT64 v13;
WCHAR **v14;
__int64 v15;
__int64 v16;
__int64 v18;
__int64 v19;
v2 = *(_QWORD *)(a1 + 40);
v4 = *(_QWORD *)(a1 + 80);
*(_QWORD *)(a1 + 104) = v2;
if( v2 != v4 )
{
v18 = v2 - 2;
v5 = -4i64;
CurrentOutputChar = (unsigned int)NormBuffer__GetCurrentOutputChar((WCHAR **)a1);
LOBYTE(v2) = -2;
if( *(int *)(v7 + 88) <= 0xFFFF )
v5 = -2i64;
v9 = v8 + v5;
if( v18 != v9 )
{
v10 = *(_QWORD *)(v7 + 112);
do
{
v11 = Normalization__PageLookup(v10, CurrentOutputChar);
LOBYTE(v2) = Normalization__TableLookup(v13, v12, v11) & 0x3F;
if( (unsigned __int8)v2 < a2 )
break;
*(_QWORD *)(v15 + 104) = v16;
v19 = v16 - 2;
LODWORD(v2) = NormBuffer__GetCurrentOutputChar(v14);
CurrentOutputChar = (unsigned int)v2;
}
while( v19 != v9 );
}
}
return v2;
}Referenced by:
NormBuffer__AppendAndSortDecomposed