Function at 0x1400364e4
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, 0x2c6a25fd
sub rsp, 0x2c6a267d
mov rbx, rdx
mov rdi, rcx
mov edx, r8d
lea rcx, [rbp - 0x20]
call fcn.14006e208
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.14006e86c
test al, al
je 0x140036777
mov r8d, 0x12c76751
add r8d, 0x1f801fd2
sub r8d, 0x32478703
mov byte [rbp - 0x60], 0x18
sub byte [rbp - 0x60], 0x12
xor byte [rbp - 0x60], 0x14
sub byte [rbp - 0x60], 0x12
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x20]
call fcn.14006f66c
test al, al
je 0x140036777
cmp dword [rbp - 0x40], 0x32484346
pushf
mov r15d, 0x88193f5
xor r15d, 0x734def62
xor r15d, 0x7bcc7c96
popf
jne 0x1400365d6
cmp dword [rbp - 0x3c], 0x20
jne 0x1400365d6
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.1400360a4
test al, al
je 0x140036777
mov eax, dword [rbp - 0x2c]
test eax, eax
jle 0x140036777
mov ecx, dword [rbp - 0x30]
mov byte [rbp - 0x60], r15b
jmp 0x14003663a
xor edx, edx
lea rcx, [rbp - 0x20]
call fcn.14006f904
and dword [rbp - 0x50], 0
lea rdx, [rbp - 0x50]
and dword [rbp - 0x4c], 0
lea rcx, [rbp - 0x20]
mov r8d, 0x7bf49874
sub r8d, 0x22a7c4f7
xor r8d, 0x594cd36d
call fcn.14006f66c
test al, al
je 0x140036777
lea rdx, [rbp - 0x50]
mov rcx, rdi
call fcn.1400360a4
test al, al
je 0x140036777
mov eax, dword [rbp - 0x44]
test eax, eax
jle 0x140036777
mov ecx, dword [rbp - 0x48]
mov ebx, dword [rbp - 0x4c]
mov esi, dword [rbp - 0x50]
mov r14d, 0x2ecb9bf8
sub r14d, 0x41afa19
add r14d, 0x3143955f
sub r14d, 0x4c7119e5
mov edx, 0x42a5ed39
sub edx, 0x25e247c6
sub edx, 0x1cc3a28b
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 0x14003670e
mov edx, 0x3f6e50f3
add edx, 0x7cc519e
add edx, 0x6183d90
sub edx, 0x4d52e011
mov rcx, r12
call fcn.140083da0
mov rcx, rax
mov rdx, r13
movaps xmm0, xmmword [0x1400dc460]
movups xmmword [rcx], xmm0
lea rcx, [rcx + 0x10]
sub rdx, r15
jne 0x1400366f0
mov qword [rdi + 0x300], rax
mov edx, 0x44102b01
add edx, 0x2639069
xor edx, 0x6082a8e
sub edx, 0x407b91d4
mov rcx, r12
call fcn.140083da0
mov rbx, rax
test rax, rax
je 0x140036777
cmp byte [rbp - 0x60], 0
je 0x14003688c
movsxd rcx, dword [rbp - 0x28]
call fcn.140083d30
mov r8d, dword [rbp - 0x28]
lea rcx, [rbp - 0x20]
mov rdx, rax
mov rsi, rax
call fcn.14006f66c
test al, al
jne 0x1400367a7
mov rcx, rbx
call fcn.140083d50
mov rcx, rsi
call fcn.140083d40
xor r15b, r15b
lea rcx, [rbp - 0x20]
call fcn.14006e2d0
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, 0x47e73369
sub r9d, 0x47d73379
call fcn.14007fb30
movsxd rcx, eax
cmp rcx, r12
jne 0x140036767
mov rcx, rsi
call fcn.140083d40
xor ecx, ecx
movups xmm0, xmmword [rcx + rbx]
mov rax, qword [rdi + 0x300]
xorps xmm0, xmmword [0x1400dc460]
movups xmmword [rcx + rax], xmm0
lea rcx, [rcx + 0x10]
sub r13, r15
jne 0x1400367e7
mov rcx, rbx
call fcn.140083d50
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.140083d30
mov rbx, rax
test rax, rax
je 0x140036777
cmp byte [rbp - 0x60], r13b
je 0x1400368fc
movsxd rcx, dword [rbp - 0x24]
call fcn.140083d30
mov r8d, dword [rbp - 0x24]
lea rcx, [rbp - 0x20]
mov rdx, rax
mov rdi, rax
call fcn.14006f66c
mov rcx, rdi
test al, al
jne 0x1400368c7
call fcn.140083d40
mov rcx, rbx
jmp 0x140036772
neg esi
lea rcx, [rbp - 0x20]
mov rdx, rbx
sbb r8d, r8d
and r8d, 0xfff01000
add r8d, 0x5874b12d
sub r8d, 0x5864b13d
call fcn.14006f66c
test al, al
jne 0x1400367e5
mov rcx, rbx
call fcn.140083d50
jmp 0x140036777
mov r8d, dword [rbp - 0x24]
lea r9d, [rsi*4]
mov rdx, rbx
call fcn.14007fb30
movsxd rcx, eax
lea rax, [r14*4]
cmp rcx, rax
mov rcx, rdi
jne 0x14003687f
call fcn.140083d40
jmp 0x140036918
lea r8d, [rsi*4]
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.14006f66c
test al, al
je 0x140036884
mov rax, qword [rbp + 0x48]
mov qword [rax], rbx
jmp 0x14003677a