CmpAllocateKeyControlBlock

PSLIST_ENTRY __stdcall CmpAllocateKeyControlBlock(){
  struct _SLIST_ENTRY *v0; 
  _InterlockedIncrement64((volatile signed __int64 *)CmPerfCounters);
  ++dword_140CDB014;
  v0 = RtlpInterlockedPopEntrySList((PSLIST_HEADER)&CmpKcbLookaside);
  if( v0
    || (++dword_140CDB018,
        (v0 = (struct _SLIST_ENTRY *)((__int64(__fastcall *)(_QWORD, _QWORD, _QWORD, void *))qword_140CDB030)(
                                       (unsigned int)dword_140CDB024,
                                       (unsigned int)dword_140CDB02C,
                                       (unsigned int)dword_140CDB028,
                                       &CmpKcbLookaside)) != 0i64) )
  {
    _InterlockedIncrement64(&qword_140D2DFA0);
    memset((INT64)v0, 0i64);
  }
  return v0;
}

Referenced by:

CmpCloneToUnbackedKcb
CmpCreateKeyControlBlock