Function at 0x14005f6b0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x20
mov r15, r9
mov rbp, r8
mov r14, rdx
mov rbx, rcx
mov rsi, qword [rcx]
mov rdi, r9
mov rcx, rsi
cmp r9, r8
jae 0x14005f8f7
movabs r12, 0x7fffffffffffffff
nop
mov r8, qword [r14]
add r8, rdi
test rcx, rcx
jne 0x14005f735
test byte [r8], 0x80
seta al
mov byte [rbx + 0x25], al
test byte [r8], 0x40
seta al
mov byte [rbx + 0x26], al
test byte [r8], 0x20
seta al
mov byte [rbx + 0x27], al
test byte [r8], 0x10
seta al
mov byte [rbx + 0x28], al
movzx eax, byte [r8]
and al, 0xf
movzx eax, al
mov word [rbx + 0x2a], ax
jmp 0x14005f8db
cmp rcx, 1
jne 0x14005f778
test byte [r8], 0x80
seta al
mov byte [rbx + 0x20], al
movzx edx, byte [r8]
and edx, 0x7f
mov qword [rbx + 0x10], rdx
cmp rdx, 0x7e
jae 0x14005f8db
mov rcx, qword [rbx + 0x30]
mov rax, qword [rcx + 0x10]
sub rax, qword [rcx]
cmp rdx, rax
jbe 0x14005f8db
call fcn.14005d5b0
jmp 0x14005f8db
mov r10, qword [rbx + 0x10]
cmp r10, 0x7e
jne 0x14005f7d4
lea rax, [rcx - 2]
cmp rax, 1
ja 0x14005f7d4
mov rax, qword [rbx + 0x18]
shl rax, 8
mov qword [rbx + 0x18], rax
movzx edx, byte [r8]
or rdx, rax
mov qword [rbx + 0x18], rdx
cmp rcx, 3
jne 0x14005f8db
mov rcx, qword [rbx + 0x30]
mov rax, qword [rcx + 0x10]
sub rax, qword [rcx]
cmp rdx, rax
jbe 0x14005f8db
cmp rdx, r12
ja 0x14005f921
call fcn.14005d5b0
jmp 0x14005f8db
cmp r10, 0x7f
jne 0x14005f82c
lea rax, [rcx - 2]
cmp rax, 7
ja 0x14005f82c
mov rax, qword [rbx + 0x18]
shl rax, 8
mov qword [rbx + 0x18], rax
movzx edx, byte [r8]
or rdx, rax
mov qword [rbx + 0x18], rdx
cmp rcx, 9
jne 0x14005f8db
mov rcx, qword [rbx + 0x30]
mov rax, qword [rcx + 0x10]
sub rax, qword [rcx]
cmp rdx, rax
jbe 0x14005f8db
cmp rdx, r12
ja 0x14005f921
call fcn.14005d5b0
jmp 0x14005f8db
movzx r11d, byte [rbx + 0x20]
test r11b, r11b
je 0x14005f851
mov rdx, qword [rbx + 8]
cmp rdx, 4
jae 0x14005f851
movzx eax, byte [r8]
mov byte [rdx + rbx + 0x21], al
inc qword [rbx + 8]
jmp 0x14005f8db
mov r9, qword [rbx + 0x30]
mov rdx, qword [r9 + 8]
mov rax, rdx
sub rax, qword [r9]
cmp r10, 0x7e
jb 0x14005f869
mov r10, qword [rbx + 0x18]
cmp rax, r10
jae 0x14005f8f7
test r11b, r11b
je 0x14005f8a3
and eax, 3
movzx eax, byte [rax + rbx + 0x21]
xor al, byte [r8]
mov byte [rsp + 0x50], al
cmp rdx, qword [r9 + 0x10]
je 0x14005f894
mov byte [rdx], al
inc qword [r9 + 8]
jmp 0x14005f8bd
lea r8, [rsp + 0x50]
mov rcx, r9
call fcn.14005da10
jmp 0x14005f8bd
cmp rdx, qword [r9 + 0x10]
je 0x14005f8b5
movzx eax, byte [r8]
mov byte [rdx], al
inc qword [r9 + 8]
jmp 0x14005f8bd
mov rcx, r9
call fcn.14005da10
mov rax, qword [rbx + 0x30]
mov rcx, qword [rax + 8]
sub rcx, qword [rax]
mov rax, qword [rbx + 0x10]
cmp rax, 0x7e
jb 0x14005f8d6
mov rax, qword [rbx + 0x18]
cmp rcx, rax
je 0x14005f8f1
mov rcx, qword [rbx]
inc rcx
mov qword [rbx], rcx
inc rdi
cmp rdi, rbp
jae 0x14005f8f7
jmp 0x14005f6f0
inc qword [rbx]
mov rcx, qword [rbx]
sub rsi, rcx
sub rsi, r15
add rsi, rbp
mov rax, qword [rsp + 0x70]
mov qword [rax], rsi
mov al, 1
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
call fcn.140003400
int3