SmSanitizeString
VOID __stdcall SmSanitizeString(WCHAR *String, UINT64 Size){
WCHAR *v2;
unsigned __int64 v3;
WCHAR *v4;
unsigned __int64 v5;
unsigned int v6;
__int16 v7;
v2 = String;
v3 = 0i64;
v4 = &String[((unsigned __int64)(unsigned int)Size >> 1) - 1];
v5 = (unsigned __int64)((char *)v4 - (char *)String + 1) >> 1;
if( String > v4 )
v5 = 0i64;
if( v5 )
{
while( 1 )
{
v6 = *v2;
if( (_WORD)v6 )
break;
LOWORD(v6) = 126;
LABEL_13:
*v2 = v6;
++v3;
++v2;
if( v3 >= v5 )
goto LABEL_14;
}
if( (unsigned __int16)v6 > 0xFFu )
{
v7 = *v2 % 0x57u;
}
else
{
if( isprint(*v2) )
goto LABEL_11;
v7 = v6 % 0x57;
}
LOWORD(v6) = v7 + 36;
LABEL_11:
if( (_WORD)v6 == 92 )
LOWORD(v6) = 95;
goto LABEL_13;
}
LABEL_14:
*v2 = 0;
}Referenced by:
SmKmVolumeQueryUniqueId