Function at 0x14001c930
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x4900]
mov eax, 0x4a00
call fcn.1400633e0
sub rsp, rax
mov rax, qword [0x14009b038]
xor rax, rsp
mov qword [rbp + 0x48e0], rax
mov rax, qword [rbp + 0x4970]
mov r15, r9
mov r12, qword [rbp + 0x4960]
mov r14, r8
mov r13, qword [rbp + 0x4968]
mov rsi, rdx
mov qword [rsp + 0x78], rax
lea rdx, str.HARDWAREDESCRIPTIONSystemBIOS
mov rax, qword [rbp + 0x4978]
mov rdi, rcx
mov qword [rbp - 0x80], rax
mov r9d, 1
mov rax, qword [rbp + 0x4980]
xor r8d, r8d
mov qword [rbp - 0x78], rax
mov rcx, 0xffffffff80000002
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14001d088
xor edx, edx
mov qword [rsp + 0x49f8], rbx
mov r8d, 0x820
mov dword [rbp - 0x68], 1
lea rcx, [rbp - 0x40]
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rbp - 0x70]
lea rax, [rbp - 0x64]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x68]
lea rax, [rbp - 0x40]
mov dword [rbp - 0x64], 0x820
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.BaseBoardManufacturer
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
xor ecx, ecx
or rbx, 0xffffffffffffffff
test eax, eax
jne 0x14001ca8b
movdqa xmm0, xmmword [0x1400812a0]
lea rax, [rbp - 0x40]
movdqu xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x30], cx
mov r8, rbx
inc r8
cmp word [rax + r8*2], cx
jne 0x14001ca41
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x30]
call fcn.14000fab0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x58]
call fcn.140019700
mov rdx, rax
mov rcx, rdi
call fcn.14000ebb0
mov r8, qword [rsp + 0x70]
cmp r8, 8
jb 0x14001ca8b
mov rdx, qword [rsp + 0x58]
inc r8
call fcn.1400107d0
xor edx, edx
lea rcx, [rbp + 0x7e0]
mov r8d, 0x820
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rbp - 0x70]
lea rax, [rbp - 0x60]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x68]
lea rax, [rbp + 0x7e0]
mov dword [rbp - 0x60], 0x820
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.BaseBoardProduct
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
xor edi, edi
test eax, eax
jne 0x14001cb43
movdqa xmm0, xmmword [0x1400812a0]
lea rax, [rbp + 0x7e0]
movdqu xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x30], di
mov r8, rbx
inc r8
cmp word [rax + r8*2], di
jne 0x14001caf6
lea rdx, [rbp + 0x7e0]
lea rcx, [rsp + 0x30]
call fcn.14000fab0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x58]
call fcn.140019700
mov rdx, rax
mov rcx, rsi
call fcn.14000ebb0
mov r8, qword [rsp + 0x70]
cmp r8, 8
jb 0x14001cb43
mov rdx, qword [rsp + 0x58]
inc r8
call fcn.1400107d0
xor edx, edx
lea rcx, [rbp + 0x1000]
mov r8d, 0x820
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rbp - 0x70]
lea rax, [rbp - 0x5c]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x68]
lea rax, [rbp + 0x1000]
mov dword [rbp - 0x5c], 0x820
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.BIOSVendor
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14001cbfe
movdqa xmm0, xmmword [0x1400812a0]
lea rax, [rbp + 0x1000]
movdqu xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x30], di
mov r8, rbx
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x14001cbb0
lea rdx, [rbp + 0x1000]
lea rcx, [rsp + 0x30]
call fcn.14000fab0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x58]
call fcn.140019700
mov rdx, rax
mov rcx, r14
call fcn.14000ebb0
mov r8, qword [rsp + 0x70]
cmp r8, 8
jb 0x14001cbfe
mov rdx, qword [rsp + 0x58]
inc r8
call fcn.1400107d0
xor edx, edx
lea rcx, [rbp + 0x1820]
mov r8d, 0x820
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rbp - 0x70]
lea rax, [rbp - 0x58]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x68]
lea rax, [rbp + 0x1820]
mov dword [rbp - 0x58], 0x820
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.BIOSVersion
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14001ccbe
movdqa xmm0, xmmword [0x1400812a0]
lea rax, [rbp + 0x1820]
movdqu xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x30], di
mov r8, rbx
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x14001cc70
lea rdx, [rbp + 0x1820]
lea rcx, [rsp + 0x30]
call fcn.14000fab0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x58]
call fcn.140019700
mov rdx, rax
mov rcx, r15
call fcn.14000ebb0
mov r8, qword [rsp + 0x70]
cmp r8, 8
jb 0x14001ccbe
mov rdx, qword [rsp + 0x58]
inc r8
call fcn.1400107d0
xor edx, edx
lea rcx, [rbp + 0x2040]
mov r8d, 0x820
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rbp - 0x70]
lea rax, [rbp - 0x54]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x68]
lea rax, [rbp + 0x2040]
mov dword [rbp - 0x54], 0x820
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.SystemFamily
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14001cd7e
movdqa xmm0, xmmword [0x1400812a0]
lea rax, [rbp + 0x2040]
movdqu xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x30], di
mov r8, rbx
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x14001cd30
lea rdx, [rbp + 0x2040]
lea rcx, [rsp + 0x30]
call fcn.14000fab0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x58]
call fcn.140019700
mov rdx, rax
mov rcx, r12
call fcn.14000ebb0
mov r8, qword [rsp + 0x70]
cmp r8, 8
jb 0x14001cd7e
mov rdx, qword [rsp + 0x58]
inc r8
call fcn.1400107d0
xor edx, edx
lea rcx, [rbp + 0x2860]
mov r8d, 0x820
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rbp - 0x70]
lea rax, [rbp - 0x50]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x68]
lea rax, [rbp + 0x2860]
mov dword [rbp - 0x50], 0x820
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.SystemManufacturer
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14001ce3e
movdqa xmm0, xmmword [0x1400812a0]
lea rax, [rbp + 0x2860]
movdqu xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x30], di
mov r8, rbx
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x14001cdf0
lea rdx, [rbp + 0x2860]
lea rcx, [rsp + 0x30]
call fcn.14000fab0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x58]
call fcn.140019700
mov rdx, rax
mov rcx, r13
call fcn.14000ebb0
mov r8, qword [rsp + 0x70]
cmp r8, 8
jb 0x14001ce3e
mov rdx, qword [rsp + 0x58]
inc r8
call fcn.1400107d0
xor edx, edx
lea rcx, [rbp + 0x3080]
mov r8d, 0x820
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rbp - 0x70]
lea rax, [rbp - 0x4c]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x68]
lea rax, [rbp + 0x3080]
mov dword [rbp - 0x4c], 0x820
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.SystemProductName
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14001cf00
movdqa xmm0, xmmword [0x1400812a0]
lea rax, [rbp + 0x3080]
movdqu xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x30], di
mov r8, rbx
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x14001ceb0
lea rdx, [rbp + 0x3080]
lea rcx, [rsp + 0x30]
call fcn.14000fab0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x58]
call fcn.140019700
mov rcx, qword [rsp + 0x78]
mov rdx, rax
call fcn.14000ebb0
mov r8, qword [rsp + 0x70]
cmp r8, 8
jb 0x14001cf00
mov rdx, qword [rsp + 0x58]
inc r8
call fcn.1400107d0
xor edx, edx
lea rcx, [rbp + 0x38a0]
mov r8d, 0x820
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rbp - 0x70]
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x68]
lea rax, [rbp + 0x38a0]
mov dword [rbp - 0x48], 0x820
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.SystemSKU
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14001cfbf
movdqa xmm0, xmmword [0x1400812a0]
lea rax, [rbp + 0x38a0]
movdqu xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x30], di
mov r8, rbx
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x14001cf70
lea rdx, [rbp + 0x38a0]
lea rcx, [rsp + 0x30]
call fcn.14000fab0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x58]
call fcn.140019700
mov rcx, qword [rbp - 0x80]
mov rdx, rax
call fcn.14000ebb0
mov r8, qword [rsp + 0x70]
cmp r8, 8
jb 0x14001cfbf
mov rdx, qword [rsp + 0x58]
inc r8
call fcn.1400107d0
xor edx, edx
lea rcx, [rbp + 0x40c0]
mov r8d, 0x820
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rbp - 0x70]
lea rax, [rbp - 0x44]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x68]
lea rax, [rbp + 0x40c0]
mov dword [rbp - 0x44], 0x820
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.SystemVersion
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14001d076
movdqa xmm0, xmmword [0x1400812a0]
lea rax, [rbp + 0x40c0]
movdqu xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x30], di
inc rbx
cmp word [rax + rbx*2], 0
jne 0x14001d025
mov r8, rbx
lea rdx, [rbp + 0x40c0]
lea rcx, [rsp + 0x30]
call fcn.14000fab0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x58]
call fcn.140019700
mov rcx, qword [rbp - 0x78]
mov rdx, rax
call fcn.14000ebb0
mov r8, qword [rsp + 0x70]
cmp r8, 8
jb 0x14001d076
mov rdx, qword [rsp + 0x58]
inc r8
call fcn.1400107d0
mov rcx, qword [rbp - 0x70]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, qword [rsp + 0x49f8]
mov rcx, qword [rbp + 0x48e0]
xor rcx, rsp
call fcn.140062800
add rsp, 0x4a00
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret