Function at 0x14001d884
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r14
lea rbp, [rax - 0x3d8]
sub rsp, 0x4c0
mov rax, qword [0x140387a48]
xor rax, rsp
mov qword [rbp + 0x3b0], rax
cmp qword [rcx + 0x118], 0
mov r14, rcx
ja 0x14001dae7
lea rax, [rsp + 0x68]
mov r9d, 9
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.SOFTWAREMicrosoftWindows_NTCurrentVersionNoImeModeImes
mov rcx, 0xffffffff80000002
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegOpenKeyExW]
nop dword [rax + rax]
mov ebx, eax
mov r12d, 0x80070000
test eax, eax
jg 0x14016eac4
test ebx, ebx
js 0x14001dab8
and qword [rsp + 0x58], 0
lea rax, [rsp + 0x60]
and qword [rsp + 0x50], 0
xor r9d, r9d
and qword [rsp + 0x48], 0
xor r8d, r8d
and qword [rsp + 0x40], 0
xor edx, edx
and qword [rsp + 0x38], 0
and qword [rsp + 0x30], 0
and qword [rsp + 0x28], 0
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x20], rax
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryInfoKeyW]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jg 0x14016eacf
test ebx, ebx
js 0x14001daa7
xor esi, esi
cmp dword [rsp + 0x60], esi
jbe 0x14001daa7
mov rcx, qword [rsp + 0x68]
lea r9, [rsp + 0x70]
lea r8, [rbp - 0x70]
mov dword [rsp + 0x70], 0x104
mov edx, esi
call qword [sym.imp.api_ms_win_shcore_registry_l1_1_0.dll_SHEnumKeyExW]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jg 0x14016eada
test ebx, ebx
js 0x14001da9b
mov rcx, qword [rsp + 0x68]
lea rax, [rsp + 0x74]
mov qword [rsp + 0x30], rax
lea r8, str.BrandingIconFile
lea rax, [rbp + 0x1a0]
mov dword [rsp + 0x74], 0x104
mov qword [rsp + 0x28], rax
lea rdx, [rbp - 0x70]
lea rax, [rbp - 0x78]
mov r9d, 2
mov qword [rsp + 0x20], rax
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegGetValueW]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jg 0x14016eae5
test ebx, ebx
js 0x14001da9b
xorps xmm0, xmm0
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 0x70]
movdqu xmmword [rsp + 0x78], xmm0
call qword [sym.imp.api_ms_win_shcore_obsolete_l1_1_0.dll_SHStrDupW]
nop dword [rax + rax]
test eax, eax
js 0x14016eaf0
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x1a0]
call qword [sym.imp.api_ms_win_shcore_obsolete_l1_1_0.dll_SHStrDupW]
nop dword [rax + rax]
test eax, eax
js 0x14016eaf0
lea rdi, [r14 + 0x110]
xor ebx, ebx
mov rdx, qword [rdi + 8]
cmp rdx, qword [rdi + 0x18]
jne 0x14001da72
inc rdx
mov rcx, rdi
call fcn.140093db0
mov ebx, eax
test eax, eax
js 0x14001da93
inc qword [rdi + 8]
mov rcx, qword [rdi + 8]
mov rdx, qword [rdi]
shl rcx, 4
add rdx, 0xfffffffffffffff0
add rdx, rcx
je 0x14001da93
movups xmm0, xmmword [rsp + 0x78]
movdqu xmmword [rdx], xmm0
test ebx, ebx
js 0x14016eaf0
inc esi
cmp esi, dword [rsp + 0x60]
jb 0x14001d978
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
nop dword [rax + rax]
mov eax, ebx
mov rcx, qword [rbp + 0x3b0]
xor rcx, rsp
call fcn.1400a15a0
lea r11, [rsp + 0x4c0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r12
pop rbp
ret
xor eax, eax
jmp 0x14001daba
movzx ebx, ax
or ebx, r12d
jmp 0x14001d905
movzx ebx, ax
or ebx, r12d
jmp 0x14001d964
movzx ebx, ax
or ebx, r12d
jmp 0x14001d9a6
movzx ebx, ax
or ebx, r12d
jmp 0x14001da01
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemFree]
nop dword [rax + rax]
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemFree]
nop dword [rax + rax]
nop
jmp 0x14001da9b