Function at 0x180012008
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x498]
sub rsp, 0x570
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x18004b8d8]
xor rax, rsp
mov qword [rbp + 0x460], rax
mov rdi, rcx
xor r12d, r12d
mov dword [rsp + 0x30], r12d
lea r14d, [r12 + 0xf]
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x18], r12
mov byte [rbp + 8], r12b
lea r13, [0x18003d357]
mov rcx, r13
call fcn.18001c010
mov r8, rax
mov rdx, r13
lea rcx, [rbp + 8]
call fcn.180003020
nop
xor edx, edx
mov r8d, 0x400
lea rcx, [rbp + 0x60]
call fcn.18001c0d0
mov dword [rsp + 0x30], 0x3ff
mov qword [rbp - 8], r14
mov qword [rbp - 0x10], r12
mov byte [rbp - 0x20], r12b
lea rcx, str.SOFTWAREMicrosoftWindowsCurrentVersionUninstall_
call fcn.18001c010
mov r8, rax
lea rdx, str.SOFTWAREMicrosoftWindowsCurrentVersionUninstall_
lea rcx, [rbp - 0x20]
call fcn.180003020
nop
call fcn.18001a418
lea rsi, str.QWallpaper
mov rbx, rsi
cmp qword [rax + 0x58], r12
cmovne rbx, qword [rax + 0x58]
mov rcx, rbx
call fcn.18001c010
mov r8, rax
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.180006208
lea r15, [0x18003f7b0]
mov rcx, r15
call fcn.18001c010
mov r8, rax
mov rdx, r15
lea rcx, [rbp - 0x20]
call fcn.180006208
mov qword [rsp + 0x38], r12
lea rdx, [rbp - 0x20]
cmp qword [rbp - 8], 0x10
cmovae rdx, qword [rbp - 0x20]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x180012178
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, str.UninstallString
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov rdx, r13
lea rcx, [rbp + 0x60]
call fcn.18001cdd0
test eax, eax
jne 0x180012248
lea rcx, str.SOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionUninstall_
call fcn.18001c010
mov r8, rax
lea rdx, str.SOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionUninstall_
lea rcx, [rbp - 0x20]
call fcn.180003020
call fcn.18001a418
mov rbx, rsi
cmp qword [rax + 0x58], r12
cmovne rbx, qword [rax + 0x58]
mov rcx, rbx
call fcn.18001c010
mov r8, rax
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.180006208
mov rcx, r15
call fcn.18001c010
mov r8, rax
mov rdx, r15
lea rcx, [rbp - 0x20]
call fcn.180006208
lea rdx, [rbp - 0x20]
cmp qword [rbp - 8], 0x10
cmovae rdx, qword [rbp - 0x20]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x180012248
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, str.UninstallString
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov rdx, r13
lea rcx, [rbp + 0x60]
call fcn.18001cdd0
test eax, eax
je 0x180012355
lea rcx, [rbp + 0x60]
call fcn.18001c010
test rax, rax
je 0x180012355
lea rcx, [rbp + 0x60]
call fcn.18001c010
mov r8, rax
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 8]
call fcn.180003020
lea rcx, [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae rcx, qword [rbp + 8]
xor edx, edx
call fcn.18001e71c
cmp eax, 0xffffffff
jne 0x1800122b8
mov rcx, r13
call fcn.18001c010
mov r8, rax
mov rdx, r13
lea rcx, [rbp + 8]
call fcn.180003020
mov rcx, r15
call fcn.18001c010
mov rdx, rax
lea rcx, [rbp + 8]
call fcn.180012abc
mov rbx, rax
cmp eax, 1
jg 0x1800122eb
mov rcx, r13
call fcn.18001c010
mov r8, rax
mov rdx, r13
lea rcx, [rbp + 8]
call fcn.180003020
movsxd r9, ebx
xor r8d, r8d
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 8]
call fcn.1800039a8
nop
mov rdx, rax
lea rcx, [rbp + 8]
call fcn.180002f98
nop
cmp qword [rbp + 0x48], 0x10
jb 0x18001231c
mov rcx, qword [rbp + 0x30]
call fcn.18001c1c4
mov qword [rdi + 0x18], r14
mov qword [rdi + 0x10], r12
mov byte [rdi], r12b
lea rdx, [rbp + 8]
mov rcx, rdi
call fcn.180002f98
nop
cmp qword [rbp - 8], 0x10
jb 0x180012344
mov rcx, qword [rbp - 0x20]
call fcn.18001c1c4
mov qword [rbp - 8], r14
mov qword [rbp - 0x10], r12
mov byte [rbp - 0x20], r12b
jmp 0x18001243f
mov qword [rbp + 0x48], r14
mov qword [rbp + 0x40], r12
mov byte [rbp + 0x30], r12b
mov rcx, r13
call fcn.18001c010
mov r8, rax
mov rdx, r13
lea rcx, [rbp + 0x30]
call fcn.180003020
nop
lea rcx, [rsp + 0x50]
call fcn.1800073c4
nop
lea rcx, [rsp + 0x50]
call fcn.180006ec0
mov rbx, rax
mov rcx, rax
call fcn.18001c010
mov r8, rax
mov rdx, rbx
lea rcx, [rbp + 0x30]
call fcn.180003020
mov rcx, r15
call fcn.18001c010
mov r8, rax
mov rdx, r15
lea rcx, [rbp + 0x30]
call fcn.180006208
call fcn.18001a418
cmp qword [rax + 0x58], r12
cmovne rsi, qword [rax + 0x58]
mov rcx, rsi
call fcn.18001c010
mov r8, rax
mov rdx, rsi
lea rcx, [rbp + 0x30]
call fcn.180006208
mov qword [rdi + 0x18], r14
mov qword [rdi + 0x10], r12
mov byte [rdi], r12b
lea rdx, [rbp + 0x30]
mov rcx, rdi
call fcn.180002f98
nop
lea rcx, [rsp + 0x50]
call fcn.180007490
nop
cmp qword [rbp + 0x48], 0x10
jb 0x180012417
mov rcx, qword [rbp + 0x30]
call fcn.18001c1c4
mov qword [rbp + 0x48], r14
mov qword [rbp + 0x40], r12
mov byte [rbp + 0x30], r12b
cmp qword [rbp - 8], 0x10
jb 0x180012433
mov rcx, qword [rbp - 0x20]
call fcn.18001c1c4
mov qword [rbp - 8], r14
mov qword [rbp - 0x10], r12
mov byte [rbp - 0x20], r12b
cmp qword [rbp + 0x20], 0x10
jb 0x18001244f
mov rcx, qword [rbp + 8]
call fcn.18001c1c4
mov rax, rdi
mov rcx, qword [rbp + 0x460]
xor rcx, rsp
call fcn.18001bbd0
lea r11, [rsp + 0x570]
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