IopAcquireReleaseConnectLockInternal

VOID __stdcall IopAcquireReleaseConnectLockInternal(
        _ACTIVE_CONNECT_BLOCK *ConnectBlock,
        UINT8 AcquireLock,
        UINT64 Flags){
  _KEVENT *v3; 
  _ETHREAD *CurrentThread; 

  if( (Flags & 1) != 0 )
  {
    v3 = (_KEVENT *)(ConnectBlock + 10);
  }
  else if( (Flags & 2) != 0 )
  {
    v3 = (_KEVENT *)&stru_140C452E0;
  }
  else
  {
    v3 = (_KEVENT *)*((_QWORD *)ConnectBlock + 3);
  }
  if( AcquireLock )
  {
    CurrentThread = (_ETHREAD *)KeGetCurrentThread();
    --CurrentThread->Tcb.KernelApcDisable;
    KeWaitForSingleObject((UINT64)v3, 0, 0, 0, 0i64);
  }
  else
  {
    KeSetEvent(v3, 0, 0);
    KeLeaveCriticalRegionThread(KeGetCurrentThread());
  }
}

Referenced by:

IopAcquireActiveConnectLock
IopDestroyActiveConnectBlock
IopInitializeActiveConnectBlock
IopReleaseActiveConnectLock