Function at 0x140189610
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
xor edi, edi
mov r13d, r9d
lea r10, [rcx + 0x1808]
mov rbx, r8
mov qword [rsp + 0x30], r10
mov r15, rdx
mov r14, rcx
test r9d, r9d
jle 0x1401896fa
lea r12, [rdx + 0x1d90]
mov rsi, rbx
lea rbp, [r8 + 8]
add r15, 0x3f30
lea r14, [rdx + 0xb90]
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rsp + 0x98]
mov r9, rsi
movzx ebx, word [rbp]
mov r8, rax
mov dword [rsp + 0x28], edi
mov rdx, r15
mov rcx, r10
mov qword [rsp + 0x20], r12
add ebx, dword [rax + 8]
call fcn.140189980
mov rdx, qword [rsp + 0x98]
mov r9, r12
mov r8, rsi
mov dword [rsp + 0x20], ebx
mov rcx, r14
call fcn.140189c90
mov r10, qword [rsp + 0x30]
lea rbp, [rbp + 0x20]
inc edi
add rsi, 0x20
add r15, 0x27
add r14, 0x900
cmp edi, r13d
jl 0x140189680
mov rbx, qword [rsp + 0xa0]
mov r15, qword [rsp + 0x98]
mov r14, qword [rsp + 0x90]
movzx eax, byte [r14 + 0x180b]
test al, 0x10
je 0x140189721
lea rdx, [r15 + 0x3f57]
mov r9, r10
lea rcx, [r15 + 0xb90]
mov r8, rbx
call fcn.14018ac30
jmp 0x140189738
and al, 0xe0
cmp al, 0x60
jne 0x140189738
lea rcx, [r15 + 0xb90]
mov edx, 0x240
call fcn.14018ae00
test r13d, r13d
jle 0x14018995d
xor r9d, r9d
movaps xmmword [rsp + 0x40], xmm6
movss xmm6, dword [0x1401ac980]
lea r12, [0x1401b1930]
sub r12, r15
mov qword [rsp + 0x90], r9
lea rax, [r14 + 0x1809]
sub r12, 0xbd8
lea r8, [r14 + 0x180a]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], r8
lea rbp, [rbx + 0x12]
lea rsi, [r15 + 0xb90]
nop dword [rax]
movzx eax, byte [rax]
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 [rbp - 2]
cmp edx, 2
sete cl
neg al
sbb edi, edi
and edi, 2
shl edi, cl
cmp byte [rbp], 0
je 0x1401897ff
movzx r8d, byte [rbp - 1]
lea eax, [rdi + rdi*8]
add r8, qword [rbp - 0x12]
lea rdx, [r15 + 0x1e30]
add eax, eax
lea ebx, [rdi - 1]
movsxd rcx, eax
add rcx, 0x2e4
add rcx, r9
lea rcx, [r15 + rcx*4]
call fcn.14018bbf0
test ebx, ebx
jle 0x140189871
jmp 0x140189804
mov ebx, 0x1f
lea r8, [rsi + 0x38]
mov rcx, r12
nop dword [rax + rax]
lea rax, [r8 + 0x10]
mov rdx, r8
mov r9d, 2
nop dword [rax]
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 0x140189820
dec ebx
add r8, 0x48
sub rcx, 0x48
test ebx, ebx
jg 0x140189810
movzx ebx, byte [rbp - 3]
mov rdx, r14
mov rcx, rsi
test edi, edi
je 0x14018989e
mov r9d, edi
lea r8, [0x1401b19b0]
call fcn.14018a550
lea eax, [rdi + rdi*8]
add eax, eax
lea rcx, [rsi + rax*4]
lea eax, [rdi + rdi*8]
lea rdx, [r14 + rax*4]
mov r9d, 0x20
sub r9d, edi
cmp bl, 2
jne 0x1401898b6
mov r8d, r9d
call fcn.14018a910
jmp 0x1401898d4
xor r8d, r8d
mov eax, 0x48
cmp bl, 3
cmove r8d, eax
lea rax, [0x1401b19b0]
add r8, rax
call fcn.14018a550
lea rcx, [rsi + 0x48]
mov edx, 0x10
nop dword [rax]
mov eax, 1
nop word [rax + rax]
movss xmm0, dword [rcx + rax*4]
xorps xmm0, xmm6
movss dword [rcx + rax*4], xmm0
add rax, 2
cmp rax, 0x12
jl 0x1401898f0
add rcx, 0x90
sub rdx, 1
jne 0x1401898e0
mov r9, qword [rsp + 0x90]
add r14, 0x480
mov rax, qword [rsp + 0x30]
add r9, 0x240
mov r8, qword [rsp + 0x38]
add rsi, 0x900
sub r12, 0x900
mov qword [rsp + 0x90], r9
add rbp, 0x20
sub r13, 1
jne 0x140189790
movaps xmm6, xmmword [rsp + 0x40]
mov rbx, qword [rsp + 0xa8]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret