StringCopyWorkerW_0
HRESULT __stdcall StringCopyWorkerW_0(
STRSAFE_LPWSTR pszDest,
size_t cchDest,
size_t *pcchNewDestLength,
STRSAFE_PCNZWCH pszSrc,
size_t cchToCopy){
STRSAFE_LPWSTR v5;
__int64 v6;
signed __int64 v7;
wchar_t v8;
STRSAFE_LPWSTR v9;
HRESULT result;
v5 = pszDest;
if( *(_QWORD *)&cchDest )
{
v6 = *(_QWORD *)&cchToCopy;
v7 = (char *)pszSrc - (char *)pszDest;
do
{
if( !v6 )
break;
v8 = *(STRSAFE_LPWSTR)((char *)v5 + v7);
if( !v8 )
break;
*v5 = v8;
--v6;
++v5;
--*(_QWORD *)&cchDest;
}
while( *(_QWORD *)&cchDest );
}
v9 = v5 - 1;
result = *(_QWORD *)&cchDest == 0i64 ? 0x8007007A : 0;
if( *(_QWORD *)&cchDest )
v9 = v5;
*v9 = 0;
return result;
}Referenced by:
StringCbCatW
StringCbCopyNW