BcpSanitizeDriverName
VOID __stdcall BcpSanitizeDriverName(UNICODE_STRING *DriverName, UNICODE_STRING *SanitizedDriverName){
unsigned __int64 Length;
unsigned __int64 v4;
wchar_t *Buffer;
wchar_t *v6;
unsigned __int64 v7;
int v8;
__int64 v9;
__int64 v10;
unsigned __int16 v11;
unsigned __int64 v12;
unsigned __int64 v13;
Length = DriverName->Length;
v4 = SanitizedDriverName->MaximumLength - 2i64;
Buffer = DriverName->Buffer;
v6 = SanitizedDriverName->Buffer;
if( Length >= v4 )
v7 = v4 >> 1;
else
LODWORD(v7) = (unsigned int)Length >> 1;
v8 = 0;
if( (_DWORD)v7 )
{
v9 = 0i64;
v10 = (unsigned int)v7;
v8 = v7;
do
{
v11 = Buffer[v9];
v12 = v11;
if( (unsigned __int16)(v11 - 32) > 0x3Fu
|| (v13 = 0x87FFFFFE03FF4001ui64, LOWORD(v12) = v11 - 32, !_bittest64((const __int64 *)&v13, v12)) )
{
if( (unsigned __int16)(v11 - 97) > 0x19u )
v11 = 32;
}
v6[v9++] = v11;
--v10;
}
while( v10 );
}
SanitizedDriverName->Length = 2 * v8;
v6[v8] = 0;
}Referenced by:
BcpDisplayErrorInformation