Function at 0x1401f4790
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, [0x140360e18]
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 0x1401f47e7
mov rdi, qword [rdi + 8]
jmp 0x1401f47eb
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 0x1401f4810
movups xmm0, xmmword [rdi]
movups xmmword [r15], xmm0
mov r14d, 0xf
jmp 0x1401f4873
mov r14, rbx
or r14, 0xf
movabs rax, 0x7fffffffffffffff
cmp r14, rax
cmovae r14, rax
cmp r14, 0xfff
jb 0x1401f4854
lea rcx, [r14 + 0x28]
call fcn.14030debc
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 0x1401f4860
lea rcx, [r14 + 1]
call fcn.14030debc
mov rcx, rax
mov qword [r15], rcx
lea r8, [rbx + 1]
mov rdx, rdi
call fcn.140335e20
mov rcx, qword [rbp + 8]
mov qword [rcx + 0x40], rbx
mov qword [rcx + 0x48], r14
lea rbx, [0x14034fe38]
mov qword [rcx + 0x28], rbx
xorps xmm0, xmm0
movups xmmword [rcx + 0x68], xmm0
mov rdi, qword [rsi + 0x18]
cmp qword [rsi + 0x20], 0x10
jb 0x1401f489e
mov rsi, qword [rsi + 8]
jmp 0x1401f48a2
add rsi, 8
lea rax, [rcx + 0x28]
mov qword [rbp - 0x20], rax
lea r15, [rcx + 0x58]
cmp rdi, 0xf
ja 0x1401f48c3
movups xmm0, xmmword [rsi]
movups xmmword [r15], xmm0
mov r14d, 0xf
jmp 0x1401f491d
mov r14, rdi
or r14, 0xf
movabs rax, 0x7fffffffffffffff
cmp r14, rax
cmovae r14, rax
cmp r14, 0xfff
jb 0x1401f48fe
lea rcx, [r14 + 0x28]
call fcn.14030debc
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x1401f490a
lea rcx, [r14 + 1]
call fcn.14030debc
mov rcx, rax
mov qword [r15], rcx
lea r8, [rdi + 1]
mov rdx, rsi
call fcn.140335e20
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 [0x140360e34]
mov r15d, dword [0x140360e40]
xorps xmm0, xmm0
movups xmmword [rcx + 0x90], xmm0
mov rsi, qword [rax + 0x18]
cmp qword [rax + 0x20], 0x10
jb 0x1401f4979
mov rdi, qword [rax + 8]
cmp rsi, 0x10
jae 0x1401f498f
movups xmm0, xmmword [rdi]
movups xmmword [r13], xmm0
mov r12d, 0xf
jmp 0x1401f49ef
mov r12, rsi
or r12, 0xf
movabs rax, 0x7fffffffffffffff
cmp r12, rax
cmovae r12, rax
cmp r12, 0xfff
jb 0x1401f49cb
lea rcx, [r12 + 0x28]
call fcn.14030debc
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x1401f49d8
lea rcx, [r12 + 1]
call fcn.14030debc
mov rcx, rax
mov qword [r13], rcx
lea r8, [rsi + 1]
mov rdx, rdi
call fcn.140335e20
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 0x1401f4a8d
lea rcx, [rbp - 8]
mov rdx, r8
mov r8b, 1
call fcn.1401fa230
lea rcx, [rbp - 0x50]
call fcn.1401fb3a0
lea rdx, [rbp - 0x50]
mov rcx, qword [rbp]
call fcn.1401ea9a0
mov eax, dword [0x140478a04]
lea ecx, [rax + 1]
mov dword [0x140478a04], ecx
test eax, ecx
je 0x1401f4b1e
xor r8d, r8d
mov rsi, qword [rbp + 8]
jmp 0x1401f4b50
lea rcx, [rbp - 0x50]
call fcn.1401fb3a0
lea rdx, [rbp - 0x50]
mov rcx, qword [rbp]
call fcn.1401ea9a0
mov rax, qword [rbp - 0x30]
cmp rax, 0x10
mov rsi, qword [rbp + 8]
jb 0x1401f4ba7
mov rdx, qword [rbp - 0x48]
lea r9, [rax + 1]
cmp r9, 0x1000
jb 0x1401f4b01
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 0x1401f4be2
mov rdx, qword [0x140478a20]
lea r9, [rdx + rax]
add r9, 0x28
mov rdx, rcx
mov dword [rsp + 0x20], 0x40c0bd58
mov ecx, 1
mov r8d, 1
call fcn.1401121e0
jmp 0x1401f4ba7
xor edx, edx
mov r8d, 0
test r15d, r15d
mov rsi, qword [rbp + 8]
jle 0x1401f4b50
lea r8, [0x140360e34]
add r14, r8
xor r8d, r8d
nop dword [rax]
movsxd rdx, edx
xor r8w, word [r14 + rdx]
add edx, 2
cmp edx, r15d
jl 0x1401f4b40
mov r10, qword [rbp - 0x30]
cmp r10, 0xf
jbe 0x1401f4b9e
mov rdx, qword [rbp - 0x48]
lea r9, [r10 + 1]
cmp r9, 0x1000
jb 0x1401f4b86
mov r11, qword [rdx - 8]
add rdx, 0xfffffffffffffff8
sub rdx, r11
cmp rdx, 0x20
jae 0x1401f4bbe
add r10, 0x28
mov r9, r10
mov rdx, r11
mov dword [rsp + 0x20], 0x40c0bd58
mov ecx, 1
mov r8d, 1
call fcn.1401121e0
lea rcx, [rbp - 8]
call fcn.1401f7220
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 [0x140360e32]
sub eax, r8d
and eax, ecx
movzx eax, ax
add qword [0x140478a20], rax
call fcn.1402ee57c
call fcn.1402ee57c
int3