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