Function at 0x1400e6610
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
movdqa xmmword [rsp + 0xc0], xmm15
movdqa xmmword [rsp + 0xb0], xmm14
movdqa xmmword [rsp + 0xa0], xmm13
movdqa xmmword [rsp + 0x90], xmm12
movdqa xmmword [rsp + 0x80], xmm11
movdqa xmmword [rsp + 0x70], xmm10
movdqa xmmword [rsp + 0x60], xmm9
movdqa xmmword [rsp + 0x50], xmm8
movdqa xmmword [rsp + 0x40], xmm7
movdqa xmmword [rsp + 0x30], xmm6
mov rax, rdx
shr rax, 0x3e
jne 0x1400e66c6
mov rsi, r8
mov r15, rdx
lea rax, [rdx*4]
movabs r10, 0xaaaaaaaaaaaaaaab
mul r10
shr rdx, 1
movabs rax, 0xaaaaaaaaaaaaaaac
imul rax, r15
movabs r8, 0x5555555555555555
xor edi, edi
cmp rax, r8
seta dil
add rdi, rdx
cmp rdi, r9
jbe 0x1400e66cd
xor esi, esi
jmp 0x1400e6e0b
mov rax, r15
mul r10
shr rdx, 1
lea r8, [rdx + rdx*2]
sub r15, r8
lea r12, [rcx + r8]
mov ebx, edi
and ebx, 3
mov r9, rdi
and r9, 0xfffffffffffffffc
lea rax, [rsi + r9]
mov qword [rsp + 0x28], rax
cmp r8, 3
jb 0x1400e6cfa
mov r11, rdi
shr r11, 2
lea rax, [r8 - 3]
mul r10
shr rdx, 1
cmp r11, rdx
cmovb rdx, r11
cmp rdx, 8
jae 0x1400e6729
mov rax, rsi
mov r10, rcx
jmp 0x1400e6baf
inc rdx
mov eax, edx
and eax, 7
mov r10d, 8
cmovne r10, rax
sub rdx, r10
lea r10, [rdx*4]
lea rax, [rsi + rdx*4]
sub r9, r10
lea r11, [rdx + rdx*2]
lea r10, [rcx + r11]
sub r8, r11
xor r11d, r11d
movdqa xmm7, xmmword [0x140202870]
movdqa xmm15, xmmword [0x140202850]
movdqa xmm11, xmmword [0x140202840]
nop word cs:[rax + rax]
movdqu xmm8, xmmword [rcx]
movq xmm14, qword [rcx + 0x10]
movdqa xmm4, xmmword [0x1402027d0]
movdqa xmm3, xmm4
pandn xmm3, xmm14
movdqa xmm5, xmm8
pand xmm5, xmm4
por xmm5, xmm3
pxor xmm0, xmm0
punpcklbw xmm5, xmm0
movdqa xmm3, xmmword [0x1402027e0]
pand xmm5, xmm3
movdqa xmm9, xmm8
punpckhbw xmm9, xmm0
pandn xmm3, xmm9
por xmm3, xmm5
pshufd xmm3, xmm3, 0xd8
pshufhw xmm3, xmm3, 0x6c
pshufd xmm3, xmm3, 0x6c
pshuflw xmm3, xmm3, 0x6c
pshufhw xmm3, xmm3, 0xc6
packuswb xmm3, xmm3
movdqa xmm12, xmmword [0x1402027f0]
movdqa xmm5, xmm12
pandn xmm5, xmm14
movdqa xmm4, xmm8
pand xmm4, xmm12
por xmm4, xmm5
punpcklbw xmm4, xmm0
movdqa xmm5, xmmword [0x140202800]
pand xmm4, xmm5
pandn xmm5, xmm9
por xmm5, xmm4
pshuflw xmm4, xmm5, 0xc6
pshufhw xmm4, xmm4, 0xc6
pshufd xmm4, xmm4, 0x6c
pshuflw xmm4, xmm4, 0x39
pshufhw xmm5, xmm4, 0x39
packuswb xmm5, xmm5
movdqa xmm12, xmmword [0x140202810]
movdqa xmm4, xmm12
pandn xmm4, xmm14
pand xmm8, xmm12
por xmm8, xmm4
punpcklbw xmm8, xmm0
movdqa xmm4, xmmword [0x140202820]
pand xmm8, xmm4
pandn xmm4, xmm9
por xmm4, xmm8
pshufd xmm4, xmm4, 0x27
pshufhw xmm4, xmm4, 0x6c
pshufd xmm4, xmm4, 0x27
pshuflw xmm4, xmm4, 0xc6
pshufhw xmm4, xmm4, 0xc6
packuswb xmm4, xmm4
punpcklbw xmm3, xmm0
movdqa xmm8, xmm3
psrlw xmm8, 2
movdqa xmm10, xmmword [0x140202830]
movdqa xmm9, xmm10
psubw xmm9, xmm8
psrlw xmm9, 8
movdqa xmm13, xmmword [0x140202840]
pand xmm9, xmm13
paddw xmm9, xmm8
movdqa xmm13, xmmword [0x140202860]
movdqa xmm14, xmm13
psubw xmm14, xmm8
psrlw xmm14, 8
pand xmm14, xmm7
movdqa xmm6, xmmword [0x140202880]
movdqa xmm12, xmm6
psubw xmm12, xmm8
psrlw xmm12, 8
movdqa xmm0, xmmword [0x140202890]
pand xmm12, xmm0
paddw xmm12, xmm14
paddw xmm12, xmm9
movdqa xmm2, xmmword [0x1402028a0]
movdqa xmm14, xmm2
psubw xmm14, xmm8
psrlw xmm14, 8
movdqa xmm1, xmmword [0x1402028b0]
pand xmm14, xmm1
paddw xmm14, xmm15
paddw xmm14, xmm12
punpcklbw xmm5, xmmword [0x1402029a0]
psllw xmm3, 4
pand xmm3, xmmword [0x1402028c0]
movdqa xmm8, xmm5
psrlw xmm8, 4
por xmm8, xmm3
movdqa xmm3, xmm10
psubw xmm3, xmm8
psrlw xmm3, 8
pand xmm3, xmm11
paddw xmm3, xmm8
movdqa xmm9, xmm13
psubw xmm9, xmm8
psrlw xmm9, 8
pand xmm9, xmm7
movdqa xmm12, xmm6
psubw xmm12, xmm8
psrlw xmm12, 8
pand xmm12, xmm0
paddw xmm12, xmm9
paddw xmm12, xmm3
movdqa xmm3, xmm2
psubw xmm3, xmm8
psrlw xmm3, 8
pand xmm3, xmm1
paddw xmm3, xmm15
paddw xmm3, xmm12
punpcklbw xmm4, xmmword [0x1402029a0]
psllw xmm5, 2
pand xmm5, xmmword [0x1402028d0]
movdqa xmm8, xmm4
psrlw xmm8, 6
por xmm8, xmm5
movdqa xmm5, xmm10
psubw xmm5, xmm8
psrlw xmm5, 8
pand xmm5, xmm11
paddw xmm5, xmm8
movdqa xmm9, xmm13
psubw xmm9, xmm8
psrlw xmm9, 8
pand xmm9, xmm7
movdqa xmm12, xmm6
psubw xmm12, xmm8
psrlw xmm12, 8
pand xmm12, xmm0
paddw xmm12, xmm9
paddw xmm12, xmm5
movdqa xmm5, xmm2
psubw xmm5, xmm8
psrlw xmm5, 8
pand xmm5, xmm1
paddw xmm5, xmm15
paddw xmm5, xmm12
pand xmm4, xmmword [0x1402028e0]
psubw xmm10, xmm4
psrlw xmm10, 8
pand xmm10, xmm11
paddw xmm10, xmm4
psubw xmm13, xmm4
psrlw xmm13, 8
pand xmm13, xmm7
psubw xmm6, xmm4
psrlw xmm6, 8
pand xmm6, xmm0
paddw xmm6, xmm13
paddw xmm6, xmm10
psubw xmm2, xmm4
psrlw xmm2, 8
pand xmm2, xmm1
paddw xmm2, xmm15
paddw xmm2, xmm6
movdqa xmm0, xmmword [0x1402028f0]
pand xmm3, xmm0
pand xmm14, xmm0
packuswb xmm14, xmm3
pand xmm5, xmm0
pand xmm2, xmm0
packuswb xmm5, xmm2
movdqa xmm3, xmm5
pxor xmm0, xmm0
punpckhbw xmm3, xmm0
punpcklbw xmm5, xmm0
pxor xmm1, xmm1
movdqa xmm4, xmm5
punpcklwd xmm4, xmm3
pshufd xmm8, xmm4, 0xfa
pshufd xmm4, xmm4, 0x50
packuswb xmm4, xmm8
movdqa xmm0, xmmword [0x140202900]
movdqa xmm8, xmm0
pandn xmm8, xmm4
movdqa xmm4, xmm14
punpckhbw xmm4, xmm1
punpcklbw xmm14, xmm1
movdqa xmm9, xmm14
punpcklwd xmm9, xmm4
pshufd xmm12, xmm9, 0xf6
pshufd xmm9, xmm9, 0xd4
packuswb xmm9, xmm12
pand xmm9, xmm0
por xmm9, xmm8
punpckhwd xmm5, xmm3
pshufd xmm3, xmm5, 0xfa
pshufd xmm5, xmm5, 0x50
packuswb xmm5, xmm3
movdqa xmm3, xmm0
pandn xmm3, xmm5
punpckhwd xmm14, xmm4
pshufd xmm4, xmm14, 0xf6
pshufd xmm5, xmm14, 0xd4
packuswb xmm5, xmm4
pand xmm5, xmm0
por xmm5, xmm3
movdqu xmmword [rsi + r11*4 + 0x10], xmm5
movdqu xmmword [rsi + r11*4], xmm9
add r11, 8
add rcx, 0x18
cmp rdx, r11
jne 0x1400e6780
xor ecx, ecx
movdqa xmm0, xmmword [0x140202910]
movdqa xmm1, xmmword [0x140202920]
movdqa xmm2, xmmword [0x140202930]
movdqa xmm3, xmmword [0x140202940]
movdqa xmm4, xmmword [0x140202950]
movdqa xmm5, xmmword [0x140202960]
movdqa xmm6, xmmword [0x140202970]
movdqa xmm7, xmmword [0x140202980]
movdqa xmm8, xmmword [0x140202990]
movdqa xmm9, xmmword [0x1402028f0]
nop word cs:[rax + rax]
cmp r9, rcx
je 0x1400e6cfa
movzx edx, byte [r10]
movzx r11d, byte [r10 + 1]
movzx ebp, byte [r10 + 2]
mov r13d, edx
shr r13d, 2
shl edx, 4
mov r14d, r11d
shr r14d, 4
and edx, 0x30
or edx, r14d
mov r14d, ebp
shr r14d, 6
and r11d, 0xf
lea r11d, [r14 + r11*4]
and ebp, 0x3f
movd xmm10, r13d
pinsrw xmm10, edx, 1
pinsrw xmm10, r11d, 2
pinsrw xmm10, ebp, 3
add r8, 0xfffffffffffffffd
movdqa xmm11, xmm0
psubw xmm11, xmm10
psrlw xmm11, 8
pand xmm11, xmm1
paddw xmm11, xmm10
movdqa xmm12, xmm2
psubw xmm12, xmm10
psrlw xmm12, 8
pand xmm12, xmm3
movdqa xmm13, xmm4
psubw xmm13, xmm10
psrlw xmm13, 8
pand xmm13, xmm5
paddw xmm13, xmm12
paddw xmm13, xmm11
movdqa xmm11, xmm6
psubw xmm11, xmm10
psrlw xmm11, 8
pand xmm11, xmm7
paddw xmm11, xmm13
paddw xmm11, xmm8
pand xmm11, xmm9
packuswb xmm11, xmm11
movd dword [rax + rcx], xmm11
add rcx, 4
add r10, 3
cmp r8, 3
jae 0x1400e6c10
mov r8, r15
xor r8, 3
lea rcx, [rsp + r15]
add rcx, 0x21
xor edx, edx
call fcn.1401e9fc8
lea rcx, [rsp + 0x21]
mov rdx, r12
mov r8, r15
call sym.memcpy
movzx eax, byte [rsp + 0x21]
movzx ecx, byte [rsp + 0x22]
movzx edx, byte [rsp + 0x23]
mov r8d, eax
shr r8d, 2
shl eax, 4
mov r9d, ecx
shr r9d, 4
and eax, 0x30
or eax, r9d
mov r9d, edx
shr r9d, 6
and ecx, 0xf
lea ecx, [r9 + rcx*4]
and edx, 0x3f
movd xmm0, r8d
pinsrw xmm0, eax, 1
pinsrw xmm0, ecx, 2
pinsrw xmm0, edx, 3
movdqa xmm1, xmmword [0x140202910]
psubw xmm1, xmm0
psrlw xmm1, 8
pand xmm1, xmmword [0x140202920]
movdqa xmm2, xmmword [0x140202930]
psubw xmm2, xmm0
psrlw xmm2, 8
pand xmm2, xmmword [0x140202940]
paddw xmm1, xmm0
movdqa xmm3, xmmword [0x140202950]
psubw xmm3, xmm0
psrlw xmm3, 8
pand xmm3, xmmword [0x140202960]
paddw xmm3, xmm2
movdqa xmm2, xmmword [0x140202970]
psubw xmm2, xmm0
psrlw xmm2, 8
pand xmm2, xmmword [0x140202980]
paddw xmm3, xmm1
paddw xmm2, xmm3
paddw xmm2, xmmword [0x140202990]
pand xmm2, xmmword [0x1402028f0]
packuswb xmm2, xmm2
movd dword [rsp + 0x24], xmm2
lea rdx, [rsp + 0x24]
mov rcx, qword [rsp + 0x28]
mov r8, rbx
call sym.memcpy
mov rax, rsi
mov rdx, rdi
movaps xmm6, xmmword [rsp + 0x30]
movaps xmm7, xmmword [rsp + 0x40]
movaps xmm8, xmmword [rsp + 0x50]
movaps xmm9, xmmword [rsp + 0x60]
movaps xmm10, xmmword [rsp + 0x70]
movaps xmm11, xmmword [rsp + 0x80]
movaps xmm12, xmmword [rsp + 0x90]
movaps xmm13, xmmword [rsp + 0xa0]
movaps xmm14, xmmword [rsp + 0xb0]
movaps xmm15, xmmword [rsp + 0xc0]
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret