Function at 0x45f6c0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x45fa7c
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 0x45f716
dec rcx
mov r9, rcx
neg rcx
sar rcx, 0x3f
and rcx, 1
add rax, rcx
mov rcx, r9
test rcx, rcx
jle 0x45fa21
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 0x45f988
cmp r9b, 0x22
je 0x45f7f6
cmp r9b, 0x5c
jne 0x45f75f
inc rdi
cmp rcx, 1
jae 0x45f6ff
jmp 0x45fa75
mov qword [rsp], rdx
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
call fcn.0045f5f0
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
lea rbx, [rcx + 1]
cmp rbx, rdx
ja 0x45f7b3
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 0x45f754
mov qword [rsp + 0x50], rcx
lea rsi, [0x0046da80]
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.00438b70
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 0x45f78f
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.0045f5f0
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 0x45f921
movzx ebx, byte [rsp + 0x46]
test bl, bl
je 0x45f915
mov rsi, qword [rsp + 0x78]
cmp rsi, 1
jle 0x45f90e
mov rdi, qword [rsp + 0x70]
cmp byte [rdi + 1], 0x22
jne 0x45f904
lea r8, [rcx + 1]
cmp r8, rdx
ja 0x45f8b7
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 0x45f754
lea rbx, [0x0046da80]
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.00438b70
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 0x45f884
mov rcx, rdi
mov r8, qword [rsp + 0x50]
jmp 0x45f895
mov rdi, qword [rsp + 0x70]
jmp 0x45f904
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x70]
jmp 0x45f904
lea rbx, [rcx + 1]
cmp rbx, rdx
ja 0x45f94a
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 0x45f898
lea rsi, [0x0046da80]
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.00438b70
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 0x45f92a
cmp r9b, 9
jne 0x45fa12
test r8b, r8b
jne 0x45f75f
mov qword [rsp], rdx
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
call fcn.0045f5f0
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 0x45f992
jmp 0x45f75f
mov qword [rsp], rdx
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
call fcn.0045f5f0
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.00427530
ud2
call fcn.0044bf70
jmp fcn.0045f6c0