PspPrepareEnclaveThreadWait
INT64 __fastcall PspPrepareEnclaveThreadWait(INT64 a1, _QWORD *a2){
INT64 result;
char *PoolWithQuotaTag;
_QWORD *v6;
_QWORD *v7;
if( !*(_DWORD *)(a1 + 40) )
return 3221226770i64;
PoolWithQuotaTag = (char *)ExAllocatePoolWithQuotaTag((POOL_TYPE)9, 0x30ui64, 0x57457350ui64);
v6 = PoolWithQuotaTag;
if( !PoolWithQuotaTag )
return 3221225626i64;
KeInitializeEvent((_KEVENT *)(PoolWithQuotaTag + 16), SynchronizationEvent, 0);
v7 = *(_QWORD **)(a1 + 64);
if( *v7 != a1 + 56 )
__fastfail(3u);
*v6 = a1 + 56;
v6[1] = v7;
*v7 = v6;
*(_QWORD *)(a1 + 64) = v6;
result = 0i64;
*a2 = v6;
return result;
}Referenced by:
PsCallEnclave