Function at 0x4cc7a0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
lea r12, [rsp - 8]
cmp r12, qword [r14 + 0x10]
jbe 0x4ccaf2
push rbp
mov rbp, rsp
add rsp, 0xffffffffffffff80
mov qword [rsp + 0x90], rax
mov qword [rsp + 0xb0], rsi
mov byte [rsp + 0xb8], r8b
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xa0], rcx
test byte [rax], al
mov rdx, rsi
mov r9, rax
xor r10d, r10d
mov r11, rdx
mov r12d, 0xff
xor r13d, r13d
nop
jmp 0x4cc810
mov rsi, r9
mov r10, r15
mov r9, qword [rsp + 0x90]
cmp rcx, rsi
jle 0x4cc9d1
movzx r15d, byte [rbx + rsi]
mov qword [rsp + 0x68], r15
and r15d, 0xc0
lea r9, [rsi + 1]
test r15, r15
jne 0x4cc880
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x48], r10
mov r15, qword [rsp + 0x68]
test r15, r15
je 0x4cc8ec
lea r8, [rsi + r15]
lea r8, [r8 + 1]
cmp rcx, r8
jl 0x4cc8d5
sub rdi, rsi
lea rsi, [rdi - 1]
neg rsi
sar rsi, 0x3f
and r9, rsi
add r9, rbx
xor esi, esi
jmp 0x4cc9eb
cmp r15, 0xc0
jne 0x4cc9ba
test r8b, r8b
je 0x4cc9a3
cmp rcx, r9
jle 0x4cc98c
lea r9, [rsi + 2]
lea r15, [r10 + 1]
movzx esi, byte [rsi + rbx + 1]
test r10, r10
cmove r11, r9
cmp r15, 0xa
jg 0x4cc975
mov r9, qword [rsp + 0x68]
xor r9, 0xc0
shl r9, 8
or r9, rsi
jmp 0x4cc802
mov rbx, qword [0x00baeb60]
mov rcx, qword [0x00baeb68]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
test r13, r13
jne 0x4cc932
test r12, r12
jne 0x4cc929
mov qword [rsp + 0x50], r9
mov ebx, 1
mov rcx, r12
mov rdi, rbx
lea rsi, [0x0067b5e0]
call fcn.00444d60
mov rdx, qword [rsp + 0xb0]
mov r9, qword [rsp + 0x50]
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x40]
mov byte [rax], 0x2e
mov r13d, 1
cmp r13, 0xfe
jle 0x4cc952
mov rbx, qword [0x00baebd0]
mov rcx, qword [0x00baebd8]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov rdx, qword [rsp + 0x90]
mov byte [rdx + 0xff], r13b
test r10, r10
cmove r11, r9
mov rax, r11
xor ebx, ebx
xor ecx, ecx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov rbx, qword [0x00baeb80]
mov rcx, qword [0x00baeb88]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov rbx, qword [0x00baeb90]
mov rcx, qword [0x00baeb98]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov rbx, qword [0x00baec50]
mov rcx, qword [0x00baec58]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov rbx, qword [0x00baeb70]
mov rcx, qword [0x00baeb78]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov rbx, qword [0x00baeb50]
mov rcx, qword [0x00baeb58]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
inc rsi
cmp rsi, r15
jge 0x4cca12
movzx edi, byte [r9 + rsi]
cmp dil, 0x2e
jne 0x4cc9e8
mov rbx, qword [0x00baeba0]
mov rcx, qword [0x00baeba8]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov qword [rsp + 0x50], r8
lea rsi, [r13 + r15]
nop dword [rax]
cmp r12, rsi
jae 0x4cca5a
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x58], r13
mov rbx, rsi
mov rcx, r12
mov rdi, r15
lea rsi, [0x0067b5e0]
nop
call fcn.00444d60
mov r9, qword [rsp + 0x78]
mov r13, qword [rsp + 0x58]
mov r15, qword [rsp + 0x68]
mov r12, rcx
mov rsi, rbx
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], rax
lea rdx, [rax + r13]
mov rbx, r9
mov rcx, r15
mov rax, rdx
call fcn.0045cbe0
mov rbx, qword [rsp + 0x68]
inc rbx
mov rcx, qword [rsp + 0x60]
cmp rcx, rbx
jb 0x4cca94
mov rax, qword [rsp + 0x70]
jmp 0x4ccaaa
mov rax, qword [rsp + 0x70]
mov edi, 1
lea rsi, [0x0067b5e0]
call fcn.00444d60
mov byte [rbx + rax - 1], 0x2e
mov rdx, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xa8]
movzx r8d, byte [rsp + 0xb8]
mov r9, qword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
mov r11, qword [rsp + 0x40]
mov r12, rcx
mov r13, rbx
mov rcx, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x98]
jmp 0x4cc802
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x30], r8b
call fcn.0045a0c0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
movzx r8d, byte [rsp + 0x30]
jmp fcn.004cc7a0