RtlPrepareEnclaveCall
INT64 __fastcall RtlPrepareEnclaveCall(INT64 a1, INT64 a2, INT64 a3, INT64 a4, CHAR a5, _QWORD *a6, _QWORD *a7){
__int64 v8;
__int64 v9;
__int64 *v10;
__int64 v11;
__int64 v12;
v8 = PspEnclaveDispatchReturn;
v9 = PspCallEnclaveReturn;
v10 = *(__int64 **)(a1 + 384);
v11 = (__int64)v10;
if( (unsigned __int64)v10 >= 0x7FFFFFFF0000i64 )
v11 = 0x7FFFFFFF0000i64;
*(_QWORD *)v11 = *(_QWORD *)v11;
v12 = *v10;
if( *(_WORD *)(a1 + 368) != 51 || v12 != v9 && v12 != v8 )
return 3221225485i64;
*(_QWORD *)(a1 + 384) = v10 + 1;
*(_QWORD *)(a1 + 360) = v12;
if( a5 )
__writemsr(0x6A7u, __readmsr(0x6A7u) + 8);
*(_QWORD *)(a1 + 80) = a2;
*a6 = *(_QWORD *)(a1 + 360);
*a7 = *(_QWORD *)(a1 + 344);
return 0i64;
}Referenced by:
PsCallEnclave