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