Function at 0x14001a830
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov byte [rsp + 0x10], dl
mov qword [rsp + 8], rcx
sub rsp, 0x88
mov rax, qword [0x140049830]
mov qword [rsp + 0x48], rax
mov rax, qword [0x140049830]
dec rax
mov qword [0x140049830], rax
mov qword [rsp + 0x50], 0x1a51
mov qword [rsp + 0x30], 0xec7
movsxd rax, dword [0x140049840]
mov qword [rsp + 0x58], rax
mov eax, dword [0x140049844]
inc eax
mov dword [0x140049844], eax
movzx eax, byte [0x14004981c]
mov dword [rsp + 0xc], eax
mov eax, dword [0x140049844]
cdq
mov ecx, dword [rsp + 0xc]
idiv ecx
mov eax, edx
cdqe
mov qword [rsp + 0x20], rax
mov eax, 4
imul rax, rax, 0x1f1c
mov rcx, qword [rsp + 0xa8]
mov ecx, dword [rcx]
movsxd rcx, ecx
mov rdx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xa8]
mov ecx, dword [r8 + rcx*4]
mov eax, dword [rdx + rax]
sub eax, ecx
cdqe
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax]
dec eax
mov rcx, qword [rsp + 0xa8]
mov dword [rcx], eax
mov rax, qword [rsp + 0xa8]
imul eax, dword [rax], 3
cdqe
mov rcx, qword [0x140049858]
movzx eax, word [rcx + rax*2]
mov dword [rsp + 0x10], eax
mov ecx, 4
imul rcx, rcx, 0x9fd
mov rdx, qword [rsp + 0xa8]
mov eax, dword [rdx + rcx]
cdq
mov ecx, dword [rsp + 0x10]
idiv ecx
mov eax, edx
cdqe
mov qword [rsp + 0x68], rax
movsxd rax, dword [rsp + 0xa0]
mov qword [rsp + 0x28], rax
mov eax, dword [0x140049864]
or eax, 0x13c2
cdqe
mov qword [rsp + 0x38], rax
mov byte [rsp], 0xd4
movzx eax, word [0x140049860]
mov word [rsp + 8], ax
xor edx, edx
mov rax, qword [0x140049890]
mov ecx, 0x134a
div rcx
mov qword [rsp + 0x40], rax
mov eax, 8
imul rax, rax, 0x1601
mov rcx, qword [0x140049880]
mov rax, qword [rcx + rax]
and rax, 0x2bd
mov qword [rsp + 0x70], rax
movzx eax, word [0x140049878]
add eax, 8
cdqe
movzx ecx, word [0x14004988c]
mov rdx, qword [0x140049848]
mov rax, qword [rdx + rax*8]
imul rax, rcx
mov qword [rsp + 0x18], rax
mov rax, qword [rsp + 0x18]
mov rcx, qword [0x140049828]
movzx eax, byte [rax + rcx*4]
sub rax, qword [rsp + 0x38]
mov byte [0x14004981c], al
mov rax, qword [0x140049828]
dec rax
mov qword [0x140049828], rax
mov eax, dword [0x140049840]
add eax, 0xcd8
mov dword [0x140049840], eax
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
movzx eax, byte [rax + rcx*2]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x90]
add rdx, rcx
mov rcx, rdx
movzx ecx, byte [rcx]
cdq
idiv ecx
cdqe
mov qword [0x140049850], rax
mov rax, qword [0x140049850]
shl rax, 1
mov rcx, qword [rsp + 0x28]
movzx eax, word [rcx + rax*2]
imul eax, eax, 0xc4c
mov rcx, qword [0x140049850]
shl rcx, 1
mov rdx, qword [rsp + 0x28]
mov word [rdx + rcx*2], ax
mov eax, dword [0x14004987c]
sub eax, 0xdd2
movzx ecx, byte [0x14004981c]
movsxd rcx, ecx
mov rdx, qword [0x140049810]
xor eax, dword [rdx + rcx*4]
movzx ecx, byte [0x14004981c]
movsxd rcx, ecx
mov rdx, qword [0x140049810]
mov dword [rdx + rcx*4], eax
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax]
shl eax, 2
cdqe
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 4], eax
jmp 0x14001aaca
mov eax, dword [rsp + 4]
inc eax
mov dword [rsp + 4], eax
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax]
cdqe
mov rcx, qword [rsp + 0x40]
movzx eax, byte [rcx + rax]
cmp dword [rsp + 4], eax
jge 0x14001aafd
xor edx, edx
mov rax, qword [0x140049868]
div qword [rsp + 0x30]
mov rax, rdx
mov qword [rsp + 0x30], rax
jmp 0x14001aac0
mov eax, 0xcfc
add rsp, 0x88
ret