Function at 0x140054c80
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, 0x238
movaps xmmword [rsp + 0x220], xmm6
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x140381038]
xor rax, rsp
mov qword [rsp + 0x218], rax
lea r12, [rsp + 0x200]
xorps xmm0, xmm0
movups xmmword [r12], xmm0
mov qword [r12 - 8], r12
mov r13, qword [r8]
mov rbp, qword [r8 + 8]
cmp r13, rbp
je 0x140054da8
lea rbx, [rsp + 0x48]
lea r14, [rsp + 0x1e0]
lea r15, [rsp + 0x1f8]
jmp 0x140054d81
mov rax, qword [r13 + 8]
mov rcx, qword [r13]
mov qword [rsp + 0x1e0], rcx
mov qword [rsp + 0x1e8], rax
test rax, rax
js 0x140055733
test rcx, rcx
jne 0x140054d21
test rax, rax
jne 0x14005575f
mov rcx, rbx
mov rdx, r14
call fcn.140138d10
mov qword [rsp + 0x20], rbx
mov rcx, r15
mov rdx, r14
mov r8, r12
mov r9, rbx
call fcn.14020cc30
mov rax, qword [rsp + 0x1e0]
test rax, rax
je 0x1400556fa
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x140054d99
mov r12, rcx
mov rcx, qword [rcx]
test rcx, rcx
jne 0x140054d5c
cmp byte [rsp + 0x5f], 0
jns 0x140054d78
mov rcx, qword [rsp + 0x48]
call fcn.14019a0bc
add r13, 0x18
cmp r13, rbp
je 0x140054da8
movzx eax, byte [r13 + 0x17]
test al, al
js 0x140054cf2
and eax, 0x7f
mov rcx, r13
jmp 0x140054cfa
mov r12, qword [rax + 0x10]
cmp qword [r12], rax
mov rax, r12
jne 0x140054d99
jmp 0x140054d67
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rbx, [rsp + 0x1e0]
mov qword [rbx + 0x10], rax
movaps xmm0, xmmword [0x14030e560]
movaps xmmword [rbx], xmm0
mov rcx, rbx
call fcn.1400696b0
cmp byte [rsi + 0x17], 0
mov r8, rsi
jns 0x140054ddc
mov r8, qword [rsi]
mov rcx, rbx
mov rdx, rdi
mov r9d, ntohl
call fcn.140069850
test eax, eax
je 0x140055005
mov edi, eax
mov ecx, 2
call fcn.14014d760
cmp edi, 2
je 0x140054f91
test al, al
je 0x140054f91
lea rdx, str.....chromeinstaller_setup_setup_util.cc
lea rbx, [rsp + 0x48]
mov rcx, rbx
mov r8d, 0x191
mov r9d, 2
call fcn.14007ca10
lea rcx, [rsp + 0x58]
lea rdx, str.Failed_to_open
mov r8d, 0xf
call fcn.1401d6c00
mov rcx, rax
mov rdx, rsi
call fcn.1400770e0
lea rdx, str.__result_
mov r8d, ntohl
mov rcx, rax
call fcn.1401d6c00
mov rcx, rax
mov edx, edi
call fcn.140025390
mov rcx, rbx
call fcn.14007cf40
jmp 0x140054f91
movzx edx, byte [rsp + 0x1c7]
test dl, dl
mov rcx, qword [rsp + 0x1c0]
lea rax, [rcx + rcx - 2]
mov r8d, 0x14
cmovns rax, r8
cmp rax, r15
ja 0x140055726
test dl, dl
js 0x1400556bf
cmp rax, 0xb
jb 0x140054ece
cmp rdx, rax
cmova rax, rdx
or rax, 7
mov rdx, rax
mov rcx, r14
call fcn.1400467c0
mov ecx, r12d
mov r12d, ecx
mov edi, 0xa
mov rax, qword [rsp + 0x1c0]
and rax, rbp
dec rax
cmp byte [rsp + 0x1c7], 0
cmovns rax, rdi
cmp rax, 0x8000
movsx edx, ax
mov eax, 0x7fff
cmovae edx, eax
mov dword [rsp + 0x1ac], edx
mov rcx, r14
xor r8d, r8d
call fcn.140135ff0
cmp byte [rsp + 0x1c7], 0
mov r8, r14
jns 0x140054f2b
mov r8, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0x1e0]
movups xmmword [rsp + 0x30], xmm6
movups xmmword [rsp + 0x20], xmm6
mov edx, ebx
lea r9, [rsp + 0x1ac]
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
cmp eax, 0xea
jne 0x140054fdb
cmp dword [rsp + 0x1ac], 0x7ffe
jbe 0x140054e80
cmp byte [rsp + 0x1c7], 0
jns 0x140054f80
mov rcx, qword [rsp + 0x1b0]
call fcn.14019a0bc
lea rcx, [rsp + 0x1c8]
mov rdx, qword [rcx + 8]
call fcn.140057870
lea rcx, [rsp + 0x1e0]
call fcn.140069970
lea rcx, [rsp + 0x1f8]
mov rdx, qword [rcx + 8]
call fcn.140057870
mov rcx, qword [rsp + 0x218]
xor rcx, rsp
call fcn.14019b960
movaps xmm6, xmmword [rsp + 0x220]
add rsp, 0x238
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test eax, eax
je 0x1400555d6
cmp eax, 0x103
jne 0x140054f69
xor ebx, ebx
test r12b, 1
mov r12d, 0
jne 0x140054ed9
jmp 0x140054f69
movabs rbp, 0x7fffffffffffffff
lea rax, [rsp + 0x1d0]
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov qword [rax - 8], rax
mov ecx, 0x210
call fcn.14019a06c
lea rdi, [rsp + 0x1b0]
mov qword [rdi], rax
lea rcx, [rbp + 0x109]
mov qword [rdi + 0x10], rcx
mov qword [rdi + 8], 0x100
mov r8d, 0x202
mov rcx, rax
xor edx, edx
call fcn.14019dab0
mov r15d, 0xa
lea r14, [rsp + 0x1ac]
xor r13d, r13d
xor r12d, r12d
mov qword [rsp + 0x40], rsi
jmp 0x1400551ff
lea rdx, [0x14031082a]
lea rcx, [rsp + 0x1e0]
mov r8b, 1
call fcn.1400699f0
test eax, eax
je 0x140054f69
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, 2
call fcn.14014d760
test al, al
je 0x140054f69
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str.....chromeinstaller_setup_setup_util.cc
lea rdi, [rsp + 0x48]
mov rcx, rdi
mov r8d, 0x1db
mov r9d, 2
call fcn.140216190
lea rcx, [rsp + 0x58]
lea rdx, str.Failed_to_delete_key
mov r8d, 0x15
call fcn.1401d6c00
mov rcx, rax
mov rdx, rsi
call fcn.1400770e0
mov rcx, rdi
call fcn.140216210
jmp 0x140054f69
and rcx, rbp
dec rcx
cmp rcx, rax
jae 0x1400551f9
mov rdx, qword [rsp + 0x1b8]
cmp rdx, rax
cmova rax, rdx
mov rdx, rax
or rdx, 7
cmp rax, 0xb
cmovb rdx, r15
cmp rdx, rcx
jne 0x1400551f1
jmp 0x1400551f9
add r14, 8
mov rbp, rsi
mov r14, qword [r14]
test r14, r14
mov rsi, qword [rsp + 0x40]
je 0x140055312
mov rsi, rbp
lea rbx, [r14 + 0x20]
lea rbp, [rsp + 0x48]
mov rcx, rbp
mov rdx, rdi
mov r8, rbx
call fcn.140132010
cmp byte [rsp + 0x48], 0
js 0x140055147
mov rcx, rbp
mov rdx, rbx
mov r8, rdi
call fcn.140132010
cmp byte [rsp + 0x48], 0
js 0x140055143
inc r13d
mov r14, r15
mov r15d, 0xa
mov rbp, rsi
mov rsi, qword [rsp + 0x40]
jmp 0x1400551ff
movzx edx, byte [rsp + 0x1c7]
test dl, dl
mov rcx, qword [rsp + 0x1c0]
lea rax, [rcx + rcx - 2]
mov r8d, 0x14
cmovns rax, r8
lea r8, [rbp - 0x10]
cmp rax, r8
ja 0x140055726
test dl, dl
js 0x140055108
cmp rax, 0xb
jb 0x1400551f9
cmp rdx, rax
cmova rax, rdx
or rax, 7
mov rdx, rax
mov rcx, rdi
call fcn.1400467c0
mov ebx, r12d
mov r12d, ebx
mov rax, qword [rsp + 0x1c0]
and rax, rbp
dec rax
cmp byte [rsp + 0x1c7], 0
cmovns rax, r15
mov rcx, rax
shr rcx, 0x20
neg rcx
mov edx, 0
sbb edx, edx
or edx, eax
mov dword [rsp + 0x1ac], edx
mov rcx, rdi
xor r8d, r8d
call fcn.140135ff0
cmp byte [rsp + 0x1c7], 0
mov r8, rdi
jns 0x140055253
mov r8, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0x1e0]
movups xmmword [rsp + 0x30], xmm6
movups xmmword [rsp + 0x20], xmm6
mov edx, r13d
mov r9, r14
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
je 0x1400552ec
cmp eax, 0xea
je 0x1400551a7
cmp eax, 0x103
jne 0x14005529a
xor r13d, r13d
test r12b, 1
mov r12d, 0
jne 0x1400551ff
cmp qword [rsp + 0x1d8], 0
je 0x140055077
lea r13, [rsp + 0x1c8]
mov rdx, qword [r13 + 8]
mov rcx, r13
call fcn.140057870
lea rax, [rsp + 0x1d0]
mov qword [r13], rax
xorps xmm6, xmm6
movups xmmword [r13 + 8], xmm6
mov edi, 0xa
lea r14, [rsp + 0x1b0]
lea r15, [rbp - 0x10]
xor ebx, ebx
xor r12d, r12d
jmp 0x140054ed9
mov r15, r14
mov edx, dword [rsp + 0x1ac]
mov rcx, rdi
xor r8d, r8d
call fcn.140135ff0
mov r14, qword [rsp + 0x1d0]
test r14, r14
jne 0x14005515b
movzx ecx, byte [rsp + 0x1c7]
mov eax, ecx
and eax, 0x7f
test cl, cl
cmovs rax, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x1b0]
cmovns rcx, rdi
mov qword [rsp + 0x198], rcx
mov qword [rsp + 0x1a0], rax
test rax, rax
js 0x140055733
test rcx, rcx
mov r14, r15
jne 0x140055360
test rax, rax
jne 0x14005575f
lea rcx, [rsp + 0x198]
call fcn.14006b3c0
test al, al
je 0x140055401
movzx ecx, byte [rsp + 0x1c7]
mov eax, ecx
and eax, 0x7f
test cl, cl
cmovs rax, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x1b0]
cmovns rcx, rdi
mov qword [rsp + 0x188], rcx
mov qword [rsp + 0x190], rax
test rax, rax
js 0x140055733
test rcx, rcx
lea rcx, [rsp + 0x48]
jne 0x1400553c5
test rax, rax
jne 0x14005575f
lea rdx, [rsp + 0x188]
call fcn.140138d10
mov r14, qword [rsp + 0x200]
test r14, r14
jne 0x140055468
xor ebx, ebx
cmp byte [rsp + 0x5f], 0
jns 0x1400553f6
mov rcx, qword [rsp + 0x48]
call fcn.14019a0bc
test bl, bl
mov r14, r15
jne 0x140055545
cmp byte [rsp + 0x1c7], 0
mov rdx, rdi
jns 0x140055416
mov rdx, qword [rsp + 0x1b0]
mov bl, 1
lea rcx, [rsp + 0x1e0]
mov r8b, 1
call fcn.1400699f0
test eax, eax
mov r15d, 0xa
je 0x1400551fc
mov ecx, 2
call fcn.14014d760
test al, al
jne 0x1400554d6
lea rcx, [rsp + 0x1c8]
lea rdx, [rsp + 0x48]
mov r8, rdi
mov r9, rdi
call fcn.1400578c0
inc r13d
jmp 0x1400551ff
lea rbx, [r14 + 0x20]
lea rsi, [rsp + 0x217]
mov rcx, rsi
lea rbp, [rsp + 0x48]
mov rdx, rbp
mov r8, rbx
call fcn.140132010
cmp byte [rsp + 0x217], 0
js 0x14005556b
mov rcx, rsi
mov rdx, rbx
mov r8, rbp
call fcn.140132010
cmp byte [rsp + 0x217], 0
mov bl, 1
movabs rbp, 0x7fffffffffffffff
mov rsi, qword [rsp + 0x40]
jns 0x1400553e5
add r14, 8
mov r14, qword [r14]
xor ebx, ebx
test r14, r14
je 0x1400553e5
jmp 0x140055468
lea rbx, [rsp + 0x48]
mov rcx, rbx
lea rdx, str.....chromeinstaller_setup_setup_util.cc
mov r8d, 0x1cc
mov r9d, 2
call fcn.14007ca10
mov r8d, 0x18
lea rcx, [rsp + 0x58]
lea rdx, str.Failed_to_delete_subkey
call fcn.1401d6c00
mov rcx, rax
mov rdx, rdi
call fcn.1400770e0
mov r8d, ntohl
mov rcx, rax
lea rdx, str._under_path
call fcn.1401d6c00
mov rcx, rax
mov rdx, rsi
call fcn.1400770e0
mov rcx, rbx
call fcn.14007cf40
jmp 0x140055448
lea rcx, [rsp + 0x1c8]
lea rdx, [rsp + 0x48]
mov r8, rdi
mov r9, rdi
call fcn.1400578c0
inc r13d
mov r15d, 0xa
jmp 0x1400551ff
movabs rbp, 0x7fffffffffffffff
mov rsi, qword [rsp + 0x40]
jmp 0x1400554c6
lea r13, [rdi + 0x20]
lea rcx, [rsp + 0x48]
mov rdx, r14
mov r8, r13
call fcn.140132010
cmp byte [rsp + 0x48], 0
js 0x1400555c9
lea rcx, [rsp + 0x48]
mov rdx, r13
mov r8, r14
call fcn.140132010
cmp byte [rsp + 0x48], 0
js 0x1400555c5
inc ebx
lea r13, [rsp + 0x1c8]
mov edi, 0xa
jmp 0x140054ed9
add rdi, 8
lea r13, [rsp + 0x1c8]
mov rdi, qword [rdi]
jmp 0x1400555f0
mov edx, dword [rsp + 0x1ac]
mov rcx, r14
xor r8d, r8d
call fcn.140135ff0
mov rdi, qword [rsp + 0x1d0]
test rdi, rdi
jne 0x14005557f
cmp byte [rsp + 0x1c7], 0
mov rdx, r14
lea rdi, [rsp + 0x58]
jns 0x14005560f
mov rdx, qword [rsp + 0x1b0]
lea rcx, [rsp + 0x1e0]
call fcn.140069de0
mov cl, 1
test eax, eax
je 0x140054ed1
mov ecx, 2
call fcn.14014d760
test al, al
jne 0x140055653
mov rcx, r13
lea rdx, [rsp + 0x48]
mov r8, r14
mov r9, r14
call fcn.1400578c0
inc ebx
mov edi, 0xa
jmp 0x140054ed9
lea rcx, [rsp + 0x48]
lea rdx, str.....chromeinstaller_setup_setup_util.cc
mov r8d, 0x209
mov r9d, 2
call fcn.14007ca10
mov r8d, 0x17
mov rcx, rdi
lea rdx, str.Failed_to_delete_value
call fcn.1401d6c00
mov rcx, rax
mov rdx, r14
call fcn.1400770e0
mov r8d, 8
mov rcx, rax
lea rdx, str._in_key
call fcn.1401d6c00
mov rcx, rax
mov rdx, rsi
call fcn.1400770e0
lea rcx, [rsp + 0x48]
call fcn.14007cf40
jmp 0x140055634
and rcx, rbp
dec rcx
cmp rcx, rax
jae 0x140054ece
mov rdx, qword [rsp + 0x1b8]
cmp rdx, rax
cmova rax, rdx
mov rdx, rax
or rdx, 7
cmp rax, 0xb
cmovb rdx, rdi
cmp rdx, rcx
jne 0x140054ec6
jmp 0x140054ece
lea rax, str.node_shouldnt_be_null
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude__tree
lea r9, str.__x___nullptr
mov r8d, 0xd0
call fcn.1401dac90
lea rcx, [rsp + 0x1b0]
call fcn.1401d6b40
lea rax, str.string_view::string_view__CharT___size_t_:_length_does_not_fit_in_difference_type
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude_string_view
lea r9, str.__len___static_cast_size_type__numeric_limits_difference_type_::max___
mov r8d, 0x13a
call fcn.1401dac90
lea rax, str.string_view::string_view__CharT___size_t_:_received_nullptr
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude_string_view
lea r9, str.__len__0____s___nullptr
mov r8d, 0x13c
call fcn.1401dac90
int3