Function at 0x1402b0c00
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rsi, r9
mov rdi, rcx
mov r15, qword [rsp + 0xb0]
movzx ebx, word [rcx + 8]
test r8, r8
je 0x1402b0c49
mov r14, r8
mov rax, rdx
xor ebp, ebp
mov qword [rsp + 0x38], rdx
mov dword [rsp + 0x34], 0
mov qword [rsp + 0x40], rsi
mov r9, rax
jmp 0x1402b0db2
xor eax, eax
movzx ecx, word [rdx + rax]
add rax, 2
cmp cx, bx
jae 0x1402b0c5d
test cx, cx
jne 0x1402b0c4b
cmp rax, 2
sete cl
test rsi, rsi
sete r8b
lea r9, [rdx + rax]
add r9, 0xfffffffffffffffe
or r8b, cl
jne 0x1402b0c8c
mov rcx, rsi
mov r8, r9
mov r14, r9
mov r9, r15
call fcn.1402b0aa0
mov r9, r14
cmp dword [r15], 0
jg 0x1402b0ec9
mov rcx, r9
xor edx, edx
mov r14, r9
call fcn.140155620
mov rdx, r14
mov r14, rax
jmp 0x1402b0c2a
cmp r9, r14
mov rsi, qword [rsp + 0x40]
je 0x1402b0ec6
cmp r12d, 0x10000
mov eax, 2
sbb eax, 0
lea rax, [r15 + rax*2]
test rsi, rsi
jne 0x1402b0d8e
mov r9, qword [rsp + 0x38]
cmp word [rdi + 0xe], bp
ja 0x1402b0ced
cmp word [rdi + 0x1e], bp
ja 0x1402b0ec9
movzx ecx, bp
mov edx, ecx
shr edx, 1
cmp ecx, 0xfc00
mov ecx, 0
cmovb edx, ecx
cmp byte [rsp + 0x34], dl
setbe cl
test dl, dl
sete r8b
or r8b, cl
mov rcx, r9
cmovne rcx, rax
cmp dl, 2
cmovae rcx, r9
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x34], edx
test r8b, r8b
jne 0x1402b0c41
jmp 0x1402b0ec9
mov r15, r13
cmp r15, r9
mov r13, qword [rsp + 0xb0]
je 0x1402b0cae
mov rsi, qword [rsp + 0x40]
test rsi, rsi
je 0x1402b0edd
mov rcx, rsi
mov rdx, r9
mov r8, r15
mov r9, r13
call fcn.1402b0aa0
cmp r15, r14
je 0x1402b0ec6
test al, al
je 0x1402b0ec6
cmp r12d, 0x10000
mov eax, 2
sbb eax, 0
lea rax, [r15 + rax*2]
mov qword [rsp + 0x20], r13
mov rcx, rdi
mov edx, r12d
mov r8d, ebp
mov r15, rax
mov r9, rsi
call fcn.1402b0f10
mov r9, r15
test al, al
je 0x1402b0ec9
cmp r9, r14
je 0x1402b0ec9
mov r13, r9
jmp 0x1402b0dd3
add r13, 2
mov r15, r13
mov r13, r15
cmp r15, r14
je 0x1402b0d3a
movzx r12d, word [r13]
cmp r12w, bx
jb 0x1402b0dc0
mov rcx, qword [rdi + 0x20]
mov rax, qword [rcx]
mov rsi, qword [rcx + 8]
mov edx, r12d
shr edx, 6
movzx eax, word [rax + rdx*2]
mov edx, r12d
and edx, 0x3f
add edx, eax
movzx ebp, word [rsi + rdx*2]
movzx edx, word [rdi + 0xe]
cmp dx, bp
setbe al
mov r8d, ebp
and r8d, 0xfdff
cmp r8d, 0xfc00
setne r8b
test al, r8b
je 0x1402b0dc0
mov eax, r12d
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1402b0d37
lea r15, [r13 + 2]
cmp r15, r14
je 0x1402b0dc7
movzx eax, word [r15]
mov r8d, eax
and r8d, 0xfc00
cmp r8d, 0xdc00
jne 0x1402b0dc7
shl r12d, 0xa
add r12d, eax
add r12d, 0xfca02400
cmp r12d, dword [rcx + 0x18]
jl 0x1402b0e76
mov eax, dword [rcx + 0x14]
add eax, 0xfffffffe
jmp 0x1402b0e88
mov edx, r12d
mov r15, r9
call fcn.1400e8cc0
mov r9, r15
movzx edx, word [rdi + 0xe]
cdqe
movzx ebp, word [rsi + rax*2]
cmp dx, bp
setbe al
mov ecx, ebp
and ecx, 0xfdff
cmp ecx, 0xfc00
setne cl
and cl, al
mov eax, ecx
xor al, 1
movzx eax, al
lea r15, [rax*4]
add r15, r13
test cl, cl
je 0x1402b0dc7
jmp 0x1402b0d3a
mov r9, r15
mov rax, r9
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp r15, r14
je 0x1402b0ec6
cmp r12d, 0x10000
mov eax, 2
sbb eax, 0
lea rax, [r15 + rax*2]
mov dword [rsp + 0x34], 0
mov r9, r15
jmp 0x1402b0cdd