Function at 0x7ff82669d1f0
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x10], rbx
push rsi
push rdi
push r14
sub rsp, 0x60
mov edi, r8d
mov r14, rdx
mov rsi, rcx
xor edx, edx
mov rcx, qword [0x7ff8266e2850]
mov r8d, 0x378
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
nop dword [rax + rax]
mov rbx, rax
test rax, rax
je 0x7ff8266ae0ca
xor edx, edx
mov qword [rsp + 0x80], rbp
mov r8d, 0x378
mov rcx, rax
call sub.api_ms_win_core_crt_l1_1_0.dll_memset
test edi, edi
je 0x7ff8266ae0ee
mov dword [rsp + 0x50], 0x378
lea rdx, str.PackedCatalogItem
mov qword [rsp + 0x58], rbx
mov rcx, r14
test edi, edi
je 0x7ff8266ae28e
lea rax, [rsp + 0x98]
mov dword [rsp + 0x98], 0x378
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x44]
xor r8d, r8d
mov qword [rsp + 0x20], rbx
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExA]
nop dword [rax + rax]
mov ebp, eax
test eax, eax
jne 0x7ff8266ae1d4
mov r8d, dword [rsp + 0x44]
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x50], eax
cmp r8d, 3
jne 0x7ff8266ae26e
mov r9d, dword [rsp + 0x50]
cmp r9d, 0x378
jne 0x7ff8266ae359
test edi, edi
je 0x7ff82669d3cb
mov r9d, 0xffffffff
mov dword [rsp + 0x28], 0x104
lea rax, [rsi + 0x2a0]
mov r8, rbx
xor ecx, ecx
mov qword [rsp + 0x20], rax
lea edx, [r9 + 9]
call qword [sym.imp.api_ms_win_core_string_l1_1_0.dll_MultiByteToWideChar]
nop dword [rax + rax]
test eax, eax
jle 0x7ff8266ae24c
lea r8, [rsi + 0x20]
mov ecx, 4
lea rax, [rbx + 0x104]
lea r8, [r8 + 0x80]
movups xmm0, xmmword [rax]
lea rax, [rax + 0x80]
movups xmmword [r8 - 0x80], xmm0
movups xmm1, xmmword [rax - 0x70]
movups xmmword [r8 - 0x70], xmm1
movups xmm0, xmmword [rax - 0x60]
movups xmmword [r8 - 0x60], xmm0
movups xmm1, xmmword [rax - 0x50]
movups xmmword [r8 - 0x50], xmm1
movups xmm0, xmmword [rax - 0x40]
movups xmmword [r8 - 0x40], xmm0
movups xmm1, xmmword [rax - 0x30]
movups xmmword [r8 - 0x30], xmm1
movups xmm0, xmmword [rax - 0x20]
movups xmmword [r8 - 0x20], xmm0
movups xmm1, xmmword [rax - 0x10]
movups xmmword [r8 - 0x10], xmm1
sub rcx, 1
jne 0x7ff82669d322
movups xmm0, xmmword [rax]
movups xmmword [r8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r8 + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [r8 + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [r8 + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [r8 + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [r8 + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [r8 + 0x60], xmm0
mov ecx, dword [rax + 0x70]
mov dword [r8 + 0x70], ecx
cmp dword [rsi + 0x48], 0
je 0x7ff8266ae382
mov rcx, qword [0x7ff8266e2850]
mov r8, rbx
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
nop dword [rax + rax]
xor eax, eax
mov rbp, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x88]
add rsp, 0x60
pop r14
pop rdi
pop rsi
ret
add byte [rax], al
add byte [rdx], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rbx], bl
add byte [rcx], al
add byte [rax], ch
add byte [rax], al
add byte [rax], ch
add byte [rax], al
add byte [rax], bl
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rdx], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add bh, bh
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rdi], ah
out 0x1c, al
add byte [rax], al
add byte [rax], al
add byte [rdx - 0x80000000], dh
add byte [rax], al
add byte [rbp - 0x1c], cl
add dword [rdx], eax
add byte [rax], al
add byte [rax], al
in al, 1
add al, byte [rax]
add byte [rax], al
add byte [rcx - 0x1c], al
add dword [rdx], eax
add byte [rax], al
add byte [rax], al
pop rax
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rcx], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
or eax, dword [rax]
or eax, dword [rax]
sub byte [rax], al
sbb byte [rax], al
add byte [rax], bl
add byte [rax], bl
add byte [rcx], al
add byte [rax], dl
add dword [rax], eax
add byte [rdx], al
add byte [rdx], al
add byte [0x7ff8266ae2b5], cl
add byte [rax], al
add byte [rcx], dl
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], ah
and byte [rax], al
add byte [rax], al
add byte [rax], al
add al, ah
invalid
add dword [rdx], eax
sldt word [rax]
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
insd dword [rdi], dx
in al, 1
add al, byte [rax]
add byte [rax], al
add byte [rsi - 0x1c], bl
add dword [rdx], eax
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
sub byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add dword [rax], eax
add byte [rax], al
add byte [rax], al
add byte [rdx], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rbx], bl
add byte [rcx], al
add byte [rax], ch
add byte [rax], al
add byte [rax], ch
add byte [rax], al
add byte [rax], bl
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rdx], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add bh, bh