Function at 0x1400e6510
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x14038
lea rbp, [rsp + 0x80]
vmovups xmmword [rbp + 0x13fa0], xmm8
vmovups xmmword [rbp + 0x13f90], xmm7
vmovups xmmword [rbp + 0x13f80], xmm6
and rsp, 0xffffffffffffffc0
vmovups ymm0, ymmword [rcx]
vmovups ymmword [rsp + 0x60], ymm0
mov rax, qword [rcx + 0x40]
mov qword [rsp + 0x30], rax
mov rax, qword [rcx + 0x48]
mov qword [rsp + 0x48], rax
mov rbx, qword [rcx + 0x50]
mov rax, qword [rcx + 0x58]
mov qword [rsp + 0x40], rax
movsxd r15, dword [rcx + 0x60]
xor r12d, r12d
lea rcx, [rsp + 0x80]
mov r8d, 0x680
xor edx, edx
vzeroupper
call fcn.1401bb600
test r15, r15
jle 0x1400e6a8d
vxorps xmm1, xmm1, xmm1
mov edx, 0xffffffff
xor r8d, r8d
xor eax, eax
xor r13d, r13d
vxorps xmm0, xmm0, xmm0
mov qword [rsp + 0x50], r15
vmovups ymm6, ymmword [rsp + 0x60]
mov r9, qword [rsp + 0x48]
mov r10, qword [rsp + 0x40]
jmp 0x1400e6628
test r11d, r11d
mov r15, qword [rsp + 0x50]
mov edx, dword [rsp + 0x2c]
mov r8, qword [rsp + 0x58]
mov r13d, dword [rsp + 0x28]
mov esi, dword [rsp + 0x24]
mov eax, dword [rsp + 0x38]
jle 0x1400e6790
movsxd rax, edx
shl rax, 6
lea rcx, [rsp + 0x96c0]
mov word [rax + rcx + 0x60], r11w
vmovups ymmword [rax + rcx + 0x40], ymm2
inc edx
mov word [rax + rcx + 0x62], si
vsubps ymm0, ymm0, ymm2
xor eax, eax
inc r8
cmp r13d, r15d
jge 0x1400e68c1
mov r14d, r13d
movsx esi, word [r9 + r8*2]
mov r13d, esi
add r13d, r14d
movzx ecx, word [r10 + r8*2]
test ecx, ecx
je 0x1400e6790
cmp si, 0x11
mov dword [rsp + 0x2c], edx
mov qword [rsp + 0x58], r8
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x24], esi
jge 0x1400e67b0
mov rdx, qword [rsp + 0x30]
mov rax, qword [rdx]
mov qword [rsp + 0x38], rax
mov rsi, qword [rdx + 8]
mov rdi, qword [rdx + 0x10]
mov r15, qword [rdx + 0x18]
mov r13, qword [rdx + 0x20]
movsxd rdx, r12d
lea r10, [rsp + rdx*2]
add r10, 0x700
shl rdx, 5
add rdx, rsp
add rdx, 0xb8c0
vxorps xmm2, xmm2, xmm2
xor r11d, r11d
nop
xor r9d, r9d
tzcnt r9d, ecx
lea r8d, [r9 + r14]
movsxd r8, r8d
mov rax, qword [rsp + 0x38]
vmovss xmm3, dword [rax + r8*4]
vinsertps xmm3, xmm3, dword [rsi + r8*4], 0x10
vinsertps xmm3, xmm3, dword [rdi + r8*4], 0x20
vinsertps xmm3, xmm3, dword [r15 + r8*4], 0x30
vmovss xmm4, dword [r13 + r8*4]
vinsertf128 ymm3, ymm3, xmm4, 1
movzx r8d, word [rbx + r8*2]
vmulps ymm3, ymm6, ymm3
mov rax, r14
movzx r14d, r8b
shr r14d, 2
shl r14, 5
vmovups ymm4, ymmword [rsp + r14 + 0x80]
vsubps ymm4, ymm4, ymm3
vmovups ymmword [rsp + r14 + 0x80], ymm4
mov r14d, r8d
shr r14d, 0xa
shl r14, 5
vmovups ymm4, ymmword [rsp + r14 + 0x80]
vsubps ymm4, ymm4, ymm3
vmovups ymmword [rsp + r14 + 0x80], ymm4
mov r14d, 1
mov word [r10 + r11*2], r8w
vmovups ymmword [rdx], ymm3
shlx r8d, r14d, r9d
mov r14, rax
add rdx, 0x20
inc r11
xor ecx, r8d
vaddps ymm2, ymm2, ymm3
jne 0x1400e66a0
add r12d, r11d
mov r15, qword [rsp + 0x50]
mov r9, qword [rsp + 0x48]
mov r10, qword [rsp + 0x40]
mov edx, dword [rsp + 0x2c]
mov r8, qword [rsp + 0x58]
mov r13d, dword [rsp + 0x28]
mov esi, dword [rsp + 0x24]
jmp 0x1400e65f4
test eax, eax
je 0x1400e6894
movsxd rax, edx
shl rax, 6
add word [rsp + rax + 0x96e2], si
jmp 0x1400e68b7
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x30]
mov r15, qword [rax]
mov rcx, qword [rax + 8]
mov rdi, qword [rax + 0x10]
mov rsi, qword [rax + 0x18]
mov rax, qword [rax + 0x20]
movsxd r14, r14d
movsxd r13, r13d
vxorps xmm3, xmm3, xmm3
xor r11d, r11d
vxorps xmm2, xmm2, xmm2
jmp 0x1400e67ec
inc r14
cmp r14, r13
jge 0x1400e65d0
vmovss xmm4, dword [r15 + r14*4]
vinsertps xmm4, xmm4, dword [rcx + r14*4], 0x10
vinsertps xmm4, xmm4, dword [rdi + r14*4], 0x20
vinsertps xmm4, xmm4, dword [rsi + r14*4], 0x30
vmovss xmm5, dword [rax + r14*4]
vinsertf128 ymm4, ymm4, xmm5, 1
vcmpneqps ymm5, ymm4, ymm3
vtestps ymm5, ymm5
je 0x1400e67e0
movzx edx, word [rbx + r14*2]
vmulps ymm4, ymm6, ymm4
movzx r8d, dl
shr r8d, 2
shl r8, 5
vmovups ymm5, ymmword [rsp + r8 + 0x80]
vsubps ymm5, ymm5, ymm4
vmovups ymmword [rsp + r8 + 0x80], ymm5
movsxd r12, r12d
mov word [rsp + r12*2 + 0x700], dx
shr edx, 0xa
shl rdx, 5
vmovups ymm5, ymmword [rsp + rdx + 0x80]
vsubps ymm5, ymm5, ymm4
vmovups ymmword [rsp + rdx + 0x80], ymm5
vaddps ymm2, ymm2, ymm4
mov rdx, r12
shl rdx, 5
vmovups ymmword [rsp + rdx + 0xb8c0], ymm4
inc r12d
inc r11d
jmp 0x1400e67e0
movsxd rax, edx
shl rax, 6
lea rcx, [rsp + 0x96c0]
vmovups ymmword [rax + rcx + 0x40], ymm1
inc edx
mov word [rax + rcx + 0x60], 0
mov word [rax + rcx + 0x62], si
mov eax, 1
jmp 0x1400e661c
xor eax, eax
xor ecx, ecx
xor r8d, r8d
jmp 0x1400e68df
inc rax
mov r8d, edx
cmp edx, r15d
jge 0x1400e6a8d
mov r10, rax
shl r10, 6
movsx edx, word [rsp + r10 + 0x96e2]
add edx, r8d
movsx r9d, word [rsp + r10 + 0x96e0]
test r9d, r9d
je 0x1400e6a40
add r9d, ecx
mov r11d, ecx
nop word [rax + rax]
mov esi, r11d
movzx edi, byte [rsp + rsi*2 + 0x700]
movzx r14d, byte [rsp + rsi*2 + 0x701]
shr edi, 2
shl rdi, 5
shl rsi, 5
vmovups ymm1, ymmword [rsp + rsi + 0xb8c0]
vaddps ymm2, ymm1, ymmword [rsp + rdi + 0x80]
vmovups ymmword [rsp + rdi + 0x80], ymm2
shr r14d, 2
shl r14, 5
vaddps ymm1, ymm1, ymmword [rsp + r14 + 0x80]
vmovups ymmword [rsp + r14 + 0x80], ymm1
inc r11d
cmp r11d, r9d
jb 0x1400e6910
vmovups ymm1, ymmword [rsp + r10 + 0x96c0]
vaddps ymm0, ymm0, ymm1
nop dword [rax]
mov r10d, r8d
movzx r11d, byte [rbx + r10*2]
movzx esi, byte [rbx + r10*2 + 1]
shr esi, 2
shr r11d, 2
shl r11, 5
vsubps ymm2, ymm0, ymmword [rsp + r11 + 0x80]
shl rsi, 5
vsubps ymm2, ymm2, ymmword [rsp + rsi + 0x80]
shl r10, 5
vmovups ymmword [rsp + r10 + 0xf80], ymm2
inc r8d
cmp r8d, edx
jb 0x1400e6980
nop word cs:[rax + rax]
mov r8d, ecx
movzx r10d, byte [rsp + r8*2 + 0x700]
movzx r11d, byte [rsp + r8*2 + 0x701]
shr r10d, 2
shl r10, 5
shl r8, 5
vmovups ymm2, ymmword [rsp + r8 + 0xb8c0]
vaddps ymm3, ymm2, ymmword [rsp + r10 + 0x80]
vmovups ymmword [rsp + r10 + 0x80], ymm3
shr r11d, 2
shl r11, 5
vaddps ymm2, ymm2, ymmword [rsp + r11 + 0x80]
vmovups ymmword [rsp + r11 + 0x80], ymm2
inc ecx
cmp ecx, r9d
jb 0x1400e69d0
vaddps ymm0, ymm1, ymm0
mov ecx, r9d
jmp 0x1400e68d0
mov r9d, r8d
movzx r10d, byte [rbx + r9*2]
movzx r11d, byte [rbx + r9*2 + 1]
shr r11d, 2
shr r10d, 2
shl r10, 5
vsubps ymm1, ymm0, ymmword [rsp + r10 + 0x80]
shl r11, 5
vsubps ymm1, ymm1, ymmword [rsp + r11 + 0x80]
shl r9, 5
vmovups ymmword [rsp + r9 + 0xf80], ymm1
inc r8d
cmp r8d, edx
jb 0x1400e6a40
jmp 0x1400e68d0
lea eax, [r15 + 7]
test r15d, r15d
cmovns eax, r15d
sar eax, 3
cmp r15d, 8
jl 0x1400e6bc9
mov r10, qword [rsp + 0x30]
mov rcx, qword [r10]
mov rdx, qword [r10 + 8]
mov r8, qword [r10 + 0x10]
mov r9, qword [r10 + 0x18]
mov r10, qword [r10 + 0x20]
mov r11d, eax
xor esi, esi
nop word cs:[rax + rax]
vmovups ymm0, ymmword [rsp + rsi*8 + 0xf80]
vunpcklps ymm0, ymm0, ymmword [rsp + rsi*8 + 0xfa0]
vmovups xmm1, xmmword [rsp + rsi*8 + 0xf80]
vunpckhps xmm1, xmm1, xmmword [rsp + rsi*8 + 0xfa0]
vmovups xmm2, xmmword [rsp + rsi*8 + 0xfc0]
vmovups ymm3, ymmword [rsp + rsi*8 + 0xfc0]
vunpcklps ymm3, ymm3, ymmword [rsp + rsi*8 + 0xfe0]
vmovups xmm4, xmmword [rsp + rsi*8 + 0x1000]
vunpckhps xmm2, xmm2, xmmword [rsp + rsi*8 + 0xfe0]
vmovups ymm5, ymmword [rsp + rsi*8 + 0x1000]
vunpcklps ymm5, ymm5, ymmword [rsp + rsi*8 + 0x1020]
vunpckhps xmm4, xmm4, xmmword [rsp + rsi*8 + 0x1020]
vmovups ymm6, ymmword [rsp + rsi*8 + 0x1040]
vunpcklps ymm6, ymm6, ymmword [rsp + rsi*8 + 0x1060]
vmovups xmm7, xmmword [rsp + rsi*8 + 0x1040]
vunpckhps xmm7, xmm7, xmmword [rsp + rsi*8 + 0x1060]
vunpcklpd ymm8, ymm0, ymm3
vunpckhpd xmm0, xmm0, xmm3
vunpcklpd ymm3, ymm5, ymm6
vunpckhpd xmm5, xmm5, xmm6
vinsertf128 ymm6, ymm8, xmm3, 1
vmovups ymmword [rcx + rsi], ymm6
vmovlhps xmm6, xmm4, xmm7
vunpckhpd xmm4, xmm4, xmm7
vmovlhps xmm7, xmm1, xmm2
vmovups xmmword [rdx + rsi + 0x10], xmm5
vmovups xmmword [rdx + rsi], xmm0
vmovups xmmword [r8 + rsi + 0x10], xmm6
vmovups xmmword [r8 + rsi], xmm7
vmovups xmmword [r9 + rsi + 0x10], xmm4
vunpckhpd xmm0, xmm1, xmm2
vmovups xmmword [r9 + rsi], xmm0
vperm2f128 ymm0, ymm8, ymm3, 0x31
vmovups ymmword [r10 + rsi], ymm0
add rsi, 0x20
dec r11
jne 0x1400e6ad0
shl eax, 3
cmp eax, r15d
jge 0x1400e6d34
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rdx]
mov r8, qword [rdx + 8]
mov r9, qword [rdx + 0x10]
mov r10, qword [rdx + 0x18]
mov r11, qword [rdx + 0x20]
movsxd rdx, eax
mov rax, rdx
not rax
test r15b, 1
je 0x1400e6c51
mov rsi, rdx
shl rsi, 5
vmovss xmm0, dword [rsp + rsi + 0xf80]
vmovss dword [rcx + rdx*4], xmm0
vmovss xmm0, dword [rsp + rsi + 0xf84]
vmovss dword [r8 + rdx*4], xmm0
vmovss xmm0, dword [rsp + rsi + 0xf88]
vmovss dword [r9 + rdx*4], xmm0
vmovss xmm0, dword [rsp + rsi + 0xf8c]
vmovss dword [r10 + rdx*4], xmm0
vmovss xmm0, dword [rsp + rsi + 0xf90]
vmovss dword [r11 + rdx*4], xmm0
or rdx, 1
add rax, r15
je 0x1400e6d34
sub r15, rdx
lea rax, [rcx + rdx*4]
add rax, 4
lea rcx, [r8 + rdx*4 + 4]
lea r8, [r9 + rdx*4]
add r8, 4
lea r9, [r10 + rdx*4]
add r9, 4
lea r10, [r11 + rdx*4]
add r10, 4
shl rdx, 5
lea r11, [rsp + 0xf80]
add rdx, r11
add rdx, 0x30
xor r11d, r11d
nop dword [rax + rax]
vmovss xmm0, dword [rdx + r11*8 - 0x30]
vmovss dword [rax + r11 - 4], xmm0
vmovss xmm0, dword [rdx + r11*8 - 0x2c]
vmovss dword [rcx + r11 - 4], xmm0
vmovss xmm0, dword [rdx + r11*8 - 0x28]
vmovss dword [r8 + r11 - 4], xmm0
vmovss xmm0, dword [rdx + r11*8 - 0x24]
vmovss dword [r9 + r11 - 4], xmm0
vmovss xmm0, dword [rdx + r11*8 - 0x20]
vmovss dword [r10 + r11 - 4], xmm0
vmovss xmm0, dword [rdx + r11*8 - 0x10]
vmovss dword [rax + r11], xmm0
vmovss xmm0, dword [rdx + r11*8 - 0xc]
vmovss dword [rcx + r11], xmm0
vmovss xmm0, dword [rdx + r11*8 - 8]
vmovss dword [r8 + r11], xmm0
vmovss xmm0, dword [rdx + r11*8 - 4]
vmovss dword [r9 + r11], xmm0
vmovss xmm0, dword [rdx + r11*8]
vmovss dword [r10 + r11], xmm0
add r11, 8
add r15, 0xfffffffffffffffe
jne 0x1400e6ca0
vmovups xmm6, xmmword [rbp + 0x13f80]
vmovups xmm7, xmmword [rbp + 0x13f90]
vmovups xmm8, xmmword [rbp + 0x13fa0]
lea rsp, [rbp + 0x13fb8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
vzeroupper
ret