Function at 0x180047d60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
push rbx
push rdi
push r13
push r15
sub rsp, 0xb8
mov qword [rax + 8], rbp
xor r15d, r15d
mov qword [rax - 0x28], rsi
mov rdi, rcx
mov qword [rax - 0x30], r12
lea rcx, str.host
mov qword [rax - 0x38], r14
mov r13, rdx
mov ebx, r15d
mov r8d, r15d
nop word [rax + rax]
movzx eax, byte [rdi + r8]
inc r8
cmp al, byte [rcx + r8 - 1]
jne 0x18004827a
cmp r8, 5
jne 0x180047da0
add rdx, 0x18
lea rcx, [r13 + 0x14]
call sym.VBoxVMM.dll_CPUMR3CpuIdDetectUnknownLeafMethod
test eax, eax
js 0x18004824c
lea rdi, [r13 + 0x38]
mov rcx, rdi
mov qword [rsp + 0x90], rdi
lea rdx, [r13 + 0xc]
call sym.VBoxVMM.dll_CPUMCpuIdCollectLeavesX86
test eax, eax
js 0x18004824c
call sym.VBoxVMM.dll_CPUMR3DeterminHostMxCsrMask
mov dword [r13 + 8], eax
mov rax, qword [rdi]
mov r9d, dword [rax + 0x18]
mov r8d, dword [rax + 0x14]
mov edx, dword [rax + 0x10]
mov ecx, dword [rax + 0xc]
call sym.VBoxVMM.dll_CPUMCpuIdDetectX86VendorEx
mov rcx, qword [rdi]
mov r10d, eax
mov dword [rsp + 0xf0], eax
mov r12d, dword [rcx + 0x2c]
mov ebp, r12d
shr ebp, 8
mov ecx, ebp
and ecx, 0xf
cmp ecx, 0xf
jne 0x180047e44
mov ebp, r12d
shr ebp, 0x14
and bpl, 0x7f
add bpl, cl
mov dword [rsp + 0x80], ebp
jmp 0x180047e5a
and bpl, 0xf
mov dword [rsp + 0x80], ebp
cmp ecx, 6
jne 0x180047e79
cmp r10d, 1
jne 0x180047e79
mov r14d, r12d
mov eax, r12d
shr eax, 4
shr r14d, 0xc
xor r14b, al
mov eax, r12d
shr eax, 0xc
and r14b, 0xf
xor r14b, al
jmp 0x180047e84
mov r14d, r12d
shr r14d, 4
and r14b, 0xf
and r12b, 0xf
mov dword [rsp + 0xf8], r14d
movzx r9d, r12b
mov dword [rsp + 0x84], r12d
movzx r8d, r14b
movzx edx, bpl
mov ecx, r10d
call sym.VBoxVMM.dll_CPUMCpuIdDetermineX86MicroarchEx
movsxd rdi, eax
lea r10, [0x180438900]
movsxd rax, dword [rsp + 0xf0]
mov r11d, r15d
mov r8, rax
mov rdx, qword [r10]
movzx ecx, byte [rdx + 0x10]
cmp ecx, eax
jne 0x180047f29
cmp byte [rdx + 0x11], bpl
jne 0x180048069
mov ecx, dword [rdx + 0x14]
cmp ecx, edi
jne 0x180047f6a
movzx eax, byte [rdx + 0x12]
cmp al, r14b
jne 0x180047f48
movzx eax, byte [rdx + 0x13]
cmp al, r12b
je 0x180048075
test rbx, rbx
je 0x180047f43
cmp byte [rbx + 0x12], r14b
jne 0x180047f43
cmp dword [rbx + 0x14], edi
jne 0x180047f43
cmp byte [rbx + 0x11], bpl
jne 0x180047f43
movzx ecx, byte [rbx + 0x13]
cmp al, r12b
jb 0x180047f3f
cmp al, cl
jb 0x180047f43
cmp cl, r12b
jb 0x180047f43
mov eax, dword [rsp + 0xf0]
inc r11d
add r10, 8
cmp r11d, 0x3d
jae 0x180048078
movsxd r8, eax
jmp 0x180047ec4
cmp al, cl
jbe 0x180047f22
mov rbx, rdx
jmp 0x180047f22
test rbx, rbx
je 0x180047f43
cmp dword [rbx + 0x14], edi
jne 0x180047f43
cmp byte [rbx + 0x11], bpl
jne 0x180047f43
movzx ecx, byte [rbx + 0x12]
cmp al, r14b
jb 0x180047f3f
cmp al, cl
jb 0x180047f43
cmp cl, r14b
jmp 0x180047f20
test rbx, rbx
je 0x180048061
cmp byte [rbx + 0x11], bpl
jne 0x180048061
cmp r8, 1
jne 0x180048027
cmp bpl, 6
jne 0x180048027
mov r8d, dword [rbx + 0x14]
lea eax, [rcx - 7]
cmp eax, 0x2b
ja 0x180047f22
lea rax, [rdi - 7]
cmp rax, 0x2b
jbe 0x180047fb1
cmp rdi, 0x3b
jne 0x180047f22
cmp r8d, edi
je 0x180047f22
lea eax, [r8 - 7]
cmp eax, 0x2b
ja 0x180047f43
cmp ecx, 0x23
setge al
cmp r8d, 0x23
setge r9b
cmp rdi, 0x23
jl 0x180047ff4
cmp al, r9b
jne 0x180048039
cmp ecx, 0x23
jge 0x18004800c
cmp ecx, r8d
jle 0x180047fee
cmp ecx, 0xb
setle al
jmp 0x180048039
cmp r8d, 0xb
jmp 0x180048036
cmp al, r9b
je 0x180047fff
movzx eax, r9b
jmp 0x180048039
cmp ecx, 0x23
jl 0x18004800c
cmp ecx, r8d
setl al
jmp 0x180048039
cmp r8d, edi
jge 0x180048016
cmp ecx, r8d
jmp 0x180048036
cmp ecx, edi
jl 0x180048023
cmp ecx, r8d
jge 0x180048023
mov al, 1
jmp 0x180048039
xor al, al
jmp 0x180048039
mov eax, dword [rbx + 0x14]
cmp eax, edi
je 0x180047f22
jge 0x180048049
cmp ecx, eax
setg al
test al, al
je 0x180047f22
mov rbx, rdx
jmp 0x180047f22
cmp ecx, edi
jl 0x180047f22
cmp ecx, eax
jge 0x180047f22
mov rbx, rdx
jmp 0x180047f22
mov rbx, rdx
jmp 0x180047f29
test rbx, rbx
cmove rbx, rdx
jmp 0x180047f29
mov rbx, rdx
mov ecx, 0x260010
test rbx, rbx
je 0x18004815d
call qword [sym.imp.VBoxRT.dll_RTLogRelGetDefaultInstanceEx]
mov qword [rsp + 0x88], rax
test rax, rax
je 0x1800481cf
mov ecx, dword [rbx + 0x14]
call sym.VBoxVMM.dll_CPUMMicroarchName
movzx ecx, byte [rbx + 0x10]
mov r14, rax
movzx r15d, byte [rbx + 0x13]
movzx r12d, byte [rbx + 0x12]
movzx r13d, byte [rbx + 0x11]
call sym.VBoxVMM.dll_CPUMCpuVendorName
mov rbp, qword [rbx]
mov ecx, edi
mov rsi, rax
call sym.VBoxVMM.dll_CPUMMicroarchName
mov ecx, dword [rsp + 0xf0]
mov rdi, rax
call sym.VBoxVMM.dll_CPUMCpuVendorName
movzx edx, byte [rsp + 0xf8]
lea r9, str.CPUM:_Matched_host_CPU__s__x__x__x__s_with_CPU_DB_entry__s___s__x__x__x__s__n
movzx r8d, byte [rsp + 0x80]
movzx ecx, byte [rsp + 0x84]
mov qword [rsp + 0x70], r14
mov dword [rsp + 0x68], r15d
mov dword [rsp + 0x60], r12d
mov dword [rsp + 0x58], r13d
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x38], ecx
mov rcx, qword [rsp + 0x88]
mov dword [rsp + 0x30], edx
mov edx, 0x10
mov dword [rsp + 0x28], r8d
mov qword [rsp + 0x20], rax
lea r8d, [rdx + 0x16]
call qword [sym.imp.VBoxRT.dll_RTLogLoggerEx]
mov r13, qword [rsp + 0xe8]
xor r15d, r15d
mov r12, qword [rsp + 0x90]
jmp 0x1800481d3
mov rbx, qword [0x180438900]
call qword [sym.imp.VBoxRT.dll_RTLogRelGetDefaultInstanceEx]
mov r15, rax
test rax, rax
je 0x1800481cc
mov rsi, qword [rbx]
mov ecx, edi
call sym.VBoxVMM.dll_CPUMMicroarchName
mov ecx, dword [rsp + 0xf0]
mov rdi, rax
call sym.VBoxVMM.dll_CPUMCpuVendorName
mov qword [rsp + 0x48], rsi
lea r9, str.CPUM:_No_matching_processor_database_entry__s__x__x__x__s__falling_back_on__s_n
movzx edx, r14b
mov qword [rsp + 0x40], rdi
movzx r8d, bpl
movzx ecx, r12b
mov dword [rsp + 0x38], ecx
mov rcx, r15
mov dword [rsp + 0x30], edx
mov edx, 0x10
mov dword [rsp + 0x28], r8d
mov qword [rsp + 0x20], rax
lea r8d, [rdx + 0x16]
call qword [sym.imp.VBoxRT.dll_RTLogLoggerEx]
xor r15d, r15d
lea r12, [r13 + 0x38]
mov eax, dword [rbx + 0x50]
mov dword [r13 + 4], eax
mov dword [r13 + 0x10], r15d
mov rax, qword [rbx + 0x18]
mov qword [r13 + 0x28], rax
mov rax, r15
mov rdi, qword [rbx + 0x58]
mov ebx, dword [rbx + 0x54]
mov dword [rsp + 0xf0], r15d
mov qword [rsp + 0xf8], rax
test ebx, ebx
je 0x180048242
mov r9, rdi
lea r8, [rsp + 0xf0]
lea rdx, [rsp + 0xf8]
xor ecx, ecx
dec ebx
call fcn.1800485e0
mov esi, eax
test eax, eax
js 0x1800483dd
sub rdi, 0xffffffffffffff80
test ebx, ebx
jne 0x180048204
mov r15d, dword [rsp + 0xf0]
mov rax, qword [rsp + 0xf8]
mov qword [r13 + 0x30], rax
xor eax, eax
mov dword [r13], r15d
mov r14, qword [rsp + 0xa0]
mov r12, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xe0]
add rsp, 0xb8
pop r15
pop r13
pop rdi
pop rbx
ret
mov r9d, r15d
lea r10, [0x180438900]
nop dword [rax]
nop dword [rax + rax]
mov rbx, qword [r10]
mov rax, rdi
mov r8, qword [rbx]
sub r8, rdi
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1800482b3
inc rax
test ecx, ecx
jne 0x1800482a0
test edx, edx
je 0x1800482c6
inc r9d
add r10, 8
cmp r9d, 0x3d
jb 0x180048290
jmp 0x1800482cb
test rbx, rbx
jne 0x180048303
mov ecx, 0x260010
call qword [sym.imp.VBoxRT.dll_RTLogRelGetDefaultInstanceEx]
test rax, rax
je 0x1800482f9
mov edx, 0x10
mov qword [rsp + 0x20], rdi
lea r9, str.CPUM:_Cannot_locate_any_CPU_by_the_name__s_n
mov rcx, rax
lea r8d, [rdx + 0x16]
call qword [sym.imp.VBoxRT.dll_RTLogLoggerEx]
mov eax, 0xfffff924
jmp 0x18004824c
mov eax, dword [rbx + 0x38]
lea r12, [r13 + 0x38]
mov dword [r13 + 0xc], eax
mov ecx, dword [rbx + 0x38]
test ecx, ecx
je 0x18004834e
lea r8d, [rcx + 0xf]
mov edx, ecx
and r8d, 0xfffffff0
shl rdx, 5
sub r8d, ecx
lea r9, [0x18020e04a]
mov rcx, qword [rbx + 0x30]
shl r8, 5
call qword [sym.imp.VBoxRT.dll_RTMemDupExTag]
mov qword [r12], rax
test rax, rax
jne 0x180048352
mov eax, 0xfffffff8
jmp 0x18004824c
mov qword [r12], r15
mov eax, dword [rbx + 0x3c]
mov ecx, 0x260010
mov dword [r13 + 0x14], eax
movups xmm0, xmmword [rbx + 0x40]
movups xmmword [r13 + 0x18], xmm0
mov eax, dword [rbx + 0x28]
mov dword [r13 + 8], eax
call qword [sym.imp.VBoxRT.dll_RTLogRelGetDefaultInstanceEx]
mov r15, rax
test rax, rax
je 0x1800483d5
mov ecx, dword [rbx + 0x14]
call sym.VBoxVMM.dll_CPUMMicroarchName
movzx ecx, byte [rbx + 0x10]
mov rdi, rax
movzx esi, byte [rbx + 0x13]
movzx ebp, byte [rbx + 0x12]
movzx r14d, byte [rbx + 0x11]
call sym.VBoxVMM.dll_CPUMCpuVendorName
mov qword [rsp + 0x48], rdi
lea r9, str.CPUM:_Using_CPU_DB_entry__s___s__x__x__x__s__n
mov dword [rsp + 0x40], esi
mov edx, 0x10
mov dword [rsp + 0x38], ebp
mov rcx, r15
mov dword [rsp + 0x30], r14d
mov qword [rsp + 0x28], rax
mov rax, qword [rbx]
lea r8d, [rdx + 0x16]
mov qword [rsp + 0x20], rax
call qword [sym.imp.VBoxRT.dll_RTLogLoggerEx]
xor r15d, r15d
jmp 0x1800481d3
mov rcx, qword [r12]
call qword [sym.imp.VBoxRT.dll_RTMemFree]
mov eax, esi
mov qword [r12], r15
jmp 0x18004824c