LogFwReport
VOID __stdcall LogFwReport(){
_RECTANGLE *Resolution;
__int64 v1;
INT64 v2;
CHAR v3;
int v4;
int v5;
__int64 v6;
__int64 v7;
__int64 v8;
int v9;
__int64 v10;
_RECTANGLE result;
if( *(&SbiVmbusArrivalEvent + 368) < 0 )
{
*(&SbiVmbusArrivalEvent + 92) &= ~0x80u;
BgpFwQueryPerformanceCounter(&PerformanceFrequency);
Resolution = BgpGetResolution(&result);
v1 = *(_QWORD *)&Resolution->Width;
LODWORD(Resolution) = Resolution->Stride;
*(&WheapErrorSourceTable + 23) = v1;
*(&WheapErrorSourceTable + 48) = (_DWORD)Resolution;
BgpGetBitsPerPixel(v3, v2);
*(&stru_140CF2E80 + 6) = 0i64;
*(&stru_140CF2E80 + 3) = 0i64;
*(&WheapErrorSourceTable + 24) = v4;
*(&WheapErrorSourceTable + 41) = *(&SbiVmbusArrivalEvent + 92);
*(&WheapErrorSourceTable + 56) = 1000000i64 * *(&WheapErrorSourceTable + 14) / PerformanceFrequency.QuadPart;
*(&WheapErrorSourceTable + 52) = 1000000i64 * *(&WheapErrorSourceTable + 29) / PerformanceFrequency.QuadPart;
*(&WheapErrorSourceTable + 23) = 1000000i64 * *(&WheapErrorSourceTable + 30) / PerformanceFrequency.QuadPart;
*(&stru_140CF2E80 + 5) = LogFwpRegisterWorker;
ExQueueWorkItem((PWORK_QUEUE_ITEM)((char *)&stru_140CF2E80 + 24), DelayedWorkQueue);
if( (*(&SbiVmbusArrivalEvent + 92) & 0x10000) != 0 )
{
DbgPrintEx(0x65u, 0, "\n+--BGFX-REPORT-----------------+\n| |\n");
v9 = *(&WheapErrorSourceTable + 24);
v5 = *(&WheapErrorSourceTable + 47);
DbgPrintEx(0x65u, 0, "| DisplayMode: %4ux%4ux%2u |\n", *(&WheapErrorSourceTable + 46), v5, v9);
DbgPrintEx(
0x65u,
0,
"| LogoSize: %8u |\n| |\n",
*(&SbiVmbusArrivalEvent + 114));
DbgPrintEx(
0x65u,
0,
"| ProgressProlog: %8u |\n",
1000000i64 * *(&WheapErrorSourceTable + 22) / PerformanceFrequency.QuadPart);
DbgPrintEx(0x65u, 0, "| ProgressFrames: %8u |\n", *(&WheapErrorSourceTable + 40));
DbgPrintEx(0x65u, 0, "| ProgressMemory: %8u |\n", *(&SbiVmbusArrivalEvent + 100));
DbgPrintEx(0x65u, 0, "| ProgressLow: %8u |\n", 1000000 * qword_140C10FE8 / PerformanceFrequency.QuadPart);
DbgPrintEx(
0x65u,
0,
"| ProgressHigh: %8u |\n",
1000000i64 * *(&WheapErrorSourceTable + 13) / PerformanceFrequency.QuadPart);
LODWORD(v6) = 1000000i64 * *(&WheapErrorSourceTable + 17) / PerformanceFrequency.QuadPart;
DbgPrintEx(
0x65u,
0,
"| ProgressManual: %8u |\n| ProgressTotal: %8u |\n| |\n",
1000000i64 * *(&WheapErrorSourceTable + 21) / PerformanceFrequency.QuadPart,
v6);
DbgPrintEx(
0x65u,
0,
"| FadeProlog: %8u |\n",
1000000i64 * *(&WheapErrorSourceTable + 25) / PerformanceFrequency.QuadPart);
DbgPrintEx(0x65u, 0, "| FadeFrames: %8u |\n", *(&WheapErrorSourceTable + 22));
LODWORD(v10) = *(&WheapErrorSourceTable + 23);
LODWORD(v7) = *(&WheapErrorSourceTable + 52);
DbgPrintEx(
0x65u,
0,
"| FadeMemory: %8u |\n| FadeIo: %8u |\n| FadeCpu: %8u |\n",
*(&SbiVmbusArrivalEvent + 99),
v7,
v10);
DbgPrintEx(0x65u, 0, "| FadeLow: %8u |\n", 1000000 * qword_140C10FF8 / PerformanceFrequency.QuadPart);
DbgPrintEx(
0x65u,
0,
"| FadeHigh: %8u |\n",
1000000i64 * *(&WheapErrorSourceTable + 15) / PerformanceFrequency.QuadPart);
LODWORD(v8) = 1000000i64 * *(&WheapErrorSourceTable + 16) / PerformanceFrequency.QuadPart;
DbgPrintEx(
0x65u,
0,
"| FadeOverlap: %8u |\n| FadeTotal: %8u |\n| |\n",
*(&WheapErrorSourceTable + 56),
v8);
DbgPrintEx(
0x65u,
0,
"| AnimationTotal: %8u |\n| |",
1000000i64 * *(&WheapErrorSourceTable + 19) / PerformanceFrequency.QuadPart);
if( *(&SbiVmbusArrivalEvent + 52) )
DbgPrintEx(
0x65u,
0,
"\n| ResidentSize: %8u |\n| |",
(unsigned int)**(&SbiVmbusArrivalEvent + 52));
DbgPrintEx(
0x65u,
0,
"\n| CompressBitmapsCPU: %8u|\n| |",
1000000i64 * *(&stru_140CF2E80 + 982) / PerformanceFrequency.QuadPart);
DbgPrintEx(0x65u, 0, "\n+------------------------------+\n\n");
}
}
}Referenced by:
BgpFwLibraryDisable
ResFwFreeContext