RtlpNormalizeStringWorker
NTSTATUS __stdcall RtlpNormalizeStringWorker(
_RTL_NORMALIZATION *pNormalization,
WCHAR *lpSrcString,
INT64 cwSrcLength,
WCHAR *lpDstString,
INT64 *pcwDstLength){
int v5;
__int64 v6;
__int64 v7;
NTSTATUS v9;
UINT64 cchOut;
v5 = cwSrcLength;
v6 = -1i64;
v7 = *(int *)pcwDstLength;
*(_DWORD *)pcwDstLength = 0;
if( v5 == -1 )
{
do
++v6;
while( lpSrcString[v6] );
v5 = v6 + 1;
}
if( (int)v7 > 0 && lpDstString )
{
if( lpDstString < &lpSrcString[v5] && &lpDstString[v7] > lpSrcString )
return -1073741811;
LODWORD(cchOut) = v7;
return Normalization__Normalize(pNormalization, lpSrcString, (unsigned int)v5, lpDstString, cchOut, pcwDstLength);
}
else if( lpSrcString && v5 >= 0 )
{
*(_DWORD *)pcwDstLength = Normalization__GuessCharCountBySize(pNormalization, (unsigned int)v5);
}
else
{
return -1073741811;
}
return v9;
}Referenced by:
RtlNormalizeString