Function at 0x18000b5f0
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
lea rbp, [rsp - 0xa0]
sub rsp, 0x1a0
mov rax, qword [0x1800653c0]
xor rax, rsp
mov qword [rbp + 0x90], rax
movzx ebx, cl
test cl, cl
je 0x18000bcfd
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xor r14d, r14d
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], r14b
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp - 0x80]
call fcn.180046050
mov qword [rsp + 0x38], r14
mov dword [rsp + 0x34], r14d
mov dword [rsp + 0x30], 0x104
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SoftwareLeading_EdgeSpoutPanel
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x18000b6fa
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x34]
xor r8d, r8d
lea rdx, str.InstallPath
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov edi, eax
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
je 0x18000b760
cmp edi, 0xea
jne 0x18000b74b
mov r8d, dword [rsp + 0x30]
lea edx, [rdi + 0x1a]
lea rcx, str.ReadPathFromRegistry____buffer_size___d__not_large_enough___d_
call sym.SpoutDX.dll_void___cdecl_spoututils::SpoutLogWarning_char_const____ptr64_
lea rcx, str.SpoutMessageBoxModeless___SpoutPanel_path_not_found
call sym.SpoutDX.dll_void___cdecl_spoututils::SpoutLogWarning_char_const____ptr64_
mov rsi, qword [rsp + 0x58]
cmp rsi, 0x1b
jb 0x18000ba17
lea rbx, [rsp + 0x40]
cmp rsi, 0xf
cmova rbx, qword [rsp + 0x40]
mov qword [rsp + 0x50], 0x1b
mov r8d, 0x1b
lea rdx, str.SpoutPanel_path_not_found_n_n
mov rcx, rbx
call fcn.1800459b0
mov byte [rbx + 0x1b], 0
jmp 0x18000b9c4
lea rdx, str.InstallPath
lea rcx, str.ReadPathFromRegistry___could_not_read___s__from_registry
call sym.SpoutDX.dll_void___cdecl_spoututils::SpoutLogWarning_char_const____ptr64_
jmp 0x18000b6fa
xor edx, edx
lea rcx, [rbp - 0x80]
call fcn.180027c6c
cmp eax, 0xffffffff
je 0x18000b87f
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x60]
call sym.SpoutDX.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_spoututils::GetExeVersion_char_const____ptr64_
nop
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0xf
cmova rcx, qword [rsp + 0x60]
call fcn.18002bd8c
comisd xmm0, xmmword [0x18004ab58]
jb 0x18000b7ef
mov byte [0x180066b31], bl
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x18000bcc2
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000b7e5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000bd42
call fcn.18001c6c8
jmp 0x18000bcc2
lea r9, [rsp + 0x60]
cmp qword [rsp + 0x78], 0xf
cmova r9, qword [rsp + 0x60]
lea r8, str.SpoutPanel_version__s_n2.070_or_greater_required_for_modeless_n_n
mov edx, 0x104
lea rcx, [rbp - 0x80]
call fcn.1800051e0
lea rax, [rbp - 0x80]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x18000b820
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.180005050
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x18000b9c4
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000b875
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000bd42
call fcn.18001c6c8
jmp 0x18000b9c4
lea rcx, str.SpoutMessageBoxModeless___SpoutPanel.exe_not_found
call sym.SpoutDX.dll_void___cdecl_spoututils::SpoutLogWarning_char_const____ptr64_
mov rsi, qword [rsp + 0x58]
cmp rsi, 0x1a
jb 0x18000b8cc
lea rbx, [rsp + 0x40]
cmp rsi, 0xf
cmova rbx, qword [rsp + 0x40]
mov qword [rsp + 0x50], 0x1a
mov r8d, 0x1a
lea rdx, str.SpoutPanel.exe_not_found_n_n
mov rcx, rbx
call fcn.1800459b0
mov byte [rbx + 0x1a], 0
jmp 0x18000b9c4
mov rcx, rsi
shr rcx, 1
movabs rbx, 0x7fffffffffffffff
mov rax, rbx
sub rax, rcx
cmp rsi, rax
jbe 0x18000b8f7
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x18000b921
lea rax, [rsi + rcx]
mov ebx, 0x1f
cmp rax, rbx
cmova rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18000b940
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18000bd36
mov rcx, rax
call fcn.18001c68c
test rax, rax
je 0x18000bd3c
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x18000b952
test rcx, rcx
je 0x18000b94f
call fcn.18001c68c
mov rdi, rax
jmp 0x18000b952
mov rdi, r14
mov qword [rsp + 0x50], 0x1a
mov qword [rsp + 0x58], rbx
movups xmm0, xmmword [str.SpoutPanel.exe_not_found_n_n]
movups xmmword [rdi], xmm0
movsd xmm0, qword [0x18004a618]
movsd qword [rdi + 0x10], xmm0
movzx eax, word [0x18004a620]
mov word [rdi + 0x18], ax
mov byte [rdi + 0x1a], 0
cmp rsi, 0xf
jbe 0x18000b9bf
lea rdx, [rsi + 1]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000b9ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000bd3c
call fcn.18001c6c8
mov qword [rsp + 0x40], rdi
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov rax, rdx
sub rax, rcx
cmp rax, 0x5d
jb 0x18000bb1c
lea rax, [rcx + 0x5d]
mov qword [rsp + 0x50], rax
lea rbx, [rsp + 0x40]
cmp rdx, 0xf
cmova rbx, qword [rsp + 0x40]
add rbx, rcx
mov r8d, 0x5d
lea rdx, str.Download_the__a_href_https:__github.com_leadedge_Spout2_releases__latest_Spout_release__a_._n
mov rcx, rbx
call fcn.1800459b0
mov byte [rbx + 0x5d], 0
jmp 0x18000bb3d
mov rcx, rsi
shr rcx, 1
movabs rbx, 0x7fffffffffffffff
mov rax, rbx
sub rax, rcx
cmp rsi, rax
jbe 0x18000ba5f
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.18001c68c
test rax, rax
je 0x18000bd3c
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x18000ba9d
lea rax, [rcx + rsi]
mov ebx, 0x1f
cmp rax, rbx
cmova rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18000ba8b
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18000bd36
jmp 0x18000ba40
test rcx, rcx
je 0x18000ba9a
call fcn.18001c68c
mov rdi, rax
jmp 0x18000ba9d
mov rdi, r14
mov qword [rsp + 0x50], 0x1b
mov qword [rsp + 0x58], rbx
movups xmm0, xmmword [str.SpoutPanel_path_not_found_n_n]
movups xmmword [rdi], xmm0
movsd xmm0, qword [0x18004a670]
movsd qword [rdi + 0x10], xmm0
movzx eax, word [0x18004a678]
mov word [rdi + 0x18], ax
movzx eax, byte [0x18004a67a]
mov byte [rdi + 0x1a], al
mov byte [rdi + 0x1b], 0
cmp rsi, 0xf
jbe 0x18000b9bf
lea rdx, [rsi + 1]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000b9ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000bd3c
jmp 0x18000b9ba
mov qword [rsp + 0x20], 0x5d
lea r9, str.Download_the__a_href_https:__github.com_leadedge_Spout2_releases__latest_Spout_release__a_._n
xor r8d, r8d
lea edx, [r8 + 0x5d]
lea rcx, [rsp + 0x40]
call fcn.180001460
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov rax, rdx
sub rax, rcx
cmp rax, 0x31
jb 0x18000bb89
lea rax, [rcx + 0x31]
mov qword [rsp + 0x50], rax
lea rbx, [rsp + 0x40]
cmp rdx, 0xf
cmova rbx, qword [rsp + 0x40]
add rbx, rcx
mov r8d, 0x31
lea rdx, str.Run_either_SpoutSettings_or_SpoutPanel_once._n
mov rcx, rbx
call fcn.1800459b0
mov byte [rbx + 0x31], 0
jmp 0x18000bbaa
mov qword [rsp + 0x20], 0x31
lea r9, str.Run_either_SpoutSettings_or_SpoutPanel_once._n
xor r8d, r8d
lea edx, [r8 + 0x31]
lea rcx, [rsp + 0x40]
call fcn.180001460
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov rax, rdx
sub rax, rcx
cmp rax, 0x2f
jb 0x18000bbf6
lea rax, [rcx + 0x2f]
mov qword [rsp + 0x50], rax
lea rbx, [rsp + 0x40]
cmp rdx, 0xf
cmova rbx, qword [rsp + 0x40]
add rbx, rcx
mov r8d, 0x2f
lea rdx, str.This_will_establish_the_path_to_SpoutPanel.exe_n
mov rcx, rbx
call fcn.1800459b0
mov byte [rbx + 0x2f], 0
jmp 0x18000bc17
mov qword [rsp + 0x20], 0x2f
lea r9, str.This_will_establish_the_path_to_SpoutPanel.exe_n
xor r8d, r8d
lea edx, [r8 + 0x2f]
lea rcx, [rsp + 0x40]
call fcn.180001460
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov rax, rdx
sub rax, rcx
cmp rax, 0x33
jb 0x18000bc63
lea rax, [rcx + 0x33]
mov qword [rsp + 0x50], rax
lea rbx, [rsp + 0x40]
cmp rdx, 0xf
cmova rbx, qword [rsp + 0x40]
add rbx, rcx
mov r8d, 0x33
lea rdx, str.to_enable_modeless_function_for_SpoutMessageBox._n_n_n
mov rcx, rbx
call fcn.1800459b0
mov byte [rbx + 0x33], 0
jmp 0x18000bc84
mov qword [rsp + 0x20], 0x33
lea r9, str.to_enable_modeless_function_for_SpoutMessageBox._n_n_n
xor r8d, r8d
lea edx, [r8 + 0x33]
lea rcx, [rsp + 0x40]
call fcn.180001460
movzx ebx, byte [0x180066b31]
mov byte [0x180066b31], 0
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0xf
cmova rdx, qword [rsp + 0x40]
mov dword [rsp + 0x20], r14d
mov r9d, 0x30
lea r8, str.Warning
xor ecx, ecx
call fcn.180008c50
mov byte [0x180066b31], bl
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x18000bd04
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000bcf6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000bd30
call fcn.18001c6c8
jmp 0x18000bd04
mov byte [0x180066b31], 0
mov rcx, qword [rbp + 0x90]
xor rcx, rsp
call fcn.18001cb50
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
call fcn.18002387c
nop
call fcn.180005010
nop
call fcn.18002387c
int3
call fcn.18002387c
int3