Function at 0x49a460
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x49a81c
sub rsp, 0x68
mov qword [rsp + 0x60], rbp
lea rbp, [rsp + 0x60]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
xor edx, edx
xor ebx, ebx
xor esi, esi
xor edi, edi
xor r8d, r8d
jmp 0x49a4b6
dec rcx
mov r9, rcx
neg rcx
sar rcx, 0x3f
and rcx, 1
add rax, rcx
mov rcx, r9
test rcx, rcx
jle 0x49a7c1
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x70], rax
mov byte [rsp + 0x46], r8b
movzx r9d, byte [rax]
mov byte [rsp + 0x47], r9b
cmp r9b, 0x20
jbe 0x49a728
cmp r9b, 0x22
je 0x49a596
cmp r9b, 0x5c
jne 0x49a4ff
inc rdi
cmp rcx, 1
jae 0x49a49f
jmp 0x49a815
mov qword [rsp], rdx
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
call fcn.0049a390
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
lea rbx, [rcx + 1]
cmp rbx, rdx
ja 0x49a553
movzx r9d, byte [rsp + 0x47]
mov byte [rax + rcx], r9b
mov rcx, qword [rsp + 0x78]
mov rsi, rdx
mov rdx, rax
xor edi, edi
movzx r8d, byte [rsp + 0x46]
mov rax, qword [rsp + 0x70]
jmp 0x49a4f4
mov qword [rsp + 0x50], rcx
lea rsi, [0x004bc420]
mov qword [rsp], rsi
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x20], rbx
call fcn.0043cd90
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
lea rbx, [rcx + 1]
mov rcx, qword [rsp + 0x50]
jmp 0x49a52f
mov qword [rsp + 0x48], rdi
mov qword [rsp], rdx
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov rax, rdi
shr rdi, 0x3f
lea rcx, [rax + rdi]
sar rcx, 1
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x18], rcx
call fcn.0049a390
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x50], rcx
mov rdx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x58]
shl rbx, 1
mov rsi, qword [rsp + 0x48]
cmp rsi, rbx
jne 0x49a6c1
movzx ebx, byte [rsp + 0x46]
test bl, bl
je 0x49a6b5
mov rsi, qword [rsp + 0x78]
cmp rsi, 1
jle 0x49a6ae
mov rdi, qword [rsp + 0x70]
cmp byte [rdi + 1], 0x22
jne 0x49a6a4
lea r8, [rcx + 1]
cmp r8, rdx
ja 0x49a657
movzx r9d, byte [rsp + 0x47]
mov byte [rax + rcx], r9b
lea rcx, [rdi + 1]
dec rsi
xor ebx, 1
xor edi, edi
mov r9, rcx
mov rcx, rsi
mov rsi, rdx
mov rdx, rax
mov rax, r9
mov r10d, ebx
mov rbx, r8
mov r8d, r10d
jmp 0x49a4f4
lea rbx, [0x004bc420]
mov qword [rsp], rbx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x20], r8
call fcn.0043cd90
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
lea r8, [rcx + 1]
mov rcx, qword [rsp + 0x50]
movzx ebx, byte [rsp + 0x46]
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x70]
jmp 0x49a624
mov rcx, rdi
mov r8, qword [rsp + 0x50]
jmp 0x49a635
mov rdi, qword [rsp + 0x70]
jmp 0x49a6a4
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x70]
jmp 0x49a6a4
lea rbx, [rcx + 1]
cmp rbx, rdx
ja 0x49a6ea
movzx edi, byte [rsp + 0x47]
mov byte [rax + rcx], dil
mov rsi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
mov r8, rbx
movzx ebx, byte [rsp + 0x46]
jmp 0x49a638
lea rsi, [0x004bc420]
mov qword [rsp], rsi
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x20], rbx
call fcn.0043cd90
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
lea rbx, [rcx + 1]
mov rcx, qword [rsp + 0x50]
jmp 0x49a6ca
cmp r9b, 9
jne 0x49a7b2
test r8b, r8b
jne 0x49a4ff
mov qword [rsp], rdx
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
call fcn.0049a390
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rdx
mov rax, qword [rsp + 0x78]
dec rax
mov rcx, rax
neg rax
sar rax, 0x3f
and rax, 1
mov rdx, qword [rsp + 0x70]
add rax, rdx
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], rcx
mov rbp, qword [rsp + 0x60]
add rsp, 0x68
ret
cmp r9b, 0x20
je 0x49a732
jmp 0x49a4ff
mov qword [rsp], rdx
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
call fcn.0049a390
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x30]
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rdx
xorps xmm0, xmm0
movups xmmword [rsp + 0x98], xmm0
mov rbp, qword [rsp + 0x60]
add rsp, 0x68
ret
call fcn.0042ab60
ud2
call fcn.004521e0
jmp fcn.0049a460