Function at 0x1400f887c
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push r15
lea rbp, [rsp - 0x3f]
sub rsp, 0xe8
xor r15d, r15d
mov rbx, rcx
mov dword [rbp + 0x67], r15d
call fcn.1400f06a0
mov rcx, rax
mov rdx, qword [rax]
call qword [rdx + 0xb0]
mov rcx, qword [0x140148180]
mov rdx, rax
call fcn.1400ee114
mov rcx, rax
call fcn.1401046d8
mov ecx, dword [rbx + 0xb5c]
mov rsi, rax
sub ecx, 0xfffffffc
cmp dword [rbx + 0xb58], ecx
je 0x1400f8a17
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x1400f8a17
cmp byte [rcx + 0x310], r15b
je 0x1400f8a17
mov qword [rsp + 0x118], rdi
lea rdx, [rbp - 0x49]
mov qword [rsp + 0x120], r12
mov rcx, rbx
mov qword [rsp + 0xe0], r14
call fcn.1400f9180
mov r9, qword [rbx + 0xb48]
lea rdx, [rbp - 9]
mov rdi, qword [rsi + 0x50]
lea rcx, [rbp - 0x49]
xor r8d, r8d
call fcn.140055d30
mov rdx, rax
mov rcx, rdi
call fcn.1400f40b0
mov rcx, qword [rbp - 9]
mov r12d, eax
lea rax, [rbp - 1]
cmp rcx, rax
jne 0x1400f87d8
lea rdi, [rbp - 1]
xor eax, eax
mov ecx, 0x3519dd43
add ecx, 0x1f32c0c9
xor ecx, 0x78eeea74
xor ecx, 0x2ca27448
rep stosb byte [rdi], al
jmp 0x1400f87dd
call fcn.1400999d0
mov r14, qword [rbp - 0x11]
cmp qword [rbx + 0xb48], r14
je 0x1400f88d6
xorps xmm0, xmm0
mov qword [rsp + 0x128], r13
mov r13, qword [rsi + 0x50]
lea rax, [rsp + 0x28]
mov rsi, qword [rbp - 0x49]
lea rdx, [r14 + 1]
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
movups xmmword [rsp + 0x28], xmm0
movups xmmword [rbp - 0x71], xmm0
movups xmmword [rbp - 0x61], xmm0
call fcn.140017924
mov edx, 0x564f892d
sub edx, 0x145bee5c
sub edx, 0x1344481e
test r14, r14
je 0x1400f888f
mov rdi, rax
sub rsi, rax
mov r8, r14
mov r9d, 0x47b6b211
add r9d, 0x1f6beef2
sub r9d, 0x27b1c97d
xor r9d, 0x3f70d779
nop word [rax + rax]
movzx ecx, dx
lea rdi, [rdi + 2]
and cx, r9w
ror edx, 8
xor cx, word [rsi + rdi - 2]
mov word [rdi - 2], cx
sub r8, 1
jne 0x1400f886e
mov word [rax + r14*2], r15w
mov rcx, r13
mov rdx, qword [rbx + 0xb48]
mov rax, qword [rsp + 0x20]
lea rdx, [rax + rdx*2]
call fcn.1400f4334
mov r13, qword [rsp + 0x128]
mov esi, eax
mov r15d, 0x606f1622
add r15d, 0x1ecf3898
sub r15d, 0x4b3b755f
sub r15d, 0x3402d95a
jmp 0x1400f88d9
mov esi, r15d
mov r14, qword [rsp + 0xe0]
test r15b, 1
je 0x1400f8928
mov rcx, qword [rsp + 0x20]
lea rax, [rsp + 0x28]
cmp rcx, rax
jne 0x1400f8923
lea rdi, [rsp + 0x28]
xor eax, eax
mov ecx, 0x4f1e9037
sub ecx, 0x18d019b7
add ecx, 0x30c4557c
sub ecx, 0x6712cbcc
rep stosb byte [rdi], al
jmp 0x1400f8928
call fcn.1400999d0
lea rdx, [rbp + 0x67]
mov rcx, rbx
call fcn.1400f0f70
lea rdx, [rbp + 0x67]
mov rcx, rbx
mov edi, dword [rax]
sub edi, r12d
sub edi, dword [rbx + 0xb58]
call fcn.1400f0f70
cmp esi, edi
cmovle edi, esi
mov ecx, dword [rax]
mov eax, dword [rbx + 0xb5c]
sub ecx, edi
sub ecx, r12d
nop
add eax, 0x27b5999
sub eax, 0x27b5995
mov dword [rbx + 0xb58], ecx
cmp ecx, eax
jle 0x1400f8981
mov dword [rbx + 0xb58], eax
jmp 0x1400f89d3
lea rdx, [rbp + 0x67]
mov rcx, rbx
call fcn.1400f0f70
mov ecx, dword [rbx + 0xb58]
add ecx, r12d
mov edx, dword [rax]
sub edx, dword [rbx + 0xb60]
sub edx, 4
cmp ecx, edx
jle 0x1400f89d3
lea rdx, [rbp + 0x67]
mov rcx, rbx
call fcn.1400f0f70
mov edx, dword [rax]
sub edx, dword [rbx + 0xb60]
sub edx, r12d
nop
add edx, 0x55aabd30
sub edx, 0x55aabd34
mov dword [rbx + 0xb58], edx
mov rcx, qword [rbp - 0x49]
lea rax, [rbp - 0x41]
mov r12, qword [rsp + 0x120]
cmp rcx, rax
jne 0x1400f8a0a
lea rdi, [rbp - 0x41]
xor eax, eax
mov ecx, 0x6b0998f6
sub ecx, 0x1c85f89a
sub ecx, 0x4e83a02c
rep stosb byte [rdi], al
jmp 0x1400f8a0f
call fcn.1400999d0
mov rdi, qword [rsp + 0x118]
neg rsp
add rsp, 0xffffffffffffff18
neg rsp
pop r15
pop rsi
pop rbx
pop rbp
ret