Function at 0x180018c08
Capabilities:
Encrypt data using rc4 prga

Disassembly:
test edx, edx
jle 0x180018e94
push rbx
push rsi
push rdi
push r14
push r15
sub rsp, 0x30
mov rax, qword [0x18003e010]
xor rax, rsp
mov qword [rsp + 0x28], rax
mov r14d, dword [rsp + 0x80]
mov ebx, r8d
mov qword [rsp + 0x68], rbp
sub ebx, r14d
movsxd rsi, r9d
mov r15d, r8d
mov rdi, rcx
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x70], r12
mov ebp, edx
nop
mov r8, r14
lea rcx, [rsp + 0x20]
xor edx, edx
call sub.VCRUNTIME140.dll_memset
xor r10d, r10d
mov eax, r14d
sub eax, 2
je 0x180018dce
sub eax, 1
je 0x180018d7d
sub eax, 1
je 0x180018d32
xor ecx, ecx
cmp eax, 1
je 0x180018ce0
test ebx, ebx
js 0x180018e17
xor r11d, r11d
nop dword [rax]
nop word [rax + rax]
mov eax, ecx
movsxd r9, r11d
and eax, 7
add r11d, esi
movzx r8d, byte [r9 + rdi]
movzx edx, byte [rsp + rax + 0x20]
mov eax, r8d
sub eax, edx
xor edx, edx
add r10d, eax
lea eax, [r14 + rcx]
and eax, 7
inc ecx
mov byte [rsp + rax + 0x20], r8b
mov eax, r10d
div r14d
mov byte [r9 + rdi], al
cmp ecx, ebx
jle 0x180018ca0
jmp 0x180018e17
test ebx, ebx
js 0x180018e17
xor r11d, r11d
nop dword [rax + rax]
mov eax, ecx
movsxd r9, r11d
and eax, 7
add r11d, esi
movzx r8d, byte [r9 + rdi]
movzx edx, byte [rsp + rax + 0x20]
mov eax, r8d
sub eax, edx
add r10d, eax
lea eax, [rcx - 3]
and eax, 7
inc ecx
mov byte [rsp + rax + 0x20], r8b
mov eax, 0xcccccccd
mul r10d
shr edx, 2
mov byte [r9 + rdi], dl
cmp ecx, ebx
jle 0x180018cf0
jmp 0x180018e17
xor ecx, ecx
test ebx, ebx
js 0x180018e17
xor r11d, r11d
nop
mov eax, ecx
movsxd r9, r11d
and eax, 7
add r11d, esi
movzx r8d, byte [r9 + rdi]
movzx edx, byte [rsp + rax + 0x20]
mov eax, r8d
sub eax, edx
add r10d, eax
lea eax, [rcx - 4]
and eax, 7
inc ecx
mov byte [rsp + rax + 0x20], r8b
mov eax, r10d
shr eax, 2
mov byte [r9 + rdi], al
cmp ecx, ebx
jle 0x180018d40
jmp 0x180018e17
xor ecx, ecx
test ebx, ebx
js 0x180018e17
xor r11d, r11d
nop word [rax + rax]
mov eax, ecx
movsxd r9, r11d
and eax, 7
add r11d, esi
movzx r8d, byte [r9 + rdi]
movzx edx, byte [rsp + rax + 0x20]
mov eax, r8d
sub eax, edx
add r10d, eax
lea eax, [rcx + 3]
and eax, 7
inc ecx
mov byte [rsp + rax + 0x20], r8b
mov eax, 0xaaaaaaab
mul r10d
shr edx, 1
mov byte [r9 + rdi], dl
cmp ecx, ebx
jle 0x180018d90
jmp 0x180018e17
xor ecx, ecx
test ebx, ebx
js 0x180018e17
xor r11d, r11d
nop word [rax + rax]
mov eax, ecx
movsxd r9, r11d
and eax, 7
add r11d, esi
movzx r8d, byte [r9 + rdi]
movzx edx, byte [rsp + rax + 0x20]
mov eax, r8d
sub eax, edx
add r10d, eax
lea eax, [rcx + 2]
and eax, 7
inc ecx
mov byte [rsp + rax + 0x20], r8b
mov eax, r10d
shr eax, 1
mov byte [r9 + rdi], al
cmp ecx, ebx
jle 0x180018de0
cmp ecx, r15d
jge 0x180018e65
mov eax, esi
movsxd r9, ecx
imul eax, ecx
movsxd r8, eax
mov eax, r15d
add r8, rdi
sub eax, ecx
mov ecx, eax
nop dword [rax]
nop word [rax + rax]
mov rax, r9
xor edx, edx
and eax, 7
inc r9
movzx eax, byte [rsp + rax + 0x20]
sub r10d, eax
mov eax, r10d
div r14d
mov byte [r8], al
add r8, rsi
sub rcx, 1
jne 0x180018e40
inc rdi
sub rbp, 1
jne 0x180018c50
mov r12, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.18002dd00
add rsp, 0x30
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret