Function at 0x1800e6178
Capabilities:
Encrypt data using rc4 prga

Disassembly:
test edx, edx
jle 0x1800e6404
push rbx
push rsi
push rdi
push r14
push r15
sub rsp, 0x30
mov rax, qword [0x18025ed68]
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 fcn.18017baa0
xor r10d, r10d
mov eax, r14d
sub eax, 2
je 0x1800e633e
sub eax, 1
je 0x1800e62ed
sub eax, 1
je 0x1800e62a2
xor ecx, ecx
cmp eax, 1
je 0x1800e6250
test ebx, ebx
js 0x1800e6387
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 0x1800e6210
jmp 0x1800e6387
test ebx, ebx
js 0x1800e6387
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 0x1800e6260
jmp 0x1800e6387
xor ecx, ecx
test ebx, ebx
js 0x1800e6387
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 0x1800e62b0
jmp 0x1800e6387
xor ecx, ecx
test ebx, ebx
js 0x1800e6387
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 0x1800e6300
jmp 0x1800e6387
xor ecx, ecx
test ebx, ebx
js 0x1800e6387
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 0x1800e6350
cmp ecx, r15d
jge 0x1800e63d5
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 0x1800e63b0
inc rdi
sub rbp, 1
jne 0x1800e61c0
mov r12, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.18015d5d0
add rsp, 0x30
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret