Function at 0x14019f0d0
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, reloc.SHELL32.dll_IsUserAnAdmin
movaps xmmword [rsp + 0x290], xmm6
mov r12, rdx
mov r15, rcx
mov rax, qword [0x140213038]
xor rax, rsp
mov qword [rsp + 0x288], rax
xor eax, eax
mov qword [rsp + 0x130], rax
xorps xmm6, xmm6
movaps xmmword [rsp + 0x120], xmm6
lea r14, [rsp + 0x110]
movups xmmword [r14], xmm6
mov qword [r14 - 8], r14
lea rdx, [rsp + 0x104]
mov dword [rdx], eax
lea rbp, [rsp + 0x100]
mov dword [rbp], eax
lea rbx, [rsp + 0xfc]
mov dword [rbx], eax
lea rdi, [rsp + 0xf8]
mov dword [rdi], eax
lea rsi, [rsp + 0xf4]
mov dword [rsi], eax
mov rcx, qword [r12]
movups xmmword [rsp + 0x50], xmm6
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rdx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
je 0x14019f27c
mov esi, eax
mov ecx, 2
call fcn.1400d9610
test al, al
je 0x14019f1f7
lea rdx, str..._.._chrome_installer_util_registry_key_backup.cc
lea rdi, [rsp + 0x148]
mov rcx, rdi
mov r8d, 0x81
mov r9d, 2
call fcn.14004a520
lea rcx, [rsp + 0x158]
lea rdx, str.Failed_getting_info_of_key_to_backup__result:
mov r8d, 0x2e
call fcn.1400cf4f0
mov rcx, rax
mov edx, esi
call fcn.14001a0a0
mov rcx, rdi
call fcn.14004a9c0
xor esi, esi
lea rcx, [rsp + 0x108]
mov rdx, qword [rcx + 8]
call fcn.1400aa1f0
mov rbx, qword [rsp + 0x120]
test rbx, rbx
je 0x14019f24e
mov rdi, qword [rsp + 0x128]
cmp rdi, rbx
je 0x14019f845
add rdi, 0xffffffffffffffc8
mov rcx, rdi
call fcn.14019fe90
cmp rbx, rdi
jne 0x14019f228
mov rcx, qword [rsp + 0x120]
mov qword [rsp + 0x128], rbx
call fcn.140100564
mov rcx, qword [rsp + 0x288]
xor rcx, rsp
call fcn.1401013e0
mov eax, esi
movaps xmm6, xmmword [rsp + 0x290]
add rsp, reloc.SHELL32.dll_IsUserAnAdmin
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x80], r15
mov ebx, dword [rsp + 0x100]
mov eax, dword [rsp + 0xf8]
cmp ebx, eax
cmovb ebx, eax
movaps xmmword [rsp + 0xd0], xmm6
mov qword [rsp + 0xe0], 0
inc ebx
je 0x14019f2f4
lea rdi, [rbx + rbx]
mov rcx, rdi
call fcn.140100528
mov rsi, rax
mov qword [rsp + 0xd0], rax
lea rax, [rax + rbx*2]
mov qword [rsp + 0xe0], rax
test rdi, rdi
je 0x14019f2ec
mov rcx, rsi
xor edx, edx
mov r8, rdi
call fcn.140103d70
add rsi, rdi
mov qword [rsp + 0xd8], rsi
mov eax, dword [rsp + 0xfc]
test rax, rax
je 0x14019f862
imul rsi, rax, 0x38
mov rcx, rsi
call fcn.140100528
add rsi, rax
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], rsi
mov eax, dword [rsp + 0xf4]
test eax, eax
mov edi, 1
cmovne edi, eax
mov rcx, rdi
call fcn.140100528
mov rsi, rax
xor r13d, r13d
mov rcx, rax
xor edx, edx
mov r8, rdi
call fcn.140103d70
mov dword [rsp + 0x138], 0
cmp dword [rsp + 0xfc], 0
je 0x14019f84d
mov rax, rsi
add rax, rdi
lea r15, [rsp + 0xcc]
lea rbp, [rsp + 0x138]
xorps xmm6, xmm6
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x70], rax
xor r12d, r12d
mov r8, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xd8]
sub rax, r8
shr rax, 1
mov dword [rsp + 0x90], eax
mov rbx, qword [rsp + 0x60]
sub rbx, rsi
mov dword [rsp + 0xcc], ebx
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax]
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], 0
mov edx, r12d
lea r9, [rsp + 0x90]
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
test eax, eax
je 0x14019f466
mov edi, eax
cmp eax, 0xea
je 0x14019f419
cmp edi, 0x103
jne 0x14019fd2f
mov dword [rsp + 0xfc], r12d
jmp 0x14019f579
mov r14, rsi
mov esi, dword [rsp + 0xcc]
cmp rbx, rsi
jae 0x14019f53b
mov rdi, rsi
sub rdi, rbx
mov rax, qword [rsp + 0x70]
sub rax, qword [rsp + 0x60]
cmp rax, rdi
jb 0x14019f7ae
test rdi, rdi
je 0x14019f53b
mov rcx, qword [rsp + 0x60]
lea rsi, [rcx + rdi]
xor edx, edx
mov r8, rdi
call fcn.140103d70
jmp 0x14019f540
mov qword [rsp + 0x88], rsi
mov dword [rsp + 0x14b], r13d
mov dword [rsp + 0x148], r13d
mov r15, qword [rsp + 0x128]
mov rax, qword [rsp + 0x130]
cmp r15, rax
jae 0x14019f58c
movups xmmword [r15], xmm6
mov eax, dword [rsp + 0x148]
mov ecx, dword [rsp + 0x14b]
mov dword [r15 + 0x10], eax
mov dword [r15 + 0x13], ecx
mov byte [r15 + 0x17], 0
movups xmmword [r15 + 0x18], xmm6
mov qword [r15 + 0x28], 0
mov dword [r15 + 0x30], 0
add r15, 0x38
mov qword [rsp + 0x128], r15
mov rdi, qword [rsp + 0x128]
mov ebx, dword [rsp + 0xcc]
mov esi, dword [rsp + 0x138]
mov r8d, dword [rsp + 0x90]
mov rdx, qword [rsp + 0xd0]
lea rcx, [rdi - 0x38]
call fcn.1400d5da0
mov dword [rdi - 8], esi
add rdi, 0xffffffffffffffe0
mov rsi, qword [rsp + 0x88]
add rbx, rsi
mov rcx, rdi
mov rdx, rsi
mov r8, rbx
call fcn.140075370
inc r12d
lea r15, [rsp + 0xcc]
lea rbp, [rsp + 0x138]
jmp 0x14019f579
mov rsi, qword [rsp + 0x60]
mov edx, dword [rsp + 0x90]
inc edx
mov rax, qword [rsp + 0xd8]
sub rax, qword [rsp + 0xd0]
sar rax, 1
cmp rax, rdx
jae 0x14019f571
sub rdx, rax
lea rcx, [rsp + 0xd0]
call fcn.1400aa260
mov qword [rsp + 0x60], rsi
mov rsi, r14
cmp r12d, dword [rsp + 0xfc]
jb 0x14019f396
jmp 0x14019f84d
mov r13, qword [rsp + 0x120]
mov rsi, r15
sub rsi, r13
sar rsi, 3
movabs rbp, 0x6db6db6db6db6db7
imul rsi, rbp
lea rcx, [rsi + 1]
movabs rdx, 0x492492492492492
cmp rcx, rdx
ja 0x14019fe62
sub rax, r13
sar rax, 3
imul rax, rbp
lea rdi, [rax + rax]
cmp rdi, rcx
cmovb rdi, rcx
movabs rcx, 0x249249249249249
cmp rax, rcx
cmovae rdi, rdx
test rdi, rdi
je 0x14019f76f
cmp rdi, rdx
ja 0x14019fe6f
imul rcx, rdi, 0x38
call fcn.140100528
imul rcx, rsi, 0x38
lea rsi, [rax + rcx]
imul rbp, rdi, 0x38
add rbp, rax
lea r14, [rax + rcx]
add r14, 0x38
movups xmmword [r14 - 0x38], xmm6
mov eax, dword [rsp + 0x148]
mov ecx, dword [rsp + 0x14b]
mov dword [r14 - 0x28], eax
mov dword [r14 - 0x25], ecx
mov byte [r14 - 0x21], 0
movups xmmword [r14 - 0x20], xmm6
mov qword [r14 - 0x10], 0
mov dword [r14 - 8], 0
cmp r15, r13
je 0x14019f776
mov dword [rsp + 0x6c], r12d
sub r13, r15
add r15, 0xffffffffffffffc8
xor r12d, r12d
cmp byte [r15 + r12 + 0x17], 0
js 0x14019f709
mov rax, qword [r15 + r12 + 0x10]
mov qword [rsi + r12 - 0x28], rax
movups xmm0, xmmword [r15 + r12]
movups xmmword [rsi + r12 - 0x38], xmm0
movups xmmword [rsi + r12 - 0x20], xmm6
mov qword [rsi + r12 - 0x10], 0
mov rbx, qword [r15 + r12 + 0x20]
sub rbx, qword [r15 + r12 + 0x18]
je 0x14019f6f0
test rbx, rbx
js 0x14019fe74
mov rcx, rbx
call fcn.140100528
mov rdi, rax
mov qword [rsi + r12 - 0x18], rax
mov qword [rsi + r12 - 0x20], rax
add rbx, rax
mov qword [rsi + r12 - 0x10], rbx
mov rdx, qword [r15 + r12 + 0x18]
mov rbx, qword [r15 + r12 + 0x20]
sub rbx, rdx
test rbx, rbx
jle 0x14019f6eb
mov rcx, rdi
mov r8, rbx
call fcn.140103960
add rdi, rbx
mov qword [rsi + r12 - 0x18], rdi
mov eax, dword [r15 + r12 + 0x30]
mov dword [rsi + r12 - 8], eax
add r12, 0xffffffffffffffc8
cmp r13, r12
jne 0x14019f669
jmp 0x14019f724
lea rcx, [rsi + r12]
add rcx, 0xffffffffffffffc8
mov rdx, qword [r15 + r12]
mov r8, qword [r15 + r12 + 8]
call fcn.1400d5aa0
jmp 0x14019f68a
mov r15, qword [rsp + 0x120]
mov rdi, qword [rsp + 0x128]
add rsi, r12
mov qword [rsp + 0x120], rsi
mov qword [rsp + 0x128], r14
mov qword [rsp + 0x130], rbp
cmp rdi, r15
je 0x14019f7a7
mov r12d, dword [rsp + 0x6c]
xor r13d, r13d
add rdi, 0xffffffffffffffc8
mov rcx, rdi
call fcn.14019fe90
cmp r15, rdi
jne 0x14019f75c
jmp 0x14019f791
xor eax, eax
jmp 0x14019f605
mov qword [rsp + 0x120], rsi
mov qword [rsp + 0x128], r14
mov qword [rsp + 0x130], rbp
xor r13d, r13d
test r15, r15
je 0x14019f4d7
mov rcx, r15
call fcn.140100564
jmp 0x14019f4d7
mov r12d, dword [rsp + 0x6c]
jmp 0x14019f78e
mov rbp, r15
mov rdx, qword [rsp + 0x70]
sub rdx, r14
lea rax, [rdx + rdx]
cmp rax, rsi
cmovb rax, rsi
movabs rcx, 0x3fffffffffffffff
cmp rdx, rcx
mov rcx, rax
movabs rax, 0x7fffffffffffffff
cmovae rcx, rax
test rcx, rcx
mov qword [rsp + 0x70], rcx
je 0x14019fe81
call fcn.140100528
mov r15, rax
lea rcx, [r15 + rbx]
xor edx, edx
mov r8, rdi
call fcn.140103d70
test rbx, rbx
jle 0x14019f81d
cmp rbx, 2
jne 0x14019fdd8
movzx eax, word [r14]
mov word [r15], ax
add qword [rsp + 0x70], r15
add rsi, r15
test r14, r14
je 0x14019f832
mov rcx, r14
call fcn.140100564
mov r14, r15
mov r15, rbp
lea rbp, [rsp + 0x138]
jmp 0x14019f540
mov rcx, rbx
jmp 0x14019f241
test rsi, rsi
lea r14, [rsp + 0x110]
je 0x14019f862
mov rcx, rsi
call fcn.140100564
cmp dword [rsp + 0x104], 0
je 0x14019fc45
lea r12, [rsp + 0xb0]
xor esi, esi
xorps xmm6, xmm6
lea rbp, [rsp + 0xcc]
mov r13, qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
lea r14, [rsp + 0xd0]
lea r15, [rsp + 0x148]
mov rbx, qword [rsp + 0x78]
mov r8, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xd8]
sub rax, r8
shr rax, 1
mov dword [rsp + 0xcc], eax
mov rcx, qword [rbx]
movups xmmword [rsp + 0x30], xmm6
movups xmmword [rsp + 0x20], xmm6
mov edx, esi
mov r9, rbp
call r13
cmp eax, 0xea
je 0x14019f8f8
mov edi, eax
cmp eax, 0x103
jne 0x14019f939
mov dword [rsp + 0x104], esi
cmp esi, dword [rsp + 0x104]
jb 0x14019f8a1
jmp 0x14019fa5d
mov edx, dword [rsp + 0xcc]
inc edx
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xd8]
sub rcx, rax
sar rcx, 1
cmp rcx, rdx
jae 0x14019f929
sub rdx, rcx
mov rcx, r14
call fcn.1400aa260
jmp 0x14019f8ea
jbe 0x14019f8ea
lea rax, [rax + rdx*2]
mov qword [rsp + 0xd8], rax
jmp 0x14019f8ea
test edi, edi
jne 0x14019fbb7
movaps xmmword [rsp + 0x90], xmm6
mov qword [rsp + 0xa0], 0
movups xmmword [r12], xmm6
mov qword [rsp + 0xa8], r12
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x148], rax
lea rcx, [rsp + 0x150]
lea rdx, [rsp + 0x90]
call fcn.1400aa060
lea rcx, [rsp + 0x108]
lea rdx, [rsp + 0x138]
mov r8, r15
call fcn.1401a0ad0
mov rdx, qword [rsp + 0x170]
lea rcx, [rsp + 0x168]
call fcn.1400aa1f0
mov rbx, qword [rsp + 0x150]
test rbx, rbx
je 0x14019f9f8
mov rdi, qword [rsp + 0x158]
cmp rdi, rbx
je 0x14019fdc8
add rdi, 0xffffffffffffffc8
mov rcx, rdi
call fcn.14019fe90
cmp rbx, rdi
jne 0x14019f9d2
mov rcx, qword [rsp + 0x150]
mov qword [rsp + 0x158], rbx
call fcn.140100564
mov rdx, qword [rsp + 0xb0]
lea rcx, [rsp + 0xa8]
call fcn.1400aa1f0
mov rbx, qword [rsp + 0x90]
test rbx, rbx
je 0x14019fa51
mov rdi, qword [rsp + 0x98]
cmp rdi, rbx
je 0x14019fdd0
add rdi, 0xffffffffffffffc8
mov rcx, rdi
call fcn.14019fe90
cmp rbx, rdi
jne 0x14019fa2b
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x98], rbx
call fcn.140100564
inc esi
mov rbx, qword [rsp + 0x78]
jmp 0x14019f8ea
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0x90]
mov qword [rcx + 0x10], rax
movaps xmm0, xmmword [0x1401d9dd0]
movaps xmmword [rcx], xmm0
call fcn.140054aa0
mov rbp, qword [rsp + 0x108]
lea r14, [rsp + 0x110]
cmp rbp, r14
je 0x14019fc38
lea rbx, [rsp + 0x90]
lea rsi, [rbp + 0x20]
cmp byte [rbp + 0x37], 0
js 0x14019faff
mov r8, rsi
mov rax, qword [rsp + 0x78]
mov rdx, qword [rax]
mov rcx, rbx
mov r9d, 0x20009
call fcn.140054c40
test eax, eax
jne 0x14019fb24
lea rcx, [rbp + 0x38]
mov rdx, rbx
call fcn.14019f0d0
test al, al
je 0x14019fdeb
mov rcx, qword [rbp + 8]
test rcx, rcx
je 0x14019fb04
mov rax, rcx
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14019fae7
mov rbp, rax
cmp rax, r14
jne 0x14019faa3
jmp 0x14019fc38
mov r8, qword [rsi]
jmp 0x14019fab0
mov rax, qword [rbp + 0x10]
cmp qword [rax], rbp
je 0x14019faf2
add rbp, 0x10
mov rcx, qword [rbp]
lea rbp, [rcx + 0x10]
mov rax, qword [rcx + 0x10]
cmp qword [rax], rcx
jne 0x14019fb11
jmp 0x14019faf2
mov edi, eax
mov ecx, 2
call fcn.1400d9610
test al, al
je 0x14019fba3
lea rdx, str..._.._chrome_installer_util_registry_key_backup.cc
lea rbx, [rsp + 0x148]
mov rcx, rbx
mov r8d, 0xd7
mov r9d, 2
call fcn.14004a520
lea rcx, [rsp + 0x158]
lea rdx, str.Failed_opening_subkey__
mov r8d, 0x17
call fcn.1400cf4f0
mov rcx, rax
mov rdx, rsi
call fcn.14004b410
lea rdx, str.__for_backup__result:
mov r8d, 0x16
mov rcx, rax
call fcn.1400cf4f0
mov rcx, rax
mov edx, edi
call fcn.14001a0a0
mov rcx, rbx
call fcn.14004a9c0
lea rcx, [rsp + 0x90]
call fcn.140054da0
xor esi, esi
jmp 0x14019fcfc
mov ecx, 2
call fcn.1400d9610
test al, al
je 0x14019fbb0
lea rdx, str..._.._chrome_installer_util_registry_key_backup.cc
lea rbx, [rsp + 0x148]
mov rcx, rbx
mov r8d, 0xc7
mov r9d, 2
call fcn.14004a520
lea rcx, [rsp + 0x158]
lea rdx, str.Failed_getting_name_of_subkey
mov r8d, 0x1e
call fcn.1400cf4f0
mov rcx, rax
mov edx, esi
call fcn.14001a2d0
lea rdx, str._for_backup__result:
mov r8d, 0x15
mov rcx, rax
call fcn.1400cf4f0
mov rcx, rax
mov edx, edi
call fcn.14001a0a0
mov rcx, rbx
call fcn.14004a9c0
jmp 0x14019fbb0
lea rcx, [rsp + 0x90]
call fcn.140054da0
mov rdi, qword [rsp + 0x80]
mov rax, qword [rdi]
mov rcx, qword [rsp + 0x120]
mov qword [rdi], rcx
mov qword [rsp + 0x120], rax
mov rax, qword [rdi + 8]
mov rcx, qword [rsp + 0x128]
mov qword [rdi + 8], rcx
mov qword [rsp + 0x128], rax
mov rax, qword [rdi + 0x10]
mov rcx, qword [rsp + 0x130]
mov qword [rdi + 0x10], rcx
mov qword [rsp + 0x130], rax
mov rax, qword [rdi + 0x18]
mov rcx, qword [rsp + 0x108]
mov qword [rdi + 0x18], rcx
mov qword [rsp + 0x108], rax
lea rdx, [rdi + 0x20]
mov rax, qword [rdi + 0x20]
mov rbp, qword [rsp + 0x110]
mov qword [rdi + 0x20], rbp
mov qword [rsp + 0x110], rax
mov rcx, qword [rdi + 0x28]
mov rbx, qword [rsp + 0x118]
mov qword [rdi + 0x28], rbx
mov qword [rsp + 0x118], rcx
test rbx, rbx
je 0x14019fd1f
mov qword [rbp + 0x10], rdx
mov rcx, qword [rsp + 0x118]
test rcx, rcx
je 0x14019fd25
mov qword [rax + 0x10], r14
mov sil, 1
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
je 0x14019f1f9
mov qword [rsp + 0xd8], rcx
call fcn.140100564
jmp 0x14019f1f9
mov qword [rdi + 0x18], rdx
jmp 0x14019fcf0
mov qword [rsp + 0x108], r14
jmp 0x14019fcf9
mov ecx, 2
call fcn.1400d9610
test al, al
je 0x14019fdb2
lea rdx, str..._.._chrome_installer_util_registry_key_backup.cc
mov rbx, rsi
lea rsi, [rsp + 0x148]
mov rcx, rsi
mov r8d, 0xa7
mov r9d, 2
call fcn.14004a520
lea rcx, [rsp + 0x158]
lea rdx, str.Failed_backing_up_value
mov r8d, 0x18
call fcn.1400cf4f0
mov rcx, rax
mov edx, r12d
call fcn.14001a2d0
lea rdx, str.__result:
mov r8d, 0xa
mov rcx, rax
call fcn.1400cf4f0
mov rcx, rax
mov edx, edi
call fcn.14001a0a0
mov rcx, rsi
mov rsi, rbx
call fcn.14004a9c0
test rsi, rsi
je 0x14019fbb0
mov rcx, rsi
call fcn.140100564
jmp 0x14019fbb0
mov rcx, rbx
jmp 0x14019f9eb
mov rcx, rbx
jmp 0x14019fa44
mov rcx, r15
mov rdx, r14
mov r8, rbx
call fcn.140103960
jmp 0x14019f81d
mov ecx, 2
call fcn.1400d9610
test al, al
je 0x14019fba3
lea rdx, str..._.._chrome_installer_util_registry_key_backup.cc
lea rdi, [rsp + 0x148]
mov rcx, rdi
mov r8d, 0xdc
mov r9d, 2
call fcn.14004a520
lea rcx, [rsp + 0x158]
lea rdx, str.Failed_backing_up_subkey__
mov r8d, 0x1a
call fcn.1400cf4f0
mov rcx, rax
mov rdx, rsi
call fcn.14004b410
lea rdx, [0x1401e1eba]
mov r8d, 1
mov rcx, rax
call fcn.1400cf4f0
mov rcx, rdi
jmp 0x14019fb9e
lea rcx, [rsp + 0x120]
call fcn.140131070
call fcn.1401143a0
lea rcx, [r12 + rsi]
add rcx, 0xffffffffffffffe0
call fcn.140131070
xor r15d, r15d
jmp 0x14019f7f8