Function at 0x1402d1e40
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 0x1402d1f2a
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.1402d21b0
mov rdx, qword [rsp + 0x98]
mov r9, r12
mov r8, rsi
mov dword [rsp + 0x20], ebx
mov rcx, r14
call fcn.1402d24c0
mov r10, qword [rsp + 0x30]
lea rbp, [rbp + 0x20]
inc edi
add rsi, 0x20
add r15, 0x27
add r14, 0x900
cmp edi, r13d
jl 0x1402d1eb0
mov rbx, qword [rsp + 0xa0]
mov r15, qword [rsp + 0x98]
mov r14, qword [rsp + 0x90]
movzx eax, byte [r14 + 0x180b]
test al, 0x10
je 0x1402d1f51
lea rdx, [r15 + 0x3f57]
mov r9, r10
lea rcx, [r15 + 0xb90]
mov r8, rbx
call fcn.1402d3460
jmp 0x1402d1f68
and al, 0xe0
cmp al, 0x60
jne 0x1402d1f68
lea rcx, [r15 + 0xb90]
mov edx, 0x240
call fcn.1402d3630
test r13d, r13d
jle 0x1402d218d
xor r9d, r9d
movaps xmmword [rsp + 0x40], xmm6
movss xmm6, dword [0x140397840]
lea r12, [0x1403b32b0]
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 0x1402d202f
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.1402d4450
test ebx, ebx
jle 0x1402d20a1
jmp 0x1402d2034
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 0x1402d2050
dec ebx
add r8, 0x48
sub rcx, 0x48
test ebx, ebx
jg 0x1402d2040
movzx ebx, byte [rbp - 3]
mov rdx, r14
mov rcx, rsi
test edi, edi
je 0x1402d20ce
mov r9d, edi
lea r8, [0x1403b3320]
call fcn.1402d2d80
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 0x1402d20e6
mov r8d, r9d
call fcn.1402d3140
jmp 0x1402d2104
xor r8d, r8d
mov eax, 0x48
cmp bl, 3
cmove r8d, eax
lea rax, [0x1403b3320]
add r8, rax
call fcn.1402d2d80
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 0x1402d2120
add rcx, 0x90
sub rdx, 1
jne 0x1402d2110
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 0x1402d1fc0
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