Function at 0x18005a2fc
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, 0xe0
movaps xmmword [rax - 0x18], xmm6
xor ebx, ebx
cmp byte [0x1800f617f], bl
mov rsi, r9
movaps xmmword [rax - 0x28], xmm7
mov rdi, r8
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rax - 0x78], xmm12
movaps xmmword [rsp + 0x60], xmm13
je 0x18005a869
mov ecx, dword [0x1800f6184]
cmp ecx, 4
jg 0x18005a869
test ecx, ecx
je 0x18005a76f
sub ecx, 1
je 0x18005a69a
sub ecx, 1
je 0x18005a5cc
cmp ecx, 1
jne 0x18005a869
movsd xmm6, qword [rdx + 0x17c0]
xor eax, eax
mov r14d, dword [rdx + 0x17c8]
mov edx, ebx
mov byte [rbp - 0x67], al
mov dword [rbp - 0x71], 0x73322802
mov dword [rbp - 0x6d], 0x220e6575
mov word [rbp - 0x69], 0x2d29
movsxd rcx, edx
lea eax, [rdx + 0x40]
inc edx
xor byte [rbp + rcx - 0x71], al
cmp edx, 0xa
jb 0x18005a3b2
lea r8, [rbp - 0x71]
mov byte [rbp - 0x67], bl
lea rdx, [rbp - 0x61]
mov rcx, rdi
call fcn.1800020c0
mov eax, dword [rbp - 0x59]
lea r9, [rbp - 0x61]
movsd xmm0, qword [rbp - 0x61]
mov r8, rdi
mov rdx, qword [rbp + 0x5f]
mov rcx, rsi
mov dword [rsp + 0x38], 0xa
mov dword [rbp - 0x69], eax
lea rax, [rbp - 0x71]
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
movsd qword [rbp - 0x71], xmm0
movsd qword [rbp - 0x61], xmm6
mov dword [rbp - 0x59], r14d
call fcn.18000231c
test al, al
je 0x18005a50f
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov rcx, rax
xorps xmm13, xmm13
test rax, rax
js 0x18005a43d
cvtsi2ss xmm13, rax
jmp 0x18005a450
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm13, rax
addss xmm13, xmm13
mulss xmm13, dword [0x1800a2344]
movaps xmm0, xmm13
call fcn.1800832e0
movss xmm8, dword [0x1800a236c]
movss xmm7, dword [0x1800a2370]
movss xmm10, dword [0x18009faf8]
mulss xmm0, xmm8
movaps xmm11, xmm10
divss xmm11, dword [0x1800ba2c8]
addss xmm0, xmm7
cvttss2si eax, xmm0
movaps xmm0, xmm13
movd xmm12, eax
cvtdq2ps xmm12, xmm12
call fcn.1800832e0
mulss xmm0, xmm8
movaps xmm6, xmm10
divss xmm6, dword [0x1800ba2cc]
addss xmm0, xmm7
cvttss2si eax, xmm0
movaps xmm0, xmm13
movd xmm9, eax
cvtdq2ps xmm9, xmm9
call fcn.1800832e0
divss xmm10, dword [0x1800ba2d0]
mulss xmm0, xmm8
divss xmm9, xmm6
addss xmm0, xmm7
divss xmm12, xmm11
cvttss2si eax, xmm0
movaps xmm2, xmm9
movaps xmm1, xmm12
xorps xmm0, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
divss xmm3, xmm10
jmp 0x18005a67b
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov rcx, rax
xorps xmm13, xmm13
test rax, rax
js 0x18005a528
cvtsi2ss xmm13, rax
jmp 0x18005a53b
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm13, rax
addss xmm13, xmm13
mulss xmm13, dword [0x1800a2344]
movaps xmm0, xmm13
call fcn.1800832e0
movss xmm8, dword [0x1800a236c]
movss xmm7, dword [0x1800a2370]
movss xmm10, dword [0x18009faf8]
mulss xmm0, xmm8
movaps xmm11, xmm10
divss xmm11, dword [0x1800ba2d8]
addss xmm0, xmm7
cvttss2si eax, xmm0
movaps xmm0, xmm13
movd xmm12, eax
cvtdq2ps xmm12, xmm12
call fcn.1800832e0
mulss xmm0, xmm8
movaps xmm6, xmm10
divss xmm6, dword [0x1800ba2dc]
addss xmm0, xmm7
cvttss2si eax, xmm0
movaps xmm0, xmm13
movd xmm9, eax
cvtdq2ps xmm9, xmm9
call fcn.1800832e0
divss xmm10, dword [0x1800ba2e0]
jmp 0x18005a4dc
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 [0x18009fae0]
call rdx
test rax, rax
je 0x18005a64b
mov edx, dword [rax + 0x170]
test edx, edx
je 0x18005a64b
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 - 0x61], xmm0
divss xmm6, xmm7
divss xmm1, xmm7
cmp rdi, rbx
jne 0x18005a670
movss xmm3, dword [0x18009d5d0]
jmp 0x18005a673
xorps xmm3, xmm3
movss xmm0, dword [rbp - 0x55]
movaps xmm2, xmm6
mov rcx, qword [rbp + 0x67]
movss dword [rsp + 0x20], xmm0
mov rax, qword [rcx]
or dword [rcx + 0x24], 0x80018
call qword [rax + 0x160]
jmp 0x18005a869
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov rcx, rax
xorps xmm11, xmm11
test rax, rax
js 0x18005a6b3
cvtsi2ss xmm11, rax
jmp 0x18005a6c6
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm11, rax
addss xmm11, xmm11
mulss xmm11, dword [0x1800a2340]
movaps xmm0, xmm11
call fcn.1800832e0
movss xmm9, dword [0x1800a236c]
movss xmm8, dword [0x1800a2370]
movss xmm7, dword [0x18009faf8]
mulss xmm0, xmm9
addss xmm0, xmm8
cvttss2si eax, xmm0
movaps xmm0, xmm11
addss xmm0, dword [0x1800a2348]
movd xmm10, eax
cvtdq2ps xmm10, xmm10
divss xmm10, xmm7
call fcn.1800832e0
addss xmm11, dword [0x1800a234c]
mulss xmm0, xmm9
addss xmm0, xmm8
cvttss2si eax, xmm0
movaps xmm0, xmm11
movd xmm6, eax
cvtdq2ps xmm6, xmm6
divss xmm6, xmm7
call fcn.1800832e0
mulss xmm0, xmm9
movaps xmm1, xmm10
addss xmm0, xmm8
cvttss2si eax, xmm0
xorps xmm0, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
divss xmm3, xmm7
jmp 0x18005a678
movsd xmm6, qword [rdx + 0x17c0]
xor eax, eax
mov r14d, dword [rdx + 0x17c8]
mov edx, ebx
mov byte [rbp - 0x67], al
mov dword [rbp - 0x71], 0x73322802
mov dword [rbp - 0x6d], 0x220e6575
mov word [rbp - 0x69], 0x2d29
movsxd rcx, edx
lea eax, [rdx + 0x40]
inc edx
xor byte [rbp + rcx - 0x71], al
cmp edx, 0xa
jb 0x18005a799
lea r8, [rbp - 0x71]
mov byte [rbp - 0x67], bl
lea rdx, [rbp - 0x61]
mov rcx, rdi
call fcn.1800020c0
mov eax, dword [rbp - 0x59]
lea r9, [rbp - 0x61]
movsd xmm0, qword [rbp - 0x61]
mov r8, rdi
mov rdx, qword [rbp + 0x5f]
mov rcx, rsi
mov dword [rsp + 0x38], 0xa
mov dword [rbp - 0x69], eax
lea rax, [rbp - 0x71]
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
movsd qword [rbp - 0x71], xmm0
movsd qword [rbp - 0x61], xmm6
mov dword [rbp - 0x59], r14d
call fcn.18000231c
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 0x18005a83c
movss xmm0, dword [0x1800ba2d4]
movss xmm3, dword [0x1800ba2d0]
movss xmm2, dword [0x1800ba2cc]
movss xmm1, dword [0x1800ba2c8]
jmp 0x18005a85c
movss xmm0, dword [0x1800ba2e4]
movss xmm3, dword [0x1800ba2e0]
movss xmm2, dword [0x1800ba2dc]
movss xmm1, dword [0x1800ba2d8]
movss dword [rsp + 0x20], xmm0
call qword [r8 + 0x160]
lea r11, [rsp + 0xe0]
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 xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop rbp
ret