Function at 0x1400401c0
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, 0x258
movaps xmmword [rsp + 0x240], xmm6
mov r12, rdx
mov rsi, rcx
mov rax, qword [0x140213038]
xor rax, rsp
mov qword [rsp + 0x238], rax
lea rax, [rsp + 0x228]
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax - 8], rax
lea rcx, [rsp + 0x220]
mov qword [rsp + 0x210], rcx
mov qword [rsp + 0x218], rax
mov rbx, qword [r8]
mov rbp, qword [r8 + 8]
cmp rbx, rbp
je 0x140040290
lea rdi, [rsp + 0x50]
lea r14, [rsp + 0x1f0]
lea r15, [rsp + 0x210]
movzx eax, byte [rbx + 0x17]
test al, al
mov rcx, qword [rbx]
cmovns rcx, rbx
mov qword [rsp + 0x1f0], rcx
cmovs rax, qword [rbx + 8]
mov qword [rsp + 0x1f8], rax
mov rcx, rdi
mov rdx, r14
call fcn.1400dc460
mov rcx, r15
mov rdx, rdi
call fcn.140156a20
cmp byte [rsp + 0x67], 0
jns 0x140040287
mov rcx, qword [rsp + 0x50]
call fcn.140100564
add rbx, 0x18
cmp rbp, rbx
jne 0x14004023e
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x1f0]
mov qword [rdi + 0x10], rax
movaps xmm0, xmmword [0x1401d9dd0]
movaps xmmword [rdi], xmm0
mov rcx, rdi
call fcn.140054aa0
cmp byte [r12 + 0x17], 0
mov r8, r12
jns 0x1400402c7
mov r8, qword [r12]
mov rcx, rdi
mov rdx, rsi
mov r9d, ntohl
call fcn.140054c40
test eax, eax
je 0x14004036b
mov esi, eax
mov ecx, 2
call fcn.1400d9610
cmp esi, 2
je 0x140040921
test al, al
je 0x140040921
lea rdx, str..._.._chrome_installer_setup_setup_util.cc
lea rdi, [rsp + 0x50]
mov rcx, rdi
mov r8d, 0x1d3
mov r9d, 2
call fcn.14004a520
lea rcx, [rsp + 0x60]
lea rdx, str.Failed_to_open
mov r8d, 0xf
call fcn.1400cf4f0
mov rcx, rax
mov rdx, r12
call fcn.14004b410
lea rdx, str.__result_
mov r8d, ntohl
mov rcx, rax
call fcn.1400cf4f0
mov rcx, rax
mov edx, esi
call fcn.14001a0a0
mov rcx, rdi
call fcn.14004a9c0
jmp 0x140040921
mov qword [rsp + 0x48], r12
movabs r12, 0x7fffffffffffffff
lea rax, [rsp + 0x1e0]
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov qword [rax - 8], rax
mov ecx, 0x210
call fcn.140100528
lea rdi, [rsp + 0x1c0]
mov qword [rdi], rax
lea rbp, [r12 + 0x109]
mov qword [rdi + 0x10], rbp
mov qword [rdi + 8], 0x100
mov r8d, 0x202
mov rcx, rax
xor edx, edx
call fcn.140103d70
mov al, 0x80
mov r15d, 0xa
lea rbx, [rsp + 0x1bc]
mov r13, qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
xor r14d, r14d
xor esi, esi
and rbp, r12
dec rbp
test al, al
cmovns rbp, r15
mov rax, rbp
shr rax, 0x20
cmp rax, 1
mov edx, 0
sbb edx, edx
not edx
or edx, ebp
mov dword [rsp + 0x1bc], edx
mov rcx, rdi
xor r8d, r8d
call fcn.1400d6a20
cmp byte [rsp + 0x1d7], 0
mov r8, rdi
jns 0x14004042a
mov r8, qword [rsp + 0x1c0]
mov rcx, qword [rsp + 0x1f0]
movups xmmword [rsp + 0x30], xmm6
movups xmmword [rsp + 0x20], xmm6
mov edx, r14d
mov r9, rbx
call r13
test eax, eax
je 0x14004048a
cmp eax, 0x103
je 0x140040627
cmp eax, 0xea
jne 0x14004064e
cmp byte [rsp + 0x1d7], 0
mov rax, qword [rsp + 0x1d0]
lea rdx, [rax + rax - 2]
mov eax, 0x14
cmovns rdx, rax
mov rcx, rdi
call fcn.140031930
jmp 0x140040635
mov edx, dword [rsp + 0x1bc]
mov rcx, rdi
xor r8d, r8d
call fcn.1400d6a20
lea rcx, [rsp + 0x1d8]
mov rdx, rdi
call fcn.140042600
test rax, rax
jne 0x140040622
movzx eax, byte [rsp + 0x1d7]
test al, al
mov rcx, qword [rsp + 0x1c0]
cmovns rcx, rdi
mov qword [rsp + 0x1a8], rcx
cmovs rax, qword [rsp + 0x1c8]
mov qword [rsp + 0x1b0], rax
lea rcx, [rsp + 0x1a8]
call fcn.1400dca10
test al, al
je 0x140040566
movzx eax, byte [rsp + 0x1d7]
test al, al
mov rcx, qword [rsp + 0x1c0]
cmovns rcx, rdi
mov qword [rsp + 0x198], rcx
cmovs rax, qword [rsp + 0x1c8]
mov qword [rsp + 0x1a0], rax
lea rbp, [rsp + 0x50]
mov rcx, rbp
lea rdx, [rsp + 0x198]
call fcn.1400dc460
lea rcx, [rsp + 0x220]
mov rdx, rbp
call fcn.140042600
mov rbp, rax
cmp byte [rsp + 0x67], 0
jns 0x14004055d
mov rcx, qword [rsp + 0x50]
call fcn.140100564
test rbp, rbp
jne 0x14004060a
cmp byte [rsp + 0x1d7], 0
mov rdx, rdi
jns 0x14004057b
mov rdx, qword [rsp + 0x1c0]
lea rcx, [rsp + 0x1f0]
call fcn.140054f00
test eax, eax
je 0x140040649
mov ecx, 2
call fcn.1400d9610
test al, al
je 0x14004060a
lea rbp, [rsp + 0x50]
mov rcx, rbp
lea rdx, str..._.._chrome_installer_setup_setup_util.cc
mov r8d, 0x20e
mov r9d, 2
call fcn.14004a520
mov r8d, 0x18
lea rcx, [rsp + 0x60]
lea rdx, str.Failed_to_delete_subkey
call fcn.1400cf4f0
mov rcx, rax
mov rdx, rdi
call fcn.14004b410
mov r8d, ntohl
mov rcx, rax
lea rdx, str._under_path
call fcn.1400cf4f0
mov rcx, rax
mov rdx, qword [rsp + 0x48]
call fcn.14004b410
mov rcx, rbp
call fcn.14004a9c0
lea rcx, [rsp + 0x1d8]
lea rdx, [rsp + 0x50]
mov r8, rdi
mov r9, rdi
call fcn.140042700
inc r14d
jmp 0x140040635
xor r14d, r14d
test sil, 1
mov esi, 0
je 0x14004064e
mov al, byte [rsp + 0x1d7]
mov rbp, qword [rsp + 0x1d0]
jmp 0x1400403e1
mov sil, 1
jmp 0x140040635
cmp qword [rsp + 0x1e8], 0
je 0x140040876
lea rsi, [rsp + 0x1d8]
mov rdx, qword [rsi + 8]
mov rcx, rsi
call fcn.140042480
lea rax, [rsp + 0x1e0]
mov qword [rsi], rax
xorps xmm6, xmm6
movups xmmword [rsi + 8], xmm6
mov edi, 0xa
mov r13d, 0x7fff
lea rbx, [rsp + 0x1c0]
lea rbp, [rsp + 0x1bc]
mov r15, qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
xor r14d, r14d
xor esi, esi
mov rax, qword [rsp + 0x1d0]
and rax, r12
dec rax
cmp byte [rsp + 0x1d7], 0
cmovns rax, rdi
cmp rax, 0x8000
cmovae eax, r13d
movsx edx, ax
mov dword [rsp + 0x1bc], edx
mov rcx, rbx
xor r8d, r8d
call fcn.1400d6a20
cmp byte [rsp + 0x1d7], 0
mov r8, rbx
jns 0x1400406f8
mov r8, qword [rsp + 0x1c0]
mov rcx, qword [rsp + 0x1f0]
movups xmmword [rsp + 0x30], xmm6
movups xmmword [rsp + 0x20], xmm6
mov edx, r14d
mov r9, rbp
call r15
test eax, eax
je 0x140040769
cmp eax, 0x103
je 0x140040857
cmp eax, 0xea
jne 0x1400408f9
cmp dword [rsp + 0x1bc], 0x7ffe
ja 0x1400408f9
cmp byte [rsp + 0x1d7], 0
mov rax, qword [rsp + 0x1d0]
lea rdx, [rax + rax - 2]
mov eax, 0x14
cmovns rdx, rax
mov rcx, rbx
call fcn.140031930
jmp 0x1400406aa
mov edx, dword [rsp + 0x1bc]
mov rcx, rbx
xor r8d, r8d
call fcn.1400d6a20
lea rcx, [rsp + 0x1d8]
mov rdx, rbx
call fcn.140042600
test rax, rax
jne 0x14004084f
cmp byte [rsp + 0x1d7], 0
mov rdx, rbx
jns 0x1400407a9
mov rdx, qword [rsp + 0x1c0]
lea rcx, [rsp + 0x1f0]
call fcn.140055230
test eax, eax
je 0x14004086e
mov ecx, 2
call fcn.1400d9610
test al, al
je 0x140040837
lea rcx, [rsp + 0x50]
lea rdx, str..._.._chrome_installer_setup_setup_util.cc
mov r8d, 0x24b
mov r9d, 2
call fcn.14004a520
mov r8d, 0x17
lea rcx, [rsp + 0x60]
lea rdx, str.Failed_to_delete_value
call fcn.1400cf4f0
mov rcx, rax
mov rdx, rbx
call fcn.14004b410
mov r8d, 8
mov rcx, rax
lea rdx, str._in_key
call fcn.1400cf4f0
mov rcx, rax
mov rdx, qword [rsp + 0x48]
call fcn.14004b410
lea rcx, [rsp + 0x50]
call fcn.14004a9c0
lea rcx, [rsp + 0x1d8]
lea rdx, [rsp + 0x50]
mov r8, rbx
mov r9, rbx
call fcn.140042700
inc r14d
jmp 0x1400406aa
xor r14d, r14d
test sil, 1
mov esi, 0
jne 0x1400406aa
jmp 0x1400408f9
mov sil, 1
jmp 0x1400406aa
lea rdx, [0x1401e1c2a]
lea rcx, [rsp + 0x1f0]
call fcn.140054f00
test eax, eax
je 0x1400408f9
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, 2
call fcn.1400d9610
test al, al
je 0x1400408f9
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str..._.._chrome_installer_setup_setup_util.cc
lea rsi, [rsp + 0x50]
mov rcx, rsi
mov r8d, 0x21d
mov r9d, 2
call fcn.140158e40
lea rcx, [rsp + 0x60]
lea rdx, str.Failed_to_delete_key
mov r8d, 0x15
call fcn.1400cf4f0
mov rcx, rax
mov rdx, qword [rsp + 0x48]
call fcn.14004b410
mov rcx, rsi
call fcn.140158f30
cmp byte [rsp + 0x1d7], 0
jns 0x140040910
mov rcx, qword [rsp + 0x1c0]
call fcn.140100564
lea rcx, [rsp + 0x1d8]
mov rdx, qword [rcx + 8]
call fcn.140042480
lea rcx, [rsp + 0x1f0]
call fcn.140054da0
lea rcx, [rsp + 0x220]
mov rdx, qword [rcx + 8]
call fcn.140042480
mov rcx, qword [rsp + 0x238]
xor rcx, rsp
call fcn.1401013e0
movaps xmm6, xmmword [rsp + 0x240]
add rsp, 0x258
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret