Function at 0x4a7510
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x88
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov rax, qword [rsp + 0x90]
add rax, 8
mov rcx, rax
call fcn.0042eeb0
test eax, eax
je 0x4a7555
mov edx, 0x7a
lea rcx, [0x005e2730]
call fcn.00422700
test eax, eax
je 0x4a7555
int3
lea rcx, [rsp + 0x28]
call fcn.0044b5b0
nop
lea rcx, [rsp + 0x20]
call fcn.0044b5b0
nop
call fcn.004592c0
lea rdx, [rsp + 0x28]
mov rcx, rax
call fcn.004a6fd0
mov rax, qword [rsp + 0x90]
add rax, 8
mov rcx, rax
call fcn.0042f030
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x38], 1
jmp 0x4a75ab
mov eax, dword [rsp + 0x38]
add eax, 1
mov dword [rsp + 0x38], eax
cmp qword [rsp + 0x30], 0
je 0x4a7989
mov rax, qword [rsp + 0x90]
add rax, 8
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.0042f070
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x58]
call fcn.0044b5b0
nop
lea rcx, [rsp + 0x50]
call fcn.0044b5b0
nop
lea rcx, [rsp + 0x48]
call fcn.0044b5b0
nop
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov r8d, 5
lea rdx, [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
call qword [rax + 0xd8]
test eax, eax
je 0x4a7964
lea rcx, [rsp + 0x50]
call fcn.0040abd0
movzx eax, al
test eax, eax
jne 0x4a7964
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov r8d, 6
lea rdx, [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
call qword [rax + 0xd8]
test eax, eax
jne 0x4a7665
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x48]
call fcn.00410040
xor r8d, r8d
mov dl, 0x20
lea rcx, [rsp + 0x50]
call fcn.004aaef0
cmp eax, 0xffffffff
je 0x4a7691
mov edx, 0x8e
lea rcx, [0x005e2768]
call fcn.00422700
test eax, eax
je 0x4a7691
int3
lea rcx, [rsp + 0x50]
call fcn.004c1cf0
mov r8, rax
lea rdx, str._sDefaultIcon
lea rcx, [rsp + 0x20]
call fcn.004ab2c0
lea rcx, [rsp + 0x20]
call fcn.004c1cf0
mov rcx, rax
call fcn.004a71c0
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
xor r8d, r8d
lea rdx, [rsp + 0x20]
mov rcx, qword [rsp + 0x40]
call qword [rax + 0xd8]
test eax, eax
je 0x4a76f5
lea rcx, [rsp + 0x20]
call fcn.0040abd0
movzx eax, al
test eax, eax
je 0x4a779a
lea rcx, [rsp + 0x50]
call fcn.004c1cf0
lea r9, str.ddeexec
mov r8, rax
lea rdx, str._s_shellopen_s
lea rcx, [rsp + 0x20]
call fcn.004ab2c0
lea rcx, [rsp + 0x20]
call fcn.004c1cf0
mov rcx, rax
call fcn.004a71c0
lea rcx, [rsp + 0x50]
call fcn.004c1cf0
lea r9, str.ddeexec
mov r8, rax
lea rdx, str._s_shellprint_s
lea rcx, [rsp + 0x20]
call fcn.004ab2c0
lea rcx, [rsp + 0x20]
call fcn.004c1cf0
mov rcx, rax
call fcn.004a71c0
lea rcx, [rsp + 0x50]
call fcn.004c1cf0
lea r9, str.ddeexec
mov r8, rax
lea rdx, str._s_shellprintto_s
lea rcx, [rsp + 0x20]
call fcn.004ab2c0
lea rcx, [rsp + 0x20]
call fcn.004c1cf0
mov rcx, rax
call fcn.004a71c0
lea rcx, [rsp + 0x50]
call fcn.004c1cf0
lea r9, str.command
mov r8, rax
lea rdx, str._s_shellopen_s
lea rcx, [rsp + 0x20]
call fcn.004ab2c0
lea rcx, [rsp + 0x20]
call fcn.004c1cf0
mov rcx, rax
call fcn.004a71c0
lea rcx, [rsp + 0x50]
call fcn.004c1cf0
lea r9, str.command
mov r8, rax
lea rdx, str._s_shellprint_s
lea rcx, [rsp + 0x20]
call fcn.004ab2c0
lea rcx, [rsp + 0x20]
call fcn.004c1cf0
mov rcx, rax
call fcn.004a71c0
lea rcx, [rsp + 0x50]
call fcn.004c1cf0
lea r9, str.command
mov r8, rax
lea rdx, str._s_shellprintto_s
lea rcx, [rsp + 0x20]
call fcn.004ab2c0
lea rcx, [rsp + 0x20]
call fcn.004c1cf0
mov rcx, rax
call fcn.004a71c0
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov r8d, 4
lea rdx, [rsp + 0x58]
mov rcx, qword [rsp + 0x40]
call qword [rax + 0xd8]
lea rcx, [rsp + 0x58]
call fcn.0040abd0
movzx eax, al
test eax, eax
jne 0x4a7964
xor edx, edx
lea rcx, [rsp + 0x58]
call fcn.00411ca0
movsx eax, al
cmp eax, 0x2e
je 0x4a789e
mov edx, reloc.OLEAUT32.dll_UnRegisterTypeLib
lea rcx, [0x005e27a0]
call fcn.00422700
test eax, eax
je 0x4a789e
int3
mov dword [rsp + 0x64], 0x208
mov edx, dword [rsp + 0x64]
lea rcx, [rsp + 0x20]
call fcn.00477930
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x58]
call fcn.004c1cf0
lea r9, [rsp + 0x64]
mov rcx, qword [rsp + 0x70]
mov r8, rcx
mov rdx, rax
mov rcx, 0xffffffff80000000
call qword [sym.imp.ADVAPI32.dll_RegQueryValueA]
mov dword [rsp + 0x60], eax
mov edx, 0xffffffff
lea rcx, [rsp + 0x20]
call fcn.00411dd0
cmp dword [rsp + 0x60], 0
jne 0x4a7921
lea rcx, [rsp + 0x20]
call fcn.0040abd0
movzx eax, al
test eax, eax
jne 0x4a7921
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x20]
call fcn.0049bec0
movzx eax, al
test eax, eax
je 0x4a7964
lea rcx, [rsp + 0x58]
call fcn.004c1cf0
mov r8, rax
lea rdx, str._sShellNew
lea rcx, [rsp + 0x20]
call fcn.004ab2c0
lea rcx, [rsp + 0x20]
call fcn.004c1cf0
mov rcx, rax
call fcn.004a71c0
lea rcx, [rsp + 0x58]
call fcn.004c1cf0
mov rcx, rax
call fcn.004a71c0
nop
lea rcx, [rsp + 0x48]
call fcn.00407d10
nop
lea rcx, [rsp + 0x50]
call fcn.00407d10
nop
lea rcx, [rsp + 0x58]
call fcn.00407d10
jmp 0x4a75a0
lea rcx, [rsp + 0x20]
call fcn.00407d10
nop
lea rcx, [rsp + 0x28]
call fcn.00407d10
add rsp, 0x88
ret