RtlStringCchCatW
NTSTATUS __stdcall RtlStringCchCatW(WCHAR *pszDest, UINT64 cchDest, WCHAR *pszSrc){
NTSTATUS v5;
UINT64 v7;
WCHAR *i;
UINT64 v9;
WCHAR *v10;
UINT64 v11;
__int64 v12;
char *v13;
WCHAR v14;
WCHAR *v15;
v5 = 0;
if( cchDest - 1 > 0x7FFFFFFE )
v5 = -1073741811;
if( v5 < 0 )
goto LABEL_19;
v7 = cchDest;
for( i = pszDest; v7; --v7 )
{
if( !*i )
break;
++i;
}
v5 = v7 == 0 ? 0xC000000D : 0;
if( v7 )
v9 = cchDest - v7;
else
LABEL_19:
v9 = 0i64;
if( v5 >= 0 )
{
v10 = &pszDest[v9];
v11 = cchDest - v9;
if( cchDest != v9 )
{
v12 = 2147483646i64;
v13 = (char *)((char *)pszSrc - (char *)v10);
do
{
if( !v12 )
break;
v14 = *(WCHAR *)((char *)v10 + (_QWORD)v13);
if( !v14 )
break;
*v10 = v14;
--v12;
++v10;
--v11;
}
while( v11 );
}
v15 = v10 - 1;
if( v11 )
v15 = v10;
v5 = v11 == 0 ? 0x80000005 : 0;
*v15 = 0;
}
return v5;
}Referenced by:
AslPathCombine
AslPathToSystemPathBuf
AslpEnvResolveVars
AslpFileQueryVersionString
BapdpProcessVsmKeyBlobs
ExpGetGlobalLocaleSection
SdbpCreateSearchDBContext
SshpQueryRegistryValues