CmpSnapshotKcbStackSecurity

__int64 __fastcall CmpSnapshotKcbStackSecurity(__int64 a1, __int64 a2, INT64 a3, _QWORD *a4){
  unsigned int v5; 
  LIST_ENTRY *SecurityCacheEntryForKcbStack; 
  _CHILD_LIST *v7; 
  UINT8 *v8; 
  unsigned int v9; 
  UINT8 *v10; 
  v5 = a3;
  SecurityCacheEntryForKcbStack = CmpGetSecurityCacheEntryForKcbStack(a1, a2, a3);
  CmpAllocateTransientPoolWithTag((_HHIVE *)1, LODWORD(SecurityCacheEntryForKcbStack[1].Blink), v5, v7);
  v9 = 0;
  v10 = v8;
  if( v8 )
  {
    memmove(v8, (UINT8 *)&SecurityCacheEntryForKcbStack[2], LODWORD(SecurityCacheEntryForKcbStack[1].Blink));
    *a4 = v10;
  }
  else
  {
    return(unsigned int)-1073741670;
  }
  return v9;
}

Referenced by:

CmDeleteValueKey
CmSetValueKey