Function at 0x1400ea360
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], xmm9
vmovups xmmword [rbp + 0x13fd0], xmm8
vmovups xmmword [rbp + 0x13fc0], xmm7
vmovups xmmword [rbp + 0x13fb0], xmm6
and rsp, 0xffffffffffffffc0
vmovups ymm0, ymmword [rcx]
vmovups ymmword [rsp + 0xa0], ymm0
mov rax, qword [rcx + 0x40]
mov qword [rsp + 0x58], rax
mov rax, qword [rcx + 0x48]
mov qword [rsp + 0x88], rax
mov rbx, qword [rcx + 0x50]
mov rax, qword [rcx + 0x58]
mov qword [rsp + 0x80], 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 0x1400ea95d
vxorps xmm1, xmm1, xmm1
mov ecx, 0xffffffff
xor r8d, r8d
xor edx, edx
xor r9d, r9d
vxorps xmm0, xmm0, xmm0
vmovups ymm6, ymmword [rsp + 0xa0]
mov qword [rsp + 0x70], r15
jmp 0x1400ea47a
test r11d, r11d
mov r15, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x54]
mov r8, qword [rsp + 0x78]
mov r9d, dword [rsp + 0x50]
mov r10d, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x60]
jle 0x1400ea630
movsxd rax, ecx
shl rax, 6
lea rdx, [rsp + 0xfc0]
mov word [rax + rdx + 0x60], r11w
vmovups ymmword [rax + rdx + 0x40], ymm2
inc ecx
mov word [rax + rdx + 0x62], r10w
vsubps ymm0, ymm0, ymm2
xor edx, edx
inc r8
cmp r9d, r15d
jge 0x1400ea78a
mov r11d, r9d
mov rax, qword [rsp + 0x88]
movsx r10d, word [rax + r8*2]
mov r9d, r10d
add r9d, r11d
mov rax, qword [rsp + 0x80]
movzx eax, word [rax + r8*2]
test eax, eax
je 0x1400ea630
mov qword [rsp + 0x78], r8
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x4c], r10d
cmp r10w, 0x11
mov dword [rsp + 0x50], r9d
jge 0x1400ea650
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rcx]
mov qword [rsp + 0x68], rdx
mov rdx, qword [rcx + 8]
mov qword [rsp + 0x60], rdx
mov rdx, qword [rcx + 0x10]
mov qword [rsp + 0x98], rdx
mov rdx, qword [rcx + 0x18]
mov qword [rsp + 0x90], rdx
mov rsi, qword [rcx + 0x20]
mov rdi, qword [rcx + 0x28]
mov r15, qword [rcx + 0x30]
mov r13, qword [rcx + 0x38]
movsxd rcx, r12d
lea r8, [rsp + rcx*2]
add r8, 0x740
shl rcx, 5
lea r14, [rsp + rcx]
add r14, 0xb900
vxorps xmm2, xmm2, xmm2
mov r10, r11
xor r11d, r11d
nop dword [rax + rax]
xor ecx, ecx
tzcnt ecx, eax
lea edx, [rcx + r10]
movsxd rdx, edx
vmovss xmm3, dword [rsi + rdx*4]
vinsertps xmm3, xmm3, dword [rdi + rdx*4], 0x10
vinsertps xmm3, xmm3, dword [r15 + rdx*4], 0x20
vinsertps xmm3, xmm3, dword [r13 + rdx*4], 0x30
mov r9, qword [rsp + 0x68]
vmovss xmm4, dword [r9 + rdx*4]
mov r9, qword [rsp + 0x60]
vinsertps xmm4, xmm4, dword [r9 + rdx*4], 0x10
mov r9, qword [rsp + 0x98]
vinsertps xmm4, xmm4, dword [r9 + rdx*4], 0x20
mov r9, qword [rsp + 0x90]
vinsertps xmm4, xmm4, dword [r9 + rdx*4], 0x30
vinsertf128 ymm3, ymm4, xmm3, 1
movzx edx, word [rbx + rdx*2]
vmulps ymm3, ymm6, ymm3
movzx r9d, dl
shr r9d, 2
shl r9, 5
vmovups ymm4, ymmword [rsp + r9 + 0xc0]
vsubps ymm4, ymm4, ymm3
vmovups ymmword [rsp + r9 + 0xc0], ymm4
mov r9d, edx
shr r9d, 0xa
shl r9, 5
vmovups ymm4, ymmword [rsp + r9 + 0xc0]
vsubps ymm4, ymm4, ymm3
vmovups ymmword [rsp + r9 + 0xc0], ymm4
mov r9d, 1
mov word [r8 + r11*2], dx
vmovups ymmword [r14], ymm3
shlx ecx, r9d, ecx
add r14, 0x20
inc r11
xor eax, ecx
vaddps ymm2, ymm2, ymm3
jne 0x1400ea530
add r12d, r11d
mov r15, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x54]
mov r8, qword [rsp + 0x78]
mov r9d, dword [rsp + 0x50]
mov r10d, dword [rsp + 0x4c]
jmp 0x1400ea445
movsxd rax, ecx
shl rax, 6
test edx, edx
je 0x1400ea763
add word [rsp + rax + 0xfe2], r10w
jmp 0x1400ea780
mov dword [rsp + 0x60], edx
mov rdx, qword [rsp + 0x58]
mov rax, qword [rdx]
mov qword [rsp + 0x68], rax
mov rcx, qword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov r13, qword [rdx + 0x18]
mov rdi, qword [rdx + 0x20]
mov rsi, qword [rdx + 0x28]
mov r10, qword [rdx + 0x30]
mov rdx, qword [rdx + 0x38]
movsxd r14, r11d
movsxd r9, r9d
vxorps xmm3, xmm3, xmm3
xor r11d, r11d
vxorps xmm2, xmm2, xmm2
jmp 0x1400ea69c
inc r14
cmp r14, r9
jge 0x1400ea420
vmovss xmm4, dword [rdi + r14*4]
vinsertps xmm4, xmm4, dword [rsi + r14*4], 0x10
vinsertps xmm4, xmm4, dword [r10 + r14*4], 0x20
vinsertps xmm4, xmm4, dword [rdx + r14*4], 0x30
mov r8, qword [rsp + 0x68]
vmovss xmm5, dword [r8 + r14*4]
vinsertps xmm5, xmm5, dword [rcx + r14*4], 0x10
vinsertps xmm5, xmm5, dword [rax + r14*4], 0x20
vinsertps xmm5, xmm5, dword [r13 + r14*4], 0x30
vinsertf128 ymm4, ymm5, xmm4, 1
vcmpneqps ymm5, ymm4, ymm3
vtestps ymm5, ymm5
je 0x1400ea690
movzx r8d, word [rbx + r14*2]
vmulps ymm4, ymm6, ymm4
movzx r15d, r8b
shr r15d, 2
shl r15, 5
vmovups ymm5, ymmword [rsp + r15 + 0xc0]
vsubps ymm5, ymm5, ymm4
vmovups ymmword [rsp + r15 + 0xc0], ymm5
movsxd r12, r12d
mov word [rsp + r12*2 + 0x740], r8w
shr r8d, 0xa
shl r8, 5
vmovups ymm5, ymmword [rsp + r8 + 0xc0]
vsubps ymm5, ymm5, ymm4
vmovups ymmword [rsp + r8 + 0xc0], ymm5
vaddps ymm2, ymm2, ymm4
mov r8, r12
shl r8, 5
vmovups ymmword [rsp + r8 + 0xb900], ymm4
inc r12d
inc r11d
jmp 0x1400ea690
lea rdx, [rsp + 0xfc0]
vmovups ymmword [rax + rdx + 0x40], ymm1
inc ecx
mov word [rax + rdx + 0x60], 0
mov word [rax + rdx + 0x62], r10w
mov edx, 1
jmp 0x1400ea46e
xor eax, eax
xor ecx, ecx
xor r8d, r8d
jmp 0x1400ea7af
inc rax
mov r8d, edx
cmp edx, r15d
jge 0x1400ea95d
mov r10, rax
shl r10, 6
movsx edx, word [rsp + r10 + 0xfe2]
add edx, r8d
movsx r9d, word [rsp + r10 + 0xfe0]
test r9d, r9d
je 0x1400ea910
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 0x1400ea7e0
vmovups ymm1, ymmword [rsp + r10 + 0xfc0]
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 + 0x31c0], ymm2
inc r8d
cmp r8d, edx
jb 0x1400ea850
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 0x1400ea8a0
vaddps ymm0, ymm1, ymm0
mov ecx, r9d
jmp 0x1400ea7a0
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 + 0x31c0], ymm1
inc r8d
cmp r8d, edx
jb 0x1400ea910
jmp 0x1400ea7a0
lea eax, [r15 + 7]
test r15d, r15d
cmovns eax, r15d
sar eax, 3
cmp r15d, 8
jl 0x1400eaa9f
mov rdi, qword [rsp + 0x58]
mov rcx, qword [rdi]
mov rdx, qword [rdi + 8]
mov r8, qword [rdi + 0x10]
mov r9, qword [rdi + 0x18]
mov r10, qword [rdi + 0x20]
mov r11, qword [rdi + 0x28]
mov rsi, qword [rdi + 0x30]
mov rdi, qword [rdi + 0x38]
mov ebx, eax
xor r14d, r14d
nop
vmovups ymm0, ymmword [rsp + r14*8 + 0x31c0]
vmovups ymm1, ymmword [rsp + r14*8 + 0x31e0]
vmovups ymm2, ymmword [rsp + r14*8 + 0x3200]
vmovups ymm3, ymmword [rsp + r14*8 + 0x3220]
vunpcklps ymm4, ymm0, ymm1
vunpckhps ymm0, ymm0, ymm1
vunpcklps ymm1, ymm2, ymm3
vunpckhps ymm2, ymm2, ymm3
vmovups ymm3, ymmword [rsp + r14*8 + 0x3260]
vmovups ymm5, ymmword [rsp + r14*8 + 0x3240]
vunpcklps ymm6, ymm5, ymm3
vunpckhps ymm3, ymm5, ymm3
vmovups ymm5, ymmword [rsp + r14*8 + 0x32a0]
vmovups ymm7, ymmword [rsp + r14*8 + 0x3280]
vunpcklps ymm8, ymm7, ymm5
vunpckhps ymm5, ymm7, ymm5
vunpcklpd ymm7, ymm4, ymm1
vunpckhpd ymm1, ymm4, ymm1
vunpcklpd ymm4, ymm0, ymm2
vunpckhpd ymm0, ymm0, ymm2
vunpcklpd ymm2, ymm6, ymm8
vinsertf128 ymm9, ymm7, xmm2, 1
vmovups ymmword [rcx + r14], ymm9
vunpckhpd ymm6, ymm6, ymm8
vinsertf128 ymm8, ymm1, xmm6, 1
vmovups ymmword [rdx + r14], ymm8
vunpcklpd ymm8, ymm3, ymm5
vinsertf128 ymm9, ymm4, xmm8, 1
vmovups ymmword [r8 + r14], ymm9
vunpckhpd ymm3, ymm3, ymm5
vinsertf128 ymm5, ymm0, xmm3, 1
vmovups ymmword [r9 + r14], ymm5
vperm2f128 ymm2, ymm7, ymm2, 0x31
vmovups ymmword [r10 + r14], ymm2
vperm2f128 ymm1, ymm1, ymm6, 0x31
vmovups ymmword [r11 + r14], ymm1
vperm2f128 ymm1, ymm4, ymm8, 0x31
vmovups ymmword [rsi + r14], ymm1
vperm2f128 ymm0, ymm0, ymm3, 0x31
vmovups ymmword [rdi + r14], ymm0
add r14, 0x20
dec rbx
jne 0x1400ea9a0
shl eax, 3
cmp eax, r15d
jge 0x1400eab74
movsxd rdi, eax
lea rax, [rdi*4]
mov rbx, qword [rsp + 0x58]
mov rcx, qword [rbx]
add rcx, rax
mov rdx, qword [rbx + 8]
add rdx, rax
mov r8, qword [rbx + 0x10]
add r8, rax
mov r9, qword [rbx + 0x18]
add r9, rax
mov r10, qword [rbx + 0x20]
add r10, rax
mov r11, qword [rbx + 0x28]
add r11, rax
mov rsi, qword [rbx + 0x30]
add rsi, rax
add rax, qword [rbx + 0x38]
sub r15, rdi
shl rdi, 5
lea rbx, [rsp + 0x31c0]
add rdi, rbx
add rdi, 0x1c
xor ebx, ebx
nop word [rax + rax]
vmovss xmm0, dword [rdi + rbx*8 - 0x1c]
vmovss dword [rcx + rbx], xmm0
vmovss xmm0, dword [rdi + rbx*8 - 0x18]
vmovss dword [rdx + rbx], xmm0
vmovss xmm0, dword [rdi + rbx*8 - 0x14]
vmovss dword [r8 + rbx], xmm0
vmovss xmm0, dword [rdi + rbx*8 - 0x10]
vmovss dword [r9 + rbx], xmm0
vmovss xmm0, dword [rdi + rbx*8 - 0xc]
vmovss dword [r10 + rbx], xmm0
vmovss xmm0, dword [rdi + rbx*8 - 8]
vmovss dword [r11 + rbx], xmm0
vmovss xmm0, dword [rdi + rbx*8 - 4]
vmovss dword [rsi + rbx], xmm0
vmovss xmm0, dword [rdi + rbx*8]
vmovss dword [rax + rbx], xmm0
add rbx, 4
dec r15
jne 0x1400eab10
vmovups xmm6, xmmword [rbp + 0x13fb0]
vmovups xmm7, xmmword [rbp + 0x13fc0]
vmovups xmm8, xmmword [rbp + 0x13fd0]
vmovups xmm9, 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