Function at 0x140097ac0
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 0x140098074
mov r12, rcx
movzx r10d, word [rdx + 2]
xor eax, eax
test r10w, r10w
sete al
mov ebx, 0x8a
mov ecx, 7
cmove ecx, ebx
mov esi, 4
sub esi, eax
add r8d, 1
xor r11d, r11d
mov edi, 0xffffffff
xor r15d, r15d
jmp 0x140097b22
mov r14d, edi
mov edi, r14d
mov r15d, r13d
cmp r11, r8
je 0x140098074
mov r14d, r10d
movzx r10d, word [rdx + r11*4 + 6]
add r11, 1
lea r13d, [r15 + 1]
cmp r13d, ecx
jge 0x140097b3d
cmp r14d, r10d
je 0x140097b10
cmp r13d, esi
jge 0x140097c30
mov r9d, r14d
mov ecx, dword [r12 + 0x1710]
jmp 0x140097b74
add ecx, esi
mov dword [r12 + 0x1710], ecx
add r13d, 0xffffffff
je 0x140097c0b
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 0x140097b60
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
add r13d, 0xffffffff
jne 0x140097b74
xor r13d, r13d
test r10w, r10w
je 0x140098065
xor ecx, ecx
cmp r14d, r10d
sete cl
mov esi, 4
sub esi, ecx
xor ecx, 7
jmp 0x140097b13
test r14d, r14d
je 0x140097c4e
cmp r14d, edi
jne 0x140097cec
mov r9d, dword [r12 + 0x1710]
mov r15d, r13d
jmp 0x140097e29
cmp r15d, 9
jg 0x140097d8a
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 0x140097f39
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
mov r9b, 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
jmp 0x140097f3c
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 0x140097e1e
mov r9, qword [r12 + 0x10]
mov ebx, dword [r12 + 0x28]
lea ecx, [rbx + 1]
mov dword [r12 + 0x28], ecx
mov byte [r9 + rbx], al
mov r9b, 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 0x140097e21
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 0x140097fbf
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
mov r9b, 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
jmp 0x140097fc2
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 0x140097eae
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
mov r9b, 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
jmp 0x140097eb1
add r9d, edi
add r15d, 0xfffd
movzx edi, r15w
mov eax, edi
mov ecx, r9d
shl eax, cl
mov dword [r12 + 0x1710], r9d
or esi, eax
mov word [r12 + 0x170c], si
cmp r9d, 0xf
jl 0x140097f30
mov rax, qword [r12 + 0x10]
mov ecx, dword [r12 + 0x28]
lea ebx, [rcx + 1]
mov dword [r12 + 0x28], ebx
mov byte [rax + rcx], sil
mov al, byte [r12 + 0x170d]
mov rcx, qword [r12 + 0x10]
mov ebx, dword [r12 + 0x28]
lea esi, [rbx + 1]
mov dword [r12 + 0x28], esi
mov byte [rcx + rbx], al
mov r9d, dword [r12 + 0x1710]
mov cl, 0x10
sub cl, r9b
shr edi, cl
mov word [r12 + 0x170c], di
add r9d, 0xfffffff2
jmp 0x140098050
add r9d, 2
jmp 0x140098050
add r9d, edi
add r15d, 0xfffe
movzx edi, r15w
mov eax, edi
mov ecx, r9d
shl eax, cl
mov dword [r12 + 0x1710], r9d
or esi, eax
mov word [r12 + 0x170c], si
cmp r9d, 0xe
jl 0x14009803e
mov rax, qword [r12 + 0x10]
mov ecx, dword [r12 + 0x28]
lea ebx, [rcx + 1]
mov dword [r12 + 0x28], ebx
mov byte [rax + rcx], sil
mov al, byte [r12 + 0x170d]
mov rcx, qword [r12 + 0x10]
mov ebx, dword [r12 + 0x28]
lea esi, [rbx + 1]
mov dword [r12 + 0x28], esi
mov byte [rcx + rbx], al
mov r9d, dword [r12 + 0x1710]
mov cl, 0x10
sub cl, r9b
shr edi, cl
mov word [r12 + 0x170c], di
add r9d, 0xfffffff3
jmp 0x140098050
add r9d, edi
add r15d, 0xfff6
movzx edi, r15w
mov eax, edi
mov ecx, r9d
shl eax, cl
mov dword [r12 + 0x1710], r9d
or esi, eax
mov word [r12 + 0x170c], si
cmp r9d, 0xa
jl 0x140098044
mov rax, qword [r12 + 0x10]
mov ecx, dword [r12 + 0x28]
lea ebx, [rcx + 1]
mov dword [r12 + 0x28], ebx
mov byte [rax + rcx], sil
mov al, byte [r12 + 0x170d]
mov rcx, qword [r12 + 0x10]
mov ebx, dword [r12 + 0x28]
lea esi, [rbx + 1]
mov dword [r12 + 0x28], esi
mov byte [rcx + rbx], al
mov r9d, dword [r12 + 0x1710]
mov cl, 0x10
sub cl, r9b
shr edi, cl
mov word [r12 + 0x170c], di
add r9d, 0xfffffff7
jmp 0x140098050
add r9d, 3
jmp 0x140098050
add r9d, 7
nop dword [rax + rax]
mov dword [r12 + 0x1710], r9d
xor r13d, r13d
test r10w, r10w
jne 0x140097c18
mov ecx, 0x8a
mov esi, 3
jmp 0x140097b13
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret