Function at 0x1801c2a59
Capabilities:
Encrypt data using rc4 prga

Disassembly:
test rcx, rcx
je 0x1801c2e97
mov r11, rsp
push rsi
push r13
sub rsp, 0x68
mov rax, qword [0x18028e088]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov qword [r11 + 0x20], rbx
mov r13, rcx
mov qword [r11 - 0x18], rbp
mov esi, r9d
mov qword [r11 - 0x20], rdi
mov qword [r11 - 0x28], r12
mov r10d, dword [r13]
mov qword [r11 - 0x30], r14
mov r14d, r10d
mov qword [rsp + 0x30], rcx
lea rcx, [0x180216180]
movsxd rax, r8d
mov qword [r11 - 0x38], r15
lea r9d, [r10 - 1]
movzx r11d, byte [r13 + 0x13]
mov edi, r9d
mov r15d, dword [rcx + rax*4]
mov ecx, r11d
imul r14d, r15d
mov dword [rsp + 0x28], r14d
lea r8d, [r14 - 1]
mov ebx, r8d
sub ecx, 1
je 0x1801c2d3c
sub ecx, 1
je 0x1801c2c4b
cmp ecx, 2
je 0x1801c2b5a
mov esi, r11d
xor r14d, r14d
shr rsi, 3
imul rdi, rsi
imul rbx, rsi
add rdi, rdx
add rbx, rdx
test r10d, r10d
je 0x1801c2e37
nop dword [rax]
nop word [rax + rax]
mov r8, rsi
lea rcx, [rsp + 0x30]
mov rdx, rdi
call fcn.1801ceec0
test r15d, r15d
jle 0x1801c2b49
mov rbp, r15
nop dword [rax + rax]
mov r8, rsi
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.1801ceec0
sub rbx, rsi
sub rbp, 1
jne 0x1801c2b30
sub rdi, rsi
inc r14d
cmp r14d, dword [r13]
jb 0x1801c2b10
jmp 0x1801c2e37
shr rdi, 1
and r9d, 1
shr rbx, 1
and r8d, 1
add rdi, rdx
shl r9d, 2
add rbx, rdx
shl r8d, 2
mov ecx, 4
and esi, 0x10000
jne 0x1801c2b93
mov eax, ecx
sub eax, r9d
mov r9d, eax
mov eax, ecx
sub eax, r8d
mov r8d, eax
test esi, esi
mov r12d, 0xfffffffc
cmove r12d, ecx
xor r14d, r14d
test esi, esi
mov r11d, r14d
cmove r11d, ecx
neg esi
sbb ebp, ebp
and ebp, ecx
test r10d, r10d
je 0x1801c2e37
nop word [rax + rax]
movzx r10d, byte [rdi]
movzx ecx, r9b
shr r10b, cl
mov rax, rdi
and r10b, 0xf
test r15d, r15d
jle 0x1801c2c24
mov rsi, r15
mov r13d, 4
movzx eax, r10b
mov ecx, r13d
sub ecx, r8d
mov edx, 0xf0f
sar edx, cl
mov ecx, r8d
and dl, byte [rbx]
shl al, cl
mov ecx, ebp
or dl, al
lea eax, [r12 + r8]
cmp r8d, r11d
mov byte [rbx], dl
cmovne ecx, eax
lea rax, [rbx - 1]
cmovne rax, rbx
mov r8d, ecx
mov rbx, rax
sub rsi, 1
jne 0x1801c2be0
mov r13, qword [rsp + 0x30]
mov rax, rdi
inc r14d
dec rdi
cmp r9d, r11d
cmovne rdi, rax
lea eax, [r9 + r12]
mov r9d, ebp
cmovne r9d, eax
cmp r14d, dword [r13]
jb 0x1801c2bc0
jmp 0x1801c2e37
shr rdi, 2
and r9d, 3
shr rbx, 2
and r8d, 3
add rdi, rdx
add rbx, rdx
add r9d, r9d
add r8d, r8d
mov ecx, 6
and esi, 0x10000
jne 0x1801c2c84
mov eax, ecx
sub eax, r9d
mov r9d, eax
mov eax, ecx
sub eax, r8d
mov r8d, eax
test esi, esi
mov ebp, 0xfffffffe
mov eax, 2
cmove ebp, eax
xor r14d, r14d
test esi, esi
mov r11d, r14d
cmove r11d, ecx
neg esi
sbb r12d, r12d
and r12d, ecx
test r10d, r10d
je 0x1801c2e37
movzx r10d, byte [rdi]
movzx ecx, r9b
shr r10b, cl
mov rax, rdi
and r10b, 3
test r15d, r15d
jle 0x1801c2d15
mov rsi, r15
mov r13d, 6
movzx eax, r10b
mov ecx, r13d
sub ecx, r8d
mov edx, 0x3f3f
sar edx, cl
mov ecx, r8d
and dl, byte [rbx]
shl al, cl
mov ecx, r12d
or dl, al
lea eax, [r8 + rbp]
cmp r8d, r11d
mov byte [rbx], dl
cmovne ecx, eax
lea rax, [rbx - 1]
cmovne rax, rbx
mov r8d, ecx
mov rbx, rax
sub rsi, 1
jne 0x1801c2cd0
mov r13, qword [rsp + 0x30]
mov rax, rdi
inc r14d
dec rdi
cmp r9d, r11d
cmovne rdi, rax
lea eax, [r9 + rbp]
mov r9d, r12d
cmovne r9d, eax
cmp r14d, dword [r13]
jb 0x1801c2cb0
jmp 0x1801c2e37
shr rdi, 3
lea r8d, [r14 - 1]
shr rbx, 3
and r8d, 7
add rdi, rdx
add rbx, rdx
dec r10d
mov ecx, 7
and r10d, 7
mov eax, 1
and esi, 0x10000
mov ebp, 0xffffffff
cmove ebp, eax
xor r14d, r14d
test esi, esi
mov r11d, r14d
mov eax, esi
cmove r11d, ecx
neg eax
mov eax, ecx
sbb r12d, r12d
sub eax, r8d
and r12d, ecx
test esi, esi
cmove r8d, eax
mov eax, ecx
sub eax, r10d
test esi, esi
cmove r10d, eax
cmp dword [r13], r14d
jbe 0x1801c2e37
nop word [rax + rax]
movzx r9d, byte [rdi]
movzx ecx, r10b
shr r9b, cl
mov rax, rdi
and r9b, 1
test r15d, r15d
jle 0x1801c2e15
mov rsi, r15
mov r13d, 7
movzx eax, r9b
mov ecx, r13d
sub ecx, r8d
mov edx, 0x7f7f
sar edx, cl
mov ecx, r8d
and dl, byte [rbx]
shl al, cl
mov ecx, r12d
or dl, al
lea eax, [r8 + rbp]
cmp r8d, r11d
mov byte [rbx], dl
cmovne ecx, eax
lea rax, [rbx - 1]
cmovne rax, rbx
mov r8d, ecx
mov rbx, rax
sub rsi, 1
jne 0x1801c2dd0
mov r13, qword [rsp + 0x30]
mov rax, rdi
inc r14d
dec rdi
cmp r10d, r11d
cmovne rdi, rax
lea eax, [r10 + rbp]
mov r10d, r12d
cmovne r10d, eax
cmp r14d, dword [r13]
jb 0x1801c2db0
movzx eax, byte [r13 + 0x13]
mov ecx, dword [rsp + 0x28]
mov r15, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov r12, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x98]
mov dword [r13], ecx
cmp al, 8
jb 0x1801c2e73
shr rax, 3
imul rax, rcx
jmp 0x1801c2e7f
imul rax, rcx
add rax, 7
shr rax, 3
mov qword [r13 + 8], rax
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1801ccd30
add rsp, 0x68
pop r13
pop rsi
ret