CmpAllocateKeyControlBlock

PSLIST_ENTRY __stdcall CmpAllocateKeyControlBlock(){
  PSLIST_ENTRY v0; 

  _InterlockedIncrement64(&CmPerfCounters);
  ++*(&WheapErrorSourceTable + 111);
  v0 = RtlpInterlockedPopEntrySList((PSLIST_HEADER)((char *)&WheapErrorSourceTable + 424));
  if( v0
    || (++*(&WheapErrorSourceTable + 112),
        (v0 = (PSLIST_ENTRY)(*(&WheapErrorSourceTable + 59))(
                              *(&WheapErrorSourceTable + 115),
                              *(&WheapErrorSourceTable + 117),
                              *(&WheapErrorSourceTable + 116),
                              (char *)&WheapErrorSourceTable + 424)) != 0i64) )
  {
    _InterlockedIncrement64(qword_140D2DFA0);
    memset(v0, 0i64, 0x138u);
  }
  return v0;
}

Referenced by:

CmpCloneToUnbackedKcb
CmpCreateKeyControlBlock