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.