Function at 0x1400279f0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
cmp r8d, 3
jl 0x140027dfc
mov r11, rsp
push rbx
push rsi
push rdi
push r15
sub rsp, 0x68
mov edi, r8d
mov r15d, r9d
mov rsi, rdx
mov rbx, rcx
test r9d, 0xff000000
je 0x140027df3
test byte [rcx + 0x30], 4
mov rax, qword [rcx + 0x38]
movaps xmmword [rsp + 0x50], xmm6
movsd xmm6, qword [rax]
je 0x140027d54
mov qword [r11 + 8], rbp
lea edx, [rdi*8 - 6]
mov qword [r11 + 0x10], r12
add edx, edi
mov qword [r11 + 0x20], r13
mov r12d, r9d
lea r13d, [rdi + rdi]
mov qword [r11 - 0x28], r14
movaps xmmword [r11 - 0x68], xmm9
mov r8d, r13d
movss xmm9, dword [rcx + 0xc0]
and r12d, 0xffffff
mov dword [rsp + 0xa0], r13d
call fcn.140026900
mov ebp, dword [rbx + 0x34]
mov r8d, 2
cmp edi, r8d
jle 0x140027ac1
nop dword [rax]
mov rax, qword [rbx + 0x50]
movzx edx, r8w
add dx, dx
inc r8d
add dx, bp
mov word [rax], bp
mov rax, qword [rbx + 0x50]
lea ecx, [rdx - 2]
mov word [rax + 2], cx
mov rax, qword [rbx + 0x50]
mov word [rax + 4], dx
add qword [rbx + 0x50], 6
cmp r8d, edi
jl 0x140027a90
mov r14, qword [rbx + 0x38]
cmp edi, dword [r14 + 0x34]
jle 0x140027b13
mov rcx, qword [r14 + 0x38]
test rcx, rcx
je 0x140027aec
mov rax, qword [0x140149698]
test rax, rax
je 0x140027ae6
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [0x140149698]
test rax, rax
je 0x140027afe
inc dword [rax + 0xf4]
movsxd rcx, edi
shl rcx, 3
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [r14 + 0x38], rax
mov dword [r14 + 0x34], edi
mov rax, qword [rbx + 0x38]
lea r10d, [rdi - 1]
mov r14, qword [rsp + 0x60]
mov r9, qword [rax + 0x38]
test edi, edi
jle 0x140027ba8
movss xmm4, dword [0x1400e5b50]
mov r8, rsi
movsxd rax, r10d
mov rcx, rsi
neg r8
mov rdx, rdi
xorps xmm5, xmm5
lea rax, [rax*8]
nop
movss xmm2, dword [rcx]
movss xmm3, dword [rcx + 4]
subss xmm2, dword [rax + rsi]
subss xmm3, dword [rax + rsi + 4]
movaps xmm0, xmm2
movaps xmm1, xmm3
mulss xmm0, xmm2
mulss xmm1, xmm3
addss xmm1, xmm0
comiss xmm1, xmm5
jbe 0x140027b8a
movaps xmm0, xmm1
rsqrtss xmm1, xmm1
mulss xmm2, xmm1
mulss xmm3, xmm1
xorps xmm2, xmm4
movss dword [rax + r9], xmm3
movss dword [rax + r9 + 4], xmm2
lea rax, [r8 + rcx]
add rcx, 8
sub rdx, 1
jne 0x140027b50
xor r11d, r11d
test edi, edi
jle 0x140027d2d
movss xmm4, dword [0x1400e5650]
lea r13d, [rbp + 1]
movss xmm5, dword [0x1400e5684]
movaps xmmword [rsp + 0x40], xmm7
movss xmm7, dword [0x1400e578c]
movaps xmmword [rsp + 0x30], xmm8
movss xmm8, dword [0x1400e55fc]
mulss xmm9, xmm4
nop dword [rax + rax]
movsxd rcx, r11d
movsxd rax, r10d
movss xmm2, dword [r9 + rcx*8]
movss xmm3, dword [r9 + rcx*8 + 4]
addss xmm2, dword [r9 + rax*8]
addss xmm3, dword [r9 + rax*8 + 4]
mulss xmm2, xmm4
mulss xmm3, xmm4
movaps xmm0, xmm2
mulss xmm0, xmm2
movaps xmm1, xmm3
mulss xmm1, xmm3
addss xmm1, xmm0
comiss xmm1, xmm8
jbe 0x140027c46
movaps xmm0, xmm5
divss xmm0, xmm1
movaps xmm1, xmm7
minss xmm1, xmm0
mulss xmm2, xmm1
mulss xmm3, xmm1
movss xmm0, dword [rsi + rcx*8]
add r10w, r10w
mov rax, qword [rbx + 0x48]
movzx r8d, r11w
mulss xmm2, xmm9
add r8w, r8w
mulss xmm3, xmm9
subss xmm0, xmm2
lea edx, [r8 + rbp]
add r8w, r13w
movss dword [rax], xmm0
movss xmm1, dword [rsi + rcx*8 + 4]
mov rax, qword [rbx + 0x48]
subss xmm1, xmm3
movss dword [rax + 4], xmm1
mov rax, qword [rbx + 0x48]
movsd qword [rax + 8], xmm6
mov rax, qword [rbx + 0x48]
mov dword [rax + 0x10], r15d
addss xmm2, dword [rsi + rcx*8]
mov rax, qword [rbx + 0x48]
movss dword [rax + 0x14], xmm2
addss xmm3, dword [rsi + rcx*8 + 4]
mov rax, qword [rbx + 0x48]
lea ecx, [r10 + rbp]
add r10w, r13w
movss dword [rax + 0x18], xmm3
mov rax, qword [rbx + 0x48]
movsd qword [rax + 0x1c], xmm6
mov rax, qword [rbx + 0x48]
mov dword [rax + 0x24], r12d
mov rax, qword [rbx + 0x50]
add qword [rbx + 0x48], 0x28
mov word [rax], dx
mov rax, qword [rbx + 0x50]
mov word [rax + 2], cx
mov rax, qword [rbx + 0x50]
mov word [rax + 4], r10w
mov rax, qword [rbx + 0x50]
mov word [rax + 6], r10w
mov r10d, r11d
mov rax, qword [rbx + 0x50]
inc r11d
mov word [rax + 8], r8w
mov rax, qword [rbx + 0x50]
mov word [rax + 0xa], dx
add qword [rbx + 0x50], 0xc
cmp r11d, edi
jl 0x140027bf0
mov r13d, dword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0x30]
movaps xmm7, xmmword [rsp + 0x40]
movaps xmm9, xmmword [rsp + 0x20]
mov r12, qword [rsp + 0x98]
mov rbp, qword [rsp + 0x90]
movzx eax, r13w
mov r13, qword [rsp + 0xa8]
jmp 0x140027deb
lea eax, [rdi - 2]
mov r8d, edi
lea edx, [rax + rax*2]
call fcn.140026900
test edi, edi
jle 0x140027d9c
mov rcx, rdi
nop dword [rax]
mov rax, qword [rbx + 0x48]
movsd xmm0, qword [rsi]
lea rsi, [rsi + 8]
movsd qword [rax], xmm0
mov rax, qword [rbx + 0x48]
movsd qword [rax + 8], xmm6
mov rax, qword [rbx + 0x48]
mov dword [rax + 0x10], r15d
add qword [rbx + 0x48], 0x14
sub rcx, 1
jne 0x140027d70
mov r8d, 2
cmp edi, r8d
jle 0x140027de8
nop word [rax + rax]
mov rcx, qword [rbx + 0x50]
movzx eax, word [rbx + 0x34]
mov word [rcx], ax
lea ecx, [r8 - 1]
add cx, word [rbx + 0x34]
mov rax, qword [rbx + 0x50]
mov word [rax + 2], cx
movzx ecx, r8w
mov rax, qword [rbx + 0x50]
inc r8d
add cx, word [rbx + 0x34]
mov word [rax + 4], cx
add qword [rbx + 0x50], 6
cmp r8d, edi
jl 0x140027db0
movzx eax, di
add dword [rbx + 0x34], eax
movaps xmm6, xmmword [rsp + 0x50]
add rsp, 0x68
pop r15
pop rdi
pop rsi
pop rbx
ret