Function at 0x14015e9a0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov rsi, r8
mov rdi, rdx
mov r14, rcx
mov dword [rbp + 0xc8], 1
and dword [rbp + 0xb0], 0
mov rdx, r8
cmp qword [r8 + 0x18], 0xf
jbe 0x14015e9da
mov rdx, qword [r8]
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
and qword [rsp + 0x20], 0
lea r9, [rbp + 0xc8]
xor r8d, r8d
mov rcx, qword [rcx]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov dword [rbp + 0xc0], eax
test eax, eax
jne 0x14015eaff
mov edx, dword [rbp + 0xb0]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
and qword [rbp - 0x70], 0
lea rcx, [rbp - 0x80]
call fcn.14015f8c8
nop
mov rdx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x14015ea37
mov rdx, qword [rsi]
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rax
mov rbx, qword [rbp - 0x80]
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0xc8]
xor r8d, r8d
mov rcx, qword [r14]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov dword [rbp + 0xc0], eax
test eax, eax
jne 0x14015ec9d
mov r8, qword [rbp - 0x78]
dec r8
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x58], xmm1
cmp rbx, r8
jne 0x14015ea95
mov qword [rbp - 0x50], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x68], al
jmp 0x14015eaa4
sub r8, rbx
mov rdx, rbx
lea rcx, [rbp - 0x68]
call fcn.140159cd4
movups xmm0, xmmword [rbp - 0x68]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbp - 0x58]
movups xmmword [rdi + 0x10], xmm1
test rbx, rbx
je 0x14015eae8
mov rdx, qword [rbp - 0x70]
sub rdx, rbx
mov rax, rbx
cmp rdx, 0x1000
jb 0x14015eae0
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14015eaf9
mov rcx, rbx
call fcn.140cd8948
mov rax, rdi
add rsp, 0x180
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140cf5acc
int3
movabs rax, 0xb0430b3744dd0f9d
mov qword [rbp - 0x40], rax
movabs rax, 0x4559a64c186aca5e
mov qword [rbp - 0x38], rax
movabs rax, 0x33444d0869ce35e1
mov qword [rbp - 0x30], rax
movabs rax, 0xc5061972f897c7f6
mov qword [rbp - 0x28], rax
movabs rax, 0x6b98c82c50bfea5a
mov qword [rbp - 0x20], rax
movabs rax, 0x5eb3510b93fb06f8
mov qword [rbp - 0x18], rax
movabs rax, 0x6f30858915194da5
mov qword [rbp - 0x10], rax
movabs rax, 0xf6db5247668a0081
mov qword [rbp - 8], rax
movabs rax, 0xc9317f442dba6acf
mov qword [rsp + 0x40], rax
movabs rax, 0x213cca25792cea64
mov qword [rsp + 0x48], rax
movabs rax, 0x5725287a49a141c1
mov qword [rsp + 0x50], rax
movabs rax, 0xb7726a1b9ff2b5d6
mov qword [rsp + 0x58], rax
movabs rax, 0x4afdbd4031c9ca23
mov qword [rsp + 0x60], rax
movabs rax, 0x23c87131ea9e4dd8
mov qword [rsp + 0x68], rax
movabs rax, 0x4f0af7e6676b0885
mov qword [rsp + 0x70], rax
movabs rax, 0xf6db5247668a7dfa
mov qword [rsp + 0x78], rax
movdqa xmm0, xmmword [rbp - 0x40]
xorps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rbp - 0x40], xmm0
movdqa xmm1, xmmword [rbp - 0x30]
xorps xmm1, xmmword [rsp + 0x50]
movdqa xmmword [rbp - 0x30], xmm1
movdqa xmm0, xmmword [rbp - 0x20]
xorps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rbp - 0x20], xmm0
movdqa xmm1, xmmword [rbp - 0x10]
xorps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x10], xmm1
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x50]
call fcn.140155a20
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x60]
call fcn.14015e4b8
movups xmm1, xmmword [rax]
movdqu xmmword [rsp + 0x30], xmm1
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x70]
call fcn.14015e4b8
movups xmm1, xmmword [rax]
movdqu xmmword [rsp + 0x30], xmm1
lea r9, [rbp + 0xc0]
mov r8, rsi
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x68]
call fcn.14015f7a0
nop
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.14015e464
lea rdx, [0x141007ae8]
lea rcx, [rbp - 0x80]
call fcn.140cded0c
nop
movabs rax, 0xb0430b3744dd0f9d
mov qword [rsp + 0x40], rax
movabs rax, 0x4559a64c186aca5e
mov qword [rsp + 0x48], rax
movabs rax, 0x33444d0869ce35e1
mov qword [rsp + 0x50], rax
movabs rax, 0xc5061972f897c7f6
mov qword [rsp + 0x58], rax
movabs rax, 0x6b98c82c50bfea5a
mov qword [rsp + 0x60], rax
movabs rax, 0x5eb3510b93fb06f8
mov qword [rsp + 0x68], rax
movabs rax, 0x6f30858915194da5
mov qword [rsp + 0x70], rax
movabs rax, 0xf6db5247668a0081
mov qword [rsp + 0x78], rax
movabs rax, 0xc9317f442dba6acf
mov qword [rbp + 0x10], rax
movabs rax, 0x213cca25792cea64
mov qword [rbp + 0x18], rax
movabs rax, 0x5725287a49a141c1
mov qword [rbp + 0x20], rax
movabs rax, 0xb7726a1b9ff2b5d6
mov qword [rbp + 0x28], rax
movabs rax, 0x4afdbd4031c9ca23
mov qword [rbp + 0x30], rax
movabs rax, 0x23c87131ea9e4dd8
mov qword [rbp + 0x38], rax
movabs rax, 0x4f0af7e6676b0885
mov qword [rbp + 0x40], rax
movabs rax, 0xf6db5247668a7dfa
mov qword [rbp + 0x48], rax
movdqa xmm0, xmmword [rsp + 0x40]
xorps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmm1, xmmword [rsp + 0x50]
xorps xmm1, xmmword [rbp + 0x20]
movdqa xmmword [rsp + 0x50], xmm1
movdqa xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [rbp + 0x30]
movdqa xmmword [rsp + 0x60], xmm0
movdqa xmm1, xmmword [rsp + 0x70]
xorps xmm1, xmmword [rbp + 0x40]
movdqa xmmword [rsp + 0x70], xmm1
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x70]
call fcn.140155a20
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x60]
call fcn.14015e4b8
movups xmm1, xmmword [rax]
movdqu xmmword [rsp + 0x30], xmm1
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x50]
call fcn.14015e4b8
movups xmm1, xmmword [rax]
movdqu xmmword [rsp + 0x30], xmm1
lea r9, [rbp + 0xc0]
mov r8, rsi
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x40]
call fcn.14015f7a0
nop
mov rdx, rax
lea rcx, [rbp - 0x68]
call fcn.14015e464
lea rdx, [0x141007ae8]
lea rcx, [rbp - 0x68]
call fcn.140cded0c
int3