BgpGxDrawRectangle

NTSTATUS __stdcall BgpGxDrawRectangle(
        _CM_KEY_CONTROL_BLOCK *VirtualKCB,
        _CM_KEY_CONTROL_BLOCK *OrigKCB,
        UINT64 Index,
        _CM_TRANS *CmTrans,
        _HHIVE **Hive,
        UINT64 *Cell,
        _CM_KEY_CONTROL_BLOCK **ChildKcb,
        UINT64 *SubKeyCount){
  __int64 v10; 
  PVOID v11; 
  PVOID v12; 
  unsigned int BitsPerPixel; 
  INT64 *v14; 
  NTSTATUS v15; 
  NTSTATUS v16; 
  CHAR v17; 
  INT64 v18[2]; 
  INT64 result[10]; 
  memset((INT64)result, 0i64);
  v10 = 0i64;
  v18[0] = 0i64;
  BitsPerPixel = BgpGetBitsPerPixel(v12, v11);
  v14 = 0i64;
  if( *((_DWORD *)VirtualKCB + 2) != BitsPerPixel )
  {
    if( (dword_140C13310 & 0xC00) != 0 )
    {
      v17 = 1;
      v18[0] = (INT64)result;
    }
    else
    {
      v17 = 0;
    }
    v16 = BgpGxConvertRectangleEx((INT64)VirtualKCB, BitsPerPixel, v18, v17);
    if( v16 < 0 )
      return v16;
    v10 = v18[0];
    VirtualKCB = (_CM_KEY_CONTROL_BLOCK *)v18[0];
    v14 = (INT64 *)v18[0];
  }
  v15 = GxpWriteFrameBufferPixels((unsigned __int64)VirtualKCB, (unsigned __int64)OrigKCB);
  if( v14 )
  {
    if( v14 != result )
      BgpGxRectangleDestroy(v10);
  }
  return v15;
}

Referenced by:

AnFwpFadeAnimationTimer
BgpClearScreen
BgpFwDisplayBugCheckScreen
BgpTxtDisplayCharacter
BgpTxtDisplayString