CmpInitializeMachineHiveLoadedCallbacks

CHAR *__stdcall CmpInitializeMachineHiveLoadedCallbacks(){
  __int64 *v0; 
  __int64 v1; 
  CHAR *result; 
  KeInitializeEvent(&CmpMachineHiveCallbackEvent, NotificationEvent, 0);
  v0 = qword_140C00F98;
  v1 = 7i64;
  do
  {
    *(v0 - 2) = 0i64;
    *(v0 - 1) = 0i64;
    v0[1] = (__int64)v0;
    *v0 = (__int64)v0;
    KeInitializeEvent((_KEVENT *)(v0 - 5), NotificationEvent, 0);
    result = (CHAR *)ExAllocatePoolWithTag(NonPagedPoolNx, 0x20ui64, 0x32394D43ui64);
    v0[2] = (__int64)result;
    *(_QWORD *)result = 0i64;
    *((_QWORD *)result + 2) = CmpMachineHiveLoadedWorkItem;
    *((_QWORD *)result + 3) = v0 - 19;
    *((_DWORD *)v0 + 6) = 0;
    v0 += 25;
    --v1;
  }
  while( v1 );
  return result;
}

Referenced by:

CmInitSystem1