Function at 0x1400f3a64
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, 0xffffffffffffff80
mov rbx, rdx
mov rdi, rcx
mov edx, r8d
lea rcx, [rbp - 0x20]
call fcn.14007ea3c
mov rdx, rbx
lea rcx, [rbp - 0x20]
call 0x14007f0a0
test al, al
je 0x1400f3ceb
mov r8d, 0x58820181
xor r8d, 0x6fc2567a
xor r8d, 0x6492fe26
sub r8d, 0x53d2a9bd
mov byte [rbp - 0x60], 0x12
xor byte [rbp - 0x60], 0x40
sub byte [rbp - 0x60], 0x52
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x20]
call fcn.14007fe4c
test al, al
je 0x1400f3ceb
cmp dword [rbp - 0x40], 0x32484346
pushf
mov r15d, 0x5c65a6e3
sub r15d, 0x33ecd041
sub r15d, 0x2878d6a1
popf
jne 0x1400f3b4f
cmp dword [rbp - 0x3c], 0x20
jne 0x1400f3b4f
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.1400f3608
test al, al
je 0x1400f3ceb
mov eax, dword [rbp - 0x2c]
test eax, eax
jle 0x1400f3ceb
mov ecx, dword [rbp - 0x30]
mov byte [rbp - 0x60], r15b
jmp 0x1400f3bba
xor edx, edx
lea rcx, [rbp - 0x20]
call fcn.1400800e8
and dword [rbp - 0x50], 0
lea rdx, [rbp - 0x50]
and dword [rbp - 0x4c], 0
lea rcx, [rbp - 0x20]
mov r8d, 0x7f5210aa
sub r8d, 0x1eac5eca
sub r8d, 0x50be60b7
sub r8d, 0xfe75119
call fcn.14007fe4c
test al, al
je 0x1400f3ceb
lea rdx, [rbp - 0x50]
mov rcx, rdi
call fcn.1400f3608
test al, al
je 0x1400f3ceb
mov eax, dword [rbp - 0x44]
test eax, eax
jle 0x1400f3ceb
mov ecx, dword [rbp - 0x48]
mov ebx, dword [rbp - 0x4c]
mov esi, dword [rbp - 0x50]
mov r14d, 0x591ab463
add r14d, 0x24dfc7ae
sub r14d, 0x7a5d5ea4
mov edx, 0x5fce5b4b
sub edx, 0xcaccd92
sub edx, 0x53218ad1
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, 0x4a27e314
sub r13, 0x4a26e315
mov r12, r13
shl r12, 4
cmp qword [rdi + 0x300], 0
jne 0x1400f3c88
mov edx, 0x79b1786c
sub edx, 0x76ec219f
add edx, 0x22634b80
xor edx, 0x2528a25d
mov rcx, r12
call fcn.1400990b0
mov rcx, rax
mov rdx, r13
movaps xmm0, xmmword [0x140147580]
movups xmmword [rcx], xmm0
lea rcx, [rcx + 0x10]
sub rdx, r15
jne 0x1400f3c6a
mov qword [rdi + 0x300], rax
mov edx, 0x52dc46e0
sub edx, 0x21e354a
sub edx, 0x50be1186
mov rcx, r12
call fcn.1400990b0
mov rbx, rax
test rax, rax
je 0x1400f3ceb
cmp byte [rbp - 0x60], 0
je 0x1400f3dff
movsxd rcx, dword [rbp - 0x28]
call fcn.140099030
mov r8d, dword [rbp - 0x28]
lea rcx, [rbp - 0x20]
mov rdx, rax
mov rsi, rax
call fcn.14007fe4c
test al, al
jne 0x1400f3d1b
mov rcx, rbx
call fcn.140099050
mov rcx, rsi
call fcn.140099040
xor r15b, r15b
lea rcx, [rbp - 0x20]
call fcn.14007eb2c
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
neg r9d
add r9d, 0xfff00010
neg r9d
call fcn.1400976e0
movsxd rcx, eax
cmp rcx, r12
jne 0x1400f3cdb
mov rcx, rsi
call fcn.140099040
xor ecx, ecx
movups xmm0, xmmword [rcx + rbx]
mov rax, qword [rdi + 0x300]
xorps xmm0, xmmword [0x140147580]
movups xmmword [rcx + rax], xmm0
lea rcx, [rcx + 0x10]
sub r13, r15
jne 0x1400f3d5a
mov rcx, rbx
call fcn.140099050
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.140099030
mov rbx, rax
test rax, rax
je 0x1400f3ceb
cmp byte [rbp - 0x60], r13b
je 0x1400f3e6f
movsxd rcx, dword [rbp - 0x24]
call fcn.140099030
mov r8d, dword [rbp - 0x24]
lea rcx, [rbp - 0x20]
mov rdx, rax
mov rdi, rax
call fcn.14007fe4c
mov rcx, rdi
test al, al
jne 0x1400f3e3a
call fcn.140099040
mov rcx, rbx
jmp 0x1400f3ce6
neg esi
lea rcx, [rbp - 0x20]
mov rdx, rbx
sbb r8d, r8d
and r8d, 0xfff01000
add r8d, 0x2bf9b048
sub r8d, 0x2be9b058
call fcn.14007fe4c
test al, al
jne 0x1400f3d58
mov rcx, rbx
call fcn.140099050
jmp 0x1400f3ceb
mov r8d, dword [rbp - 0x24]
lea r9d, [rsi*4]
mov rdx, rbx
call fcn.1400976e0
movsxd rcx, eax
lea rax, [r14*4]
cmp rcx, rax
mov rcx, rdi
jne 0x1400f3df2
call fcn.140099040
jmp 0x1400f3e8b
lea r8d, [rsi*4]
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.14007fe4c
test al, al
je 0x1400f3df7
mov rax, qword [rbp + 0x48]
mov qword [rax], rbx
jmp 0x1400f3cee