Function at 0x14013c0b0
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov eax, r9d
mov r13, rcx
mov r9, qword [rsp + 0xd0]
mov r15d, eax
mov r12d, eax
shr r15d, 4
mov eax, dword [rsp + 0xd8]
and r12d, 0xf
mov rbp, r8
mov r14, rdx
cmp eax, 0xc
jne 0x14013c119
movsd xmm0, qword [r9]
mov eax, dword [r9 + 8]
movsd qword [rsp + 0x40], xmm0
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x4c], 0x1000000
jmp 0x14013c153
mov ebx, dword [rcx + 0x144]
xor r8d, r8d
mov dword [rcx + 0x144], 0
xor edx, edx
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x30], reloc.WS2_32.dll_recv
mov qword [rsp + 0x28], rcx
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.14013c420
mov dword [r13 + 0x144], ebx
movaps xmm0, xmmword [rsp + 0x40]
mov edi, recv
movdqa xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0xb0], rsi
test r15d, r15d
je 0x14013c326
nop dword [rax]
nop dword [rax + rax]
dec r15d
mov rax, rdi
add byte [rsp + rax + 0x40], 1
jne 0x14013c196
dec rax
cmp rax, 0xc
jge 0x14013c186
lea r8, [rsp + 0x50]
mov rcx, r13
lea rdx, [rsp + 0x40]
call fcn.14013eb30
test eax, eax
jne 0x14013c3f5
lea rdx, [rsp + 0x50]
mov rcx, r14
and edx, 7
lea r10d, [rax + 0x10]
and ecx, 7
lea rax, [rsp + 0x50]
mov r8, r14
mov r9, rbp
cmp rcx, rdx
jne 0x14013c2f1
mov rcx, rbp
and ecx, 7
cmp rdx, rcx
jne 0x14013c2f1
test rdx, rdx
je 0x14013c20e
nop word [rax + rax]
test r10d, r10d
je 0x14013c20e
movzx ecx, byte [r9]
dec r10d
xor cl, byte [rax]
inc r9
mov byte [r8], cl
inc rax
inc r8
test al, 7
jne 0x14013c1f0
mov r11d, r10d
xor ebx, ebx
shr r11d, 3
test r11d, r11d
je 0x14013c2eb
cmp r11d, 8
jb 0x14013c2c5
lea ecx, [r11 - 1]
mov edx, ecx
lea rsi, [r8 + rcx*8]
lea rcx, [rax + rcx*8]
cmp r8, rcx
ja 0x14013c246
cmp rsi, rax
jae 0x14013c2c5
lea rcx, [r9 + rdx*8]
cmp r8, rcx
ja 0x14013c254
cmp rsi, r9
jae 0x14013c2c5
mov ecx, r11d
and ecx, 0xfffffff8
nop word [rax + rax]
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 0x14013c260
cmp ebx, r11d
jae 0x14013c2eb
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 0x14013c2d0
and r10d, 7
jbe 0x14013c315
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 0x14013c300
add rbp, 0x10
add r14, 0x10
test r15d, r15d
jne 0x14013c180
test r12d, r12d
je 0x14013c36d
nop dword [rax + rax]
add byte [rsp + rdi + 0x40], 1
jne 0x14013c340
dec rdi
cmp rdi, 0xc
jge 0x14013c330
lea r8, [rsp + 0x50]
mov rcx, r13
lea rdx, [rsp + 0x40]
call fcn.14013eb30
test eax, eax
jne 0x14013c3f5
mov r9d, r12d
lea rdx, [rsp + 0x50]
mov r8, rbp
mov rcx, r14
call fcn.14013fe10
mov rbx, qword [rsp + 0xe0]
test rbx, rbx
je 0x14013c3f3
mov esi, dword [rsp + 0xe8]
mov rcx, r13
mov edi, dword [rsp + 0xf8]
mov r8d, edi
mov ebp, dword [rsp + 0xc8]
mov r9, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xf0]
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], ebp
call fcn.14013c420
lea r8, [rsp + 0x50]
mov rcx, r13
lea rdx, [rsp + 0x60]
call fcn.14013eb30
test eax, eax
jne 0x14013c3f5
mov r8d, esi
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.14013fbf0
cmp qword [rsp + 0xc0], 0
jne 0x14013c3f3
test ebp, ebp
jne 0x14013c3f3
mov dword [r13 + 0x144], edi
xor eax, eax
mov rsi, qword [rsp + 0xb0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rbp
pop rbx
ret