Function at 0x18014eef0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
mov eax, 0x1070
call fcn.1801cd9c0
sub rsp, rax
movaps xmmword [rsp + 0x1060], xmm6
movaps xmmword [rsp + 0x1050], xmm7
movaps xmmword [rsp + 0x1040], xmm8
movaps xmmword [rsp + 0x1030], xmm9
mov rax, qword [0x18028e088]
xor rax, rsp
mov qword [rsp + 0x1020], rax
mov rbx, rcx
cvttss2si ecx, xmm1
mov dword [rbx], ecx
test ecx, ecx
jg 0x18014ef6e
mov eax, 0x80000003
imul ecx
add edx, ecx
sar edx, 0x1e
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x7ffffffe
sub eax, ecx
lea ecx, [rax + 1]
mov dword [rbx], ecx
mov eax, dword [rbx]
lea r8, [rbx + 4]
mov edx, 0x7ffffffe
lea rdi, [rbx + 0x104]
cmp ecx, edx
mov r11, r8
mov r10, rdi
cmovg eax, edx
xor r9d, r9d
mov dword [rbx], eax
mov byte [r11], r9b
mov eax, 0x834e0b5f
mov ecx, dword [rbx]
imul ecx
add edx, ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1f31d
sub ecx, eax
imul eax, edx, 0xb14
imul ecx, ecx, 0x41a7
sub ecx, eax
test ecx, ecx
lea eax, [rcx + 0x7fffffff]
cmovg eax, ecx
mov dword [rbx], eax
and eax, 0x800001ff
jge 0x18014efdb
dec eax
or eax, 0xfffffe00
inc eax
mov word [r10], ax
mov eax, 0x834e0b5f
mov ecx, dword [rbx]
imul ecx
add edx, ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1f31d
sub ecx, eax
imul eax, edx, 0xb14
imul ecx, ecx, 0x41a7
sub ecx, eax
test ecx, ecx
lea eax, [rcx + 0x7fffffff]
cmovg eax, ecx
mov dword [rbx], eax
and eax, 0x800001ff
jge 0x18014f027
dec eax
or eax, 0xfffffe00
inc eax
mov word [r10 + 2], ax
inc r9d
add r10, 4
inc r11
cmp r9d, 0x100
jl 0x18014ef90
xor r9d, r9d
lea r10, [rbx + 0x504]
mov r11, r8
mov byte [r11], r9b
mov eax, 0x834e0b5f
mov ecx, dword [rbx]
imul ecx
add edx, ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1f31d
sub ecx, eax
imul eax, edx, 0xb14
imul ecx, ecx, 0x41a7
sub ecx, eax
test ecx, ecx
lea eax, [rcx + 0x7fffffff]
cmovg eax, ecx
mov dword [rbx], eax
and eax, 0x800001ff
jge 0x18014f09b
dec eax
or eax, 0xfffffe00
inc eax
mov word [r10], ax
mov eax, 0x834e0b5f
mov ecx, dword [rbx]
imul ecx
add edx, ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1f31d
sub ecx, eax
imul eax, edx, 0xb14
imul ecx, ecx, 0x41a7
sub ecx, eax
test ecx, ecx
lea eax, [rcx + 0x7fffffff]
cmovg eax, ecx
mov dword [rbx], eax
and eax, 0x800001ff
jge 0x18014f0e7
dec eax
or eax, 0xfffffe00
inc eax
mov word [r10 + 2], ax
inc r9d
add r10, 4
inc r11
cmp r9d, 0x100
jl 0x18014f050
xor r9d, r9d
lea r10, [rbx + 0x904]
mov r11, r8
mov byte [r11], r9b
mov eax, 0x834e0b5f
mov ecx, dword [rbx]
imul ecx
add edx, ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1f31d
sub ecx, eax
imul eax, edx, 0xb14
imul ecx, ecx, 0x41a7
sub ecx, eax
test ecx, ecx
lea eax, [rcx + 0x7fffffff]
cmovg eax, ecx
mov dword [rbx], eax
and eax, 0x800001ff
jge 0x18014f15b
dec eax
or eax, 0xfffffe00
inc eax
mov word [r10], ax
mov eax, 0x834e0b5f
mov ecx, dword [rbx]
imul ecx
add edx, ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1f31d
sub ecx, eax
imul eax, edx, 0xb14
imul ecx, ecx, 0x41a7
sub ecx, eax
test ecx, ecx
lea eax, [rcx + 0x7fffffff]
cmovg eax, ecx
mov dword [rbx], eax
and eax, 0x800001ff
jge 0x18014f1a7
dec eax
or eax, 0xfffffe00
inc eax
mov word [r10 + 2], ax
inc r9d
add r10, 4
inc r11
cmp r9d, 0x100
jl 0x18014f110
xor r9d, r9d
lea r10, [rbx + 0xd04]
mov r11, r8
mov byte [r11], r9b
mov eax, 0x834e0b5f
mov ecx, dword [rbx]
imul ecx
add edx, ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1f31d
sub ecx, eax
imul eax, edx, 0xb14
imul ecx, ecx, 0x41a7
sub ecx, eax
test ecx, ecx
lea eax, [rcx + 0x7fffffff]
cmovg eax, ecx
mov dword [rbx], eax
and eax, 0x800001ff
jge 0x18014f21b
dec eax
or eax, 0xfffffe00
inc eax
mov word [r10], ax
mov eax, 0x834e0b5f
mov ecx, dword [rbx]
imul ecx
add edx, ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1f31d
sub ecx, eax
imul eax, edx, 0xb14
imul ecx, ecx, 0x41a7
sub ecx, eax
test ecx, ecx
lea eax, [rcx + 0x7fffffff]
cmovg eax, ecx
mov dword [rbx], eax
and eax, 0x800001ff
jge 0x18014f267
dec eax
or eax, 0xfffffe00
inc eax
mov word [r10 + 2], ax
inc r9d
add r10, 4
inc r11
cmp r9d, 0x100
jl 0x18014f1d0
lea r9, [rbx + 0x103]
mov r10d, 0xff
mov ecx, dword [rbx]
mov eax, 0x834e0b5f
movzx r11d, byte [r9]
imul ecx
add edx, ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x1f31d
sub ecx, eax
imul eax, edx, 0xb14
imul ecx, ecx, 0x41a7
sub ecx, eax
test ecx, ecx
lea eax, [rcx + 0x7fffffff]
cmovg eax, ecx
mov dword [rbx], eax
and eax, 0x800000ff
jge 0x18014f2dc
dec eax
or eax, 0xffffff00
inc eax
movsxd rcx, eax
movzx eax, byte [rcx + r8]
mov byte [r9], al
dec r9
mov byte [rcx + r8], r11b
sub r10, 1
jne 0x18014f290
lea r9, [rsp + 0x22]
mov r11, rdi
sub r9, rbx
lea r10, [rsp + 0x20]
sub r10, rbx
mov esi, 0x100
mov ebp, 4
mov rcx, r11
mov rdx, rbp
nop word [rax + rax]
movzx eax, word [rcx]
mov word [r10 + rcx - 0x104], ax
movzx eax, word [rcx + 2]
mov word [r9 + rcx - 0x104], ax
lea rcx, [rcx + 0x400]
sub rdx, 1
jne 0x18014f320
add r11, rbp
sub rsi, 1
jne 0x18014f311
mov r9, rdi
mov r10d, 0x100
nop dword [rax + rax]
xor ecx, ecx
mov rdx, r9
nop word [rax + rax]
movzx eax, byte [r8]
lea rdx, [rdx + 0x400]
add rax, rcx
movzx eax, word [rsp + rax*4 + 0x20]
mov word [rdx - 0x400], ax
movzx eax, byte [r8]
add rax, rcx
add rcx, 0x100
movzx eax, word [rsp + rax*4 + 0x22]
mov word [rdx - 0x3fe], ax
cmp rcx, 0x400
jl 0x18014f370
add r9, rbp
inc r8
sub r10, 1
jne 0x18014f360
movss xmm7, dword [0x18023ae38]
add rbx, 0x1104
movss xmm6, dword [0x18023af30]
movss xmm8, dword [0x18023b1d8]
movss xmm9, dword [0x18023af00]
nop dword [rax]
nop word [rax + rax]
mov esi, 0x100
nop word [rax + rax]
movzx eax, word [rdi]
movaps xmm3, xmm6
sub eax, 0x100
mov rcx, rbx
movd xmm1, eax
movzx eax, word [rdi + 2]
sub eax, 0x100
cvtdq2ps xmm1, xmm1
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mulss xmm1, xmm7
mulss xmm2, xmm7
movss dword [rbx], xmm1
movss dword [rbx + 4], xmm2
call fcn.1800c9600
movss xmm0, dword [rbx]
addss xmm0, xmm6
mulss xmm0, xmm8
addss xmm0, xmm9
call fcn.1801f62e0
cvttss2si eax, xmm0
mov word [rdi], ax
movss xmm0, dword [rbx + 4]
addss xmm0, xmm6
mulss xmm0, xmm8
addss xmm0, xmm9
call fcn.1801f62e0
cvttss2si eax, xmm0
add rbx, 8
mov word [rdi + 2], ax
add rdi, 4
sub rsi, 1
jne 0x18014f400
sub rbp, 1
jne 0x18014f3f0
mov rcx, qword [rsp + 0x1020]
xor rcx, rsp
call fcn.1801ccd40
lea r11, [rsp + 0x1070]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop rdi
ret