RtlEqualString
UINT8 __stdcall RtlEqualString(_STRING *String1, _STRING *String2, UINT8 CaseInSensitive){
__int64 Length;
char *Buffer;
char *v5;
char *v6;
signed __int64 v7;
INT8 v9;
INT8 v10;
Length = String1->Length;
if( (_WORD)Length == String2->Length )
{
Buffer = String1->Buffer;
v5 = String2->Buffer;
v6 = &Buffer[Length];
if( Buffer >= &Buffer[Length] )
return 1;
if( CaseInSensitive )
{
while( 1 )
{
v9 = *v5;
if( *Buffer != *v5 )
{
v10 = RtlUpperChar(*Buffer);
if( v10 != RtlUpperChar(v9) )
break;
}
++Buffer;
++v5;
if( Buffer >= v6 )
return 1;
}
}
else
{
v7 = v5 - Buffer;
while( *Buffer == Buffer[v7] )
{
if( ++Buffer >= v6 )
return 1;
}
}
}
return 0;
}Referenced by:
HalMatchAcpiOemId
IopGetBootDiskInformation
IopInitializeBuiltinDriver