sub_1403B8E0C

__int64 __fastcall sub_1403B8E0C(__int64 a1, const void *a2, _DWORD *a3, VOID *a4, size_t a5, _DWORD *a6){
  _EX_PUSH_LOCK *v10; 
  _DWORD *v11; 
  unsigned int v13; 
  _ETHREAD *CurrentThread; 

  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  --CurrentThread->Tcb.KernelApcDisable;
  v10 = (_EX_PUSH_LOCK *)(a1 + 46840);
  ExAcquirePushLockSharedEx((_EX_PUSH_LOCK *)(a1 + 46840), 0i64);
  if( *(_BYTE *)(a1 + 46828) == 1 && !*(_DWORD *)(a1 + 46824) )
    goto LABEL_7;
  v11 = *(_DWORD **)a1;
  if( *(_QWORD *)a1 || (v11 = *(_DWORD **)(a1 + 46832)) != 0i64 )
  {
    if( *v11 != 24 )
    {
      if( *v11 >= 0x18u )
      {
        v13 = sub_1407A1CEC(a1, a2, a3, a4, a5, a6);
        goto LABEL_10;
      }
      goto LABEL_9;
    }
LABEL_7:
    v13 = -1073741772;
    goto LABEL_10;
  }
LABEL_9:
  v13 = -1073741762;
LABEL_10:
  if( _InterlockedCompareExchange64(&v10->_bf_0, 0i64, 17i64) != 17 )
    ExfReleasePushLockShared(v10);
  KeAbPostRelease(v10);
  KeLeaveCriticalRegionThread(KeGetCurrentThread());
  return v13;
}

Referenced by:

ExpConsumeAddonPolicySetCacheProvider
SLGetSubscriptionPfn
SLQueryLicenseValueInternal