Function at 0x1400200a0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x170
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x1b0], rbx
mov rax, qword [0x14003e010]
xor rax, rsp
mov qword [rsp + 0x160], rax
mov rbx, rdx
mov r14, rcx
mov qword [rsp + 0x38], rcx
call fcn.140001540
mov rcx, rax
test rax, rax
je 0x140020362
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140027f5e.0]
add rax, 0x18
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x40], 0x104
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, str.CurrentMajorVersionNumber
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov r8d, dword [rsp + 0x50]
lea rdx, [0x140030a6c]
lea rcx, [rsp + 0x38]
call fcn.14000b890
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, str.CurrentMinorVersionNumber
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov r8d, dword [rsp + 0x50]
lea rdx, [0x140030ab0]
lea rcx, [rsp + 0x38]
call fcn.14000b970
mov rbx, qword [rsp + 0x38]
mov rsi, rbx
xor r15d, r15d
mov edi, r15d
movzx eax, word [rbx]
lea ebp, [r15 + 1]
test ax, ax
je 0x140020217
movzx ecx, ax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_iswspace]
test eax, eax
je 0x1400201c2
mov rax, rsi
test rdi, rdi
cmovne rax, rdi
mov rdi, rax
jmp 0x1400201c5
mov rdi, r15
add rsi, 2
movzx eax, word [rsi]
test ax, ax
jne 0x1400201a6
test rdi, rdi
je 0x140020217
sub rdi, rbx
sar rdi, 1
test edi, edi
js 0x14002036d
mov ecx, ebp
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x140020203
mov edx, edi
lea rcx, [rsp + 0x38]
call fcn.14000b430
mov rbx, qword [rsp + 0x38]
cmp edi, dword [rbx - 0xc]
jg 0x140020383
mov dword [rbx - 0x10], edi
movsxd rax, edi
mov word [rbx + rax*2], r15w
mov rdi, rbx
movzx ecx, word [rbx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_iswspace]
test eax, eax
je 0x1400202db
nop dword [rax + rax]
add rdi, 2
movzx ecx, word [rdi]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_iswspace]
test eax, eax
jne 0x140020230
cmp rdi, rbx
je 0x1400202db
sub rdi, rbx
sar rdi, 1
mov edx, dword [rbx - 0x10]
test edx, edx
js 0x140020378
sub ebp, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edx
or eax, ebp
jge 0x140020276
lea rcx, [rsp + 0x38]
call fcn.14000b430
mov rbx, qword [rsp + 0x38]
movsxd rax, edi
lea rdx, [rbx + rax*2]
mov ecx, dword [rbx - 0x10]
mov esi, ecx
sub esi, edi
lea eax, [rsi + 1]
movsxd r8, eax
add r8, r8
je 0x1400202bf
test rdx, rdx
jne 0x1400202a5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], 0x16
jmp 0x140020346
lea eax, [rcx + 1]
movsxd rcx, eax
add rcx, rcx
cmp rcx, r8
jb 0x140020339
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
test esi, esi
js 0x140020357
cmp esi, dword [rbx - 0xc]
jg 0x140020357
mov dword [rbx - 0x10], esi
movsxd rax, esi
mov word [rbx + rax*2], r15w
lea rcx, [rbx - 0x18]
call fcn.14000b250
add rax, 0x18
mov qword [r14], rax
mov ecx, 0xffffffff
lock xadd dword [rbx - 8], ecx
sub ecx, 1
jg 0x14002030f
mov rcx, qword [rbx - 0x18]
mov r8, qword [rcx]
lea rdx, [rbx - 0x18]
mov rax, qword [r8 + 8]
call qword [case.0x140027f5e.0]
mov rax, r14
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.140027890
mov rbx, qword [rsp + 0x1b0]
add rsp, 0x170
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
nop
mov dword [rax], 0x22
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo]
mov ecx, 0x80070057
call fcn.140001280
int3
mov ecx, 0x80070057
call fcn.140001280
nop
mov ecx, 0x80004005
call fcn.140001280
nop
mov ecx, 0x80070057
call fcn.140001280
int3
mov ecx, 0x80070057
call fcn.140001280
int3
mov ecx, 0x80070057
call fcn.140001280
int3