Function at 0x14003c550
Capabilities:
Get installed programs
Query or enumerate registry key

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0xd8]
sub rsp, 0x1c0
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
mov rax, qword [0x140085140]
xor rax, rsp
mov qword [rbp + 0x90], rax
mov r14, rcx
xor r15d, r15d
xorps xmm0, xmm0
movups xmmword [rbp + 0x68], xmm0
movups xmmword [rbp + 0x78], xmm0
movups xmmword [rbp + 0x70], xmm0
movdqa xmm1, xmmword [0x140079b70]
movdqu xmmword [rbp + 0x80], xmm1
mov word [rbp + 0x70], r15w
mov qword [rbp + 0x68], 0xffffffff80000002
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
mov r9d, 0xf003f
xor r8d, r8d
lea rdx, str.SOFTWAREMicrosoftWindowsCurrentVersionUninstall
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14003d4ff
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x38], r15
mov qword [rbp - 0x30], 7
mov word [rbp - 0x48], r15w
mov dword [rbp - 0x28], 0x104
mov edx, 0x104
mov r9d, edx
lea rcx, [rbp - 0x48]
call fcn.1400403d0
mov esi, r15d
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r15
mov qword [rbp - 8], 7
mov word [rbp - 0x20], r15w
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x18], 7
mov word [rbp], r15w
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], r15
mov qword [rbp + 0x38], 7
mov word [rbp + 0x20], r15w
lea r8, [rbp - 0x48]
cmp qword [rbp - 0x30], 7
cmova r8, qword [rbp - 0x48]
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
lea r9, [rbp - 0x28]
mov edx, esi
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x14003ccee
mov ecx, dword [rbp - 0x28]
mov r8, qword [rbp - 0x38]
cmp rcx, r8
ja 0x14003c6bf
mov qword [rbp - 0x38], rcx
lea rax, [rbp - 0x48]
cmp qword [rbp - 0x30], 7
cmova rax, qword [rbp - 0x48]
mov word [rax + rcx*2], r15w
jmp 0x14003c70f
mov rdx, rcx
sub rdx, r8
mov rdi, qword [rbp - 0x30]
mov rax, rdi
sub rax, r8
cmp rdx, rax
ja 0x14003c703
mov qword [rbp - 0x38], rcx
lea r9, [rbp - 0x48]
cmp rdi, 7
cmova r9, qword [rbp - 0x48]
lea rdi, [r9 + r8*2]
test rdx, rdx
je 0x14003c6f8
movzx eax, r15w
mov rcx, rdx
rep stosw word [rdi], ax
lea rax, [r8 + rdx]
mov word [r9 + rax*2], r15w
jmp 0x14003c70f
mov r9, rdx
lea rcx, [rbp - 0x48]
call fcn.1400403d0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.14003fc40
lea rdx, [rbp - 0x48]
cmp qword [rbp - 0x30], 7
cmova rdx, qword [rbp - 0x48]
mov r8, qword [rbp - 0x38]
mov rcx, rax
call fcn.1400408e0
mov rcx, rax
lea rdx, [0x14003fe10]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
lea r9, [rbp - 0x48]
cmp qword [rbp - 0x30], 7
cmova r9, qword [rbp - 0x48]
mov rbx, qword [rbp - 0x38]
mov rax, qword [rbp - 8]
cmp rbx, rax
ja 0x14003c787
lea rdi, [rbp - 0x20]
cmp rax, 7
cmova rdi, qword [rbp - 0x20]
mov qword [rbp - 0x10], rbx
lea r8, [rbx + rbx]
mov rdx, r9
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov word [rdi + rbx*2], r15w
jmp 0x14003c793
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.140040260
lea r8, [rbp - 0x48]
lea rdx, str.SOFTWAREMicrosoftWindowsCurrentVersionUninstall_
lea rcx, [rsp + 0x40]
call fcn.14003fe50
nop
mov qword [rbp + 0x68], 0xffffffff80000002
cmp qword [rax + 0x10], 0
je 0x14003c7c5
mov rdx, rax
lea rcx, [rbp + 0x70]
call fcn.14003f4b0
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x14003c807
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c802
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003ccbd
call fcn.140052cf0
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], r15
mov r8d, 0xb
lea rdx, str.DisplayName
lea rcx, [rsp + 0x60]
call fcn.14003ffd0
nop
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x68]
call fcn.140041700
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x14003c886
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c881
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003ccc4
call fcn.140052cf0
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], r15w
cmp byte [rbp + 0x40], 0
je 0x14003c8f6
lea r9, [rbp + 0x48]
cmp qword [rbp + 0x60], 7
cmova r9, qword [rbp + 0x48]
mov rbx, qword [rbp + 0x58]
mov rax, qword [rbp + 0x18]
cmp rbx, rax
ja 0x14003c8e5
lea rdi, [rbp]
cmp rax, 7
cmova rdi, qword [rbp]
mov qword [rbp + 0x10], rbx
lea r8, [rbx + rbx]
mov rdx, r9
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov word [rdi + rbx*2], r15w
jmp 0x14003c9df
mov rdx, rbx
lea rcx, [rbp]
call fcn.140040260
jmp 0x14003c9df
lea rdx, str.DisplayName_not_found
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14003fa30
mov rcx, rax
lea rdx, [0x14003fc00]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea r8, [rbp - 0x48]
lea rdx, [0x140079314]
lea rcx, [rsp + 0x40]
call fcn.14003fe50
nop
lea rdx, [0x140079310]
mov rcx, rax
call fcn.14003f830
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
mov rdx, qword [rbp + 0x18]
cmp rdx, 7
jbe 0x14003c995
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c990
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003cccb
call fcn.140052cf0
movaps xmmword [rbp], xmm6
movaps xmmword [rbp + 0x10], xmm7
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x14003c9df
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c9da
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003ccd2
call fcn.140052cf0
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
mov r8d, 0xe
lea rdx, [0x140079318]
lea rcx, [rsp + 0x40]
call fcn.14003ffd0
nop
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x68]
call fcn.140041700
movzx ecx, byte [rax]
mov byte [rbp + 0x40], cl
mov ecx, dword [rax + 4]
mov dword [rbp + 0x44], ecx
lea rdx, [rax + 8]
lea rcx, [rbp + 0x48]
call fcn.14003f5a0
mov rdx, qword [rbp - 0x60]
cmp rdx, 7
jbe 0x14003ca74
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003ca6f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003ccd9
call fcn.140052cf0
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x60], 7
mov word [rbp - 0x78], r15w
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x14003cac7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cac2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003cce0
call fcn.140052cf0
cmp byte [rbp + 0x40], 0
je 0x14003cb14
lea r9, [rbp + 0x48]
cmp qword [rbp + 0x60], 7
cmova r9, qword [rbp + 0x48]
mov rbx, qword [rbp + 0x58]
mov rax, qword [rbp + 0x38]
cmp rbx, rax
ja 0x14003cb0f
lea rdi, [rbp + 0x20]
cmp rax, 7
cmova rdi, qword [rbp + 0x20]
mov qword [rbp + 0x30], rbx
lea r8, [rbx + rbx]
mov rdx, r9
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov word [rdi + rbx*2], r15w
jmp 0x14003cb87
mov rdx, rbx
jmp 0x14003cb7e
lea rdx, str.DisplayVersion_not_found
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14003fa30
mov rcx, rax
lea rdx, [0x14003fc00]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rax, qword [rbp + 0x38]
cmp rax, 3
jb 0x14003cb72
lea rdi, [rbp + 0x20]
cmp rax, 7
cmova rdi, qword [rbp + 0x20]
mov qword [rbp + 0x30], 3
mov r8d, 6
lea rdx, [0x140079358]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov word [rdi + 6], r15w
jmp 0x14003cb87
lea r9, [0x140079358]
mov edx, 3
lea rcx, [rbp + 0x20]
call fcn.140040260
lea rdx, str.__X64_
lea rcx, [rbp + 0x20]
call fcn.14003f830
mov rdi, qword [r14 + 8]
cmp rdi, qword [r14 + 0x10]
je 0x14003cbd5
mov qword [rbp - 0x58], rdi
lea rdx, [rbp - 0x20]
mov rcx, rdi
call fcn.1400412c0
nop
lea rcx, [rdi + 0x20]
lea rdx, [rbp]
call fcn.1400412c0
nop
lea rcx, [rdi + 0x40]
lea rdx, [rbp + 0x20]
call fcn.1400412c0
nop
add qword [r14 + 8], 0x60
jmp 0x14003cbe4
lea r8, [rbp - 0x20]
mov rdx, rdi
mov rcx, r14
call fcn.140040d00
mov dword [rbp - 0x28], 0x104
mov qword [rbp - 0x38], r15
lea rax, [rbp - 0x48]
cmp qword [rbp - 0x30], 7
cmova rax, qword [rbp - 0x48]
mov word [rax], r15w
mov ecx, dword [rbp - 0x28]
mov r8, qword [rbp - 0x38]
cmp rcx, r8
ja 0x14003cc26
mov qword [rbp - 0x38], rcx
lea rax, [rbp - 0x48]
cmp qword [rbp - 0x30], 7
cmova rax, qword [rbp - 0x48]
mov word [rax + rcx*2], r15w
jmp 0x14003cc76
mov rdx, rcx
sub rdx, r8
mov rdi, qword [rbp - 0x30]
mov rax, rdi
sub rax, r8
cmp rdx, rax
ja 0x14003cc6a
mov qword [rbp - 0x38], rcx
lea r9, [rbp - 0x48]
cmp rdi, 7
cmova r9, qword [rbp - 0x48]
lea rdi, [r9 + r8*2]
test rdx, rdx
je 0x14003cc5f
movzx eax, r15w
mov rcx, rdx
rep stosw word [rdi], ax
lea rax, [rdx + r8]
mov word [r9 + rax*2], r15w
jmp 0x14003cc76
mov r9, rdx
lea rcx, [rbp - 0x48]
call fcn.1400403d0
inc esi
mov rdx, qword [rbp + 0x60]
cmp rdx, 7
jbe 0x14003c660
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003ccb3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003cce7
call fcn.140052cf0
jmp 0x14003c660
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
lea rcx, [rbp - 0x20]
call fcn.14003dd10
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 7
jbe 0x14003cd3b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cd36
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003cd36
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140052cf0
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
mov r9d, 0xf003f
xor r8d, r8d
lea rdx, str.SOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionUninstall
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14003d4ff
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x38], r15
mov qword [rbp - 0x30], 7
mov word [rbp - 0x48], r15w
mov dword [rbp - 0x28], 0x104
mov edx, 0x104
mov r9d, edx
lea rcx, [rbp - 0x48]
call fcn.1400403d0
mov esi, r15d
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r15
mov qword [rbp - 8], 7
mov word [rbp - 0x20], r15w
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x18], 7
mov word [rbp], r15w
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], r15
mov qword [rbp + 0x38], 7
mov word [rbp + 0x20], r15w
nop dword [rax + rax]
lea r8, [rbp - 0x48]
cmp qword [rbp - 0x30], 7
cmova r8, qword [rbp - 0x48]
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
lea r9, [rbp - 0x28]
mov edx, esi
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x14003d47e
mov ecx, dword [rbp - 0x28]
mov r8, qword [rbp - 0x38]
cmp rcx, r8
ja 0x14003ce4f
mov qword [rbp - 0x38], rcx
lea rax, [rbp - 0x48]
cmp qword [rbp - 0x30], 7
cmova rax, qword [rbp - 0x48]
mov word [rax + rcx*2], r15w
jmp 0x14003ce9f
mov rdx, rcx
sub rdx, r8
mov rdi, qword [rbp - 0x30]
mov rax, rdi
sub rax, r8
cmp rdx, rax
ja 0x14003ce93
mov qword [rbp - 0x38], rcx
lea r9, [rbp - 0x48]
cmp rdi, 7
cmova r9, qword [rbp - 0x48]
lea rdi, [r9 + r8*2]
test rdx, rdx
je 0x14003ce88
movzx eax, r15w
mov rcx, rdx
rep stosw word [rdi], ax
lea rax, [r8 + rdx]
mov word [r9 + rax*2], r15w
jmp 0x14003ce9f
mov r9, rdx
lea rcx, [rbp - 0x48]
call fcn.1400403d0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.14003fc40
lea rdx, [rbp - 0x48]
cmp qword [rbp - 0x30], 7
cmova rdx, qword [rbp - 0x48]
mov r8, qword [rbp - 0x38]
mov rcx, rax
call fcn.1400408e0
mov rcx, rax
lea rdx, [0x14003fe10]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
lea r9, [rbp - 0x48]
cmp qword [rbp - 0x30], 7
cmova r9, qword [rbp - 0x48]
mov rbx, qword [rbp - 0x38]
mov rax, qword [rbp - 8]
cmp rbx, rax
ja 0x14003cf17
lea rdi, [rbp - 0x20]
cmp rax, 7
cmova rdi, qword [rbp - 0x20]
mov qword [rbp - 0x10], rbx
lea r8, [rbx + rbx]
mov rdx, r9
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov word [rdi + rbx*2], r15w
jmp 0x14003cf23
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.140040260
lea r8, [rbp - 0x48]
lea rdx, str.SOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionUninstall_
lea rcx, [rsp + 0x40]
call fcn.14003fe50
nop
mov qword [rbp + 0x68], 0xffffffff80000002
cmp qword [rax + 0x10], 0
je 0x14003cf55
mov rdx, rax
lea rcx, [rbp + 0x70]
call fcn.14003f4b0
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x14003cf97
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cf92
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d44d
call fcn.140052cf0
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], r15
mov r8d, 0xb
lea rdx, str.DisplayName
lea rcx, [rsp + 0x60]
call fcn.14003ffd0
nop
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x68]
call fcn.140041700
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x14003d016
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003d011
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d454
call fcn.140052cf0
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], r15w
cmp byte [rbp + 0x40], 0
je 0x14003d086
lea r9, [rbp + 0x48]
cmp qword [rbp + 0x60], 7
cmova r9, qword [rbp + 0x48]
mov rbx, qword [rbp + 0x58]
mov rax, qword [rbp + 0x18]
cmp rbx, rax
ja 0x14003d075
lea rdi, [rbp]
cmp rax, 7
cmova rdi, qword [rbp]
mov qword [rbp + 0x10], rbx
lea r8, [rbx + rbx]
mov rdx, r9
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov word [rdi + rbx*2], r15w
jmp 0x14003d16f
mov rdx, rbx
lea rcx, [rbp]
call fcn.140040260
jmp 0x14003d16f
lea rdx, str.DisplayName_not_found
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14003fa30
mov rcx, rax
lea rdx, [0x14003fc00]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea r8, [rbp - 0x48]
lea rdx, [0x140079314]
lea rcx, [rsp + 0x40]
call fcn.14003fe50
nop
lea rdx, [0x140079310]
mov rcx, rax
call fcn.14003f830
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
mov rdx, qword [rbp + 0x18]
cmp rdx, 7
jbe 0x14003d125
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003d120
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d45b
call fcn.140052cf0
movaps xmmword [rbp], xmm6
movaps xmmword [rbp + 0x10], xmm7
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x14003d16f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003d16a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d462
call fcn.140052cf0
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
mov r8d, 0xe
lea rdx, [0x140079318]
lea rcx, [rsp + 0x40]
call fcn.14003ffd0
nop
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x68]
call fcn.140041700
movzx ecx, byte [rax]
mov byte [rbp + 0x40], cl
mov ecx, dword [rax + 4]
mov dword [rbp + 0x44], ecx
lea rdx, [rax + 8]
lea rcx, [rbp + 0x48]
call fcn.14003f5a0
mov rdx, qword [rbp - 0x60]
cmp rdx, 7
jbe 0x14003d204
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003d1ff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d469
call fcn.140052cf0
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x60], 7
mov word [rbp - 0x78], r15w
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x14003d257
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003d252
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d470
call fcn.140052cf0
cmp byte [rbp + 0x40], 0
je 0x14003d2a4
lea r9, [rbp + 0x48]
cmp qword [rbp + 0x60], 7
cmova r9, qword [rbp + 0x48]
mov rbx, qword [rbp + 0x58]
mov rax, qword [rbp + 0x38]
cmp rbx, rax
ja 0x14003d29f
lea rdi, [rbp + 0x20]
cmp rax, 7
cmova rdi, qword [rbp + 0x20]
mov qword [rbp + 0x30], rbx
lea r8, [rbx + rbx]
mov rdx, r9
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov word [rdi + rbx*2], r15w
jmp 0x14003d317
mov rdx, rbx
jmp 0x14003d30e
lea rdx, str.DisplayVersion_not_found
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14003fa30
mov rcx, rax
lea rdx, [0x14003fc00]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rax, qword [rbp + 0x38]
cmp rax, 3
jb 0x14003d302
lea rdi, [rbp + 0x20]
cmp rax, 7
cmova rdi, qword [rbp + 0x20]
mov qword [rbp + 0x30], 3
mov r8d, 6
lea rdx, [0x140079358]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov word [rdi + 6], r15w
jmp 0x14003d317
lea r9, [0x140079358]
mov edx, 3
lea rcx, [rbp + 0x20]
call fcn.140040260
lea rdx, str.__X86_
lea rcx, [rbp + 0x20]
call fcn.14003f830
mov rdi, qword [r14 + 8]
cmp rdi, qword [r14 + 0x10]
je 0x14003d365
mov qword [rbp - 0x58], rdi
lea rdx, [rbp - 0x20]
mov rcx, rdi
call fcn.1400412c0
nop
lea rcx, [rdi + 0x20]
lea rdx, [rbp]
call fcn.1400412c0
nop
lea rcx, [rdi + 0x40]
lea rdx, [rbp + 0x20]
call fcn.1400412c0
nop
add qword [r14 + 8], 0x60
jmp 0x14003d374
lea r8, [rbp - 0x20]
mov rdx, rdi
mov rcx, r14
call fcn.140040d00
mov dword [rbp - 0x28], 0x104
mov qword [rbp - 0x38], r15
lea rax, [rbp - 0x48]
cmp qword [rbp - 0x30], 7
cmova rax, qword [rbp - 0x48]
mov word [rax], r15w
mov ecx, dword [rbp - 0x28]
mov r8, qword [rbp - 0x38]
cmp rcx, r8
ja 0x14003d3b6
mov qword [rbp - 0x38], rcx
lea rax, [rbp - 0x48]
cmp qword [rbp - 0x30], 7
cmova rax, qword [rbp - 0x48]
mov word [rax + rcx*2], r15w
jmp 0x14003d406
mov rdx, rcx
sub rdx, r8
mov rdi, qword [rbp - 0x30]
mov rax, rdi
sub rax, r8
cmp rdx, rax
ja 0x14003d3fa
mov qword [rbp - 0x38], rcx
lea r9, [rbp - 0x48]
cmp rdi, 7
cmova r9, qword [rbp - 0x48]
lea rdi, [r9 + r8*2]
test rdx, rdx
je 0x14003d3ef
movzx eax, r15w
mov rcx, rdx
rep stosw word [rdi], ax
lea rax, [r8 + rdx]
mov word [r9 + rax*2], r15w
jmp 0x14003d406
mov r9, rdx
lea rcx, [rbp - 0x48]
call fcn.1400403d0
inc esi
mov rdx, qword [rbp + 0x60]
cmp rdx, 7
jbe 0x14003cdf0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003d443
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003d477
call fcn.140052cf0
jmp 0x14003cdf0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
lea rcx, [rbp - 0x20]
call fcn.14003dd10
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 7
jbe 0x14003d4cb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003d4c6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003d4c6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140052cf0
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
mov r9d, 0xf003f
xor r8d, r8d
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersionUninstall
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x14003d527
lea rdx, str.open_fail
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14003fa30
mov rcx, rax
lea rdx, [0x14003fc00]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp 0x14003dc86
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x38], r15
mov qword [rbp - 0x30], 7
mov word [rbp - 0x48], r15w
mov dword [rbp - 0x28], 0x104
mov edx, 0x104
mov r9d, edx
lea rcx, [rbp - 0x48]
call fcn.1400403d0
mov esi, r15d
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r15
mov qword [rbp - 8], 7
mov word [rbp - 0x20], r15w
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x18], 7
mov word [rbp], r15w
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], r15
mov qword [rbp + 0x38], 7
mov word [rbp + 0x20], r15w
nop dword [rax]
lea r8, [rbp - 0x48]
cmp qword [rbp - 0x30], 7
cmova r8, qword [rbp - 0x48]
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
lea r9, [rbp - 0x28]
mov edx, esi
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x14003dc2e
mov ecx, dword [rbp - 0x28]
mov r8, qword [rbp - 0x38]
cmp rcx, r8
ja 0x14003d5ff
mov qword [rbp - 0x38], rcx
lea rax, [rbp - 0x48]
cmp qword [rbp - 0x30], 7
cmova rax, qword [rbp - 0x48]
mov word [rax + rcx*2], r15w
jmp 0x14003d64f
mov rdx, rcx
sub rdx, r8
mov rdi, qword [rbp - 0x30]
mov rax, rdi
sub rax, r8
cmp rdx, rax
ja 0x14003d643
mov qword [rbp - 0x38], rcx
lea r9, [rbp - 0x48]
cmp rdi, 7
cmova r9, qword [rbp - 0x48]
lea rdi, [r9 + r8*2]
test rdx, rdx
je 0x14003d638
movzx eax, r15w
mov rcx, rdx
rep stosw word [rdi], ax
lea rax, [rdx + r8]
mov word [r9 + rax*2], r15w
jmp 0x14003d64f
mov r9, rdx
lea rcx, [rbp - 0x48]
call fcn.1400403d0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.14003fc40
lea rdx, [rbp - 0x48]
cmp qword [rbp - 0x30], 7
cmova rdx, qword [rbp - 0x48]
mov r8, qword [rbp - 0x38]
mov rcx, rax
call fcn.1400408e0
mov rcx, rax
lea rdx, [0x14003fe10]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
lea r9, [rbp - 0x48]
cmp qword [rbp - 0x30], 7
cmova r9, qword [rbp - 0x48]
mov rbx, qword [rbp - 0x38]
mov rax, qword [rbp - 8]
cmp rbx, rax
ja 0x14003d6c7
lea rdi, [rbp - 0x20]
cmp rax, 7
cmova rdi, qword [rbp - 0x20]
mov qword [rbp - 0x10], rbx
lea r8, [rbx + rbx]
mov rdx, r9
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov word [rdi + rbx*2], r15w
jmp 0x14003d6d3
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.140040260
lea r8, [rbp - 0x48]
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersionUninstall_
lea rcx, [rsp + 0x40]
call fcn.14003fe50
nop
mov qword [rbp + 0x68], 0xffffffff80000001
cmp qword [rax + 0x10], 0
je 0x14003d705
mov rdx, rax
lea rcx, [rbp + 0x70]
call fcn.14003f4b0
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x14003d747
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003d742
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003dbfd
call fcn.140052cf0
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], r15
mov r8d, 0xb
lea rdx, str.DisplayName
lea rcx, [rsp + 0x60]
call fcn.14003ffd0
nop
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x68]
call fcn.140041700
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x14003d7c6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003d7c1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003dc04
call fcn.140052cf0
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], r15w
cmp byte [rbp + 0x40], 0
je 0x14003d836
lea r9, [rbp + 0x48]
cmp qword [rbp + 0x60], 7
cmova r9, qword [rbp + 0x48]
mov rbx, qword [rbp + 0x58]
mov rax, qword [rbp + 0x18]
cmp rbx, rax
ja 0x14003d825
lea rdi, [rbp]
cmp rax, 7
cmova rdi, qword [rbp]
mov qword [rbp + 0x10], rbx
lea r8, [rbx + rbx]
mov rdx, r9
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov word [rdi + rbx*2], r15w
jmp 0x14003d91f
mov rdx, rbx
lea rcx, [rbp]
call fcn.140040260
jmp 0x14003d91f
lea rdx, str.DisplayName_not_found
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14003fa30
mov rcx, rax
lea rdx, [0x14003fc00]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea r8, [rbp - 0x48]
lea rdx, [0x140079314]
lea rcx, [rsp + 0x40]
call fcn.14003fe50
nop
lea rdx, [0x140079310]
mov rcx, rax
call fcn.14003f830
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
mov rdx, qword [rbp + 0x18]
cmp rdx, 7
jbe 0x14003d8d5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003d8d0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003dc0b
call fcn.140052cf0
movaps xmmword [rbp], xmm6
movaps xmmword [rbp + 0x10], xmm7
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x14003d91f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003d91a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003dc12
call fcn.140052cf0
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
mov r8d, 0xe
lea rdx, [0x140079318]
lea rcx, [rsp + 0x40]
call fcn.14003ffd0
nop
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x68]
call fcn.140041700
movzx ecx, byte [rax]
mov byte [rbp + 0x40], cl
mov ecx, dword [rax + 4]
mov dword [rbp + 0x44], ecx
lea rdx, [rax + 8]
lea rcx, [rbp + 0x48]
call fcn.14003f5a0
mov rdx, qword [rbp - 0x60]
cmp rdx, 7
jbe 0x14003d9b4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003d9af
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003dc19
call fcn.140052cf0
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x60], 7
mov word [rbp - 0x78], r15w
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x14003da07
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003da02
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003dc20
call fcn.140052cf0
cmp byte [rbp + 0x40], 0
je 0x14003da54
lea r9, [rbp + 0x48]
cmp qword [rbp + 0x60], 7
cmova r9, qword [rbp + 0x48]
mov rbx, qword [rbp + 0x58]
mov rax, qword [rbp + 0x38]
cmp rbx, rax
ja 0x14003da4f
lea rdi, [rbp + 0x20]
cmp rax, 7
cmova rdi, qword [rbp + 0x20]
mov qword [rbp + 0x30], rbx
lea r8, [rbx + rbx]
mov rdx, r9
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov word [rdi + rbx*2], r15w
jmp 0x14003dac7
mov rdx, rbx
jmp 0x14003dabe
lea rdx, str.DisplayVersion_not_found
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14003fa30
mov rcx, rax
lea rdx, [0x14003fc00]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rax, qword [rbp + 0x38]
cmp rax, 3
jb 0x14003dab2
lea rdi, [rbp + 0x20]
cmp rax, 7
cmova rdi, qword [rbp + 0x20]
mov qword [rbp + 0x30], 3
mov r8d, 6
lea rdx, [0x140079358]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov word [rdi + 6], r15w
jmp 0x14003dac7
lea r9, [0x140079358]
mov edx, 3
lea rcx, [rbp + 0x20]
call fcn.140040260
lea rdx, str.__HKCU_X64_
lea rcx, [rbp + 0x20]
call fcn.14003f830
mov rdi, qword [r14 + 8]
cmp rdi, qword [r14 + 0x10]
je 0x14003db15
mov qword [rbp - 0x58], rdi
lea rdx, [rbp - 0x20]
mov rcx, rdi
call fcn.1400412c0
nop
lea rcx, [rdi + 0x20]
lea rdx, [rbp]
call fcn.1400412c0
nop
lea rcx, [rdi + 0x40]
lea rdx, [rbp + 0x20]
call fcn.1400412c0
nop
add qword [r14 + 8], 0x60
jmp 0x14003db24
lea r8, [rbp - 0x20]
mov rdx, rdi
mov rcx, r14
call fcn.140040d00
mov dword [rbp - 0x28], 0x104
mov qword [rbp - 0x38], r15
lea rax, [rbp - 0x48]
cmp qword [rbp - 0x30], 7
cmova rax, qword [rbp - 0x48]
mov word [rax], r15w
mov ecx, dword [rbp - 0x28]
mov r8, qword [rbp - 0x38]
cmp rcx, r8
ja 0x14003db66
mov qword [rbp - 0x38], rcx
lea rax, [rbp - 0x48]
cmp qword [rbp - 0x30], 7
cmova rax, qword [rbp - 0x48]
mov word [rax + rcx*2], r15w
jmp 0x14003dbb6
mov rdx, rcx
sub rdx, r8
mov rdi, qword [rbp - 0x30]
mov rax, rdi
sub rax, r8
cmp rdx, rax
ja 0x14003dbaa
mov qword [rbp - 0x38], rcx
lea r9, [rbp - 0x48]
cmp rdi, 7
cmova r9, qword [rbp - 0x48]
lea rdi, [r9 + r8*2]
test rdx, rdx
je 0x14003db9f
movzx eax, r15w
mov rcx, rdx
rep stosw word [rdi], ax
lea rax, [r8 + rdx]
mov word [r9 + rax*2], r15w
jmp 0x14003dbb6
mov r9, rdx
lea rcx, [rbp - 0x48]
call fcn.1400403d0
inc esi
mov rdx, qword [rbp + 0x60]
cmp rdx, 7
jbe 0x14003d5a0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003dbf3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003dc27
call fcn.140052cf0
jmp 0x14003d5a0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
lea rcx, [rbp - 0x20]
call fcn.14003dd10
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 7
jbe 0x14003dc7b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003dc76
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003dc76
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140052cf0
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rdx, qword [rbp + 0x88]
cmp rdx, 7
jbe 0x14003dccc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003dcc7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003dcc7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140052cf0
mov rcx, qword [rbp + 0x90]
xor rcx, rsp
call fcn.1400529c0
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop rbp
ret