CmpCreateObjectTypes

INT64 __stdcall CmpCreateObjectTypes(){
  __int16 result; 
  char result_2; 
  char result_3; 
  int result_4; 
  int v5; 
  int v6; 
  int v7; 
  int v8; 
  int v9; 
  int v10; 
  int v11; 
  int v12; 
  __int64 v13; 
  __int64 v14; 
  VOID(__stdcall *v15)(_EPROCESS *, PVOID, UINT64, UINT64); 
  VOID(__stdcall *v16)(PVOID); 
  NTSTATUS(__stdcall *v17)(PVOID, PVOID, ACCESS_STATE *, INT8, UINT64, UNICODE_STRING *, UNICODE_STRING *, PVOID, SECURITY_QUALITY_OF_SERVICE *, PVOID *); 
  NTSTATUS(__stdcall *v18)(PVOID, SECURITY_OPERATION_CODE, UINT64 *, PVOID, UINT64 *, PVOID *, POOL_TYPE, GENERIC_MAPPING *, INT8); 
  INT64(__fastcall *v19)(VOID *, UINT8, _OBJECT_NAME_INFORMATION *, UINT64, UINT64 *, CHAR); 
  memset((INT64)&result, 0i64);
  v13 = 0i64;
  v14 = 0i64;
  result_3 |= 1u;
  result = 120;
  v9 = 983103;
  v10 = 983103;
  v5 = 48;
  v6 = 131097;
  result_2 = result_2 & 0xE2 | 0xD;
  v15 = CmpCloseKeyObject;
  v16 = CmpDeleteKeyObject;
  v17 = CmpParseKey;
  v18 = CmpSecurityMethod;
  v19 = CmpQueryKeyName;
  v7 = 131078;
  v8 = 131129;
  v12 = 104;
  v11 = 1;
  result_4 = 256;
  return ObCreateObjectType(
           (const UNICODE_STRING *)&CmpKeyTypeNameString,
           (__int64)&result,
           0i64,
           (__int64)&CmKeyObjectType);
}

Referenced by:

CmInitSystem1