Function at 0x4e03e0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
lea r12, [rsp - 8]
cmp r12, qword [r14 + 0x10]
jbe 0x4e0732
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 0x4e0450
mov rsi, r9
mov r10, r15
mov r9, qword [rsp + 0x90]
cmp rcx, rsi
jle 0x4e0611
movzx r15d, byte [rbx + rsi]
mov qword [rsp + 0x68], r15
and r15d, 0xc0
lea r9, [rsi + 1]
test r15, r15
jne 0x4e04c0
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x48], r10
mov r15, qword [rsp + 0x68]
test r15, r15
je 0x4e052c
lea r8, [rsi + r15]
lea r8, [r8 + 1]
cmp rcx, r8
jl 0x4e0515
sub rdi, rsi
lea rsi, [rdi - 1]
neg rsi
sar rsi, 0x3f
and r9, rsi
add r9, rbx
xor esi, esi
jmp 0x4e062b
cmp r15, 0xc0
jne 0x4e05fa
test r8b, r8b
je 0x4e05e3
cmp rcx, r9
jle 0x4e05cc
lea r9, [rsi + 2]
lea r15, [r10 + 1]
movzx esi, byte [rsi + rbx + 1]
test r10, r10
cmove r11, r9
cmp r15, 0xa
jg 0x4e05b5
mov r9, qword [rsp + 0x68]
xor r9, 0xc0
shl r9, 8
or r9, rsi
jmp 0x4e0442
mov rbx, qword [0x006bdfa0]
mov rcx, qword [0x006bdfa8]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
test r13, r13
jne 0x4e0572
test r12, r12
jne 0x4e0569
mov qword [rsp + 0x50], r9
mov ebx, 1
mov rcx, r12
mov rdi, rbx
lea rsi, [0x00551280]
call fcn.004445a0
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 0x4e0592
mov rbx, qword [0x006be010]
mov rcx, qword [0x006be018]
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 [0x006bdfc0]
mov rcx, qword [0x006bdfc8]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov rbx, qword [0x006bdfd0]
mov rcx, qword [0x006bdfd8]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov rbx, qword [0x006be090]
mov rcx, qword [0x006be098]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov rbx, qword [0x006bdfb0]
mov rcx, qword [0x006bdfb8]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov rbx, qword [0x006bdf90]
mov rcx, qword [0x006bdf98]
mov rax, rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
inc rsi
cmp rsi, r15
jge 0x4e0652
movzx edi, byte [r9 + rsi]
cmp dil, 0x2e
jne 0x4e0628
mov rbx, qword [0x006bdfe0]
mov rcx, qword [0x006bdfe8]
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 0x4e069a
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x58], r13
mov rbx, rsi
mov rcx, r12
mov rdi, r15
lea rsi, [0x00551280]
nop
call fcn.004445a0
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.0045b660
mov rbx, qword [rsp + 0x68]
inc rbx
mov rcx, qword [rsp + 0x60]
cmp rcx, rbx
jb 0x4e06d4
mov rax, qword [rsp + 0x70]
jmp 0x4e06ea
mov rax, qword [rsp + 0x70]
mov edi, 1
lea rsi, [0x00551280]
call fcn.004445a0
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 0x4e0442
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.00458b40
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.004e03e0