Normalization__GetSecondAndThirdDecomposedCharPlane0
VOID __stdcall Normalization__GetSecondAndThirdDecomposedCharPlane0(
_RTL_NORMALIZATION *pNormalization,
INT64 cDecompose,
INT64 *pcSecond,
INT64 *pcThird){
int v4;
int v5;
__int64 v6;
unsigned __int16 v9;
__int64 v10;
unsigned __int16 i;
unsigned __int16 v12;
unsigned int v13;
__int64 v14;
unsigned __int16 v15;
v4 = cDecompose;
v5 = (int)cDecompose % pNormalization[14];
v6 = *((_QWORD *)pNormalization + 8);
*(_DWORD *)pcThird = 0;
*(_DWORD *)pcSecond = 0;
v9 = *(_WORD *)(v6 + 2i64 * v5);
if( (v9 & 0xE000) == 0 )
{
v10 = *((_QWORD *)pNormalization + 9);
for( i = 2 * v9; ; i += 2 )
{
v12 = *(_WORD *)(v10 + 2i64 * i);
if( !v12 || v12 == v4 )
break;
}
v9 = *(_WORD *)(v10 + 2i64 * i + 2);
}
v13 = v9 >> 13;
if( v13 > 1 )
{
v14 = *((_QWORD *)pNormalization + 10);
v15 = (v9 & 0x1FFF) + 1;
*(_DWORD *)pcSecond = *(unsigned __int16 *)(v14 + 2i64 * v15);
if( v13 != 2 )
*(_DWORD *)pcThird = *(unsigned __int16 *)(v14 + 2i64 * (unsigned __int16)(v15 + 1));
}
}Referenced by:
NormBuffer__ReplaceLastStartBase