Function at 0x14006fec0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
test r8d, r8d
js 0x1400703eb
mov rax, rcx
movzx esi, word [rdx + 2]
xor r9d, r9d
test esi, esi
mov r10d, 0x8a
mov ecx, 7
cmove ecx, r10d
setne r9b
add r9d, 3
inc r8d
xor r11d, r11d
mov r14d, 0xffffffff
xor ebx, ebx
jmp 0x14006ff4d
add r9d, 2
mov dword [rax + 0x1714], r9d
xor r9d, r9d
cmp esi, edi
sete r9b
mov ecx, r9d
xor ecx, 7
test edi, edi
sete bl
cmove ecx, r10d
or r9b, bl
movzx ebx, r9b
mov r9d, 4
sub r9d, ebx
xor ebp, ebp
mov r14d, esi
mov esi, edi
mov ebx, ebp
cmp r11, r8
je 0x1400703eb
movzx edi, word [rdx + r11*4 + 6]
inc r11
lea ebp, [rbx + 1]
cmp ebp, ecx
jge 0x14006ff61
cmp esi, edi
je 0x14006ff40
cmp ebp, r9d
jge 0x140070020
mov r9d, esi
mov ecx, dword [rax + 0x1714]
movzx ebx, word [rax + 0x1710]
jmp 0x14006ff8d
add ecx, r14d
mov dword [rax + 0x1714], ecx
dec ebp
je 0x14006ff13
movzx r14d, word [rax + r9*4 + 0xaa6]
mov r12d, 0x10
movzx r15d, word [rax + r9*4 + 0xaa4]
mov r13d, r15d
shl r13d, cl
sub r12d, r14d
or ebx, r13d
mov word [rax + 0x1710], bx
cmp ecx, r12d
jle 0x14006ff80
mov rcx, qword [rax + 0x10]
mov r12d, dword [rax + 0x28]
lea r13d, [r12 + 1]
mov dword [rax + 0x28], r13d
mov byte [rcx + r12], bl
movzx ecx, byte [rax + 0x1711]
mov rbx, qword [rax + 0x10]
mov r12d, dword [rax + 0x28]
lea r13d, [r12 + 1]
mov dword [rax + 0x28], r13d
mov byte [rbx + r12], cl
mov ebx, dword [rax + 0x1714]
mov cl, 0x10
sub cl, bl
shr r15d, cl
mov word [rax + 0x1710], r15w
lea ecx, [r14 + rbx - 0x10]
mov ebx, r15d
mov dword [rax + 0x1714], ecx
dec ebp
jne 0x14006ff8d
jmp 0x14006ff13
test esi, esi
je 0x140070043
cmp esi, r14d
jne 0x1400700da
mov r9d, dword [rax + 0x1714]
movzx r14d, word [rax + 0x1710]
mov ebx, ebp
jmp 0x1400701f3
mov r9d, dword [rax + 0x1714]
movzx ebp, word [rax + 0x1710]
cmp ebx, 9
jg 0x140070169
movzx r14d, word [rax + 0xaea]
mov r12d, 0x10
movzx r15d, word [rax + 0xae8]
mov r13d, r15d
mov ecx, r9d
shl r13d, cl
sub r12d, r14d
or ebp, r13d
mov word [rax + 0x1710], bp
cmp r9d, r12d
jle 0x1400702e5
mov rcx, qword [rax + 0x10]
mov r9d, dword [rax + 0x28]
lea r12d, [r9 + 1]
mov dword [rax + 0x28], r12d
mov byte [rcx + r9], bpl
movzx ecx, byte [rax + 0x1711]
mov r9, qword [rax + 0x10]
mov r12d, dword [rax + 0x28]
lea ebp, [r12 + 1]
mov dword [rax + 0x28], ebp
mov byte [r9 + r12], cl
mov r9d, dword [rax + 0x1714]
mov cl, 0x10
sub cl, r9b
shr r15d, cl
lea r9d, [r14 + r9 - 0x10]
mov ebp, r15d
jmp 0x1400702e8
mov ecx, esi
movzx r15d, word [rax + rcx*4 + 0xaa6]
mov r9d, dword [rax + 0x1714]
mov r12d, 0x10
sub r12d, r15d
movzx ebp, word [rax + rcx*4 + 0xaa4]
mov r14d, ebp
mov ecx, r9d
shl r14d, cl
or r14w, word [rax + 0x1710]
mov word [rax + 0x1710], r14w
cmp r9d, r12d
jle 0x1400701e9
mov rcx, qword [rax + 0x10]
mov r9d, dword [rax + 0x28]
lea r12d, [r9 + 1]
mov dword [rax + 0x28], r12d
mov byte [rcx + r9], r14b
movzx ecx, byte [rax + 0x1711]
mov r9, qword [rax + 0x10]
mov r14d, dword [rax + 0x28]
lea r12d, [r14 + 1]
mov dword [rax + 0x28], r12d
mov byte [r9 + r14], cl
mov r9d, dword [rax + 0x1714]
mov cl, 0x10
sub cl, r9b
shr ebp, cl
lea r9d, [r15 + r9 - 0x10]
mov r14d, ebp
jmp 0x1400701ec
movzx r14d, word [rax + 0xaee]
mov r12d, 0x10
movzx r15d, word [rax + 0xaec]
mov r13d, r15d
mov ecx, r9d
shl r13d, cl
sub r12d, r14d
or ebp, r13d
mov word [rax + 0x1710], bp
cmp r9d, r12d
jle 0x140070361
mov rcx, qword [rax + 0x10]
mov r9d, dword [rax + 0x28]
lea r12d, [r9 + 1]
mov dword [rax + 0x28], r12d
mov byte [rcx + r9], bpl
movzx ecx, byte [rax + 0x1711]
mov r9, qword [rax + 0x10]
mov r12d, dword [rax + 0x28]
lea ebp, [r12 + 1]
mov dword [rax + 0x28], ebp
mov byte [r9 + r12], cl
mov r9d, dword [rax + 0x1714]
mov cl, 0x10
sub cl, r9b
shr r15d, cl
lea r9d, [r14 + r9 - 0x10]
mov ebp, r15d
jmp 0x140070364
add r9d, r15d
mov dword [rax + 0x1714], r9d
movzx r15d, word [rax + 0xae6]
mov r12d, 0x10
movzx ebp, word [rax + 0xae4]
mov r13d, ebp
mov ecx, r9d
shl r13d, cl
sub r12d, r15d
or r14d, r13d
mov word [rax + 0x1710], r14w
cmp r9d, r12d
jle 0x14007026b
mov rcx, qword [rax + 0x10]
mov r9d, dword [rax + 0x28]
lea r12d, [r9 + 1]
mov dword [rax + 0x28], r12d
mov byte [rcx + r9], r14b
movzx ecx, byte [rax + 0x1711]
mov r9, qword [rax + 0x10]
mov r14d, dword [rax + 0x28]
lea r12d, [r14 + 1]
mov dword [rax + 0x28], r12d
mov byte [r9 + r14], cl
mov r9d, dword [rax + 0x1714]
mov cl, 0x10
sub cl, r9b
shr ebp, cl
lea r9d, [r15 + r9 - 0x10]
mov r14d, ebp
jmp 0x14007026e
add r9d, r15d
add ebx, 0xfffd
mov ebp, ebx
mov ecx, r9d
shl ebp, cl
mov dword [rax + 0x1714], r9d
or r14d, ebp
mov word [rax + 0x1710], r14w
cmp r9d, 0xf
jl 0x14006ff08
movzx ebx, bx
mov rcx, qword [rax + 0x10]
mov r9d, dword [rax + 0x28]
lea ebp, [r9 + 1]
mov dword [rax + 0x28], ebp
mov byte [rcx + r9], r14b
movzx ecx, byte [rax + 0x1711]
mov r9, qword [rax + 0x10]
mov r14d, dword [rax + 0x28]
lea ebp, [r14 + 1]
mov dword [rax + 0x28], ebp
mov byte [r9 + r14], cl
mov r9d, dword [rax + 0x1714]
mov cl, 0x10
sub cl, r9b
shr ebx, cl
mov word [rax + 0x1710], bx
add r9d, 0xfffffff2
jmp 0x14006ff0c
add r9d, r14d
add ebx, 0xfffe
mov r14d, ebx
mov ecx, r9d
shl r14d, cl
mov dword [rax + 0x1714], r9d
or ebp, r14d
mov word [rax + 0x1710], bp
cmp r9d, 0xe
jl 0x1400703d9
movzx ebx, bx
mov rcx, qword [rax + 0x10]
mov r9d, dword [rax + 0x28]
lea r14d, [r9 + 1]
mov dword [rax + 0x28], r14d
mov byte [rcx + r9], bpl
movzx ecx, byte [rax + 0x1711]
mov r9, qword [rax + 0x10]
mov r14d, dword [rax + 0x28]
lea ebp, [r14 + 1]
mov dword [rax + 0x28], ebp
mov byte [r9 + r14], cl
mov r9d, dword [rax + 0x1714]
mov cl, 0x10
sub cl, r9b
shr ebx, cl
mov word [rax + 0x1710], bx
add r9d, 0xfffffff3
jmp 0x14006ff0c
add r9d, r14d
add ebx, 0xfff6
mov r14d, ebx
mov ecx, r9d
shl r14d, cl
mov dword [rax + 0x1714], r9d
or ebp, r14d
mov word [rax + 0x1710], bp
cmp r9d, 0xa
jl 0x1400703e2
movzx ebx, bx
mov rcx, qword [rax + 0x10]
mov r9d, dword [rax + 0x28]
lea r14d, [r9 + 1]
mov dword [rax + 0x28], r14d
mov byte [rcx + r9], bpl
movzx ecx, byte [rax + 0x1711]
mov r9, qword [rax + 0x10]
mov r14d, dword [rax + 0x28]
lea ebp, [r14 + 1]
mov dword [rax + 0x28], ebp
mov byte [r9 + r14], cl
mov r9d, dword [rax + 0x1714]
mov cl, 0x10
sub cl, r9b
shr ebx, cl
mov word [rax + 0x1710], bx
add r9d, 0xfffffff7
jmp 0x14006ff0c
add r9d, 3
jmp 0x14006ff0c
add r9d, 7
jmp 0x14006ff0c
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret