PnpGetMultiSzLength
__int64 __fastcall PnpGetMultiSzLength(__int64 a1, __int64 a2, _QWORD *a3){
__int64 v4;
NTSTATUS v6;
UINT64 *v7;
UINT64 v8;
unsigned __int64 v9;
UINT64 v10;
UINT64 v11;
UINT64 pcchLength;
pcchLength = 0i64;
*a3 = 0i64;
v4 = 0i64;
do
{
v6 = RtlStringCchLengthW((WCHAR *)(a1 + 2 * v4), a2 - v4, &pcchLength);
if( v6 < 0 )
break;
v8 = *v7;
v9 = -1i64;
v10 = pcchLength;
v11 = *v7 + pcchLength;
if( v11 >= *v7 )
v9 = *v7 + pcchLength;
v6 = v11 < *v7 ? 0xC0000095 : 0;
*v7 = v9;
if( v11 < v8 )
break;
v4 = -1i64;
if( v9 + 1 >= v9 )
v4 = v9 + 1;
v6 = v9 + 1 < v9 ? 0xC0000095 : 0;
*v7 = v4;
if( v9 + 1 < v9 )
break;
}
while( v10 );
return(unsigned int)v6;
}Referenced by:
PiSwStartCreate
PnpAllocateMultiSZ
PnpCompareMultiSz