Function at 0x14013cba0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov r14d, r9d
lea rsi, [rcx + 0x144]
mov r9, qword [rbp + 0x60]
mov eax, r14d
and eax, 0xf
mov r13d, r14d
mov dword [rbp + 0x58], eax
xor edi, edi
mov eax, dword [rbp + 0x68]
mov r15, r8
shr r13d, 4
mov r12, rdx
cmp eax, 0xc
jne 0x14013cc07
movsd xmm0, qword [r9]
mov eax, dword [r9 + 8]
movsd qword [rbp - 0x40], xmm0
mov dword [rbp - 0x38], eax
mov dword [rbp - 0x34], 0x1000000
jmp 0x14013cc2c
mov ebx, dword [rsi]
lea rdx, [rbp - 0x40]
mov dword [rsp + 0x30], reloc.WS2_32.dll_recv
xor r8d, r8d
mov qword [rsp + 0x28], rdx
xor edx, edx
mov dword [rsi], edi
mov dword [rsp + 0x20], eax
call fcn.14013d310
mov dword [rsi], ebx
mov ebx, dword [rbp + 0x88]
lea rax, [rbp - 0x20]
mov rdx, qword [rbp + 0x80]
mov r9, r15
mov dword [rsp + 0x30], reloc.WS2_32.dll_recv
mov r8d, ebx
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
mov r14, qword [rbp + 0x40]
mov rcx, r14
call fcn.14013d310
lea r8, [rbp - 0x10]
mov rcx, r14
lea rdx, [rbp - 0x40]
call fcn.14013fa20
test eax, eax
jne 0x14013cf75
lea r8d, [rax + 0x10]
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x20]
call fcn.140140ae0
test r12, r12
jne 0x14013cc91
mov dword [rsi], ebx
mov esi, recv
test r13d, r13d
je 0x14013ce3a
nop
dec r13d
mov rax, rsi
add byte [rbp + rax - 0x40], 1
jne 0x14013ccb6
dec rax
cmp rax, 0xc
jge 0x14013cca6
lea r8, [rbp - 0x30]
mov rcx, r14
lea rdx, [rbp - 0x40]
call fcn.14013fa20
test eax, eax
jne 0x14013cf75
lea rdx, [rbp - 0x30]
mov rcx, r12
and edx, 7
lea r10d, [rax + 0x10]
and ecx, 7
lea rax, [rbp - 0x30]
mov r8, r12
mov r9, r15
cmp rcx, rdx
jne 0x14013ce01
mov rcx, r15
and ecx, 7
cmp rdx, rcx
jne 0x14013ce01
test rdx, rdx
je 0x14013cd24
test r10d, r10d
je 0x14013cd24
movzx ecx, byte [r9]
dec r10d
xor cl, byte [rax]
inc r9
mov byte [r8], cl
inc rax
inc r8
test al, 7
jne 0x14013cd06
mov r11d, r10d
mov ebx, edi
shr r11d, 3
test r11d, r11d
je 0x14013cdfb
cmp r11d, 8
jb 0x14013cdd5
lea ecx, [r11 - 1]
mov edx, ecx
lea r14, [r8 + rcx*8]
lea rcx, [rax + rcx*8]
cmp r8, rcx
ja 0x14013cd5c
cmp r14, rax
jae 0x14013cdd5
lea rcx, [r9 + rdx*8]
cmp r8, rcx
ja 0x14013cd6a
cmp r14, r9
jae 0x14013cdd5
mov ecx, r11d
and ecx, 0xfffffff8
movdqu xmm0, xmmword [rax]
add ebx, 8
movdqu xmm1, xmmword [r9]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rax + 0x10]
movdqu xmmword [r8], xmm1
movdqu xmm1, xmmword [r9 + 0x10]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rax + 0x20]
movdqu xmmword [r8 + 0x10], xmm1
movdqu xmm1, xmmword [r9 + 0x20]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rax + 0x30]
add rax, 0x40
movdqu xmmword [r8 + 0x20], xmm1
movdqu xmm1, xmmword [r9 + 0x30]
add r9, 0x40
xorps xmm1, xmm0
movdqu xmmword [r8 + 0x30], xmm1
add r8, 0x40
cmp ebx, ecx
jb 0x14013cd70
cmp ebx, r11d
jae 0x14013cdfb
sub r11d, ebx
mov edx, r11d
nop dword [rax + rax]
mov rcx, qword [r9]
add r9, 8
xor rcx, qword [rax]
add rax, 8
mov qword [r8], rcx
add r8, 8
sub rdx, 1
jne 0x14013cde0
and r10d, 7
jbe 0x14013ce25
sub r9, rax
mov edx, r10d
sub r8, rax
nop word [rax + rax]
movzx ecx, byte [r9 + rax]
xor cl, byte [rax]
mov byte [r8 + rax], cl
lea rax, [rax + 1]
sub rdx, 1
jne 0x14013ce10
mov r14, qword [rbp + 0x40]
add r12, 0x10
add r15, 0x10
test r13d, r13d
jne 0x14013cca0
mov ebx, dword [rbp + 0x58]
test ebx, ebx
je 0x14013ce87
add byte [rbp + rsi - 0x40], 1
jne 0x14013ce51
dec rsi
cmp rsi, 0xc
jge 0x14013ce41
lea r8, [rbp - 0x30]
mov rcx, r14
lea rdx, [rbp - 0x40]
call fcn.14013fa20
test eax, eax
jne 0x14013cf75
mov r8d, ebx
lea rcx, [rbp - 0x30]
mov rdx, r15
call fcn.140140ae0
mov r8, rbx
lea rdx, [rbp - 0x30]
mov rcx, r12
call fcn.14014dae0
movsxd r8, dword [rbp + 0x78]
mov ecx, edi
test r8d, r8d
jle 0x14013cf66
mov r9, qword [rbp + 0x70]
lea rax, [rbp - 0x20]
cmp r8d, 8
jb 0x14013cf3e
mov rdx, r8
xorps xmm4, xmm4
and rdx, 0xfffffffffffffff8
xorps xmm3, xmm3
sub r9, rax
nop dword [rax + rax]
xorps xmm0, xmm0
lea rax, [rbp - 0x20]
add rax, rdi
add ecx, 8
add rdi, 8
movd xmm2, dword [rax + r9]
movd xmm1, dword [rax]
punpcklbw xmm2, xmm0
punpcklwd xmm2, xmm0
punpcklbw xmm1, xmm0
punpcklwd xmm1, xmm0
xorps xmm2, xmm1
movd xmm1, dword [rax + 4]
punpcklbw xmm1, xmm0
orps xmm4, xmm2
movd xmm2, dword [rax + r9 + 4]
punpcklbw xmm2, xmm0
punpcklwd xmm2, xmm0
punpcklwd xmm1, xmm0
xorps xmm2, xmm1
orps xmm3, xmm2
cmp rdi, rdx
jl 0x14013cec0
orps xmm3, xmm4
movdqa xmm0, xmm3
psrldq xmm0, 8
orps xmm3, xmm0
movdqa xmm0, xmm3
psrldq xmm0, 4
orps xmm3, xmm0
movd edi, xmm3
cmp ecx, r8d
jge 0x14013cf66
jmp 0x14013cf41
sub r9, rax
movsxd rax, ecx
lea rdx, [rbp - 0x20]
add rdx, rax
sub r8d, ecx
nop
movzx ecx, byte [r9 + rdx]
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
xor ecx, eax
or edi, ecx
sub r8, 1
jne 0x14013cf50
neg edi
shr edi, 0x1f
neg edi
and edi, 0xffffff4c
mov eax, edi
mov rbx, qword [rsp + 0xc8]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret