DisplayBootBitmap

VOID __stdcall DisplayBootBitmap(UINT8 DisplayOnScreen){
  INT64 v1; 
  CHAR v2; 
  int v3; 
  __int64 v5; 
  __int64 v6; 
  _QWORD *v7; 
  __int64 v8; 
  __int64 v9; 
  void(__fastcall *v10)(__int64, __int64, __int64, __int64); 
  void(__fastcall *v11)(__int64, _QWORD, __int64); 
  void(__fastcall *v12)(__int64, _QWORD, _QWORD); 
  __int64 v13; 
  __int64 v14; 
  _QWORD *v15; 
  __int64 v16; 
  __int64 v17; 
  void(__fastcall *v18)(__int64, _QWORD, _QWORD); 
  void(__fastcall *v19)(__int64, _QWORD, _QWORD); 
  UINT64 v20; 
  UINT64 v21; 
  void *ThreadHandle; 

  v3 = 0;
  if( *(&stru_140CF2E80 + 7424) )
  {
    InbvAcquireLock();
    RotBarSelection = 0;
    InbvReleaseLock();
  }
  ShowProgressBar = 0;
  if( DisplayOnScreen )
  {
    InbvSetTextColor(0xFui64, v1, v2);
    LODWORD(v20) = 0;
    InbvSolidColorFill(0i64, 0i64, 0x27Fui64, 0x1DFui64, v20);
    LODWORD(v21) = 0;
    InbvSolidColorFill(0i64, 0x1A5ui64, 0x27Fui64, 0x1DFui64, v21);
    InbvGetResourceAddress(6ui64);
    v6 = v5;
    InbvGetResourceAddress(7ui64);
    v7 = qword_140C508A8;
    v3 = 0;
    v9 = v8;
    if( qword_140C508A8 )
    {
      v10 = (void(__fastcall *)(__int64, __int64, __int64, __int64))qword_140C508A8[9];
      if( v10 )
      {
        v10(32i64, 80i64, 631i64, 400i64);
        v7 = qword_140C508A8;
      }
    }
    if( v9 )
    {
      if( v7 )
      {
        v11 = (void(__fastcall *)(__int64, _QWORD, __int64))v7[12];
        if( v11 )
        {
          v11(v9, 0i64, 419i64);
          v7 = qword_140C508A8;
        }
      }
    }
    if( v6 )
    {
      if( v7 )
      {
        v12 = (void(__fastcall *)(__int64, _QWORD, _QWORD))v7[12];
        if( v12 )
          v12(v6, 0i64, 0i64);
      }
    }
LABEL_29:
    if( !*(&stru_140CF2E80 + 7424) )
      return;
    goto LABEL_30;
  }
  if( !InbvIsBootDriverInstalled() )
  {
    InbvReleaseResources();
    return;
  }
  qword_140C508B0 = (__int64(__fastcall *)(_QWORD))DisplayFilter;
  InbvGetResourceAddress(1ui64);
  v14 = v13;
  InbvGetResourceAddress(4ui64);
  v15 = qword_140C508A8;
  v17 = v16;
  if( v14 )
  {
    v3 = 1;
    if( qword_140C508A8 )
    {
      v18 = (void(__fastcall *)(__int64, _QWORD, _QWORD))qword_140C508A8[12];
      if( v18 )
      {
        v18(v14, 0i64, 0i64);
        v15 = qword_140C508A8;
      }
    }
  }
  if( v17 )
  {
    if( v15 )
    {
      v19 = (void(__fastcall *)(__int64, _QWORD, _QWORD))v15[12];
      if( v19 )
        v19(v17, 0i64, 0i64);
    }
  }
  if( !*(&stru_140CF2E80 + 7424) )
  {
    ThreadHandle = 0i64;
    if( PsCreateSystemThread(&ThreadHandle, 0, 0i64, 0, 0i64, InbvRotateGuiBootDisplay, 0i64) >= 0 )
    {
      ZwClose((_HANDLE)ThreadHandle);
      *(&stru_140CF2E80 + 7424) = 1;
    }
    goto LABEL_29;
  }
LABEL_30:
  InbvAcquireLock();
  RotBarSelection = v3;
  if( v3 == 1 )
    RotBarInit();
  InbvReleaseLock();
}

Referenced by:

DisplayFilter