CmFcpManagerSoftwareHiveReady

void __fastcall CmFcpManagerSoftwareHiveReady(__int64 a1){
  _ETHREAD *CurrentThread; 
  _EX_PUSH_LOCK *v3; 
  char v4; 

  *(_BYTE *)(a1 + 336) = 1;
  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  --CurrentThread->Tcb.KernelApcDisable;
  v3 = (_EX_PUSH_LOCK *)(a1 + 328);
  ExAcquirePushLockExclusiveEx((_EX_PUSH_LOCK *)(a1 + 328), 0i64);
  CmFcpManagerDrainUsageNotifications((_EX_PUSH_LOCK *)a1, 0);
  CmFcpManagerDrainUsageNotifications((_EX_PUSH_LOCK *)a1, 0);
  v4 = _InterlockedExchangeAdd64(&v3->_bf_0, 0xFFFFFFFFFFFFFFFFui64);
  if( (v4 & 2) != 0 && (v4 & 4) == 0 )
    ExfTryToWakePushLock(v3);
  KeAbPostRelease(v3);
  KeLeaveCriticalRegionThread(KeGetCurrentThread());
}

Referenced by:

No references.