Function at 0x14000cad0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
test rdx, rdx
je 0x14000cae6
mov rax, qword [rcx + 0x48]
cmp rax, 0x7f
jbe 0x14000caed
xor eax, eax
jmp 0x14000ce69
lea r9, [rax*8]
lea r8, [rax + 1]
lea rdi, [rcx + 0x50]
mov rsi, rdx
add qword [rcx], r9
mov qword [rcx + 0x48], r8
mov byte [rcx + rax + 0x50], 0x80
mov rax, qword [rcx + 0x48]
cmp rax, 0x71
jb 0x14000cbe4
cmp rax, 0x7f
ja 0x14000cbd4
mov r9d, eax
neg r9d
mov r8, rax
xor r8, 0x7f
and r9d, 7
je 0x14000ce71
nop dword [rax + rax]
lea rdx, [rax + 1]
dec r9
mov qword [rcx + 0x48], rdx
mov byte [rcx + rax + 0x50], 0
mov rax, rdx
jne 0x14000cb40
cmp r8, 7
jb 0x14000cbd4
nop dword [rax + rax]
lea rax, [rdx + 1]
lea r8, [rdx + 2]
lea r9, [rdx + 3]
mov qword [rcx + 0x48], rax
mov byte [rcx + rdx + 0x50], 0
mov qword [rcx + 0x48], r8
lea r8, [rdx + 4]
mov byte [rcx + rdx + 0x51], 0
mov qword [rcx + 0x48], r9
mov byte [rcx + rdx + 0x52], 0
lea r9, [rdx + 5]
mov qword [rcx + 0x48], r8
lea r8, [rdx + 6]
mov byte [rcx + rdx + 0x53], 0
mov qword [rcx + 0x48], r9
mov byte [rcx + rdx + 0x54], 0
lea r9, [rdx + 7]
mov qword [rcx + 0x48], r8
lea r8, [rdx + 8]
mov byte [rcx + rdx + 0x55], 0
mov qword [rcx + 0x48], r9
mov byte [rcx + rdx + 0x56], 0
mov qword [rcx + 0x48], r8
mov byte [rcx + rdx + 0x57], 0
mov rdx, r8
cmp r8, 0x80
jne 0x14000cb60
mov rdx, rdi
mov rbx, rcx
call fcn.14000bbd0
mov rcx, rbx
xor eax, eax
mov r8d, eax
neg r8d
mov rdx, rax
and r8d, 7
je 0x14000cc16
mov r9, rax
nop word cs:[rax + rax]
lea rdx, [r9 + 1]
dec r8
mov qword [rcx + 0x48], rdx
mov byte [rcx + r9 + 0x50], 0
mov r9, rdx
jne 0x14000cc00
add rax, 0xffffffffffffff8f
cmp rax, 7
jb 0x14000cc91
lea rax, [rdx + 1]
lea r8, [rdx + 2]
lea r9, [rdx + 3]
mov qword [rcx + 0x48], rax
mov byte [rcx + rdx + 0x50], 0
mov qword [rcx + 0x48], r8
lea r8, [rdx + 4]
mov byte [rcx + rdx + 0x51], 0
mov qword [rcx + 0x48], r9
mov byte [rcx + rdx + 0x52], 0
lea r9, [rdx + 5]
mov qword [rcx + 0x48], r8
lea r8, [rdx + 6]
mov byte [rcx + rdx + 0x53], 0
mov qword [rcx + 0x48], r9
mov byte [rcx + rdx + 0x54], 0
lea r9, [rdx + 7]
mov qword [rcx + 0x48], r8
lea r8, [rdx + 8]
mov byte [rcx + rdx + 0x55], 0
mov qword [rcx + 0x48], r9
mov byte [rcx + rdx + 0x56], 0
mov qword [rcx + 0x48], r8
mov byte [rcx + rdx + 0x57], 0
mov rdx, r8
cmp r8, 0x78
jne 0x14000cc20
mov rax, qword [rcx]
mov rdx, rdi
mov rbx, rcx
movbe qword [rcx + 0xc8], rax
call fcn.14000bbd0
movzx eax, byte [rbx + 0xf]
mov byte [rsi], al
movzx eax, byte [rbx + 0xe]
mov byte [rsi + 1], al
movzx eax, byte [rbx + 0xd]
mov byte [rsi + 2], al
movzx eax, byte [rbx + 0xc]
mov byte [rsi + 3], al
movzx eax, byte [rbx + 0xb]
mov byte [rsi + 4], al
movzx eax, byte [rbx + 0xa]
mov byte [rsi + 5], al
movzx eax, byte [rbx + 9]
mov byte [rsi + 6], al
movzx eax, byte [rbx + 8]
mov byte [rsi + 7], al
movzx eax, byte [rbx + 0x17]
mov byte [rsi + 8], al
movzx eax, byte [rbx + 0x16]
mov byte [rsi + 9], al
movzx eax, byte [rbx + 0x15]
mov byte [rsi + 0xa], al
movzx eax, byte [rbx + 0x14]
mov byte [rsi + 0xb], al
movzx eax, byte [rbx + 0x13]
mov byte [rsi + 0xc], al
movzx eax, byte [rbx + 0x12]
mov byte [rsi + 0xd], al
movzx eax, byte [rbx + 0x11]
mov byte [rsi + 0xe], al
movzx eax, byte [rbx + 0x10]
mov byte [rsi + 0xf], al
movzx eax, byte [rbx + 0x1f]
mov byte [rsi + 0x10], al
movzx eax, byte [rbx + 0x1e]
mov byte [rsi + 0x11], al
movzx eax, byte [rbx + 0x1d]
mov byte [rsi + 0x12], al
movzx eax, byte [rbx + 0x1c]
mov byte [rsi + 0x13], al
movzx eax, byte [rbx + 0x1b]
mov byte [rsi + 0x14], al
movzx eax, byte [rbx + 0x1a]
mov byte [rsi + 0x15], al
movzx eax, byte [rbx + 0x19]
mov byte [rsi + 0x16], al
movzx eax, byte [rbx + 0x18]
mov byte [rsi + 0x17], al
movzx eax, byte [rbx + 0x27]
mov byte [rsi + 0x18], al
movzx eax, byte [rbx + 0x26]
mov byte [rsi + 0x19], al
movzx eax, byte [rbx + 0x25]
mov byte [rsi + 0x1a], al
movzx eax, byte [rbx + 0x24]
mov byte [rsi + 0x1b], al
movzx eax, byte [rbx + 0x23]
mov byte [rsi + 0x1c], al
movzx eax, byte [rbx + 0x22]
mov byte [rsi + 0x1d], al
movzx eax, byte [rbx + 0x21]
mov byte [rsi + 0x1e], al
movzx eax, byte [rbx + 0x20]
mov byte [rsi + 0x1f], al
movzx eax, byte [rbx + 0x2f]
mov byte [rsi + 0x20], al
movzx eax, byte [rbx + 0x2e]
mov byte [rsi + 0x21], al
movzx eax, byte [rbx + 0x2d]
mov byte [rsi + 0x22], al
movzx eax, byte [rbx + 0x2c]
mov byte [rsi + 0x23], al
movzx eax, byte [rbx + 0x2b]
mov byte [rsi + 0x24], al
movzx eax, byte [rbx + 0x2a]
mov byte [rsi + 0x25], al
movzx eax, byte [rbx + 0x29]
mov byte [rsi + 0x26], al
movzx eax, byte [rbx + 0x28]
mov byte [rsi + 0x27], al
movzx eax, byte [rbx + 0x37]
mov byte [rsi + 0x28], al
movzx eax, byte [rbx + 0x36]
mov byte [rsi + 0x29], al
movzx eax, byte [rbx + 0x35]
mov byte [rsi + 0x2a], al
movzx eax, byte [rbx + 0x34]
mov byte [rsi + 0x2b], al
movzx eax, byte [rbx + 0x33]
mov byte [rsi + 0x2c], al
movzx eax, byte [rbx + 0x32]
mov byte [rsi + 0x2d], al
movzx eax, byte [rbx + 0x31]
mov byte [rsi + 0x2e], al
movzx eax, byte [rbx + 0x30]
mov byte [rsi + 0x2f], al
movzx eax, byte [rbx + 0x3f]
mov byte [rsi + 0x30], al
movzx eax, byte [rbx + 0x3e]
mov byte [rsi + 0x31], al
movzx eax, byte [rbx + 0x3d]
mov byte [rsi + 0x32], al
movzx eax, byte [rbx + 0x3c]
mov byte [rsi + 0x33], al
movzx eax, byte [rbx + 0x3b]
mov byte [rsi + 0x34], al
movzx eax, byte [rbx + 0x3a]
mov byte [rsi + 0x35], al
movzx eax, byte [rbx + 0x39]
mov byte [rsi + 0x36], al
movzx eax, byte [rbx + 0x38]
mov byte [rsi + 0x37], al
movzx eax, byte [rbx + 0x47]
mov byte [rsi + 0x38], al
movzx eax, byte [rbx + 0x46]
mov byte [rsi + 0x39], al
movzx eax, byte [rbx + 0x45]
mov byte [rsi + 0x3a], al
movzx eax, byte [rbx + 0x44]
mov byte [rsi + 0x3b], al
movzx eax, byte [rbx + 0x43]
mov byte [rsi + 0x3c], al
movzx eax, byte [rbx + 0x42]
mov byte [rsi + 0x3d], al
movzx eax, byte [rbx + 0x41]
mov byte [rsi + 0x3e], al
movzx eax, byte [rbx + 0x40]
mov byte [rsi + 0x3f], al
mov al, 1
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
mov rdx, rax
cmp r8, 7
jae 0x14000cb60
jmp 0x14000cbd4