Function at 0x1400c90e0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov rbp, rsp
test r8d, r8d
js 0x1400c9713
mov r12, rcx
movzx r10d, word [rdx + 2]
xor eax, eax
test r10d, r10d
sete al
mov ebx, 0x8a
mov ecx, 7
cmove ecx, ebx
mov esi, 4
sub esi, eax
inc r8d
xor r11d, r11d
mov edi, 0xffffffff
xor r15d, r15d
jmp 0x1400c9142
mov r14d, edi
mov edi, r14d
mov r15d, r13d
cmp r11, r8
je 0x1400c9713
mov r14d, r10d
movzx r10d, word [rdx + r11*4 + 6]
inc r11
lea r13d, [r15 + 1]
cmp r13d, ecx
jge 0x1400c915c
cmp r14d, r10d
je 0x1400c9130
cmp r13d, esi
jge 0x1400c9250
mov r9d, r14d
mov ecx, dword [r12 + 0x1710]
jmp 0x1400c9193
add ecx, esi
mov dword [r12 + 0x1710], ecx
dec r13d
je 0x1400c9229
movzx esi, word [r12 + r9*4 + 0xaa6]
mov ebx, send
sub ebx, esi
movzx edi, word [r12 + r9*4 + 0xaa4]
mov eax, edi
shl eax, cl
or ax, word [r12 + 0x170c]
mov word [r12 + 0x170c], ax
cmp ecx, ebx
jle 0x1400c9180
mov r15, qword [r12 + 0x10]
mov ebx, dword [r12 + 0x28]
lea ecx, [rbx + 1]
mov dword [r12 + 0x28], ecx
mov byte [r15 + rbx], al
movzx r15d, byte [r12 + 0x170d]
mov rcx, qword [r12 + 0x10]
mov ebx, dword [r12 + 0x28]
lea eax, [rbx + 1]
mov dword [r12 + 0x28], eax
mov byte [rcx + rbx], r15b
mov eax, dword [r12 + 0x1710]
mov cl, 0x10
sub cl, al
shr edi, cl
mov word [r12 + 0x170c], di
lea ecx, [rsi + rax]
add ecx, 0xfffffff0
mov dword [r12 + 0x1710], ecx
dec r13d
jne 0x1400c9193
xor r13d, r13d
test r10d, r10d
je 0x1400c9704
xor ecx, ecx
cmp r14d, r10d
sete cl
mov esi, 4
sub esi, ecx
xor ecx, 7
jmp 0x1400c9133
test r14d, r14d
je 0x1400c926e
cmp r14d, edi
jne 0x1400c933c
mov r9d, dword [r12 + 0x1710]
mov r15d, r13d
jmp 0x1400c94aa
cmp r15d, 9
jg 0x1400c93db
movzx edi, word [r12 + 0xaea]
mov r9d, dword [r12 + 0x1710]
mov eax, send
movzx ebx, word [r12 + 0xae8]
mov esi, ebx
mov ecx, r9d
shl esi, cl
sub eax, edi
or si, word [r12 + 0x170c]
cmp r9d, eax
jle 0x1400c95e5
mov word [r12 + 0x170c], si
mov r9, qword [r12 + 0x10]
mov ecx, dword [r12 + 0x28]
lea eax, [rcx + 1]
mov dword [r12 + 0x28], eax
mov byte [r9 + rcx], sil
movzx r9d, byte [r12 + 0x170d]
mov rcx, qword [r12 + 0x10]
mov esi, dword [r12 + 0x28]
lea eax, [rsi + 1]
mov dword [r12 + 0x28], eax
mov byte [rcx + rsi], r9b
mov eax, dword [r12 + 0x1710]
mov cl, 0x10
sub cl, al
shr ebx, cl
lea r9d, [rdi + rax]
add r9d, 0xfffffff0
mov esi, ebx
mov dword [r12 + 0x1710], r9d
add r15d, 0xfffe
cmp r9d, 0xe
jge 0x1400c9601
mov ecx, r9d
shl r15d, cl
or esi, r15d
mov word [r12 + 0x170c], si
add r9d, 3
jmp 0x1400c96f0
mov eax, r14d
movzx esi, word [r12 + rax*4 + 0xaa6]
mov r9d, dword [r12 + 0x1710]
mov ebx, send
sub ebx, esi
movzx edi, word [r12 + rax*4 + 0xaa4]
mov eax, edi
mov ecx, r9d
shl eax, cl
or ax, word [r12 + 0x170c]
mov word [r12 + 0x170c], ax
cmp r9d, ebx
jle 0x1400c949f
mov r9, qword [r12 + 0x10]
mov ebx, dword [r12 + 0x28]
lea ecx, [rbx + 1]
mov dword [r12 + 0x28], ecx
mov byte [r9 + rbx], al
movzx r9d, byte [r12 + 0x170d]
mov rcx, qword [r12 + 0x10]
mov ebx, dword [r12 + 0x28]
lea eax, [rbx + 1]
mov dword [r12 + 0x28], eax
mov byte [rcx + rbx], r9b
mov eax, dword [r12 + 0x1710]
mov cl, 0x10
sub cl, al
shr edi, cl
mov word [r12 + 0x170c], di
lea r9d, [rsi + rax]
add r9d, 0xfffffff0
jmp 0x1400c94a2
movzx edi, word [r12 + 0xaee]
mov r9d, dword [r12 + 0x1710]
mov eax, send
movzx ebx, word [r12 + 0xaec]
mov esi, ebx
mov ecx, r9d
shl esi, cl
sub eax, edi
or si, word [r12 + 0x170c]
cmp r9d, eax
jle 0x1400c966c
mov word [r12 + 0x170c], si
mov r9, qword [r12 + 0x10]
mov ecx, dword [r12 + 0x28]
lea eax, [rcx + 1]
mov dword [r12 + 0x28], eax
mov byte [r9 + rcx], sil
movzx r9d, byte [r12 + 0x170d]
mov rcx, qword [r12 + 0x10]
mov esi, dword [r12 + 0x28]
lea eax, [rsi + 1]
mov dword [r12 + 0x28], eax
mov byte [rcx + rsi], r9b
mov eax, dword [r12 + 0x1710]
mov cl, 0x10
sub cl, al
shr ebx, cl
lea r9d, [rdi + rax]
add r9d, 0xfffffff0
mov esi, ebx
mov dword [r12 + 0x1710], r9d
add r15d, 0xfff6
cmp r9d, 0xa
jge 0x1400c9688
mov ecx, r9d
shl r15d, cl
or esi, r15d
mov word [r12 + 0x170c], si
add r9d, 7
jmp 0x1400c96f0
add r9d, esi
mov dword [r12 + 0x1710], r9d
movzx edi, word [r12 + 0xae6]
mov eax, send
movzx ebx, word [r12 + 0xae4]
mov esi, ebx
mov ecx, r9d
shl esi, cl
sub eax, edi
or si, word [r12 + 0x170c]
cmp r9d, eax
jle 0x1400c9562
mov word [r12 + 0x170c], si
mov r9, qword [r12 + 0x10]
mov ecx, dword [r12 + 0x28]
lea eax, [rcx + 1]
mov dword [r12 + 0x28], eax
mov byte [r9 + rcx], sil
movzx r9d, byte [r12 + 0x170d]
mov rcx, qword [r12 + 0x10]
mov esi, dword [r12 + 0x28]
lea eax, [rsi + 1]
mov dword [r12 + 0x28], eax
mov byte [rcx + rsi], r9b
mov eax, dword [r12 + 0x1710]
mov cl, 0x10
sub cl, al
shr ebx, cl
lea r9d, [rdi + rax]
add r9d, 0xfffffff0
mov esi, ebx
mov dword [r12 + 0x1710], r9d
add r15d, 0xfffd
cmp r9d, 0xf
jge 0x1400c957a
mov ecx, r9d
shl r15d, cl
or esi, r15d
mov word [r12 + 0x170c], si
add r9d, 2
jmp 0x1400c96f0
add r9d, edi
mov dword [r12 + 0x1710], r9d
add r15d, 0xfffd
cmp r9d, 0xf
jl 0x1400c9547
movzx eax, r15w
mov ecx, r9d
shl r15d, cl
or esi, r15d
mov word [r12 + 0x170c], si
mov rcx, qword [r12 + 0x10]
mov ebx, dword [r12 + 0x28]
lea edi, [rbx + 1]
mov dword [r12 + 0x28], edi
mov byte [rcx + rbx], sil
movzx ecx, byte [r12 + 0x170d]
mov rbx, qword [r12 + 0x10]
mov edi, dword [r12 + 0x28]
lea esi, [rdi + 1]
mov dword [r12 + 0x28], esi
mov byte [rbx + rdi], cl
mov r9d, dword [r12 + 0x1710]
mov cl, 0x10
sub cl, r9b
shr eax, cl
mov word [r12 + 0x170c], ax
add r9d, 0xfffffff2
jmp 0x1400c96f0
add r9d, edi
mov dword [r12 + 0x1710], r9d
add r15d, 0xfffe
cmp r9d, 0xe
jl 0x1400c9321
movzx eax, r15w
mov ecx, r9d
shl r15d, cl
or esi, r15d
mov word [r12 + 0x170c], si
mov rcx, qword [r12 + 0x10]
mov ebx, dword [r12 + 0x28]
lea edi, [rbx + 1]
mov dword [r12 + 0x28], edi
mov byte [rcx + rbx], sil
movzx ecx, byte [r12 + 0x170d]
mov rbx, qword [r12 + 0x10]
mov edi, dword [r12 + 0x28]
lea esi, [rdi + 1]
mov dword [r12 + 0x28], esi
mov byte [rbx + rdi], cl
mov r9d, dword [r12 + 0x1710]
mov cl, 0x10
sub cl, r9b
shr eax, cl
mov word [r12 + 0x170c], ax
add r9d, 0xfffffff3
jmp 0x1400c96f0
add r9d, edi
mov dword [r12 + 0x1710], r9d
add r15d, 0xfff6
cmp r9d, 0xa
jl 0x1400c9484
movzx eax, r15w
mov ecx, r9d
shl r15d, cl
or esi, r15d
mov word [r12 + 0x170c], si
mov rcx, qword [r12 + 0x10]
mov ebx, dword [r12 + 0x28]
lea edi, [rbx + 1]
mov dword [r12 + 0x28], edi
mov byte [rcx + rbx], sil
movzx ecx, byte [r12 + 0x170d]
mov rbx, qword [r12 + 0x10]
mov edi, dword [r12 + 0x28]
lea esi, [rdi + 1]
mov dword [r12 + 0x28], esi
mov byte [rbx + rdi], cl
mov r9d, dword [r12 + 0x1710]
mov cl, 0x10
sub cl, r9b
shr eax, cl
mov word [r12 + 0x170c], ax
add r9d, 0xfffffff7
nop
mov dword [r12 + 0x1710], r9d
xor r13d, r13d
test r10d, r10d
jne 0x1400c9235
mov ecx, 0x8a
mov esi, 3
jmp 0x1400c9133
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret