VfNotifyOfHibernate

VOID __stdcall VfNotifyOfHibernate(UINT8 Entering){
  _LIST_ENTRY *Flink; 
  _LIST_ENTRY *v2; 
  int IsVerifierExtensionEnabled; 
  __int64 v4; 
  char v5; 
  int v6; 
  if( Entering )
  {
    if( ViVerifyDma )
    {
      ViEnableAfterHibernate = 1;
      VfDisableHalVerifier();
    }
  }
  else
  {
    if( !ViEnableAfterHibernate )
      return;
    Flink = ViAdapterList.Flink;
    ViVerifyDma = 1;
    ViEnableAfterHibernate = 0;
    while( &ViAdapterList != Flink )
    {
      v2 = Flink[1].Flink;
      if( v2 )
        v2->Blink = (_LIST_ENTRY *)&ViDmaOperations;
      Flink = Flink->Flink;
    }
  }
  IsVerifierExtensionEnabled = VfIsVerifierExtensionEnabled();
  if( IsVerifierExtensionEnabled == v6 )
  {
    if( ViFnExtensionHiberFunc )
    {
      LOBYTE(v4) = v5;
      ((void(__fastcall *)(__int64))ViFnExtensionHiberFunc)(v4);
    }
  }
}

Referenced by:

PopInvokeSystemStateHandler