Function at 0x14000d908
Capabilities:
Query or enumerate registry key

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x48
xor r12d, r12d
mov r8d, 0x218
mov qword [rbp + 0x60], r12
mov qword [rbp - 0x18], r12
mov rax, qword gs:[0x60]
lea edx, [r12 + 8]
mov qword [rbp + 0x58], r12
mov rcx, qword [rax + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
mov r15, rax
test rax, rax
jne 0x14000d965
mov ebx, 0xc0000017
jmp 0x14000db82
mov rax, qword gs:[0x60]
mov edx, 8
mov r8d, 0x218
mov rcx, qword [rax + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
mov r14, rax
test rax, rax
jne 0x14000d99b
mov ebx, 0xc0000017
jmp 0x14000db41
mov r8d, 8
lea rdx, str.REGISTRYMACHINESOFTWAREMicrosoftWindows_NTCurrentVersionProfileList
lea rcx, [rbp - 0x18]
call fcn.14000c09c
mov ebx, eax
test eax, eax
js 0x14000db41
mov rdi, qword [rbp + 0x58]
mov r13d, r12d
mov rcx, qword [rbp + 0x60]
test rcx, rcx
je 0x14000d9db
call qword [sym.imp.ntdll.dll_ZwClose]
nop dword [rax + rax]
mov qword [rbp + 0x60], r12
test rdi, rdi
je 0x14000d9ff
mov rcx, qword gs:[0x60]
xor edx, edx
mov r8, qword [rbp + 0x58]
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop dword [rax + rax]
xor edx, edx
mov qword [rbp + 0x58], r12
mov r8d, 0x218
mov rcx, r14
mov rdi, r12
call sub.msvcrt.dll_memset
xor edx, edx
mov r8d, 0x218
mov rcx, r15
call sub.msvcrt.dll_memset
mov rcx, qword [rbp - 0x18]
lea rax, [rbp + 0x50]
mov qword [rsp + 0x28], rax
mov r9, r15
xor r8d, r8d
mov dword [rsp + 0x20], 0x217
mov edx, r13d
call qword [sym.imp.ntdll.dll_ZwEnumerateKey]
nop dword [rax + rax]
cmp eax, 0x8000001a
je 0x14000db3e
test eax, eax
js 0x14000db36
mov ebx, r12d
lea rsi, str.s_1_5_18
mov rdx, qword [rsi]
lea rcx, [r15 + 0x10]
call sub.msvcrt.dll__wcsicmp
test eax, eax
je 0x14000db33
inc ebx
add rsi, 8
cmp ebx, 3
jb 0x14000da6d
mov rdx, qword [rbp - 0x18]
lea r8, [r15 + 0x10]
lea rcx, [rbp + 0x60]
call fcn.14000c14c
xor r12d, r12d
test eax, eax
js 0x14000db36
mov rdx, qword [rbp + 0x60]
lea r8, str.ProfileImagePath
lea rcx, [rbp + 0x58]
call fcn.14000c36c
mov rdi, qword [rbp + 0x58]
test eax, eax
js 0x14000db36
mov rcx, rdi
call qword [sym.imp.msvcrt.dll__wcslwr]
nop dword [rax + rax]
mov rsi, qword [rbp + 0x48]
lea r8, str._USERPROFILE_
mov rcx, rsi
mov rdx, rdi
call fcn.14000d860
mov ebx, eax
test eax, eax
js 0x14000db41
lea edx, [r12 + 0x5c]
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_wcsrchr]
nop dword [rax + rax]
test rax, rax
je 0x14000db36
lea r8, [rax + 2]
cmp word [r8], r12w
je 0x14000db36
lea rcx, [rsi + 0x30]
mov rax, qword [rcx + 0x10]
lea r9, str._USERNAME_
mov qword [rsp + 0x20], rax
call fcn.140009054
mov ebx, eax
test eax, eax
js 0x14000db41
jmp 0x14000db36
xor r12d, r12d
inc r13d
jmp 0x14000d9c2
mov ebx, r12d
mov rcx, qword gs:[0x60]
mov r8, r15
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop dword [rax + rax]
test r14, r14
je 0x14000db82
mov rcx, qword gs:[0x60]
mov r8, r14
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop dword [rax + rax]
cmp qword [rbp + 0x58], r12
je 0x14000dba7
mov rcx, qword gs:[0x60]
xor edx, edx
mov r8, qword [rbp + 0x58]
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop dword [rax + rax]
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x14000dbbc
call qword [sym.imp.ntdll.dll_ZwClose]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x60]
test rcx, rcx
je 0x14000dbd1
call qword [sym.imp.ntdll.dll_ZwClose]
nop dword [rax + rax]
mov eax, ebx
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret