Function at 0x14003ac00
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rax, qword [0x140073010]
xor rax, rsp
mov qword [rsp + 0x58], rax
xor edi, edi
mov r13, rdx
mov rdx, qword [rcx]
mov r15, r8
mov qword [rsp + 0x50], rdi
mov r12, rcx
lea rbp, [rdi - 1]
test rdx, rdx
jne 0x14003ad27
lea rdx, [rsp + 0x40]
mov esi, edi
lea rcx, str.6VVYqCAosWjD4erSfQbAxxIXcxyHU1Xlr9LBeTz09TNPJ8UHuJZMnf946smXMDRuyFCrMXlN9wHXbMdkGsUHCQ
call fcn.140036bf0
mov r14, qword [rsp + 0x40]
lea rax, [rsp + 0x50]
mov rdx, r14
mov qword [rsp + 0x20], rax
mov r9d, 0xf003f
xor r8d, r8d
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x14003ad18
mov rbx, rbp
nop dword [rax]
cmp byte [r14 + rbx + 1], sil
lea rbx, [rbx + 1]
jne 0x14003ac90
mov edx, 1
lea rcx, [rbx + 1]
call fcn.1400462ec
mov r8, r14
lea rdx, [rbx + 1]
mov rcx, rax
mov rsi, rax
call fcn.1400466e0
test rsi, rsi
je 0x14003ad18
cmp qword [rsp + 0x50], rdi
je 0x14003ad18
mov rcx, rbp
nop word [rax + rax]
inc rcx
cmp byte [rsi + rcx], dil
jne 0x14003acd0
add rcx, 1
mov edx, 1
cmovb rcx, rbp
call fcn.1400462ec
mov qword [r12], rax
mov rdx, rbp
inc rdx
cmp byte [rsi + rdx], dil
jne 0x14003acf2
inc rdx
mov r8, rsi
mov rcx, rax
call fcn.1400466e0
mov rcx, rsi
call fcn.1400462d0
mov rcx, qword [rsp + 0x50]
jmp 0x14003ad5d
mov rcx, rsi
call fcn.1400462d0
mov eax, ebp
jmp 0x14003aefa
lea rax, [rsp + 0x50]
mov r9d, 0xf003f
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x14003aef7
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14003aef7
lea rax, [rsp + 0x48]
mov dword [rsp + 0x48], edi
mov qword [rsp + 0x30], rax
lea rdx, [0x14006ce2d]
mov qword [rsp + 0x28], rdi
mov r9d, 0xffff
mov r8, r13
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ADVAPI32.dll_RegGetValueA]
test eax, eax
jne 0x14003aef3
mov eax, dword [rsp + 0x48]
test eax, eax
je 0x14003aef3
mov ecx, eax
mov edx, 1
call fcn.1400462ec
mov qword [r15], rax
test rax, rax
je 0x14003aee8
lea rcx, [rsp + 0x48]
mov r9d, 0xffff
mov qword [rsp + 0x30], rcx
lea rdx, [0x14006ce2d]
mov rcx, qword [rsp + 0x50]
mov r8, r13
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ADVAPI32.dll_RegGetValueA]
test eax, eax
jne 0x14003aee8
mov rbx, qword [r15]
test rbx, rbx
je 0x14003aee8
mov rax, rbp
nop dword [rax]
inc rax
cmp byte [rbx + rax], dil
jne 0x14003ae00
cmp rax, 1
jbe 0x14003aee8
mov esi, edi
mov rcx, rbp
nop dword [rax + rax]
inc rcx
cmp byte [rbx + rcx], sil
jne 0x14003ae20
add rcx, 1
mov edx, 2
cmovb rcx, rbp
call fcn.1400462ec
mov r14, rax
mov rdx, rax
movsx ecx, byte [rbx]
test cl, cl
je 0x14003ae5b
test r14, r14
je 0x14003ae41
inc esi
mov word [rdx], cx
inc rbx
add rdx, 2
jmp 0x14003ae41
test r14, r14
je 0x14003ae68
movsxd rax, esi
mov word [r14 + rax*2], di
mov rcx, qword [r15]
call fcn.1400462d0
mov rcx, r14
mov qword [r15], rdi
call fcn.1400374b0
mov qword [r15], rdi
mov rbx, rax
test rax, rax
je 0x14003aed8
mov rcx, rbp
nop dword [rax]
inc rcx
cmp word [rax + rcx*2], di
jne 0x14003ae90
add rcx, 1
mov edx, 1
cmovb rcx, rbp
call fcn.1400462ec
mov qword [r15], rax
mov rax, rdi
movzx edx, word [rbx + rax*2]
mov rcx, qword [r15]
test dx, dx
je 0x14003aecc
test rcx, rcx
je 0x14003aeb1
inc edi
mov byte [rcx + rax], dl
inc rax
jmp 0x14003aeb1
test rcx, rcx
je 0x14003aed8
movsxd rax, edi
mov byte [rax + rcx], 0
mov rcx, r14
call fcn.1400462d0
mov rcx, rbx
call fcn.1400462d0
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
jmp 0x14003aefa
mov rax, rbp
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140043fc0
mov rbx, qword [rsp + 0xb8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret