Function at 0x140040f70
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, 0x248
movaps xmmword [rsp + 0x230], xmm6
mov r12, rdx
mov rsi, rcx
mov rax, qword [0x1402cf018]
xor rax, rsp
mov qword [rsp + 0x228], rax
lea rax, [rsp + 0x218]
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax - 8], rax
lea rcx, [rsp + 0x210]
mov qword [rsp + 0x200], rcx
mov qword [rsp + 0x208], rax
mov rbx, qword [r8]
mov rbp, qword [r8 + 8]
cmp rbx, rbp
je 0x140041040
lea rdi, [rsp + 0x48]
lea r14, [rsp + 0x1e0]
lea r15, [rsp + 0x200]
movzx eax, byte [rbx + 0x17]
test al, al
mov rcx, qword [rbx]
cmovns rcx, rbx
mov qword [rsp + 0x1e0], rcx
cmovs rax, qword [rbx + 8]
mov qword [rsp + 0x1e8], rax
mov rcx, rdi
mov rdx, r14
call fcn.14012df80
mov rcx, r15
mov rdx, rdi
call fcn.140191e00
cmp byte [rsp + 0x5f], 0
jns 0x140041037
mov rcx, qword [rsp + 0x48]
call fcn.140142744
add rbx, 0x18
cmp rbx, rbp
jne 0x140040fee
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x1e0]
mov qword [rdi + 0x10], rax
movaps xmm0, xmmword [0x1402961a0]
movaps xmmword [rdi], xmm0
mov rcx, rdi
call fcn.140055180
cmp byte [r12 + 0x17], 0
mov r8, r12
jns 0x140041077
mov r8, qword [r12]
mov rcx, rdi
mov rdx, rsi
mov r9d, ntohl
call fcn.140055320
test eax, eax
je 0x14004111b
mov esi, eax
mov ecx, 2
call fcn.14004c5c0
test al, al
je 0x1400418fc
cmp esi, 2
je 0x1400418fc
lea rdx, str..._.._chrome_installer_setup_setup_util.cc
lea rdi, [rsp + 0x48]
mov rcx, rdi
mov r8d, 0x1bc
mov r9d, 2
call fcn.14004c600
lea rcx, [rsp + 0x58]
lea rdx, str.Failed_to_open
mov r8d, 0xf
call fcn.140124730
mov rcx, rax
mov rdx, r12
call fcn.14004cec0
lea rdx, str.__result_
mov r8d, ntohl
mov rcx, rax
call fcn.140124730
mov rcx, rax
mov edx, esi
call fcn.14001a140
mov rcx, rdi
call fcn.14004caa0
jmp 0x1400418fc
mov qword [rsp + 0x40], r12
movabs rbx, 0x7fffffffffffffff
lea rax, [rsp + 0x1d0]
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov qword [rax - 8], rax
mov ecx, 0x210
call fcn.140142708
lea r14, [rsp + 0x1b0]
mov qword [r14], rax
lea rsi, [rbx + 0x109]
mov qword [r14 + 0x10], rsi
mov qword [r14 + 8], 0x100
mov r8d, 0x202
mov rcx, rax
xor edx, edx
call fcn.140145e20
mov al, 0x80
mov edi, 0xa
lea r15, [rsp + 0x1ac]
mov rbp, qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
xor r13d, r13d
xor r12d, r12d
and rsi, rbx
dec rsi
test al, al
cmovns rsi, rdi
mov rax, rsi
shr rax, 0x20
cmp rax, 1
mov edx, 0
sbb edx, edx
not edx
or edx, esi
mov dword [rsp + 0x1ac], edx
mov rcx, r14
xor r8d, r8d
call fcn.140034010
cmp byte [rsp + 0x1c7], 0
mov r8, r14
jns 0x1400411d9
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, r15
call rbp
test eax, eax
je 0x140041224
cmp eax, 0xea
je 0x14004138f
cmp eax, 0x103
jne 0x140041565
xor r13d, r13d
test r12b, r12b
mov r12d, 0
jne 0x140041524
jmp 0x140041565
mov edx, dword [rsp + 0x1ac]
mov rcx, r14
xor r8d, r8d
call fcn.140034010
movzx r8d, byte [rsp + 0x1c7]
mov rcx, r14
test r8b, r8b
jns 0x140041257
mov r8, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x1b0]
mov rdx, qword [rsp + 0x1d0]
test rdx, rdx
je 0x1400412f7
movzx ebp, byte [rdx + 0x37]
test bpl, bpl
jns 0x14004127b
mov rbp, qword [rdx + 0x28]
mov rbx, qword [rdx + 0x20]
jmp 0x14004127f
lea rbx, [rdx + 0x20]
cmp rbp, r8
mov rax, r8
cmovb rax, rbp
test rax, rax
je 0x1400412a4
xor esi, esi
movzx edi, word [rbx + rsi*2]
cmp word [rcx + rsi*2], di
ja 0x1400412a9
jb 0x1400412d5
inc rsi
cmp rax, rsi
jne 0x140041290
cmp r8, rbp
jb 0x1400412d5
test rax, rax
je 0x1400412c8
xor esi, esi
movzx edi, word [rcx + rsi*2]
cmp word [rbx + rsi*2], di
ja 0x140041538
jb 0x1400412d1
inc rsi
cmp rax, rsi
jne 0x1400412b0
cmp rbp, r8
jae 0x140041538
add rdx, 8
mov rdx, qword [rdx]
test rdx, rdx
movabs rbx, 0x7fffffffffffffff
mov edi, 0xa
mov rbp, qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
jne 0x140041268
mov qword [rsp + 0x198], rcx
mov qword [rsp + 0x1a0], r8
lea rcx, [rsp + 0x198]
call fcn.1400545b0
test al, al
je 0x140041460
movzx eax, byte [rsp + 0x1c7]
test al, al
mov rcx, qword [rsp + 0x1b0]
cmovns rcx, r14
mov qword [rsp + 0x188], rcx
cmovs rax, qword [rsp + 0x1b8]
mov qword [rsp + 0x190], rax
lea rsi, [rsp + 0x48]
mov rcx, rsi
lea rdx, [rsp + 0x188]
call fcn.14012df80
movzx r8d, byte [rsp + 0x5f]
mov rcx, qword [rsp + 0x48]
mov r9, r8
test r8b, r8b
jns 0x14004137b
mov r9, qword [rsp + 0x50]
mov rsi, rcx
mov rbp, qword [rsp + 0x218]
test rbp, rbp
jne 0x1400413ba
xor edi, edi
jmp 0x140041441
cmp byte [rsp + 0x1c7], 0
mov rax, qword [rsp + 0x1c0]
lea rdx, [rax + rax - 2]
mov eax, 0x14
cmovns rdx, rax
mov rcx, r14
call fcn.140033810
jmp 0x140041524
movzx r10d, byte [rbp + 0x37]
test r10b, r10b
jns 0x1400413ce
mov r10, qword [rbp + 0x28]
mov rdi, qword [rbp + 0x20]
jmp 0x1400413d2
lea rdi, [rbp + 0x20]
cmp r10, r9
mov rdx, r9
cmovb rdx, r10
test rdx, rdx
je 0x1400413f7
xor eax, eax
movzx ebx, word [rdi + rax*2]
cmp word [rsi + rax*2], bx
ja 0x1400413fc
jb 0x140041428
inc rax
cmp rdx, rax
jne 0x1400413e3
cmp r9, r10
jb 0x140041428
test rdx, rdx
je 0x14004141b
xor eax, eax
movzx ebx, word [rsi + rax*2]
cmp word [rdi + rax*2], bx
ja 0x140041553
jb 0x140041424
inc rax
cmp rdx, rax
jne 0x140041403
cmp r10, r9
jae 0x140041553
add rbp, 8
movabs rbx, 0x7fffffffffffffff
mov rbp, qword [rbp]
xor edi, edi
test rbp, rbp
jne 0x1400413ba
test r8b, r8b
jns 0x14004144b
call fcn.140142744
test dil, dil
mov edi, 0xa
mov rbp, qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
jne 0x140041504
cmp byte [rsp + 0x1c7], 0
mov rdx, r14
jns 0x140041475
mov rdx, qword [rsp + 0x1b0]
lea rcx, [rsp + 0x1e0]
call fcn.14019a000
test eax, eax
je 0x140041521
mov ecx, 2
call fcn.14004c5c0
test al, al
je 0x140041504
lea rsi, [rsp + 0x48]
mov rcx, rsi
lea rdx, str..._.._chrome_installer_setup_setup_util.cc
mov r8d, 0x1f7
mov r9d, 2
call fcn.14004c600
mov r8d, 0x18
lea rcx, [rsp + 0x58]
lea rdx, str.Failed_to_delete_subkey
call fcn.140124730
mov rcx, rax
mov rdx, r14
call fcn.14004cec0
mov r8d, ntohl
mov rcx, rax
lea rdx, str._under_path
call fcn.140124730
mov rcx, rax
mov rdx, qword [rsp + 0x40]
call fcn.14004cec0
mov rcx, rsi
call fcn.14004caa0
lea rcx, [rsp + 0x1c8]
lea rdx, [rsp + 0x48]
mov r8, r14
mov r9, r14
call fcn.140043790
inc r13d
jmp 0x140041524
mov r12b, 1
mov al, byte [rsp + 0x1c7]
mov rsi, qword [rsp + 0x1c0]
jmp 0x140041190
inc r13d
movabs rbx, 0x7fffffffffffffff
mov edi, 0xa
mov rbp, qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
jmp 0x140041524
mov dil, 1
movabs rbx, 0x7fffffffffffffff
jmp 0x140041441
cmp qword [rsp + 0x1d8], 0
je 0x140041851
lea rsi, [rsp + 0x1c8]
mov rdx, qword [rsi + 8]
mov rcx, rsi
call fcn.1400435e0
lea rax, [rsp + 0x1d0]
mov qword [rsi], rax
xorps xmm6, xmm6
movups xmmword [rsi + 8], xmm6
mov esi, 0xa
mov edi, 0x7fff
lea r15, [rsp + 0x1b0]
lea r12, [rsp + 0x1ac]
mov rbp, qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
xor r14d, r14d
xor r13d, r13d
mov rax, qword [rsp + 0x1c0]
and rax, rbx
dec rax
cmp byte [rsp + 0x1c7], 0
cmovns rax, rsi
cmp rax, 0x8000
cmovae eax, edi
movsx edx, ax
mov dword [rsp + 0x1ac], edx
mov rcx, r15
xor r8d, r8d
call fcn.140034010
cmp byte [rsp + 0x1c7], 0
mov r8, r15
jns 0x14004160e
mov r8, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0x1e0]
movups xmmword [rsp + 0x30], xmm6
movups xmmword [rsp + 0x20], xmm6
mov edx, r14d
mov r9, r12
call rbp
test eax, eax
je 0x14004167e
cmp eax, 0x103
je 0x14004180f
cmp eax, 0xea
jne 0x1400418d4
cmp dword [rsp + 0x1ac], 0x7ffe
ja 0x1400418d4
cmp byte [rsp + 0x1c7], 0
mov rax, qword [rsp + 0x1c0]
lea rdx, [rax + rax - 2]
mov eax, 0x14
cmovns rdx, rax
mov rcx, r15
call fcn.140033810
jmp 0x1400415c1
mov edx, dword [rsp + 0x1ac]
mov rcx, r15
xor r8d, r8d
call fcn.140034010
movzx r8d, byte [rsp + 0x1c7]
mov rdx, r15
test r8b, r8b
jns 0x1400416b1
mov r8, qword [rsp + 0x1b8]
mov rdx, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0x1d0]
test rcx, rcx
je 0x140041758
movzx edi, byte [rcx + 0x37]
test dil, dil
jns 0x1400416d5
mov rdi, qword [rcx + 0x28]
mov rbp, qword [rcx + 0x20]
jmp 0x1400416d9
lea rbp, [rcx + 0x20]
cmp rdi, r8
mov rax, r8
cmovb rax, rdi
test rax, rax
je 0x1400416ff
xor ebx, ebx
movzx esi, word [rbp + rbx*2]
cmp word [rdx + rbx*2], si
ja 0x140041704
jb 0x140041731
inc rbx
cmp rax, rbx
jne 0x1400416ea
cmp r8, rdi
jb 0x140041731
test rax, rax
je 0x140041724
xor ebx, ebx
movzx esi, word [rdx + rbx*2]
cmp word [rbp + rbx*2], si
ja 0x14004182e
jb 0x14004172d
inc rbx
cmp rax, rbx
jne 0x14004170b
cmp rdi, r8
jae 0x14004182e
add rcx, 8
mov rcx, qword [rcx]
test rcx, rcx
movabs rbx, 0x7fffffffffffffff
mov esi, 0xa
mov edi, 0x7fff
mov rbp, qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
jne 0x1400416c2
lea rcx, [rsp + 0x1e0]
call fcn.1400554c0
test eax, eax
je 0x140041826
mov ecx, 2
call fcn.14004c5c0
test al, al
je 0x1400417ef
lea r12, [rsp + 0x48]
mov rcx, r12
lea rdx, str..._.._chrome_installer_setup_setup_util.cc
mov r8d, 0x234
mov r9d, 2
call fcn.14004c600
mov r8d, 0x17
lea rcx, [rsp + 0x58]
lea rdx, str.Failed_to_delete_value
call fcn.140124730
mov rcx, rax
mov rdx, r15
call fcn.14004cec0
mov r8d, 8
mov rcx, rax
lea rdx, str._in_key
call fcn.140124730
mov rcx, rax
mov rdx, qword [rsp + 0x40]
call fcn.14004cec0
mov rcx, r12
lea r12, [rsp + 0x1ac]
call fcn.14004caa0
lea rcx, [rsp + 0x1c8]
lea rdx, [rsp + 0x48]
mov r8, r15
mov r9, r15
call fcn.140043790
inc r14d
jmp 0x1400415c1
xor r14d, r14d
test r13b, r13b
mov r13d, 0
jne 0x1400415c1
jmp 0x1400418d4
mov r13b, 1
jmp 0x1400415c1
inc r14d
movabs rbx, 0x7fffffffffffffff
mov esi, 0xa
mov edi, 0x7fff
mov rbp, qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
jmp 0x1400415c1
lea rdx, [0x140297a0a]
lea rcx, [rsp + 0x1e0]
call fcn.14019a000
test eax, eax
je 0x1400418d4
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, 2
call fcn.14004c5c0
test al, al
je 0x1400418d4
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str..._.._chrome_installer_setup_setup_util.cc
lea rsi, [rsp + 0x48]
mov rcx, rsi
mov r8d, 0x206
mov r9d, 2
call fcn.1401944b0
lea rcx, [rsp + 0x58]
lea rdx, str.Failed_to_delete_key
mov r8d, 0x15
call fcn.140124730
mov rcx, rax
mov rdx, qword [rsp + 0x40]
call fcn.14004cec0
mov rcx, rsi
call fcn.140194530
cmp byte [rsp + 0x1c7], 0
jns 0x1400418eb
mov rcx, qword [rsp + 0x1b0]
call fcn.140142744
lea rcx, [rsp + 0x1c8]
mov rdx, qword [rcx + 8]
call fcn.1400435e0
lea rcx, [rsp + 0x1e0]
call fcn.140055440
lea rcx, [rsp + 0x210]
mov rdx, qword [rcx + 8]
call fcn.1400435e0
mov rcx, qword [rsp + 0x228]
xor rcx, rsp
call fcn.140143020
movaps xmm6, xmmword [rsp + 0x230]
add rsp, 0x248
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret