Function at 0x1400121f0
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xc0
mov rax, qword [0x140165040]
xor rax, rsp
mov qword [rbp + 0xf], rax
mov rax, r8
mov qword [rbp - 0x19], rax
mov r15, qword [rbp + 0x7f]
xor ebx, ebx
mov r14d, ebx
mov dword [rbp - 0x5d], ebx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x29], xmm0
mov dword [rsp + 0x28], r9d
lea r8, [rbp - 0x61]
mov qword [rsp + 0x20], r8
lea r9, [rbp - 0x29]
mov r8, rax
call fcn.140010404
mov rsi, rax
shr rax, 0x27
not eax
test al, 1
jne 0x1400125c9
cmp byte [rbp - 0x61], bl
jne 0x140012274
movabs rsi, 0x8000000000
jmp 0x1400125c9
mov edx, 0x104
lea rcx, [rbp - 0x51]
call fcn.140009e14
nop
mov r12d, ebx
mov rsi, qword [rbp - 0x49]
mov rax, rsi
mov rdi, qword [rbp - 0x51]
sub rax, rdi
sar rax, 1
mov dword [rbp - 0x59], eax
mov r13, qword [rbp - 0x29]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
xor edx, edx
jmp 0x140012503
cmp ebx, 0xea
jne 0x1400122e4
sub rsi, rdi
sar rsi, 1
lea rdx, [rsi + 0x104]
lea rcx, [rbp - 0x51]
call fcn.1400068b0
mov rsi, qword [rbp - 0x49]
mov rdi, qword [rbp - 0x51]
jmp 0x1400124de
test ebx, ebx
jne 0x140012572
mov eax, dword [rbp - 0x59]
test eax, eax
jne 0x140012353
mov rcx, rsi
sub rcx, rdi
sar rcx, 1
lea edx, [rbx + 1]
cmp rcx, rdx
jbe 0x14001230a
lea rsi, [rdi + 2]
jmp 0x140012348
jae 0x14001234c
mov rax, qword [rbp - 0x41]
sub rax, rdi
sar rax, 1
cmp rax, rdx
jae 0x14001232e
lea rcx, [rbp - 0x51]
call fcn.14000788c
mov rsi, qword [rbp - 0x49]
mov rdi, qword [rbp - 0x51]
jmp 0x14001234c
mov rax, rdx
sub rax, rcx
lea rbx, [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rsi
call sub.VCRUNTIME140.dll_memset
add rsi, rbx
mov qword [rbp - 0x49], rsi
xor ecx, ecx
mov word [rdi], cx
jmp 0x140012367
mov rdx, rax
lea rcx, [rbp - 0x51]
call fcn.1400068b0
mov rsi, qword [rbp - 0x49]
mov rdi, qword [rbp - 0x51]
mov ecx, 0x40
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbx, rax
xor eax, eax
test rbx, rbx
je 0x14001263a
mov qword [rbp - 0x39], rbx
xorps xmm0, xmm0
movups xmmword [rbp - 0x11], xmm0
mov qword [rbp - 1], rax
mov qword [rbp + 7], rax
or r8, 0xffffffffffffffff
inc r8
cmp word [rdi + r8*2], ax
jne 0x140012397
mov rdx, rdi
lea rcx, [rbp - 0x11]
call fcn.140005d34
nop
or r14d, 1
mov dword [rbp - 0x5d], r14d
mov rdx, qword [rbp - 0x19]
mov rcx, rbx
call fcn.14000a190
nop
lea rcx, [rbx + 0x20]
lea rdx, [rbp - 0x11]
call fcn.14000a190
nop
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x39], xmm0
mov ecx, 0x18
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x14001256b
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rcx, vtable.std::_Ref_count_struct_AppV::Integration::PathValuePair_.0
mov qword [rax], rcx
mov qword [rax + 0x10], rbx
mov qword [rbp - 0x39], rbx
mov qword [rbp - 0x31], rax
mov rdx, qword [r15 + 8]
cmp rdx, qword [r15 + 0x10]
je 0x140012431
mov qword [rdx], rbx
mov qword [rdx + 8], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x39], xmm0
add qword [r15 + 8], 0x10
jmp 0x14001243e
lea r8, [rbp - 0x39]
mov rcx, r15
call fcn.140012bb8
nop
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x140012491
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140012485
mov rbx, qword [rbp - 0x31]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14003e430.0]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140012485
mov rcx, qword [rbp - 0x31]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14003e430.0]
mov r14d, dword [rbp - 0x5d]
mov rdi, qword [rbp - 0x51]
mov rsi, qword [rbp - 0x49]
test r14b, 1
je 0x1400124db
and r14d, 0xfffffffe
mov dword [rbp - 0x5d], r14d
mov rax, qword [rbp + 7]
cmp rax, 7
jbe 0x1400124db
lea rax, [rax*2 + 2]
mov rcx, qword [rbp - 0x11]
mov rdx, rcx
cmp rax, 0x1000
jb 0x1400124d5
mov rcx, qword [rcx - 8]
sub rdx, rcx
lea rax, [rdx - 8]
cmp rax, 0x1f
ja 0x140012564
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
inc r12d
mov rax, rsi
sub rax, rdi
sar rax, 1
mov dword [rbp - 0x59], eax
xor eax, eax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
mov edx, r12d
lea r9, [rbp - 0x59]
mov r8, rdi
mov rcx, qword [r13 + 0x20]
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
cmp eax, 0x103
mov ebx, eax
jne 0x1400122b9
movabs rsi, 0x8000000000
test rdi, rdi
je 0x1400125c9
mov rax, qword [rbp - 0x41]
sub rax, rdi
sar rax, 1
add rax, rax
mov rcx, rdi
cmp rax, 0x1000
jb 0x1400125bf
mov rdi, qword [rdi - 8]
sub rcx, rdi
lea rax, [rcx - 8]
cmp rax, 0x1f
jbe 0x1400125bf
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xbad_alloc_void_]
nop
mov edx, 0x5c
lea rcx, str.src_appvisvclientintegrationintegration_store_utils.cpp
call qword [sym.imp.VCRUNTIME140.dll_strrchr]
test rax, rax
je 0x14001258e
inc rax
jmp 0x140012595
lea rax, str.src_appvisvclientintegrationintegration_store_utils.cpp
mov rdx, rax
lea rcx, [0x1401712f0]
call fcn.140005a68
shl rax, 0x34
mov esi, ebx
or rsi, rax
movabs rax, 0x422100000000
or rsi, rax
jmp 0x14001252b
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
mov rcx, qword [rbp - 0x21]
test rcx, rcx
je 0x140012610
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140012610
mov rbx, qword [rbp - 0x21]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14003e430.0]
or ecx, 0xffffffff
lock xadd dword [rbx + 0xc], ecx
cmp ecx, 1
jne 0x140012610
mov rcx, qword [rbp - 0x21]
mov rdx, qword [rcx]
mov rax, qword [rdx + 8]
call qword [case.0x14003e430.0]
mov rax, rsi
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.1400e4b70
mov rbx, qword [rsp + 0x118]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14000f594
nop
jmp 0x140012642
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop