Function at 0x140015080
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push r14
lea rbp, [rsp - 0x3f]
sub rsp, 0x88
mov rax, qword [0x140122080]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rsi, rdx
test r8, r8
jne 0x1400151d1
mov eax, dword [str.vZB7]
xor r14d, r14d
cmp byte [0x1400fbb73], r14b
mov dword [rbp - 0x29], eax
je 0x14001519a
cmp dword [reloc.WS2_32.dll_accept], 2
mov r8d, r14d
jl 0x140015164
movdqa xmm3, xmmword [0x14010db10]
mov ecx, 4
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x14010e130]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x14010e130]
shufps xmm2, xmm0, 0xdd
movd xmm0, ecx
mov ecx, Ordinal_32
psrad xmm2, xmm0
movdqa xmm1, xmm2
movd xmm0, ecx
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x14010db40]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14010dc40]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x14010dc60]
movd xmm0, eax
pxor xmm2, xmm0
movd dword [rbp - 0x29], xmm2
jmp 0x14001519a
lea r9, [rbp - 0x29]
nop dword [rax + rax]
mov eax, 0x5397829d
lea r9, [r9 + 1]
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x34
xor byte [r9 - 1], al
cmp r8d, 4
jl 0x140015170
mov qword [rsi], r14
lea rax, [rbp - 0x29]
mov qword [rsi + 0x10], r14
mov rbx, 0xffffffffffffffff
mov qword [rsi + 0x18], reloc.WS2_32.dll_ntohs
inc rbx
cmp byte [rax + rbx], r14b
jne 0x1400151b4
mov r8, rbx
lea rdx, [rbp - 0x29]
mov rcx, rsi
call fcn.140006a80
jmp 0x1400155a4
mov rbx, qword [0x140283a68]
lea rax, [r8 + 8]
mov qword [rbp + 0xf], rax
lea rax, [rbp - 1]
mov qword [rbp + 0x1f], rax
mov qword [rsp + 0x80], r15
mov qword [rbp + 0x17], recv
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov rbx, qword [rbx + 8]
xor r14d, r14d
test rbx, rbx
je 0x14001521e
nop word [rax + rax]
cmp dword [rbx + 0x20], eax
je 0x140015221
mov rbx, qword [rbx + 0x18]
test rbx, rbx
jne 0x140015210
mov rbx, r14
lea rax, [rbp + 0xf]
mov qword [rbx + 8], Ordinal_26
mov r15d, 3
mov qword [rbx + 0x10], rax
mov eax, r15d
mov dword [rbx], r15d
nop dword [rax]
cmp eax, 6
je 0x14001547c
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [rbx]
cmp eax, 5
jne 0x140015240
mov eax, dword [rbp + 7]
test eax, eax
je 0x14001547c
cmp qword [rbp - 1], r14
je 0x14001547c
mov qword [rsp + 0xb0], rdi
mov rbx, 0xffffffffffffffff
mov qword [rsp + 0xc0], r12
mov r12d, eax
mov eax, 2
mov qword [rsp + 0xc8], r13
mul r12
cmovo rax, rbx
mov rcx, rax
call fcn.1400e9d54
mov rdi, qword [0x140283a68]
lea rcx, [r12 + r12]
mov r13, rax
mov qword [rbp + 0x17], rcx
mov rax, qword [rbp - 1]
mov qword [rbp + 0xf], rax
mov qword [rbp + 0x1f], r13
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov rdi, qword [rdi + 8]
test rdi, rdi
je 0x1400152de
cmp dword [rdi + 0x20], eax
je 0x1400152e1
mov rdi, qword [rdi + 0x18]
test rdi, rdi
jne 0x1400152d0
mov rdi, r14
lea rax, [rbp + 0xf]
mov qword [rdi + 8], Ordinal_26
mov qword [rdi + 0x10], rax
mov dword [rdi], r15d
cmp r15d, 6
je 0x14001530b
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r15d, dword [rdi]
cmp r15d, 5
jne 0x1400152f4
test r12d, r12d
lea eax, [r12 - 1]
movzx eax, al
lea r9d, [r12 - 1]
mov edx, r14d
mov r8d, r14d
cmovne edx, eax
mov rcx, r13
and edx, 3
nop word [rax + rax]
test r12d, r12d
mov eax, r14d
cmovne eax, r9d
cmp r8d, eax
jge 0x140015355
add edx, 3
inc r8d
movzx eax, dx
and ax, 7
add word [rcx], ax
add rcx, 2
jmp 0x140015330
mov r12, qword [rsp + 0xc0]
mov qword [rbp - 0x21], r14
mov qword [rbp - 0x11], r14
mov qword [rbp - 9], 7
nop dword [rax]
inc rbx
cmp word [r13 + rbx*2], r14w
jne 0x140015370
mov r8, rbx
lea rcx, [rbp - 0x21]
mov rdx, r13
call fcn.14000be20
mov rcx, r13
call fcn.1400e97ec
cmp qword [rbp - 9], 8
lea rdx, [rbp - 0x21]
mov rax, qword [rbp - 0x11]
lea rdi, [rbp - 0x21]
cmovae rdx, qword [rbp - 0x21]
mov rcx, rsi
cmovae rdi, qword [rbp - 0x21]
mov qword [rsi], r14
mov qword [rsi + 0x10], r14
lea rbx, [rdx + rax*2]
mov qword [rsi + 0x18], reloc.WS2_32.dll_ntohs
mov rdx, rbx
sub rdx, rdi
sar rdx, 1
call fcn.14000bd70
mov r13, qword [rsp + 0xc8]
cmp rdi, rbx
je 0x140015428
nop
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
movzx r9d, byte [rdi]
cmp rcx, rdx
jae 0x140015410
lea rax, [rcx + 1]
mov qword [rsi + 0x10], rax
mov rax, rsi
cmp rdx, 0x10
jb 0x140015405
mov rax, qword [rsi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], r14b
jmp 0x14001541f
xor r8d, r8d
mov rcx, rsi
lea edx, [r8 + 1]
call fcn.14000c390
add rdi, 2
cmp rdi, rbx
jne 0x1400153e0
mov rdx, qword [rbp - 9]
mov rdi, qword [rsp + 0xb0]
cmp rdx, 8
jb 0x14001559c
mov rcx, qword [rbp - 0x21]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015472
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140015472
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400e97ec
jmp 0x14001559c
cmp byte [0x1400fbb73], r14b
mov eax, dword [str.vZB7]
mov dword [rbp - 0x29], eax
je 0x14001556a
cmp dword [reloc.WS2_32.dll_accept], 2
mov r8d, r14d
jl 0x140015531
movdqa xmm3, xmmword [0x14010db10]
mov ecx, 4
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x14010e130]
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x14010e130]
shufps xmm2, xmm0, 0xdd
movd xmm0, ecx
mov ecx, Ordinal_32
psrad xmm2, xmm0
movdqa xmm1, xmm2
movd xmm0, ecx
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x14010db40]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14010dc40]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x14010dc60]
movd xmm0, eax
pxor xmm2, xmm0
movd dword [rbp - 0x29], xmm2
jmp 0x14001556a
lea r9, [rbp - 0x29]
nop word [rax + rax]
mov eax, 0x5397829d
lea r9, [r9 + 1]
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x34
xor byte [r9 - 1], al
cmp r8d, 4
jl 0x140015540
mov qword [rsi], r14
lea rax, [rbp - 0x29]
mov qword [rsi + 0x10], r14
mov rbx, 0xffffffffffffffff
mov qword [rsi + 0x18], reloc.WS2_32.dll_ntohs
inc rbx
cmp byte [rax + rbx], r14b
jne 0x140015584
mov r8, rbx
lea rdx, [rbp - 0x29]
mov rcx, rsi
call fcn.140006a80
mov r15, qword [rsp + 0x80]
mov rax, rsi
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1400e9540
add rsp, 0x88
pop r14
pop rsi
pop rbx
pop rbp
ret