HalpPowerStateCallback

VOID __stdcall HalpPowerStateCallback(PVOID CallbackContext, PVOID Argument1, PVOID Argument2){
  _HALP_ALLOC_CONTEXT *v3; 
  ULONG_PTR v4; 
  _HALP_ALLOC_CONTEXT *v5; 
  INT64 v6; 
  INT64 v7; 
  unsigned int v8; 
  if( (_DWORD)Argument1 == 3 )
  {
    if( (_DWORD)Argument2 )
    {
      if( (_DWORD)Argument2 == 1 )
      {
        MiLockPagableImageSection(HalpSleepPageLock, 0i64);
        HalpFreeNvsBuffers(v3);
        HalpMcUpdateUnlock();
        v4 = HalpPerformanceCounter;
        SystemPowerPhase = 0;
        if( *(_DWORD *)(HalpPerformanceCounter + 228) == 5
          && (*(_DWORD *)(HalpPerformanceCounter + 184) & 0x20) == 0
          && (unsigned int)KeQueryActiveProcessorCountEx(0xFFFFu) > 1 )
        {
          v8 = -1;
          if( HalpTscMaximumComputedSpread < 0xFFFFFFFF )
            v8 = HalpTscMaximumComputedSpread;
          KeBugCheckEx(0x5Cu, 0x110ui64, v4, 0x2Aui64, v8);
        }
      }
    }
    else
    {
      SystemPowerPhase = 1;
      ((void(__fastcall *)(_QWORD))off_140C00948[0])(0i64);
      MmLockPagableSectionByHandle(HalpSleepPageLock);
      HalpMapNvsArea(v5);
      HalpMcUpdateLock(v7, v6);
    }
  }
}

Referenced by:

No references.