Function at 0x1400fc270
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r14
mov eax, 0x78
call fcn.1401c7590
sub rsp, rax
mov rax, qword [0x1402c0ed0]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov r14, qword [rsp + 0xc0]
mov rdi, r8
mov r10, qword [rsp + 0xc8]
mov rsi, rdx
mov qword [rsp + 0x38], r14
mov rbx, rcx
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x20], r9
test r8, r8
je 0x1400fc547
mov qword [rsp + 0xb0], rbp
mov qword [rsp + 0x60], r15
cmp rcx, rdx
je 0x1400fc34d
mov r15, r14
cmp r8, 0x10
jb 0x1400fc3c1
mov rbp, r8
mov r14, r9
shr rbp, 4
imul rax, rbp, 0xfffffffffffffff0
add rdi, rax
mov qword [rsp + 0x30], rdi
mov rdi, r10
nop dword [rax + rax]
mov r8, r14
mov rdx, rsi
mov rcx, rbx
call rdi
mov rax, qword [r15]
xor qword [rsi], rax
mov rax, qword [r15 + 8]
mov r15, rbx
xor qword [rsi + 8], rax
add rbx, 0x10
add rsi, 0x10
sub rbp, 1
jne 0x1400fc300
mov r14, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x20]
mov r10, qword [rsp + 0x28]
cmp r14, r15
je 0x1400fc3c1
movups xmm0, xmmword [r15]
movups xmmword [r14], xmm0
jmp 0x1400fc3c1
cmp rdi, 0x10
jb 0x1400fc3c1
mov rbp, rdi
shr rbp, 4
imul rax, rbp, 0xfffffffffffffff0
add rdi, rax
mov qword [rsp + 0x30], rdi
mov rdi, r9
nop dword [rax]
mov r8, rdi
lea rdx, [rsp + 0x40]
mov rcx, rbx
call r10
mov rcx, qword [rbx]
mov rax, qword [r14]
xor rax, qword [rsp + 0x40]
mov r10, qword [rsp + 0x28]
mov qword [rsi], rax
mov rax, qword [r14 + 8]
xor rax, qword [rsp + 0x48]
mov qword [r14], rcx
mov rcx, qword [rbx + 8]
add rbx, 0x10
mov qword [rsi + 8], rax
add rsi, 0x10
mov qword [r14 + 8], rcx
sub rbp, 1
jne 0x1400fc370
mov rdi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x20]
test rdi, rdi
je 0x1400fc53a
mov qword [rsp + 0x70], r12
lea rax, [rsp + 0x40]
mov qword [rsp + 0x68], r13
lea rcx, [rsp + 0x40]
mov r13, r14
lea r15, [rsp + 0x41]
sub r13, rax
mov r12d, 2
mov eax, 1
mov ebp, 3
sub rax, rcx
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x40]
sub r12, rax
lea rax, [rsp + 0x40]
sub rbp, rax
inc rsi
neg r15
nop word [rax + rax]
mov r8, r9
lea rdx, [rsp + 0x40]
mov rcx, rbx
call r10
xor eax, eax
lea r9, [r15 + rsi]
cmp rax, rdi
jae 0x1400fc4e3
lea r8, [rsp + 0x40]
add r8, rax
lea rcx, [r8 + r15]
movzx edx, byte [rcx + rbx + 1]
movzx ecx, byte [r8 + r13]
xor cl, byte [r8]
mov byte [r8 + r9], cl
mov rcx, qword [rsp + 0x38]
add rcx, r8
mov byte [r8 + r13], dl
cmp rcx, rdi
jae 0x1400fc4e0
movzx ecx, byte [r8 + 1]
xor cl, byte [r14 + rax + 1]
movzx edx, byte [rbx + rax + 1]
mov byte [rsi + rax], cl
lea rcx, [r12 + r8]
mov byte [r14 + rax + 1], dl
cmp rcx, rdi
jae 0x1400fc4da
movzx ecx, byte [r8 + 2]
xor cl, byte [r14 + rax + 2]
movzx edx, byte [rbx + rax + 2]
mov byte [rsi + rax + 1], cl
lea rcx, [r8 + rbp]
mov byte [r14 + rax + 2], dl
cmp rcx, rdi
jae 0x1400fc4d4
movzx edx, byte [rbx + rax + 3]
movzx ecx, byte [r8 + 3]
xor cl, byte [r14 + rax + 3]
mov byte [rsi + rax + 2], cl
mov byte [r14 + rax + 3], dl
add rax, 4
cmp rax, 0x10
jb 0x1400fc434
jmp 0x1400fc4e3
add rax, 3
jmp 0x1400fc4e3
add rax, 2
jmp 0x1400fc4e3
inc rax
cmp rdi, 0x10
jbe 0x1400fc507
mov r9, qword [rsp + 0x20]
add rbx, 0x10
mov r10, qword [rsp + 0x28]
add rsi, 0x10
sub rdi, 0x10
jne 0x1400fc420
jmp 0x1400fc530
cmp rax, 0x10
jae 0x1400fc530
sub rbx, r14
lea rcx, [r14 + rax]
mov edx, reloc.WS2_32.dll_recv
sub rdx, rax
nop dword [rax]
movzx eax, byte [rbx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1400fc520
mov r13, qword [rsp + 0x68]
mov r12, qword [rsp + 0x70]
mov rbp, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1401c7020
add rsp, 0x78
pop r14
pop rdi
pop rsi
pop rbx
ret