AslStringPatternMatchW
NTSTATUS __stdcall AslStringPatternMatchW(PWCHAR Pattern, PWCHAR TestString){
WCHAR v2;
PWCHAR v4;
NTSTATUS v5;
UINT16 v6;
UINT16 v7;
__int16 v8;
UINT16 v10;
WCHAR *v11;
__int16 v12;
v2 = *Pattern;
v4 = Pattern;
v5 = 0;
while( v2 || *TestString )
{
if( v2 != 42 )
{
if( v2 != 63 )
{
NLS_UPCASE(*TestString);
v7 = NLS_UPCASE(v6);
if( v7 != v8 )
return v5;
}
++v4;
goto LABEL_7;
}
v2 = v4[1];
if( v2 == 42 )
{
++v4;
}
else
{
if( !v2 )
return 1;
NLS_UPCASE(v2);
v10 = NLS_UPCASE(*TestString);
if( v12 == v10 )
{
if( AslStringPatternMatchW(v11, TestString) )
return 1;
}
LABEL_7:
if( !*TestString )
return v5;
v2 = *v4;
++TestString;
}
}
return 1;
}Referenced by:
AslStringPatternMatchW
AslpProcessMatchRegNode
KseLookupHardwareId
SdbpCheckAttribute
SdbpCheckMatchingRegistryValue
SdbpCheckPackageAttributes
SdbpFindFirstIndexedWildCardTag
SdbpFindNextIndexedWildCardTag