PspReleaseEnclaveThread
INT64 __fastcall PspReleaseEnclaveThread(INT64 a1){
INT64 result;
__int64 *v3;
__int64 *v4;
__int64 **v5;
result = a1 + 56;
v3 = *(__int64 **)(a1 + 56);
if( v3 == (__int64 *)result )
{
++*(_DWORD *)(a1 + 72);
}
else
{
v4 = (__int64 *)*v3;
if( *(__int64 **)(*v3 + 8) != v3 || (v5 = (__int64 **)v3[1], *v5 != v3) )
__fastfail(3u);
*v5 = v4;
v4[1] = (__int64)v5;
*v3 = 0i64;
*((_DWORD *)v3 + 10) = 0;
LODWORD(result) = KeSetEvent((PRKEVENT)(v3 + 2), 0);
}
return result;
}Referenced by:
PsCallEnclave