Function at 0x140049a04
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, 0x2b8
movaps xmmword [rsp + 0x2a0], xmm7
movaps xmmword [rsp + 0x290], xmm6
mov rbx, rcx
mov rax, qword [0x14021f030]
xor rax, rsp
mov qword [rsp + 0x288], rax
xor eax, eax
mov qword [rsp + 0x280], rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0x270], xmm0
lea rcx, [rsp + 0x260]
movups xmmword [rcx], xmm0
mov qword [rcx - 8], rcx
lea rsi, [rsp + 0x254]
mov dword [rsi], eax
lea r8, [rsp + 0x250]
mov dword [r8], eax
lea r9, [rsp + 0x24c]
mov dword [r9], eax
lea r10, [rsp + 0x248]
mov dword [r10], eax
lea r11, [rsp + 0x244]
mov dword [r11], eax
mov qword [rsp + 0x68], rdx
mov rcx, qword [rdx + 8]
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], rsi
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
je 0x140049b3a
mov esi, eax
mov ecx, 2
call fcn.1400ad460
test al, al
je 0x140049b33
lea rdx, str.....chromeinstallerutil_registry_key_backup.cc
lea rdi, [rsp + 0x100]
mov rcx, rdi
mov r8d, 0x82
mov r9d, 2
call fcn.1400ad510
lea rcx, [rsp + 0x110]
lea rdx, str.Failed_getting_info_of_key_to_backup__result:
mov r8d, 0x2e
call fcn.14002e9c2
mov rcx, rax
mov edx, esi
call fcn.1400256d2
mov rcx, rdi
call fcn.1400ad9f0
xor esi, esi
jmp 0x14004a447
mov eax, dword [rsp + 0x250]
mov edx, dword [rsp + 0x248]
cmp eax, edx
cmova edx, eax
inc edx
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0xe0]
mov qword [rcx + 0x10], rax
movaps xmm6, xmmword [0x1401e7440]
movaps xmmword [rcx], xmm6
call fcn.140042668
mov edx, dword [rsp + 0x24c]
test rdx, rdx
mov qword [rsp + 0x78], rbx
je 0x140049f74
mov rax, qword [rsp + 0x270]
mov rcx, qword [rsp + 0x280]
sub rcx, rax
sar rcx, 3
movabs r8, 0x6db6db6db6db6db7
imul rcx, r8
cmp rcx, rdx
jae 0x140049c11
lea r9, [rsp + 0x288]
lea rsi, [rsp + 0x100]
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rsi + 0x20], rcx
movaps xmmword [rsi + 0x10], xmm6
movaps xmmword [rsi], xmm6
mov r8, qword [r9 - 0x10]
sub r8, rax
sar r8, 3
movabs rax, 0x6db6db6db6db6db7
imul r8, rax
mov rcx, rsi
call fcn.14004ac26
lea rcx, [rsp + 0x270]
mov rdx, rsi
call fcn.14004ac92
mov rcx, rsi
call fcn.14004ad0a
lea rcx, [rsp + 0xc0]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rcx + 0x10], rax
movaps xmmword [rcx], xmm6
mov edx, dword [rsp + 0x244]
cmp edx, 1
adc edx, 0
call fcn.14004a4fa
mov dword [rsp + 0xb8], 0
cmp dword [rsp + 0x24c], 0
je 0x140049f57
xor r14d, r14d
lea r13, [rsp + 0xb4]
lea r12, [rsp + 0xb8]
mov r15, qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
xorps xmm7, xmm7
lea rbp, [rsp + 0x100]
mov r8, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xe8]
mov rax, rcx
sub rax, r8
shr rax, 1
mov dword [rsp + 0xbc], eax
mov rax, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xc8]
mov r9d, edx
sub r9d, eax
mov dword [rsp + 0xb4], r9d
cmp rdx, rax
je 0x14004a49b
cmp rcx, r8
je 0x14004a49b
mov rcx, qword [rsp + 0x68]
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], 0
mov edx, r14d
lea r9, [rsp + 0xbc]
call r15
test eax, eax
je 0x140049d1f
mov esi, eax
cmp eax, 0xea
je 0x140049d73
cmp esi, 0x103
jne 0x14004a27f
mov dword [rsp + 0x24c], r14d
jmp 0x140049f49
movaps xmmword [rsp + 0x120], xmm7
movaps xmmword [rsp + 0x110], xmm7
movaps xmmword [rsp + 0x100], xmm7
mov dword [rsp + 0x130], 0
mov rsi, qword [rsp + 0x278]
mov rax, qword [rsp + 0x280]
cmp rsi, rax
jae 0x140049dd3
mov rcx, rsi
mov rdx, rbp
call fcn.14004ad4e
add rsi, 0x38
mov qword [rsp + 0x278], rsi
jmp 0x140049ea6
mov edx, dword [rsp + 0xb4]
mov rax, qword [rsp + 0xc8]
sub rax, qword [rsp + 0xc0]
cmp rax, rdx
jae 0x140049d9c
lea rcx, [rsp + 0xc0]
call fcn.14003ab66
mov edx, dword [rsp + 0xbc]
inc edx
mov rax, qword [rsp + 0xe8]
sub rax, qword [rsp + 0xe0]
sar rax, 1
cmp rax, rdx
jae 0x140049f49
lea rcx, [rsp + 0xe0]
call fcn.14003ca90
jmp 0x140049f49
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xa0], rcx
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0x80], xmm6
mov rcx, qword [rsp + 0x270]
sub rsi, rcx
sar rsi, 3
movabs r8, 0x6db6db6db6db6db7
imul rsi, r8
lea rdx, [rsi + 1]
movabs r9, 0x492492492492492
cmp rdx, r9
ja 0x14004a4f3
sub rax, rcx
sar rax, 3
imul rax, r8
lea rcx, [rax + rax]
cmp rcx, rdx
cmova rdx, rcx
movabs rcx, 0x249249249249249
cmp rax, rcx
movabs rax, 0x492492492492492
cmovae rdx, rax
lea rbx, [rsp + 0x80]
mov rcx, rbx
mov r8, rsi
lea r9, [rsp + 0x288]
call fcn.14004ac26
mov rcx, qword [rsp + 0x90]
mov rdx, rbp
call fcn.14004ad4e
add qword [rsp + 0x90], 0x38
lea rcx, [rsp + 0x270]
mov rdx, rbx
call fcn.14004ac92
mov rcx, rbx
call fcn.14004ad0a
mov rcx, rbp
call fcn.14004a536
mov rsi, qword [rsp + 0x278]
cmp qword [rsp + 0x270], rsi
je 0x14004a4c7
mov rdi, r15
mov r15, qword [rsp + 0xc0]
cmp qword [rsp + 0xc8], r15
je 0x14004a49b
mov rdx, qword [rsp + 0xe0]
cmp qword [rsp + 0xe8], rdx
je 0x14004a49b
lea rcx, [rsi - 0x38]
mov dword [rsp + 0x74], r14d
mov rbx, r12
mov r12, r13
mov r14d, dword [rsp + 0xb4]
mov r8d, dword [rsp + 0xbc]
mov r13d, dword [rsp + 0xb8]
call fcn.14004adcc
mov dword [rsi - 8], r13d
add rsi, 0xffffffffffffffe0
add r14, r15
mov rcx, rsi
mov rdx, r15
mov r8, r14
mov r13, r12
mov r12, rbx
mov r14d, dword [rsp + 0x74]
call fcn.14004ae10
inc r14d
mov r15, rdi
cmp r14d, dword [rsp + 0x24c]
jb 0x140049c7a
lea rcx, [rsp + 0x100]
lea rax, [rsp + 0xc0]
mov qword [rcx], rax
call fcn.14003981a
mov rbx, qword [rsp + 0x78]
cmp dword [rsp + 0x254], 0
je 0x14004a197
lea r13, [rsp + 0x98]
lea r12, [rsp + 0xa0]
lea r15, [rsp + 0x108]
xor ebx, ebx
xorps xmm7, xmm7
lea rdi, [rsp + 0xbc]
mov rsi, qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
lea rbp, [rsp + 0x80]
mov r8, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xe8]
mov rcx, rax
sub rcx, r8
shr rcx, 1
mov dword [rsp + 0xbc], ecx
cmp rax, r8
je 0x14004a49b
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 8]
movups xmmword [rsp + 0x30], xmm7
movups xmmword [rsp + 0x20], xmm7
mov edx, ebx
mov r9, rdi
call rsi
test eax, eax
je 0x14004a024
mov r14d, eax
cmp eax, 0xea
je 0x14004a0c4
cmp r14d, 0x103
jne 0x14004a1f9
mov dword [rsp + 0x254], ebx
jmp 0x14004a0da
movaps xmmword [rsp + 0x80], xmm7
mov qword [rsp + 0x90], 0
movups xmmword [r12], xmm7
mov qword [rsp + 0x98], r12
mov rax, qword [rsp + 0xe0]
cmp qword [rsp + 0xe8], rax
je 0x14004a49b
mov qword [rsp + 0x100], rax
mov rcx, r15
mov rdx, rbp
call fcn.14004af38
lea rcx, [rsp + 0x258]
lea rdx, [rsp + 0xc0]
lea r8, [rsp + 0x100]
call fcn.14004b552
mov rdx, qword [rsp + 0x128]
lea rcx, [rsp + 0x120]
call fcn.14004b50e
mov rcx, r15
call fcn.1400499b8
mov rdx, qword [rsp + 0xa0]
mov rcx, r13
call fcn.14004b50e
mov rcx, rbp
call fcn.1400499b8
inc ebx
jmp 0x14004a0da
mov edx, dword [rsp + 0xbc]
inc edx
lea rcx, [rsp + 0xe0]
call fcn.14003ca90
cmp ebx, dword [rsp + 0x254]
jb 0x140049fb6
lea rcx, [rsp + 0x80]
movaps xmmword [rcx + 0x10], xmm6
movaps xmmword [rcx], xmm6
call fcn.14008b410
mov rax, qword [rsp + 0x258]
mov qword [rsp + 0xc0], rax
lea r15, [rsp + 0x260]
cmp rax, r15
je 0x14004a185
lea rbx, [rsp + 0x80]
lea r14, [rsp + 0xc0]
lea r8, [rax + 0x20]
cmp byte [rax + 0x37], 0
jns 0x14004a135
mov r8, qword [r8]
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax + 8]
mov rcx, rbx
mov r9d, 0x20009
call fcn.14008aa20
test eax, eax
jne 0x14004a319
mov rcx, qword [rsp + 0xc0]
add rcx, 0x38
mov rdx, rbx
call fcn.140049a04
test al, al
je 0x14004a3a2
mov rcx, r14
call fcn.14004b388
mov rax, qword [rsp + 0xc0]
cmp rax, r15
jne 0x14004a128
lea rcx, [rsp + 0x80]
call fcn.14008b520
mov rbx, qword [rsp + 0x78]
mov rax, qword [rbx]
mov rcx, qword [rsp + 0x270]
mov qword [rbx], rcx
mov qword [rsp + 0x270], rax
mov rax, qword [rbx + 8]
mov rcx, qword [rsp + 0x278]
mov qword [rbx + 8], rcx
mov qword [rsp + 0x278], rax
mov rax, qword [rbx + 0x10]
mov rcx, qword [rsp + 0x280]
mov qword [rbx + 0x10], rcx
mov qword [rsp + 0x280], rax
add rbx, 0x18
lea rdx, [rsp + 0x258]
mov rcx, rbx
call fcn.14004b686
mov sil, 1
jmp 0x14004a42d
mov ecx, 2
call fcn.1400ad460
test al, al
je 0x14004a42b
lea rdx, str.....chromeinstallerutil_registry_key_backup.cc
lea rsi, [rsp + 0x100]
mov rcx, rsi
mov r8d, 0xc8
mov r9d, 2
call fcn.1400ad510
lea rcx, [rsp + 0x110]
lea rdx, str.Failed_getting_name_of_subkey
mov r8d, 0x1e
call fcn.14002e9c2
mov rcx, rax
mov edx, ebx
call fcn.1400258ea
lea rdx, str._for_backup__result:
mov r8d, 0x15
mov rcx, rax
call fcn.14002e9c2
mov rcx, rax
mov edx, r14d
call fcn.1400256d2
mov rcx, rsi
call fcn.1400ad9f0
jmp 0x14004a42b
mov ecx, 2
call fcn.1400ad460
test al, al
je 0x14004a2fc
lea rdx, str.....chromeinstallerutil_registry_key_backup.cc
lea rdi, [rsp + 0x100]
mov rcx, rdi
mov r8d, 0xa8
mov r9d, 2
call fcn.1400ad510
lea rcx, [rsp + 0x110]
lea rdx, str.Failed_backing_up_value
mov r8d, 0x18
call fcn.14002e9c2
mov rcx, rax
mov edx, r14d
call fcn.1400258ea
lea rdx, str.__result:
mov r8d, 0xa
mov rcx, rax
call fcn.14002e9c2
mov rcx, rax
mov edx, esi
call fcn.1400256d2
mov rcx, rdi
call fcn.1400ad9f0
lea rcx, [rsp + 0x100]
lea rax, [rsp + 0xc0]
mov qword [rcx], rax
call fcn.14003981a
jmp 0x14004a42b
mov esi, eax
mov ecx, 2
call fcn.1400ad460
test al, al
je 0x14004a41e
lea rdx, str.....chromeinstallerutil_registry_key_backup.cc
lea rdi, [rsp + 0x100]
mov rcx, rdi
mov r8d, 0xd8
mov r9d, 2
call fcn.1400ad510
lea rcx, [rsp + 0x110]
lea rdx, str.Failed_opening_subkey__
mov r8d, 0x17
call fcn.14002e9c2
mov rdx, qword [rsp + 0xc0]
add rdx, 0x20
mov rcx, rax
call fcn.1400ae5c0
lea rdx, str.__for_backup__result:
mov r8d, 0x16
mov rcx, rax
call fcn.14002e9c2
mov rcx, rax
mov edx, esi
call fcn.1400256d2
mov rcx, rdi
jmp 0x14004a419
mov ecx, 2
call fcn.1400ad460
test al, al
je 0x14004a41e
lea rdx, str.....chromeinstallerutil_registry_key_backup.cc
lea rsi, [rsp + 0x100]
mov rcx, rsi
mov r8d, 0xdd
mov r9d, 2
call fcn.1400ad510
lea rcx, [rsp + 0x110]
lea rdx, str.Failed_backing_up_subkey__
mov r8d, 0x1a
call fcn.14002e9c2
mov rdx, qword [rsp + 0xc0]
add rdx, 0x20
mov rcx, rax
call fcn.1400ae5c0
lea rdx, [0x1401ee7db]
mov r8d, 1
mov rcx, rax
call fcn.14002e9c2
mov rcx, rsi
call fcn.1400ad9f0
lea rcx, [rsp + 0x80]
call fcn.14008b520
xor esi, esi
mov rcx, qword [rsp + 0xe0]
test rcx, rcx
je 0x14004a447
mov qword [rsp + 0xe8], rcx
call fcn.14019d34c
lea rcx, [rsp + 0x258]
mov rdx, qword [rcx + 8]
call fcn.14004b50e
lea rcx, [rsp + 0x270]
call fcn.1400499b8
mov rcx, qword [rsp + 0x288]
xor rcx, rsp
call fcn.14019eb90
mov eax, esi
movaps xmm6, xmmword [rsp + 0x290]
movaps xmm7, xmmword [rsp + 0x2a0]
add rsp, 0x2b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
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, 0x5b7
call fcn.14003a2a8
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, 0x241
call fcn.14003a2a8
call fcn.14002d380
int3