Function at 0x140005c30
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
test r8d, r8d
js 0x14000615e
mov rax, rcx
movzx r10d, word [rdx + 2]
xor r11d, r11d
test r10d, r10d
sete r11b
mov r9d, 0x8a
mov ecx, 7
cmove ecx, r9d
mov r9d, 4
sub r9d, r11d
inc r8d
xor r11d, r11d
mov ebp, 0xffffffff
xor edi, edi
jmp 0x140005c8f
mov esi, ebp
mov ebp, esi
mov edi, ebx
cmp r11, r8
je 0x14000615e
mov esi, r10d
movzx r10d, word [rdx + r11*4 + 6]
lea ebx, [rdi + 1]
cmp esi, r10d
sete r14b
cmp ebx, ecx
jge 0x1400060fd
inc r11
test r14b, r14b
jne 0x140005c80
cmp ebx, r9d
jge 0x140005d5b
mov r9d, esi
mov ecx, dword [rax + 0x1710]
movzx edi, word [rax + 0x170c]
movzx r14d, word [rax + r9*4 + 0xaa6]
mov r15d, 0x10
movzx ebp, word [rax + r9*4 + 0xaa4]
mov r12d, ebp
shl r12d, cl
sub r15d, r14d
or edi, r12d
mov word [rax + 0x170c], di
cmp ecx, r15d
jg 0x140005d0e
add ecx, r14d
mov dword [rax + 0x1710], ecx
dec ebx
je 0x140005e85
jmp 0x140005ccb
mov rcx, qword [rax + 0x10]
mov r15d, dword [rax + 0x28]
lea r12d, [r15 + 1]
mov dword [rax + 0x28], r12d
mov byte [rcx + r15], dil
mov cl, byte [rax + 0x170d]
mov rdi, qword [rax + 0x10]
mov r15d, dword [rax + 0x28]
lea r12d, [r15 + 1]
mov dword [rax + 0x28], r12d
mov byte [rdi + r15], cl
mov edi, dword [rax + 0x1710]
mov cl, 0x10
sub cl, dil
shr ebp, cl
mov word [rax + 0x170c], bp
lea ecx, [r14 + rdi]
add ecx, 0xfffffff0
mov edi, ebp
jmp 0x140005cfe
test esi, esi
jne 0x140005dd3
mov r9d, dword [rax + 0x1710]
movzx ebx, word [rax + 0x170c]
cmp edi, 9
jg 0x140005eb5
movzx r14d, word [rax + 0xaea]
movzx ebp, word [rax + 0xae8]
mov r15d, ebp
mov ecx, r9d
shl r15d, cl
mov ecx, 0x10
sub ecx, r14d
or ebx, r15d
cmp r9d, ecx
jg 0x140005f67
add r9d, r14d
mov dword [rax + 0x1710], r9d
add edi, 0xfffe
cmp r9d, 0xe
jge 0x1400060a4
mov ecx, r9d
shl edi, cl
or ebx, edi
mov word [rax + 0x170c], bx
add r9d, 3
jmp 0x140005e7e
cmp esi, ebp
je 0x140006169
mov ecx, esi
movzx ebx, word [rax + rcx*4 + 0xaa6]
mov r9d, dword [rax + 0x1710]
mov r15d, 0x10
sub r15d, ebx
movzx r14d, word [rax + rcx*4 + 0xaa4]
mov ebp, r14d
mov ecx, r9d
shl ebp, cl
or bp, word [rax + 0x170c]
mov word [rax + 0x170c], bp
cmp r9d, r15d
jg 0x140006059
add r9d, ebx
mov dword [rax + 0x1710], r9d
movzx ebx, word [rax + 0xae6]
movzx r14d, word [rax + 0xae4]
mov r15d, r14d
mov ecx, r9d
shl r15d, cl
mov ecx, 0x10
sub ecx, ebx
or ebp, r15d
cmp r9d, ecx
jg 0x140005fb7
add r9d, ebx
mov dword [rax + 0x1710], r9d
add edi, 0xfffd
cmp r9d, 0xf
jge 0x140006105
mov ecx, r9d
shl edi, cl
or ebp, edi
mov word [rax + 0x170c], bp
add r9d, 2
mov dword [rax + 0x1710], r9d
xor ebx, ebx
test r10d, r10d
je 0x140005ea5
xor ecx, ecx
cmp esi, r10d
sete cl
mov r9d, 4
sub r9d, ecx
xor ecx, 7
jmp 0x140005c82
mov ecx, 0x8a
mov r9d, 3
jmp 0x140005c82
movzx r14d, word [rax + 0xaee]
movzx ebp, word [rax + 0xaec]
mov r15d, ebp
mov ecx, r9d
shl r15d, cl
mov ecx, 0x10
sub ecx, r14d
or ebx, r15d
cmp r9d, ecx
jg 0x140006009
add r9d, r14d
mov dword [rax + 0x1710], r9d
add edi, 0xfff6
cmp r9d, 0xa
jge 0x140005f0e
mov ecx, r9d
shl edi, cl
or ebx, edi
mov word [rax + 0x170c], bx
add r9d, 7
jmp 0x140005e7e
movzx ebp, di
mov ecx, r9d
shl edi, cl
or ebx, edi
mov word [rax + 0x170c], bx
mov rcx, qword [rax + 0x10]
mov r9d, dword [rax + 0x28]
lea edi, [r9 + 1]
mov dword [rax + 0x28], edi
mov byte [rcx + r9], bl
mov cl, byte [rax + 0x170d]
mov r9, qword [rax + 0x10]
mov edi, dword [rax + 0x28]
lea ebx, [rdi + 1]
mov dword [rax + 0x28], ebx
mov byte [r9 + rdi], cl
mov r9d, dword [rax + 0x1710]
mov cl, 0x10
sub cl, r9b
shr ebp, cl
mov word [rax + 0x170c], bp
add r9d, 0xfffffff7
jmp 0x140005e7e
mov word [rax + 0x170c], bx
mov rcx, qword [rax + 0x10]
mov r9d, dword [rax + 0x28]
lea r15d, [r9 + 1]
mov dword [rax + 0x28], r15d
mov byte [rcx + r9], bl
mov cl, byte [rax + 0x170d]
mov r9, qword [rax + 0x10]
mov ebx, dword [rax + 0x28]
lea r15d, [rbx + 1]
mov dword [rax + 0x28], r15d
mov byte [r9 + rbx], cl
mov r9d, dword [rax + 0x1710]
mov cl, 0x10
sub cl, r9b
shr ebp, cl
add r9d, r14d
add r9d, 0xfffffff0
mov ebx, ebp
jmp 0x140005da5
mov word [rax + 0x170c], bp
mov rcx, qword [rax + 0x10]
mov r9d, dword [rax + 0x28]
lea r15d, [r9 + 1]
mov dword [rax + 0x28], r15d
mov byte [rcx + r9], bpl
mov cl, byte [rax + 0x170d]
mov r9, qword [rax + 0x10]
mov r15d, dword [rax + 0x28]
lea ebp, [r15 + 1]
mov dword [rax + 0x28], ebp
mov byte [r9 + r15], cl
mov r9d, dword [rax + 0x1710]
mov cl, 0x10
sub cl, r9b
shr r14d, cl
add r9d, ebx
add r9d, 0xfffffff0
mov ebp, r14d
jmp 0x140005e55
mov word [rax + 0x170c], bx
mov rcx, qword [rax + 0x10]
mov r9d, dword [rax + 0x28]
lea r15d, [r9 + 1]
mov dword [rax + 0x28], r15d
mov byte [rcx + r9], bl
mov cl, byte [rax + 0x170d]
mov r9, qword [rax + 0x10]
mov ebx, dword [rax + 0x28]
lea r15d, [rbx + 1]
mov dword [rax + 0x28], r15d
mov byte [r9 + rbx], cl
mov r9d, dword [rax + 0x1710]
mov cl, 0x10
sub cl, r9b
shr ebp, cl
add r9d, r14d
add r9d, 0xfffffff0
mov ebx, ebp
jmp 0x140005ee4
mov rcx, qword [rax + 0x10]
mov r9d, dword [rax + 0x28]
lea r15d, [r9 + 1]
mov dword [rax + 0x28], r15d
mov byte [rcx + r9], bpl
mov cl, byte [rax + 0x170d]
mov r9, qword [rax + 0x10]
mov r15d, dword [rax + 0x28]
lea ebp, [r15 + 1]
mov dword [rax + 0x28], ebp
mov byte [r9 + r15], cl
mov r9d, dword [rax + 0x1710]
mov cl, 0x10
sub cl, r9b
shr r14d, cl
add r9d, ebx
add r9d, 0xfffffff0
mov ebp, r14d
jmp 0x140005e20
movzx ebp, di
mov ecx, r9d
shl edi, cl
or ebx, edi
mov word [rax + 0x170c], bx
mov rcx, qword [rax + 0x10]
mov r9d, dword [rax + 0x28]
lea edi, [r9 + 1]
mov dword [rax + 0x28], edi
mov byte [rcx + r9], bl
mov cl, byte [rax + 0x170d]
mov r9, qword [rax + 0x10]
mov edi, dword [rax + 0x28]
lea ebx, [rdi + 1]
mov dword [rax + 0x28], ebx
mov byte [r9 + rdi], cl
mov r9d, dword [rax + 0x1710]
mov cl, 0x10
sub cl, r9b
shr ebp, cl
mov word [rax + 0x170c], bp
add r9d, 0xfffffff3
jmp 0x140005e7e
xor r14d, r14d
jmp 0x140005caa
movzx ebx, di
mov ecx, r9d
shl edi, cl
or ebp, edi
mov word [rax + 0x170c], bp
mov rcx, qword [rax + 0x10]
mov r9d, dword [rax + 0x28]
lea edi, [r9 + 1]
mov dword [rax + 0x28], edi
mov byte [rcx + r9], bpl
mov cl, byte [rax + 0x170d]
mov r9, qword [rax + 0x10]
mov edi, dword [rax + 0x28]
lea ebp, [rdi + 1]
mov dword [rax + 0x28], ebp
mov byte [r9 + rdi], cl
mov r9d, dword [rax + 0x1710]
mov cl, 0x10
sub cl, r9b
shr ebx, cl
mov word [rax + 0x170c], bx
add r9d, 0xfffffff2
jmp 0x140005e7e
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov r9d, dword [rax + 0x1710]
movzx ebp, word [rax + 0x170c]
mov edi, ebx
jmp 0x140005e27