Function at 0x14009b84e
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
movaps xmmword [rsp + 0xf0], xmm15
movaps xmmword [rsp + 0xe0], xmm14
movaps xmmword [rsp + 0xd0], xmm13
movaps xmmword [rsp + 0xc0], xmm12
movaps xmmword [rsp + 0xb0], xmm11
movaps xmmword [rsp + 0xa0], xmm10
movaps xmmword [rsp + 0x90], xmm9
movaps xmmword [rsp + 0x80], xmm8
movaps xmmword [rsp + 0x70], xmm7
movaps xmmword [rsp + 0x60], xmm6
mov byte [rsp + 0x2f], r8b
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14009bcaf
movss xmm0, dword [0x1402ead90]
movaps xmm5, xmm0
divss xmm5, xmm1
xorps xmm2, xmm2
xorps xmm4, xmm4
cmpltss xmm4, xmm1
andps xmm4, xmm5
mov r10, qword [rcx + 8]
lea rax, [rax + rax*4]
shl rax, 4
add rax, r10
mov qword [rsp + 0x50], rax
mov rdx, qword [rcx + 0x20]
mov rax, qword [rcx + 0x28]
mov qword [rsp + 0x38], rax
dec byte [rsp + 0x2f]
mov qword [rsp + 0x48], rdx
lea rax, [rdx - 0x20]
mov qword [rsp + 0x40], rax
movss xmm5, dword [0x1402eadb0]
movss xmm6, dword [0x1402eadb4]
mov edi, 0xff
movss xmm8, dword [0x1402eadbc]
mov rcx, qword [r10 + 0x30]
mov r9, qword [r10 + 0x38]
mov r14, rcx
sub r14, r9
ja 0x14009bd15
cmp qword [rsp + 0x38], r9
jb 0x14009bd24
mov qword [r10 + 0x40], 0
sub r9, rcx
mov qword [rsp + 0x58], r9
jne 0x14009b985
xor r11d, r11d
xor edx, edx
xor ebp, ebp
xor r15d, r15d
mov dword [rsp + 0x34], 0
mov dword [rsp + 0x30], 0
xor ebx, ebx
jmp 0x14009bc40
shl rcx, 5
mov rax, qword [rsp + 0x48]
lea rdx, [rax + rcx]
shl r9, 5
lea rsi, [r9 + rdx]
add rsi, 0xffffffffffffffe0
add rcx, qword [rsp + 0x40]
xor r9d, r9d
xor ebx, ebx
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x34], 0
xor r15d, r15d
xor ebp, ebp
xor edx, edx
xor r11d, r11d
sub r9, 1
mov r12, rcx
cmovb r12, rsi
movss xmm14, dword [r12 + 8]
movss xmm7, dword [r12 + 0xc]
movss xmm10, dword [r12 + 0x18]
movss xmm12, dword [rcx + 0x28]
movss xmm11, dword [rcx + 0x2c]
movaps xmm15, xmm12
xorps xmm15, xmmword [0x1402eada0]
movaps xmm13, xmm7
addss xmm13, xmm11
subss xmm15, xmm14
mulss xmm13, xmm5
mulss xmm15, xmm5
movss dword [rcx + 0x30], xmm13
movss dword [rcx + 0x34], xmm15
movaps xmm1, xmm13
mulss xmm1, xmm13
movaps xmm9, xmm15
mulss xmm9, xmm15
addss xmm9, xmm1
ucomiss xmm9, xmm6
jbe 0x14009ba60
movaps xmm1, xmm0
divss xmm1, xmm9
minss xmm1, dword [0x1402eadb8]
mulss xmm13, xmm1
movss dword [rcx + 0x30], xmm13
mulss xmm1, xmm15
movss dword [rcx + 0x34], xmm1
mov r12b, byte [rcx + 0x3c]
and r12b, 1
mov byte [rcx + 0x3c], r12b
mulss xmm7, xmm12
mulss xmm14, xmm11
subss xmm7, xmm14
ucomiss xmm7, xmm2
jbe 0x14009ba8b
inc rbx
or r12b, 2
mov byte [rcx + 0x3c], r12b
ucomiss xmm12, xmm2
setb r13b
lea r8d, [r13 + 1]
neg r13b
ucomiss xmm2, xmm12
movzx r8d, r8b
movzx r13d, r13b
cmovb r13d, r8d
cmp r13b, 1
je 0x14009badf
movzx r8d, r13b
cmp r8d, 0xff
jne 0x14009bb22
xor r13d, r13d
test edx, edx
setne r13b
cmovs r13d, edi
test r13b, r13b
je 0x14009bb06
movzx eax, r13b
mov edx, 0xffffffff
cmp eax, 1
je 0x14009bb01
jmp 0x14009bb22
xor r13d, r13d
test edx, edx
setne r13b
cmovs r13d, edi
test r13b, r13b
je 0x14009bb15
movzx eax, r13b
mov edx, 1
cmp eax, 0xff
jne 0x14009bb22
inc r15d
jmp 0x14009bb22
mov edx, 0xffffffff
mov dword [rsp + 0x30], 0xffffffff
jmp 0x14009bb22
mov edx, 1
mov dword [rsp + 0x30], 1
ucomiss xmm11, xmm2
setb r8b
lea r13d, [r8 + 1]
neg r8b
ucomiss xmm2, xmm11
movzx eax, r13b
movzx r13d, r8b
cmovb r13d, eax
cmp r13b, 1
je 0x14009bb76
movzx eax, r13b
cmp eax, 0xff
jne 0x14009bbbc
xor r13d, r13d
test r11d, r11d
setne r13b
cmovs r13d, edi
test r13b, r13b
je 0x14009bb9e
movzx eax, r13b
mov r11d, 0xffffffff
cmp eax, 1
je 0x14009bb9a
jmp 0x14009bbbc
xor r13d, r13d
test r11d, r11d
setne r13b
cmovs r13d, edi
test r13b, r13b
je 0x14009bbae
movzx eax, r13b
mov r11d, 1
cmp eax, 0xff
jne 0x14009bbbc
inc ebp
jmp 0x14009bbbc
mov r11d, 0xffffffff
mov dword [rsp + 0x34], 0xffffffff
jmp 0x14009bbbc
mov r11d, 1
mov dword [rsp + 0x34], 1
movss xmm1, dword [rcx + 0x38]
movaps xmm7, xmm10
cmpunordss xmm7, xmm10
movaps xmm11, xmm7
andps xmm11, xmm1
minss xmm1, xmm10
andnps xmm7, xmm1
orps xmm7, xmm11
mulss xmm7, xmm4
maxss xmm7, xmm8
movaps xmm1, xmm9
mulss xmm1, xmm7
mulss xmm1, xmm7
ucomiss xmm0, xmm1
jbe 0x14009bc01
or r12b, 8
mov byte [rcx + 0x3c], r12b
test r12b, 1
je 0x14009bc26
cmp byte [rsp + 0x2f], 2
jb 0x14009bc1e
mulss xmm9, xmm3
mulss xmm9, xmm3
ucomiss xmm0, xmm9
jbe 0x14009bc26
or r12b, 4
mov byte [rcx + 0x3c], r12b
not r12b
test r12b, 0xc
jne 0x14009bc33
inc qword [r10 + 0x40]
add rcx, 0x20
cmp r14, r9
jne 0x14009b9c2
test edx, edx
setne cl
mov eax, dword [rsp + 0x30]
test eax, eax
setne r9b
and r9b, cl
cmp edx, eax
setne cl
and cl, r9b
movzx ecx, cl
add ecx, r15d
test r11d, r11d
setne dl
mov eax, dword [rsp + 0x34]
test eax, eax
setne r8b
and r8b, dl
cmp r11d, eax
setne dl
and dl, r8b
movzx edx, dl
add edx, ebp
cmp ecx, 2
sete cl
cmp edx, 2
sete dl
cmp rbx, qword [rsp + 0x58]
sete al
and al, cl
and al, dl
mov byte [r10 + 0x4a], al
lea rax, [r10 + 0x50]
mov r10, rax
cmp rax, qword [rsp + 0x50]
jne 0x14009b933
movaps xmm6, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm8, xmmword [rsp + 0x80]
movaps xmm9, xmmword [rsp + 0x90]
movaps xmm10, xmmword [rsp + 0xa0]
movaps xmm11, xmmword [rsp + 0xb0]
movaps xmm12, xmmword [rsp + 0xc0]
movaps xmm13, xmmword [rsp + 0xd0]
movaps xmm14, xmmword [rsp + 0xe0]
movaps xmm15, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_femtovg_0.8.2_src_path_cache.rsP
mov rdx, r9
call fcn.14007ec10
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_femtovg_0.8.2_src_path_cache.rsP
mov rcx, r9
mov rdx, qword [rsp + 0x38]
call fcn.14007a270
int3