Function at 0x180085f90
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
sub rsp, 0x2a0
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x6c
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x2c8]
mov rax, qword [0x180128500]
xor rax, rbp
mov qword [rbp + 0x268], rax
lea rcx, [0x18013b2a2]
call fcn.1800e2810
mov dword [rbp + 4], 0x40000000
mov dword [rbp + 0x44], 0x40000000
mov qword [rbp + 0xf8], 0
mov rax, qword [rbp + 0x298]
mov eax, dword [rax + 8]
mov ecx, dword [rbp + 0x2a0]
lea eax, [rcx + rax - 1]
mov dword [rbp + 0x2a0], eax
mov eax, dword [rbp + 0x2a0]
cdq
mov rcx, qword [rbp + 0x298]
idiv dword [rcx + 8]
mov eax, edx
mov ecx, dword [rbp + 0x2a0]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0x2a0], eax
xor eax, eax
test eax, eax
jne 0x18008603f
mov rax, qword [rbp + 0x298]
mov eax, dword [rax]
cmp dword [rbp + 0x2a0], eax
jg 0x180086068
mov rax, qword [rbp + 0x298]
mov eax, dword [rax + 4]
cmp dword [rbp + 0x2a8], eax
jle 0x18008609e
mov qword [rbp + 0x70], 0
mov dword [rbp + 0x6c], 0
mov eax, dword [rbp + 0x6c]
mov dword [rbp + 0x68], eax
lea rax, [rbp + 0x68]
mov rdi, qword [rbp + 0x290]
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rbp + 0x290]
jmp 0x1800863db
mov rax, qword [rbp + 0x298]
mov rax, qword [rax + 0x18]
mov qword [rbp + 0xb8], rax
mov rax, qword [rbp + 0x298]
add rax, 0x18
mov qword [rbp + 0x98], rax
mov rax, qword [rbp + 0xb8]
movzx eax, word [rax]
add eax, dword [rbp + 0x2a0]
mov rcx, qword [rbp + 0x298]
cmp eax, dword [rcx]
jg 0x1800861d1
mov rax, qword [rbp + 0xb8]
movzx eax, word [rax]
lea rcx, [rbp + 0x134]
mov qword [rsp + 0x20], rcx
mov r9d, dword [rbp + 0x2a0]
mov r8d, eax
mov rdx, qword [rbp + 0xb8]
mov rcx, qword [rbp + 0x298]
call fcn.180086410
mov dword [rbp + 0x114], eax
mov rax, qword [rbp + 0x298]
cmp dword [rax + 0x10], 0
jne 0x18008614b
mov eax, dword [rbp + 0x44]
cmp dword [rbp + 0x114], eax
jge 0x180086149
mov eax, dword [rbp + 0x114]
mov dword [rbp + 0x44], eax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0xf8], rax
jmp 0x1800861a8
mov eax, dword [rbp + 0x2a8]
mov ecx, dword [rbp + 0x114]
add ecx, eax
mov eax, ecx
mov rcx, qword [rbp + 0x298]
cmp eax, dword [rcx + 4]
jg 0x1800861a8
mov eax, dword [rbp + 0x44]
cmp dword [rbp + 0x114], eax
jl 0x180086188
mov eax, dword [rbp + 0x44]
cmp dword [rbp + 0x114], eax
jne 0x1800861a8
mov eax, dword [rbp + 4]
cmp dword [rbp + 0x134], eax
jge 0x1800861a8
mov eax, dword [rbp + 0x114]
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x134]
mov dword [rbp + 4], eax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0xf8], rax
mov rax, qword [rbp + 0xb8]
add rax, 8
mov qword [rbp + 0x98], rax
mov rax, qword [rbp + 0xb8]
mov rax, qword [rax + 8]
mov qword [rbp + 0xb8], rax
jmp 0x1800860c2
cmp qword [rbp + 0xf8], 0
jne 0x1800861e7
mov dword [rbp + 0x264], 0
jmp 0x1800861fa
mov rax, qword [rbp + 0xf8]
mov rax, qword [rax]
movzx eax, word [rax]
mov dword [rbp + 0x264], eax
mov eax, dword [rbp + 0x264]
mov dword [rbp + 0x24], eax
mov rax, qword [rbp + 0x298]
cmp dword [rax + 0x10], 1
jne 0x1800863a8
mov rax, qword [rbp + 0x298]
mov rax, qword [rax + 0x18]
mov qword [rbp + 0xd8], rax
mov rax, qword [rbp + 0x298]
mov rax, qword [rax + 0x18]
mov qword [rbp + 0xb8], rax
mov rax, qword [rbp + 0x298]
add rax, 0x18
mov qword [rbp + 0x98], rax
mov rax, qword [rbp + 0xd8]
movzx eax, word [rax]
cmp eax, dword [rbp + 0x2a0]
jge 0x180086270
mov rax, qword [rbp + 0xd8]
mov rax, qword [rax + 8]
mov qword [rbp + 0xd8], rax
jmp 0x18008624a
cmp qword [rbp + 0xd8], 0
je 0x1800863a8
mov rax, qword [rbp + 0xd8]
movzx eax, word [rax]
sub eax, dword [rbp + 0x2a0]
mov dword [rbp + 0x154], eax
xor eax, eax
test eax, eax
jne 0x180086294
mov rax, qword [rbp + 0xb8]
mov rax, qword [rax + 8]
movzx eax, word [rax]
cmp eax, dword [rbp + 0x154]
jg 0x1800862d6
mov rax, qword [rbp + 0xb8]
add rax, 8
mov qword [rbp + 0x98], rax
mov rax, qword [rbp + 0xb8]
mov rax, qword [rax + 8]
mov qword [rbp + 0xb8], rax
jmp 0x18008629a
xor eax, eax
test eax, eax
jne 0x1800862d6
lea rax, [rbp + 0x194]
mov qword [rsp + 0x20], rax
mov r9d, dword [rbp + 0x2a0]
mov r8d, dword [rbp + 0x154]
mov rdx, qword [rbp + 0xb8]
mov rcx, qword [rbp + 0x298]
call fcn.180086410
mov dword [rbp + 0x174], eax
mov eax, dword [rbp + 0x2a8]
mov ecx, dword [rbp + 0x174]
add ecx, eax
mov eax, ecx
mov rcx, qword [rbp + 0x298]
cmp eax, dword [rcx + 4]
jg 0x180086391
mov eax, dword [rbp + 0x44]
cmp dword [rbp + 0x174], eax
jg 0x180086391
mov eax, dword [rbp + 0x44]
cmp dword [rbp + 0x174], eax
jl 0x180086362
mov eax, dword [rbp + 4]
cmp dword [rbp + 0x194], eax
jl 0x180086362
mov eax, dword [rbp + 4]
cmp dword [rbp + 0x194], eax
jne 0x180086391
mov eax, dword [rbp + 0x24]
cmp dword [rbp + 0x154], eax
jge 0x180086391
mov eax, dword [rbp + 0x154]
mov dword [rbp + 0x24], eax
xor eax, eax
test eax, eax
jne 0x18008636b
mov eax, dword [rbp + 0x174]
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x194]
mov dword [rbp + 4], eax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0xf8], rax
mov rax, qword [rbp + 0xd8]
mov rax, qword [rax + 8]
mov qword [rbp + 0xd8], rax
jmp 0x180086270
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0x70], rax
mov eax, dword [rbp + 0x24]
mov dword [rbp + 0x68], eax
mov eax, dword [rbp + 0x44]
mov dword [rbp + 0x6c], eax
lea rax, [rbp + 0x68]
mov rdi, qword [rbp + 0x290]
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rbp + 0x290]
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, [0x1801050e0]
call fcn.1800e26b4
mov rax, rdi
mov rcx, qword [rbp + 0x268]
xor rcx, rbp
call fcn.1800e28e0
lea rsp, [rbp + 0x270]
pop rdi
pop rsi
pop rbp
ret