HalpPowerStateCallback

VOID __stdcall HalpPowerStateCallback(VOID *CallbackContext, VOID *Argument1, VOID *Argument2){
  PINTERRUPT_INITIALIZE_IO_UNIT *v3; 
  void *v4; 
  PINTERRUPT_INITIALIZE_IO_UNIT *v5; 
  INT64 v6; 
  INT64 v7; 
  unsigned int v8; 

  if( (_DWORD)Argument1 == 3 )
  {
    if( (_DWORD)Argument2 )
    {
      if( (_DWORD)Argument2 == 1 )
      {
        MiLockPagableImageSection(qword_140C4A100, 0);
        HalpFreeNvsBuffers(v3);
        HalpMcUpdateUnlock();
        v4 = (void *)HalpPerformanceCounter;
        dword_140C49D0C = 0;
        if( *(_DWORD *)(HalpPerformanceCounter + 228) == 5
          && (*(_DWORD *)(HalpPerformanceCounter + 184) & 0x20) == 0
          && (unsigned int)KeQueryActiveProcessorCountEx(0xFFFFu) > 1 )
        {
          v8 = -1;
          if( (unsigned __int64)qword_140C4A408 < 0xFFFFFFFF )
            v8 = (unsigned int)qword_140C4A408;
          KeBugCheckEx(0x5Cu, (PVOID)0x110, v4, (PVOID)0x2A, (PVOID)v8);
        }
      }
    }
    else
    {
      dword_140C49D0C = 1;
      ((void(__fastcall *)(_QWORD))off_140C00948[0])(0i64);
      MmLockPagableSectionByHandle(qword_140C4A100);
      HalpMapNvsArea(v5);
      HalpMcUpdateLock(v7, v6);
    }
  }
}

Referenced by:

No references.