Function at 0x1400f317c
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, 0x2673bce7
sub rsp, 0x2673bd67
mov rbx, rdx
mov rdi, rcx
mov edx, r8d
lea rcx, [rbp - 0x20]
call fcn.14007e22c
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.14007e8a8
test al, al
je 0x1400f341d
mov r8d, 0x308da75a
add r8d, 0x1cca1aa3
sub r8d, 0x1654babf
sub r8d, 0x3703071e
mov byte [rbp - 0x60], 0x52
sub byte [rbp - 0x60], 0x14
sub byte [rbp - 0x60], 0x10
sub byte [rbp - 0x60], 0x2e
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x20]
call fcn.14007f710
test al, al
je 0x1400f341d
cmp dword [rbp - 0x40], 0x32484346
pushf
mov r15d, 0x663bbaee
sub r15d, 0x5e1e78e3
xor r15d, 0x81d420a
popf
jne 0x1400f3275
cmp dword [rbp - 0x3c], 0x20
jne 0x1400f3275
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.1400f2d30
test al, al
je 0x1400f341d
mov eax, dword [rbp - 0x2c]
test eax, eax
jle 0x1400f341d
mov ecx, dword [rbp - 0x30]
mov byte [rbp - 0x60], r15b
jmp 0x1400f32e0
xor edx, edx
lea rcx, [rbp - 0x20]
call fcn.14007f9b8
and dword [rbp - 0x50], 0
lea rdx, [rbp - 0x50]
and dword [rbp - 0x4c], 0
lea rcx, [rbp - 0x20]
mov r8d, 0x2953e0ed
xor r8d, 0x44967c40
add r8d, 0x109909d5
sub r8d, 0x7e5ea672
call fcn.14007f710
test al, al
je 0x1400f341d
lea rdx, [rbp - 0x50]
mov rcx, rdi
call fcn.1400f2d30
test al, al
je 0x1400f341d
mov eax, dword [rbp - 0x44]
test eax, eax
jle 0x1400f341d
mov ecx, dword [rbp - 0x48]
mov ebx, dword [rbp - 0x4c]
mov esi, dword [rbp - 0x50]
mov r14d, 0x4216722f
xor r14d, 0x15ce0eac
add r14d, 0xc7539ad
sub r14d, 0x3e3a7346
mov edx, 0x29f0b786
xor edx, 0x4b49af60
sub edx, 0x62b915fe
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
neg r13
add r13, 0xffffffffffff0001
neg r13
mov r12, r13
shl r12, 4
cmp qword [rdi + 0x300], 0
jne 0x1400f33b4
mov edx, 0x4b3e006a
sub edx, 0x282ae166
xor edx, 0x23f50242
sub edx, 0xe61d36
mov rcx, r12
call fcn.140098a00
mov rcx, rax
mov rdx, r13
movaps xmm0, xmmword [0x140147580]
movups xmmword [rcx], xmm0
lea rcx, [rcx + 0x10]
sub rdx, r15
jne 0x1400f3396
mov qword [rdi + 0x300], rax
mov edx, 0x2cdf6bfb
xor edx, 0x7b83aaac
sub edx, 0x2311a650
sub edx, 0x344b1af7
mov rcx, r12
call fcn.140098a00
mov rbx, rax
test rax, rax
je 0x1400f341d
cmp byte [rbp - 0x60], 0
je 0x1400f3532
movsxd rcx, dword [rbp - 0x28]
call fcn.140098990
mov r8d, dword [rbp - 0x28]
lea rcx, [rbp - 0x20]
mov rdx, rax
mov rsi, rax
call fcn.14007f710
test al, al
jne 0x1400f344d
mov rcx, rbx
call fcn.1400989b0
mov rcx, rsi
call fcn.1400989a0
xor r15b, r15b
lea rcx, [rbp - 0x20]
call fcn.14007e314
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, 0x7bfa238d
add r9d, 0x7c0a237d
call fcn.140096f10
movsxd rcx, eax
cmp rcx, r12
jne 0x1400f340d
mov rcx, rsi
call fcn.1400989a0
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 0x1400f348d
mov rcx, rbx
call fcn.1400989b0
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.140098990
mov rbx, rax
test rax, rax
je 0x1400f341d
cmp byte [rbp - 0x60], r13b
je 0x1400f359b
movsxd rcx, dword [rbp - 0x24]
call fcn.140098990
mov r8d, dword [rbp - 0x24]
lea rcx, [rbp - 0x20]
mov rdx, rax
mov rdi, rax
call fcn.14007f710
mov rcx, rdi
test al, al
jne 0x1400f3566
call fcn.1400989a0
mov rcx, rbx
jmp 0x1400f3418
neg esi
lea rcx, [rbp - 0x20]
mov rdx, rbx
sbb r8d, r8d
and r8d, 0xfff01000
add r8d, 0xffff0
call fcn.14007f710
test al, al
jne 0x1400f348b
mov rcx, rbx
call fcn.1400989b0
jmp 0x1400f341d
mov r8d, dword [rbp - 0x24]
lea r9d, [rsi*4]
mov rdx, rbx
call fcn.140096f10
movsxd rcx, eax
lea rax, [r14*4]
cmp rcx, rax
mov rcx, rdi
jne 0x1400f3525
call fcn.1400989a0
jmp 0x1400f35b7
lea r8d, [rsi*4]
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.14007f710
test al, al
je 0x1400f352a
mov rax, qword [rbp + 0x48]
mov qword [rax], rbx
jmp 0x1400f3420