Function at 0x1400aca20
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, 0x288
movaps xmmword [rsp + 0x270], xmm6
mov r14, rdx
mov rbx, rcx
mov rax, qword [0x140418038]
xor rax, rsp
mov qword [rsp + 0x268], rax
lea rbp, [rsp + 0x248]
xorps xmm6, xmm6
movups xmmword [rbp], xmm6
mov qword [rbp - 8], rbp
xor eax, eax
lea rdx, [rsp + 0x23c]
mov dword [rdx], eax
lea r8, [rsp + 0x238]
mov dword [r8], eax
lea r9, [rsp + 0x234]
mov dword [r9], eax
lea r10, [rsp + 0x230]
mov dword [r10], eax
lea r11, [rsp + 0x22c]
mov dword [r11], eax
mov rcx, qword [r14]
movups xmmword [rsp + 0x50], xmm6
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x30], 0
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
je 0x1400acb06
mov esi, eax
mov ecx, 2
call fcn.1401de860
test al, al
jne 0x1400ad3ad
lea rcx, [rsp + 0x240]
mov rdx, qword [rcx + 8]
call fcn.1400ae190
xor edi, edi
jmp 0x1400ad4e9
mov ecx, dword [rsp + 0x238]
mov eax, dword [rsp + 0x230]
cmp ecx, eax
cmova eax, ecx
movaps xmmword [rsp + 0xd0], xmm6
mov qword [rsp + 0xe0], 0
inc eax
je 0x1400acb7b
mov edi, eax
lea rsi, [rdi + rdi]
mov rcx, rsi
call fcn.140240cd8
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rax
lea rcx, [rax + rdi*2]
mov qword [rsp + 0xe0], rcx
test rax, rax
je 0x1400ad517
mov word [rax], 0
add rax, 2
add rsi, 0xfffffffffffffffe
jne 0x1400acb5b
mov qword [rsp + 0xd8], rcx
mov eax, dword [rsp + 0x234]
test rax, rax
mov qword [rsp + 0x78], rbx
je 0x1400acfc3
imul rsi, rax, 0x38
mov rcx, rsi
call fcn.140240cd8
mov r15, rax
add rax, rsi
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x22c]
test eax, eax
mov esi, 1
cmovne esi, eax
mov rcx, rsi
call fcn.140240cd8
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rax
mov rcx, rax
add rcx, rsi
mov qword [rsp + 0xa0], rcx
test rax, rax
je 0x1400ad517
mov byte [rax], 0
inc rax
dec rsi
jne 0x1400acbde
lea rax, [rsp + 0x90]
mov qword [rax + 8], rcx
lea rax, [rsp + 0xcc]
mov dword [rax], 0
xor r12d, r12d
xorps xmm6, xmm6
mov rsi, r15
mov r8, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xd8]
mov rax, rcx
sub rax, r8
shr rax, 1
mov dword [rsp + 0x258], eax
mov rax, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
mov r9d, edx
sub r9d, eax
mov dword [rsp + 0xc8], r9d
cmp rdx, rax
je 0x1400ad543
cmp rcx, r8
je 0x1400ad543
mov rcx, qword [r14]
lea rdx, [rsp + 0xc8]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xcc]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
mov edx, r12d
lea r9, [rsp + 0x258]
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
cmp eax, 0xea
je 0x1400accbb
mov edi, eax
cmp eax, 0x103
jne 0x1400acd2b
mov dword [rsp + 0x234], r12d
jmp 0x1400acd18
mov edx, dword [rsp + 0xc8]
mov rax, qword [rsp + 0x98]
sub rax, qword [rsp + 0x90]
cmp rax, rdx
jae 0x1400acce7
sub rdx, rax
lea rcx, [rsp + 0x90]
call fcn.1401c8b30
mov edx, dword [rsp + 0x258]
inc edx
mov rax, qword [rsp + 0xd8]
sub rax, qword [rsp + 0xd0]
sar rax, 1
cmp rax, rdx
jae 0x1400acd18
sub rdx, rax
lea rcx, [rsp + 0xd0]
call fcn.1400a9ce0
cmp r12d, dword [rsp + 0x234]
jb 0x1400acc15
jmp 0x1400acfa2
test edi, edi
jne 0x1400ad335
cmp r15, qword [rsp + 0x68]
jae 0x1400acd62
test r15, r15
je 0x1400ad517
movups xmmword [r15 + 0x20], xmm6
movups xmmword [r15 + 0x10], xmm6
movups xmmword [r15], xmm6
mov dword [r15 + 0x30], 0
add r15, 0x38
jmp 0x1400ace52
mov rdi, r15
sub rdi, rsi
sar rdi, 3
movabs rax, 0x6db6db6db6db6db7
imul rdi, rax
lea rbx, [rdi + 1]
movabs rdx, 0x492492492492492
cmp rbx, rdx
ja 0x1400ad718
mov rcx, qword [rsp + 0x68]
sub rcx, rsi
sar rcx, 3
imul rcx, rax
lea rax, [rcx + rcx]
cmp rax, rbx
cmova rbx, rax
movabs rax, 0x249249249249249
cmp rcx, rax
cmovae rbx, rdx
test rbx, rbx
jne 0x1400acdc6
xor eax, eax
jmp 0x1400acdd8
cmp rbx, rdx
ja 0x1400ad71d
imul rcx, rbx, 0x38
call fcn.140240cd8
mov qword [rsp + 0x88], rbx
imul rdi, rdi, 0x38
mov qword [rsp + 0x68], rax
add rdi, rax
je 0x1400ad517
movups xmmword [rdi + 0x20], xmm6
movups xmmword [rdi + 0x10], xmm6
movups xmmword [rdi], xmm6
mov dword [rdi + 0x30], 0
mov rbp, rdi
mov rax, r15
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x70], r15
cmp r15, rsi
jne 0x1400aced3
imul rax, qword [rsp + 0x88], 0x38
add qword [rsp + 0x68], rax
mov r15, qword [rsp + 0x80]
add r15, 0x38
test rsi, rsi
je 0x1400ace47
mov rcx, rsi
call fcn.140240d14
mov rsi, rdi
lea rbp, [rsp + 0x248]
cmp rsi, r15
je 0x1400ad6ec
mov rdi, qword [rsp + 0x90]
cmp qword [rsp + 0x98], rdi
je 0x1400ad543
mov rdx, qword [rsp + 0xd0]
cmp qword [rsp + 0xd8], rdx
je 0x1400ad543
mov r13d, dword [rsp + 0xc8]
mov r8d, dword [rsp + 0x258]
mov ebx, dword [rsp + 0xcc]
test rdx, rdx
jne 0x1400aceac
test r8d, r8d
jne 0x1400ad722
lea rcx, [r15 - 0x38]
call fcn.1400c8e50
mov dword [r15 - 8], ebx
lea rcx, [r15 - 0x20]
add r13, rdi
mov rdx, rdi
mov r8, r13
call fcn.1400ada80
inc r12d
jmp 0x1400acd18
mov rdi, rbp
add rdi, 0xffffffffffffffc8
je 0x1400ad517
lea rbx, [r15 - 0x38]
cmp byte [r15 - 0x21], 0
js 0x1400acf71
mov rax, qword [rbx + 0x10]
mov qword [rdi + 0x10], rax
movups xmm0, xmmword [rbx]
movups xmmword [rdi], xmm0
movups xmmword [rbp - 0x20], xmm6
mov qword [rbp - 0x10], 0
mov r13, qword [r15 - 0x18]
sub r13, qword [r15 - 0x20]
jne 0x1400acf27
mov eax, dword [r15 - 8]
mov dword [rbp - 8], eax
mov rbp, rdi
mov r15, rbx
cmp rbx, rsi
jne 0x1400aced3
jmp 0x1400acf86
js 0x1400ad718
mov rcx, r13
call fcn.140240cd8
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov rcx, rax
add rcx, r13
mov qword [rbp - 0x10], rcx
mov rcx, qword [r15 - 0x20]
mov rdx, qword [r15 - 0x18]
cmp rcx, rdx
je 0x1400acf6b
test rax, rax
je 0x1400ad517
mov r8b, byte [rcx]
mov byte [rax], r8b
inc rcx
inc rax
jmp 0x1400acf4f
mov qword [rbp - 0x18], rax
jmp 0x1400acf13
mov rdx, qword [r15 - 0x38]
mov r8, qword [r15 - 0x30]
mov rcx, rdi
call fcn.1400c8ba0
jmp 0x1400acefd
mov rbx, qword [rsp + 0x70]
cmp rbx, rsi
je 0x1400ace20
add rbx, 0xffffffffffffffc8
mov rcx, rbx
call fcn.14028b010
jmp 0x1400acf8b
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x1400acfbc
mov qword [rsp + 0x98], rcx
call fcn.140240d14
mov rbx, qword [rsp + 0x78]
jmp 0x1400acfcf
xor esi, esi
xor r15d, r15d
xor eax, eax
mov qword [rsp + 0x68], rax
cmp dword [rsp + 0x23c], 0
je 0x1400ad2bf
mov qword [rsp + 0x70], r15
lea rbx, [rsp + 0xb0]
xor ebp, ebp
xorps xmm6, xmm6
lea r13, [rsp + 0xcc]
mov r15, qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
lea r12, [rsp + 0xd0]
mov r8, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xd8]
mov rcx, rax
sub rcx, r8
shr rcx, 1
mov dword [rsp + 0xcc], ecx
cmp rax, r8
je 0x1400ad543
mov rcx, qword [r14]
movups xmmword [rsp + 0x30], xmm6
movups xmmword [rsp + 0x20], xmm6
mov edx, ebp
mov r9, r13
call r15
cmp eax, 0xea
je 0x1400ad05d
mov edi, eax
cmp eax, 0x103
jne 0x1400ad0ae
mov dword [rsp + 0x23c], ebp
jmp 0x1400ad09c
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 0x1400ad08e
sub rdx, rcx
mov rcx, r12
call fcn.1400a9ce0
jmp 0x1400ad09c
jbe 0x1400ad09c
lea rax, [rax + rdx*2]
mov qword [rsp + 0xd8], rax
cmp ebp, dword [rsp + 0x23c]
jb 0x1400ad006
jmp 0x1400ad1ea
test edi, edi
jne 0x1400ad38f
movaps xmmword [rsp + 0x90], xmm6
mov qword [rsp + 0xa0], 0
movups xmmword [rbx], xmm6
mov qword [rsp + 0xa8], rbx
mov rax, qword [rsp + 0xd0]
cmp qword [rsp + 0xd8], rax
je 0x1400ad543
mov r12, rbx
mov qword [rsp + 0xf0], rax
lea rcx, [rsp + 0xf8]
lea rdx, [rsp + 0x90]
call fcn.1400adbc0
lea rcx, [rsp + 0x240]
lea rdx, [rsp + 0x258]
lea r8, [rsp + 0xf0]
call fcn.14028b630
mov rdx, qword [rsp + 0x118]
lea rcx, [rsp + 0x110]
call fcn.1400ae190
mov rbx, qword [rsp + 0xf8]
test rbx, rbx
je 0x1400ad180
mov rdi, qword [rsp + 0x100]
mov rcx, rbx
cmp rdi, rbx
je 0x1400ad173
add rdi, 0xffffffffffffffc8
mov rcx, rdi
call fcn.14028b010
cmp rdi, rbx
jne 0x1400ad15a
mov rcx, qword [rsp + 0xf8]
mov qword [rsp + 0x100], rbx
call fcn.140240d14
mov rdx, qword [rsp + 0xb0]
lea rcx, [rsp + 0xa8]
call fcn.1400ae190
mov rbx, qword [rsp + 0x90]
test rbx, rbx
je 0x1400ad1d8
mov rdi, qword [rsp + 0x98]
mov rcx, rbx
cmp rdi, rbx
je 0x1400ad1cb
add rdi, 0xffffffffffffffc8
mov rcx, rdi
call fcn.14028b010
cmp rdi, rbx
jne 0x1400ad1b2
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x98], rbx
call fcn.140240d14
inc ebp
mov rbx, r12
lea r12, [rsp + 0xd0]
jmp 0x1400ad09c
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0x90]
mov qword [rcx + 0x10], rax
movaps xmm0, xmmword [0x1403aa440]
movaps xmmword [rcx], xmm0
call fcn.1400f7dd0
mov rbx, qword [rsp + 0x240]
lea rbp, [rsp + 0x248]
cmp rbx, rbp
mov r15, qword [rsp + 0x70]
je 0x1400ad2ad
lea r12, [rsp + 0x90]
lea rdi, [rbx + 0x20]
cmp byte [rbx + 0x37], 0
mov r8, rdi
jns 0x1400ad245
mov r8, qword [rdi]
mov rdx, qword [r14]
mov rcx, r12
mov r9d, 0x20009
call fcn.1400f7f70
test eax, eax
jne 0x1400ad401
lea rcx, [rbx + 0x38]
mov rdx, r12
call fcn.1400aca20
test al, al
je 0x1400ad47d
test rbx, rbx
je 0x1400ad6c0
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400ad291
mov rax, rcx
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1400ad284
jmp 0x1400ad29d
mov rax, qword [rbx + 0x10]
cmp qword [rax], rbx
mov rbx, rax
jne 0x1400ad291
mov rbx, rax
lea rbp, [rsp + 0x248]
cmp rax, rbp
jne 0x1400ad235
lea rcx, [rsp + 0x90]
call fcn.1400f8090
mov rbx, qword [rsp + 0x78]
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
mov qword [rbx], rsi
mov qword [rbx + 8], r15
mov rdx, qword [rsp + 0x68]
mov qword [rbx + 0x10], rdx
mov rdx, qword [rbx + 0x18]
mov r8, qword [rsp + 0x240]
mov qword [rbx + 0x18], r8
mov qword [rsp + 0x240], rdx
lea r9, [rbx + 0x20]
mov rdx, qword [rbx + 0x20]
mov r10, qword [rsp + 0x248]
mov qword [rbx + 0x20], r10
mov qword [rsp + 0x248], rdx
mov r8, qword [rbx + 0x28]
mov r11, qword [rsp + 0x250]
mov qword [rbx + 0x28], r11
mov qword [rsp + 0x250], r8
test r11, r11
je 0x1400ad36a
mov qword [r10 + 0x10], r9
mov r8, qword [rsp + 0x250]
jmp 0x1400ad36e
mov ecx, 2
call fcn.1401de860
test al, al
jne 0x1400ad56f
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x1400ad49c
mov qword [rsp + 0x98], rcx
call fcn.140240d14
jmp 0x1400ad49c
mov qword [rbx + 0x18], r9
test r8, r8
je 0x1400ad379
mov qword [rdx + 0x10], rbp
jmp 0x1400ad381
mov qword [rsp + 0x240], rbp
mov dil, 1
mov rsi, rcx
mov r15, rax
jmp 0x1400ad49e
mov ecx, 2
call fcn.1401de860
test al, al
jne 0x1400ad5e3
xor edi, edi
mov r15, qword [rsp + 0x70]
jmp 0x1400ad49e
lea rdx, str.....chromeinstallerutil_registry_key_backup.cc
lea rdi, [rsp + 0xf0]
mov rcx, rdi
mov r8d, 0x82
mov r9d, 2
call fcn.1400e3550
lea rcx, [rsp + 0x100]
lea rdx, str.Failed_getting_info_of_key_to_backup__result:
mov r8d, 0x2e
call fcn.14027e630
mov rcx, rax
mov edx, esi
call fcn.140098a90
mov rcx, rdi
call fcn.1400e3a40
jmp 0x1400acaee
mov ebp, eax
mov ecx, 2
call fcn.1401de860
test al, al
je 0x1400ad48f
lea rdx, str.....chromeinstallerutil_registry_key_backup.cc
lea r14, [rsp + 0xf0]
mov rcx, r14
mov r8d, 0xd8
mov r9d, 2
call fcn.1400e3550
lea rcx, [rsp + 0x100]
lea rdx, str.Failed_opening_subkey__
mov r8d, 0x17
call fcn.14027e630
mov rcx, rax
mov rdx, rdi
call fcn.1400e3f70
lea rdx, str.__for_backup__result:
mov r8d, 0x16
mov rcx, rax
call fcn.14027e630
mov rcx, rax
mov edx, ebp
call fcn.140098a90
jmp 0x1400ad6b3
mov ecx, 2
call fcn.1401de860
test al, al
jne 0x1400ad656
lea rcx, [rsp + 0x90]
call fcn.1400f8090
xor edi, edi
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
je 0x1400ad4b8
mov qword [rsp + 0xd8], rcx
call fcn.140240d14
lea rcx, [rsp + 0x240]
mov rdx, qword [rcx + 8]
call fcn.1400ae190
test rsi, rsi
je 0x1400ad4e9
cmp r15, rsi
je 0x1400ad4e1
add r15, 0xffffffffffffffc8
mov rcx, r15
call fcn.14028b010
jmp 0x1400ad4ce
mov rcx, rsi
call fcn.140240d14
mov rcx, qword [rsp + 0x268]
xor rcx, rsp
call fcn.140242430
mov eax, edi
movaps xmm6, xmmword [rsp + 0x270]
add rsp, 0x288
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, str.null_pointer_given_to_construct_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude__memoryconstruct_at.h
lea r9, str.__location___nullptr
mov r8d, 0x23
call fcn.140280b90
lea rax, str.vector___index_out_of_bounds
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_vector
lea r9, str.__n___size__
mov r8d, 0x587
call fcn.140280b90
lea rdx, str.....chromeinstallerutil_registry_key_backup.cc
lea r14, [rsp + 0xf0]
mov rcx, r14
mov r8d, 0xa8
mov r9d, 2
call fcn.1400e3550
lea rcx, [rsp + 0x100]
lea rdx, str.Failed_backing_up_value
mov r8d, 0x18
call fcn.14027e630
mov rcx, rax
mov edx, r12d
call fcn.140098cd0
lea rdx, str.__result:
mov r8d, 0xa
mov rcx, rax
call fcn.14027e630
mov rcx, rax
mov edx, edi
call fcn.140098a90
mov rcx, r14
call fcn.1400e3a40
jmp 0x1400ad347
lea rdx, str.....chromeinstallerutil_registry_key_backup.cc
lea r14, [rsp + 0xf0]
mov rcx, r14
mov r8d, 0xc8
mov r9d, 2
call fcn.1400e3550
lea rcx, [rsp + 0x100]
lea rdx, str.Failed_getting_name_of_subkey
mov r8d, 0x1e
call fcn.14027e630
mov rcx, rax
mov edx, ebp
call fcn.140098cd0
lea rdx, str._for_backup__result:
mov r8d, 0x15
mov rcx, rax
call fcn.14027e630
mov rcx, rax
mov edx, edi
call fcn.140098a90
mov rcx, r14
call fcn.1400e3a40
jmp 0x1400ad3a1
lea rdx, str.....chromeinstallerutil_registry_key_backup.cc
lea r14, [rsp + 0xf0]
mov rcx, r14
mov r8d, 0xdd
mov r9d, 2
call fcn.1400e3550
lea rcx, [rsp + 0x100]
lea rdx, str.Failed_backing_up_subkey__
mov r8d, 0x1a
call fcn.14027e630
mov rcx, rax
mov rdx, rdi
call fcn.1400e3f70
lea rdx, [0x1403ac76b]
mov r8d, 1
mov rcx, rax
call fcn.14027e630
mov rcx, r14
call fcn.1400e3a40
jmp 0x1400ad48f
lea rax, str.node_shouldnt_be_null
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude__tree
lea r9, str.__x___nullptr
mov r8d, 0xc2
call fcn.140280b90
lea rax, str.back___called_on_an_empty_vector
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_vector
lea r9, str._empty__
mov r8d, 0x22a
call fcn.140280b90
call fcn.14025af90
call fcn.14027e620
lea rax, str.string::assign_received_nullptr
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_string
lea r9, str.__n__0____s___nullptr
mov r8d, 0x9a4
call fcn.140280b90
int3