Function at 0x1400f4bec
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r9
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
add rsp, 0x63f92113
sub rsp, 0x63f92193
mov rbx, rdx
mov rdi, rcx
mov edx, r8d
lea rcx, [rbp - 0x20]
call fcn.14007ef9c
mov rdx, rbx
lea rcx, [rbp - 0x20]
call 0x14007f604
test al, al
je 0x1400f4e83
mov r8d, 0x1f90ca1c
xor r8d, 0x639fc074
sub r8d, 0x3f8af70a
sub r8d, 0x3c84133e
mov byte [rbp - 0x60], 0x4d
sub byte [rbp - 0x60], 4
xor byte [rbp - 0x60], 0x49
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x20]
call fcn.1400803d8
test al, al
je 0x1400f4e83
cmp dword [rbp - 0x40], 0x32484346
pushf
mov r15d, 0x4beabf31
add r15d, 0x3214bbbd
xor r15d, 0x2eda9cb
sub r15d, 0x7f12d324
popf
jne 0x1400f4ce8
cmp dword [rbp - 0x3c], 0x20
jne 0x1400f4ce8
mov esi, dword [rbp - 0x38]
lea rdx, [rbp - 0x58]
mov ebx, dword [rbp - 0x34]
mov rcx, rdi
mov dword [rbp - 0x58], esi
mov dword [rbp - 0x54], ebx
call fcn.1400f47a4
test al, al
je 0x1400f4e83
mov eax, dword [rbp - 0x2c]
test eax, eax
jle 0x1400f4e83
mov ecx, dword [rbp - 0x30]
mov byte [rbp - 0x60], r15b
jmp 0x1400f4d4c
xor edx, edx
lea rcx, [rbp - 0x20]
call fcn.140080674
and dword [rbp - 0x50], 0
lea rdx, [rbp - 0x50]
and dword [rbp - 0x4c], 0
lea rcx, [rbp - 0x20]
mov r8d, 0xc97df50
xor r8d, 0x4b281cba
sub r8d, 0x47bfc3da
call fcn.1400803d8
test al, al
je 0x1400f4e83
lea rdx, [rbp - 0x50]
mov rcx, rdi
call fcn.1400f47a4
test al, al
je 0x1400f4e83
mov eax, dword [rbp - 0x44]
test eax, eax
jle 0x1400f4e83
mov ecx, dword [rbp - 0x48]
mov ebx, dword [rbp - 0x4c]
mov esi, dword [rbp - 0x50]
mov r14d, 0x1ad3afaa
add r14d, 0x3cec6226
add r14d, 0x10d4108a
mov edx, 0x691a4d1f
add edx, 0x932f66e
sub edx, 0x109adae8
sub edx, 0x61b265bd
xor esi, r14d
mov qword [rbp - 0x50], rdx
xor eax, r14d
xor ebx, r14d
xor ecx, r14d
mov r8, rdi
mov dword [rdx + rdi], esi
mov dword [rdx + rdi + 4], ebx
mov dword [rdi + 0x2f4], ecx
mov dword [rdi + 0x30c], eax
mov esi, dword [rdi + 0x2d8]
and esi, 0x2000
mov eax, esi
mov dword [rbp - 0x58], esi
neg eax
sbb r13, r13
and r13, 0xffffffffffff0100
add r13, 0x72463f0d
sub r13, 0x72453f0e
mov r12, r13
shl r12, 4
cmp qword [rdi + 0x300], 0
jne 0x1400f4e1a
mov edx, 0x5a51ffdf
xor edx, 0x1324ceae
sub edx, 0x49753161
mov rcx, r12
call fcn.140099850
mov rcx, rax
mov rdx, r13
movaps xmm0, xmmword [0x140148620]
movups xmmword [rcx], xmm0
lea rcx, [rcx + 0x10]
sub rdx, r15
jne 0x1400f4dfc
mov qword [rdi + 0x300], rax
mov edx, 0x410fed04
add edx, 0x3d3c6e3d
sub edx, 0x13fda943
sub edx, 0x6a4eb1ee
mov rcx, r12
call fcn.140099850
mov rbx, rax
test rax, rax
je 0x1400f4e83
cmp byte [rbp - 0x60], 0
je 0x1400f4f91
movsxd rcx, dword [rbp - 0x28]
call fcn.1400997e0
mov r8d, dword [rbp - 0x28]
lea rcx, [rbp - 0x20]
mov rdx, rax
mov rsi, rax
call fcn.1400803d8
test al, al
jne 0x1400f4eb3
mov rcx, rbx
call fcn.140099800
mov rcx, rsi
call fcn.1400997f0
xor r15b, r15b
lea rcx, [rbp - 0x20]
call fcn.14007f074
lea r11, [rsp + 0x80]
mov al, r15b
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
neg dword [rbp - 0x58]
mov rdx, rbx
mov r8d, dword [rbp - 0x28]
mov rcx, rsi
sbb r9d, r9d
and r9d, 0xfff01000
sub r9d, 0xfff00010
call fcn.140097dc0
movsxd rcx, eax
cmp rcx, r12
jne 0x1400f4e73
mov rcx, rsi
call fcn.1400997f0
xor ecx, ecx
movups xmm0, xmmword [rcx + rbx]
mov rax, qword [rdi + 0x300]
xorps xmm0, xmmword [0x140148620]
movups xmmword [rcx + rax], xmm0
lea rcx, [rcx + 0x10]
sub r13, r15
jne 0x1400f4eec
mov rcx, rbx
call fcn.140099800
mov rax, qword [rbp - 0x50]
lea rcx, [r13 - 1]
mov esi, dword [rdi + 0x2ec]
xor esi, r14d
mov eax, dword [rax + rdi]
xor eax, r14d
imul esi, eax
lea eax, [r13 + 4]
movsxd r14, esi
mul r14
cmovo rax, rcx
mov rcx, rax
call fcn.1400997e0
mov rbx, rax
test rax, rax
je 0x1400f4e83
cmp byte [rbp - 0x60], r13b
je 0x1400f5001
movsxd rcx, dword [rbp - 0x24]
call fcn.1400997e0
mov r8d, dword [rbp - 0x24]
lea rcx, [rbp - 0x20]
mov rdx, rax
mov rdi, rax
call fcn.1400803d8
mov rcx, rdi
test al, al
jne 0x1400f4fcc
call fcn.1400997f0
mov rcx, rbx
jmp 0x1400f4e7e
neg esi
lea rcx, [rbp - 0x20]
mov rdx, rbx
sbb r8d, r8d
and r8d, 0xfff01000
sub r8d, 0x6c9632f8
add r8d, 0x6ca632e8
call fcn.1400803d8
test al, al
jne 0x1400f4eea
mov rcx, rbx
call fcn.140099800
jmp 0x1400f4e83
mov r8d, dword [rbp - 0x24]
lea r9d, [rsi*4]
mov rdx, rbx
call fcn.140097dc0
movsxd rcx, eax
lea rax, [r14*4]
cmp rcx, rax
mov rcx, rdi
jne 0x1400f4f84
call fcn.1400997f0
jmp 0x1400f501d
lea r8d, [rsi*4]
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.1400803d8
test al, al
je 0x1400f4f89
mov rax, qword [rbp + 0x48]
mov qword [rax], rbx
jmp 0x1400f4e86