Function at 0x140102840
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, 0x98
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x10], 0xfffffffffffffffe
mov rsi, rcx
movzx eax, byte [r9]
test r8b, 1
jne 0x1401028ee
test al, al
je 0x1401028f2
mov rax, qword [rdx]
mov r8, qword [rdx + 8]
mov rcx, qword [rdx + 0x10]
mov r9, qword [rdx + 0x18]
mov rdx, rax
cmp r8, r9
je 0x140102977
mov rdx, rax
jmp 0x1401028ad
add r8, 0x20
cmp r8, r9
je 0x140102977
movzx r10d, word [r8]
cmp r10w, 2
je 0x140102977
movups xmm0, xmmword [r8 + 2]
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [rbp - 0x42], xmm1
movaps xmmword [rbp - 0x50], xmm0
test r10w, r10w
je 0x1401028a0
mov word [rdx], r10w
movaps xmm0, xmmword [rbp - 0x50]
movups xmmword [rdx + 2], xmm0
movups xmm0, xmmword [rbp - 0x42]
movups xmmword [rdx + 0x10], xmm0
add rdx, 0x20
jmp 0x1401028a0
test al, al
je 0x140102910
mov rbx, qword [rdx + 8]
mov r14, qword [rdx + 0x18]
cmp r14, rbx
je 0x140102998
cmp word [rbx], 0
sete r15b
jmp 0x14010299b
mov rax, qword [rdx]
mov r8, qword [rdx + 8]
mov rcx, qword [rdx + 0x10]
mov r9, qword [rdx + 0x18]
mov rdx, rax
cmp r8, r9
je 0x140102977
mov rdx, rax
jmp 0x140102939
add r8, 0x20
cmp r8, r9
je 0x140102977
movzx r10d, word [r8]
cmp r10w, 2
je 0x140102977
movups xmm0, xmmword [r8 + 2]
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [rbp - 0x42], xmm1
movaps xmmword [rbp - 0x50], xmm0
test r10w, r10w
jne 0x140102930
mov word [rdx], 0
movaps xmm0, xmmword [rbp - 0x50]
movups xmmword [rdx + 2], xmm0
movups xmm0, xmmword [rbp - 0x42]
movups xmmword [rdx + 0x10], xmm0
add rdx, 0x20
jmp 0x140102930
movabs r8, 0x7ffffffffffffff
and rcx, r8
mov r8d, 4
xor r9d, r9d
mov r10d, 4
jmp 0x140102a25
mov r15b, 1
mov rax, qword [rdx]
mov qword [rbp - 0x58], rax
mov rax, qword [rdx + 0x10]
mov qword [rbp + 8], rax
mov qword [rbp - 0x10], 0
mov qword [rbp - 8], 4
mov qword [rbp], 0
mov qword [rbp - 0x28], 0
mov qword [rbp - 0x20], 4
mov qword [rbp - 0x18], 0
cmp r14, rbx
jne 0x140102a9e
mov rdx, qword [rbp + 8]
test rdx, rdx
je 0x1401029ff
shl rdx, 5
mov r8d, 4
mov rcx, qword [rbp - 0x58]
call fcn.14000bcb0
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 8]
mov rdx, qword [rbp]
mov r9, qword [rbp - 0x28]
mov r8, qword [rbp - 0x20]
mov r10, qword [rbp - 0x18]
shl rdx, 5
add rdx, rax
shl r10, 5
add r10, r8
mov qword [rsi], rax
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rcx
mov qword [rsi + 0x18], rdx
mov qword [rsi + 0x20], r8
mov qword [rsi + 0x28], r8
mov qword [rsi + 0x30], r9
mov qword [rsi + 0x38], r10
mov rax, rsi
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rcx, rdi
call fcn.140105d70
mov rax, qword [rdi + 8]
mov rcx, r13
shl rcx, 5
mov word [rax + rcx], r12w
movaps xmm0, xmmword [rbp - 0x50]
movups xmmword [rax + rcx + 2], xmm0
movups xmm0, xmmword [rbp - 0x42]
movups xmmword [rax + rcx + 0x10], xmm0
inc r13
mov qword [rdi + 0x10], r13
add rbx, 0x20
cmp rbx, r14
je 0x1401029e3
movzx r12d, word [rbx]
cmp r12w, 2
je 0x1401029e3
movups xmm0, xmmword [rbx + 2]
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x42], xmm1
movaps xmmword [rbp - 0x50], xmm0
test r12w, r12w
setne al
xor al, r15b
je 0x140102ae0
mov r13, qword [rbp]
lea rdi, [rbp - 0x10]
cmp r13, qword [rbp - 0x10]
je 0x140102a60
jmp 0x140102a68
mov r13, qword [rbp - 0x18]
lea rdi, [rbp - 0x28]
cmp r13, qword [rbp - 0x28]
je 0x140102a60
jmp 0x140102a68