RtlStringCopyWorkerW

NTSTATUS __stdcall RtlStringCopyWorkerW(
        _NTSTRSAFE_PWSTR pszDest,
        size_t cchDest,
        size_t *pcchNewDestLength,
        STRSAFE_PCNZWCH pszSrc,
        size_t cchToCopy){
  _WORD *v5; 
  __int64 v6; 
  __int64 v7; 
  char *v8; 
  __int16 v9; 
  _WORD *v10; 
  NTSTATUS result; 
  __int64 v12; 

  v5 = *(_WORD **)&pszDest;
  v6 = 0i64;
  if( *(_QWORD *)&cchDest )
  {
    v7 = 2147483646i64;
    v8 = (char *)pszSrc - *(_QWORD *)&pszDest;
    do
    {
      if( !v7 )
        break;
      v9 = *(_WORD *)((char *)v5 + (_QWORD)v8);
      if( !v9 )
        break;
      *v5 = v9;
      --v7;
      ++v5;
      ++v6;
      --*(_QWORD *)&cchDest;
    }
    while( *(_QWORD *)&cchDest );
  }
  v10 = v5 - 1;
  result = *(_QWORD *)&cchDest == 0i64 ? 0x80000005 : 0;
  if( *(_QWORD *)&cchDest )
    v10 = v5;
  *v10 = 0;
  if( pcchNewDestLength )
  {
    v12 = v6 - 1;
    if( *(_QWORD *)&cchDest )
      v12 = v6;
    *(_QWORD *)pcchNewDestLength = v12;
  }
  return result;
}

Referenced by:

RtlStringCbCopyExW
RtlStringCchCatExW
RtlStringCchCopyExW