NormBuffer__AppendAndSortDecomposed

NTSTATUS __fastcall NormBuffer__AppendAndSortDecomposed(_RTL_NORM_BUFFER *pNormBuffer, INT64 cAppend){
  _RTL_NORMALIZATION *v3; 
  unsigned int v4; 
  WCHAR *v5; 
  UINT8 bTestClass; 
  UINT8 bFlags; 

  bTestClass = 0;
  v3 = (_RTL_NORMALIZATION *)*((_QWORD *)pNormBuffer + 14);
  bFlags = 0;
  v4 = cAppend;
  Normalization__GetCharacterInfo(v3, cAppend, &bTestClass, &bFlags);
  NormBuffer__SortBeforeSameClass(pNormBuffer, bTestClass);
  v5 = (WCHAR *)*((_QWORD *)pNormBuffer + 13);
  if( v5 == *((WCHAR **)pNormBuffer + 5) )
    return NormBuffer__AppendEx(pNormBuffer, v4, bTestClass, bFlags);
  else
    return NormBuffer__Insert(pNormBuffer, v4, v5);
}

Referenced by:

NormBuffer__ReplaceLastStartBase
NormBuffer__ReplaceLastStartBasePair