Function at 0x18001f0e0
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x3d8]
sub rsp, 0x4b0
mov qword [rbp - 0x70], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x180066180]
xor rax, rsp
mov qword [rbp + 0x3a0], rax
mov r12, rcx
mov qword [rsp + 0x78], rcx
xor edi, edi
mov dword [rbp - 0x78], edi
mov qword [rsp + 0x48], rdi
mov dword [rsp + 0x50], edi
mov qword [rsp + 0x58], rdi
mov qword [rbp - 0x80], rdi
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
mov r13d, 1
mov r9d, r13d
xor r8d, r8d
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersionUninstallGoogle_Chrome
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x18001f183
mov r15, qword [rbp - 0x80]
mov qword [rsp + 0x48], r15
mov dword [rsp + 0x50], edi
mov ebx, dword [0x180069c80]
jmp 0x18001f23c
mov qword [rsp + 0x68], rdi
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov r9d, r13d
xor r8d, r8d
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersionUninstallGoogle_Chrome
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x18001f1b7
mov r15, qword [rsp + 0x68]
jmp 0x18001f1ed
mov qword [rsp + 0x70], rdi
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov r9d, r13d
xor r8d, r8d
lea rdx, str.SoftwareWow6432NodeMicrosoftWindowsCurrentVersionUninstallGoogle_Chrome
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x18001f646
mov r15, qword [rsp + 0x70]
mov dword [rsp + 0x50], edi
mov qword [rsp + 0x48], r15
mov ebx, dword [0x180069c80]
mov ecx, ebx
imul ecx, ebx
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 3
sub ecx, eax
cmp ecx, 0xd
jne 0x18001f23c
mov ecx, ebx
test ebx, ebx
je 0x18001f231
dec ecx
je 0x18001f22d
inc ebx
jmp 0x18001f236
mov ebx, edi
jmp 0x18001f236
mov ebx, 2
mov dword [0x180069c80], ebx
mov byte [rbp - 0x60], 0
xor edx, edx
mov r8d, 0x3ff
lea rcx, [rbp - 0x5f]
call fcn.18002c930
mov ecx, ebx
imul ecx, ebx
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
shl eax, 2
sub ecx, eax
or r14, 0xffffffffffffffff
cmp ecx, 0x12
jne 0x18001f2b3
mov eax, 0x51eb851f
imul ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x64
sub ebx, edx
add ebx, 0x141
movsxd rcx, ebx
mov eax, 4
mul rcx
cmovo rax, r14
mov rcx, rax
call fcn.1800289f0
mov rcx, rax
call fcn.180028a24
lea rcx, [0x180066048]
mov rax, qword [0x180066048]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
lea rax, [0x180056ee0]
test rax, 0xffffffffffff0000
jne 0x18001f2fd
movzx esi, ax
mov ecx, esi
call fcn.180002840
test rax, rax
je 0x18001f315
mov r8d, esi
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.1800023e0
jmp 0x18001f310
mov r8d, 3
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.180002020
mov rbx, qword [rsp + 0x30]
mov dword [rsp + 0x40], 0x400
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x60]
xor r8d, r8d
lea rdx, str.Version
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x18001f472
mov eax, dword [rsp + 0x60]
dec eax
cmp eax, 1
ja 0x18001f472
mov eax, dword [rsp + 0x40]
test eax, eax
je 0x18001f373
cmp byte [rbp + rax - 0x61], 0
je 0x18001f377
jmp 0x18001f472
mov byte [rbp - 0x60], 0
lea rax, [rbp - 0x60]
mov rsi, r14
nop
inc rsi
cmp byte [rax + rsi], 0
jne 0x18001f380
test esi, esi
jne 0x18001f3ec
lea rdx, [rbx - 0x18]
mov rsi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x18001f472
cmp dword [rdx + 0x10], 0
jge 0x18001f3c0
cmp dword [rbx - 0xc], 0
jge 0x18001f3b5
mov ecx, 0x80070057
call fcn.180002bd0
int3
mov dword [rbx - 0x10], edi
mov byte [rbx], 0
jmp 0x18001f472
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18001f3d0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
mov r15, qword [rsp + 0x48]
jmp 0x18001f472
mov eax, dword [rbx - 0x10]
mov dword [rsp + 0x38], eax
lea r12, [rbp - 0x60]
sub r12, rbx
test esi, esi
jns 0x18001f409
mov ecx, 0x80070057
call fcn.180002bd0
int3
sub r13d, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, esi
or eax, r13d
jge 0x18001f428
mov edx, esi
lea rcx, [rsp + 0x30]
call fcn.180002c50
mov rbx, qword [rsp + 0x30]
mov eax, dword [rsp + 0x38]
movsxd r13, esi
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
mov r9, r13
cmp r12, rax
ja 0x18001f449
lea r8, [r12 + rbx]
call fcn.180029ae8
jmp 0x18001f452
lea r8, [rbp - 0x60]
call fcn.180028f24
cmp esi, dword [rbx - 0xc]
jg 0x18001f467
mov dword [rbx - 0x10], esi
mov byte [r13 + rbx], 0
mov r12, qword [rsp + 0x78]
jmp 0x18001f472
mov ecx, 0x80070057
call fcn.180002bd0
int3
test r15, r15
je 0x18001f485
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x48], rdi
mov dword [rsp + 0x50], edi
mov r9d, dword [0x180069c80]
lea r8d, [r9 + 1]
lea ecx, [r9 + 2]
imul ecx, r8d
imul ecx, r9d
mov eax, 0xb21642c9
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x17
sub ecx, edx
cmp ecx, 0xd
jne 0x18001f4eb
test r9d, r9d
je 0x18001f4de
dec r9d
je 0x18001f4d3
mov r9d, r8d
mov dword [0x180069c80], r8d
jmp 0x18001f4eb
mov r9d, edi
mov dword [0x180069c80], edi
jmp 0x18001f4eb
mov r9d, 2
mov dword [0x180069c80], r9d
cmp dword [rbx - 0x10], 0
je 0x18001f54c
lea rdx, [0x180056ee0]
mov rcx, rbx
call fcn.180029c08
test eax, eax
je 0x18001f545
lea rcx, [rbx - 0x18]
call fcn.180002110
add rax, 0x18
mov qword [r12], rax
lock add dword [rbx - 8], 0xffffffff
jg 0x18001f52c
mov rcx, qword [rbx - 0x18]
mov r8, qword [rcx]
lea rdx, [rbx - 0x18]
call qword [rVariantCopy + 8]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x18001f662
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x18001f662
mov r9d, dword [0x180069c80]
lea r8d, [r9 + 2]
lea ecx, [r9 + 1]
imul r8d, ecx
imul r8d, r9d
mov eax, 0xb21642c9
imul r8d
add edx, r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x17
sub r8d, edx
cmp r8d, 0xd
jne 0x18001f5b8
lea ecx, [r8 + 0x1b]
call fcn.1800289f0
mov rsi, rax
nop dword [rax]
call fcn.1800289f8
add eax, dword [0x180069c80]
mov dword [rsi + rdi*4], eax
inc rdi
cmp rdi, 0xa
jl 0x18001f590
mov edx, dword [rsi + 0x24]
mov dword [0x180069c80], edx
mov rcx, rsi
call fcn.180028a24
lea rax, [rsp + 0x38]
mov qword [rsp + 0x78], rax
lea rcx, [0x180066048]
mov rax, qword [0x180066048]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x38], rax
lea rdx, [0x180055e66]
test rdx, 0xffffffffffff0000
jne 0x18001f60d
movzx edi, dx
mov ecx, edi
call fcn.180002840
test rax, rax
je 0x18001f61b
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.1800023e0
jmp 0x18001f61b
xor r8d, r8d
lea rcx, [rsp + 0x38]
call fcn.180002020
nop
lea rdx, [rsp + 0x38]
mov rcx, r12
call fcn.18001ee50
nop
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x18001f52c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
jmp 0x18001f52c
lea rdx, [0x180055e66]
lea rcx, [rbp - 0x68]
call fcn.180001aa0
mov rdx, rax
mov rcx, r12
call fcn.18001ee50
nop
mov rax, r12
mov rcx, qword [rbp + 0x3a0]
xor rcx, rsp
call fcn.1800289d0
lea r11, [rsp + 0x4b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret