Function at 0x1400677a4
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov dword [rax + 0x20], r9d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xe0
movaps xmmword [rax - 0x48], xmm6
mov rsi, r8
movaps xmmword [rax - 0x58], xmm7
mov r8d, 1
movaps xmmword [rax - 0x68], xmm8
mov rbp, rdx
movaps xmmword [rax - 0x78], xmm9
mov rdi, rcx
movss xmm6, dword [rsi]
mov r11d, 0x100
movaps xmmword [rax - 0x88], xmm10
xorps xmm10, xmm10
comiss xmm6, xmm10
mov dword [rsp + 0x120], r8d
movaps xmmword [rax - 0x98], xmm11
mov eax, dword [rcx + 0x24]
mov dword [rsp + 0x5c], eax
mov eax, dword [rcx + 0x28]
mov dword [rsp + 0x60], eax
jbe 0x140067867
movsxd r10, dword [rdx + 0x24]
mov r9, qword [rdx + 8]
movsx ecx, r11w
movzx eax, byte [r10 + r9 + 5]
movzx edx, byte [r10 + r9 + 4]
imul edx, ecx
movsx ecx, r11w
add dx, ax
movzx eax, byte [r10 + r9 + 7]
movsx r8d, dx
movzx edx, byte [r10 + r9 + 6]
imul edx, ecx
add ax, dx
cwde
sub r8d, eax
movd xmm0, r8d
mov r8d, dword [rsp + 0x120]
jmp 0x140067889
movsxd rdx, dword [rdx + 0x1c]
mov rax, qword [rbp + 8]
xorps xmm6, xmmword [0x14021e410]
movzx ecx, byte [rdx + rax + 0x12]
movzx eax, byte [rdx + rax + 0x13]
shl ecx, 8
add ecx, eax
movd xmm0, ecx
movzx edx, byte [rsi + 0x20]
xor r9d, r9d
movss xmm9, dword [0x14021d49c]
mov dword [rdi + 0x24], edx
movaps xmm11, xmm9
movzx ecx, byte [rsi + 0x21]
mov dword [rdi + 0x28], ecx
cvtdq2ps xmm0, xmm0
divss xmm6, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rdx
divss xmm11, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
divss xmm9, xmm0
test edx, edx
jne 0x1400678d2
xorps xmm8, xmm8
jmp 0x1400678f2
mov eax, 1
movd xmm0, edx
sub eax, edx
cvtdq2ps xmm0, xmm0
movd xmm8, eax
cvtdq2ps xmm8, xmm8
addss xmm0, xmm0
divss xmm8, xmm0
test ecx, ecx
jne 0x1400678fb
xorps xmm7, xmm7
jmp 0x140067918
mov eax, 1
movd xmm0, ecx
sub eax, ecx
cvtdq2ps xmm0, xmm0
movd xmm7, eax
cvtdq2ps xmm7, xmm7
addss xmm0, xmm0
divss xmm7, xmm0
mov r12d, r9d
cmp dword [rsi + 0x10], r9d
jle 0x140067c61
mov rbx, qword [rsp + 0x140]
mov rcx, r9
mov qword [rsp + 0x70], rcx
add rbx, 8
mov r14, r9
cmp dword [rbx + 4], r9d
je 0x140067c38
movzx r13d, word [rbx - 4]
test r13w, r13w
je 0x140067c38
movzx eax, word [rbx - 2]
mov word [rsp + 0x138], ax
test ax, ax
je 0x140067c38
mov rax, qword [rsi + 8]
mov r15, qword [rsi + 0x18]
test rax, rax
jne 0x14006797f
mov edx, dword [rsi + 4]
add edx, r12d
jmp 0x140067982
mov edx, dword [rax + rcx]
mov rcx, rbp
call fcn.140063784
movzx ecx, word [rdi + 0x1c]
mov r10d, eax
add word [rbx], cx
sub r13w, cx
add word [rbx + 2], cx
mov dword [rsp + 0x58], eax
movzx eax, word [rsp + 0x138]
sub ax, cx
mov word [rbx - 4], r13w
mov word [rbx - 2], ax
movsxd rax, dword [rbp + 0x24]
mov r9, qword [rbp + 8]
movsxd r8, dword [rbp + 0x28]
movzx ecx, byte [rax + r9 + 0x22]
movzx edx, byte [rax + r9 + 0x23]
mov eax, ecx
shl eax, 8
add eax, edx
cmp r10d, eax
jge 0x140067a03
lea eax, [r10*4]
mov ecx, 0x100
movsxd rdx, eax
add rdx, r8
movsx ecx, cx
movzx r8d, byte [rdx + r9]
movzx eax, byte [rdx + r9 + 1]
imul r8d, ecx
add r8w, ax
jmp 0x140067a29
shl rcx, 8
add rcx, rdx
lea r8, [r8 + rcx*4]
mov ecx, 0x100
movzx edx, byte [r8 + r9 - 4]
movzx r8d, byte [r8 + r9 - 3]
movsx ecx, cx
imul edx, ecx
add r8w, dx
mov eax, dword [rdi + 0x28]
xorps xmm3, xmm3
xorps xmm2, xmm2
movsx r13d, r8w
mov edx, r10d
mov rcx, rbp
cvtsi2ss xmm3, rax
mov eax, dword [rdi + 0x24]
cvtsi2ss xmm2, rax
lea rax, [rsp + 0x64]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x54]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
movss dword [rsp + 0x28], xmm10
mulss xmm3, xmm6
mulss xmm2, xmm6
movss dword [rsp + 0x20], xmm10
call fcn.140065668
mov eax, dword [rdi + 0x28]
xorps xmm1, xmm1
mov ecx, dword [rdi + 0x24]
xorps xmm0, xmm0
mov r10d, dword [rdi + 0x18]
movzx r9d, word [rbx - 2]
movzx r8d, word [rbx - 4]
sub r9d, eax
cvtsi2ss xmm1, rax
movzx eax, word [rbx + 2]
sub r8d, ecx
inc r9d
inc r8d
imul eax, r10d
cvtsi2ss xmm0, rcx
mov rcx, rbp
movsxd rdx, eax
mulss xmm1, xmm6
movzx eax, word [rbx]
add rdx, rax
mulss xmm0, xmm6
mov eax, dword [rsp + 0x58]
add rdx, qword [rdi + 0x30]
mov dword [rsp + 0x48], eax
movss dword [rsp + 0x40], xmm10
movss dword [rsp + 0x38], xmm10
movss dword [rsp + 0x30], xmm1
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], r10d
call fcn.1400670e0
mov r10d, dword [rdi + 0x24]
cmp r10d, 1
jbe 0x140067b3e
movzx eax, word [rbx + 2]
mov r9d, dword [rdi + 0x18]
movzx r8d, word [rbx - 2]
movzx edx, word [rbx - 4]
imul eax, r9d
mov dword [rsp + 0x20], r10d
movsxd rcx, eax
movzx eax, word [rbx]
add rcx, rax
add rcx, qword [rdi + 0x30]
call fcn.1400672cc
mov r10d, dword [rdi + 0x28]
cmp r10d, 1
jbe 0x140067b74
movzx eax, word [rbx + 2]
mov r9d, dword [rdi + 0x18]
movzx r8d, word [rbx - 2]
movzx edx, word [rbx - 4]
imul eax, r9d
mov dword [rsp + 0x20], r10d
movsxd rcx, eax
movzx eax, word [rbx]
add rcx, rax
add rcx, qword [rdi + 0x30]
call fcn.140067540
movzx eax, word [rbx]
movd xmm1, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x120]
mov word [r14 + r15], ax
movzx eax, word [rbx + 2]
mov word [r14 + r15 + 2], ax
movzx eax, word [rbx - 4]
add ax, word [rbx]
mov word [r14 + r15 + 4], ax
movzx eax, word [rbx - 2]
add ax, word [rbx + 2]
mov word [r14 + r15 + 6], ax
cvtdq2ps xmm1, xmm1
movd xmm0, r13d
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm11
mulss xmm0, xmm6
addss xmm1, xmm8
movss dword [r14 + r15 + 0x10], xmm0
movd xmm0, dword [rsp + 0x54]
cvtdq2ps xmm0, xmm0
movss dword [r14 + r15 + 8], xmm1
mulss xmm0, xmm9
addss xmm0, xmm7
movss dword [r14 + r15 + 0xc], xmm0
movzx eax, word [rbx - 4]
add eax, dword [rsp + 0x50]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm11
addss xmm0, xmm8
movss dword [r14 + r15 + 0x14], xmm0
movzx eax, word [rbx - 2]
add eax, dword [rsp + 0x54]
xor r9d, r9d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm9
addss xmm0, xmm7
movss dword [r14 + r15 + 0x18], xmm0
jmp 0x140067c43
mov r8d, r9d
mov dword [rsp + 0x120], r9d
add rcx, 4
add rbx, 0x10
inc r12d
mov qword [rsp + 0x70], rcx
add r14, 0x1c
cmp r12d, dword [rsi + 0x10]
jl 0x14006793c
mov eax, dword [rsp + 0x5c]
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
mov dword [rdi + 0x24], eax
mov eax, dword [rsp + 0x60]
mov dword [rdi + 0x28], eax
mov eax, r8d
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret