Function at 0x18005a400
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
push rbp
lea rbp, [rax - 0x37]
sub rsp, 0xa0
movaps xmmword [rax - 0x18], xmm6
xor ebx, ebx
cmp byte [0x1800fb24e], bl
mov rsi, r9
movaps xmmword [rax - 0x28], xmm7
mov rdi, r8
movaps xmmword [rax - 0x38], xmm10
movaps xmmword [rax - 0x48], xmm11
je 0x18005a70b
mov ecx, dword [0x1800fb254]
cmp ecx, 2
jg 0x18005a70b
test ecx, ecx
je 0x18005a611
sub ecx, 1
je 0x18005a51f
cmp ecx, 1
jne 0x18005a70b
mov rdi, qword [rbp + 0x77]
mov rcx, rdi
mov rax, qword [rdi]
mov rdx, qword [rax + 0x100]
call rdx
mov rcx, rdi
movd xmm7, eax
mov rax, qword [rdi]
cvtdq2ps xmm7, xmm7
mov rdx, qword [rax + 0xe0]
call rdx
lea ecx, [rax + 2]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov rax, qword [rbp + 0x6f]
mov rcx, qword [rax + 0x18]
movd xmm6, edx
cvtdq2ps xmm6, xmm6
mov rax, qword [rcx]
mov rdx, qword [rax + 0x198]
mulss xmm6, dword [0x18009d9b8]
call rdx
test rax, rax
je 0x18005a4ed
mov edx, dword [rax + 0x170]
test edx, edx
je 0x18005a4ed
mov rcx, qword [rbp + 0x7f]
mov rax, qword [rcx]
mov r8, qword [rax + 0x78]
call r8
mov rbx, rax
movaps xmm1, xmm7
xorps xmm0, xmm0
subss xmm1, xmm6
movups xmmword [rbp - 0x21], xmm0
divss xmm6, xmm7
divss xmm1, xmm7
cmp rdi, rbx
jne 0x18005a512
movss xmm3, dword [0x18009d5e0]
jmp 0x18005a515
xorps xmm3, xmm3
movss xmm0, dword [rbp - 0x15]
jmp 0x18005a5ef
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov rcx, rax
xorps xmm11, xmm11
test rax, rax
js 0x18005a538
cvtsi2ss xmm11, rax
jmp 0x18005a54b
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm11, rax
addss xmm11, xmm11
mulss xmm11, dword [0x1800a6fa0]
movaps xmm0, xmm11
call fcn.180081dd0
mulss xmm0, dword [0x1800a6fc8]
xorps xmm10, xmm10
movss xmm7, dword [0x18009f964]
addss xmm0, dword [0x18009fa88]
cvttss2si eax, xmm0
movaps xmm0, xmm11
addss xmm0, dword [0x1800a6fa4]
cvtsi2ss xmm10, eax
divss xmm10, xmm7
call fcn.180081dd0
mulss xmm0, dword [0x1800a6fc8]
xorps xmm6, xmm6
addss xmm11, dword [0x1800a6fa8]
addss xmm0, dword [0x18009fa88]
cvttss2si eax, xmm0
movaps xmm0, xmm11
cvtsi2ss xmm6, eax
divss xmm6, xmm7
call fcn.180081dd0
mulss xmm0, dword [0x1800a6fc8]
xorps xmm3, xmm3
movaps xmm1, xmm10
addss xmm0, dword [0x18009fa88]
cvttss2si eax, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm3, eax
divss xmm3, xmm7
mov rcx, qword [rbp + 0x67]
movaps xmm2, xmm6
movss dword [rsp + 0x20], xmm0
mov rax, qword [rcx]
or dword [rcx + 0x24], 0x80018
call qword [rax + 0x160]
jmp 0x18005a70b
movsd xmm6, qword [rdx + 0x17c0]
xor eax, eax
mov r14d, dword [rdx + 0x17c8]
mov edx, ebx
mov byte [rbp - 0x27], al
mov dword [rbp - 0x31], 0xecabb39b
mov dword [rbp - 0x2d], 0x8597feec
mov word [rbp - 0x29], 0x8680
movsxd rcx, edx
lea eax, [rdx - 0x27]
inc edx
xor byte [rbp + rcx - 0x31], al
cmp edx, 0xa
jb 0x18005a63b
lea r8, [rbp - 0x31]
mov byte [rbp - 0x27], bl
lea rdx, [rbp - 0x21]
mov rcx, rdi
call fcn.1800018ec
mov eax, dword [rbp - 0x19]
lea r9, [rbp - 0x21]
movsd xmm0, qword [rbp - 0x21]
mov r8, rdi
mov rdx, qword [rbp + 0x5f]
mov rcx, rsi
mov dword [rsp + 0x38], 0xa
mov dword [rbp - 0x29], eax
lea rax, [rbp - 0x31]
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
movsd qword [rbp - 0x31], xmm0
movsd qword [rbp - 0x21], xmm6
mov dword [rbp - 0x19], r14d
call fcn.180001b40
mov rcx, qword [rbp + 0x67]
mov edx, dword [rcx + 0x24]
mov r8, qword [rcx]
or edx, 0x80018
mov dword [rcx + 0x24], edx
test al, al
je 0x18005a6de
movss xmm0, dword [0x1800bf284]
movss xmm3, dword [0x1800bf280]
movss xmm2, dword [0x1800bf27c]
movss xmm1, dword [0x1800bf278]
jmp 0x18005a6fe
movss xmm0, dword [0x1800bf294]
movss xmm3, dword [0x1800bf290]
movss xmm2, dword [0x1800bf28c]
movss xmm1, dword [0x1800bf288]
movss dword [rsp + 0x20], xmm0
call qword [r8 + 0x160]
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm10, xmmword [r11 - 0x30]
movaps xmm11, xmmword [r11 - 0x40]
mov rsp, r11
pop rbp
ret