Function at 0x18000afd0
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
mov ebx, 0x104
mov rdi, rcx
mov rcx, qword [0x180029648]
mov esi, edx
xor r12d, r12d
xor r13d, r13d
mov r8, rbx
xor edx, edx
mov r15, r9
xor ebp, ebp
mov dword [rsp + 0x44], ebx
mov dword [rax - 0x78], ebx
mov dword [rax - 0x74], ebx
mov qword [rax - 0x80], r12
mov dword [rsp + 0x40], r13d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
mov r14, rax
je 0x18000b32f
mov rcx, qword [0x180029648]
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
mov rbx, rax
je 0x18000b2ea
cmp qword [0x180029688], rbp
je 0x18000b2ea
mov rdx, qword [0x180029798]
lea r8, [rsp + 0x60]
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
lea r15d, [rbp + 0x57]
test eax, eax
jne 0x18000b1d4
xor r15d, r15d
mov rcx, qword [rsp + 0x60]
lea rax, [rsp + 0x54]
lea r9, [rsp + 0x50]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r14
and qword [rsp + 0x28], 0
and qword [rsp + 0x20], 0
mov r8, rbx
mov edx, r15d
call qword [sym.imp.ADVAPI32.dll_RegEnumValueA]
cmp eax, 0xea
mov dword [rsp + 0x58], eax
jne 0x18000b149
mov rcx, qword [0x180029648]
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [0x180029648]
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [rsp + 0x44]
mov rcx, qword [0x180029648]
add eax, 0x104
xor edx, edx
mov r8d, eax
mov dword [rsp + 0x44], eax
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rcx, qword [0x180029648]
mov r8, rbx
xor edx, edx
mov r14, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test r14, r14
mov ecx, dword [rsp + 0x44]
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x50], ecx
mov rbx, rax
je 0x18000b1c3
test rax, rax
jne 0x18000b08e
mov eax, dword [rsp + 0x58]
test eax, eax
jne 0x18000b1c3
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, esi
ja 0x18000b18a
lea rax, [rsp + 0x40]
mov r9, r14
mov r8, rbx
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x48]
mov edx, esi
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.18000ac74
mov r12, qword [rsp + 0x48]
mov r13d, dword [rsp + 0x40]
jmp 0x18000b18f
mov eax, 0x57
test eax, eax
jne 0x18000b1ba
cmp rdi, qword [rsp + 0xd0]
je 0x18000b1af
mov rcx, qword [0x180029648]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, r12
mov esi, r13d
mov ebp, 1
add r15d, 1
jmp 0x18000b08e
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r15d, 0x57
mov rax, qword [0x180029688]
lea rcx, [0x18002c388]
mov qword [rsp + 0x58], rax
call qword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, esi
ja 0x18000b227
mov r9, qword [rsp + 0x58]
lea rax, [rsp + 0x40]
lea r8, [0x18002c388]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x48]
mov edx, esi
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.18000ac74
mov r12, qword [rsp + 0x48]
mov r13d, dword [rsp + 0x40]
jmp 0x18000b22a
mov eax, r15d
test eax, eax
jne 0x18000b255
cmp rdi, qword [rsp + 0xd0]
je 0x18000b24a
mov rcx, qword [0x180029648]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, r12
mov esi, r13d
mov ebp, 1
mov r8d, dword [0x180028fa8]
lea rdx, [0x18002362c]
lea rcx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_wsprintfA]
lea rcx, [0x18002c38d]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, esi
ja 0x18000b2b6
lea rax, [rsp + 0x40]
lea r9, [rsp + 0x68]
lea r8, [0x18002c38d]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x48]
mov edx, esi
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.18000ac74
mov r12, qword [rsp + 0x48]
mov r13d, dword [rsp + 0x40]
mov r15d, eax
test r15d, r15d
jne 0x18000b2e2
cmp rdi, qword [rsp + 0xd0]
je 0x18000b2d7
mov rcx, qword [0x180029648]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, r12
mov esi, r13d
mov ebp, 1
mov r15, qword [rsp + 0xe8]
test r14, r14
je 0x18000b301
mov rcx, qword [0x180029648]
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test rbx, rbx
je 0x18000b318
mov rcx, qword [0x180029648]
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test ebp, ebp
je 0x18000b32f
test r15, r15
mov rax, qword [rsp + 0xe0]
mov qword [rax], rdi
je 0x18000b32f
mov dword [r15], esi
mov eax, ebp
mov rbx, qword [rsp + 0xd8]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret