Function at 0x180038040
Capabilities:
Inspect section memory permissions

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x80
mov rdi, rdx
mov rbp, r9
mov r14, r8
lea rdx, str.NestedVmxPreemptTimer
mov rbx, rcx
lea r8, [rsp + 0x42]
mov rcx, rdi
xor r9d, r9d
call sym.VBoxVMM.dll_CFGMR3QueryBoolDef
mov esi, eax
test eax, eax
js 0x180038617
mov r9b, 1
lea r8, [rsp + 0x40]
lea rdx, str.NestedVmxEpt
mov rcx, rdi
call sym.VBoxVMM.dll_CFGMR3QueryBoolDef
mov esi, eax
test eax, eax
js 0x1800385e5
movzx r9d, byte [rsp + 0x40]
lea r8, [rsp + 0x41]
lea rdx, str.NestedVmxUnrestrictedGuest
mov rcx, rdi
call sym.VBoxVMM.dll_CFGMR3QueryBoolDef
mov edi, eax
test eax, eax
js 0x180038573
cmp byte [rsp + 0x40], 0
je 0x18003814e
movzx eax, byte [rbx + 0x50]
cmp al, 2
je 0x1800380eb
cmp al, 1
je 0x180038100
lea rdi, str.execution_engine_is_neither_HM_nor_IEM
jmp 0x180038119
mov rcx, rbx
call fcn.1800f7800
test al, al
jne 0x180038100
lea rdi, str.nested_paging_is_not_enabled_for_the_VM_or_it_is_not_supported_by_the_host
jmp 0x180038119
cmp byte [rbx + 0x50], 2
jne 0x180038183
test dword [rbx + 0xd0], 0x400000
jne 0x180038183
lea rdi, str.NX_is_not_available_on_the_host
mov ecx, 0x260010
call qword [sym.imp.VBoxRT.dll_RTLogRelGetDefaultInstanceEx]
test rax, rax
je 0x180038147
mov edx, 0x10
mov qword [rsp + 0x20], rdi
lea r9, str.CPUM:_Warning__EPT_not_exposed_to_the_guest_because__s_n
mov rcx, rax
lea r8d, [rdx + 0x16]
call qword [sym.imp.VBoxRT.dll_RTLogLoggerEx]
mov byte [rsp + 0x40], 0
jmp 0x180038183
cmp byte [rsp + 0x41], 0
je 0x180038183
mov ecx, 0x260010
call qword [sym.imp.VBoxRT.dll_RTLogRelGetDefaultInstanceEx]
test rax, rax
je 0x18003817e
mov edx, 0x10
lea r9, str.CPUM:_Warning__Cant_expose__Unrestricted_Guest__to_the_guest_when_EPT_is_not_exposed__n
mov rcx, rax
lea r8d, [rdx + 0x16]
call qword [sym.imp.VBoxRT.dll_RTLogLoggerEx]
mov byte [rsp + 0x41], 0
movzx r8d, byte [rsp + 0x42]
xor eax, eax
movzx r9d, byte [rsp + 0x41]
and r8d, 1
mov qword [rsp + 0x70], rax
and r9d, 1
mov qword [rsp + 0x48], rax
xorps xmm0, xmm0
mov qword [rsp + 0x50], rax
shl r9d, 6
movdqu xmmword [rsp + 0x5c], xmm0
shl r8d, 0xc
psrldq xmm0, 0xc
movd eax, xmm0
mov dword [rsp + 0x58], 0x80000000
movzx ecx, al
or r8d, ecx
mov eax, r8d
or eax, 0x7f7fcf00
mov dword [rsp + 0x68], eax
movzx eax, byte [rsp + 0x40]
and eax, 1
or r9d, eax
shl r9d, 5
mov eax, r9d
or eax, 0x800146df
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x70]
and eax, 0xffff93bf
or eax, 0x93bf
mov dword [rsp + 0x70], eax
movzx eax, byte [rbx + 0x50]
sub al, 2
cmp al, 1
ja 0x18003822a
lea r10, [rbx + 0xe0]
lea r11, [rbx + 0xe4]
lea rsi, [rbx + 0xe8]
jmp 0x180038239
lea r10, [rsp + 0x68]
lea r11, [rsp + 0x6c]
lea rsi, [rsp + 0x70]
lea rdi, [rbx + 0xf0]
mov eax, dword [rdi + 0x20]
xor eax, dword [r10]
and eax, 0x100
xor dword [rdi + 0x20], eax
mov ecx, dword [rdi + 0x20]
xor ecx, dword [r10]
and ecx, 0x200
xor ecx, dword [rdi + 0x20]
mov dword [rdi + 0x20], ecx
mov eax, ecx
xor eax, dword [r10]
and eax, 0x400
xor eax, ecx
mov dword [rdi + 0x20], eax
mov ecx, eax
xor ecx, dword [r10]
and ecx, 0x800
xor ecx, eax
mov dword [rdi + 0x20], ecx
and ecx, 0xffffcfff
mov edx, dword [r10]
and edx, r8d
and edx, 0x1000
or edx, ecx
mov dword [rdi + 0x20], edx
mov eax, edx
xor eax, dword [r10]
and eax, 0x4000
xor eax, edx
mov dword [rdi + 0x20], eax
mov edx, eax
xor edx, dword [r10]
and edx, 0x8000
xor edx, eax
mov dword [rdi + 0x20], edx
mov ecx, edx
xor ecx, dword [r10]
and ecx, 0x10000
xor ecx, edx
mov dword [rdi + 0x20], ecx
mov eax, ecx
xor eax, dword [r10]
and eax, 0x20000
xor eax, ecx
mov dword [rdi + 0x20], eax
mov ecx, eax
xor ecx, dword [r10]
and ecx, 0x40000
xor ecx, eax
mov dword [rdi + 0x20], ecx
mov eax, ecx
xor eax, dword [r10]
and eax, 0x80000
xor eax, ecx
mov dword [rdi + 0x20], eax
mov ecx, eax
xor ecx, dword [r10]
and ecx, 0x100000
xor ecx, eax
mov dword [rdi + 0x20], ecx
mov eax, ecx
xor eax, dword [r10]
and eax, 0x200000
xor eax, ecx
mov dword [rdi + 0x20], eax
and eax, 0xff3fffff
mov ecx, dword [r10]
and ecx, 0x400000
or ecx, eax
mov dword [rdi + 0x20], ecx
mov eax, ecx
xor eax, dword [r10]
and eax, 0x1000000
xor eax, ecx
mov dword [rdi + 0x20], eax
mov ecx, eax
xor ecx, dword [r10]
and ecx, 0x2000000
xor ecx, eax
mov dword [rdi + 0x20], ecx
mov eax, ecx
xor eax, dword [r10]
and eax, 0x4000000
xor eax, ecx
mov dword [rdi + 0x20], eax
mov ecx, eax
xor ecx, dword [r10]
and ecx, 0x8000000
xor ecx, eax
mov dword [rdi + 0x20], ecx
mov eax, ecx
xor eax, dword [r10]
and eax, 0x10000000
xor eax, ecx
mov dword [rdi + 0x20], eax
mov ecx, eax
xor ecx, dword [r10]
and ecx, 0x20000000
xor ecx, eax
mov eax, dword [rdi + 0x24]
mov dword [rdi + 0x20], ecx
and ecx, 0x3fffffff
mov r8d, dword [r10]
and r8d, 0x40000000
or r8d, ecx
mov dword [rdi + 0x20], r8d
xor eax, dword [r11]
and eax, 1
xor dword [rdi + 0x24], eax
mov ecx, dword [rdi + 0x24]
xor ecx, dword [r11]
and ecx, 2
xor ecx, dword [rdi + 0x24]
mov dword [rdi + 0x24], ecx
mov eax, ecx
xor eax, dword [r11]
and eax, 4
xor eax, ecx
mov dword [rdi + 0x24], eax
mov ecx, eax
xor ecx, dword [r11]
and ecx, 8
xor ecx, eax
mov dword [rdi + 0x24], ecx
mov eax, ecx
xor eax, dword [r11]
and eax, 0x10
xor eax, ecx
mov ecx, r9d
mov dword [rdi + 0x24], eax
and ecx, dword [r11]
xor ecx, eax
and ecx, 0x20
xor ecx, eax
mov dword [rdi + 0x24], ecx
mov edx, ecx
xor edx, dword [r11]
and edx, 0x40
xor edx, ecx
mov dword [rdi + 0x24], edx
and edx, 0xfffffe7f
mov eax, dword [r11]
and eax, 0x80
or edx, eax
mov dword [rdi + 0x24], edx
mov eax, edx
xor eax, dword [r11]
and eax, 0x200
xor eax, edx
mov dword [rdi + 0x24], eax
mov ecx, eax
xor ecx, dword [r11]
and ecx, 0x400
xor ecx, eax
mov dword [rdi + 0x24], ecx
and ecx, 0xffffc7ff
and r9d, dword [r11]
and r9d, 0x800
or r9d, ecx
mov dword [rdi + 0x24], r9d
and r9d, 0xffff3fff
mov eax, dword [r11]
and eax, 0x4000
or r9d, eax
mov dword [rdi + 0x24], r9d
and r9d, 0x8000ffff
mov eax, dword [r11]
and eax, 0x10000
or r9d, eax
mov eax, dword [rdi + 0x28]
mov dword [rdi + 0x24], r9d
xor r9d, dword [r11]
btr r9d, 0x1f
xor r9d, dword [r11]
mov dword [rdi + 0x24], r9d
xor eax, dword [rsi]
and eax, 1
xor dword [rdi + 0x28], eax
mov ecx, dword [rdi + 0x28]
xor ecx, dword [rsi]
and ecx, 2
xor ecx, dword [rdi + 0x28]
mov dword [rdi + 0x28], ecx
mov eax, ecx
xor eax, dword [rsi]
and eax, 4
xor eax, ecx
mov dword [rdi + 0x28], eax
mov ecx, eax
xor ecx, dword [rsi]
and ecx, 8
xor ecx, eax
mov dword [rdi + 0x28], ecx
mov edx, ecx
xor edx, dword [rsi]
and edx, 0x10
xor edx, ecx
mov dword [rdi + 0x28], edx
and edx, 0xffffff9f
mov eax, dword [rsi]
and eax, 0x20
or edx, eax
mov dword [rdi + 0x28], edx
mov eax, edx
xor eax, dword [rsi]
and eax, 0x80
xor eax, edx
mov dword [rdi + 0x28], eax
mov ecx, eax
xor ecx, dword [rsi]
and ecx, 0x100
xor ecx, eax
mov dword [rdi + 0x28], ecx
and ecx, 0xfffff1ff
mov eax, dword [rsi]
and eax, 0x200
or ecx, eax
mov dword [rdi + 0x28], ecx
and ecx, 0xffff8fff
mov edx, dword [rsi]
and edx, 0x1000
or edx, ecx
mov dword [rdi + 0x28], edx
mov eax, edx
xor eax, dword [rsi]
and eax, 0x8000
xor eax, edx
mov dword [rdi + 0x28], eax
bt r8d, 0xc
jae 0x18003855d
call fcn.1800f8390
test al, al
je 0x18003855d
mov ecx, 0x260010
call qword [sym.imp.VBoxRT.dll_RTLogRelGetDefaultInstanceEx]
test rax, rax
je 0x18003854f
mov edx, 0x10
lea r9, str.CPUM:_Warning__VMX_preemption_timer_not_exposed_to_guest_due_to_host_CPU_erratum_n
mov rcx, rax
lea r8d, [rdx + 0x16]
call qword [sym.imp.VBoxRT.dll_RTLogLoggerEx]
and dword [rdi + 0x20], 0xffffefff
and dword [rdi + 0x28], 0xfffffbff
mov r9, rbp
mov r8, rdi
mov rdx, r14
mov rcx, rbx
call fcn.180034970
jmp 0x18003869b
mov ecx, 0x260010
call qword [sym.imp.VBoxRT.dll_RTLogRelGetDefaultInstanceEx]
test rax, rax
je 0x1800385c8
lea rcx, str.RT_SUCCESS_NP_rc_
mov edx, 0x10
mov qword [rsp + 0x38], rcx
lea r9, str.AssertLogRel__s__d___s:__s_n
lea rcx, str.void___cdecl_cpumR3InitVmxGuestFeaturesAndMsrs_struct_VM__struct_CFGMNODE__const_struct_VMXMSRS__struct_VMXMSRS__
mov qword [rsp + 0x30], rcx
lea rcx, str.C:DevelAntidetect4PersonalVirtualBox_srcVBoxVMMVMMR3CPUM.cpp
mov dword [rsp + 0x28], 0x6f0
lea r8d, [rdx + 0x16]
mov qword [rsp + 0x20], rcx
mov rcx, rax
call qword [sym.imp.VBoxRT.dll_RTLogLoggerEx]
mov ecx, 0x260010
call qword [sym.imp.VBoxRT.dll_RTLogRelGetDefaultInstanceEx]
test rax, rax
je 0x18003869b
mov dword [rsp + 0x20], edi
jmp 0x180038681
mov ecx, 0x260010
call qword [sym.imp.VBoxRT.dll_RTLogRelGetDefaultInstanceEx]
test rax, rax
je 0x18003866d
lea rcx, str.RT_SUCCESS_NP_rc_
mov qword [rsp + 0x38], rcx
lea rcx, str.void___cdecl_cpumR3InitVmxGuestFeaturesAndMsrs_struct_VM__struct_CFGMNODE__const_struct_VMXMSRS__struct_VMXMSRS__
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], 0x6e8
jmp 0x180038647
mov ecx, 0x260010
call qword [sym.imp.VBoxRT.dll_RTLogRelGetDefaultInstanceEx]
test rax, rax
je 0x18003866d
lea rcx, str.RT_SUCCESS_NP_rc_
mov qword [rsp + 0x38], rcx
lea rcx, str.void___cdecl_cpumR3InitVmxGuestFeaturesAndMsrs_struct_VM__struct_CFGMNODE__const_struct_VMXMSRS__struct_VMXMSRS__
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], 0x6df
mov r8d, 0x26
lea rcx, str.C:DevelAntidetect4PersonalVirtualBox_srcVBoxVMMVMMR3CPUM.cpp
mov qword [rsp + 0x20], rcx
lea r9, str.AssertLogRel__s__d___s:__s_n
mov rcx, rax
lea edx, [r8 - 0x16]
call qword [sym.imp.VBoxRT.dll_RTLogLoggerEx]
mov ecx, 0x260010
call qword [sym.imp.VBoxRT.dll_RTLogRelGetDefaultInstanceEx]
test rax, rax
je 0x18003869b
mov dword [rsp + 0x20], esi
mov r8d, 0x26
lea r9, str._Rra_n
mov rcx, rax
lea edx, [r8 - 0x16]
call qword [sym.imp.VBoxRT.dll_RTLogLoggerEx]
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret