BgpConsoleDrawCursor

INT64 __stdcall BgpConsoleDrawCursor(){
  unsigned int v0; 
  __int64 v1; 
  __int64 v2; 
  unsigned __int16 v3; 
  __int64 v4; 
  unsigned int v5; 
  unsigned int v6; 
  INT64 result; 
  unsigned __int64 v8; 
  int v9; 
  int v10; 
  v0 = *(_DWORD *)(qword_140CDAE98 + 76);
  if( v0 )
  {
    v6 = *(_DWORD *)(qword_140CDAE98 + 16);
    v5 = *(_DWORD *)(qword_140CDAE98 + 12);
    if( v0 >= 0x22 )
    {
      v3 = 9604;
      if( v0 >= 0x43 )
        v3 = 9608;
    }
    else
    {
      v3 = 95;
    }
  }
  else
  {
    v1 = 25i64 * *(unsigned int *)(qword_140CDAE98 + 68);
    v2 = *(unsigned int *)(qword_140CDAE98 + 72);
    v3 = *(_WORD *)(qword_140CDAE98 + 12 * (v2 + v1) + 88);
    v4 = 3 * (v2 + v1);
    v5 = *(_DWORD *)(qword_140CDAE98 + 4 * v4 + 80);
    v6 = *(_DWORD *)(qword_140CDAE98 + 4 * v4 + 84);
  }
  BgpDisplayCharacterEx(
    v3,
    *(_QWORD *)(qword_140CDAE98 + 40),
    *(_DWORD *)(qword_140CDAE98 + 60) + *(_DWORD *)(qword_140CDAE98 + 68) * *(_DWORD *)(qword_140CDAE98 + 48),
    *(_DWORD *)(qword_140CDAE98 + 64) + *(_DWORD *)(qword_140CDAE98 + 72) * *(_DWORD *)(qword_140CDAE98 + 52),
    v6,
    v5,
    &v10,
    &v9,
    v8,
    0i64);
  return result;
}

Referenced by:

BgpConsoleSetCursor