CmpEtwDumpKcb
void __fastcall CmpEtwDumpKcb(__int64 a1, char a2){
void(__fastcall *v2)(__int64, __int128 *, _QWORD, _QWORD, __int64, _UNICODE_STRING *);
__int64 v5;
_UNICODE_STRING *v6;
_UNICODE_STRING *KeyPath;
_KAPC_STATE ApcState;
__int128 v9[2];
v2 = *(void(__fastcall **)(__int64, __int128 *, _QWORD, _QWORD, __int64, _UNICODE_STRING *))((char *)&NlsMbCodePageTag
+ 7);
memset(v9, 0, sizeof(v9));
memset(&ApcState, 0, sizeof(ApcState));
if( *(BOOLEAN **)((char *)&NlsMbCodePageTag + 7) )
{
CmpAttachToRegistryProcess(&ApcState);
KeyPath = 0i64;
CmpConstructNameWithStatus((_CM_KEY_CONTROL_BLOCK *)a1, &KeyPath);
v6 = KeyPath;
if( KeyPath )
{
LOBYTE(v5) = a2;
v2(v5, v9, 0i64, 0i64, a1, KeyPath);
CmpFreeTransientPoolWithTag(v6, 0x624E4D43ui64);
}
KiUnstackDetachProcess(&ApcState, 0i64);
}
}Referenced by:
CmpCleanUpKcbCacheWithLock
CmpCreateKeyControlBlock
CmpLinkHiveToMaster