Function at 0x140046b50
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, 0x268
movaps xmmword [rsp + 0x250], xmm6
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x40], rcx
mov rax, qword [0x14020eb28]
xor rax, rsp
mov qword [rsp + 0x248], rax
lea rbp, [rsp + 0x228]
xorps xmm6, xmm6
movups xmmword [rbp], xmm6
mov qword [rbp - 8], rbp
mov rdi, qword [r8]
mov r14, qword [r8 + 8]
cmp rdi, r14
je 0x140046ce3
lea r15, [rsp + 0x60]
lea rbx, [rsp + 0x208]
lea r12, [rsp + 0x220]
lea r13, [rsp + 0x1f0]
movzx eax, byte [rdi + 0x17]
test al, al
mov rcx, qword [rdi]
cmovns rcx, rdi
mov qword [rsp + 0x208], rcx
cmovs rax, qword [rdi + 8]
mov qword [rsp + 0x210], rax
mov rcx, r15
mov rdx, rbx
call fcn.14005d370
mov qword [rsp + 0x20], r15
mov rcx, r12
mov rdx, rbp
mov r8, rbx
mov r9, r13
call fcn.140048d40
mov rsi, qword [rax]
test rsi, rsi
je 0x140046c67
mov rax, qword [rsi + 8]
test rax, rax
je 0x140046c28
mov rbp, rax
mov rax, qword [rax]
test rax, rax
jne 0x140046c1b
jmp 0x140046c47
mov rbp, qword [rsi + 0x10]
cmp qword [rbp], rsi
je 0x140046c47
add rsi, 0x10
mov rax, qword [rsi]
mov rbp, qword [rax + 0x10]
lea rsi, [rax + 0x10]
cmp qword [rbp], rax
jne 0x140046c36
cmp byte [rsp + 0x77], 0
jns 0x140046c58
mov rcx, qword [rsp + 0x60]
call fcn.140180390
add rdi, 0x18
cmp rdi, r14
jne 0x140046bc7
jmp 0x140046ce3
mov rbp, rax
mov ecx, 0x38
call fcn.140180340
mov rsi, rax
mov rax, qword [rsp + 0x70]
mov qword [rsi + 0x30], rax
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x20], xmm0
movaps xmmword [rsp + 0x60], xmm6
mov qword [rsp + 0x70], 0
mov rax, qword [rsp + 0x208]
movups xmmword [rsi], xmm6
mov qword [rsi + 0x10], rax
mov qword [rbp], rsi
mov rax, qword [rsp + 0x220]
mov rax, qword [rax]
mov rdx, rsi
test rax, rax
je 0x140046cc9
mov qword [rsp + 0x220], rax
mov rdx, qword [rbp]
mov rcx, qword [rsp + 0x228]
call fcn.14000cc60
inc qword [rsp + 0x230]
jmp 0x140046c12
lea rsi, [rsp + 0x208]
mov rcx, rsi
call fcn.140068ca0
mov rbx, qword [rsp + 0x48]
cmp byte [rbx + 0x17], 0
mov r8, rbx
jns 0x140046d04
mov r8, qword [rbx]
mov rcx, rsi
mov rdx, qword [rsp + 0x40]
mov r9d, ntohl
call fcn.140068e60
test eax, eax
je 0x140046db3
mov esi, eax
mov ecx, 2
call fcn.140055330
cmp esi, 2
je 0x1400474f9
test al, al
je 0x1400474f9
lea rdx, str..._.._chrome_installer_setup_setup_util.cc
lea rdi, [rsp + 0x60]
mov rcx, rdi
mov r8d, 0x1d4
mov r9d, 2
call fcn.1400553e0
lea rcx, [rsp + 0x70]
lea rdx, str.Failed_to_open
mov r8d, 0xf
call fcn.140006490
cmp byte [rbx + 0x17], 0
jns 0x140046d7c
mov rbx, qword [rbx]
mov rcx, rax
mov rdx, rbx
call fcn.140056180
lea rdx, str.__result_
mov r8d, ntohl
mov rcx, rax
call fcn.140006490
mov rcx, rax
mov edx, esi
call fcn.140015770
mov rcx, rdi
call fcn.140055870
jmp 0x1400474f9
movabs rbx, 0x7fffffffffffffff
lea rax, [rsp + 0x1f8]
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov qword [rax - 8], rax
mov ecx, 0x210
call fcn.140180340
lea rdi, [rsp + 0x1d8]
mov qword [rdi], rax
movaps xmm0, xmmword [0x1401bdf70]
movups xmmword [rdi + 8], xmm0
mov r8d, 0x202
mov rcx, rax
xor edx, edx
call fcn.140183b00
lea rax, [rbx + 0x109]
mov cl, 0x80
mov r15d, 0xa
lea r14, [rsp + 0x1d4]
mov rsi, qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
xor r13d, r13d
xor r12d, r12d
and rax, rbx
dec rax
test cl, cl
cmovns rax, r15
mov rcx, rax
shr rcx, 0x20
cmp rcx, 1
mov edx, 0
sbb edx, edx
not edx
or edx, eax
mov dword [rsp + 0x1d4], edx
mov rcx, rdi
xor r8d, r8d
call fcn.140037da0
cmp byte [rsp + 0x1ef], 0
mov r8, rdi
jns 0x140046e6c
mov r8, qword [rsp + 0x1d8]
mov rcx, qword [rsp + 0x208]
movups xmmword [rsp + 0x30], xmm6
movups xmmword [rsp + 0x20], xmm6
mov edx, r13d
mov r9, r14
call rsi
test eax, eax
je 0x140046eb7
cmp eax, 0xea
je 0x140046f5a
cmp eax, 0x103
jne 0x1400471ce
xor r13d, r13d
test r12b, r12b
mov r12d, 0
jne 0x14004708a
jmp 0x1400471ce
mov edx, dword [rsp + 0x1d4]
mov rcx, rdi
xor r8d, r8d
call fcn.140037da0
mov rbp, qword [rsp + 0x1f8]
test rbp, rbp
je 0x140046f85
lea rcx, [rbp + 0x20]
movzx eax, byte [rbp + 0x37]
mov qword [rsp + 0x40], rcx
test al, al
jns 0x140046ef3
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x20]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rax
mov rcx, rdi
lea rdx, [rsp + 0x60]
call fcn.140049040
test eax, eax
jns 0x140046f14
mov rbp, qword [rbp]
jmp 0x140046ed1
movzx eax, byte [rsp + 0x1ef]
test al, al
cmovs rax, qword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x1d8]
cmovns rcx, rdi
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x60]
call fcn.140049040
test eax, eax
jns 0x140047082
add rbp, 8
jmp 0x140046f0e
cmp byte [rsp + 0x1ef], 0
mov rax, qword [rsp + 0x1e8]
lea rdx, [rax + rax - 2]
mov eax, 0x14
cmovns rdx, rax
mov rcx, rdi
call fcn.140037ff0
jmp 0x14004708a
movzx eax, byte [rsp + 0x1ef]
test al, al
mov rcx, qword [rsp + 0x1d8]
cmovns rcx, rdi
mov qword [rsp + 0x1c0], rcx
cmovs rax, qword [rsp + 0x1e0]
mov qword [rsp + 0x1c8], rax
lea rcx, [rsp + 0x1c0]
call fcn.14005dcf0
test al, al
je 0x140047036
movzx eax, byte [rsp + 0x1ef]
test al, al
mov rcx, qword [rsp + 0x1d8]
cmovns rcx, rdi
mov qword [rsp + 0x1b0], rcx
cmovs rax, qword [rsp + 0x1e0]
mov qword [rsp + 0x1b8], rax
lea rcx, [rsp + 0x60]
lea rdx, [rsp + 0x1b0]
call fcn.14005d370
mov rbp, qword [rsp + 0x228]
test rbp, rbp
jne 0x140047173
xor r15d, r15d
cmp byte [rsp + 0x77], 0
jns 0x14004702b
mov rcx, qword [rsp + 0x60]
call fcn.140180390
test r15b, r15b
mov r15d, 0xa
jne 0x14004706a
cmp byte [rsp + 0x1ef], 0
mov rdx, rdi
jns 0x14004704b
mov rdx, qword [rsp + 0x1d8]
lea rcx, [rsp + 0x208]
call fcn.140069210
test eax, eax
je 0x140047087
mov ecx, 2
call fcn.140055330
test al, al
jne 0x14004709e
lea rcx, [rsp + 0x1f0]
lea rdx, [rsp + 0x60]
mov r8, rdi
mov r9, rdi
call fcn.1400490c0
inc r13d
jmp 0x14004708a
mov r12b, 1
mov cl, byte [rsp + 0x1ef]
mov rax, qword [rsp + 0x1e8]
jmp 0x140046e23
lea rcx, [rsp + 0x60]
lea rdx, str..._.._chrome_installer_setup_setup_util.cc
mov r8d, 0x20f
mov r9d, 2
call fcn.1400553e0
mov r8d, 0x18
lea rcx, [rsp + 0x70]
lea rdx, str.Failed_to_delete_subkey
call fcn.140006490
cmp byte [rsp + 0x1ef], 0
mov rdx, rdi
jns 0x1400470e7
mov rdx, qword [rsp + 0x1d8]
mov rcx, rax
call fcn.140056180
mov r8d, ntohl
mov rcx, rax
lea rdx, str._under_path
call fcn.140006490
mov rdx, qword [rsp + 0x48]
cmp byte [rdx + 0x17], 0
jns 0x140047117
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rcx]
mov rcx, rax
call fcn.140056180
lea rcx, [rsp + 0x60]
call fcn.140055870
jmp 0x14004706a
movzx eax, byte [rsp + 0x77]
test al, al
cmovs rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
lea rdx, [rsp + 0x60]
cmovns rcx, rdx
mov qword [rsp + 0x238], rcx
mov qword [rsp + 0x240], rax
mov rcx, r15
lea rdx, [rsp + 0x238]
call fcn.140049040
test eax, eax
jns 0x1400471c6
add rbp, 8
jmp 0x1400471b4
lea r15, [rbp + 0x20]
movzx eax, byte [rbp + 0x37]
mov rcx, r15
test al, al
jns 0x14004718a
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x20]
mov qword [rsp + 0x238], rcx
mov qword [rsp + 0x240], rax
lea rcx, [rsp + 0x60]
lea rdx, [rsp + 0x238]
call fcn.140049040
test eax, eax
jns 0x14004712e
mov rbp, qword [rbp]
xor r15d, r15d
test rbp, rbp
je 0x14004701a
jmp 0x140047173
mov r15b, 1
jmp 0x14004701a
cmp qword [rsp + 0x200], 0
je 0x1400474a3
lea rsi, [rsp + 0x1f0]
mov rdx, qword [rsi + 8]
mov rcx, rsi
call fcn.140048cf0
lea rax, [rsp + 0x1f8]
mov qword [rsi], rax
xorps xmm6, xmm6
movups xmmword [rsi + 8], xmm6
mov r12d, 0xa
mov r13d, 0x7fff
lea rsi, [rsp + 0x1d8]
lea rbp, [rsp + 0x238]
mov rdi, qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
mov r15d, 0x14
xor r14d, r14d
mov dword [rsp + 0x40], 0
mov rax, qword [rsp + 0x1e8]
and rax, rbx
dec rax
cmp byte [rsp + 0x1ef], 0
cmovns rax, r12
cmp rax, 0x8000
movsx edx, ax
cmovae edx, r13d
mov dword [rsp + 0x238], edx
mov rcx, rsi
xor r8d, r8d
call fcn.140037da0
cmp byte [rsp + 0x1ef], 0
mov r8, rsi
jns 0x140047285
mov r8, qword [rsp + 0x1d8]
mov rcx, qword [rsp + 0x208]
movups xmmword [rsp + 0x30], xmm6
movups xmmword [rsp + 0x20], xmm6
mov edx, r14d
mov r9, rbp
call rdi
cmp eax, 0xea
jne 0x1400472dd
cmp dword [rsp + 0x238], 0x7ffe
ja 0x1400474d1
cmp byte [rsp + 0x1ef], 0
mov rax, qword [rsp + 0x1e8]
lea rdx, [rax + rax - 2]
cmovns rdx, r15
mov rcx, rsi
call fcn.140037ff0
jmp 0x140047237
test eax, eax
je 0x140047307
cmp eax, 0x103
jne 0x1400474d1
xor r14d, r14d
cmp byte [rsp + 0x40], 0
mov dword [rsp + 0x40], 0
jne 0x140047237
jmp 0x1400474d1
mov edx, dword [rsp + 0x238]
mov rcx, rsi
xor r8d, r8d
call fcn.140037da0
mov rdx, qword [rsp + 0x1f8]
test rdx, rdx
je 0x1400473b4
lea rcx, [rdx + 0x20]
movzx eax, byte [rdx + 0x37]
mov qword [rsp + 0x58], rcx
test al, al
jns 0x140047343
mov rax, qword [rdx + 0x28]
mov rcx, qword [rdx + 0x20]
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rax
mov rcx, rsi
lea rdx, [rsp + 0x60]
call fcn.140049040
test eax, eax
jns 0x14004736d
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx]
jmp 0x140047321
movzx eax, byte [rsp + 0x1ef]
test al, al
cmovs rax, qword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x1d8]
cmovns rcx, rsi
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x58]
lea rdx, [rsp + 0x60]
call fcn.140049040
test eax, eax
jns 0x14004740b
mov rdx, qword [rsp + 0x50]
add rdx, 8
jmp 0x140047368
cmp byte [rsp + 0x1ef], 0
mov rdx, rsi
jns 0x1400473c9
mov rdx, qword [rsp + 0x1d8]
lea rcx, [rsp + 0x208]
call fcn.140069620
test eax, eax
jne 0x1400473e5
mov al, 1
mov dword [rsp + 0x40], eax
jmp 0x140047237
mov ecx, 2
call fcn.140055330
test al, al
jne 0x140047413
lea rcx, [rsp + 0x1f0]
lea rdx, [rsp + 0x60]
mov r8, rsi
mov r9, rsi
call fcn.1400490c0
inc r14d
jmp 0x140047237
lea rcx, [rsp + 0x60]
lea rdx, str..._.._chrome_installer_setup_setup_util.cc
mov r8d, 0x24c
mov r9d, 2
call fcn.1400553e0
mov r8d, 0x17
lea rcx, [rsp + 0x70]
lea rdx, str.Failed_to_delete_value
call fcn.140006490
cmp byte [rsp + 0x1ef], 0
mov rdx, rsi
jns 0x14004745c
mov rdx, qword [rsp + 0x1d8]
mov rcx, rax
call fcn.140056180
mov r8d, 8
mov rcx, rax
lea rdx, str._in_key
call fcn.140006490
mov rdx, qword [rsp + 0x48]
cmp byte [rdx + 0x17], 0
jns 0x14004748c
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rcx]
mov rcx, rax
call fcn.140056180
lea rcx, [rsp + 0x60]
call fcn.140055870
jmp 0x1400473f3
lea rdx, [0x1401b75aa]
lea rcx, [rsp + 0x208]
call fcn.140069210
test eax, eax
je 0x1400474d1
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, 2
call fcn.140055330
test al, al
jne 0x140047543
cmp byte [rsp + 0x1ef], 0
jns 0x1400474e8
mov rcx, qword [rsp + 0x1d8]
call fcn.140180390
lea rcx, [rsp + 0x1f0]
mov rdx, qword [rcx + 8]
call fcn.140048cf0
lea rcx, [rsp + 0x208]
call fcn.140068fc0
lea rcx, [rsp + 0x220]
mov rdx, qword [rcx + 8]
call fcn.140048cf0
mov rcx, qword [rsp + 0x248]
xor rcx, rsp
call fcn.140180700
movaps xmm6, xmmword [rsp + 0x250]
add rsp, 0x268
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str..._.._chrome_installer_setup_setup_util.cc
lea rsi, [rsp + 0x60]
mov rcx, rsi
mov r8d, 0x21e
mov r9d, 2
call fcn.140055fe0
lea rcx, [rsp + 0x70]
lea rdx, str.Failed_to_delete_key
mov r8d, 0x15
call fcn.140006490
mov rdx, qword [rsp + 0x48]
cmp byte [rdx + 0x17], 0
jns 0x140047591
mov rdx, qword [rdx]
mov rcx, rax
call fcn.140056180
mov rcx, rsi
call fcn.1400560d0
jmp 0x1400474d1