RtlStringCopyWorkerW_2
NTSTATUS __stdcall RtlStringCopyWorkerW_2(
NTSTRSAFE_PWSTR pszDest,
size_t cchDest,
size_t *pcchNewDestLength,
STRSAFE_PCNZWCH pszSrc,
size_t cchToCopy){
NTSTRSAFE_PWSTR v5;
signed __int64 v7;
wchar_t v8;
NTSTRSAFE_PWSTR v9;
NTSTATUS result;
v5 = pszDest;
if( cchDest )
{
v7 = (char *)pszSrc - (char *)pszDest;
do
{
if( !cchToCopy )
break;
v8 = *(NTSTRSAFE_PWSTR)((char *)v5 + v7);
if( !v8 )
break;
*v5 = v8;
--cchToCopy;
++v5;
--cchDest;
}
while( cchDest );
}
v9 = v5 - 1;
result = cchDest == 0 ? 0x80000005 : 0;
if( cchDest )
v9 = v5;
*v9 = 0;
return result;
}Referenced by:
RtlStringCbCopyNW
RtlStringCchCopyNW