AuthzBasepCompareUnicodeStringCaseSensitive
NTSTATUS __stdcall AuthzBasepCompareUnicodeStringCaseSensitive(UNICODE_STRING *String1, UNICODE_STRING *String2){
int Length;
int v3;
__int64 v4;
wchar_t *Buffer;
wchar_t *v6;
char *v7;
int v8;
int v9;
Length = String1->Length;
v3 = String2->Length;
v4 = String1->Length;
Buffer = String1->Buffer;
if( (unsigned __int16)Length >= (unsigned __int16)v3 )
v4 = String2->Length;
v6 = (wchar_t *)((char *)Buffer + v4);
if( Buffer >= v6 )
return Length - v3;
v7 = (char *)((char *)String2->Buffer - (char *)Buffer);
while( 1 )
{
v8 = *Buffer;
v9 = *(unsigned __int16 *)((char *)Buffer + (_QWORD)v7);
if( (_WORD)v8 != (_WORD)v9 )
break;
if( ++Buffer >= v6 )
return Length - v3;
}
return v8 - v9;
}Referenced by:
AuthzBasepCompareUnicodeStringOperands