Function at 0x14002e734
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
mov r8, qword [rdx]
mov r9, rcx
movzx edi, word [rcx]
mov r14d, 0x200
movzx eax, byte [r8 + 0x72]
movzx r10d, byte [r8 + 0x73]
shl r10d, 8
or r10d, eax
movzx eax, byte [r8 + 0x71]
shl r10d, 8
or r10d, eax
movzx eax, byte [r8 + 0x74]
shl eax, 0x18
or r10d, eax
cmp r10d, 0x10000
jg 0x14003c630
mov esi, dword [rdx + 0xc]
mov ebp, esi
movzx eax, byte [r8 + 4]
movzx ecx, byte [r8 + 5]
movzx r11d, byte [r8 + 0x4b]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 + 2]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 + 0x4a]
cmp ecx, esi
cmovbe ebp, ecx
movsx ecx, word [r9 + 8]
shl r11w, 8
or r11w, ax
movsx eax, r11w
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jg 0x14002e8d4
movzx ecx, byte [r8 + 0x4f]
movzx eax, byte [r8 + 0x4e]
shl cx, 8
or cx, ax
jl 0x14002e8d4
movzx ecx, byte [r8 + 0x4d]
movzx eax, byte [r8 + 0x4c]
shl cx, 8
or cx, ax
cmp cx, r11w
jg 0x14002e8d4
movzx ecx, byte [r9 + 4]
movzx r11d, byte [r9 + 5]
cmp cl, r11b
ja 0x14002e8d4
mov dl, byte [r9 + 6]
lea eax, [rcx + rdx]
cmp al, r11b
ja 0x14003c63f
mov dl, byte [r9 + 7]
lea eax, [rcx + rdx]
cmp al, r11b
ja 0x14003c65d
movsxd rbx, dword [r9 + 0x10]
cmp ebx, 0x76
jne 0x14003c67b
sub r11d, ecx
lea r9, [r8 + rbx]
lea rdx, [r9 + 2]
cmp di, r14w
jne 0x14003c68c
movzx eax, word [rdx]
cmp r10d, eax
jne 0x14002e8d4
lea r11d, [r11*4 + 4]
lea eax, [rbx + 2]
add eax, r11d
cmp eax, esi
ja 0x14002e8d4
mov eax, r11d
lea r10, [r9 + 2]
add r10, rax
cmp rdx, r10
jae 0x14002e8a9
movzx ecx, byte [rdx + 1]
movzx eax, byte [rdx]
shl ecx, 8
or ecx, eax
cmp ecx, ebp
ja 0x14002e8d4
add rdx, 4
jmp 0x14002e88e
mov eax, 0x300
cmp di, ax
je 0x14003c70b
mov eax, 1
mov rbx, qword [rsp + 0x10]
mov rbp, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
pop r14
ret
xor eax, eax
jmp 0x14002e8bc
cmp di, r14w
jne 0x14002e78d
jmp 0x14002e8d4
cmp dl, cl
jb 0x14003c653
cmp dl, r11b
ja 0x14003c653
sub dl, cl
mov byte [r9 + 6], dl
jmp 0x14002e838
mov byte [r9 + 6], 0
jmp 0x14002e838
cmp dl, cl
jb 0x14003c671
cmp dl, r11b
ja 0x14003c671
sub dl, cl
mov byte [r9 + 7], dl
jmp 0x14002e848
mov byte [r9 + 7], 0
jmp 0x14002e848
cmp ebx, 0x94
jne 0x14002e8d4
jmp 0x14002e855
movzx eax, byte [r9 + 3]
movzx ecx, byte [r9 + 4]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx]
shl ecx, 8
or ecx, eax
movzx eax, byte [r9 + 5]
shl eax, 0x18
or ecx, eax
cmp r10d, ecx
jne 0x14002e8d4
lea eax, [r11 + 1]
lea ecx, [rax + rax*2]
add ecx, ecx
lea eax, [rbx + 2]
add eax, ecx
cmp eax, esi
ja 0x14002e8d4
mov eax, ecx
lea r10, [r9 + 2]
add r10, rax
jmp 0x14003c701
movzx eax, byte [rdx + 2]
movzx ecx, byte [rdx + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx]
shl ecx, 8
or ecx, eax
cmp ecx, ebp
ja 0x14002e8d4
add rdx, 6
cmp rdx, r10
jb 0x14003c6d7
jmp 0x14002e8a9
test byte [r8 + 0x76], 0xe0
jne 0x14002e8d4
movzx eax, byte [r8 + 0x81]
movzx ecx, byte [r8 + 0x82]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 + 0x80]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 + 0x83]
shl eax, 0x18
or ecx, eax
jne 0x14002e8d4
jmp 0x14002e8b7