ExpCreateCrossVmMutant

__int64 __fastcall ExpCreateCrossVmMutant(
        _QWORD *a1,
        unsigned int a2,
        __int64 a3,
        unsigned int a4,
        __int64 a5,
        __int64 a6,
        char a7){
  _EX_HOST *v8; 
  VOID *ExtensionTable; 
  int v13; 
  __int64 v15; 

  v15 = 0i64;
  v8 = (_EX_HOST *)*(&WheapDeferredInternalLogsEventLock + 54);
  if( !a6 )
    v8 = (_EX_HOST *)*(&WheapDeferredInternalLogsEventLock + 53);
  ExtensionTable = ExGetExtensionTable(v8);
  if( ExtensionTable )
  {
    v13 = (*((__int64(__fastcall **)(__int64 *, _QWORD, __int64, _QWORD, __int64, __int64, char))ExtensionTable + 9))(
            &v15,
            a2,
            a3,
            a4,
            a5,
            a6,
            a7);
    if( v13 >= 0 )
      *a1 = v15;
    ExReleaseExtensionTable((_EX_RUNDOWN_REF *)v8);
  }
  else
  {
    return(unsigned int)-1073741822;
  }
  return(unsigned int)v13;
}

Referenced by:

NtCreateCrossVmMutant