toupper
NTSTATUS __stdcall toupper(INT64 c){
NTSTATUS result;
UINT64 BytesInUnicodeString;
UINT8 *SourceCharacter;
NTSTATUS v4;
char MultiByteString;
unsigned __int8 v6;
wchar_t UnicodeString;
UINT64 BytesInMultiByteString;
v4 = c;
LODWORD(BytesInMultiByteString) = 0;
SourceCharacter = (UINT8 *)&v4;
UnicodeString = RtlAnsiCharToUnicodeChar(&SourceCharacter);
LODWORD(BytesInUnicodeString) = 2;
if( RtlUpcaseUnicodeToMultiByteN(
&MultiByteString,
2ui64,
(PULONG)&BytesInMultiByteString,
&UnicodeString,
BytesInUnicodeString) < 0 )
return v4;
result = (unsigned __int8)MultiByteString;
if( (_DWORD)BytesInMultiByteString != 1 )
return v6 | ((unsigned __int8)MultiByteString << 8);
return result;
}Referenced by:
AslStringPatternMatchA