Function at 0x18001aaa0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x40
mov r14, r8
mov rsi, rcx
test r8, r8
jne 0x18001aac4
mov byte [0x18008983f], 1
mov rdx, qword [0x180089a48]
lea rcx, str.PopUp_Window
xor ebp, ebp
cvttss2si eax, dword [rdx + 0x10]
or dword [rdx + 0x1b90], 1
lea r8d, [rbp + 0xb]
mov qword [rdx + 0x1ba4], 0x44750000
mov dword [rdx + 0x1bac], ebp
mov dword [rdx + 0x1b94], 1
sub eax, dword [0x180089878]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdx + 0x1ba0], xmm0
lea rdx, [0x18008983f]
call fcn.18002bed0
mov r10, qword [0x180089a48]
lea r8, [0x1800600d1]
mov dword [rsp + 0x60], 0x43960000
lea rbx, [0x180060d30]
mov dword [rsp + 0x64], 0x3f800000
mov r9b, 0x23
mov rax, qword [r10 + 0x1af0]
mov byte [rax + 0x80], 1
mov rax, qword [r10 + 0x1af0]
movsxd rcx, dword [rax + 0xc0]
mov rax, qword [rax + 0xc8]
mov r11d, dword [rax + rcx*4 - 4]
not r11d
mov edx, r11d
cmp r9b, 0x23
jne 0x18001ab89
cmp byte [r8], r9b
jne 0x18001ab89
cmp byte [r8 + 1], r9b
cmove edx, r11d
movzx ecx, dl
movzx eax, r9b
movzx r9d, byte [r8]
xor rcx, rax
shr edx, 8
inc r8
xor edx, dword [rbx + rcx*4]
test r9b, r9b
jne 0x18001ab76
not edx
cmp dword [r10 + 0x1b38], edx
jne 0x18001abb7
mov dword [r10 + 0x1b3c], edx
cmp dword [r10 + 0x1b78], edx
jne 0x18001abc8
mov byte [r10 + 0x1b7c], 1
xor r9d, r9d
mov dword [rsp + 0x20], ebp
lea r8, [rsp + 0x60]
lea rcx, str.linerender
call fcn.180029490
call fcn.1800296a0
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
mov rdi, qword [0x180089a48]
mov rcx, rax
movabs rax, 0x346dc5d63886594b
imul rcx
movss xmm2, dword [rdi + 0x19a8]
mov rbx, rdx
sar rbx, 0xb
mov rax, rbx
shr rax, 0x3f
add rbx, rax
test rsi, rsi
je 0x18001ac4f
movss xmm0, dword [0x180065bdc]
lea rdx, [rsp + 0x60]
mov rcx, qword [rdi + 0x19a0]
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rsi
movss dword [rsp + 0x20], xmm0
call fcn.1800423e0
movss xmm2, dword [rsp + 0x64]
mov rax, qword [rdi + 0x1af0]
mov rcx, rsi
mulss xmm2, dword [0x1800659b0]
movss xmm1, dword [rax + 0x1c]
mulss xmm1, dword [0x1800659b0]
mov byte [rax + 0x80], 1
mov rax, qword [rdi + 0x1af0]
subss xmm1, xmm2
movss xmm0, dword [rax + 0x14]
subss xmm0, dword [rax + 0x58]
addss xmm1, xmm0
movss xmm0, dword [rax + 0xec]
maxss xmm0, xmm1
movss dword [rax + 0xd4], xmm1
movss dword [rax + 0xec], xmm0
call fcn.180045610
movzx r8d, byte [0x18008983e]
mov rdx, qword [0x180089a48]
movss xmm2, dword [0x180065ab0]
movss xmm5, dword [0x180065a80]
mov ecx, dword [0x180089878]
test r8b, r8b
jne 0x18001ad36
mov rax, qword [rdx + 0x1af0]
movd xmm4, ecx
cvtdq2ps xmm4, xmm4
movss xmm3, dword [rax + 0x18]
comiss xmm4, xmm3
jae 0x18001ad15
movaps xmm1, xmm2
movaps xmm0, xmm3
divss xmm1, dword [rdx + 0x3a8]
addss xmm0, xmm5
mulss xmm1, xmm0
addss xmm1, xmm4
cvttss2si ecx, xmm1
mov dword [0x180089878], ecx
mov eax, dword [0x180088f3c]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm3
jb 0x18001ad3c
cmp eax, 0xffffffff
jne 0x18001ad3c
mov eax, ebx
mov dword [0x180088f3c], ebx
jmp 0x18001ad3c
mov eax, dword [0x180088f3c]
sub ebx, eax
cmp ebx, 0x1388
jl 0x18001ad54
cmp eax, 0xffffffff
je 0x18001ad54
mov byte [0x18008983e], 1
jmp 0x18001ad59
test r8b, r8b
je 0x18001adb4
test ecx, ecx
jle 0x18001ad92
mov rax, qword [rdx + 0x1af0]
divss xmm2, dword [rdx + 0x3a8]
movss xmm0, dword [rax + 0x18]
addss xmm0, xmm5
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm2, xmm0
subss xmm1, xmm2
cvttss2si eax, xmm1
mov dword [0x180089878], eax
test eax, eax
jg 0x18001adb4
mov dword [0x180089878], ebp
mov byte [0x18008983e], bpl
mov byte [r14], 1
mov dword [0x180088f3c], 0xffffffff
mov byte [0x18008983f], bpl
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x40
pop r14
pop rdi
pop rsi
jmp fcn.18002e010