Function at 0x4b2940
Capabilities:
Encrypt data using rc4 prga

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4b2ba5
push rbp
mov rbp, rsp
sub rsp, 0x48
mov byte [rsp + 0x88], r9b
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rax
xor edx, edx
xor r10d, r10d
cmp rsi, rdx
jle 0x4b2b8e
movzx r11d, byte [rdi + rdx]
cmp r11b, 0x80
jae 0x4b29a9
cmp rbx, r10
je 0x4b2b34
mov byte [rax + r10], r11b
inc r10
inc rdx
jmp 0x4b2980
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], r10
mov rcx, r8
sub rcx, rdx
mov qword [rsp + 0x28], rcx
mov rbx, rsi
sub rbx, rdx
mov qword [rsp + 0x20], rbx
mov r9, rcx
neg r9
sar r9, 0x3f
and r9, rdx
lea rax, [rdi + r9]
mov qword [rsp + 0x40], rax
nop
call fcn.00475480
cmp rbx, 1
je 0x4b2aa5
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x30]
mov rdx, rcx
sub rdx, rax
mov rsi, qword [rsp + 0x68]
mov r8, rax
sub r8, rsi
sar r8, 0x3f
and r8, rax
mov r9, qword [rsp + 0x58]
add r8, r9
cmp rbx, rdx
cmovl rdx, rbx
mov r10, qword [rsp + 0x40]
cmp r8, r10
je 0x4b2a63
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x28], rdx
mov rax, r8
mov rbx, r10
mov rcx, rdx
nop dword [rax]
call fcn.0046e540
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x68]
mov r9, qword [rsp + 0x58]
cmp rbx, rdx
jne 0x4b2b44
lea r10, [rax + rbx]
mov r8, qword [rsp + 0x38]
lea rdx, [rbx + r8]
mov rax, r9
mov rcx, rsi
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x70]
mov r8, qword [rsp + 0x80]
movzx r9d, byte [rsp + 0x88]
nop
jmp 0x4b2980
movzx edx, byte [rsp + 0x88]
test dl, dl
je 0x4b2ab5
xor eax, eax
jmp 0x4b2ad4
mov rax, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
call fcn.00475400
xor eax, 1
movzx edx, byte [rsp + 0x88]
test al, al
jne 0x4b2b74
mov rax, qword [rsp + 0x30]
lea rsi, [rax + 3]
mov r8, qword [rsp + 0x60]
cmp r8, rsi
jl 0x4b2b5c
mov r9, qword [rsp + 0x58]
mov byte [r9 + rax], 0xef
mov word [rax + r9 + 1], 0xbdbf
mov r11, qword [rsp + 0x38]
inc r11
mov rax, r9
mov rcx, qword [rsp + 0x68]
mov rbx, r8
mov rdi, qword [rsp + 0x70]
mov r8, qword [rsp + 0x80]
mov r9d, edx
mov rdx, r11
mov r10, rsi
mov rsi, qword [rsp + 0x78]
jmp 0x4b2980
mov rsi, qword [0x005984b0]
mov r8, qword [0x005984b8]
jmp 0x4b2b93
mov rsi, qword [0x005984b0]
mov r8, qword [0x005984b8]
mov rdx, qword [rsp + 0x38]
mov r10, rax
jmp 0x4b2b93
mov rsi, qword [0x005984b0]
mov r8, qword [0x005984b8]
mov rdx, qword [rsp + 0x38]
mov r10, rax
jmp 0x4b2b93
mov rsi, qword [0x005984c0]
mov r8, qword [0x005984c8]
mov rdx, qword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
jmp 0x4b2b93
xor esi, esi
xor r8d, r8d
mov rax, r10
mov rbx, rdx
mov rcx, rsi
mov rdi, r8
add rsp, 0x48
pop rbp
ret
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 qword [rsp + 0x30], r8
mov byte [rsp + 0x38], r9b
call fcn.0046bb20
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]
mov r8, qword [rsp + 0x30]
movzx r9d, byte [rsp + 0x38]
jmp fcn.004b2940