Function at 0x4f55e0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
lea r12, [rsp - 8]
cmp r12, qword [r14 + 0x10]
jbe 0x4f5932
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 0x4f5650
mov rsi, r9
mov r10, r15
mov r9, qword [rsp + 0x90]
cmp rcx, rsi
jle 0x4f5811
movzx r15d, byte [rbx + rsi]
mov qword [rsp + 0x68], r15
and r15d, 0xc0
lea r9, [rsi + 1]
test r15, r15
jne 0x4f56c0
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x40], r10
mov r15, qword [rsp + 0x68]
test r15, r15
je 0x4f572c
lea r8, [rsi + r15]
lea r8, [r8 + 1]
cmp rcx, r8
jl 0x4f5715
sub rdi, rsi
lea rsi, [rdi - 1]
neg rsi
sar rsi, 0x3f
and r9, rsi
add r9, rbx
xor esi, esi
jmp 0x4f582b
cmp r15, 0xc0
jne 0x4f57fa
test r8b, r8b
je 0x4f57e3
cmp rcx, r9
jle 0x4f57cc
lea r9, [rsi + 2]
lea r15, [r10 + 1]
movzx esi, byte [rsi + rbx + 1]
test r10, r10
cmove r11, r9
cmp r15, 0xa
jg 0x4f57b5
mov r9, qword [rsp + 0x68]
xor r9, 0xc0
shl r9, 8
or r9, rsi
jmp 0x4f5642
mov rbx, qword [0x007419a0]
mov rcx, qword [0x007419a8]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
test r13, r13
jne 0x4f5772
test r12, r12
jne 0x4f5769
mov qword [rsp + 0x50], r9
mov ebx, 1
mov rcx, r12
mov rdi, rbx
lea rsi, [0x00563ca0]
call fcn.00453480
mov rdx, qword [rsp + 0xb0]
mov r9, qword [rsp + 0x50]
mov r10, qword [rsp + 0x40]
mov r11, qword [rsp + 0x48]
mov byte [rax], 0x2e
mov r13d, 1
cmp r13, 0xfe
jle 0x4f5792
mov rbx, qword [0x00741a20]
mov rcx, qword [0x00741a28]
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 [0x007419c0]
mov rcx, qword [0x007419c8]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov rbx, qword [0x007419d0]
mov rcx, qword [0x007419d8]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov rbx, qword [0x00741ab0]
mov rcx, qword [0x00741ab8]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov rbx, qword [0x007419b0]
mov rcx, qword [0x007419b8]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov rbx, qword [0x00741990]
mov rcx, qword [0x00741998]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
inc rsi
cmp rsi, r15
jge 0x4f5852
movzx edi, byte [r9 + rsi]
cmp dil, 0x2e
jne 0x4f5828
mov rbx, qword [0x007419e0]
mov rcx, qword [0x007419e8]
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 0x4f589a
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x58], r13
mov rbx, rsi
mov rcx, r12
mov rdi, r15
lea rsi, [0x00563ca0]
nop
call fcn.00453480
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.0046fde0
mov rbx, qword [rsp + 0x68]
inc rbx
mov rcx, qword [rsp + 0x60]
cmp rcx, rbx
jb 0x4f58d4
mov rax, qword [rsp + 0x70]
jmp 0x4f58ea
mov rax, qword [rsp + 0x70]
mov edi, 1
lea rsi, [0x00563ca0]
call fcn.00453480
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 + 0x40]
mov r11, qword [rsp + 0x48]
mov r12, rcx
mov r13, rbx
mov rcx, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x98]
jmp 0x4f5642
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.0046d2c0
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.004f55e0