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