RtlIsValidOemCharacter
INT8 __fastcall RtlIsValidOemCharacter(UINT16 *a1){
char IsUtf8Process;
__int64 v3;
UINT16 v4;
__int64 v5;
__int16 v6;
unsigned __int64 v7;
__int64 v8;
__int64 v9;
__int64 v10;
__int64 v11;
IsUtf8Process = RtlpIsUtf8Process(1);
v3 = *a1;
if( IsUtf8Process != 1 )
{
if( (_BYTE)NlsMbOemCodePageTag )
{
v7 = *(unsigned __int16 *)(NlsUnicodeToMbOemData + 2 * v3);
v8 = (unsigned __int8)v7;
v9 = (unsigned __int16)NlsOemLeadByteInfoTable[v7 >> 8];
if( (_WORD)v9 )
{
v10 = NlsMbOemCodePageTables;
v8 += v9;
}
else
{
v10 = NlsOemToUnicodeData;
}
v4 = NLS_UPCASE(*(_WORD *)(v10 + 2 * v8));
v6 = *(_WORD *)(v11 + 2i64 * v4);
}
else
{
v4 = NLS_UPCASE(*(_WORD *)(NlsOemToUnicodeData + 2i64 * *(unsigned __int8 *)(v3 + NlsUnicodeToOemData)));
v6 = *(char *)(v4 + v5);
}
if( v6 != OemDefaultChar )
{
*a1 = v4;
return 1;
}
return 0;
}
if( (unsigned int)v3 > 0x7F )
return 0;
*a1 = NLS_UPCASE(v3);
return 1;
}Referenced by:
GetNextWchar