Function at 0x1400ffc63
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]
sub rsp, 0xd8
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], 0x4626cd27
add qword [rdx + 0x18], 0x38b39f71
sub qword [rdx + 0x18], 0xe65fe6f
xor qword [rdx + 0x18], 0x70746e28
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.140017bbc
mov r8, rax
mov ecx, 0x79874f54
sub ecx, 0x72b0a3ec
add ecx, 0x34dd6f3c
mov r9d, 0x177644e7
xor r9d, 0x6e00293b
sub r9d, 0x3aee71d8
sub r9d, 0x3e87fb05
test rsi, rsi
je 0x1400ffc90
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 0x1400ffc6f
mov word [r8 + rsi*2], r14w
mov r14, qword [rbp - 0x31]
cmp word [r14], 0
je 0x14010013d
mov qword [rsp + 0xb8], r15
nop dword [rax + rax]
mov edx, 0x3ef5bd44
xor edx, 0x41aed2c7
xor edx, 0x22d0ef85
sub edx, 0x5d8b7ffc
mov rcx, r14
call 0x14009a8a0
mov qword [rbp + 0x6f], rax
nop
movabs r15, 0xffffffff28dd68ee
xor r15, 0x1664506e
add r15, 0x7fffffff
add r15, 0x4146c780
test rax, rax
je 0x1400ffd0b
mov rbx, rax
sub rbx, r14
sar rbx, 1
jmp 0x1400ffd22
mov rbx, r15
nop dword [rax + rax]
inc rbx
cmp word [r14 + rbx*2], 0
jne 0x1400ffd13
lea rdi, [rbx + 1]
mov eax, 0x563febc
add eax, 0x6af61b0b
xor eax, 0x705a19c5
mul rdi
cmovo rax, r15
mov rcx, rax
call fcn.1400997e0
mov r9, rbx
mov qword [rbp + 0x7f], rax
mov r8, r14
mov rdx, rdi
mov rcx, rax
mov rsi, rax
call fcn.14009aa00
cmp byte [r13 + 0x884], 0
je 0x1400ffdf9
xor ebx, ebx
nop word [rax + rax]
lea rdx, [rbp + 7]
mov rcx, r13
call fcn.1400f1350
mov rcx, qword [rbp + 0x77]
mov rdx, rsi
mov rdi, rax
call fcn.1400f45e0
cmp eax, dword [rdi]
jle 0x1400ffdf9
mov edx, 0x77b3be4
add edx, 0x546273a6
xor edx, 0x5bddafaa
mov rcx, rsi
call fcn.14009ab20
test rax, rax
jne 0x1400ffddb
mov rax, r15
inc rax
cmp word [rsi + rax*2], bx
jne 0x1400ffdbd
cmp rax, 1
jbe 0x1400fffe0
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 0x1400ffd75
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 0x1400ffe16
lea rcx, [rbp - 0x71]
mov qword [rbp - 0x39], rdx
call fcn.140017bbc
cmp qword [rbp - 0x39], 0
pushf
mov edx, 0x3dd28ff8
xor edx, 0x5bcd119d
sub edx, 0x2a6b83c1
popf
mov rdi, r14
jbe 0x1400ffe9c
mov r8, rsi
mov r9d, 0x394456e9
add r9d, 0x3aee321c
xor r9d, 0x743289fa
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 0x1400ffe77
mov rax, qword [r12 + 8]
test rax, rax
je 0x14010002c
mov rcx, qword [r12 + 0x10]
cmp rax, rcx
jb 0x140100023
add rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.140099bc0
mov rcx, qword [r12 + 8]
mov r13, rax
mov qword [rbp - 0x79], rax
mov r15, r14
test rcx, rcx
je 0x1400fff90
nop
movabs rsi, 0xffffffff27648e06
sub rsi, 0x4ea7895
add rsi, 0x7fffffff
add rsi, 0x5d85ea58
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.140017bbc
mov rdi, r13
cmp qword [rbx], r13
jbe 0x1400fff70
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 0x1400fff58
mov rcx, qword [r12 + 8]
inc r15
sub rbx, 0xffffffffffffffc0
cmp r15, rcx
jb 0x1400fff14
mov rsi, qword [rbp + 0x7f]
xor r14d, r14d
mov r13, qword [rbp - 0x79]
cmp qword [r12], 0
je 0x14010001a
mov rbx, r14
test rcx, rcx
je 0x140100011
nop
mov rax, qword [r12]
mov rcx, qword [r14 + rax]
lea rdi, [rax + 8]
add rdi, r14
cmp rcx, rdi
jne 0x1400fffec
xor eax, eax
mov ecx, 0x79571a58
sub ecx, 0x5f9ac9a3
sub ecx, 0x13ab4077
xor ecx, 0x611100e
rep stosb byte [rdi], al
jmp 0x1400ffff1
xor r14d, r14d
mov qword [rbp + 0x6f], r14
jmp 0x1400ffdfc
call fcn.1400999a0
inc rbx
nop
sub r14, 0x147b82c0
add r14, 0x147b8300
cmp rbx, qword [r12 + 8]
jb 0x1400fffa8
xor r14d, r14d
mov rcx, qword [r12]
call fcn.1400999a0
mov qword [r12], r13
jmp 0x140100053
mov r13, qword [r12]
jmp 0x140100053
mov r13, qword [r12]
test r13, r13
jne 0x140100053
mov rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.140099bc0
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.140017bbc
cmp qword [rbx + 0x38], 0
mov rdi, r14
jbe 0x1401000c7
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 0x1401000ae
mov rcx, qword [rbp - 0x71]
lea rax, [rbp - 0x69]
cmp rcx, rax
jne 0x1401000f6
lea rdi, [rbp - 0x69]
xor eax, eax
mov ecx, 0x3b4b77a9
sub ecx, 0x3b0798dd
xor ecx, 0x43defc
rep stosb byte [rdi], al
jmp 0x1401000fb
call fcn.1400999a0
mov rcx, rsi
call fcn.1400997f0
mov rax, qword [rbp + 0x6f]
test rax, rax
je 0x140100131
mov r13, qword [rbp + 0x67]
cmp byte [r13 + 0x884], 0
je 0x140100131
cmp word [rax + 2], 0
lea r14, [rax + 2]
jne 0x1400ffcb1
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 0x14010018c
xor eax, eax
lea rdi, [rbp - 0x29]
mov ecx, 0x3c8998d8
sub ecx, 0x15012937
sub ecx, 0x27886f71
rep stosb byte [rdi], al
mov rax, r12
sub rsp, 0xffffffffffffff28
pop r14
pop r12
pop rdi
pop rbp
ret
mov rcx, r14
call fcn.1400999a0
mov rax, r12
sub rsp, 0xffffffffffffff28
pop r14
pop r12
pop rdi
pop rbp
ret