SmPerformStoreSwapOperation
INT64 __fastcall SmPerformStoreSwapOperation(INT64 a1, INT64 a2){
bool v2;
_EPROCESS *v3;
if( (_DWORD)a1 == 3 )
{
SC_ENV::Free((PVOID)a2);
return 0i64;
}
else
{
v2 = (_DWORD)a1 == 2;
v3 = (_EPROCESS *)*((_QWORD *)KeGetCurrentThread() + 23);
if( v2 )
return MmInSwapVirtualAddresses(v3, (PVOID)a2);
else
return MmOutSwapVirtualAddresses(v3, *(unsigned __int64 **)(a2 + 8), *(unsigned int *)(a2 + 16), (void ***)a2);
}
}Referenced by:
SMKM_STORE::SmStInSwapStore
SMKM_STORE::SmStOutSwapStore