Function at 0x14001f6f0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
mov rbp, rsp
sub rsp, 0x80
mov qword [rbp - 0x10], 0xfffffffffffffffe
mov rdi, rcx
call fcn.14002dca4
mov rcx, rax
xor edx, edx
test rax, rax
setne dl
test edx, edx
jne 0x14001f72f
mov ecx, 0x80004005
call fcn.140001900
int3
mov rax, qword [rax]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x40], rbx
mov ecx, 0x92
call fcn.1400402fc
test rax, rax
je 0x14001f762
mov r8d, 0x92
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.1400054e0
mov rbx, qword [rbp - 0x40]
mov rcx, rbx
call fcn.14017edac
mov r12d, eax
cmp eax, 1
sete cl
mov byte [rdi + 0x356], cl
mov ecx, 0x93
call fcn.1400402fc
test rax, rax
je 0x14001f79e
mov r8d, 0x93
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.1400054e0
mov rbx, qword [rbp - 0x40]
mov rcx, rbx
call fcn.14017edac
mov r13d, eax
cmp eax, 1
sete cl
mov byte [rdi + 0x357], cl
mov ecx, 0x94
call fcn.1400402fc
test rax, rax
je 0x14001f7da
mov r8d, 0x94
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.1400054e0
mov rbx, qword [rbp - 0x40]
mov rcx, rbx
call fcn.14017edac
mov r14d, eax
cmp eax, 1
sete cl
mov byte [rdi + 0x358], cl
mov ecx, 0x86
call fcn.1400402fc
test rax, rax
je 0x14001f816
mov r8d, 0x86
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.1400054e0
mov rbx, qword [rbp - 0x40]
mov rcx, rbx
call fcn.14017edac
mov dword [rdi + 0x35c], eax
mov rcx, qword [rdi + 0x298]
sub rcx, 0x18
call fcn.140001840
lea rbx, [rax + 0x18]
mov qword [rbp - 8], rbx
cmp dword [rbx - 0x10], 0
je 0x14001fa10
mov rdx, rbx
mov rcx, 0xffffffff80000002
call fcn.140025680
mov rsi, rax
test rax, rax
je 0x14001f8aa
mov dword [rbp + 0x48], 4
lea rax, [rbp + 0x48]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x24]
mov qword [rsp + 0x20], rax
mov r9d, 0xffff
lea r8, str.EnableRequiredSend
xor edx, edx
mov rcx, rsi
call qword [sym.imp.SHLWAPI.dll_SHRegGetValueW]
test eax, eax
jne 0x14001f8a1
mov r12d, dword [rbp + 0x50]
jmp 0x14001f8aa
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp r12d, 1
sete al
mov byte [rdi + 0x356], al
mov rdx, rbx
mov rcx, 0xffffffff80000002
call fcn.140025680
mov rsi, rax
test rax, rax
je 0x14001f91b
mov dword [rbp + 0x58], 4
lea rax, [rbp + 0x58]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
mov r9d, 0xffff
lea r8, str.EnableSendPCName
xor edx, edx
mov rcx, rsi
call qword [sym.imp.SHLWAPI.dll_SHRegGetValueW]
test eax, eax
jne 0x14001f912
mov r13d, dword [rbp - 0x28]
jmp 0x14001f91b
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp r13d, 1
sete al
mov byte [rdi + 0x357], al
mov rdx, rbx
mov rcx, 0xffffffff80000002
call fcn.140025680
mov rsi, rax
test rax, rax
je 0x14001f98c
mov dword [rbp - 0x2c], 4
lea rax, [rbp - 0x2c]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x1c]
mov qword [rsp + 0x20], rax
mov r9d, 0xffff
lea r8, str.EnableRoundTrip
xor edx, edx
mov rcx, rsi
call qword [sym.imp.SHLWAPI.dll_SHRegGetValueW]
test eax, eax
jne 0x14001f983
mov r14d, dword [rbp - 0x38]
jmp 0x14001f98c
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp r14d, 1
sete al
mov byte [rdi + 0x358], al
mov esi, dword [rdi + 0x35c]
mov rdx, rbx
mov rcx, 0xffffffff80000002
call fcn.140025680
mov r12, rax
test rax, rax
je 0x14001fa02
mov dword [rbp - 0x34], 4
lea rax, [rbp - 0x34]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x18]
mov qword [rsp + 0x20], rax
mov r9d, 0xffff
lea r8, str.WaitDuration
xor edx, edx
mov rcx, r12
call qword [sym.imp.SHLWAPI.dll_SHRegGetValueW]
test eax, eax
jne 0x14001f9f9
mov esi, dword [rbp - 0x30]
jmp 0x14001fa02
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp esi, 0x3e8
jle 0x14001fa10
mov dword [rdi + 0x35c], esi
movzx eax, byte [rdi + 0x281]
test al, al
je 0x14001fa21
mov byte [rdi + 0x356], al
lea rdx, [rbx - 0x18]
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14001fa3f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x14001fa5b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rsp, 0x80
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret