BgpConsoleDisplayCharacter
NTSTATUS __stdcall BgpConsoleDisplayCharacter(
WCHAR Character,
UINT64 Column,
UINT64 Row,
UINT64 Foreground,
UINT64 Background){
unsigned int v5;
__int64 v6;
__int64 v7;
__int64 v9;
NTSTATUS v10;
__int64 v11;
__int64 v12;
int v13;
unsigned __int64 v15;
int v16;
int v17[3];
v5 = Foreground;
v6 = (unsigned int)Row;
v7 = (unsigned int)Column;
BgpFwAcquireLock(Character);
v9 = qword_140CDAE98;
if( qword_140CDAE98 )
{
if( (*(_DWORD *)(qword_140CDAE98 + 8) & 0x10000) != 0 )
{
AnFwFadeCompletion();
v9 = qword_140CDAE98;
*(_DWORD *)(qword_140CDAE98 + 8) &= ~0x10000u;
}
v11 = v6 + 25 * v7;
v12 = 3 * v11;
if( *(_WORD *)(v9 + 12 * v11 + 88) == Character && *(_QWORD *)(v9 + 12 * v11 + 80) == __PAIR64__(Background, v5) )
{
v10 = 0;
}
else
{
BgpDisplayCharacterEx(
Character,
*(_QWORD *)(v9 + 40),
*(_DWORD *)(v9 + 60) + *(_DWORD *)(v9 + 48) * v7,
*(_DWORD *)(v9 + 64) + v6 * *(_DWORD *)(v9 + 52),
Background,
v5,
v17,
&v16,
v15,
0i64);
v10 = v13;
if( v13 >= 0 )
{
*(_WORD *)(v9 + 4 * v12 + 88) = Character;
*(_DWORD *)(v9 + 4 * v12 + 80) = v5;
*(_DWORD *)(v9 + 4 * v12 + 84) = Background;
}
}
}
else
{
v10 = -1073741823;
}
BgpFwReleaseLock();
return v10;
}Referenced by:
No references.