Function at 0x1401009a0
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 0x140100a56
mov rsi, r8
mov r15, rdx
lea rax, [rdx*4]
movabs r13, 0xaaaaaaaaaaaaaaab
mul r13
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 0x140100a5d
xor esi, esi
jmp 0x1401011ec
mov rax, r15
mul r13
shr rdx, 1
lea r10, [rdx + rdx*2]
sub r15, r10
lea r12, [rcx + r10]
mov ebx, edi
and ebx, 3
mov r11, rdi
and r11, 0xfffffffffffffffc
lea rax, [rsi + r11]
mov qword [rsp + 0x28], rax
cmp r10, 3
jb 0x1401010db
mov rbp, rdi
shr rbp, 2
lea r9, [r10 - 3]
mov rax, r9
mul r13
mov r8, rdx
shr r8, 1
cmp rbp, r8
cmovb r8, rbp
cmp r8, 8
jb 0x140100ae1
mov rax, r9
mul r13
shr rdx, 1
cmp rbp, rdx
cmovb rdx, rbp
lea rax, [rdx + rdx*2]
add rax, rcx
add rax, 3
cmp rax, rsi
jbe 0x140100ae9
lea rax, [rsi + rdx*4]
add rax, 4
cmp rax, rcx
jbe 0x140100ae9
mov rax, rsi
jmp 0x140100f96
inc r8
mov eax, r8d
and eax, 7
mov edx, 8
cmovne rdx, rax
sub r8, rdx
lea rax, [r8 + r8*2]
lea rdx, [rcx + rax]
sub r10, rax
lea rax, [r8*4]
sub r11, rax
lea rax, [rsi + r8*4]
xor r9d, r9d
movdqa xmm15, xmmword [0x140459510]
movdqa xmm11, xmmword [0x1404594b0]
movdqa xmm10, xmmword [0x1404594a0]
movdqa xmm2, xmmword [0x1404594d0]
nop
movdqu xmm8, xmmword [rcx]
movq xmm14, qword [rcx + 0x10]
movdqa xmm4, xmmword [0x140459430]
movdqa xmm3, xmm4
pandn xmm3, xmm14
movdqa xmm5, xmm8
pand xmm5, xmm4
por xmm5, xmm3
pxor xmm0, xmm0
punpcklbw xmm5, xmm0
movdqa xmm3, xmmword [0x140459440]
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 [0x140459450]
movdqa xmm5, xmm12
pandn xmm5, xmm14
movdqa xmm4, xmm8
pand xmm4, xmm12
por xmm4, xmm5
punpcklbw xmm4, xmm0
movdqa xmm5, xmmword [0x140459460]
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 [0x140459470]
movdqa xmm4, xmm12
pandn xmm4, xmm14
pand xmm8, xmm12
por xmm8, xmm4
punpcklbw xmm8, xmm0
movdqa xmm4, xmmword [0x140459480]
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 xmm9, xmmword [0x140459490]
psubw xmm9, xmm8
psrlw xmm9, 8
movdqa xmm13, xmmword [0x1404594a0]
pand xmm9, xmm13
paddw xmm9, xmm8
movdqa xmm14, xmmword [0x1404594c0]
psubw xmm14, xmm8
psrlw xmm14, 8
movdqa xmm7, xmmword [0x1404594d0]
pand xmm14, xmm7
movdqa xmm12, xmmword [0x1404594e0]
psubw xmm12, xmm8
psrlw xmm12, 8
movdqa xmm0, xmmword [0x1404594f0]
pand xmm12, xmm0
paddw xmm12, xmm14
paddw xmm12, xmm9
movdqa xmm14, xmmword [0x140459500]
psubw xmm14, xmm8
psrlw xmm14, 8
pand xmm14, xmm15
paddw xmm14, xmm11
paddw xmm14, xmm12
pxor xmm13, xmm13
punpcklbw xmm5, xmm13
psllw xmm3, 4
pand xmm3, xmmword [0x140459520]
movdqa xmm8, xmm5
psrlw xmm8, 4
por xmm8, xmm3
movdqa xmm7, xmmword [0x140459490]
movdqa xmm3, xmm7
psubw xmm3, xmm8
psrlw xmm3, 8
pand xmm3, xmm10
paddw xmm3, xmm8
movdqa xmm6, xmmword [0x1404594c0]
movdqa xmm9, xmm6
psubw xmm9, xmm8
psrlw xmm9, 8
pand xmm9, xmm2
movdqa xmm1, xmmword [0x1404594e0]
movdqa xmm12, xmm1
psubw xmm12, xmm8
psrlw xmm12, 8
pand xmm12, xmm0
paddw xmm12, xmm9
paddw xmm12, xmm3
movdqa xmm9, xmmword [0x140459500]
movdqa xmm3, xmm9
psubw xmm3, xmm8
psrlw xmm3, 8
pand xmm3, xmm15
paddw xmm3, xmm11
paddw xmm3, xmm12
psllw xmm5, 2
pand xmm5, xmmword [0x140459530]
punpcklbw xmm4, xmm13
movdqa xmm8, xmm4
psrlw xmm8, 6
por xmm8, xmm5
movdqa xmm5, xmm9
movdqa xmm13, xmm9
psubw xmm5, xmm8
psrlw xmm5, 8
pand xmm5, xmm15
psubw xmm1, xmm8
psrlw xmm1, 8
pand xmm1, xmm0
movdqa xmm12, xmm6
psubw xmm12, xmm8
psrlw xmm12, 8
pand xmm12, xmm2
paddw xmm12, xmm1
movdqa xmm9, xmm7
psubw xmm9, xmm8
psrlw xmm9, 8
pand xmm9, xmm10
paddw xmm9, xmm8
paddw xmm9, xmm12
paddw xmm5, xmm11
paddw xmm5, xmm9
pand xmm4, xmmword [0x140459540]
movdqa xmm8, xmm13
psubw xmm8, xmm4
psrlw xmm8, 8
pand xmm8, xmm15
movdqa xmm9, xmmword [0x1404594e0]
psubw xmm9, xmm4
psrlw xmm9, 8
pand xmm9, xmmword [0x1404594f0]
psubw xmm6, xmm4
psrlw xmm6, 8
pand xmm6, xmm2
paddw xmm6, xmm9
psubw xmm7, xmm4
psrlw xmm7, 8
pand xmm7, xmm10
paddw xmm7, xmm4
paddw xmm7, xmm6
paddw xmm8, xmm11
paddw xmm8, xmm7
movdqa xmm0, xmmword [0x140459550]
pand xmm3, xmm0
pand xmm14, xmm0
packuswb xmm14, xmm3
pand xmm5, xmm0
pand xmm8, xmm0
packuswb xmm5, xmm8
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 [0x140459560]
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 + r9*4 + 0x10], xmm5
movdqu xmmword [rsi + r9*4], xmm9
add r9, 8
add rcx, 0x18
cmp r8, r9
jne 0x140100b40
mov rcx, rdx
xor edx, edx
movdqa xmm0, xmmword [0x140459570]
movdqa xmm1, xmmword [0x140459580]
movdqa xmm2, xmmword [0x140459590]
movdqa xmm3, xmmword [0x1404595a0]
movdqa xmm4, xmmword [0x1404595b0]
movdqa xmm5, xmmword [0x1404595c0]
movdqa xmm6, xmmword [0x1404595d0]
movdqa xmm7, xmmword [0x1404595e0]
movdqa xmm8, xmmword [0x1404595f0]
movdqa xmm9, xmmword [0x140459550]
nop word [rax + rax]
cmp r11, rdx
je 0x1401010db
movzx r8d, byte [rcx]
movzx r9d, byte [rcx + 1]
movzx ebp, byte [rcx + 2]
mov r13d, r8d
shr r13d, 2
shl r8d, 4
mov r14d, r9d
shr r14d, 4
and r8d, 0x30
or r8d, r14d
and r9d, 0xf
mov r14d, ebp
shr r14d, 6
lea r9d, [r14 + r9*4]
and ebp, 0x3f
movd xmm10, r13d
pinsrw xmm10, r8d, 1
pinsrw xmm10, r9d, 2
pinsrw xmm10, ebp, 3
add r10, 0xfffffffffffffffd
movdqa xmm11, xmm0
psubw xmm11, xmm10
psrlw xmm11, 8
pand xmm11, xmm1
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
movdqa xmm12, xmm6
psubw xmm12, xmm10
psrlw xmm12, 8
pand xmm12, xmm7
paddw xmm12, xmm10
paddw xmm12, xmm13
paddw xmm12, xmm11
paddw xmm12, xmm8
pand xmm12, xmm9
packuswb xmm12, xmm12
movd dword [rax + rdx], xmm12
add rdx, 4
add rcx, 3
cmp r10, 3
jae 0x140100ff0
mov r8, r15
xor r8, 3
lea rcx, [rsp + r15]
add rcx, 0x21
xor edx, edx
call fcn.1402de3b8
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 [0x1404595d0]
psubw xmm1, xmm0
psrlw xmm1, 8
pand xmm1, xmmword [0x1404595e0]
movdqa xmm2, xmmword [0x1404595b0]
psubw xmm2, xmm0
psrlw xmm2, 8
pand xmm2, xmmword [0x1404595c0]
paddw xmm1, xmm0
movdqa xmm3, xmmword [0x140459590]
psubw xmm3, xmm0
psrlw xmm3, 8
pand xmm3, xmmword [0x1404595a0]
paddw xmm3, xmm2
movdqa xmm2, xmmword [0x140459570]
psubw xmm2, xmm0
psrlw xmm2, 8
pand xmm2, xmmword [0x140459580]
paddw xmm3, xmm1
paddw xmm2, xmm3
paddw xmm2, xmmword [0x1404595f0]
pand xmm2, xmmword [0x140459550]
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