Function at 0x14011c2b4
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xe8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x50], xmm13
movaps xmmword [rbp + 0x40], xmm12
movaps xmmword [rbp + 0x30], xmm11
movaps xmmword [rbp + 0x20], xmm10
movaps xmmword [rbp + 0x10], xmm9
movaps xmmword [rbp], xmm8
movaps xmmword [rbp - 0x10], xmm7
movaps xmmword [rbp - 0x20], xmm6
mov qword [rbp - 0x28], 0xfffffffffffffffe
mov dword [rbp - 0x3c], r9d
mov qword [rbp - 0x58], r8
mov r12, rdx
movaps xmm9, xmm0
mov r14d, dword [rbp + 0xd8]
mov rsi, qword [rbp + 0xd0]
movss xmm0, dword [0x1401e2a24]
mulss xmm0, xmm9
call fcn.1401c6044
cvttss2si ebx, xmm0
push 2
pop rcx
mov eax, ebx
cdq
idiv ecx
mov r13d, eax
test rsi, rsi
je 0x14011c347
mov dword [rsi], r13d
mov dword [rsi + 4], r13d
mov rsi, qword [rbp - 0x58]
movss xmm12, dword [rsi + 0xc]
cvtsi2ss xmm6, r13d
movaps xmm0, xmm12
addss xmm0, xmm6
movss xmm10, dword [0x1401ca5b4]
addss xmm0, xmm10
call fcn.1401c60d4
cvttss2si r15d, xmm0
movss xmm13, dword [rsi + 8]
movaps xmm0, xmm13
addss xmm0, xmm6
addss xmm0, xmm10
call fcn.1401c60d4
cvttss2si edi, xmm0
movss xmm11, dword [rsi]
movss xmm7, dword [rsi + 4]
movaps xmm0, xmm7
subss xmm0, xmm6
addss xmm0, xmm10
call fcn.1401c60d4
cvttss2si esi, xmm0
movaps xmm0, xmm11
subss xmm0, xmm6
addss xmm0, xmm10
call fcn.1401c60d4
cvttss2si eax, xmm0
mov dword [r12 + 8], eax
mov dword [r12 + 0xc], esi
mov dword [r12 + 0x10], edi
mov dword [r12 + 0x14], r15d
sub edi, eax
mov dword [r12 + 0x18], edi
mov dword [r12 + 0x1c], 1
and qword [r12], 0
movaps xmm0, xmm13
subss xmm0, xmm11
call fcn.1401c60d4
cvttss2si r15d, xmm0
movaps xmm0, xmm12
subss xmm0, xmm7
call fcn.1401c60d4
test r14d, r14d
je 0x14011c5d5
movaps xmm8, xmm0
movsxd rsi, ebx
mov rcx, rsi
call fcn.14019f0c0
mov r14, rax
mov byte [rax], 0xff
cmp ebx, 2
jl 0x14011c48a
sar ebx, 1
movaps xmm0, xmm9
addss xmm0, xmm9
movss xmm6, dword [0x1401ca5bc]
divss xmm6, xmm0
dec ebx
push 1
pop rdi
movss xmm11, dword [0x1401e9b4c]
movss xmm7, dword [0x1401dac7c]
cvtsi2ss xmm0, ebx
addss xmm0, xmm11
mulss xmm0, xmm6
call fcn.14011c05d
mulss xmm0, xmm7
cvttss2si eax, xmm0
not al
mov byte [r14 + rdi], al
inc rdi
dec ebx
cmp rsi, rdi
jne 0x14011c460
mov qword [rbp - 0x60], r14
mov rcx, r12
call fcn.1400c1d80
test rax, rax
je 0x14011c648
mov dword [rbp - 0x2c], r15d
mov rcx, rax
call fcn.1400c1de8
mov rsi, rax
mov qword [r12], rax
mov edi, dword [r12 + 0x14]
sub edi, dword [r12 + 0xc]
movsxd r15, dword [r12 + 0x10]
movsxd rax, dword [r12 + 8]
sub r15, rax
lea rcx, [rbp - 0x50]
mov rdx, r15
call fcn.140068900
mov qword [rbp - 0x38], rsi
movsxd rdx, edi
lea rcx, [rbp - 0x48]
call fcn.140068900
mov esi, edi
mov rcx, qword [rbp - 0x50]
mov rdx, r14
mov r8d, r15d
movaps xmm3, xmm9
call fcn.14011c132
mov rdx, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x48]
mov r8d, esi
movaps xmm3, xmm9
call fcn.14011c132
xor r8d, r8d
test r15d, r15d
mov ecx, 0
cmovg ecx, r15d
test esi, esi
mov r10d, esi
cmovg r8d, esi
mov r9d, dword [rbp - 0x3c]
jle 0x14011c572
xor edx, edx
mov rsi, qword [rbp - 0x38]
test r15d, r15d
jle 0x14011c56a
xor edi, edi
mov rbx, qword [rbp - 0x48]
movzx ebx, byte [rbx + rdx]
mov rax, qword [rbp - 0x50]
movzx eax, byte [rax + rdi]
imul eax, ebx
lea ebx, [rax + 0x80]
shr ebx, 8
add eax, ebx
add eax, 0x80
mov byte [rsi + rdi], ah
inc rdi
cmp rcx, rdi
jne 0x14011c539
add rsi, rdi
inc rdx
cmp rdx, r8
jne 0x14011c532
mov sil, 1
cmp r9d, 3
je 0x14011c64f
cmp r9d, 2
je 0x14011c752
cmp r9d, 1
mov rbx, qword [rbp - 0x38]
jne 0x14011c78e
sub r10d, r13d
cmp r13d, r10d
jge 0x14011c78e
movsxd rdi, r13d
movsxd r14, dword [rbp - 0x2c]
movsxd rsi, r10d
add rbx, rdi
imul r13d, r15d
movsxd r13, r13d
lea rcx, [rbx + r13]
mov dl, 0xff
mov r8, r14
call fcn.1401afe80
inc rdi
add r13d, r15d
cmp rdi, rsi
jl 0x14011c5b4
jmp 0x14011c78b
mov sil, 1
cmp dword [rbp - 0x3c], 3
jne 0x14011c7a9
addss xmm12, xmm10
movaps xmm0, xmm12
call fcn.1401c60d4
cvttss2si r14d, xmm0
addss xmm13, xmm10
movaps xmm0, xmm13
call fcn.1401c60d4
cvttss2si edi, xmm0
addss xmm7, xmm10
movaps xmm0, xmm7
call fcn.1401c60d4
cvttss2si ebx, xmm0
addss xmm11, xmm10
movaps xmm0, xmm11
call fcn.1401c60d4
cvttss2si eax, xmm0
mov dword [r12 + 8], eax
mov dword [r12 + 0xc], ebx
mov dword [r12 + 0x10], edi
mov dword [r12 + 0x14], r14d
mov dword [r12 + 0x18], r15d
jmp 0x14011c7a9
xor esi, esi
jmp 0x14011c7a0
mov rax, qword [rbp - 0x58]
movss xmm0, dword [rax + 8]
movss xmm1, dword [rax + 0xc]
subss xmm0, dword [rax]
subss xmm1, dword [rax + 4]
mulss xmm1, xmm0
cvttss2si rax, xmm1
mov rdx, rax
sar rdx, 0x3f
subss xmm1, dword [0x1401f69c0]
cvttss2si rcx, xmm1
and rcx, rdx
or rcx, rax
je 0x14011c7e5
call fcn.1400c1de8
cvttss2si ecx, xmm8
mov qword [r12], rax
xor esi, esi
test ecx, ecx
cmovg esi, ecx
jle 0x14011c6db
movsxd rax, r13d
movsxd r14, dword [rbp - 0x2c]
mov rbx, qword [rbp - 0x38]
add rbx, rax
imul r13d, r15d
xor edi, edi
movsxd r13, r13d
lea rdx, [rbx + r13]
mov rcx, qword [r12]
add rcx, rdi
mov r8, r14
call fcn.1401aec60
add rdi, r14
add r13d, r15d
dec rsi
jne 0x14011c6ba
mov rcx, qword [rbp - 0x38]
call fcn.14019ec78
mov rsi, qword [rbp - 0x58]
movss xmm0, dword [rsi + 0xc]
addss xmm0, xmm10
call fcn.1401c60d4
cvttss2si r14d, xmm0
movss xmm0, dword [rsi + 8]
addss xmm0, xmm10
call fcn.1401c60d4
cvttss2si edi, xmm0
movss xmm0, dword [rsi + 4]
addss xmm0, xmm10
call fcn.1401c60d4
cvttss2si ebx, xmm0
addss xmm10, dword [rsi]
movaps xmm0, xmm10
call fcn.1401c60d4
cvttss2si eax, xmm0
mov dword [r12 + 8], eax
mov dword [r12 + 0xc], ebx
mov dword [r12 + 0x10], edi
mov dword [r12 + 0x14], r14d
mov eax, dword [rbp - 0x2c]
mov dword [r12 + 0x18], eax
jmp 0x14011c78b
sub r10d, r13d
cmp r13d, r10d
mov rbx, qword [rbp - 0x38]
jge 0x14011c78e
movsxd rdi, r13d
movsxd r14, dword [rbp - 0x2c]
movsxd rsi, r10d
add rbx, rdi
imul r13d, r15d
movsxd r13, r13d
lea rcx, [rbx + r13]
xor edx, edx
mov r8, r14
call fcn.1401afe80
inc rdi
add r13d, r15d
cmp rdi, rsi
jl 0x14011c76f
mov sil, 1
mov rcx, qword [rbp - 0x48]
call fcn.14019ec78
mov rcx, qword [rbp - 0x50]
call fcn.14019ec78
lea rcx, [rbp - 0x60]
call fcn.14005fea2
mov eax, esi
movaps xmm6, xmmword [rbp - 0x20]
movaps xmm7, xmmword [rbp - 0x10]
movaps xmm8, xmmword [rbp]
movaps xmm9, xmmword [rbp + 0x10]
movaps xmm10, xmmword [rbp + 0x20]
movaps xmm11, xmmword [rbp + 0x30]
movaps xmm12, xmmword [rbp + 0x40]
movaps xmm13, xmmword [rbp + 0x50]
add rsp, 0xe8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
xor esi, esi
jmp 0x14011c78e