Function at 0x14005d020
Capabilities:
Encrypt data using rc4 prga

Disassembly:
xor r10d, r10d
mov r8, rdx
mov r9, rcx
cmp rdx, 4
jae 0x14003c954
mov eax, r10d
jmp 0x14003c983
mov ecx, dword [rcx]
cmp ecx, 0xfd2fb525
je 0x14003c97e
cmp ecx, 0xfd2fb526
je 0x14003c977
cmp ecx, 0xfd2fb527
mov eax, 7
cmovne eax, r10d
jmp 0x14003c983
mov eax, 6
jmp 0x14003c983
mov eax, 5
sub eax, 5
je 0x14003c9aa
sub eax, 1
je 0x14003c9a2
cmp eax, 1
je 0x14003c99a
mov rax, 0xfffffffffffffff6
ret
mov rcx, r9
jmp 0x14005d020
mov rcx, r9
jmp 0x140058ed0
cmp r8, 5
jae 0x14003c9bb
mov rdx, 0xffffffffffffffb8
mov rax, rdx
ret
cmp dword [r9], 0xfd2fb525
je 0x14003c9cf
mov rdx, 0xfffffffffffffff6
mov rax, rdx
ret
lea rdx, [r9 + 5]
add r8, 0xfffffffffffffffb
cmp r8, 3
jb 0x14003ca3e
movzx ecx, byte [rdx]
mov eax, ecx
shr eax, 6
cmp eax, 3
jne 0x14003c9ef
mov rax, r10
jmp 0x14003ca1d
cmp eax, 2
jne 0x14003c9fb
mov eax, 1
jmp 0x14003ca1d
mov rax, rcx
movzx ecx, byte [rdx + 1]
and eax, 7
shl rax, 8
add rax, rcx
movzx ecx, byte [rdx + 2]
shl rax, 8
add rax, rcx
cmp rax, 0xffffffffffffff88
ja 0x14003ca45
add rdx, 3
sub r8, 3
cmp rax, r8
ja 0x14003c9b0
test rax, rax
je 0x14003ca37
add rdx, rax
sub r8, rax
jmp 0x14003c9d7
sub rdx, r9
mov rax, rdx
ret
mov rax, 0xffffffffffffffb8
mov rdx, rax
ret
movzx eax, byte [rcx + 4]
lea r9, [0x1400914d0]
shr rax, 6
mov r10, rcx
mov r9, qword [r9 + rax*8]
add r9, 5
cmp r9, 0xffffffffffffff88
jbe 0x140058ef4
mov rax, r9
ret
cmp dword [rcx], 0xfd2fb526
je 0x140058f04
mov rax, 0xfffffffffffffff6
ret
lea rax, [r9 + 3]
cmp rdx, rax
jb 0x140058f7d
lea r8, [r9 + rcx]
sub rdx, r9
cmp rdx, 3
jb 0x140058f7d
movzx ecx, byte [r8]
mov eax, ecx
shr eax, 6
cmp eax, 3
jne 0x140058f2c
xor eax, eax
jmp 0x140058f5c
cmp eax, 2
jne 0x140058f38
mov eax, 1
jmp 0x140058f5c
mov rax, rcx
movzx ecx, byte [r8 + 1]
and eax, 7
shl rax, 8
add rax, rcx
movzx ecx, byte [r8 + 2]
shl rax, 8
add rax, rcx
cmp rax, 0xffffffffffffff88
ja 0x140058f84
add r8, 3
sub rdx, 3
cmp rax, rdx
ja 0x140058f7d
test rax, rax
je 0x140058f76
add r8, rax
sub rdx, rax
jmp 0x140058f14
sub r8, r10
mov rax, r8
ret
mov rax, 0xffffffffffffffb8
ret
sub rsp, 8
mov r10, rcx
cmp rdx, 8
jb 0x14005d130
movzx ecx, byte [rcx + 4]
mov r9d, ecx
mov qword [rsp], rbx
mov r8d, ecx
lea rbx, [0x140000000]
and r9d, 3
shr r8d, 5
shr ecx, 6
and r8d, 1
je 0x14005d068
cmp qword [rbx + rcx*8 + 0x91ec8], 0
mov r11d, 6
je 0x14005d06e
mov r11d, 5
mov rcx, qword [rbx + rcx*8 + 0x91ec8]
add rcx, qword [rbx + r9*8 + 0x91d80]
mov rbx, qword [rsp]
add rcx, r11
mov r9d, r8d
xor r9, 1
add r9, rcx
cmp r9, 0xffffffffffffff88
jbe 0x14005d09d
mov rax, r9
add rsp, 8
ret
cmp dword [r10], 0xfd2fb527
je 0x14005d0b2
mov rax, 0xfffffffffffffff6
add rsp, 8
ret
lea rax, [r9 + 3]
cmp rdx, rax
jb 0x14005d130
lea r8, [r9 + r10]
sub rdx, r9
cmp rdx, 3
jb 0x14005d130
movzx eax, byte [r8]
mov r9d, eax
shr r9d, 6
cmp r9d, 3
jne 0x14005d0dd
xor eax, eax
jmp 0x14005d10a
cmp r9d, 2
jne 0x14005d0e9
lea eax, [r9 - 1]
jmp 0x14005d10a
movzx ecx, byte [r8 + 1]
and eax, 7
shl rax, 8
add rax, rcx
movzx ecx, byte [r8 + 2]
shl rax, 8
add rax, rcx
cmp rax, 0xffffffffffffff88
ja 0x14005d137
add r8, 3
sub rdx, 3
cmp r9d, 3
je 0x14005d125
cmp rax, rdx
ja 0x14005d130
add r8, rax
sub rdx, rax
jmp 0x14005d0c2
sub r8, r10
mov rax, r8
add rsp, 8
ret
mov rax, 0xffffffffffffffb8
add rsp, 8
ret