Function at 0x18001df18
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x60
mov eax, dword [0x18004f62c]
xor r14d, r14d
movsx ebp, byte [0x18004f5f8]
mov rsi, rcx
mov word [rsp + 0x90], ax
movzx eax, word [0x18004f61c]
movsx rax, word [0x18004f628]
mov qword [rsp + 0x90], rax
movsx rax, byte [0x18004f536]
mov dword [rsp + 0x90], 0xe08af0e7
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x90], 0x61fbbbfb
mov dword [rsp + 0x90], 0x44
movzx eax, word [0x18004f66c]
mov byte [rsp + 0x90], al
movabs rax, 0xec7575eaea99
mov qword [rsp + 0xa8], rax
mov al, byte [0x18004f535]
mov eax, 0x7b45
mov word [rsp + 0x90], ax
mov eax, 0x2784
mov word [rsp + 0x98], ax
mov eax, dword [0x18004f62c]
mov dword [rsp + 0x90], eax
movzx eax, word [0x18004f638]
movzx eax, word [0x18004f564]
mov word [rsp + 0x90], ax
mov eax, 0xffff83f4
mov dword [rsp + 0x90], 0x98
mov word [rsp + 0x90], ax
mov byte [rsp + 0x90], 0x79
mov byte [rsp + 0x90], 0x57
mov al, byte [0x18004f537]
mov dword [rsp + 0x90], 0x4d61e30a
movzx eax, word [0x18004f650]
mov al, byte [0x18004f54b]
movzx eax, word [0x18004f638]
mov byte [rsp + 0x90], 0x6d
mov qword [rsp + 0x90], 0xaa
movzx eax, word [0x18004f638]
movabs rax, 0xefd3346d08fb5
mov qword [rsp + 0x90], rax
movzx eax, word [0x18004f630]
mov byte [rsp + 0x90], 0xce
movsx eax, byte [0x18004f54b]
mov dword [rsp + 0x90], eax
mov al, byte [0x18004f5b6]
mov eax, dword [0x18004f62c]
cmp word [0x18004f668], r14w
mov byte [rsp + 0x90], al
mov eax, dword [0x1809e7d20]
mov qword [rsp + 0x90], 0xad
mov dword [rsp + 0x90], eax
je 0x18001e0bb
mov qword [0x18004f600], rax
mov eax, dword [rsp + 0x90]
add eax, 0x11d
mov dword [rsp + 0xa0], eax
mov rax, qword [0x18004f600]
test rax, rax
jne 0x18001e0e8
mov eax, dword [0x18004f5cc]
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0x90]
lea rdi, [rsi*8]
add eax, 0x2ca
mov qword [rsp + 0x40], r14
mov dword [rsp + 0xa8], eax
xor r9d, r9d
movsx ecx, byte [0x18004f535]
xor r8d, r8d
sub ecx, 0x8b06
mov qword [rsp + 0x38], r14
mov dword [0x18004f63c], ecx
xor edx, edx
mov eax, dword [rsp + 0x90]
mov rcx, qword [sym.imp.KERNEL32.dll_GetProcessHeap]
add eax, 0x2bf
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x90], eax
mov qword [rsp + 0x20], r14
call fcn.1800152bc
mov rcx, qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdx, rax
mov qword [rsp + 0x40], r14
mov r9, rdi
mov qword [rsp + 0x38], r14
mov r8d, 8
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call fcn.1800152bc
mov edx, dword [rsp + 0xa8]
mov rbx, rax
mov ecx, dword [rsp + 0xa0]
xor edx, ecx
mov r8d, dword [rsp + 0xa0]
sub r8d, edx
mov edx, dword [rsp + 0xa8]
mov ecx, dword [rsp + 0xa0]
imul edx, ecx
cmp r8d, edx
je 0x18001e205
test rax, rax
jne 0x18001e205
movsx rax, word [rsp + 0x98]
mov rdx, qword [rsp + 0x50]
add rdx, rax
mov rax, qword [rsp + 0x50]
or rax, rdx
mov qword [rsp + 0x50], rax
movzx eax, word [0x18004f61c]
shr ax, 5
mov word [rsp + 0x90], ax
lea eax, [rbp - 0x9e]
mov dword [rsp + 0x90], eax
xor eax, eax
jmp 0x18001e2ec
mov qword [rsp + 0x40], r14
lea rcx, [fcn.18002d990]
mov qword [rsp + 0x38], r14
mov r9, rdi
mov qword [rsp + 0x30], r14
xor r8d, r8d
mov qword [rsp + 0x28], r14
mov rdx, rbx
mov qword [rsp + 0x20], r14
call fcn.1800152bc
mov rdi, r14
test rsi, rsi
je 0x18001e2e9
mov ebp, 0x2110
mov rcx, qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor r9d, r9d
mov qword [rsp + 0x40], r14
xor r8d, r8d
mov qword [rsp + 0x38], r14
xor edx, edx
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call fcn.1800152bc
mov rcx, qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdx, rax
mov qword [rsp + 0x40], r14
mov r9, rbp
mov qword [rsp + 0x38], r14
mov r8d, 8
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call fcn.1800152bc
mov qword [rbx + rdi*8], rax
test rax, rax
je 0x18001e1fe
mov qword [rsp + 0x40], r14
lea rcx, [fcn.18002d990]
mov qword [rsp + 0x38], r14
mov r9, rbp
mov qword [rsp + 0x30], r14
xor r8d, r8d
mov qword [rsp + 0x28], r14
mov rdx, rax
mov qword [rsp + 0x20], r14
call fcn.1800152bc
inc rdi
cmp rdi, rsi
jb 0x18001e244
mov rax, rbx
add rsp, 0x60
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret