Function at 0x14001ed40
Capabilities:
Encode data using xor
Query or enumerate registry value

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdi
push rbp
lea rbp, [rax - 0x128]
sub rsp, 0x220
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
mov rax, qword [0x1400a97c0]
xor rax, rsp
mov qword [rbp + 0xc0], rax
movups xmm0, xmmword [str.qixj]
movzx eax, byte [0x14009aad0]
xor r8d, r8d
movups xmm1, xmmword [0x14009aac0]
mov edi, dword [reloc.WS2_32.dll_accept]
movdqa xmm9, xmmword [0x14009ad90]
movdqa xmm8, xmmword [0x14009add0]
movdqa xmm10, xmmword [0x14009ad30]
movdqa xmm7, xmmword [0x14009ae10]
movdqa xmm6, xmmword [0x14009ad00]
mov byte [rsp + 0x50], al
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm1
cmp edi, 2
jl 0x14001eee5
movdqa xmmword [rsp + 0x60], xmm8
lea rcx, [rsp + 0x34]
mov edx, dword [rsp + 0x60]
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm6
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm7
pmuldq xmm1, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movd dword [rcx - 0xc], xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm7
pmuldq xmm1, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x20
jl 0x14001edf0
cmp r8d, 0x21
jge 0x14001ef24
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
mov eax, 0x8d3dcb09
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x39
xor byte [r9 - 1], al
cmp r8d, 0x21
jl 0x14001eef0
cmp byte [reloc.WLDAP32.dll_Ordinal_60], 0
lea rax, [rbp - 0x7c]
mov qword [rbp - 0x70], rax
lea rax, [rsp + 0x70]
mov qword [rbp - 0x68], rax
lea rax, [rbp - 0x7c]
mov qword [rbp - 0x60], rax
mov eax, dword [str.a_U_unknown_error]
mov dword [rbp - 0x80], eax
je 0x14001eff4
cmp edi, 2
jl 0x14001efb9
movdqa xmm1, xmm6
movdqa xmm0, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm7
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm6
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm6
pmulld xmm0, xmm10
psubd xmm1, xmm0
movd xmm0, eax
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm8
xorps xmm1, xmm0
movd dword [rbp - 0x80], xmm1
jmp 0x14001eff4
lea r9, [rbp - 0x80]
xor r8d, r8d
mov eax, 0x8d3dcb09
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x39
xor byte [r9 - 1], al
cmp r8d, 4
jl 0x14001efc0
lea rax, [rbp - 0x80]
mov qword [rsp + 0x230], rbx
mov qword [rbp - 0x58], rax
lea rdx, [rsp + 0x30]
lea rax, [rbp - 0x7c]
mov r9d, 0x20019
mov qword [rbp - 0x50], rax
xor r8d, r8d
lea rax, [rsp + 0x70]
mov rcx, 0xffffffff80000002
mov qword [rbp - 0x48], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x14001f23a
mov dword [rbp - 0x7c], 1
lea rbx, [rbp - 0x70]
mov dword [rbp - 0x80], 0xff
nop dword [rax]
nop dword [rax + rax]
cmp byte [0x14009aae9], 0
movups xmm0, xmmword [str.jCHHXSo2.61_b__J]
movzx eax, word [0x14009aae8]
mov word [rsp + 0x40], ax
movups xmmword [rsp + 0x30], xmm0
je 0x14001f1df
xor ecx, ecx
cmp edi, 2
jl 0x14001f1a2
movdqa xmmword [rsp + 0x60], xmm8
lea rdx, [rsp + 0x34]
mov r8d, dword [rsp + 0x60]
nop dword [rax]
nop word [rax + rax]
movd xmm2, ecx
lea eax, [rcx + 4]
pshufd xmm2, xmm2, 0
lea rdx, [rdx + 8]
paddd xmm2, xmm6
add ecx, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm7
pmuldq xmm1, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
movd xmm0, r8d
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rdx - 0xc]
xorps xmm2, xmm0
movd dword [rdx - 0xc], xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm7
pmuldq xmm1, xmm7
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
movd xmm0, r8d
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rdx - 8]
xorps xmm2, xmm0
movd dword [rdx - 8], xmm2
cmp ecx, 0x10
jl 0x14001f0b0
cmp ecx, 0x12
jge 0x14001f1df
movsxd rax, ecx
lea r8, [rsp + 0x30]
add r8, rax
nop dword [rax]
mov eax, 0x8d3dcb09
lea r8, [r8 + 1]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x3a
movzx eax, cl
inc ecx
sub al, dl
add al, 0x39
xor byte [r8 - 1], al
cmp ecx, 0x12
jl 0x14001f1b0
mov rcx, qword [rsp + 0x70]
lea rax, [rbp - 0x80]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x7c]
lea rax, [rbp - 0x40]
xor r8d, r8d
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x14001f21e
mov rdx, qword [rbx]
lea rcx, [rbp - 0x40]
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
jne 0x14001f27d
add rbx, 8
lea rax, [rbp - 0x40]
cmp rbx, rax
jne 0x14001f060
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor al, al
mov rbx, qword [rsp + 0x230]
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.140083820
lea r11, [rsp + 0x220]
mov rdi, qword [r11 + 0x18]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop rbp
ret
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov al, 1
jmp 0x14001f23c