Function at 0x1401f6280
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x10], 0xfffffffffffffffe
mov rsi, r9
mov rdi, r8
xorps xmm0, xmm0
movups xmmword [rcx + 8], xmm0
lea rax, [0x14036d048]
mov qword [rcx], rax
mov byte [rcx + 0x18], 0
mov qword [rcx + 0x20], rdx
movups xmmword [rcx + 0x40], xmm0
mov rbx, qword [r8 + 0x18]
cmp qword [r8 + 0x20], 0x10
jb 0x1401f62d7
mov rdi, qword [rdi + 8]
jmp 0x1401f62db
add rdi, 8
lea rax, [rcx + 8]
mov qword [rbp - 0x28], rax
lea r15, [rcx + 0x30]
cmp rbx, 0xf
mov qword [rbp + 8], rcx
ja 0x1401f6300
movups xmm0, xmmword [rdi]
movups xmmword [r15], xmm0
mov r14d, 0xf
jmp 0x1401f6363
mov r14, rbx
or r14, 0xf
movabs rax, 0x7fffffffffffffff
cmp r14, rax
cmovae r14, rax
cmp r14, 0xfff
jb 0x1401f6344
lea rcx, [r14 + 0x28]
call fcn.14031953c
mov rcx, rax
xor rcx, 0x27
mov edx, eax
and edx, 0x27
lea rcx, [rcx + rdx*2]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x1401f6350
lea rcx, [r14 + 1]
call fcn.14031953c
mov rcx, rax
mov qword [r15], rcx
lea r8, [rbx + 1]
mov rdx, rdi
call fcn.1403414a0
mov rcx, qword [rbp + 8]
mov qword [rcx + 0x40], rbx
mov qword [rcx + 0x48], r14
lea rbx, [0x14035c428]
mov qword [rcx + 0x28], rbx
xorps xmm0, xmm0
movups xmmword [rcx + 0x68], xmm0
mov rdi, qword [rsi + 0x18]
cmp qword [rsi + 0x20], 0x10
jb 0x1401f638e
mov rsi, qword [rsi + 8]
jmp 0x1401f6392
add rsi, 8
lea rax, [rcx + 0x28]
mov qword [rbp - 0x20], rax
lea r15, [rcx + 0x58]
cmp rdi, 0xf
ja 0x1401f63b3
movups xmm0, xmmword [rsi]
movups xmmword [r15], xmm0
mov r14d, 0xf
jmp 0x1401f640d
mov r14, rdi
or r14, 0xf
movabs rax, 0x7fffffffffffffff
cmp r14, rax
cmovae r14, rax
cmp r14, 0xfff
jb 0x1401f63ee
lea rcx, [r14 + 0x28]
call fcn.14031953c
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x1401f63fa
lea rcx, [r14 + 1]
call fcn.14031953c
mov rcx, rax
mov qword [r15], rcx
lea r8, [rdi + 1]
mov rdx, rsi
call fcn.1403414a0
mov rcx, qword [rbp + 8]
mov r8, qword [rbp + 0x88]
mov rax, qword [rbp + 0x80]
lea rdx, [rcx + 0x50]
mov qword [rbp - 0x18], rdx
mov qword [rcx + 0x68], rdi
mov qword [rcx + 0x70], r14
mov qword [rcx + 0x50], rbx
lea rdx, [rcx + 0x78]
mov qword [rbp - 0x10], rdx
lea r13, [rcx + 0x80]
lea rdi, [rax + 8]
movsxd r14, dword [0x14036d064]
mov r15d, dword [0x14036d070]
xorps xmm0, xmm0
movups xmmword [rcx + 0x90], xmm0
mov rsi, qword [rax + 0x18]
cmp qword [rax + 0x20], 0x10
jb 0x1401f6469
mov rdi, qword [rax + 8]
cmp rsi, 0x10
jae 0x1401f647f
movups xmm0, xmmword [rdi]
movups xmmword [r13], xmm0
mov r12d, 0xf
jmp 0x1401f64df
mov r12, rsi
or r12, 0xf
movabs rax, 0x7fffffffffffffff
cmp r12, rax
cmovae r12, rax
cmp r12, 0xfff
jb 0x1401f64bb
lea rcx, [r12 + 0x28]
call fcn.14031953c
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x1401f64c8
lea rcx, [r12 + 1]
call fcn.14031953c
mov rcx, rax
mov qword [r13], rcx
lea r8, [rsi + 1]
mov rdx, rdi
call fcn.1403414a0
mov r8, qword [rbp + 0x88]
mov rax, qword [rbp + 8]
mov qword [rax + 0x90], rsi
mov qword [rax + 0x98], r12
mov qword [rax + 0x78], rbx
lea rcx, [rax + 0xa0]
mov qword [rbp], rcx
mov qword [rax + 0xb8], 0
mov qword [rax + 0xc0], 0xf
mov byte [rax + 0xa8], 0
mov qword [rax + 0xa0], rbx
xorps xmm0, xmm0
movups xmmword [rax + 0xc8], xmm0
cmp qword [r8 + 0x18], 0
je 0x1401f657d
lea rcx, [rbp - 8]
mov rdx, r8
mov r8b, 1
call fcn.1401fbd20
lea rcx, [rbp - 0x50]
call fcn.1401fce90
lea rdx, [rbp - 0x50]
mov rcx, qword [rbp]
call fcn.1401ec490
mov eax, dword [0x1404918bc]
lea ecx, [rax + 1]
mov dword [0x1404918bc], ecx
test eax, ecx
je 0x1401f660e
xor r8d, r8d
mov rsi, qword [rbp + 8]
jmp 0x1401f6640
lea rcx, [rbp - 0x50]
call fcn.1401fce90
lea rdx, [rbp - 0x50]
mov rcx, qword [rbp]
call fcn.1401ec490
mov rax, qword [rbp - 0x30]
cmp rax, 0x10
mov rsi, qword [rbp + 8]
jb 0x1401f6697
mov rdx, qword [rbp - 0x48]
lea r9, [rax + 1]
cmp r9, 0x1000
jb 0x1401f65f1
mov rcx, qword [rdx - 8]
mov r8, rdx
xor r8, 0xfffffffffffffff8
movabs r9, 0x7ffffffffffffff8
and r9, rdx
lea rdx, [r8 + r9*2]
sub rdx, rcx
cmp rdx, 0x20
jae 0x1401f66d2
mov rdx, qword [0x1404918d8]
lea r9, [rdx + rax]
add r9, 0x28
mov rdx, rcx
mov dword [rsp + 0x20], 0x40c0bd58
mov ecx, 1
mov r8d, 1
call fcn.1400f47d0
jmp 0x1401f6697
xor edx, edx
mov r8d, 0
test r15d, r15d
mov rsi, qword [rbp + 8]
jle 0x1401f6640
lea r8, [0x14036d064]
add r14, r8
xor r8d, r8d
nop dword [rax]
movsxd rdx, edx
xor r8w, word [r14 + rdx]
add edx, 2
cmp edx, r15d
jl 0x1401f6630
mov r10, qword [rbp - 0x30]
cmp r10, 0xf
jbe 0x1401f668e
mov rdx, qword [rbp - 0x48]
lea r9, [r10 + 1]
cmp r9, 0x1000
jb 0x1401f6676
mov r11, qword [rdx - 8]
add rdx, 0xfffffffffffffff8
sub rdx, r11
cmp rdx, 0x20
jae 0x1401f66ae
add r10, 0x28
mov r9, r10
mov rdx, r11
mov dword [rsp + 0x20], 0x40c0bd58
mov ecx, 1
mov r8d, 1
call fcn.1400f47d0
lea rcx, [rbp - 8]
call fcn.1401f8d10
mov rax, rsi
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
and eax, ecx
xor ecx, ecx
cmp eax, 1
sbb ecx, ecx
movzx eax, word [0x14036d062]
sub eax, r8d
and eax, ecx
movzx eax, ax
add qword [0x1404918d8], rax
call fcn.1402f9bec
call fcn.1402f9bec
int3