Function at 0x180002df0
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov byte [rax + 0x20], r9b
mov qword [rax + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x57]
sub rsp, 0x90
mov rsi, qword [0x1803d9aa8]
mov r14d, edx
movaps xmmword [rax - 0x48], xmm6
mov r13, rcx
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
mov rbx, qword [rsi + 0x3f08]
mov edi, dword [rbx + 0x14]
and edi, 4
cmp qword [rbx + 0x1a8], 0
jne 0x180002e56
cmp qword [rsi + 0x4bd8], 0
mov eax, 0x250
je 0x180002e5b
mov eax, 0x220
movss xmm0, dword [rax + rbx]
xorps xmm8, xmm8
movss xmm1, dword [rax + rbx + 4]
xor ecx, ecx
cvttss2si eax, dword [r8]
subss xmm0, dword [rbx + 0x100]
subss xmm1, dword [rbx + 0x104]
movd xmm3, eax
cvttss2si eax, dword [r8 + 4]
cvtdq2ps xmm3, xmm3
movd xmm2, eax
ucomiss xmm3, xmm8
cvtdq2ps xmm2, xmm2
jp 0x180002ea0
lea eax, [rcx + 1]
je 0x180002ea2
mov eax, ecx
ucomiss xmm2, xmm8
jp 0x180002eb0
mov r12d, 2
je 0x180002eb3
mov r12d, ecx
movss xmm4, dword [0x1800aac9c]
or r12d, eax
comiss xmm8, xmm3
jb 0x180002ecc
addss xmm3, xmm0
maxss xmm3, xmm4
comiss xmm8, xmm2
jb 0x180002eda
addss xmm2, xmm1
maxss xmm2, xmm4
movss xmm6, dword [0x1800aad08]
lea r15, [rbx + 0x100]
movss xmm1, dword [r15]
subss xmm3, xmm8
movss xmm0, dword [r15 + 4]
addss xmm1, xmm8
or dword [rsi + 0x47f0], 3
addss xmm0, xmm6
mov qword [rsi + 0x4808], rcx
subss xmm2, xmm6
mov dword [rsi + 0x47f4], 1
lea rcx, [rbp - 0x31]
mov dword [rbp - 0x31], 0x3dd0d0d1
movss dword [rsi + 0x4800], xmm1
movss dword [rsi + 0x4804], xmm0
movss dword [rsi + 0x4810], xmm3
movss dword [rsi + 0x4814], xmm2
mov dword [rsi + 0x47f8], 1
mov byte [rbx + 0xb8], 1
movss xmm0, dword [rsi + 0x37c8]
movss xmm1, dword [r8]
addss xmm1, dword [r15]
movss dword [rbp - 0x25], xmm0
movss xmm0, dword [r15 + 4]
addss xmm0, xmm6
mov dword [rbp - 0x2d], 0x3dd0d0d1
mov dword [rbp - 0x29], 0x3de0e0e1
movss dword [rbp + 0x5f], xmm1
movss dword [rbp + 0x63], xmm0
call fcn.18000dca0
mov rcx, qword [rsi + 0x3f08]
lea r8, [rbp + 0x5f]
movss xmm0, dword [0x1800aacc4]
mov r9d, eax
mov dword [rsp + 0x28], 0x30
mov rdx, r15
movss dword [rsp + 0x20], xmm0
mov rcx, qword [rcx + 0x298]
call fcn.180032d20
mov r8, qword [0x1803d9aa8]
lea rcx, [rbp - 0x21]
movss xmm9, dword [0x1800aad04]
mov dword [rbp - 0x21], 0x3db8b8b9
mov dword [rbp - 0x1d], 0x3db8b8b9
mov rax, qword [r8 + 0x3f08]
mov dword [rbp - 0x19], 0x3dc8c8c9
mov byte [rax + 0xb8], 1
movss xmm0, dword [r8 + 0x37c8]
movss xmm2, dword [r15]
movss xmm3, dword [r15 + 4]
mov rax, qword [rbp + 0x6f]
movaps xmm1, xmm3
movss dword [rbp - 0x15], xmm0
addss xmm1, xmm6
movaps xmm0, xmm2
addss xmm3, xmm9
addss xmm2, xmm8
addss xmm0, dword [rax]
movss dword [rbp + 0x63], xmm1
movss dword [rbp - 0x2d], xmm3
movss dword [rbp - 0x31], xmm2
movss dword [rbp + 0x5f], xmm0
call fcn.18000dca0
mov rcx, qword [r8 + 0x3f08]
lea rdx, [rbp - 0x31]
mov r9d, eax
mov dword [rsp + 0x28], 0
lea r8, [rbp + 0x5f]
movss dword [rsp + 0x20], xmm8
mov rcx, qword [rcx + 0x298]
call fcn.180032d20
mov r8, qword [0x1803d9aa8]
mov rax, qword [r8 + 0x3f08]
mov byte [rax + 0xb8], 1
movss xmm0, dword [0x18040f998]
movss xmm1, dword [0x18040f99c]
movss dword [rbp - 0x21], xmm0
movss xmm0, dword [0x18040f9a0]
movss dword [rbp - 0x1d], xmm1
movss xmm1, dword [0x18040f9a4]
movss dword [rbp - 0x19], xmm0
mulss xmm1, dword [r8 + 0x37c8]
lea rcx, [rbp - 0x21]
mov rax, qword [rbp + 0x6f]
movss xmm3, dword [r15]
movss xmm2, dword [r15 + 4]
movaps xmm0, xmm3
movss dword [rbp - 0x15], xmm1
addss xmm3, xmm8
addss xmm0, dword [rax]
movaps xmm1, xmm2
addss xmm2, xmm6
addss xmm1, dword [rax + 4]
movss dword [rbp - 0x31], xmm3
movss dword [rbp + 0x5f], xmm0
movss dword [rbp - 0x2d], xmm2
movss dword [rbp + 0x63], xmm1
call fcn.18000dca0
mov rcx, qword [r8 + 0x3f08]
lea rdx, [rbp - 0x31]
movss xmm0, dword [0x1800aacc4]
lea r8, [rbp + 0x5f]
mov r9d, eax
mov dword [rsp + 0x28], 0xc0
movss dword [rsp + 0x20], xmm0
mov rcx, qword [rcx + 0x298]
call fcn.180032d20
mov r8, qword [0x1803d9aa8]
lea rcx, [rbp - 0x21]
mov rax, qword [r8 + 0x3f08]
mov byte [rax + 0xb8], 1
movss xmm1, dword [0x18040f8ec]
movss xmm0, dword [0x18040f8e8]
mov rax, qword [r8 + 0x3f08]
movss dword [rbp - 0x1d], xmm1
movss xmm1, dword [0x18040f8f4]
mulss xmm1, dword [r8 + 0x37c8]
mov rax, qword [rax + 0x298]
movss dword [rbp - 0x21], xmm0
movss xmm0, dword [0x18040f8f0]
movss dword [rbp - 0x15], xmm1
movss dword [rbp - 0x19], xmm0
mov qword [rbp - 0x31], rax
call fcn.18000dca0
movss xmm1, dword [r8 + 0x3c30]
mov dword [rbp + 0x77], eax
test r13, r13
je 0x180003204
movss xmm0, dword [0x1800aae2c]
lea rdx, [rbp + 0x5f]
movss xmm3, dword [0x1800aade8]
movaps xmm2, xmm1
mov rcx, qword [r8 + 0x3c28]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], r13
movss dword [rsp + 0x20], xmm0
call fcn.18003ac60
movss xmm1, dword [rbp + 0x63]
mov eax, dword [rbp + 0x77]
movss xmm0, dword [rsi + 0x3814]
subss xmm9, xmm1
mov rcx, qword [rbp - 0x31]
addss xmm0, xmm0
mov r9, r13
lea rdx, [rbp + 0x5f]
mov r8d, eax
mulss xmm9, dword [0x1800aab98]
mulss xmm0, dword [0x1800aab98]
addss xmm9, dword [r15 + 4]
addss xmm0, dword [r15]
movss dword [rbp + 0x63], xmm9
movss dword [rbp + 0x5f], xmm0
call fcn.180033900
mov r8, qword [0x1803d9aa8]
lea rcx, [rbp - 0x21]
movss xmm6, dword [0x1800aabe0]
mov dword [rbp - 0x21], 0x3f800000
mov dword [rbp - 0x1d], 0x3f800000
mov rax, qword [r8 + 0x3f08]
mov dword [rbp - 0x19], 0x3f800000
mov byte [rax + 0xb8], 1
mov rax, qword [rbp + 0x6f]
movss xmm0, dword [r8 + 0x37c8]
mulss xmm0, dword [0x1800aab28]
movss xmm1, dword [rax]
addss xmm1, dword [r15]
movss dword [rbp - 0x15], xmm0
movss xmm0, dword [rax + 4]
addss xmm0, dword [r15 + 4]
subss xmm1, dword [0x1800aab98]
subss xmm0, xmm8
movss dword [rbp + 0x6f], xmm1
movss dword [rbp + 0x73], xmm0
call fcn.18000dca0
mov rcx, qword [r8 + 0x3f08]
mov r9d, eax
movss xmm0, dword [0x1800aacd8]
lea r8, [rbp + 0x6f]
movss dword [rsp + 0x30], xmm6
mov rdx, r15
mov dword [rsp + 0x28], 0
mov rcx, qword [rcx + 0x298]
movss dword [rsp + 0x20], xmm0
call fcn.180032c10
mov r9, qword [rbx + 8]
lea rcx, [rbp + 0x6f]
xor edx, edx
test r13, r13
je 0x18000332f
mov dword [rsp + 0x28], r14d
lea r8, str._s__s__08X
mov qword [rsp + 0x20], r13
call fcn.18000d5c0
jmp 0x180003340
lea r8, str._s__08X
mov dword [rsp + 0x20], r14d
call fcn.18000d5c0
mov rcx, qword [rbp + 0x6f]
or edi, 0x101018b
mov r8d, edi
xor edx, edx
call fcn.180017830
mov rdi, qword [rsi + 0x3f08]
movzx r13d, al
cmp word [rdi + 0xc2], 1
mov dword [rdi + 0x80], r14d
mov byte [rdi + 0xd2], r12b
jne 0x180003381
movsd xmm0, qword [rdi + 0x20]
movsd qword [r15], xmm0
mov r9d, r14d
lea rdx, [0x180096f19]
not r9d
lea r10, [0x180097cb0]
mov ebx, r9d
mov r8b, 0x23
nop dword [rax + rax]
cmp r8b, 0x23
jne 0x1800033b3
cmp byte [rdx], r8b
jne 0x1800033b3
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [r10 + rcx*4]
test r8b, r8b
jne 0x1800033a0
not ebx
cmp dword [rsi + 0x3f68], ebx
jne 0x1800033e3
xor edx, edx
xor ecx, ecx
call fcn.180010cd0
cmp dword [rsi + 0x4918], r14d
jne 0x180003429
cmp word [rdi + 0x15c], 0
jne 0x1800033ff
cmp byte [rdi + 0x162], 0
je 0x180003429
xor edx, edx
mov rcx, rdi
call fcn.18001a330
xor edx, edx
mov rcx, rdi
call fcn.180021b90
mov rdx, rdi
mov ecx, ebx
call fcn.180010cd0
mov eax, dword [rsi + 0x493c]
mov dword [rsi + 0x3f90], eax
lea r11, [rsp + 0x90]
movzx eax, r13b
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm8, xmmword [r11 - 0x20]
movaps xmm9, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret