Function at 0x14008c520
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xf8
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x60], xmm15
movdqa xmmword [rbp + 0x50], xmm14
movdqa xmmword [rbp + 0x40], xmm13
movdqa xmmword [rbp + 0x30], xmm12
movdqa xmmword [rbp + 0x20], xmm11
movdqa xmmword [rbp + 0x10], xmm10
movdqa xmmword [rbp], xmm9
movdqa xmmword [rbp - 0x10], xmm8
movdqa xmmword [rbp - 0x20], xmm7
movdqa xmmword [rbp - 0x30], xmm6
mov qword [rbp - 0x38], 0xfffffffffffffffe
mov rsi, r8
mov rbx, rdx
mov rdi, rcx
test r8, r8
je 0x14008c87c
js 0x14008ca08
movzx eax, byte [0x14013d781]
mov r14d, 1
mov edx, 1
mov rcx, rsi
call fcn.140024310
test rax, rax
je 0x14008ca0b
xor r13d, r13d
cmp rsi, 0x10
jb 0x14008c884
movabs rcx, 0x8080808080808080
movapd xmm0, xmmword [0x140115b70]
pxor xmm1, xmm1
movdqa xmm4, xmmword [0x140115ba0]
movdqa xmm5, xmmword [0x140115bb0]
movdqa xmm6, xmmword [0x140115bc0]
movdqa xmm7, xmmword [0x140115bd0]
movdqa xmm8, xmmword [0x140115be0]
movdqa xmm9, xmmword [0x140115bf0]
movdqa xmm10, xmmword [0x140115c00]
movdqa xmm11, xmmword [0x140115c10]
movdqa xmm15, xmmword [0x140110050]
movdqa xmm2, xmmword [0x140110060]
mov r11, qword [rbx + r13]
movdqu xmm3, xmmword [rbx + r13]
pshufd xmm12, xmm3, 0xee
movq rdx, xmm12
mov r8, rdx
or r8, r11
test r8, rcx
jne 0x14008c884
mov r8, r11
mov r9, r11
mov r10, r11
mov r14, r11
shr r11d, 8
movd xmm12, r11d
shr r14, 0x20
pshufd xmm13, xmm3, 0x44
movdqa xmm14, xmm3
psrlq xmm14, 0x10
psrlq xmm13, 0x18
movsd xmm13, xmm14
movd xmm14, r14d
shr r10, 0x28
punpcklqdq xmm3, xmm12
movd xmm12, r10d
andpd xmm13, xmm0
pand xmm3, xmm0
packuswb xmm3, xmm13
pshufd xmm13, xmm14, 0x50
movdqa xmm14, xmmword [0x140115b80]
pandn xmm14, xmm13
psllq xmm12, 0x28
movdqa xmm13, xmmword [0x140115b90]
pandn xmm13, xmm12
shr r9, 0x30
por xmm13, xmm14
movd xmm12, r9d
shr r8, 0x38
packuswb xmm3, xmm1
packuswb xmm3, xmm1
por xmm13, xmm3
psllq xmm12, 0x30
movdqa xmm3, xmm4
pandn xmm3, xmm12
movd xmm12, r8d
mov r8d, edx
shr r8d, 8
pand xmm13, xmm4
por xmm3, xmm13
pand xmm3, xmm5
psllq xmm12, 0x38
movdqa xmm13, xmm5
pandn xmm13, xmm12
por xmm13, xmm3
movd xmm3, edx
pshufd xmm3, xmm3, 0x44
movdqa xmm12, xmm6
pandn xmm12, xmm3
movd xmm3, r8d
mov r8d, edx
shr r8d, 0x10
pand xmm13, xmm6
por xmm12, xmm13
pslldq xmm3, 9
movdqa xmm13, xmm7
pandn xmm13, xmm3
movd xmm3, r8d
mov r8d, edx
shr r8d, 0x18
pand xmm12, xmm7
por xmm13, xmm12
pslldq xmm3, 0xa
movdqa xmm12, xmm8
pandn xmm12, xmm3
movd xmm3, r8d
mov r8, rdx
shr r8, 0x20
pand xmm13, xmm8
por xmm12, xmm13
pslldq xmm3, 0xb
movdqa xmm13, xmm9
pandn xmm13, xmm3
movd xmm3, r8d
mov r8, rdx
shr r8, 0x28
pand xmm12, xmm9
por xmm13, xmm12
pshufd xmm3, xmm3, 0
movdqa xmm12, xmm10
pandn xmm12, xmm3
movd xmm3, r8d
shr rdx, 0x30
pand xmm13, xmm10
por xmm12, xmm13
pand xmm12, xmm11
pslldq xmm3, 0xd
movdqa xmm13, xmm11
pandn xmm13, xmm3
por xmm13, xmm12
pand xmm13, xmmword [0x140115c20]
movd xmm3, edx
pslldq xmm3, 0xe
por xmm3, xmm13
pand xmm3, xmmword [0x140115c30]
movzx edx, byte [rbx + r13 + 0xf]
movd xmm12, edx
pslldq xmm12, 0xf
por xmm12, xmm3
movdqa xmm3, xmm12
paddb xmm3, xmmword [0x140110070]
movdqa xmm13, xmm3
pminub xmm13, xmm15
pcmpeqb xmm13, xmm3
pand xmm13, xmm2
pxor xmm13, xmm12
movdqu xmmword [rax + r13], xmm13
lea rdx, [r13 + 0x10]
add r13, 0x20
cmp r13, rsi
mov r13, rdx
jbe 0x14008c630
mov r13, rdx
jmp 0x14008c884
mov eax, 1
xor r13d, r13d
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], r13
cmp r13, rsi
jne 0x14008c8f3
mov rax, qword [rbp - 0x50]
mov qword [rdi + 0x10], rax
mov rax, qword [rbp - 0x60]
mov qword [rdi], rax
mov rax, qword [rbp - 0x58]
mov qword [rdi + 8], rax
mov rax, rdi
movaps xmm6, xmmword [rbp - 0x30]
movaps xmm7, xmmword [rbp - 0x20]
movaps xmm8, xmmword [rbp - 0x10]
movaps xmm9, xmmword [rbp]
movaps xmm10, xmmword [rbp + 0x10]
movaps xmm11, xmmword [rbp + 0x20]
movaps xmm12, xmmword [rbp + 0x30]
movaps xmm13, xmmword [rbp + 0x40]
movaps xmm14, xmmword [rbp + 0x50]
movaps xmm15, xmmword [rbp + 0x60]
add rsp, 0xf8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
add rsi, rbx
add r13, rbx
lea rbx, [rbp - 0x44]
lea r14, [rbp - 0x60]
jmp 0x14008c924
mov edx, dword [rbp - 0x44]
mov rcx, r14
call fcn.14008cfe0
cmp r13, rsi
je 0x14008c895
movzx ecx, byte [r13]
movzx edx, cl
test dl, dl
js 0x14008c940
inc r13
jmp 0x14008c9a0
mov eax, edx
and eax, 0x1f
movzx r8d, byte [r13 + 1]
and r8d, 0x3f
cmp dl, 0xdf
jbe 0x14008c984
movzx edx, byte [r13 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x14008c992
movzx ecx, byte [r13 + 3]
add r13, 4
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
mov edx, ecx
jmp 0x14008c9a0
add r13, 2
shl eax, 6
or eax, r8d
mov edx, eax
jmp 0x14008c9a0
add r13, 3
shl eax, 0xc
or edx, eax
nop dword [rax + rax]
mov rcx, rbx
call fcn.140092990
mov r15d, dword [rbp - 0x40]
test r15d, r15d
je 0x14008c910
mov edx, dword [rbp - 0x44]
mov r12d, dword [rbp - 0x3c]
test r12d, r12d
je 0x14008c9f0
mov rcx, r14
call fcn.14008cfe0
mov rcx, r14
mov edx, r15d
call fcn.14008cfe0
mov rcx, r14
mov edx, r12d
call fcn.14008cfe0
jmp 0x14008c91b
mov rcx, r14
call fcn.14008cfe0
mov rcx, r14
mov edx, r15d
call fcn.14008cfe0
jmp 0x14008c91b
xor r14d, r14d
mov rcx, r14
mov rdx, rsi
call fcn.1400f8e00
int3