Function at 0x180028970
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
sub rsp, 0xab0
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x18013e1e0]
xor rax, rsp
mov qword [rsp + 0xaa0], rax
mov r12, rcx
mov rdi, qword [rsp + 0xaf0]
mov edx, 0x68
call fcn.18003a4f0
mov dword [rdi], 1
xor edx, edx
lea rcx, [r12 + 8]
call fcn.18003f910
mov qword [rsp + 0x80], 7
xor ebp, ebp
mov qword [rsp + 0x78], rbp
mov word [rsp + 0x68], bp
mov rbx, rbp
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x48], ebp
mov qword [rsp + 0x50], rbp
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersionUninstallF009657E_18AE_4744_A253_2FE9452A0BDC
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
or rsi, 0xffffffffffffffff
test eax, eax
jne 0x180028b5b
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x48], ebp
mov word [rsp + 0x90], bp
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x92]
call fcn.1800c31a0
mov dword [rsp + 0x38], 0x208
mov dword [rsp + 0x3c], ebp
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x3c]
xor r8d, r8d
lea rdx, str.DisplayVersion
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov edi, eax
mov ecx, dword [rsp + 0x38]
test ecx, ecx
je 0x180028b0c
mov edx, dword [rsp + 0x3c]
test edx, edx
je 0x180028b02
cmp edx, 2
jbe 0x180028ae2
cmp edx, 7
jne 0x180028b02
test cl, 1
jne 0x180028ad8
mov eax, ecx
shr eax, 1
cmp eax, 1
jb 0x180028ad8
mov rdx, rcx
shr rdx, 1
cmp word [rsp + rdx*2 + 0x8e], bp
jne 0x180028ad8
cmp eax, 1
jbe 0x180028b14
cmp word [rsp + rdx*2 + 0x8c], bp
je 0x180028b14
mov word [rsp + 0x90], bp
jmp 0x180028b41
test cl, 1
jne 0x180028af8
mov rax, rcx
shr rax, 1
cmp word [rsp + rax*2 + 0x8e], 0
je 0x180028b14
mov word [rsp + 0x90], bp
jmp 0x180028b41
mov word [rsp + 0x90], bp
jmp 0x180028b41
mov word [rsp + 0x90], bp
test edi, edi
jne 0x180028b41
xor eax, eax
mov rcx, rsi
lea rdi, [rsp + 0x90]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x60]
call fcn.180014810
test rbx, rbx
je 0x180028b57
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, rbp
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x48], ebp
mov word [rsp + 0x2a0], bp
xor edx, edx
mov r8d, 0x7fe
lea rcx, [rsp + 0x2a2]
call fcn.1800c31a0
lea r8, [rsp + 0x68]
cmp qword [rsp + 0x80], 8
cmovae r8, qword [rsp + 0x68]
lea rdx, str.Version__s_powered_by_Widdit.com
lea rcx, [rsp + 0x2a0]
call fcn.180018440
mov edx, 0xcb
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rdx, rax
lea rcx, [r12 + 0x40]
call fcn.180027d10
lea rdx, [rsp + 0x2a0]
mov rax, qword [0x180140118]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x2a0]
shr rax, 0x10
test ax, ax
jne 0x180028bf1
movzx edx, dx
lea rcx, [rsp + 0x30]
call fcn.180014450
jmp 0x180028c3d
lea rcx, [rsp + 0x2a0]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rdi, eax
test eax, eax
je 0x180028c3d
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.1800145b0
test eax, eax
je 0x180028c3d
mov r8, rdi
add r8, r8
lea eax, [rdi + 1]
movsxd rcx, eax
add rcx, rcx
cmp rcx, r8
jb 0x180028c3d
lea rdx, [rsp + 0x2a0]
mov rcx, qword [rsp + 0x30]
call fcn.1800c2cf0
nop
mov rax, qword [r12 + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [r12 + 0x40]
call qword [rax + 0x30]
nop
mov rax, qword [rsp + 0x30]
add rax, 0xfffffffffffffff4
lea rcx, [0x180140108]
cmp rax, rcx
je 0x180028c89
lock xadd dword [rax], esi
dec esi
test esi, esi
jg 0x180028c84
mov rcx, qword [rsp + 0x30]
add rcx, 0xfffffffffffffff4
call fcn.1800bf8f0
mov rbx, qword [rsp + 0x40]
jmp 0x180028c89
mov rbx, qword [rsp + 0x40]
mov rax, qword [r12 + 0x40]
mov edx, 1
lea rcx, [r12 + 0x40]
call qword [rax + 0x38]
mov edx, 0xcc
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rdx, rax
lea rcx, [r12 + 0x150]
call fcn.180027d10
mov rax, qword [r12 + 0x150]
mov edx, 1
lea rcx, [r12 + 0x150]
call qword [rax + 0x38]
nop
test rbx, rbx
je 0x180028ce3
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
cmp qword [rsp + 0x80], 8
jb 0x180028d04
mov rcx, qword [rsp + 0x68]
call fcn.1800bf8b4
movabs rax, 1
jmp 0x180028d0e
movabs rax, 1
mov rcx, qword [rsp + 0xaa0]
xor rcx, rsp
call fcn.1800bf8d0
lea r11, [rsp + 0xab0]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r13
pop r12
pop rdi
ret