Function at 0x18010fe00
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rdi
push r13
push r14
sub rsp, 0x30
movzx r10d, byte [rdx]
mov r13, rcx
movzx eax, byte [rdx + 1]
mov ecx, 0x100
imul r10d, ecx
mov r14, r8
mov rdi, rdx
add r10w, ax
jne 0x18010fe3e
movzx edx, byte [rdx + 2]
movzx eax, byte [rdi + 3]
imul edx, ecx
add dx, ax
je 0x1801100af
mov ecx, dword [r13 + 0xf0]
lea eax, [rcx + 1]
mov dword [r13 + 0xf0], eax
cmp ecx, 0x1f4
ja 0x1801100af
mov qword [rsp + 0x50], rbx
lea rcx, [r13 + 0x70]
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x60], rsi
mov esi, edi
sub esi, dword [r13]
mov edx, esi
call fcn.1800d93a0
xor al, byte [r13 + 0xa0]
jne 0x1801100a0
mov qword [rsp + 0x28], r12
lea rcx, [r13 + 0x60]
mov edx, esi
mov qword [rsp + 0x20], r15
call fcn.1800bed60
test r14, r14
jne 0x18010ff92
movzx edx, byte [rdi]
mov r9d, 0x100
movzx eax, byte [rdi + 1]
imul edx, r9d
add dx, ax
je 0x18010fed0
movzx edx, dx
mov rcx, r13
add rdx, rdi
call fcn.1800f81a0
mov r9d, 0x100
movzx esi, byte [rdi + 2]
mov r15d, 0
movzx eax, byte [rdi + 3]
mov ebx, r15d
shl esi, 8
add esi, eax
je 0x180110096
lea rbp, [0x18016a0c8]
lea r12, [0x180179ff4]
nop word [rax + rax]
cmp ebx, 0xffff
jne 0x18010ff29
movzx edx, byte [rdi]
movzx eax, byte [rdi + 1]
movzx ecx, r9w
imul edx, ecx
add dx, ax
cmp r15w, dx
jne 0x18010ff24
mov rdx, rbp
jmp 0x18010ff75
movzx edx, dx
jmp 0x18010ff72
movzx ecx, byte [rdi + 2]
movzx eax, byte [rdi + 3]
shl ecx, 8
add ecx, eax
cmp ebx, ecx
jb 0x18010ff3f
mov rax, r12
jmp 0x18010ff50
mov eax, ebx
inc rax
lea rax, [rax + rax*2]
lea rax, [rax + 1]
lea rax, [rdi + rax*2]
movzx edx, byte [rax]
movzx r8d, byte [rax + 1]
movzx ecx, r9w
imul edx, ecx
add r8w, dx
cmp r15w, r8w
jne 0x18010ff6e
mov rdx, rbp
jmp 0x18010ff75
movzx edx, r8w
add rdx, rdi
mov rcx, r13
call fcn.1800f81a0
inc ebx
mov r9d, 0x100
cmp ebx, esi
jb 0x18010ff00
jmp 0x180110096
mov r10d, dword [r14]
test r10d, r10d
je 0x180110096
xor r15d, r15d
lea rbp, [0x18016a0c8]
lea r12, [0x180179ff4]
nop
movzx ecx, byte [rdi + 2]
mov r9d, r15d
movzx eax, byte [rdi + 3]
shl ecx, 8
add ecx, eax
movzx esi, cx
lea r8d, [rsi - 1]
test r8d, r8d
js 0x180110085
lea eax, [r8 + r9]
shr eax, 1
lea rcx, [rax + rax*2]
lea rbx, [rcx + rcx]
movzx r11d, byte [rbx + rdi + 5]
movzx ecx, byte [rbx + rdi + 6]
shl ecx, 8
shl r11d, 0x10
add r11d, ecx
movzx ecx, byte [rbx + rdi + 4]
shl ecx, 0x18
add r11d, ecx
movzx ecx, byte [rbx + rdi + 7]
add r11d, ecx
cmp r10d, r11d
jae 0x180110011
lea r8d, [rax - 1]
jmp 0x180110017
je 0x18011001e
lea r9d, [rax + 1]
cmp r9d, r8d
jle 0x18010ffd0
jmp 0x180110085
cmp eax, 0xffff
jne 0x180110047
movzx edx, byte [rdi]
mov ecx, 0x100
movzx eax, byte [rdi + 1]
imul edx, ecx
add dx, ax
cmp r15w, dx
jne 0x180110042
mov rdx, rbp
jmp 0x18011007d
movzx edx, dx
jmp 0x18011007a
cmp eax, esi
jb 0x180110050
mov rax, r12
jmp 0x180110057
lea rax, [rdi + 8]
add rax, rbx
movzx edx, byte [rax]
mov ecx, 0x100
movzx r8d, byte [rax + 1]
imul edx, ecx
add r8w, dx
cmp r15w, r8w
jne 0x180110076
mov rdx, rbp
jmp 0x18011007d
movzx edx, r8w
add rdx, rdi
mov rcx, r13
call fcn.1800f81a0
mov r10d, dword [r14 + 4]
add r14, 4
test r10d, r10d
jne 0x18010ffb0
mov r12, qword [rsp + 0x28]
mov r15, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x60]
add rsp, 0x30
pop r14
pop r13
pop rdi
ret