Function at 0x14006ded0
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 0x14006e403
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 0x14006df5d
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 0x14006e403
movzx edi, word [rdx + r11*4 + 6]
inc r11
lea ebp, [rbx + 1]
cmp ebp, ecx
jge 0x14006df71
cmp esi, edi
je 0x14006df50
cmp ebp, r9d
jge 0x14006e030
mov r9d, esi
mov ecx, dword [rax + 0x1714]
movzx ebx, word [rax + 0x1710]
jmp 0x14006df9d
add ecx, r14d
mov dword [rax + 0x1714], ecx
dec ebp
je 0x14006df23
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 0x14006df90
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]
add ecx, 0xfffffff0
mov ebx, r15d
mov dword [rax + 0x1714], ecx
dec ebp
jne 0x14006df9d
jmp 0x14006df23
test esi, esi
je 0x14006e053
cmp esi, r14d
jne 0x14006e0ec
mov r9d, dword [rax + 0x1714]
movzx r14d, word [rax + 0x1710]
mov ebx, ebp
jmp 0x14006e209
mov r9d, dword [rax + 0x1714]
movzx ebp, word [rax + 0x1710]
cmp ebx, 9
jg 0x14006e17d
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 0x14006e2fd
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
add r9d, r14d
add r9d, 0xfffffff0
mov ebp, r15d
jmp 0x14006e300
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 0x14006e1ff
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
add r9d, r15d
add r9d, 0xfffffff0
mov r14d, ebp
jmp 0x14006e202
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 0x14006e379
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
add r9d, r14d
add r9d, 0xfffffff0
mov ebp, r15d
jmp 0x14006e37c
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 0x14006e283
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
add r9d, r15d
add r9d, 0xfffffff0
mov r14d, ebp
jmp 0x14006e286
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 0x14006df18
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 0x14006df1c
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 0x14006e3f1
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 0x14006df1c
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 0x14006e3fa
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 0x14006df1c
add r9d, 3
jmp 0x14006df1c
add r9d, 7
jmp 0x14006df1c
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret