Function at 0x14004c7f0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
cmp r8d, 3
jl 0x14004cbb1
mov r11, rsp
push rbx
push rsi
push rdi
push r14
sub rsp, 0x78
mov esi, r8d
mov r14d, r9d
mov rdi, rdx
mov rbx, rcx
test r9d, 0xff000000
je 0x14004cba8
test byte [rcx + 0x30], 4
mov rax, qword [rcx + 0x38]
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm7
movss xmm6, dword [rax]
movss xmm7, dword [rax + 4]
je 0x14004cb0f
mov qword [r11 + 8], rbp
lea eax, [rsi + rsi]
mov qword [r11 + 0x10], r12
lea edx, [rsi*8 - 6]
mov qword [r11 + 0x20], r13
add edx, esi
mov qword [r11 - 0x28], r15
mov r13d, r9d
movaps xmmword [r11 - 0x58], xmm8
and r13d, 0xffffff
movaps xmmword [r11 - 0x68], xmm9
mov r8d, eax
movaps xmmword [r11 - 0x78], xmm10
movss xmm10, dword [rcx + 0xb8]
mov dword [rsp + 0xb0], eax
call fcn.14004b770
mov ebp, dword [rbx + 0x34]
mov r8d, 2
nop word [rax + rax]
mov rax, qword [rbx + 0x48]
movzx edx, r8w
add dx, dx
inc r8d
add dx, bp
mov word [rax], bp
mov rax, qword [rbx + 0x48]
lea ecx, [rdx - 2]
mov word [rax + 2], cx
mov rax, qword [rbx + 0x48]
mov word [rax + 4], dx
add qword [rbx + 0x48], 6
cmp r8d, esi
jl 0x14004c8a0
mov rcx, qword [rbx + 0x38]
mov edx, esi
add rcx, 0x30
call fcn.140052650
mov rax, qword [rbx + 0x38]
lea r15d, [rsi - 1]
movss xmm4, dword [0x1400dae00]
mov rcx, rdi
mov rdx, rsi
xorps xmm5, xmm5
mov r9, qword [rax + 0x38]
movsxd rax, esi
lea rax, [rax*8 - 8]
nop dword [rax + rax]
movss xmm2, dword [rcx]
movss xmm3, dword [rcx + 4]
subss xmm2, dword [rax + rdi]
subss xmm3, dword [rax + rdi + 4]
movaps xmm1, xmm2
movaps xmm0, xmm3
mulss xmm1, xmm2
mulss xmm0, xmm3
addss xmm0, xmm1
comiss xmm0, xmm5
jbe 0x14004c948
call fcn.1400440f0
mulss xmm2, xmm0
mulss xmm3, xmm0
movss dword [rax + r9], xmm3
xorps xmm2, xmm4
movss dword [rax + r9 + 4], xmm2
mov rax, rcx
sub rax, rdi
add rcx, 8
sub rdx, 1
jne 0x14004c910
movss xmm4, dword [0x1400daa0c]
lea r10, [rdi + 4]
movss xmm9, dword [0x1400da980]
xor r12d, r12d
movss xmm5, dword [0x1400daa74]
mov r11, r9
movss xmm8, dword [0x1400dab3c]
sub r11, rdi
lea edi, [rbp + 1]
mulss xmm10, xmm4
nop
movss xmm2, dword [r10 + r11 - 4]
movsxd rax, r15d
movss xmm3, dword [r9 + rax*8 + 4]
addss xmm3, dword [r10 + r11]
addss xmm2, dword [r9 + rax*8]
mulss xmm3, xmm4
mulss xmm2, xmm4
movaps xmm1, xmm3
mulss xmm1, xmm3
movaps xmm0, xmm2
mulss xmm0, xmm2
addss xmm1, xmm0
comiss xmm1, xmm9
jbe 0x14004c9f4
movaps xmm0, xmm5
divss xmm0, xmm1
movaps xmm1, xmm8
minss xmm1, xmm0
mulss xmm2, xmm1
mulss xmm3, xmm1
movss xmm0, dword [r10 - 4]
movzx edx, r12w
mov rax, qword [rbx + 0x40]
add r15w, r15w
mulss xmm2, xmm10
add dx, dx
mulss xmm3, xmm10
lea ecx, [r15 + rbp]
subss xmm0, xmm2
lea r8d, [rdx + rbp]
movss dword [rax], xmm0
movss xmm1, dword [r10]
mov rax, qword [rbx + 0x40]
subss xmm1, xmm3
movss dword [rax + 4], xmm1
mov rax, qword [rbx + 0x40]
movss dword [rax + 8], xmm6
movss dword [rax + 0xc], xmm7
mov rax, qword [rbx + 0x40]
mov dword [rax + 0x10], r14d
addss xmm2, dword [r10 - 4]
mov rax, qword [rbx + 0x40]
movss dword [rax + 0x14], xmm2
addss xmm3, dword [r10]
mov rax, qword [rbx + 0x40]
add r10, 8
movss dword [rax + 0x18], xmm3
mov rax, qword [rbx + 0x40]
movss dword [rax + 0x1c], xmm6
movss dword [rax + 0x20], xmm7
mov rax, qword [rbx + 0x40]
mov dword [rax + 0x24], r13d
mov rax, qword [rbx + 0x48]
add qword [rbx + 0x40], 0x28
mov word [rax], r8w
mov rax, qword [rbx + 0x48]
mov word [rax + 2], cx
lea ecx, [r15 + rdi]
mov rax, qword [rbx + 0x48]
mov r15d, r12d
inc r12d
mov word [rax + 4], cx
mov rax, qword [rbx + 0x48]
mov word [rax + 6], cx
lea ecx, [rdx + rdi]
mov rax, qword [rbx + 0x48]
mov word [rax + 8], cx
mov rax, qword [rbx + 0x48]
mov word [rax + 0xa], r8w
add qword [rbx + 0x48], 0xc
cmp r12d, esi
jl 0x14004c9a0
movaps xmm10, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm8, xmmword [rsp + 0x40]
mov r15, qword [rsp + 0x70]
mov r13, qword [rsp + 0xb8]
mov r12, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0xa0]
movzx eax, word [rsp + 0xb0]
jmp 0x14004cb9b
lea eax, [rsi - 2]
mov r8d, esi
lea edx, [rax + rax*2]
call fcn.14004b770
mov rcx, rsi
mov rax, qword [rbx + 0x40]
movsd xmm0, qword [rdi]
lea rdi, [rdi + 8]
movsd qword [rax], xmm0
mov rax, qword [rbx + 0x40]
movss dword [rax + 8], xmm6
movss dword [rax + 0xc], xmm7
mov rax, qword [rbx + 0x40]
mov dword [rax + 0x10], r14d
add qword [rbx + 0x40], 0x14
sub rcx, 1
jne 0x14004cb20
mov r8d, 2
nop word [rax + rax]
mov rcx, qword [rbx + 0x48]
movzx eax, word [rbx + 0x34]
mov word [rcx], ax
lea ecx, [r8 - 1]
add cx, word [rbx + 0x34]
mov rax, qword [rbx + 0x48]
mov word [rax + 2], cx
movzx ecx, r8w
mov rax, qword [rbx + 0x48]
inc r8d
add cx, word [rbx + 0x34]
mov word [rax + 4], cx
add qword [rbx + 0x48], 6
cmp r8d, esi
jl 0x14004cb60
movzx eax, si
add dword [rbx + 0x34], eax
movaps xmm6, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x50]
add rsp, 0x78
pop r14
pop rdi
pop rsi
pop rbx
ret