Function at 0x1800290a8
Capabilities:
Encrypt data using rc4 prga

Disassembly:
test edx, edx
jle 0x180029334
push rbx
push rsi
push rdi
push r14
push r15
sub rsp, 0x30
mov rax, qword [0x1801b9588]
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.18006a420
xor r10d, r10d
mov eax, r14d
sub eax, 2
je 0x18002926e
sub eax, 1
je 0x18002921d
sub eax, 1
je 0x1800291d2
xor ecx, ecx
cmp eax, 1
je 0x180029180
test ebx, ebx
js 0x1800292b7
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 0x180029140
jmp 0x1800292b7
test ebx, ebx
js 0x1800292b7
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 0x180029190
jmp 0x1800292b7
xor ecx, ecx
test ebx, ebx
js 0x1800292b7
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 0x1800291e0
jmp 0x1800292b7
xor ecx, ecx
test ebx, ebx
js 0x1800292b7
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 0x180029230
jmp 0x1800292b7
xor ecx, ecx
test ebx, ebx
js 0x1800292b7
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 0x180029280
cmp ecx, r15d
jge 0x180029305
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 0x1800292e0
inc rdi
sub rbp, 1
jne 0x1800290f0
mov r12, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.1800682a0
add rsp, 0x30
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret