Function at 0x1400401a0
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], r12
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov rbx, rdx
mov rdi, rcx
mov edx, r8d
lea rcx, [rbp - 0x20]
mov r12, r9
call fcn.14009cb14
mov r8d, 0x201ba6ef
xor r8d, 0x2fd8c61c
sub r8d, 0xb2fc51b
xor r8d, 0x4939bda
lea rcx, [rbp - 0x20]
mov rdx, rbx
call fcn.14009cbac
test al, al
je 0x140040441
mov eax, dword [rdi + 0x2e8]
lea rdx, [rbp - 0x40]
and dword [rbp - 0x28], 0
mov ecx, 0x15ff300a
add ecx, 0x5e9f0f4c
sub ecx, 0x259fd307
sub ecx, 0xcd0545
and dword [rbp - 0x24], 0
xor eax, ecx
mov dword [rbp - 0x38], eax
mov r8d, 0x798ea706
sub r8d, 0x18dc9e59
sub r8d, 0x60b2088d
mov eax, dword [rdi + 0x2ec]
xor eax, ecx
mov dword [rbp - 0x40], 0x54f23f2d
xor dword [rbp - 0x40], 0x56991ebc
add dword [rbp - 0x40], 0x2fdd21b5
mov dword [rbp - 0x34], eax
mov eax, dword [rdi + 0x2f4]
xor eax, ecx
mov dword [rbp - 0x3c], 0x7871b59c
xor dword [rbp - 0x3c], 0x1aea7fbc
sub dword [rbp - 0x3c], 0x5a7cd8c
sub dword [rbp - 0x3c], 0x5cf3fc74
mov dword [rbp - 0x30], eax
mov eax, dword [rdi + 0x30c]
xor eax, ecx
lea rcx, [rbp - 0x20]
mov dword [rbp - 0x2c], eax
call fcn.14009e8ec
test al, al
je 0x140040441
mov r14d, dword [rdi + 0x2d8]
mov edx, 0x7c0b3e31
sub edx, 0x96cb1ab
sub edx, 0x6f7400e1
sub edx, 0x32a8b95
and r14d, 0x2000
mov eax, r14d
neg eax
sbb rbx, rbx
and rbx, 0xffffffffffff0100
add rbx, 0x4a72e3b9
sub rbx, 0x4a71e3ba
mov r15, rbx
shl r15, 4
mov rcx, r15
call fcn.1400b9750
mov rsi, rax
test rax, rax
je 0x140040441
mov rdx, qword [rdi + 0x300]
xor r8d, r8d
sub rdx, rax
lea edi, [r8 + 1]
movups xmm0, xmmword [rdx + rax]
add r8, rdi
xorps xmm0, xmmword [0x140130520]
movups xmmword [rax], xmm0
lea rax, [rax + 0x10]
cmp r8, rbx
jl 0x140040316
mov rcx, r15
call fcn.1400b96e0
neg r14d
mov rdx, rax
mov rcx, rsi
mov rbx, rax
sbb r8d, r8d
and r8d, 0xfff01000
sub r8d, 0xfff00010
mov r9d, r8d
call fcn.1400a5d60
mov r8d, eax
mov dword [rbp - 0x28], eax
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.14009e8ec
mov rcx, rsi
test al, al
jne 0x14004038b
call fcn.1400b9700
mov rcx, rbx
jmp 0x1400403e6
call fcn.1400b9700
mov rcx, rbx
call fcn.1400b96f0
mov eax, dword [rbp - 0x34]
imul eax, dword [rbp - 0x38]
movsxd rcx, eax
shl rcx, 2
call fcn.1400b96e0
mov r8d, dword [rbp - 0x34]
mov rdx, rax
imul r8d, dword [rbp - 0x38]
mov rcx, r12
mov rbx, rax
shl r8d, 2
mov r9d, r8d
call fcn.1400a5d60
mov r8d, eax
mov dword [rbp - 0x24], eax
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.14009e8ec
mov rcx, rbx
test al, al
jne 0x1400403f0
call fcn.1400b96f0
jmp 0x140040441
call fcn.1400b96f0
lea rcx, [rbp - 0x20]
call fcn.14009eb70
xor edx, edx
lea rcx, [rbp - 0x20]
call fcn.14009e1dc
test al, al
je 0x140040441
mov r8d, 0x77837bc2
xor r8d, 0x15cd8142
sub r8d, 0x27aa3c3b
xor r8d, 0x3aa4be65
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x20]
call fcn.14009e8ec
test al, al
jne 0x140040444
xor dil, dil
lea rcx, [rbp - 0x20]
call fcn.14009cba4
lea r11, [rsp + 0x60]
mov al, dil
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret