Function at 0x1402e6ec0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rax, qword [0x14045eb18]
xor rax, rsp
mov qword [rsp + 0x40], rax
movzx eax, byte [rcx]
lea r15, [rcx + 0x20]
mov r12, qword [rcx + 0x28]
mov rbp, r9
mov r13, qword [rcx + 0x30]
mov rsi, r8
mov byte [rsp + 0x20], al
mov rbx, rdx
lea r14, [rcx + 0x10]
mov rdi, rcx
test al, 0x40
jne 0x1402e6f1b
mov r8, r13
mov rdx, r14
call r12
inc qword [r15]
movzx eax, byte [rsp + 0x20]
movzx r8d, al
xor ecx, ecx
and r8d, 7
mov eax, reloc.WS2_32.dll_ntohs
sub eax, r8d
mov byte [rdi], r8b
mov dword [rsp + 0x24], eax
cmp eax, 0xf
jae 0x1402e6f5f
mov edx, eax
add rdx, rdi
nop
movzx eax, byte [rdx]
mov byte [rdx], 0
lea rdx, [rdx + 1]
or rcx, rax
shl rcx, 8
sub r8, 1
jne 0x1402e6f40
lea r15, [rdi + 0x20]
lea r14, [rdi + 0x10]
movzx eax, byte [rdi + 0xf]
or rcx, rax
mov byte [rdi + 0xf], 1
cmp rcx, rbp
je 0x1402e6f79
mov eax, 0xffffffff
jmp 0x1402e7210
lea rax, [rbp + 0xf]
or rax, 8
shr rax, 3
add qword [r15], rax
movabs rax, 0x2000000000000000
cmp qword [r15], rax
jbe 0x1402e6fa1
mov eax, 0xfffffffe
jmp 0x1402e7210
cmp rbp, 0x10
jb 0x1402e702b
mov r15, rbp
shr r15, 4
imul rax, r15, 0xfffffffffffffff0
add rbp, rax
mov qword [rsp + 0x28], rbp
nop
mov rax, qword [rbx]
mov r8, r13
xor qword [r14], rax
mov rdx, r14
mov rax, qword [rbx + 8]
mov rcx, r14
xor qword [rdi + 0x18], rax
call r12
mov r8, r13
lea rdx, [rsp + 0x30]
mov rcx, rdi
call r12
mov eax, 8
nop dword [rax]
dec eax
add byte [rax + rdi + 8], 1
jne 0x1402e7000
test eax, eax
jne 0x1402e6ff0
nop dword [rax]
mov rax, qword [rsp + 0x30]
xor rax, qword [rbx]
mov qword [rsi], rax
mov rax, qword [rsp + 0x38]
xor rax, qword [rbx + 8]
add rbx, 0x10
mov qword [rsi + 8], rax
add rsi, 0x10
sub r15, 1
jne 0x1402e6fc0
mov rbp, qword [rsp + 0x28]
lea rax, [rdi + 0x18]
mov r15, rax
test rbp, rbp
je 0x1402e71c8
xor r15d, r15d
mov edx, r15d
test rbp, rbp
je 0x1402e717f
mov ecx, r15d
nop dword [rax]
movzx eax, byte [rcx + rbx]
inc edx
xor byte [rcx + rdi + 0x10], al
mov ecx, edx
cmp rcx, rbp
jb 0x1402e7050
mov r8, r13
mov rdx, r14
mov rcx, r14
call r12
mov r8, r13
lea rdx, [rsp + 0x30]
mov rcx, rdi
call r12
mov edx, r15d
cmp rbp, 8
jb 0x1402e719c
lea eax, [rbp - 1]
mov ecx, eax
lea r8, [rax + rsi]
lea rax, [rsp + 0x30]
add rax, rcx
cmp rsi, rax
ja 0x1402e70ac
lea rax, [rsp + 0x30]
cmp r8, rax
jae 0x1402e719c
lea rax, [rcx + rbx]
cmp rsi, rax
ja 0x1402e70be
cmp r8, rbx
jae 0x1402e719c
cmp rbp, 0x40
jb 0x1402e714f
mov r8, rbp
mov r9, rbp
and r8d, 0x3f
sub r9, r8
mov r10d, 0x20
nop dword [rax + rax]
movdqu xmm0, xmmword [rsp + r15 + 0x30]
lea eax, [r10 - 0x10]
add edx, 0x40
movdqu xmm1, xmmword [r15 + rbx]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rsp + rax + 0x30]
movdqu xmmword [r15 + rsi], xmm1
mov r15d, edx
movdqu xmm1, xmmword [rax + rbx]
xorps xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
mov eax, r10d
movdqu xmm0, xmmword [rsp + rax + 0x30]
movdqu xmm1, xmmword [rax + rbx]
xorps xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
lea eax, [r10 + 0x10]
add r10d, 0x40
movdqu xmm1, xmmword [rax + rbx]
movdqu xmm0, xmmword [rsp + rax + 0x30]
xorps xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
cmp r15, r9
jb 0x1402e70e0
cmp r8, 8
jb 0x1402e719c
mov rcx, rbp
and rcx, 0xfffffffffffffff8
mov eax, edx
nop dword [rax + rax]
movq xmm1, qword [rax + rbx]
add edx, 8
movq xmm0, qword [rsp + rax + 0x30]
xorps xmm1, xmm0
movq qword [rax + rsi], xmm1
mov eax, edx
cmp rax, rcx
jb 0x1402e7160
jmp 0x1402e719c
mov r8, r13
mov rdx, r14
mov rcx, r14
call r12
mov r8, r13
lea rdx, [rsp + 0x30]
mov rcx, rdi
call r12
mov edx, r15d
mov ecx, edx
lea r15, [rdi + 0x18]
cmp rcx, rbp
jae 0x1402e71c8
nop word [rax + rax]
movzx eax, byte [rcx + rbx]
inc edx
xor al, byte [rsp + rcx + 0x30]
mov byte [rcx + rsi], al
mov ecx, edx
cmp rcx, rbp
jb 0x1402e71b0
lea r15, [rdi + 0x18]
mov edx, dword [rsp + 0x24]
cmp edx, 0x10
jae 0x1402e71e9
mov r8d, reloc.WS2_32.dll_recv
lea rcx, [rdi + rdx]
sub r8d, edx
xor edx, edx
call fcn.14033b730
lea r15, [rdi + 0x18]
mov r8, r13
lea rdx, [rsp + 0x30]
mov rcx, rdi
call r12
mov rax, qword [rsp + 0x30]
xor qword [r14], rax
mov rax, qword [rsp + 0x38]
xor qword [r15], rax
movzx eax, byte [rsp + 0x20]
mov byte [rdi], al
xor eax, eax
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.14016e210
mov rbx, qword [rsp + 0x98]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret