_HRESULT __stdcall StringCbCopyNW(WCHAR *pszDest, UINT64 cbDest, WCHAR *pszSrc, UINT64 cbToCopy){
UINT64 v4;
_HRESULT v5;
UINT64 cchToCopy;
v4 = cbDest >> 1;
v5 = 0;
if( v4 - 1 > 0x7FFFFFFE )
v5 = -2147024809;
if( v5 >= 0 )
{
cchToCopy = cbToCopy >> 1;
if( cchToCopy <= 0x7FFFFFFE )
{
return StringCopyWorkerW_0(pszDest, v4, (size_t *)pszSrc, pszSrc, cchToCopy);
}
else
{
v5 = -2147024809;
*pszDest = 0;
}
}
return v5;
}