Function at 0x1400fc830
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], 0x5e4fecc5
xor qword [rdx + 0x18], 0x6c01bf75
sub qword [rdx + 0x18], 0x324e53af
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.140017c38
mov r8, rax
mov ecx, 0x21acfe25
add ecx, 0x4ecb4330
sub ecx, 0x2008bb91
sub ecx, 0x381a6d56
mov r9d, 0x7e960bde
xor r9d, 0x5baf116d
sub r9d, 0xbf44ab3
sub r9d, 0x1944cf01
test rsi, rsi
je 0x1400fc924
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 0x1400fc903
mov word [r8 + rsi*2], r14w
mov r14, qword [rbp - 0x31]
cmp word [r14], 0
je 0x1400fcdd8
mov qword [rsp + 0xb8], r15
nop dword [rax + rax]
mov edx, 0x5cb91c6e
sub edx, 0x28819447
sub edx, 0x1b4896dc
xor edx, 0x18eef141
mov rcx, r14
call 0x140098430
mov qword [rbp + 0x6f], rax
nop
movabs r15, 0xffffffff52649d9c
sub r15, 0xc56e602
add r15, 0x7fffffff
xor r15, 0x39f24866
test rax, rax
je 0x1400fc99f
mov rbx, rax
sub rbx, r14
sar rbx, 1
jmp 0x1400fc9b6
mov rbx, r15
nop dword [rax + rax]
inc rbx
cmp word [r14 + rbx*2], 0
jne 0x1400fc9a7
lea rdi, [rbx + 1]
mov eax, 0xd1538fd
sub eax, 0x2ab31fa
add eax, 0x26742eb1
sub eax, 0x30de35b2
mul rdi
cmovo rax, r15
mov rcx, rax
call fcn.1400972b0
mov r9, rbx
mov qword [rbp + 0x7f], rax
mov r8, r14
mov rdx, rdi
mov rcx, rax
mov rsi, rax
call fcn.140098570
cmp byte [r13 + 0x884], 0
je 0x1400fca98
xor ebx, ebx
nop word [rax + rax]
lea rdx, [rbp + 7]
mov rcx, r13
call fcn.1400ee1f0
mov rcx, qword [rbp + 0x77]
mov rdx, rsi
mov rdi, rax
call fcn.1400f14f4
cmp eax, dword [rdi]
jle 0x1400fca98
mov edx, 0x33b6b8b1
sub edx, 0x85f738f
sub edx, 0x1c692553
xor edx, 0xeee1fef
mov rcx, rsi
call fcn.140098690
test rax, rax
jne 0x1400fca7a
mov rax, r15
inc rax
cmp word [rsi + rax*2], bx
jne 0x1400fca5c
cmp rax, 1
jbe 0x1400fcc86
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 0x1400fca0e
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 0x1400fcab5
lea rcx, [rbp - 0x71]
mov qword [rbp - 0x39], rdx
call fcn.140017c38
cmp qword [rbp - 0x39], 0
pushf
mov edx, 0x3595273
xor edx, 0x76bf5b05
sub edx, 0x5d90f108
popf
mov rdi, r14
jbe 0x1400fcb42
mov r8, rsi
mov r9d, 0x485a1e5a
sub r9d, 0x500162b
add r9d, 0x223b94af
xor r9d, 0x65959c21
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 0x1400fcb1d
mov rax, qword [r12 + 8]
test rax, rax
je 0x1400fccc7
mov rcx, qword [r12 + 0x10]
cmp rax, rcx
jb 0x1400fccbe
add rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.140097730
mov rcx, qword [r12 + 8]
mov r13, rax
mov qword [rbp - 0x79], rax
mov r15, r14
test rcx, rcx
je 0x1400fcc36
nop
movabs rsi, 0xffffffff284ac7d6
add rsi, 0x2b0b62c1
add rsi, 0x7fffffff
add rsi, 0x2ca9d532
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.140017c38
mov rdi, r13
cmp qword [rbx], r13
jbe 0x1400fcc16
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 0x1400fcbfe
mov rcx, qword [r12 + 8]
inc r15
sub rbx, 0xffffffffffffffc0
cmp r15, rcx
jb 0x1400fcbba
mov rsi, qword [rbp + 0x7f]
xor r14d, r14d
mov r13, qword [rbp - 0x79]
cmp qword [r12], 0
je 0x1400fccb5
mov rbx, r14
test rcx, rcx
je 0x1400fccac
nop
mov rax, qword [r12]
mov rcx, qword [r14 + rax]
lea rdi, [rax + 8]
add rdi, r14
cmp rcx, rdi
jne 0x1400fcc92
xor eax, eax
mov ecx, 0x62b2a49e
sub ecx, 0xc6c35e3
xor ecx, 0x69078327
sub ecx, 0x3f41ed6c
rep stosb byte [rdi], al
jmp 0x1400fcc97
xor r14d, r14d
mov qword [rbp + 0x6f], r14
jmp 0x1400fca9b
call fcn.140097490
inc rbx
add r14, 0x40
cmp rbx, qword [r12 + 8]
jb 0x1400fcc4e
xor r14d, r14d
mov rcx, qword [r12]
call fcn.140097490
mov qword [r12], r13
jmp 0x1400fccee
mov r13, qword [r12]
jmp 0x1400fccee
mov r13, qword [r12]
test r13, r13
jne 0x1400fccee
mov rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.140097730
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.140017c38
cmp qword [rbx + 0x38], 0
mov rdi, r14
jbe 0x1400fcd62
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 0x1400fcd49
mov rcx, qword [rbp - 0x71]
lea rax, [rbp - 0x69]
cmp rcx, rax
jne 0x1400fcd91
lea rdi, [rbp - 0x69]
xor eax, eax
mov ecx, 0x6d81de6d
sub ecx, 0x271dec8
sub ecx, 0x6b0fff75
rep stosb byte [rdi], al
jmp 0x1400fcd96
call fcn.140097490
mov rcx, rsi
call fcn.1400972c0
mov rax, qword [rbp + 0x6f]
test rax, rax
je 0x1400fcdcc
mov r13, qword [rbp + 0x67]
cmp byte [r13 + 0x884], 0
je 0x1400fcdcc
cmp word [rax + 2], 0
lea r14, [rax + 2]
jne 0x1400fc945
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 0x1400fce27
xor eax, eax
lea rdi, [rbp - 0x29]
mov ecx, 0x2f2a4946
sub ecx, 0x731be6c
xor ecx, 0x27f88aea
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.140097490
mov rax, r12
sub rsp, 0x672b0ee6
add rsp, 0x672b0fbe
pop r14
pop r12
pop rdi
pop rbp
ret