VslRetrieveMailbox
INT64 __fastcall VslRetrieveMailbox(
UINT64 TrustletIdentity,
_TRUSTLET_MAILBOX_KEY *MailboxKey,
UINT8 MailboxId,
VOID *Buffer,
UINT64 *Length){
int v6;
INT64 v9;
_TRUSTLET_MAILBOX_KEY v10;
unsigned int v11;
INT64 v12[10];
INT64 result[3];
_TRUSTLET_MAILBOX_KEY v14;
UINT64 v15;
int v16;
UINT64 v17;
v6 = MailboxId;
memset((INT64)result, 0i64);
memset((INT64)v12, 0i64);
if( *(_OWORD *)MailboxKey == 0i64 || *Length - 1 > 0x1F9FFF )
return 3221225485i64;
v9 = VslpLockPagesForTransfer((INT64)v12, (INT64)Buffer, *(unsigned int *)Length, 2i64, 0);
if( (int)v9 >= 0 )
{
v10 = *MailboxKey;
result[1] = v12[0];
result[2] = v12[7];
v14 = v10;
v15 = TrustletIdentity;
v16 = v6;
v11 = VslpEnterIumSecureMode(2u, 20, 0i64, (INT64)result);
VslpUnlockPagesForTransfer((INT64 **)v12);
if( (int)(v11 + 0x80000000) < 0 || v11 == -1073741789 )
*Length = v17;
return v11;
}
return v9;
}Referenced by:
No references.