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