int vmcall(void *vmcallinfo, unsigned int level1pass)
{
__asm
{
push edx
mov eax,[esp+8] //not +4 because of that push, retard
mov edx,[esp+12]
__emit 0x0f
__emit 0x01
__emit 0xc1 //vmcall, eax will be edited, or a UD exception will be raised
pop edx
ret 8
}
}
unsigned int vmx_getRealCR0()
{
struct
{
unsigned int structsize;
unsigned int level2pass;
unsigned int command;
} vmcallinfo;