Function at 0x180053600
Capabilities:
Query or enumerate registry value

Disassembly:
mov r11, rsp
push rdi
push r12
push r13
sub rsp, 0x310
mov qword [rsp + 0xb8], 0xfffffffffffffffe
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x20], rsi
mov rax, qword [0x18013a210]
xor rax, rsp
mov qword [rsp + 0x300], rax
mov r13, rdx
mov rsi, rcx
mov qword [r11 - 0x278], rdx
xor r9d, r9d
lea r8, str.version
lea rdx, [rsp + 0x70]
mov rcx, r13
call fcn.18007bd60
nop
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x1800536a5
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x1800536a5
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x1800536a5
test ecx, ecx
jle 0x18005367f
mov rdx, qword [rdx]
xor ebx, ebx
jmp 0x180053684
xor ebx, ebx
mov rdx, rbx
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [0x180140950]
call fcn.180012d90
jmp 0x1800536a7
xor ebx, ebx
xor r9d, r9d
lea r8, str.toolbarname
lea rdx, [rsp + 0x60]
mov rcx, r13
call fcn.18007bd60
nop
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x180053704
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x180053704
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x180053704
test ecx, ecx
jle 0x1800536e2
mov rdx, qword [rdx]
jmp 0x1800536e5
mov rdx, rbx
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [0x180140900]
call fcn.180012d90
xor r9d, r9d
lea r8, str.appid
lea rdx, [rsp + 0x50]
mov rcx, r13
call fcn.18007bd60
nop
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x180053761
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x180053761
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x180053761
test ecx, ecx
jle 0x18005373f
mov rdx, qword [rdx]
jmp 0x180053742
mov rdx, rbx
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [0x180140928]
call fcn.180012d90
xor r9d, r9d
lea r8, str.urlbase
lea rdx, [rsp + 0x48]
mov rcx, r13
call fcn.18007bd60
nop
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x1800537be
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x1800537be
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x1800537be
test ecx, ecx
jle 0x18005379c
mov rdx, qword [rdx]
jmp 0x18005379f
mov rdx, rbx
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsi + 0x6d0]
call fcn.180012d90
xor r9d, r9d
lea r8, str.imgbase
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.18007bd60
nop
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x18005381b
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x18005381b
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x18005381b
test ecx, ecx
jle 0x1800537f9
mov rdx, qword [rdx]
jmp 0x1800537fc
mov rdx, rbx
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsi + 0x680]
call fcn.180012d90
xor r9d, r9d
lea r8, str.clientversion
lea rdx, [rsp + 0x78]
mov rcx, r13
call fcn.18007bd60
nop
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x180053878
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x180053878
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x180053878
test ecx, ecx
jle 0x180053856
mov rdx, qword [rdx]
jmp 0x180053859
mov rdx, rbx
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsi + 0x6a8]
call fcn.180012d90
xor r9d, r9d
lea r8, str.toolbar_height
lea rdx, [rsp + 0x80]
mov rcx, r13
call fcn.18007bd60
nop
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x1800538ce
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x1800538ce
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x1800538ce
test ecx, ecx
jle 0x1800538b9
mov rcx, qword [rdx]
jmp 0x1800538bc
mov rcx, rbx
call fcn.1800bf9c8
cdq
xor eax, edx
sub eax, edx
mov dword [0x1801401a0], eax
jmp 0x1800538d8
mov dword [0x1801401a0], 0x1a
xor r9d, r9d
lea r8, str.hours_inactive
lea rdx, [rsp + 0x68]
mov rcx, r13
call fcn.18007bd60
nop
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x1800539a9
cmp dword [rax + 0xc], 0
je 0x1800539a9
cmp qword [rax + 0x30], 0
je 0x1800539a9
cmp dword [rax + 0xc], 0
jle 0x180053922
mov rcx, qword [rax + 0x30]
mov rdx, qword [rcx]
jmp 0x180053925
mov rdx, rbx
mov qword [rsp + 0xe0], 7
mov qword [rsp + 0xd8], rbx
mov word [rsp + 0xc8], bx
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsp + 0xc0]
call fcn.180012d90
cmp qword [rsp + 0xd8], 0
je 0x180053991
lea rcx, [rsp + 0xc8]
cmp qword [rsp + 0xe0], 8
cmovae rcx, qword [rsp + 0xc8]
call fcn.1800bf9c8
mov dword [rsi + 0x3a0], eax
cmp qword [rsp + 0xe0], 8
jb 0x1800539a9
mov rcx, qword [rsp + 0xc8]
call fcn.1800bd964
mov r12, rbx
mov qword [rsp + 0x88], rbx
mov dword [rsp + 0x90], ebx
call fcn.180067400
mov edi, 0x20219
mov ecx, 0x20119
test eax, eax
cmovne edi, ecx
mov qword [rsp + 0x30], rbx
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r9d, edi
xor r8d, r8d
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersionUninstallF009657E_18AE_4744_A253_2FE9452A0BDC
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x180053b49
mov r12, qword [rsp + 0x30]
mov qword [rsp + 0x88], r12
and edi, 0x300
mov dword [rsp + 0x90], edi
mov word [rsp + 0xf0], bx
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0xf2]
call fcn.1800c1250
mov dword [rsp + 0x38], 0x208
mov dword [rsp + 0x30], ebx
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x30]
xor r8d, r8d
lea rdx, str.DisplayVersion
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov edi, eax
mov ecx, dword [rsp + 0x38]
test ecx, ecx
je 0x180053af1
mov edx, dword [rsp + 0x30]
test edx, edx
je 0x180053ae7
cmp edx, 2
jbe 0x180053ac7
cmp edx, 7
jne 0x180053ae7
test cl, 1
jne 0x180053abd
mov eax, ecx
shr eax, 1
cmp eax, 1
jb 0x180053abd
mov rdx, rcx
shr rdx, 1
cmp word [rsp + rdx*2 + 0xee], 0
jne 0x180053abd
cmp eax, 1
jbe 0x180053af9
cmp word [rsp + rdx*2 + 0xec], 0
je 0x180053af9
mov word [rsp + 0xf0], bx
jmp 0x180053b29
test cl, 1
jne 0x180053add
mov rax, rcx
shr rax, 1
cmp word [rsp + rax*2 + 0xee], 0
je 0x180053af9
mov word [rsp + 0xf0], bx
jmp 0x180053b29
mov word [rsp + 0xf0], bx
jmp 0x180053b29
mov word [rsp + 0xf0], bx
test edi, edi
jne 0x180053b29
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0xf0]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsi + 0x530]
lea rdx, [rsp + 0xf0]
call fcn.180012d90
test r12, r12
je 0x180053b42
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r12, rbx
mov qword [rsp + 0x88], rbx
mov dword [rsp + 0x90], ebx
xor r9d, r9d
lea r8, str.update
lea rdx, [rsp + 0x30]
mov rcx, r13
call fcn.18007bd60
nop
cmp qword [rsp + 0x30], 0
je 0x180053d81
xor r9d, r9d
lea r8, str.newversion
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x30]
call fcn.18007bd60
nop
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x180053bcd
cmp dword [rax + 0xc], 0
jle 0x180053bcd
mov rcx, qword [rax + 0x30]
mov rdx, qword [rcx]
test rdx, rdx
je 0x180053bcd
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov r8, rcx
je 0x180053bcd
lea rcx, [rsi + 0x448]
call fcn.180012d90
xor r9d, r9d
lea r8, str.download_link
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x30]
call fcn.18007bd60
nop
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x180053c27
cmp dword [rax + 0xc], 0
jle 0x180053c27
mov rcx, qword [rax + 0x30]
mov rdx, qword [rcx]
test rdx, rdx
je 0x180053c27
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov r8, rcx
je 0x180053c27
lea rcx, [rsi + 0x4e0]
call fcn.180012d90
xor r9d, r9d
lea r8, str.cmdline
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x30]
call fcn.18007bd60
nop
mov rax, qword [rsp + 0xa8]
test rax, rax
je 0x180053c87
cmp dword [rax + 0xc], 0
jle 0x180053c87
mov rcx, qword [rax + 0x30]
mov rdx, qword [rcx]
test rdx, rdx
je 0x180053c87
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov r8, rcx
je 0x180053c87
lea rcx, [rsi + 0x4b8]
call fcn.180012d90
xor r9d, r9d
lea r8, str.no_updates_msg
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x30]
call fcn.18007bd60
nop
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x180053ce7
cmp dword [rax + 0xc], 0
jle 0x180053ce7
mov rcx, qword [rax + 0x30]
mov rdx, qword [rcx]
test rdx, rdx
je 0x180053ce7
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov r8, rcx
je 0x180053ce7
lea rcx, [rsi + 0x3d0]
call fcn.180012d90
xor r9d, r9d
lea r8, str.update_msg
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.18007bd60
nop
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x180053d42
cmp dword [rax + 0xc], 0
jle 0x180053d42
mov rdx, qword [rax + 0x30]
mov rdx, qword [rdx]
test rdx, rdx
je 0x180053d42
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov r8, rcx
je 0x180053d42
lea rcx, [rsi + 0x3f8]
call fcn.180012d90
nop
lea rcx, [rsp + 0x38]
call fcn.18007b710
nop
lea rcx, [rsp + 0x98]
call fcn.18007b710
nop
lea rcx, [rsp + 0xa8]
call fcn.18007b710
nop
lea rcx, [rsp + 0x58]
call fcn.18007b710
nop
lea rcx, [rsp + 0xa0]
call fcn.18007b710
lea rcx, [rsi + 0x530]
mov rax, qword [rsi + 0x6c0]
cmp qword [rsi + 0x6c8], 8
jb 0x180053da2
mov r9, qword [rsi + 0x6b0]
jmp 0x180053da9
lea r9, [rsi + 0x6b0]
mov qword [rsp + 0x20], rax
mov r8, qword [rcx + 0x18]
xor edx, edx
call fcn.180011c70
test eax, eax
je 0x180053dc7
mov dword [rsi + 0x678], 1
lea rcx, [rsp + 0x30]
call fcn.18007b710
nop
test r12, r12
je 0x180053de1
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
lea rcx, [rsp + 0x68]
call fcn.18007b710
nop
lea rcx, [rsp + 0x80]
call fcn.18007b710
nop
lea rcx, [rsp + 0x78]
call fcn.18007b710
nop
lea rcx, [rsp + 0x40]
call fcn.18007b710
nop
lea rcx, [rsp + 0x48]
call fcn.18007b710
nop
lea rcx, [rsp + 0x50]
call fcn.18007b710
nop
lea rcx, [rsp + 0x60]
call fcn.18007b710
nop
lea rcx, [rsp + 0x70]
call fcn.18007b710
nop
mov rcx, r13
call fcn.18007b710
mov eax, 1
jmp 0x180053e5a
mov rcx, qword [rsp + 0x300]
xor rcx, rsp
call fcn.1800bd980
lea r11, [rsp + 0x310]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r13
pop r12
pop rdi
ret