Function at 0x140008fc0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rbx
push rsi
push r12
lea rbp, [rsp - 0x158]
sub rsp, 0x258
mov rsi, rcx
mov eax, 1
xor ecx, ecx
cpuid
test ecx, ecx
jns 0x140009511
xor ecx, ecx
mov eax, 0x40000003
cpuid
test bl, 1
jne 0x140009511
xor ecx, ecx
mov eax, 0x40000000
cpuid
test ebx, ebx
je 0x140009511
test ecx, ecx
je 0x140009511
xor eax, eax
mov dword [rbp + 0x188], 0x1fe
mov dword [rsp + 0x40], eax
lea rdx, str.HARDWAREDESCRIPTIONSystem
lea rax, [rbp + 0x198]
xor r12d, r12d
mov r9d, 0x20119
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov qword [rbp + 0x198], r12
mov rcx, 0xffffffff80000002
mov dword [rbp + 0x190], r12d
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140009511
mov rcx, qword [rbp + 0x198]
lea rax, [rbp + 0x188]
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x190]
lea rax, [rsp + 0x40]
xor r8d, r8d
lea rdx, str.SystemBiosVersion
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rbp + 0x198]
mov ebx, eax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test ebx, ebx
jne 0x140009511
mov qword [rsp + 0x250], r13
mov edx, 3
mov qword [rsp + 0x280], rdi
lea r13, [0x1401b9800]
mov ebx, edx
mov qword [rsp + 0x240], r15
mov ecx, r12d
nop word [rax + rax]
movzx eax, word [rcx + r13]
cmp word [rsp + rcx + 0x40], ax
jne 0x140009113
add rcx, 2
sub rbx, 1
jne 0x1400090e0
cmp qword [rsi + 8], r12
je 0x1400094ea
mov edx, dword [rsi + 0x14]
mov rcx, r13
call fcn.14003c464
mov rdx, r13
jmp 0x140009249
mov rcx, r12
lea rbx, [0x140000000]
nop dword [rax]
movzx eax, word [rcx + rbx + 0x1b97a8]
cmp word [rsp + rcx + 0x40], ax
jne 0x14000915e
add rcx, 2
sub rdx, 1
jne 0x140009120
cmp qword [rsi + 8], r12
je 0x1400094ea
mov edx, dword [rsi + 0x14]
lea rcx, str.VMware
call fcn.14003c464
lea rdx, str.VMware
jmp 0x140009249
mov edx, 5
mov rcx, r12
nop word [rax + rax]
movzx eax, word [rcx + rbx + 0x1b97b0]
cmp word [rsp + rcx + 0x40], ax
jne 0x1400091ae
add rcx, 2
sub rdx, 1
jne 0x140009170
cmp qword [rsi + 8], r12
je 0x1400094ea
mov edx, dword [rsi + 0x14]
lea rcx, [0x1401b9838]
call fcn.14003c464
lea rdx, [0x1401b9838]
jmp 0x140009249
mov edx, 4
mov rcx, r12
nop word [rax + rax]
movzx eax, word [rcx + rbx + 0x1b98c0]
cmp word [rsp + rcx + 0x40], ax
jne 0x1400091fb
add rcx, 2
sub rdx, 1
jne 0x1400091c0
cmp qword [rsi + 8], r12
je 0x1400094ea
mov edx, dword [rsi + 0x14]
lea rcx, str.VirtualBox
call fcn.14003c464
lea rdx, str.VirtualBox
jmp 0x140009249
mov edx, 6
mov rcx, r12
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rcx + rbx + 0x1b97c0]
cmp word [rsp + rcx + 0x40], ax
jne 0x140009277
add rcx, 2
sub rdx, 1
jne 0x140009210
cmp qword [rsi + 8], r12
je 0x1400094ea
mov edx, dword [rsi + 0x14]
lea rcx, [0x1401b97d0]
call fcn.14003c464
lea rdx, [0x1401b97d0]
mov ebx, dword [rsi + 0x14]
cmp eax, ebx
lea ecx, [rbx - 1]
cmovb ecx, eax
mov ebx, ecx
lea rdi, [rcx + rcx]
mov rcx, qword [rsi + 8]
mov r8, rdi
call fcn.14014cbf0
mov dword [rsi + 0x10], ebx
mov rax, qword [rsi + 8]
mov word [rdi + rax], r12w
jmp 0x1400094ea
mov rdx, rsi
mov qword [rsp + 0x248], r14
call fcn.140008cb0
mov rcx, qword [rsi + 8]
test al, al
je 0x14000949e
test rcx, rcx
je 0x140009302
cmp dword [rsi + 0x10], r12d
lea rbx, [rsi + 0x10]
jbe 0x140009302
lea rdx, str.XENSRC
call fcn.1400308bc
test rax, rax
je 0x140009302
sub rax, qword [rsi + 8]
lea rcx, [rsi + 8]
sar rax, 1
mov r15, rbx
test eax, eax
js 0x14000930d
cmp qword [rsi + 8], r12
je 0x1400094e2
mov edx, dword [rsi + 0x14]
mov rcx, r13
call fcn.14003c464
mov edx, dword [rsi + 0x14]
cmp eax, edx
lea ecx, [rdx - 1]
mov rdx, r13
cmovb ecx, eax
mov ebx, ecx
lea rdi, [rcx + rcx]
mov rcx, qword [rsi + 8]
mov r8, rdi
call fcn.14014cbf0
mov dword [r15], ebx
jmp 0x1400094d9
lea rbx, [rsi + 0x10]
mov r15, rbx
lea rcx, [rsi + 8]
mov rcx, qword [rcx]
test rcx, rcx
je 0x14000937d
cmp dword [rbx], r12d
jbe 0x14000937d
lea rdx, [0x1401b9808]
call fcn.1400308bc
test rax, rax
je 0x14000937d
mov rcx, qword [rsi + 8]
sub rax, rcx
sar rax, 1
test eax, eax
js 0x14000937d
test rcx, rcx
je 0x1400094e2
mov edx, dword [rsi + 0x14]
lea rcx, str.VMware
call fcn.14003c464
mov edx, dword [rsi + 0x14]
cmp eax, edx
lea ecx, [rdx - 1]
cmovb ecx, eax
lea rdx, str.VMware
mov ebx, ecx
lea rdi, [rcx + rcx]
mov rcx, qword [rsi + 8]
mov r8, rdi
call fcn.14014cbf0
mov dword [r15], ebx
jmp 0x1400094d9
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x1400093ee
cmp dword [rbx], r12d
jbe 0x1400093ee
lea rdx, str.VirtIO
call fcn.1400308bc
test rax, rax
je 0x1400093ee
mov rcx, qword [rsi + 8]
sub rax, rcx
sar rax, 1
test eax, eax
js 0x1400093ee
test rcx, rcx
je 0x1400094e2
mov edx, dword [rsi + 0x14]
lea rcx, [0x1401b9838]
call fcn.14003c464
mov edx, dword [rsi + 0x14]
cmp eax, edx
lea ecx, [rdx - 1]
cmovb ecx, eax
lea rdx, [0x1401b9838]
mov ebx, ecx
lea rdi, [rcx + rcx]
mov rcx, qword [rsi + 8]
mov r8, rdi
call fcn.14014cbf0
mov dword [r15], ebx
jmp 0x1400094d9
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x14000945d
cmp dword [rbx], r12d
jbe 0x14000945d
lea rdx, [0x1401b9840]
call fcn.1400308bc
test rax, rax
je 0x14000945d
sub rax, qword [rsi + 8]
mov rcx, qword [rsi + 8]
sar rax, 1
test eax, eax
js 0x140009461
test rcx, rcx
je 0x1400094e2
mov edx, dword [rsi + 0x14]
lea rcx, str.VirtualBox
call fcn.14003c464
mov edx, dword [rsi + 0x14]
cmp eax, edx
lea ecx, [rdx - 1]
cmovb ecx, eax
lea rdx, str.VirtualBox
mov ebx, ecx
lea rdi, [rcx + rcx]
mov rcx, qword [rsi + 8]
mov r8, rdi
call fcn.14014cbf0
mov dword [r15], ebx
jmp 0x1400094d9
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x1400094e2
mov edx, dword [rsi + 0x14]
lea rcx, str.Hyper_V
call fcn.14003c464
mov ebx, dword [rsi + 0x14]
lea rdx, str.Hyper_V
cmp eax, ebx
lea ecx, [rbx - 1]
cmovb ecx, eax
mov ebx, ecx
lea rdi, [rcx + rcx]
mov rcx, qword [rsi + 8]
mov r8, rdi
call fcn.14014cbf0
mov dword [r15], ebx
jmp 0x1400094d9
test rcx, rcx
je 0x1400094e2
mov edx, dword [rsi + 0x14]
lea rcx, str.Hyper_V
call fcn.14003c464
mov edx, dword [rsi + 0x14]
cmp eax, edx
lea ecx, [rdx - 1]
cmovb ecx, eax
lea rdx, str.Hyper_V
mov ebx, ecx
lea rdi, [rcx + rcx]
mov rcx, qword [rsi + 8]
mov r8, rdi
call fcn.14014cbf0
mov dword [rsi + 0x10], ebx
mov rax, qword [rsi + 8]
mov word [rdi + rax], r12w
mov r14, qword [rsp + 0x248]
mov r15, qword [rsp + 0x240]
mov al, 1
mov r13, qword [rsp + 0x250]
mov rdi, qword [rsp + 0x280]
add rsp, 0x258
pop r12
pop rsi
pop rbx
pop rbp
ret
xor al, al
add rsp, 0x258
pop r12
pop rsi
pop rbx
pop rbp
ret