Function at 0x1400fc3e0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbp
push rdi
push r12
push r14
lea rbp, [rax - 0x5f]
neg rsp
sub rsp, 0xffffffffffffff28
neg rsp
mov qword [rax - 0x28], rbx
xorps xmm0, xmm0
mov qword [rax - 0x30], rsi
xor r14d, r14d
mov qword [rdx], r14
mov r12, rdx
mov qword [rdx + 8], r14
mov qword [rdx + 0x10], r14
mov qword [rdx + 0x18], 0x469f0450
xor qword [rdx + 0x18], 0x4cf36e79
sub qword [rdx + 0x18], 0xa6c6a28
mov rsi, qword [rcx + 0x868]
mov rbx, qword [rcx + 0x830]
mov qword [rax - 0x38], r13
mov r13, rcx
lea rax, [rbp - 0x29]
lea rdx, [rsi + 1]
mov qword [rbp - 0x31], rax
lea rcx, [rbp - 0x31]
movups xmmword [rbp - 0x29], xmm0
movups xmmword [rbp - 0x19], xmm0
movups xmmword [rbp - 9], xmm0
call fcn.140017b44
mov r8, rax
mov ecx, 0x494aac26
xor ecx, 0x3f30a69c
sub ecx, 0x214a8d86
xor ecx, 0x7f38244f
mov r9d, 0x6c404cfe
xor r9d, 0x3003f8d5
xor r9d, 0x630a23ed
sub r9d, 0x3f4996c7
test rsi, rsi
je 0x1400fc4d4
mov rdx, rax
sub rbx, rax
mov rdi, rsi
movzx eax, cx
lea rdx, [rdx + 2]
and ax, r9w
ror ecx, 8
xor ax, word [rbx + rdx - 2]
mov word [rdx - 2], ax
sub rdi, 1
jne 0x1400fc4b3
mov word [r8 + rsi*2], r14w
mov r14, qword [rbp - 0x31]
cmp word [r14], 0
je 0x1400fc99a
mov qword [rsp + 0xb8], r15
nop dword [rax + rax]
mov edx, 0x57a661d7
add edx, 0x2788fe84
sub edx, 0x5adac600
sub edx, 0x24549a51
mov rcx, r14
call 0x140098760
mov qword [rbp + 0x6f], rax
nop
movabs r15, 0xffffffff06fedddb
add r15, 0x68d89340
add r15, 0x7fffffff
add r15, 0x10288ee5
test rax, rax
je 0x1400fc54f
mov rbx, rax
sub rbx, r14
sar rbx, 1
jmp 0x1400fc566
mov rbx, r15
nop dword [rax + rax]
inc rbx
cmp word [r14 + rbx*2], 0
jne 0x1400fc557
lea rdi, [rbx + 1]
mov eax, 0x2e28b5fd
add eax, 0x474a7a41
sub eax, 0x463902f1
xor eax, 0x2f3a2d4f
mul rdi
cmovo rax, r15
mov rcx, rax
call fcn.140097620
mov r9, rbx
mov qword [rbp + 0x7f], rax
mov r8, r14
mov rdx, rdi
mov rcx, rax
mov rsi, rax
call fcn.1400988c0
cmp byte [r13 + 0x884], 0
je 0x1400fc648
xor ebx, ebx
nop word [rax + rax]
lea rdx, [rbp + 7]
mov rcx, r13
call fcn.1400edd90
mov rcx, qword [rbp + 0x77]
mov rdx, rsi
mov rdi, rax
call fcn.1400f0fdc
cmp eax, dword [rdi]
jle 0x1400fc648
mov edx, 0x323c0a5c
sub edx, 0xcf07511
add edx, 0x650db19
sub edx, 0x2b9c7044
mov rcx, rsi
call fcn.1400989d0
test rax, rax
jne 0x1400fc62a
mov rax, r15
inc rax
cmp word [rsi + rax*2], bx
jne 0x1400fc60c
cmp rax, 1
jbe 0x1400fc83c
dec rax
lea rax, [rsi + rax*2]
mov word [rax], bx
sub rax, rsi
sar rax, 1
lea rax, [r14 + rax*2]
mov qword [rbp + 0x6f], rax
cmp byte [r13 + 0x884], bl
jne 0x1400fc5be
xor r14d, r14d
xorps xmm0, xmm0
lea rax, [rbp - 0x69]
mov qword [rbp - 0x71], rax
mov rdx, r15
movups xmmword [rbp - 0x69], xmm0
movups xmmword [rbp - 0x59], xmm0
movups xmmword [rbp - 0x49], xmm0
inc rdx
cmp word [rsi + rdx*2], 0
jne 0x1400fc665
lea rcx, [rbp - 0x71]
mov qword [rbp - 0x39], rdx
call fcn.140017b44
cmp qword [rbp - 0x39], 0
pushf
mov edx, 0x4ff5330e
sub edx, 0x391a5ca0
sub edx, 0x12f4e6bd
xor edx, 0x29f2b6ca
popf
mov rdi, r14
jbe 0x1400fc6f8
mov r8, rsi
mov r9d, 0x60069172
add r9d, 0x1d879594
xor r9d, 0x4ddbaa70
sub r9d, 0x30558c77
sub r8, rax
nop word [rax + rax]
movzx ecx, dx
lea rax, [rax + 2]
and cx, r9w
ror edx, 8
xor cx, word [r8 + rax - 2]
inc rdi
mov word [rax - 2], cx
cmp rdi, qword [rbp - 0x39]
jb 0x1400fc6d3
mov rax, qword [r12 + 8]
test rax, rax
je 0x1400fc883
mov rcx, qword [r12 + 0x10]
cmp rax, rcx
jb 0x1400fc87a
add rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.1400979c0
mov rcx, qword [r12 + 8]
mov r13, rax
mov qword [rbp - 0x79], rax
mov r15, r14
test rcx, rcx
je 0x1400fc7ec
nop
movabs rsi, 0xffffffff2ad6ccaf
add rsi, 0x8686647
add rsi, 0x7fffffff
xor rsi, 0x4cc0cd3d
lea rbx, [rax + 0x38]
sub rsi, rax
xor r13d, r13d
nop dword [rax]
mov r14, qword [r12]
lea rax, [rbx - 0x30]
mov qword [rbx - 0x38], rax
lea rcx, [rbx - 0x38]
xorps xmm0, xmm0
add r14, rsi
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
mov rdx, qword [r14 + rbx + 0x38]
mov qword [rbx], rdx
call fcn.140017b44
mov rdi, r13
cmp qword [rbx], r13
jbe 0x1400fc7cc
nop word [rax + rax]
mov rcx, qword [r14 + rbx]
movzx edx, word [rcx + rdi*2]
mov word [rax + rdi*2], dx
inc rdi
cmp rdi, qword [rbx]
jb 0x1400fc7b4
mov rcx, qword [r12 + 8]
inc r15
sub rbx, 0xffffffffffffffc0
cmp r15, rcx
jb 0x1400fc770
mov rsi, qword [rbp + 0x7f]
xor r14d, r14d
mov r13, qword [rbp - 0x79]
cmp qword [r12], 0
je 0x1400fc871
mov rbx, r14
test rcx, rcx
je 0x1400fc868
nop
mov rax, qword [r12]
mov rcx, qword [r14 + rax]
lea rdi, [rax + 8]
add rdi, r14
cmp rcx, rdi
jne 0x1400fc848
xor eax, eax
mov ecx, 0xe4c561f
xor ecx, 0x6196062b
sub ecx, 0x69e91249
sub ecx, 0x5f13dbb
rep stosb byte [rdi], al
jmp 0x1400fc84d
xor r14d, r14d
mov qword [rbp + 0x6f], r14
jmp 0x1400fc64b
call fcn.140097780
inc rbx
neg r14
add r14, 0xffffffffffffffc0
neg r14
cmp rbx, qword [r12 + 8]
jb 0x1400fc804
xor r14d, r14d
mov rcx, qword [r12]
call fcn.140097780
mov qword [r12], r13
jmp 0x1400fc8aa
mov r13, qword [r12]
jmp 0x1400fc8aa
mov r13, qword [r12]
test r13, r13
jne 0x1400fc8aa
mov rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.1400979c0
mov r13, rax
mov qword [r12], rax
mov rax, qword [r12 + 8]
xorps xmm0, xmm0
mov rbx, rax
shl rbx, 6
add rbx, r13
inc rax
mov rcx, rbx
mov qword [r12 + 8], rax
lea rax, [rbx + 8]
mov qword [rbx], rax
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
mov rax, qword [rbp - 0x39]
mov qword [rbx + 0x38], rax
mov rdx, qword [rbp - 0x39]
call fcn.140017b44
cmp qword [rbx + 0x38], 0
mov rdi, r14
jbe 0x1400fc91e
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rbp - 0x71]
movzx edx, word [rcx + rdi*2]
mov word [rax + rdi*2], dx
inc rdi
cmp rdi, qword [rbx + 0x38]
jb 0x1400fc905
mov rcx, qword [rbp - 0x71]
lea rax, [rbp - 0x69]
cmp rcx, rax
jne 0x1400fc953
lea rdi, [rbp - 0x69]
xor eax, eax
mov ecx, 0x3ea2db9
xor ecx, 0x345dd747
sub ecx, 0xe6118d9
xor ecx, 0x2956e215
rep stosb byte [rdi], al
jmp 0x1400fc958
call fcn.140097780
mov rcx, rsi
call fcn.140097630
mov rax, qword [rbp + 0x6f]
test rax, rax
je 0x1400fc98e
mov r13, qword [rbp + 0x67]
cmp byte [r13 + 0x884], 0
je 0x1400fc98e
cmp word [rax + 2], 0
lea r14, [rax + 2]
jne 0x1400fc4f5
mov r14, qword [rbp - 0x31]
mov r15, qword [rsp + 0xb8]
mov r13, qword [rsp + 0xc0]
lea rax, [rbp - 0x29]
mov rsi, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xd0]
cmp r14, rax
jne 0x1400fc9ef
xor eax, eax
lea rdi, [rbp - 0x29]
mov ecx, 0x2d757c0e
xor ecx, 0x1b082e67
add ecx, 0x244add72
sub ecx, 0x5ac82fab
rep stosb byte [rdi], al
mov rax, r12
add rsp, 0xd8
pop r14
pop r12
pop rdi
pop rbp
ret
mov rcx, r14
call fcn.140097780
mov rax, r12
add rsp, 0xd8
pop r14
pop r12
pop rdi
pop rbp
ret