Function at 0x1400e2470
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push rdi
push rsi
push rbp
push rbx
sub rsp, 0x78
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm7
movaps xmmword [rsp + 0x40], xmm8
mov rsi, rcx
mov edi, edx
mov rbx, r8
mov rbp, r9
mov edx, edi
mov rcx, rsi
call fcn.1400d4970
mov edx, eax
lea rsi, [rsi + rdx*2]
sub edi, eax
jne 0x1400e24d3
xor eax, eax
mov qword [rbx], rax
mov dword [rbp], eax
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x50]
movaps xmm8, xmmword [rsp + 0x40]
add rsp, 0x78
pop rbx
pop rbp
pop rsi
pop rdi
pop r14
pop r15
ret
xor eax, eax
xor edx, edx
mov ecx, edi
lea rcx, [rsi + rcx*2]
mov r8d, dword [0x1401e4670]
test r8b, 0x10
je 0x1400e2664
cmp edi, 8
jl 0x1400e27eb
movups xmm0, xmmword [0x1401844a0]
movups xmm1, xmmword [0x1401844b0]
movups xmm2, xmmword [case.0x1400d7160.1]
lea r9, [rcx - 0x10]
movdqu xmm3, xmmword [rsi]
add rsi, 0x10
movaps xmm4, xmm3
pminuw xmm4, xmm0
movaps xmm5, xmm3
paddusw xmm5, xmm1
por xmm4, xmm5
pmovmskb r10d, xmm4
mov r11d, r8d
and r11d, 0x40
je 0x1400e2542
xor edi, edi
popcnt edi, r10d
jmp 0x1400e2584
mov edi, r10d
shr edi, 1
and edi, 0x55555555
sub r10d, edi
mov edi, r10d
and edi, 0x33333333
shr r10d, 2
and r10d, 0x33333333
add r10d, edi
mov edi, r10d
shr edi, 4
add edi, r10d
and edi, 0xf0f0f0f
imul r10d, edi, 0x1010101
shr r10d, 0x18
mov edi, r10d
mov r10d, edi
movaps xmm4, xmm3
paddw xmm4, xmm2
movaps xmm5, xmm1
pcmpgtw xmm5, xmm4
pmovmskb edi, xmm5
cmp edi, 0xffff
jne 0x1400e25b2
add rax, r10
cmp rsi, r9
jbe 0x1400e2510
jmp 0x1400e27eb
not edi
psrlw xmm3, 3
pmovmskb r14d, xmm3
mov r15d, r14d
and r15d, edi
xor r14d, 0x5555
and r14d, edi
shl r14d, 2
movzx edi, r14w
cmp edi, r15d
jne 0x1400e265b
cmp r14d, 0xffff
jbe 0x1400e25f4
movzx r14d, r14w
add r10, 0xfffffffffffffffe
add rsi, 0xfffffffffffffffe
test r11d, r11d
je 0x1400e2603
xor r11d, r11d
popcnt r11d, r14d
jmp 0x1400e264a
mov r11d, r14d
shr r11d, 1
and r11d, 0x55555555
mov edi, r14d
sub edi, r11d
mov r11d, edi
and r11d, 0x33333333
shr edi, 2
and edi, 0x33333333
add edi, r11d
mov r11d, edi
shr r11d, 4
add r11d, edi
and r11d, 0xf0f0f0f
imul edi, r11d, 0x1010101
shr edi, 0x18
mov r11d, edi
mov r11d, r11d
sub edx, r11d
sub rax, r11
sub rax, r11
jmp 0x1400e25a1
add rsi, 0xfffffffffffffff0
jmp 0x1400e27eb
cmp edi, 8
jl 0x1400e27eb
mov r8d, 0x800080
movd xmm0, r8d
pshufd xmm0, xmm0, 0
mov r8d, 0x4000400
movd xmm1, r8d
pshufd xmm1, xmm1, 0
mov r8d, 0x8000800
movd xmm2, r8d
pshufd xmm2, xmm2, 0
mov r8d, 0xd800d800
movd xmm3, r8d
pshufd xmm3, xmm3, 0
lea r8, [rcx - 0x10]
movups xmm4, xmmword [rsi]
movups xmm5, xmmword [0x1401844d0]
movaps xmm6, xmm4
psubw xmm6, xmm5
movaps xmm7, xmm0
psubw xmm7, xmm5
movaps xmm5, xmm6
pcmpgtw xmm5, xmm7
movaps xmm7, xmm4
pcmpeqw xmm7, xmm0
por xmm5, xmm7
movups xmm7, xmmword [0x1401844d0]
movaps xmm8, xmm2
psubw xmm8, xmm7
pcmpgtw xmm6, xmm8
movaps xmm7, xmm4
pcmpeqw xmm7, xmm2
por xmm6, xmm7
xorps xmm7, xmm7
psubw xmm7, xmm5
psubw xmm7, xmm6
movaps xmmword [rsp + 0x30], xmm7
mov r9, qword [rsp + 0x30]
add r9, qword [rsp + 0x38]
mov r10d, r9d
shr r9, 0x20
add r10d, r9d
movzx r9d, r10w
shr r10d, 0x10
add r10d, r9d
psubw xmm4, xmm3
movups xmm5, xmmword [0x1401844d0]
movaps xmm6, xmm4
psubw xmm6, xmm5
pcmpgtw xmm8, xmm6
xorps xmm5, xmm5
pcmpeqw xmm5, xmm8
pmovmskb r9d, xmm5
cmp r9d, 0xffff
je 0x1400e27d8
movups xmm5, xmmword [0x1401844d0]
psubw xmm4, xmm5
movaps xmm6, xmm1
psubw xmm6, xmm5
pcmpgtw xmm6, xmm4
movaps xmm4, xmm6
pandn xmm4, xmm8
pextrw r9d, xmm4, 0
test r9d, r9d
jne 0x1400e284e
xor r9d, r9d
xor r11d, r11d
movups xmmword [rsp + 0x20], xmm6
movzx edi, word [rsp + r11*2 + 0x20]
sub r9d, edi
movzx r9d, r9w
inc r11d
movups xmmword [rsp + 0x20], xmm4
movzx r14d, word [rsp + r11*2 + 0x20]
cmp r14d, edi
jne 0x1400e27eb
cmp r11d, 7
jl 0x1400e278e
pextrw r11d, xmm6, 7
test r11d, r11d
je 0x1400e27cc
add rsi, 0xfffffffffffffffe
add r10d, 0xfffffffe
mov r9d, r9d
sub edx, r9d
sub rax, r9
sub rax, r9
mov r9d, r10d
add rax, r9
add rsi, 0x10
cmp rsi, r8
jbe 0x1400e26b1
cmp rsi, rcx
jae 0x1400e284e
movzx r8d, word [rsi]
cmp r8d, 0x7f
jbe 0x1400e2845
lea r9d, [r8 + 0x1f800]
shr r9d, 0x10
add rax, r9
add r8d, 0xffff2800
cmp r8d, 0x7ff
ja 0x1400e2845
add rax, 0xfffffffffffffffe
mov r8, rcx
sub r8, rsi
cmp r8, 4
jb 0x1400e284e
mov r8d, dword [rsi]
add r8d, 0x23ff2800
test r8d, 0xfc00fc00
jne 0x1400e284e
dec edx
add rax, 2
add rsi, 2
add rsi, 2
cmp rsi, rcx
jb 0x1400e27f0
mov qword [rbx], rax
mov dword [rbp], edx
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x50]
movaps xmm8, xmmword [rsp + 0x40]
add rsp, 0x78
pop rbx
pop rbp
pop rsi
pop rdi
pop r14
pop r15
ret