Function at 0x1800f4650
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xf0
mov rbx, qword [0x1801fbf58]
mov r12, rdx
movaps xmmword [rax - 0x38], xmm6
mov rdi, rcx
movaps xmmword [rax - 0x48], xmm7
mov r15, rbx
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
mov rax, qword [rbx + 0x3ea0]
movaps xmmword [rsp + 0x70], xmm13
movaps xmmword [rsp + 0x60], xmm14
mov byte [rax + 0x98], 1
mov r14, qword [rbx + 0x3ea0]
cmp byte [r14 + 0x9b], 0
jne 0x1800f4cf3
movsxd rcx, dword [r14 + 0xd0]
lea rdx, [rdi + 1]
mov rax, qword [r14 + 0xd8]
movzx r8d, byte [rdi]
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov esi, r9d
test r8b, r8b
je 0x1800f4732
lea r10, [0x180191110]
cmp r8b, 0x23
jne 0x1800f4714
cmp byte [rdx], r8b
jne 0x1800f4714
cmp byte [rdx + 1], r8b
cmove esi, r9d
movzx ecx, sil
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr esi, 8
inc rdx
xor esi, dword [r10 + rcx*4]
test r8b, r8b
jne 0x1800f4701
not esi
cmp dword [rbx + 0x3ed4], esi
jne 0x1800f4752
mov r8, rdi
mov edx, 0xb
mov ecx, esi
call fcn.1800e6970
mov rbx, qword [0x1801fbf58]
mov rcx, rdi
cmp rdi, 0xffffffffffffffff
jae 0x1800f477d
nop dword [rax + rax]
movzx edx, byte [rcx]
test dl, dl
je 0x1800f477d
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x1800f4774
cmp byte [rax], dl
je 0x1800f477d
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x1800f4760
movss xmm14, dword [rbx + 0x3c00]
xorps xmm6, xmm6
cmp rdi, rcx
jne 0x1800f4794
xorps xmm12, xmm12
jmp 0x1800f47e8
movss xmm0, dword [0x1801961d0]
lea rdx, [rbp + 0x77]
movss xmm3, dword [0x1801961bc]
movaps xmm2, xmm14
mov qword [rsp + 0x30], rcx
mov rcx, qword [rbx + 0x3bf8]
mov qword [rsp + 0x28], rdi
movss dword [rsp + 0x20], xmm0
call fcn.1801041f0
movss xmm0, dword [rbp + 0x77]
addss xmm0, dword [0x1801960c0]
movss xmm14, dword [rbp + 0x7b]
cvttss2si eax, xmm0
movd xmm12, eax
cvtdq2ps xmm12, xmm12
test byte [rbx + 0x3f58], 1
movss xmm2, dword [rbx + 0x3830]
addss xmm2, dword [rbx + 0x3c00]
mov rcx, qword [rbx + 0x3ea0]
je 0x1800f4812
movss xmm0, dword [rbx + 0x3f5c]
jmp 0x1800f481a
movss xmm0, dword [rcx + 0x19c]
comiss xmm6, xmm0
jbe 0x1800f485b
cmp qword [rcx + 0x188], 0
movss xmm1, dword [rcx + 0x230]
jne 0x1800f483b
cmp qword [rbx + 0x4310], 0
je 0x1800f4843
movss xmm1, dword [rcx + 0x200]
subss xmm1, dword [rcx + 0xe0]
addss xmm1, xmm0
movss xmm0, dword [0x1801960c8]
maxss xmm0, xmm1
mulss xmm2, dword [0x180196138]
xorps xmm3, xmm3
movss xmm5, dword [r15 + 0x3820]
xorps xmm4, xmm4
cvttss2si eax, xmm0
movsd xmm0, qword [r12]
addss xmm5, xmm5
movsd qword [rbp + 0x77], xmm0
movaps xmm1, xmm0
shufps xmm1, xmm1, 0x55
movd xmm7, eax
addss xmm5, xmm2
movss xmm2, dword [rbp + 0x77]
comiss xmm6, xmm2
cvtdq2ps xmm7, xmm7
ja 0x1800f48a6
comiss xmm6, xmm1
jbe 0x1800f48d2
cmp qword [rcx + 0x188], 0
movss xmm3, dword [rcx + 0x230]
movss xmm4, dword [rcx + 0x234]
jne 0x1800f48ca
cmp qword [rbx + 0x4310], 0
je 0x1800f48d2
movss xmm3, dword [rcx + 0x200]
ucomiss xmm2, xmm6
movss xmm0, dword [0x180196120]
jp 0x1800f48e6
jne 0x1800f48e6
movaps xmm2, xmm7
jmp 0x1800f48fe
comiss xmm6, xmm2
jbe 0x1800f48fe
subss xmm3, dword [rcx + 0xe0]
addss xmm3, xmm2
movaps xmm2, xmm0
maxss xmm2, xmm3
ucomiss xmm1, xmm6
jp 0x1800f490a
jne 0x1800f490a
movaps xmm1, xmm5
jmp 0x1800f4922
comiss xmm6, xmm1
jbe 0x1800f4922
subss xmm4, dword [rcx + 0xe4]
addss xmm4, xmm1
maxss xmm0, xmm4
movaps xmm1, xmm0
comiss xmm12, xmm6
movss xmm9, dword [r14 + 0xe0]
movss xmm8, dword [r14 + 0xe4]
cvttss2si eax, xmm2
movss dword [rbp - 0x69], xmm9
movss dword [rbp - 0x65], xmm8
movd xmm13, eax
cvttss2si eax, xmm1
cvtdq2ps xmm13, xmm13
movd xmm11, eax
cvtdq2ps xmm11, xmm11
addss xmm13, xmm9
maxss xmm11, xmm14
movss dword [rbp - 0x61], xmm13
addss xmm11, xmm8
movss dword [rbp - 0x5d], xmm11
jbe 0x1800f498a
movaps xmm0, xmm12
addss xmm0, dword [r15 + 0x3834]
jmp 0x1800f498d
xorps xmm0, xmm0
xor r9d, r9d
movss dword [rbp - 0x79], xmm9
mov dword [r15 + 0x3f58], r9d
movaps xmm7, xmm13
mov rax, qword [rbx + 0x3ea0]
addss xmm7, xmm0
movaps xmm10, xmm11
movss dword [rbp - 0x75], xmm8
addss xmm10, xmm6
movss xmm0, dword [rax + 0x224]
comiss xmm0, xmm8
movss dword [rbp - 0x71], xmm7
movss dword [rbp - 0x6d], xmm10
jbe 0x1800f4bcb
comiss xmm10, dword [rax + 0x21c]
jbe 0x1800f4bcb
movss xmm0, dword [rax + 0x220]
comiss xmm0, xmm9
jbe 0x1800f4bcb
comiss xmm7, dword [rax + 0x218]
jbe 0x1800f4bcb
call fcn.1800de470
comiss xmm12, xmm6
jbe 0x1800f4a7b
movaps xmm6, xmm13
movaps xmm7, xmm8
addss xmm6, dword [r15 + 0x3834]
addss xmm7, dword [r15 + 0x3820]
mov r9b, 1
xor r8d, r8d
mov rdx, rdi
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq rcx, xmm0
call fcn.1800cf1e0
movss xmm1, dword [r14 + 0xf8]
addss xmm12, xmm6
movss xmm0, dword [r14 + 0xfc]
addss xmm14, xmm7
maxss xmm1, xmm12
maxss xmm0, xmm14
movss dword [r14 + 0xf8], xmm1
movss dword [r14 + 0xfc], xmm0
mov rdi, qword [0x1801fbf58]
subss xmm13, xmm9
subss xmm11, xmm8
mov ecx, 3
lea rdx, [rdi + 0x3918]
movss dword [rbp + 0x77], xmm13
movss dword [rbp + 0x7b], xmm11
call fcn.1800cee20
mov rbx, qword [0x1801fbf58]
lea rdx, [rbp - 0x79]
movss xmm6, dword [rdi + 0x3824]
mov dword [rbp - 0x79], 7
movss xmm0, dword [rbx + 0x380c]
lea rcx, [rbx + 0x4028]
movss dword [rbp - 0x75], xmm0
call fcn.1800e71f0
movss dword [rbx + 0x380c], xmm6
lea rdx, [rbp - 0x79]
mov rbx, qword [0x1801fbf58]
movss xmm6, dword [rdi + 0x3828]
mov dword [rbp - 0x79], 8
movss xmm0, dword [rbx + 0x3810]
lea rcx, [rbx + 0x4028]
movss dword [rbp - 0x75], xmm0
call fcn.1800e71f0
movss dword [rbx + 0x3810], xmm6
lea rdx, [rbp - 0x79]
mov rbx, qword [0x1801fbf58]
mov dword [rbp - 0x79], 2
movss xmm0, dword [rbx + 0x37e8]
lea rcx, [rbx + 0x4028]
movss xmm1, dword [rbx + 0x37ec]
movss dword [rbp - 0x75], xmm0
movss dword [rbp - 0x71], xmm1
call fcn.1800e71f0
movsd xmm0, qword [rdi + 0x381c]
lea r8, [rbp + 0x77]
mov r9b, 1
movsd qword [rbx + 0x37e8], xmm0
mov edx, esi
mov dword [rsp + 0x20], 0x10004
xor ecx, ecx
call fcn.1800d69e0
mov ecx, 3
call fcn.1800cef70
mov r8, qword [0x1801fbf58]
movsxd rax, dword [r8 + 0x4018]
cmp eax, 1
jl 0x1800f4bc4
mov rcx, qword [r8 + 0x4020]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
movups xmmword [r8 + rax*8 + 0x38a8], xmm0
dec dword [r8 + 0x4018]
mov al, 1
jmp 0x1800f4cf5
movss xmm1, dword [r15 + 0x3820]
lea rcx, [rbp + 0x77]
movaps xmm0, xmm7
movaps xmm2, xmm10
subss xmm0, xmm9
subss xmm2, xmm8
movss dword [rbp + 0x77], xmm0
movss dword [rbp + 0x7b], xmm2
call fcn.1800ddea0
mov eax, dword [rbx + 0x3f50]
movups xmm0, xmmword [rbp - 0x79]
mov dword [rbx + 0x3f70], eax
mov rax, qword [rbx + 0x3ea0]
movups xmm1, xmmword [rbp - 0x69]
mov dword [rbx + 0x3f6c], r9d
movups xmmword [rbx + 0x3f78], xmm0
mov dword [rbx + 0x3f74], r9d
movups xmmword [rbx + 0x3f88], xmm1
mov dword [rbx + 0x3f58], r9d
comiss xmm10, dword [rax + 0x21c]
jbe 0x1800f4c71
movss xmm0, dword [rax + 0x224]
comiss xmm0, xmm8
jbe 0x1800f4c71
comiss xmm7, dword [rax + 0x218]
jbe 0x1800f4c71
movss xmm0, dword [rax + 0x220]
comiss xmm0, xmm9
jbe 0x1800f4c71
mov dword [rbx + 0x3f74], 0x200
jmp 0x1800f4c7a
cmp byte [rbx + 0x53ec], r9b
je 0x1800f4cf3
movss xmm1, dword [rbx + 0x3844]
movss xmm0, dword [rbx + 0x3848]
movaps xmm3, xmm1
maxss xmm9, dword [rax + 0x218]
maxss xmm8, dword [rax + 0x21c]
minss xmm7, dword [rax + 0x220]
minss xmm10, dword [rax + 0x224]
movaps xmm2, xmm0
subss xmm9, xmm1
movss xmm1, dword [rbx + 0xdfc]
subss xmm8, xmm0
addss xmm3, xmm7
addss xmm2, xmm10
comiss xmm1, xmm9
jb 0x1800f4cf3
movss xmm0, dword [rbx + 0xe00]
comiss xmm0, xmm8
jb 0x1800f4cf3
comiss xmm3, xmm1
jbe 0x1800f4cf3
comiss xmm2, xmm0
jbe 0x1800f4cf3
or dword [rbx + 0x3f74], 1
xor al, al
movaps xmm14, xmmword [rsp + 0x60]
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
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 r15
pop r14
pop r12
pop rdi
pop rbp
ret