Function at 0x14002e3a0
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
lea rbp, [rsp - 0x4a0]
sub rsp, 0x5a0
mov rax, qword [0x140064018]
xor rax, rsp
mov qword [rbp + 0x490], rax
xor esi, esi
mov qword [rsp + 0x48], rdx
mov rdi, rdx
mov qword [rsp + 0x50], rcx
mov rdx, qword [rcx]
mov r15, 0xffffffffffffffff
mov qword [rsp + 0x60], rsi
mov r13, r8
mov r12d, r15d
test rdx, rdx
jne 0x14002e6cf
movups xmm0, xmmword [0x14005e5b0]
lea rcx, [rbp - 0x4f]
movups xmm1, xmmword [0x14005e5c0]
mov r8d, 0xc3
movzx eax, byte [0x14005e5f0]
mov r14d, esi
movups xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [0x14005e5d0]
movups xmmword [rbp - 0x80], xmm1
movups xmm1, xmmword [0x14005e5e0]
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm1
mov byte [rbp - 0x50], al
call fcn.1400376d0
movups xmm0, xmmword [0x14005e600]
lea rcx, [rbp + 0xb5]
movups xmm1, xmmword [0x14005e610]
xor edx, edx
movzx eax, byte [0x14005e640]
mov r8d, 0xc3
movups xmmword [rbp + 0x74], xmm0
mov byte [rbp + 0xb4], al
movups xmm0, xmmword [0x14005e620]
movups xmmword [rbp + 0x84], xmm1
movups xmm1, xmmword [0x14005e630]
movups xmmword [rbp + 0x94], xmm0
movups xmmword [rbp + 0xa4], xmm1
call fcn.1400376d0
movups xmm0, xmmword [0x14005e650]
lea rcx, [rbp + 0x1b9]
movups xmm1, xmmword [0x14005e660]
xor edx, edx
movzx eax, byte [0x14005e690]
mov r8d, 0xc3
movups xmmword [rbp + 0x178], xmm0
mov byte [rbp + 0x1b8], al
movups xmm0, xmmword [0x14005e670]
movups xmmword [rbp + 0x188], xmm1
movups xmm1, xmmword [0x14005e680]
movups xmmword [rbp + 0x198], xmm0
movups xmmword [rbp + 0x1a8], xmm1
call fcn.1400376d0
movups xmm0, xmmword [0x14005e6a0]
lea rcx, [rbp + 0x2bd]
movups xmm1, xmmword [0x14005e6b0]
xor edx, edx
movzx eax, byte [0x14005e6e0]
mov r8d, 0xc3
movups xmmword [rbp + 0x27c], xmm0
mov byte [rbp + 0x2bc], al
movups xmm0, xmmword [0x14005e6c0]
movups xmmword [rbp + 0x28c], xmm1
movups xmm1, xmmword [0x14005e6d0]
movups xmmword [rbp + 0x29c], xmm0
movups xmmword [rbp + 0x2ac], xmm1
call fcn.1400376d0
movups xmm0, xmmword [0x14005e6f0]
lea rcx, [rbp + 0x3c1]
movups xmm1, xmmword [0x14005e700]
xor edx, edx
movzx eax, byte [0x14005e730]
mov r8d, 0xc3
movups xmmword [rbp + 0x380], xmm0
movups xmm0, xmmword [0x14005e710]
movups xmmword [rbp + 0x390], xmm1
movups xmm1, xmmword [0x14005e720]
movups xmmword [rbp + 0x3a0], xmm0
movups xmmword [rbp + 0x3b0], xmm1
mov byte [rbp + 0x3c0], al
call fcn.1400376d0
mov r15d, esi
nop word [rax + rax]
cmp r15d, 5
jge 0x14002e649
movsxd rax, r15d
lea rdx, [rsp + 0x40]
imul rcx, rax, 0x104
lea rax, [rsp + 0x70]
add rcx, rax
call fcn.14002a0e0
mov rdi, qword [rsp + 0x40]
lea rax, [rsp + 0x60]
mov rdx, rdi
mov qword [rsp + 0x20], rax
mov r9d, 0xf003f
xor r8d, r8d
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov r12d, eax
test eax, eax
jne 0x14002e63b
mov rbx, 0xffffffffffffffff
nop dword [rax]
cmp byte [rdi + rbx + 1], sil
lea rbx, [rbx + 1]
jne 0x14002e610
mov edx, 1
lea rcx, [rbx + 1]
call fcn.14003853c
mov r8, rdi
lea rdx, [rbx + 1]
mov rcx, rax
mov r14, rax
call fcn.140038690
inc r15d
test r12d, r12d
jne 0x14002e5b0
jmp 0x14002e64e
test r12d, r12d
jne 0x14002e6bb
test r14, r14
je 0x14002e6bb
cmp qword [rsp + 0x60], rsi
je 0x14002e6bb
mov r15, 0xffffffffffffffff
mov rcx, r15
inc rcx
cmp byte [r14 + rcx], sil
jne 0x14002e664
add rcx, 1
mov edx, 1
cmovb rcx, r15
call fcn.14003853c
mov rcx, qword [rsp + 0x50]
mov rdx, r15
mov qword [rcx], rax
nop word [rax + rax]
inc rdx
cmp byte [r14 + rdx], sil
jne 0x14002e690
inc rdx
mov r8, r14
mov rcx, rax
call fcn.140038690
mov rcx, r14
call fcn.140038520
mov rcx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x48]
jmp 0x14002e705
mov rcx, r14
call fcn.140038520
mov rax, 0xffffffffffffffff
jmp 0x14002ea5a
lea rax, [rsp + 0x60]
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 0x14002ea57
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14002ea57
lea rax, [rsp + 0x58]
mov dword [rsp + 0x58], esi
mov qword [rsp + 0x30], rax
lea rdx, [0x14005e731]
mov qword [rsp + 0x28], rsi
mov r9d, 0xffff
mov r8, rdi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_RegGetValueA]
test eax, eax
jne 0x14002ea53
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x14002ea53
mov ecx, eax
mov edx, 1
call fcn.14003853c
mov qword [r13], rax
test rax, rax
je 0x14002ea48
lea rcx, [rsp + 0x58]
mov r9d, 0xffff
mov qword [rsp + 0x30], rcx
lea rdx, [0x14005e731]
mov rcx, qword [rsp + 0x60]
mov r8, rdi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_RegGetValueA]
test eax, eax
jne 0x14002ea48
mov rbx, qword [r13]
test rbx, rbx
je 0x14002ea48
mov rax, r15
inc rax
cmp byte [rbx + rax], sil
jne 0x14002e7a7
cmp rax, 1
jbe 0x14002ea48
mov edi, esi
mov rcx, r15
nop
inc rcx
cmp byte [rbx + rcx], sil
jne 0x14002e7c0
add rcx, 1
mov edx, 2
cmovb rcx, r15
call fcn.14003853c
mov r14, rax
nop
movsx ecx, byte [rbx]
test cl, cl
je 0x14002e7fa
test r14, r14
je 0x14002e7e0
inc edi
mov word [rax], cx
inc rbx
add rax, 2
jmp 0x14002e7e0
test r14, r14
je 0x14002e807
movsxd rax, edi
mov word [r14 + rax*2], si
mov rcx, qword [r13]
call fcn.140038520
mov qword [r13], rsi
mov rbx, rsi
mov rdi, r15
nop word [rax + rax]
inc rdi
cmp word [r14 + rdi*2], bx
jne 0x14002e820
mov rcx, rdi
mov edx, 1
add rcx, 1
cmovb rcx, r15
call fcn.14003853c
mov r15, rax
test rax, rax
je 0x14002e9cf
mov rdx, rsi
test rdi, rdi
je 0x14002e870
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [r14 + rdx*2]
mov byte [rdx + rax], cl
inc rdx
cmp rdx, rdi
jb 0x14002e860
lea rdx, [rsp + 0x48]
mov byte [rax + rdi], bl
mov rcx, r15
call fcn.140029bf0
mov rcx, r15
mov r12, rax
call fcn.140038520
mov qword [rsp + 0x40], rsi
test r12, r12
je 0x14002e9cf
mov rdx, qword [rsp + 0x48]
lea r9, [rsp + 0x40]
xor r8d, r8d
mov rcx, r12
call fcn.14002a4e0
mov r15, qword [rsp + 0x40]
mov rdi, rax
test r15, r15
je 0x14002e8bf
mov byte [rax + r15], bl
mov rcx, r12
call fcn.140038520
test r15, r15
je 0x14002e9cf
mov r12, 0xffffffffffffffff
test rdi, rdi
je 0x14002e9d6
mov rcx, rdi
lea edx, [r12 + 3]
add rcx, 1
cmovb rcx, r12
call fcn.14003853c
mov rbx, rax
test rax, rax
jne 0x14002e905
mov rbx, rsi
jmp 0x14002e9d6
mov rcx, rsi
cmp rdi, 0x20
jb 0x14002e99d
lea rdx, [rax - 2]
lea rax, [r15 - 1]
add rax, rdi
lea rdx, [rdx + rdi*2]
cmp rbx, rax
ja 0x14002e92b
cmp rdx, r15
jae 0x14002e99d
mov r8, rdi
and r8, 0xffffffffffffffe0
lea rax, [r15 + 0x10]
lea rdx, [rbx + 0x20]
nop word [rax + rax]
movq xmm0, qword [rax - 0x10]
lea rdx, [rdx + 0x40]
movq xmm1, qword [rax - 8]
lea rax, [rax + 0x20]
punpcklbw xmm0, xmm0
add rcx, 0x20
punpcklbw xmm1, xmm1
psraw xmm0, 8
psraw xmm1, 8
movdqu xmmword [rdx - 0x60], xmm0
movq xmm0, qword [rax - 0x20]
punpcklbw xmm0, xmm0
psraw xmm0, 8
movdqu xmmword [rdx - 0x50], xmm1
movq xmm1, qword [rax - 0x18]
punpcklbw xmm1, xmm1
psraw xmm1, 8
movdqu xmmword [rdx - 0x40], xmm0
movdqu xmmword [rdx - 0x30], xmm1
cmp rcx, r8
jb 0x14002e940
cmp rcx, rdi
jae 0x14002e9c1
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [rcx + r15]
mov word [rbx + rcx*2], ax
inc rcx
cmp rcx, rdi
jb 0x14002e9b0
mov rcx, r15
mov word [rbx + rdi*2], si
call fcn.140038520
jmp 0x14002e9d6
mov r12, 0xffffffffffffffff
mov qword [r13], rsi
test rbx, rbx
je 0x14002ea38
mov rcx, r12
inc rcx
cmp word [rbx + rcx*2], si
jne 0x14002e9e2
add rcx, 1
mov edx, 1
cmovb rcx, r12
call fcn.14003853c
mov qword [r13], rax
mov rax, rsi
nop dword [rax]
nop dword [rax + rax]
movzx edx, word [rbx + rax*2]
mov rcx, qword [r13]
test dx, dx
je 0x14002ea2c
test rcx, rcx
je 0x14002ea10
inc esi
mov byte [rcx + rax], dl
inc rax
jmp 0x14002ea10
test rcx, rcx
je 0x14002ea38
movsxd rax, esi
mov byte [rax + rcx], 0
mov rcx, r14
call fcn.140038520
mov rcx, rbx
call fcn.140038520
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
jmp 0x14002ea5a
mov eax, r15d
mov rcx, qword [rbp + 0x490]
xor rcx, rsp
call fcn.140036180
mov rbx, qword [rsp + 0x5f8]
add rsp, 0x5a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret