Function at 0x1400e7900
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, 0x14078
lea rbp, [rsp + 0x80]
vmovups xmmword [rbp + 0x13fe0], xmm8
vmovups xmmword [rbp + 0x13fd0], xmm7
vmovups xmmword [rbp + 0x13fc0], xmm6
and rsp, 0xffffffffffffffc0
vmovups ymm0, ymmword [rcx]
vmovups ymmword [rsp + 0xa0], ymm0
mov rax, qword [rcx + 0x40]
mov qword [rsp + 0x68], rax
mov rax, qword [rcx + 0x48]
mov qword [rsp + 0x78], rax
mov rbx, qword [rcx + 0x50]
mov rax, qword [rcx + 0x58]
mov qword [rsp + 0x90], rax
movsxd r15, dword [rcx + 0x60]
xor r12d, r12d
lea rcx, [rsp + 0xc0]
mov r8d, 0x680
xor edx, edx
vzeroupper
call fcn.1401bb600
test r15, r15
jle 0x1400e7ead
vxorps xmm1, xmm1, xmm1
mov edx, 0xffffffff
xor r8d, r8d
xor edi, edi
xor r10d, r10d
vxorps xmm0, xmm0, xmm0
mov qword [rsp + 0x80], r15
vmovups ymm6, ymmword [rsp + 0xa0]
mov r9, qword [rsp + 0x78]
jmp 0x1400e7a1e
test r11d, r11d
mov r15, qword [rsp + 0x80]
mov edx, dword [rsp + 0x64]
mov r8, qword [rsp + 0x88]
mov r10d, dword [rsp + 0x60]
mov esi, dword [rsp + 0x5c]
mov edi, dword [rsp + 0x70]
jle 0x1400e7ba0
movsxd rax, edx
shl rax, 6
lea rcx, [rsp + 0x9700]
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 edi, edi
inc r8
cmp r10d, r15d
jge 0x1400e7ce2
mov r14d, r10d
movsx esi, word [r9 + r8*2]
mov r10d, esi
add r10d, r14d
mov rax, qword [rsp + 0x90]
movzx ecx, word [rax + r8*2]
test ecx, ecx
je 0x1400e7ba0
cmp si, 0x11
mov dword [rsp + 0x64], edx
mov qword [rsp + 0x88], r8
mov dword [rsp + 0x60], r10d
mov dword [rsp + 0x5c], esi
jge 0x1400e7bc0
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax]
mov qword [rsp + 0x70], rdx
mov rdx, qword [rax + 8]
mov qword [rsp + 0x98], rdx
mov rsi, qword [rax + 0x10]
mov rdi, qword [rax + 0x18]
mov r15, qword [rax + 0x20]
mov r13, qword [rax + 0x28]
movsxd r8, r12d
lea rdx, [rsp + r8*2]
add rdx, 0x740
shl r8, 5
lea r9, [rsp + r8]
add r9, 0xb900
vxorps xmm2, xmm2, xmm2
xor r11d, r11d
nop dword [rax]
xor r8d, r8d
tzcnt r8d, ecx
mov r10, r14
add r14d, r8d
movsxd r14, r14d
vmovss xmm3, dword [r15 + r14*4]
vinsertps xmm3, xmm3, dword [r13 + r14*4], 0x1c
mov rax, qword [rsp + 0x70]
vmovss xmm4, dword [rax + r14*4]
mov rax, qword [rsp + 0x98]
vinsertps xmm4, xmm4, dword [rax + r14*4], 0x10
vinsertps xmm4, xmm4, dword [rsi + r14*4], 0x20
vinsertps xmm4, xmm4, dword [rdi + r14*4], 0x30
vinsertf128 ymm3, ymm4, xmm3, 1
movzx r14d, word [rbx + r14*2]
vmulps ymm3, ymm6, ymm3
movzx eax, r14b
shr eax, 2
shl rax, 5
vmovups ymm4, ymmword [rsp + rax + 0xc0]
vsubps ymm4, ymm4, ymm3
vmovups ymmword [rsp + rax + 0xc0], ymm4
mov eax, r14d
shr eax, 0xa
shl rax, 5
vmovups ymm4, ymmword [rsp + rax + 0xc0]
vsubps ymm4, ymm4, ymm3
vmovups ymmword [rsp + rax + 0xc0], ymm4
mov word [rdx + r11*2], r14w
mov r14, r10
mov eax, 1
vmovups ymmword [r9], ymm3
shlx eax, eax, r8d
add r9, 0x20
inc r11
xor ecx, eax
vaddps ymm2, ymm2, ymm3
jne 0x1400e7ab0
add r12d, r11d
mov r15, qword [rsp + 0x80]
mov r9, qword [rsp + 0x78]
mov edx, dword [rsp + 0x64]
mov r8, qword [rsp + 0x88]
mov r10d, dword [rsp + 0x60]
mov esi, dword [rsp + 0x5c]
jmp 0x1400e79ea
movsxd rax, edx
shl rax, 6
test edi, edi
je 0x1400e7cbc
add word [rsp + rax + 0x9722], si
jmp 0x1400e7cd8
mov dword [rsp + 0x70], edi
mov rdx, qword [rsp + 0x68]
mov r15, qword [rdx]
mov rcx, qword [rdx + 8]
mov rdi, qword [rdx + 0x10]
mov rsi, qword [rdx + 0x18]
mov rax, qword [rdx + 0x20]
mov r13, qword [rdx + 0x28]
movsxd r14, r14d
movsxd r10, r10d
vxorps xmm3, xmm3, xmm3
xor r11d, r11d
vxorps xmm2, xmm2, xmm2
jmp 0x1400e7c0c
inc r14
cmp r14, r10
jge 0x1400e79c0
vmovss xmm4, dword [rax + r14*4]
vinsertps xmm4, xmm4, dword [r13 + r14*4], 0x1c
vmovss xmm5, dword [r15 + r14*4]
vinsertps xmm5, xmm5, dword [rcx + r14*4], 0x10
vinsertps xmm5, xmm5, dword [rdi + r14*4], 0x20
vinsertps xmm5, xmm5, dword [rsi + r14*4], 0x30
vinsertf128 ymm4, ymm5, xmm4, 1
vcmpneqps ymm5, ymm4, ymm3
vtestps ymm5, ymm5
je 0x1400e7c00
movzx edx, word [rbx + r14*2]
vmulps ymm4, ymm6, ymm4
movzx r8d, dl
shr r8d, 2
shl r8, 5
vmovups ymm5, ymmword [rsp + r8 + 0xc0]
vsubps ymm5, ymm5, ymm4
vmovups ymmword [rsp + r8 + 0xc0], ymm5
movsxd r12, r12d
mov word [rsp + r12*2 + 0x740], dx
shr edx, 0xa
shl rdx, 5
vmovups ymm5, ymmword [rsp + rdx + 0xc0]
vsubps ymm5, ymm5, ymm4
vmovups ymmword [rsp + rdx + 0xc0], ymm5
vaddps ymm2, ymm2, ymm4
mov rdx, r12
shl rdx, 5
vmovups ymmword [rsp + rdx + 0xb900], ymm4
inc r12d
inc r11d
jmp 0x1400e7c00
lea rcx, [rsp + 0x9700]
vmovups ymmword [rax + rcx + 0x40], ymm1
inc edx
mov word [rax + rcx + 0x60], 0
mov word [rax + rcx + 0x62], si
mov edi, 1
jmp 0x1400e7a12
xor eax, eax
xor ecx, ecx
xor r8d, r8d
jmp 0x1400e7cff
inc rax
mov r8d, edx
cmp edx, r15d
jge 0x1400e7ead
mov r10, rax
shl r10, 6
movsx edx, word [rsp + r10 + 0x9722]
add edx, r8d
movsx r9d, word [rsp + r10 + 0x9720]
test r9d, r9d
je 0x1400e7e60
add r9d, ecx
mov r11d, ecx
nop word [rax + rax]
mov esi, r11d
movzx edi, byte [rsp + rsi*2 + 0x740]
movzx r14d, byte [rsp + rsi*2 + 0x741]
shr edi, 2
shl rdi, 5
shl rsi, 5
vmovups ymm1, ymmword [rsp + rsi + 0xb900]
vaddps ymm2, ymm1, ymmword [rsp + rdi + 0xc0]
vmovups ymmword [rsp + rdi + 0xc0], ymm2
shr r14d, 2
shl r14, 5
vaddps ymm1, ymm1, ymmword [rsp + r14 + 0xc0]
vmovups ymmword [rsp + r14 + 0xc0], ymm1
inc r11d
cmp r11d, r9d
jb 0x1400e7d30
vmovups ymm1, ymmword [rsp + r10 + 0x9700]
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 + 0xc0]
shl rsi, 5
vsubps ymm2, ymm2, ymmword [rsp + rsi + 0xc0]
shl r10, 5
vmovups ymmword [rsp + r10 + 0xfc0], ymm2
inc r8d
cmp r8d, edx
jb 0x1400e7da0
nop word cs:[rax + rax]
mov r8d, ecx
movzx r10d, byte [rsp + r8*2 + 0x740]
movzx r11d, byte [rsp + r8*2 + 0x741]
shr r10d, 2
shl r10, 5
shl r8, 5
vmovups ymm2, ymmword [rsp + r8 + 0xb900]
vaddps ymm3, ymm2, ymmword [rsp + r10 + 0xc0]
vmovups ymmword [rsp + r10 + 0xc0], ymm3
shr r11d, 2
shl r11, 5
vaddps ymm2, ymm2, ymmword [rsp + r11 + 0xc0]
vmovups ymmword [rsp + r11 + 0xc0], ymm2
inc ecx
cmp ecx, r9d
jb 0x1400e7df0
vaddps ymm0, ymm1, ymm0
mov ecx, r9d
jmp 0x1400e7cf0
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 + 0xc0]
shl r11, 5
vsubps ymm1, ymm1, ymmword [rsp + r11 + 0xc0]
shl r9, 5
vmovups ymmword [rsp + r9 + 0xfc0], ymm1
inc r8d
cmp r8d, edx
jb 0x1400e7e60
jmp 0x1400e7cf0
lea eax, [r15 + 7]
test r15d, r15d
cmovns eax, r15d
sar eax, 3
cmp r15d, 8
jl 0x1400e7ff5
mov r11, qword [rsp + 0x68]
mov rcx, qword [r11]
mov rdx, qword [r11 + 8]
mov r8, qword [r11 + 0x10]
mov r9, qword [r11 + 0x18]
mov r10, qword [r11 + 0x20]
mov r11, qword [r11 + 0x28]
mov esi, eax
xor edi, edi
nop word cs:[rax + rax]
vmovups ymm0, ymmword [rsp + rdi*8 + 0xfc0]
vunpcklps ymm0, ymm0, ymmword [rsp + rdi*8 + 0xfe0]
vmovups xmm1, xmmword [rsp + rdi*8 + 0xfc0]
vunpckhps xmm1, xmm1, xmmword [rsp + rdi*8 + 0xfe0]
vmovups xmm2, xmmword [rsp + rdi*8 + 0x1000]
vmovups ymm3, ymmword [rsp + rdi*8 + 0x1000]
vunpcklps ymm3, ymm3, ymmword [rsp + rdi*8 + 0x1020]
vmovups xmm4, xmmword [rsp + rdi*8 + 0x1040]
vunpckhps xmm2, xmm2, xmmword [rsp + rdi*8 + 0x1020]
vmovups ymm5, ymmword [rsp + rdi*8 + 0x1040]
vunpcklps ymm5, ymm5, ymmword [rsp + rdi*8 + 0x1060]
vunpckhps xmm4, xmm4, xmmword [rsp + rdi*8 + 0x1060]
vmovups ymm6, ymmword [rsp + rdi*8 + 0x1080]
vunpcklps ymm6, ymm6, ymmword [rsp + rdi*8 + 0x10a0]
vmovups xmm7, xmmword [rsp + rdi*8 + 0x1080]
vunpckhps xmm7, xmm7, xmmword [rsp + rdi*8 + 0x10a0]
vunpcklpd ymm8, ymm0, ymm3
vunpckhpd ymm0, ymm0, ymm3
vmovlhps xmm3, xmm1, xmm2
vunpckhpd xmm1, xmm1, xmm2
vunpcklpd ymm2, ymm5, ymm6
vunpckhpd ymm5, ymm5, ymm6
vinsertf128 ymm6, ymm8, xmm2, 1
vmovups ymmword [rcx + rdi], ymm6
vmovlhps xmm6, xmm4, xmm7
vunpckhpd xmm4, xmm4, xmm7
vinsertf128 ymm7, ymm0, xmm5, 1
vmovups ymmword [rdx + rdi], ymm7
vmovups xmmword [r8 + rdi + 0x10], xmm6
vmovups xmmword [r8 + rdi], xmm3
vmovups xmmword [r9 + rdi + 0x10], xmm4
vmovups xmmword [r9 + rdi], xmm1
vperm2f128 ymm1, ymm8, ymm2, 0x31
vmovups ymmword [r10 + rdi], ymm1
vperm2f128 ymm0, ymm0, ymm5, 0x31
vmovups ymmword [r11 + rdi], ymm0
add rdi, 0x20
dec rsi
jne 0x1400e7ef0
shl eax, 3
cmp eax, r15d
jge 0x1400e8189
mov r9, qword [rsp + 0x68]
mov rcx, qword [r9]
mov rdx, qword [r9 + 8]
mov r8, qword [r9 + 0x10]
mov r10, qword [r9 + 0x18]
mov r11, qword [r9 + 0x20]
mov rsi, qword [r9 + 0x28]
movsxd r9, eax
mov rax, r9
not rax
test r15b, 1
je 0x1400e8091
mov rdi, r9
shl rdi, 5
vmovss xmm0, dword [rsp + rdi + 0xfc0]
vmovss dword [rcx + r9*4], xmm0
vmovss xmm0, dword [rsp + rdi + 0xfc4]
vmovss dword [rdx + r9*4], xmm0
vmovss xmm0, dword [rsp + rdi + 0xfc8]
vmovss dword [r8 + r9*4], xmm0
vmovss xmm0, dword [rsp + rdi + 0xfcc]
vmovss dword [r10 + r9*4], xmm0
vmovss xmm0, dword [rsp + rdi + 0xfd0]
vmovss dword [r11 + r9*4], xmm0
vmovss xmm0, dword [rsp + rdi + 0xfd4]
vmovss dword [rsi + r9*4], xmm0
or r9, 1
add rax, r15
je 0x1400e8189
sub r15, r9
lea rax, [rcx + r9*4]
add rax, 4
lea rcx, [rdx + r9*4 + 4]
lea rdx, [r8 + r9*4 + 4]
lea r8, [r10 + r9*4]
add r8, 4
lea r10, [r11 + r9*4]
add r10, 4
lea r11, [rsi + r9*4]
add r11, 4
shl r9, 5
lea rsi, [rsp + 0xfc0]
add r9, rsi
add r9, 0x34
xor esi, esi
nop dword [rax]
vmovss xmm0, dword [r9 + rsi*8 - 0x34]
vmovss dword [rax + rsi - 4], xmm0
vmovss xmm0, dword [r9 + rsi*8 - 0x30]
vmovss dword [rcx + rsi - 4], xmm0
vmovss xmm0, dword [r9 + rsi*8 - 0x2c]
vmovss dword [rdx + rsi - 4], xmm0
vmovss xmm0, dword [r9 + rsi*8 - 0x28]
vmovss dword [r8 + rsi - 4], xmm0
vmovss xmm0, dword [r9 + rsi*8 - 0x24]
vmovss dword [r10 + rsi - 4], xmm0
vmovss xmm0, dword [r9 + rsi*8 - 0x20]
vmovss dword [r11 + rsi - 4], xmm0
vmovss xmm0, dword [r9 + rsi*8 - 0x14]
vmovss dword [rax + rsi], xmm0
vmovss xmm0, dword [r9 + rsi*8 - 0x10]
vmovss dword [rcx + rsi], xmm0
vmovss xmm0, dword [r9 + rsi*8 - 0xc]
vmovss dword [rdx + rsi], xmm0
vmovss xmm0, dword [r9 + rsi*8 - 8]
vmovss dword [r8 + rsi], xmm0
vmovss xmm0, dword [r9 + rsi*8 - 4]
vmovss dword [r10 + rsi], xmm0
vmovss xmm0, dword [r9 + rsi*8]
vmovss dword [r11 + rsi], xmm0
add rsi, 8
add r15, 0xfffffffffffffffe
jne 0x1400e80e0
vmovups xmm6, xmmword [rbp + 0x13fc0]
vmovups xmm7, xmmword [rbp + 0x13fd0]
vmovups xmm8, xmmword [rbp + 0x13fe0]
lea rsp, [rbp + 0x13ff8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
vzeroupper
ret