RtlStringCchCatNW
NTSTATUS __stdcall RtlStringCchCatNW(PWCHAR pszDest, UINT64 cchDest, PWCHAR pszSrc, UINT64 cchToAppend){
NTSTATUS v5;
UINT64 v8;
PWCHAR i;
UINT64 v10;
WCHAR *v11;
UINT64 v12;
UINT64 v13;
char *v14;
WCHAR v15;
WCHAR *v16;
v5 = 0;
if( cchDest - 1 > 0x7FFFFFFE )
v5 = -1073741811;
if( v5 < 0 )
goto LABEL_21;
v8 = cchDest;
for( i = pszDest; v8; --v8 )
{
if( !*i )
break;
++i;
}
v5 = v8 == 0 ? 0xC000000D : 0;
if( v8 )
v10 = cchDest - v8;
else
LABEL_21:
v10 = 0i64;
if( v5 >= 0 )
{
if( cchToAppend > 0x7FFFFFFE )
{
return -1073741811;
}
else
{
v11 = &pszDest[v10];
v12 = cchDest - v10;
if( cchDest != v10 )
{
v13 = cchToAppend;
v14 = (char *)((char *)pszSrc - (char *)v11);
do
{
if( !v13 )
break;
v15 = *(WCHAR *)((char *)v11 + (_QWORD)v14);
if( !v15 )
break;
*v11 = v15;
--v13;
++v11;
--v12;
}
while( v12 );
}
v16 = v11 - 1;
if( v12 )
v16 = v11;
v5 = v12 == 0 ? 0x80000005 : 0;
*v16 = 0;
}
}
return v5;
}Referenced by:
SepRmFetchGlobalSacl