Function at 0x1400987f0
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, 0x88
mov r13, r9
mov qword [rsp + 0x30], r8
mov rax, r8
sub rax, rdx
cmp rax, 0x83
jl 0x140098bb4
mov r15, qword [rsp + 0xf8]
add r15, 0xffffffffffffffc0
cmp r15, r13
jle 0x140098bb4
mov qword [rsp + 0x20], rcx
mov r14, qword [rsp + 0xf0]
add qword [rsp + 0x30], 0xffffffffffffff7f
movzx r12d, byte [rdx]
inc rdx
lea rcx, [rsp + 0x40]
mov bpl, 1
xor eax, eax
jmp 0x140098867
xor bpl, 1
mov rdx, rsi
movzx r11d, r12b
lea r8, [0x140161ec0]
movsx r8, word [r8 + r11*2]
mov r9, r11
shr r9, 2
and r11d, 3
movzx r10d, byte [rdx + r9 + 1]
movzx ebx, byte [rdx + r11]
movzx r10d, r10b
movzx r12d, bl
cmove r12d, r10d
lea r10, [rdx + r11 + 1]
lea rsi, [rdx + r9 + 2]
cmovne rsi, r10
mov r9d, dword [rdx]
movzx ebx, r8b
movabs r10, 0xffff00ff0000
mov qword [rsp + 0x38], r10
movzx edi, word [rsp + r11*2 + 0x38]
and edi, r9d
mov r10, r8
sub r10, rdi
jg 0x140098937
lea r9, [rax + r13]
mov r8, r9
sub r8, rbx
add r8, r10
js 0x140098a8e
add r8, r14
test r11, r11
cmove r8, rdx
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [r14 + r13 + 0x10], xmm1
movups xmmword [r14 + r13], xmm0
cmp rax, 0x21
jae 0x140098abe
mov rax, rbx
mov rcx, r8
mov r13, r9
test bpl, 1
jne 0x140098860
cmp rsi, qword [rsp + 0x30]
jae 0x140098bb9
lea rdx, [rax + r13]
cmp rdx, r15
jb 0x140098860
jmp 0x140098bb9
test r8b, r8b
js 0x140098bbc
lea rdi, [rax + r13]
mov r8, rdi
sub r8, rbx
add r8, r10
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [r14 + r13 + 0x10], xmm1
movups xmmword [r14 + r13], xmm0
cmp rax, 0x21
jae 0x140098ad8
test r8, r8
js 0x140098c21
mov r8, rbx
sub r8, r10
lea r13, [r14 + rdi]
cmp r8, 0x10
jae 0x140098afb
cmp rbx, r10
je 0x140098c21
mov rax, r13
sub rax, r8
movzx ecx, byte [rax]
mov byte [r13], cl
movzx ecx, byte [rax + 1]
mov byte [r13 + 1], cl
movzx ecx, byte [rax + 2]
mov byte [r13 + 2], cl
movzx ecx, byte [rax + 3]
mov byte [r13 + 3], cl
movzx ecx, byte [rax + 4]
mov byte [r13 + 4], cl
movzx ecx, byte [rax + 5]
mov byte [r13 + 5], cl
movzx ecx, byte [rax + 6]
mov byte [r13 + 6], cl
movzx ecx, byte [rax + 7]
mov byte [r13 + 7], cl
movzx ecx, byte [rax + 8]
mov byte [r13 + 8], cl
movzx ecx, byte [rax + 9]
mov byte [r13 + 9], cl
movzx ecx, byte [rax + 0xa]
mov byte [r13 + 0xa], cl
movzx ecx, byte [rax + 0xb]
mov byte [r13 + 0xb], cl
movzx ecx, byte [rax + 0xc]
mov byte [r13 + 0xc], cl
movzx ecx, byte [rax + 0xd]
mov byte [r13 + 0xd], cl
movzx ecx, byte [rax + 0xe]
mov byte [r13 + 0xe], cl
movzx eax, byte [rax + 0xf]
mov byte [r13 + 0xf], al
mov eax, dword [0x1401957b4]
mov ecx, dword [0x140194c80]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140098b50
lea rax, [0x1401957a4]
movzx eax, byte [r8 + rax]
lea rcx, [r13 + 0x10]
sub rcx, rax
movups xmm0, xmmword [rcx]
movups xmmword [r13 + 0x10], xmm0
lea rcx, [r13 + 0x20]
sub rcx, rax
movups xmm0, xmmword [rcx]
movups xmmword [r13 + 0x20], xmm0
lea rcx, [r13 + 0x30]
sub rcx, rax
movups xmm0, xmmword [rcx]
movups xmmword [r13 + 0x30], xmm0
add rbx, rdi
xor eax, eax
lea rcx, [rsp + 0x40]
mov r13, rbx
test bpl, 1
jne 0x140098860
jmp 0x14009891a
test r11, r11
jne 0x140098bbc
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [r14 + r13 + 0x10], xmm1
movups xmmword [r14 + r13], xmm0
cmp rax, 0x21
jae 0x140098b36
mov rax, rbx
mov rcx, rdx
jmp 0x14009890d
add r13, r14
movups xmm0, xmmword [rcx + 0x20]
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [r13 + 0x30], xmm1
movups xmmword [r13 + 0x20], xmm0
jmp 0x140098907
add r13, r14
movups xmm0, xmmword [rcx + 0x20]
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [r13 + 0x30], xmm1
movups xmmword [r13 + 0x20], xmm0
test r8, r8
jns 0x140098972
jmp 0x140098c21
mov rax, r13
sub rax, r8
movups xmm0, xmmword [rax]
movups xmmword [r13], xmm0
lea rax, [r13 + 0x10]
sub rax, r8
movups xmm0, xmmword [rax]
movups xmmword [r13 + 0x10], xmm0
lea rax, [r13 + 0x20]
sub rax, r8
movups xmm0, xmmword [rax]
movups xmmword [r13 + 0x20], xmm0
lea rax, [r13 + 0x30]
sub rax, r8
movups xmm0, xmmword [rax]
jmp 0x140098a6d
add r13, r14
movups xmm0, xmmword [rcx + 0x20]
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [r13 + 0x30], xmm1
movups xmmword [r13 + 0x20], xmm0
jmp 0x140098ab3
lea rcx, [0x1401957b4]
mov qword [rsp + 0x28], r8
call fcn.14011fb9c
mov r8, qword [rsp + 0x28]
cmp dword [0x1401957b4], 0xffffffff
jne 0x140098a39
movabs rax, 0x1815121414121211
mov qword [0x1401957a5], rax
mov dword [0x1401957ad], 0x18161412
mov word [0x1401957b1], 0x1c1a
mov byte [0x1401957b3], 0x1e
lea rcx, [0x1401957b4]
call fcn.14011fc34
mov r8, qword [rsp + 0x28]
jmp 0x140098a39
mov rdi, r13
jmp 0x140098bec
mov rdx, rsi
dec rdx
test rax, rax
je 0x140098be4
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [r14 + r13 + 0x10], xmm1
movups xmmword [r14 + r13], xmm0
cmp rax, 0x21
jae 0x140098c0a
add rax, r13
mov rdi, rax
jmp 0x140098be7
mov rdi, r13
mov rcx, qword [rsp + 0x20]
mov qword [rcx], rdx
mov qword [rcx + 8], rdi
mov rax, rcx
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
add r14, r13
movups xmm0, xmmword [rcx + 0x20]
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [r14 + 0x30], xmm1
movups xmmword [r14 + 0x20], xmm0
jmp 0x140098bdc
dec rdx
jmp 0x140098be7