Function at 0x14010afc0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbx
push rsi
push r13
push r15
sub rsp, 0x28
mov rax, qword [rdx + 0x10]
xor r11d, r11d
mov rsi, qword [rdx]
mov r13, rdx
mov qword [rsp + 0x50], rbp
mov rbx, rcx
mov qword [rsp + 0x58], rdi
mov r15d, 0xffffffff
mov r9, qword [rax]
mov r8d, r11d
mov qword [rsp + 0x60], r12
movzx r12d, word [rax + 0x12]
mov dword [rcx + 0x14a4], r11d
mov dword [rcx + 0x14a8], 0x23d
test r12d, r12d
je 0x14010b051
mov edx, r11d
cmp word [rsi + rdx*4], r11w
je 0x14010b040
movsxd rcx, dword [rbx + 0x14a4]
mov r15d, r8d
lea eax, [rcx + 1]
mov dword [rbx + 0x14a4], eax
mov dword [rbx + rcx*4 + 0xbb4], r8d
mov byte [rdx + rbx + 0x14ac], r11b
jmp 0x14010b046
mov word [rsi + rdx*4 + 2], r11w
inc r8d
inc rdx
cmp rdx, r12
jl 0x14010b014
mov edx, dword [rbx + 0x14a4]
mov ebp, 1
cmp edx, 2
jge 0x14010b0bb
cmp r15d, 2
lea eax, [rdx + 1]
mov dword [rbx + 0x14a4], eax
lea ecx, [r15 + 1]
movsxd rax, edx
mov r8d, ecx
cmovge ecx, r11d
cmovge r8d, r15d
mov dword [rbx + rax*4 + 0xbb4], ecx
movsxd rax, ecx
mov word [rsi + rax*4], bp
mov byte [rax + rbx + 0x14ac], r11b
dec dword [rbx + 0x1704]
test r9, r9
je 0x14010b0ad
movzx eax, word [r9 + rax*4 + 2]
sub dword [rbx + 0x1708], eax
mov edx, dword [rbx + 0x14a4]
mov r15d, r8d
cmp edx, 2
jl 0x14010b061
mov dword [r13 + 8], r15d
mov eax, dword [rbx + 0x14a4]
cdq
sub eax, edx
sar eax, 1
movsxd r11, eax
cmp r11d, ebp
jl 0x14010b1a5
mov qword [rsp + 0x20], r14
lea r14, [rbx + 0xbb0]
lea r14, [r14 + r11*4]
nop word [rax + rax]
mov edx, dword [rbx + 0x14a4]
lea ecx, [r11 + r11]
movsxd rbp, dword [r14]
mov r10d, r11d
cmp ecx, edx
jg 0x14010b180
jge 0x14010b13c
movsxd rax, ecx
movsxd r9, dword [rbx + rax*4 + 0xbb0]
movsxd r8, dword [rbx + rax*4 + 0xbb4]
movzx eax, word [rsi + r8*4]
cmp ax, word [rsi + r9*4]
jb 0x14010b13a
jne 0x14010b13c
movzx eax, byte [r9 + rbx + 0x14ac]
cmp byte [r8 + rbx + 0x14ac], al
ja 0x14010b13c
inc ecx
movsxd rax, ecx
movsxd r9, dword [rbx + rax*4 + 0xbb0]
movzx eax, word [rsi + rbp*4]
cmp ax, word [rsi + r9*4]
jb 0x14010b180
jne 0x14010b166
movzx eax, byte [r9 + rbx + 0x14ac]
cmp byte [rbp + rbx + 0x14ac], al
jbe 0x14010b180
movsxd rax, r10d
mov r10d, ecx
add ecx, ecx
mov dword [rbx + rax*4 + 0xbb0], r9d
mov edx, dword [rbx + 0x14a4]
cmp ecx, edx
jle 0x14010b104
movsxd rax, r10d
dec r11d
sub r14, 4
mov dword [rbx + rax*4 + 0xbb0], ebp
cmp r11d, 1
jge 0x14010b0f0
mov r14, qword [rsp + 0x20]
mov ebp, 1
movsxd rcx, dword [rbx + 0x14a4]
mov r8d, ebp
movsxd rdi, dword [rbx + 0xbb4]
mov edx, dword [rbx + rcx*4 + 0xbb0]
lea eax, [rcx - 1]
mov dword [rbx + 0x14a4], eax
mov rcx, rbx
mov dword [rbx + 0xbb4], edx
mov rdx, rsi
call fcn.140125840
movsxd rcx, dword [rbx + 0x14a8]
mov r11d, ebp
movsxd rdx, dword [rbx + 0xbb4]
mov r8, rdx
movsxd r10, r12d
lea eax, [rcx - 1]
mov dword [rbx + 0x14a8], eax
mov dword [rbx + rcx*4 + 0xbac], edi
movsxd rcx, dword [rbx + 0x14a8]
lea eax, [rcx - 1]
mov dword [rbx + 0x14a8], eax
mov dword [rbx + rcx*4 + 0xbac], edx
lea rdx, [rsi + rdi*4]
movzx eax, word [rsi + r8*4]
add ax, word [rdx]
mov word [rsi + r10*4], ax
movzx ecx, byte [rdi + rbx + 0x14ac]
mov edi, r12d
movzx eax, byte [r8 + rbx + 0x14ac]
cmp cl, al
cmovb ecx, eax
mov eax, r12d
inc cl
mov byte [rbx + r10 + 0x14ac], cl
mov ecx, 2
mov word [rsi + r8*4 + 2], r12w
mov word [rdx + 2], r12w
inc r12d
mov dword [rbx + 0xbb4], eax
mov eax, dword [rbx + 0x14a4]
cmp ecx, eax
jg 0x14010b2ed
jge 0x14010b2a7
movsxd rax, ecx
movsxd r9, dword [rbx + rax*4 + 0xbb0]
movsxd r8, dword [rbx + rax*4 + 0xbb4]
movzx eax, word [rsi + r8*4]
cmp ax, word [rsi + r9*4]
jb 0x14010b2a5
jne 0x14010b2a7
movzx eax, byte [r9 + rbx + 0x14ac]
cmp byte [r8 + rbx + 0x14ac], al
ja 0x14010b2a7
inc ecx
movsxd rax, ecx
movsxd r9, dword [rbx + rax*4 + 0xbb0]
movzx eax, word [rsi + r10*4]
cmp ax, word [rsi + r9*4]
jb 0x14010b2ed
jne 0x14010b2d3
movzx eax, byte [r9 + rbx + 0x14ac]
cmp byte [rbx + r10 + 0x14ac], al
jbe 0x14010b2ed
movsxd rax, r11d
mov r11d, ecx
add ecx, ecx
mov dword [rbx + rax*4 + 0xbb0], r9d
mov eax, dword [rbx + 0x14a4]
cmp ecx, eax
jle 0x14010b26f
movsxd rax, r11d
mov dword [rbx + rax*4 + 0xbb0], edi
cmp dword [rbx + 0x14a4], 2
jge 0x14010b1a5
movsxd r8, dword [rbx + 0x14a8]
mov rdx, r13
mov r12, qword [rsp + 0x60]
mov rcx, rbx
mov rdi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
lea eax, [r8 - 1]
mov dword [rbx + 0x14a8], eax
mov eax, dword [rbx + 0xbb4]
mov dword [rbx + r8*4 + 0xbac], eax
call fcn.14011d000
lea r8, [rbx + 0xb90]
mov edx, r15d
mov rcx, rsi
add rsp, 0x28
pop r15
pop r13
pop rsi
pop rbx
jmp fcn.14011d210