Function at 0x140095290
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, 0x38
mov qword [rsp + 0x20], rdx
mov rax, qword [rsp + 0xb8]
mov r14, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
mov qword [r14], r8
mov qword [rax], rcx
mov rax, qword [r14]
cmp rax, r9
mov qword [rsp + 0x28], r8
je 0x14009565f
cmp rcx, qword [rsp + 0xb0]
je 0x14009565f
mov r15, r9
movabs r13, 0x4b290d764cfcbdfa
lea rbp, [0x14025576c]
mov rdi, rax
mov qword [rsp + 0x30], r9
movzx r12d, byte [rdi]
mov esi, r12d
mov rax, qword [0x1402fc1d0]
add rax, r13
call rax
cdqe
lea rcx, [0x140255718]
cmp r12b, byte [rax + rcx]
jle 0x140095330
inc rdi
mov qword [r14], rdi
mov esi, r12d
jmp 0x140095587
mov esi, r12d
mov rax, qword [0x1402fc1d8]
add rax, r13
call rax
cdqe
lea rcx, [0x14025571b]
cmp r12b, byte [rax + rcx]
jb 0x14009564f
mov esi, r12d
mov rax, qword [0x1402fc1e0]
add rax, r13
call rax
cdqe
lea rcx, [0x14025571e]
cmp r12b, byte [rax + rcx]
jae 0x1400953a0
mov rax, qword [0x1402fc1e8]
add rax, r13
call rax
cdqe
lea rcx, [0x140255724]
and r12d, dword [rcx + rax*4]
mov esi, r12d
mov r12d, 1
jmp 0x1400954a0
mov esi, r12d
mov rax, qword [0x1402fc1f0]
add rax, r13
call rax
cdqe
lea rcx, [0x140255730]
cmp r12b, byte [rax + rcx]
jae 0x1400953e5
mov rax, qword [0x1402fc1f8]
add rax, r13
call rax
cdqe
lea rcx, [0x140255734]
and r12d, dword [rcx + rax*4]
mov esi, r12d
mov r12d, 2
jmp 0x1400954a0
mov esi, r12d
mov rax, qword [0x1402fc200]
add rax, r13
call rax
cdqe
lea rcx, [0x140255740]
cmp r12b, byte [rax + rcx]
jae 0x140095427
mov rax, qword [0x1402fc208]
add rax, r13
call rax
cdqe
lea rcx, [0x140255744]
and r12d, dword [rcx + rax*4]
mov esi, r12d
mov r12d, 3
jmp 0x1400954a0
mov esi, r12d
mov rax, qword [0x1402fc210]
add rax, r13
call rax
cdqe
lea rcx, [0x140255750]
and r12d, dword [rcx + rax*4]
mov rax, qword [0x1402fc218]
add rax, r13
call rax
imul ecx, dword [0x140297a70], 0x21328941
cdqe
imul edx, dword [0x140297a74], 0x5989d0b1
mov r8d, dword [0x140297a78]
mov r9d, dword [0x140297a7c]
shrd r9d, r8d, 0x1c
xor r9d, 0x2dae9a85
lea r8, [0x14025575c]
cmp sil, byte [rax + r8]
mov eax, edx
lea eax, [rcx + rax + 0x653d0f7a]
cmovae eax, r9d
mov esi, r12d
mov r12d, eax
nop dword [rax]
sub r15, rdi
mov rax, qword [0x1402fc220]
add rax, r13
call rax
cdqe
lea rcx, [0x140255760]
mov eax, dword [rcx + rax*4]
mov ecx, r12d
add rcx, rax
cmp r15, rcx
jl 0x14009565c
lea rax, [rdi + 1]
mov qword [r14], rax
add rdi, 2
mov rax, rdi
mov r15d, esi
nop dword [rax + rax]
mov edi, r12d
mov r12, rax
movzx esi, byte [rax - 1]
mov ebx, esi
mov rax, qword [0x1402fc228]
add rax, r13
call rax
cdqe
cmp sil, byte [rax + rbp]
jg 0x140095648
mov rax, qword [0x1402fc230]
add rax, r13
call rax
cdqe
lea rcx, [0x140255770]
movzx ecx, byte [rcx + rax*4]
shl r15d, cl
mov rax, qword [0x1402fc238]
add rax, r13
call rax
cdqe
lea rcx, [0x14025577c]
movzx eax, byte [rax + rcx]
and esi, eax
or esi, r15d
mov rax, qword [0x1402fc240]
add rax, r13
call rax
cdqe
lea rcx, [0x140255780]
mov ebx, dword [rcx + rax*4]
add ebx, edi
mov qword [r14], r12
mov rax, qword [0x1402fc248]
add rax, r13
call rax
movsxd rdx, eax
inc r12
mov rax, r12
mov r12d, ebx
mov r15d, esi
lea r8, [0x14025578c]
cmp edi, dword [r8 + rdx*4]
jg 0x1400954e0
mov rax, qword [rsp + 0x20]
movzx ebx, byte [rax]
mov rax, qword [0x1402fc250]
add rax, r13
call rax
movzx eax, byte [0x140297a80]
movzx ecx, byte [0x140297a81]
imul eax, eax, 0x59
mov edx, ecx
shl edx, 5
lea ecx, [rdx + rcx*2]
add cl, al
add cl, 0x84
cmp bl, cl
jne 0x1400955dd
mov rax, qword [0x1402fc258]
add rax, r13
call rax
cdqe
lea rcx, [0x140255798]
movzx eax, byte [rax + rcx]
mov rcx, qword [rsp + 0x20]
mov byte [rcx], al
mov rax, qword [0x1402fc260]
add rax, r13
call rax
cdqe
lea rcx, [0x14025579c]
cmp esi, dword [rcx + rax*4]
mov r15, qword [rsp + 0x30]
ja 0x140095648
mov eax, esi
mov r8, qword [rsp + 0xb8]
mov rcx, qword [r8]
lea rdx, [rcx + 2]
mov qword [r8], rdx
mov word [rcx], si
mov rdi, qword [r14]
mov rax, qword [rsp + 0xb0]
cmp qword [r8], rax
sete al
cmp rdi, r15
mov ecx, 0
mov cl, al
movzx eax, byte [reloc.WS2_32.dll_accept]
cmovne eax, ecx
mov ecx, eax
mov rax, rdi
test cl, 1
je 0x1400952fe
jmp 0x14009565f
mov eax, 2
jmp 0x14009566d
inc rdi
mov qword [r14], rdi
mov eax, 2
jmp 0x14009566d
mov rax, rdi
cmp rax, qword [rsp + 0x28]
sete al
xor ecx, ecx
mov cl, al
mov eax, ecx
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret