Function at 0x14000f3e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
lea rbp, [rsp + 0x20]
mov qword [rbp + 0x48], 0xfffffffffffffffe
mov qword [rbp + 0xb0], rbx
mov rax, qword [0x140030030]
xor rax, rbp
mov qword [rbp + 0x60], rax
movsxd rsi, r8d
mov r14, rdx
mov qword [rbp + 0x40], rdx
xor ebx, ebx
mov qword [rbp + 0x10], rbx
cmp esi, 0x400
jg 0x14000f466
mov r13, rsi
mov qword [rbp + 0x38], rsi
mov rcx, rsi
call fcn.140011ed0
test al, al
je 0x14000f466
lea rax, [rsi + 0xf]
cmp rax, rsi
ja 0x14000f453
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.140014e80
sub rsp, rax
lea rcx, [rsp + 0x20]
jmp 0x14000f4a2
mov r13, rsi
mov qword [rbp + 0x38], rsi
or rax, 0xffffffffffffffff
sub rax, rsi
cmp rax, 0x10
jb 0x14000f636
lea rcx, [rsi + 0x10]
call fcn.140012b48
test rax, rax
jne 0x14000f490
xor ecx, ecx
jmp 0x14000f4a2
mov qword [rax], 0
mov rbx, rax
mov qword [rbp + 0x10], rax
lea rcx, [rax + 0x10]
mov qword [rbp], rcx
test rcx, rcx
je 0x14000f616
mov dword [rbp + 0x50], 0x3d050b62
mov dword [rbp + 0x54], 0xe5e40cfe
mov dword [rbp + 0x58], 0x4b094d1f
mov dword [rbp + 0x5c], 0x11df4901
mov edx, 0x35096523
mov r8d, 0x78688051
movaps xmm0, xmmword [rbp + 0x50]
movdqa xmmword [rbp + 0x50], xmm0
movd r11d, xmm0
xor r11d, 0x23650935
mov dword [rbp + 0x20], r11d
mov eax, dword [rbp + 0x54]
xor eax, 0x79642590
mov dword [rbp + 8], eax
mov edi, dword [rbp + 0x58]
xor edi, 0x51806878
mov dword [rbp + 0x30], edi
mov eax, dword [rbp + 0x5c]
xor eax, 0x91341639
mov dword [rbp + 0x50], eax
mov r12, r14
mov r15, rcx
test esi, esi
je 0x14000f607
mov r13d, dword [rbp + 8]
mov ebx, eax
mov eax, 8
xor r9d, r9d
mov r14d, esi
cmp esi, eax
cmovg r14d, eax
lea r10d, [rax + 0x18]
nop word [rax + rax]
lea r9d, [r9 - 0x61c88647]
mov ecx, r8d
sar ecx, 5
add ecx, r13d
mov eax, r8d
shl eax, 4
add eax, r11d
xor ecx, eax
lea eax, [r9 + r8]
xor ecx, eax
add edx, ecx
mov ecx, edx
sar ecx, 5
add ecx, ebx
mov eax, edx
shl eax, 4
add eax, edi
xor ecx, eax
lea eax, [r9 + rdx]
xor ecx, eax
add r8d, ecx
dec r10
jne 0x14000f540
mov dword [rbp + 0x50], edx
mov dword [rbp + 0x54], r8d
xor eax, eax
movsxd rdi, r14d
test r14d, r14d
jle 0x14000f5ca
lea rcx, [rbp + 0x50]
mov r8, r12
sub r8, rcx
lea rcx, [rbp + 0x50]
mov r9, r15
sub r9, rcx
nop word [rax + rax]
lea rdx, [rbp + 0x50]
add rdx, rax
movzx ecx, byte [r8 + rdx]
xor cl, byte [rdx]
mov byte [r9 + rdx], cl
inc rax
cmp rax, rdi
jl 0x14000f5b0
mov r8, rdi
mov rdx, r15
lea rcx, [rbp + 0x50]
call fcn.140013df0
add r12, rdi
add r15, rdi
sub esi, r14d
je 0x14000f5f7
mov r8d, dword [rbp + 0x54]
mov edx, dword [rbp + 0x50]
mov r11d, dword [rbp + 0x20]
mov edi, dword [rbp + 0x30]
jmp 0x14000f525
mov rbx, qword [rbp + 0x10]
mov r13, qword [rbp + 0x38]
mov rcx, qword [rbp]
mov r14, qword [rbp + 0x40]
mov r8, r13
mov rdx, rcx
mov rcx, r14
call fcn.140013df0
nop
test rbx, rbx
je 0x14000f641
nop dword [rax + rax]
mov rcx, rbx
mov rbx, qword [rbx]
mov qword [rbp + 0x10], rbx
call fcn.140012b08
test rbx, rbx
jne 0x14000f620
jmp 0x14000f641
mov ecx, 0x80070216
call fcn.14000d5a0
nop
mov rcx, qword [rbp + 0x60]
xor rcx, rbp
call fcn.140013760
mov rbx, qword [rbp + 0xb0]
lea rsp, [rbp + 0x70]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret