Function at 0x14001c2b0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
movzx r15d, byte [rcx + 1]
lea r14, [rdx - 0xb]
movzx eax, byte [rcx]
xor esi, esi
xor r10b, r10b
mov r11, rdx
cmp r9, r14
mov rbp, r9
mov edx, 2
mov r12, r8
cmova rbp, r14
mov rbx, rcx
xor r15d, 2
mov edi, esi
or r15d, eax
cmp rdx, r11
jae 0x14001c33e
nop word [rax + rax]
movzx ecx, byte [rdx + rbx]
neg cl
or cl, byte [rdx + rbx]
inc rdx
not cl
shr cl, 7
or r10b, cl
movzx eax, r10b
neg al
or al, r10b
not al
movzx eax, al
shr rax, 7
add rdi, rax
cmp rdx, r11
jb 0x14001c310
lea rax, [rdi - 8]
movzx ecx, r10b
shr rax, 0x3f
neg ecx
shr ecx, 0x1f
mov r10d, r11d
sub r10d, edi
dec ecx
sub r10d, 3
and ecx, 1
or ecx, eax
mov r8, rbp
or r15d, ecx
mov edx, r15d
neg edx
shr edx, 0x1f
neg edx
mov eax, edx
mov edi, edx
not edi
not eax
and r10d, eax
mov eax, ebp
and eax, edx
and edx, 0x4100
or r10d, eax
sub r8, r10
shr r8, 0x3f
mov r9d, r8d
or r8d, r15d
neg r9d
neg r8d
shr r9d, 0x1f
neg r9d
shr r8d, 0x1f
and edi, r9d
neg r8d
and edi, 0x4400
or edi, edx
mov edx, ntohl
neg edi
mov dword [rsp + 0x60], edi
cmp r11, rdx
jbe 0x14001c47d
cmp r14, 0x40
jb 0x14001c45a
movsx eax, r8b
and r14d, 0x3f
mov rcx, r11
sub rcx, r14
movd xmm2, eax
lea rax, [rbx + 0x2b]
punpcklbw xmm2, xmm2
punpcklwd xmm2, xmm2
pshufd xmm2, xmm2, 0
pandn xmm2, xmmword [0x1400c1350]
nop dword [rax]
movdqu xmm0, xmmword [rax - 0x20]
lea rax, [rax + 0x40]
add rdx, 0x40
movdqa xmm1, xmm2
pand xmm1, xmm0
movdqu xmmword [rax - 0x60], xmm1
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rax - 0x50]
pand xmm1, xmm0
movdqu xmmword [rax - 0x50], xmm1
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rax - 0x40]
pand xmm1, xmm0
movdqu xmmword [rax - 0x40], xmm1
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rax - 0x30]
pand xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
cmp rdx, rcx
jb 0x14001c400
cmp rdx, r11
jae 0x14001c47d
mov rcx, r11
lea rax, [rdx + rbx]
sub rcx, rdx
not r8b
nop word [rax + rax]
and byte [rax], r8b
lea rax, [rax + 1]
sub rcx, 1
jne 0x14001c470
mov r14d, r9d
mov ecx, r9d
not r14d
mov eax, ebp
and r14, r10
and rcx, rax
mov r13, rbx
or r14, rcx
sub r13, rbp
add r13, r11
test rbp, rbp
je 0x14001c52a
lea r15, [rbp - 1]
lea r12, [rbx + r11]
nop dword [rax + rax]
mov rax, rsi
sub rax, r14
shr rax, 0x3f
neg eax
test r15, r15
je 0x14001c507
mov r11d, eax
mov r10, r13
shr r11d, 0x1f
mov rbx, r15
neg r11d
mov edi, r11d
not edi
nop word [rax + rax]
movzx edx, byte [r10]
movzx r8d, dil
movzx ecx, byte [r10 + 1]
lea r10, [r10 + 1]
and r8b, cl
movzx ecx, r11b
and cl, dl
or r8b, cl
mov byte [r10 - 1], r8b
sub rbx, 1
jne 0x14001c4e0
movzx ecx, byte [r12 - 1]
inc rsi
shr eax, 0x1f
neg al
and al, cl
mov byte [r12 - 1], al
cmp rsi, rbp
jb 0x14001c4b0
mov edi, dword [rsp + 0x60]
mov r12, qword [rsp + 0x70]
cmp qword [rsp + 0x78], 0
je 0x14001c54d
mov r8, rbp
mov rdx, r13
mov rcx, r12
call fcn.140080780
mov rcx, qword [rsp + 0x80]
mov qword [rcx], r14
jmp 0x14001c558
mov rax, qword [rsp + 0x80]
mov qword [rax], r14
mov rbx, qword [rsp + 0x68]
mov eax, edi
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret