Function at 0x14001fdf0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x270
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x2b0], rbx
mov rax, qword [0x14003e010]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov rbx, rdx
mov r14, rcx
mov qword [rsp + 0x38], rcx
call fcn.140001540
mov rcx, rax
test rax, rax
je 0x140020072
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.CurrentVersion
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea r8, [rsp + 0x50]
lea rdx, [0x14002e674]
lea rcx, [rsp + 0x38]
call fcn.14000b890
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 0x14001ff27
movzx ecx, ax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_iswspace]
test eax, eax
je 0x14001fed2
mov rax, rsi
test rdi, rdi
cmovne rax, rdi
mov rdi, rax
jmp 0x14001fed5
mov rdi, r15
add rsi, 2
movzx eax, word [rsi]
test ax, ax
jne 0x14001feb6
test rdi, rdi
je 0x14001ff27
sub rdi, rbx
sar rdi, 1
test edi, edi
js 0x14002007d
mov ecx, ebp
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14001ff13
mov edx, edi
lea rcx, [rsp + 0x38]
call fcn.14000b430
mov rbx, qword [rsp + 0x38]
cmp edi, dword [rbx - 0xc]
jg 0x140020093
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 0x14001ffeb
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 0x14001ff40
cmp rdi, rbx
je 0x14001ffeb
sub rdi, rbx
sar rdi, 1
mov edx, dword [rbx - 0x10]
test edx, edx
js 0x140020088
sub ebp, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edx
or eax, ebp
jge 0x14001ff86
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 0x14001ffcf
test rdx, rdx
jne 0x14001ffb5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], 0x16
jmp 0x140020056
lea eax, [rcx + 1]
movsxd rcx, eax
add rcx, rcx
cmp rcx, r8
jb 0x140020049
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
test esi, esi
js 0x140020067
cmp esi, dword [rbx - 0xc]
jg 0x140020067
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 0x14002001f
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 + 0x260]
xor rcx, rsp
call fcn.140027890
mov rbx, qword [rsp + 0x2b0]
add rsp, 0x270
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