Function at 0x1400f4a94
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
sub rsp, 0x1a2f17f1
add rsp, 0x1a2f1771
mov rbx, rdx
mov rdi, rcx
mov edx, r8d
lea rcx, [rbp - 0x20]
call fcn.14007f1b8
mov rdx, rbx
lea rcx, [rbp - 0x20]
call 0x14007f82c
test al, al
je 0x1400f4d2c
mov r8d, 0x478fe621
add r8d, 0x14b4f03f
sub r8d, 0x4ae5f4a7
sub r8d, 0x115ee199
mov byte [rbp - 0x60], 0x5d
xor byte [rbp - 0x60], 0x26
xor byte [rbp - 0x60], 0x7b
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x20]
call fcn.1400805a0
test al, al
je 0x1400f4d2c
cmp dword [rbp - 0x40], 0x32484346
pushf
mov r15d, 0x2f75a396
xor r15d, 0x5643f2c0
xor r15d, 0x385e6524
sub r15d, 0x41683471
popf
jne 0x1400f4b90
cmp dword [rbp - 0x3c], 0x20
jne 0x1400f4b90
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.1400f4650
test al, al
je 0x1400f4d2c
mov eax, dword [rbp - 0x2c]
test eax, eax
jle 0x1400f4d2c
mov ecx, dword [rbp - 0x30]
mov byte [rbp - 0x60], r15b
jmp 0x1400f4bfb
xor edx, edx
lea rcx, [rbp - 0x20]
call fcn.140080834
and dword [rbp - 0x50], 0
lea rdx, [rbp - 0x50]
and dword [rbp - 0x4c], 0
lea rcx, [rbp - 0x20]
mov r8d, 0x1d2e8b63
add r8d, 0x38d51055
xor r8d, 0x5baf544d
sub r8d, 0xdaccfe5
call fcn.1400805a0
test al, al
je 0x1400f4d2c
lea rdx, [rbp - 0x50]
mov rcx, rdi
call fcn.1400f4650
test al, al
je 0x1400f4d2c
mov eax, dword [rbp - 0x44]
test eax, eax
jle 0x1400f4d2c
mov ecx, dword [rbp - 0x48]
mov ebx, dword [rbp - 0x4c]
mov esi, dword [rbp - 0x50]
mov r14d, 0x5d13f14c
sub r14d, 0x71f9034
add r14d, 0x1944d54c
sub r14d, 0xbaefe2b
mov edx, 0x6554ad0b
xor edx, 0x25fdc25c
add edx, 0x181d73c2
sub edx, 0x58c6e031
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
sub r13, 0xffffffffffff0001
mov r12, r13
shl r12, 4
cmp qword [rdi + 0x300], 0
jne 0x1400f4cc9
mov edx, 0x1b33b308
add edx, 0x16e92c17
sub edx, 0x321cdf0f
mov rcx, r12
call fcn.140099cc0
mov rcx, rax
mov rdx, r13
movaps xmm0, xmmword [0x140148620]
movups xmmword [rcx], xmm0
lea rcx, [rcx + 0x10]
sub rdx, r15
jne 0x1400f4cab
mov qword [rdi + 0x300], rax
mov edx, 0x27aba315
sub edx, 0x4f50325
sub edx, 0x22b69fe0
mov rcx, r12
call fcn.140099cc0
mov rbx, rax
test rax, rax
je 0x1400f4d2c
cmp byte [rbp - 0x60], 0
je 0x1400f4e41
movsxd rcx, dword [rbp - 0x28]
call fcn.140099c50
mov r8d, dword [rbp - 0x28]
lea rcx, [rbp - 0x20]
mov rdx, rax
mov rsi, rax
call fcn.1400805a0
test al, al
jne 0x1400f4d5c
mov rcx, rbx
call fcn.140099c70
mov rcx, rsi
call fcn.140099c60
xor r15b, r15b
lea rcx, [rbp - 0x20]
call fcn.14007f288
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
add r9d, 0x2a8298b5
sub r9d, 0x2a7298c5
call fcn.140098200
movsxd rcx, eax
cmp rcx, r12
jne 0x1400f4d1c
mov rcx, rsi
call fcn.140099c60
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 0x1400f4d9c
mov rcx, rbx
call fcn.140099c70
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.140099c50
mov rbx, rax
test rax, rax
je 0x1400f4d2c
cmp byte [rbp - 0x60], r13b
je 0x1400f4eaa
movsxd rcx, dword [rbp - 0x24]
call fcn.140099c50
mov r8d, dword [rbp - 0x24]
lea rcx, [rbp - 0x20]
mov rdx, rax
mov rdi, rax
call fcn.1400805a0
mov rcx, rdi
test al, al
jne 0x1400f4e75
call fcn.140099c60
mov rcx, rbx
jmp 0x1400f4d27
neg esi
lea rcx, [rbp - 0x20]
mov rdx, rbx
sbb r8d, r8d
and r8d, 0xfff01000
add r8d, 0xffff0
call fcn.1400805a0
test al, al
jne 0x1400f4d9a
mov rcx, rbx
call fcn.140099c70
jmp 0x1400f4d2c
mov r8d, dword [rbp - 0x24]
lea r9d, [rsi*4]
mov rdx, rbx
call fcn.140098200
movsxd rcx, eax
lea rax, [r14*4]
cmp rcx, rax
mov rcx, rdi
jne 0x1400f4e34
call fcn.140099c60
jmp 0x1400f4ec6
lea r8d, [rsi*4]
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.1400805a0
test al, al
je 0x1400f4e39
mov rax, qword [rbp + 0x48]
mov qword [rax], rbx
jmp 0x1400f4d2f