Function at 0x1400586b0
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb8
xor edi, edi
lea r15, [rdx + 0xb90]
mov qword [rsp + 0x30], r15
mov ebx, r9d
lea r12, [rcx + 0x1808]
mov rbp, r8
mov rax, rcx
test r9d, r9d
jle 0x140058798
mov r14, r15
lea r13, [rdx + 0x1d90]
lea r15, [rdx + 0x3f30]
mov rsi, r8
add rbp, 8
nop word [rax + rax]
movzx ebx, word [rbp]
mov r8, rdx
add ebx, dword [rdx + 8]
mov r9, rsi
mov rdx, r15
mov dword [rsp + 0x28], edi
mov rcx, r12
mov qword [rsp + 0x20], r13
call fcn.140056c40
mov rdx, qword [rsp + 0x108]
mov r9, r13
mov r8, rsi
mov dword [rsp + 0x20], ebx
mov rcx, r14
call fcn.140056f40
mov ebx, dword [rsp + 0x118]
lea rbp, [rbp + 0x20]
mov rdx, qword [rsp + 0x108]
inc edi
add rsi, 0x20
add r15, 0x27
add r14, 0x900
cmp edi, ebx
jl 0x140058720
mov rbp, qword [rsp + 0x110]
mov r15, qword [rsp + 0x30]
mov rax, qword [rsp + 0x100]
movzx eax, byte [rax + 0x180b]
test al, 0x10
je 0x1400587ba
add rdx, 0x3f57
mov r9, r12
mov r8, rbp
mov rcx, r15
call fcn.140057af0
jmp 0x1400587cd
and al, 0xe0
cmp al, 0x60
jne 0x1400587cd
mov edx, 0x240
mov rcx, r15
call fcn.1400575b0
test ebx, ebx
jle 0x140058ab4
mov r12, qword [rsp + 0x100]
lea rdi, [0x1400eea00]
mov r9, qword [rsp + 0x108]
lea r13, [rbp + 0x12]
xor r10d, r10d
mov eax, ebx
sub rdi, r9
movaps xmmword [rsp + 0xa0], xmm6
movss xmm6, dword [0x1400f6c70]
lea rcx, [r12 + 0x1809]
lea r8, [r12 + 0x180a]
mov qword [rsp + 0x40], rcx
sub rdi, 0xbd8
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x100], r10
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rax
nop dword [rax + rax]
movzx eax, byte [rcx]
mov ecx, eax
shr eax, 3
and eax, 1
shr ecx, 4
and ecx, 1
add ecx, eax
movzx eax, byte [r8]
shr eax, 2
and eax, 3
lea edx, [rcx + rcx*2]
add edx, eax
movzx eax, byte [r13 - 2]
cmp edx, 2
sete cl
neg al
sbb r14d, r14d
and r14d, 2
shl r14d, cl
lea esi, [r14 + r14*8]
add esi, esi
cmp byte [r13], 0
je 0x1400588b5
movzx r8d, byte [r13 - 1]
lea rdx, [r9 + 0x1e30]
add r8, qword [r13 - 0x12]
lea ebx, [r14 - 1]
movsxd rax, esi
add rax, 0x2e4
add rax, r10
lea rcx, [r9 + rax*4]
call fcn.140057cc0
test ebx, ebx
jg 0x1400588ba
jmp 0x140058921
mov ebx, 0x1f
mov rcx, rdi
lea r8, [r15 + 0x38]
lea rax, [r8 + 0x10]
mov rdx, r8
mov r9d, 2
nop
movups xmm5, xmmword [rcx + rax - 0x20]
movups xmm4, xmmword [rcx + rax]
movups xmm3, xmmword [rax]
movups xmm2, xmmword [rdx]
movaps xmm0, xmm5
movaps xmm1, xmm4
shufps xmm2, xmm2, 0x1b
mulps xmm5, xmm2
mulps xmm4, xmm3
mulps xmm1, xmm2
mulps xmm0, xmm3
addps xmm5, xmm4
subps xmm0, xmm1
shufps xmm5, xmm5, 0x1b
movups xmmword [rax], xmm0
add rax, 0x10
movups xmmword [rdx], xmm5
sub rdx, 0x10
sub r9, 1
jne 0x1400588d0
dec ebx
add r8, 0x48
sub rcx, 0x48
test ebx, ebx
jg 0x1400588c1
movzx ebp, byte [r13 - 3]
mov rbx, r15
add rbx, 0x48
mov rdx, r12
mov rdi, r15
test r14d, r14d
je 0x140058956
mov r9d, r14d
lea r8, [0x1400ee8b0]
mov rcx, r15
call fcn.1400580a0
lea eax, [r14 + r14*8]
lea rdi, [r15 + rsi*4]
lea rdx, [r12 + rax*4]
mov esi, 0x20
sub esi, r14d
cmp bpl, 2
jne 0x1400589f5
lea r8, [rdx + 0x18]
nop dword [rax]
movups xmm0, xmmword [rdi]
lea rdx, [rdi + 0x18]
movups xmm1, xmmword [rdi + 0x10]
lea rcx, [rsp + 0x50]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rsp + 0x60], xmm1
movups xmm1, xmmword [rdi + 0x30]
movups xmmword [rsp + 0x70], xmm0
movsd xmm0, qword [rdi + 0x40]
movsd qword [rsp + 0x90], xmm0
movups xmm0, xmmword [r8 - 0x18]
movups xmmword [rsp + 0x80], xmm1
movups xmmword [rdi], xmm0
movsd xmm1, qword [r8 - 8]
movsd qword [rdi + 0x10], xmm1
call fcn.140058460
lea rdx, [rdi + 0x30]
lea rcx, [rsp + 0x54]
call fcn.140058460
lea rdx, [r8 - 0x18]
lea rcx, [rsp + 0x58]
call fcn.140058460
dec esi
lea rdi, [rdi + 0x48]
add r8, 0x24
test esi, esi
jg 0x140058970
lea rbx, [r15 + 0x48]
jmp 0x140058a1a
xor r8d, r8d
mov eax, 0x48
cmp bpl, 3
mov r9d, esi
mov rcx, rdi
cmove r8d, eax
lea rax, [0x1400ee8b0]
add r8, rax
call fcn.1400580a0
mov ecx, 0x10
nop
mov eax, 1
nop word [rax + rax]
movss xmm0, dword [rbx + rax*4]
xorps xmm0, xmm6
movss dword [rbx + rax*4], xmm0
add rax, 2
cmp rax, 0x12
jl 0x140058a30
add rbx, 0x90
sub rcx, 1
jne 0x140058a20
mov r10, qword [rsp + 0x100]
add r12, 0x480
mov rdi, qword [rsp + 0x38]
add r10, 0x240
mov r9, qword [rsp + 0x108]
sub rdi, 0x900
mov rcx, qword [rsp + 0x40]
add r15, 0x900
mov r8, qword [rsp + 0x48]
add r13, 0x20
sub qword [rsp + 0x30], 1
mov qword [rsp + 0x100], r10
mov qword [rsp + 0x38], rdi
jne 0x140058840
movaps xmm6, xmmword [rsp + 0xa0]
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret