Function at 0x1800152d0
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rax - 0x5f]
sub rsp, 0xf0
mov r14, qword [0x1800cc118]
mov rdi, rdx
movaps xmmword [rax - 0x58], xmm6
mov rbx, rcx
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rsp + 0x70], xmm11
movaps xmmword [rsp + 0x60], xmm12
mov qword [rax - 0x38], r13
mov r13, r8
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
mov eax, dword [rcx + 0xc]
mov qword [rbp + 0x6f], r14
mov dword [rbp + 0x7f], eax
test al, 0x20
jne 0x180015341
cmp dword [r14 + 0x157c], 0xffffffff
je 0x180015341
mov cl, 1
jmp 0x180015343
xor cl, cl
mov esi, dword [rbx + 0x180]
xorps xmm11, xmm11
mov dword [rbx + 0x138], 1
mov eax, esi
mov dword [rbx + 0x13c], 2
or eax, 0x10
mov dword [rbx + 0x180], eax
movss xmm6, dword [r14 + 0x1590]
movss xmm2, dword [r14 + 0x1910]
movaps xmm7, xmm6
movss xmm1, dword [rdx + 8]
mov qword [rbp + 0x67], 0
test cl, cl
je 0x180015490
mov eax, dword [r14 + 0x157c]
cmp eax, 1
jne 0x1800153bf
movss xmm0, dword [rdx + 4]
addss xmm7, xmm2
movss dword [rbp + 0x6b], xmm0
subss xmm1, xmm7
subss xmm1, xmm6
movss dword [rbp + 0x67], xmm1
jmp 0x1800153e1
movss xmm1, dword [rdx + 4]
test eax, eax
jne 0x1800153e1
movaps xmm0, xmm6
movss dword [rbp + 0x6b], xmm1
addss xmm0, dword [rdx]
subss xmm0, xmm6
addss xmm6, xmm2
movss dword [rbp + 0x67], xmm0
movsxd rcx, dword [rbx + 0xc0]
lea rdx, [0x180076451]
mov rax, qword [rbx + 0xc8]
lea r11, [0x1800766a0]
mov r9b, 0x23
mov r10d, dword [rax + rcx*4 - 4]
not r10d
mov r8d, r10d
nop dword [rax + rax]
cmp r9b, 0x23
jne 0x180015423
cmp byte [rdx], r9b
jne 0x180015423
cmp byte [rdx + 1], r9b
cmove r8d, r10d
movzx ecx, r8b
movzx eax, r9b
movzx r9d, byte [rdx]
xor rcx, rax
shr r8d, 8
inc rdx
xor r8d, dword [r11 + rcx*4]
test r9b, r9b
jne 0x180015410
mov rax, qword [0x1800cc118]
not r8d
cmp dword [rax + 0x1a60], r8d
jne 0x18001545c
mov dword [rax + 0x1a64], r8d
cmp dword [rax + 0x1a9c], r8d
jne 0x18001546c
mov byte [rax + 0x1aa0], 1
lea rdx, [rbp + 0x67]
mov ecx, r8d
call fcn.180030b20
test al, al
je 0x180015490
mov byte [rbx + 0x82], 1
nop dword [rax]
nop word [rax + rax]
and dword [rbp + 0x7f], 0x100000
movss xmm8, dword [0x18007b34c]
movss xmm9, dword [0x18007b32c]
movss xmm10, dword [0x18007b214]
mov dword [rbx + 0x180], esi
lea rsi, [0x18007645c]
mov dword [rbx + 0x138], 0
mov dword [rbx + 0x13c], 1
je 0x180015526
mov rcx, qword [0x1800cc118]
lea rdx, [rbp + 0x67]
mov qword [rsp + 0x30], 0
movaps xmm3, xmm9
mov qword [rsp + 0x28], rsi
movss dword [rsp + 0x20], xmm8
movss xmm2, dword [rcx + 0x1910]
mov rcx, qword [rcx + 0x1908]
call fcn.18002cc70
movss xmm0, dword [rbp + 0x67]
addss xmm0, xmm10
cvttss2si eax, xmm0
movd xmm12, eax
cvtdq2ps xmm12, xmm12
jmp 0x18001552a
movaps xmm12, xmm11
mov r8, qword [0x1800cc118]
mov rax, r13
cmp r13, 0xffffffffffffffff
jae 0x18001555a
nop word [rax + rax]
movzx ecx, byte [rax]
test cl, cl
je 0x18001555a
cmp cl, 0x23
jne 0x180015551
cmp byte [rax + 1], cl
je 0x18001555a
inc rax
cmp rax, 0xffffffffffffffff
jb 0x180015540
movss xmm0, dword [r8 + 0x1910]
cmp r13, rax
jne 0x18001556e
movaps xmm10, xmm11
jmp 0x1800155b2
mov rcx, qword [r8 + 0x1908]
lea rdx, [rbp + 0x67]
mov qword [rsp + 0x30], rax
movaps xmm3, xmm9
mov qword [rsp + 0x28], r13
movaps xmm2, xmm0
movss dword [rsp + 0x20], xmm8
call fcn.18002cc70
movss xmm0, dword [rbp + 0x67]
addss xmm0, xmm10
cvttss2si eax, xmm0
movss xmm0, dword [rbp + 0x6b]
movd xmm10, eax
cvtdq2ps xmm10, xmm10
movss xmm1, dword [r14 + 0x1590]
addss xmm10, xmm12
comiss xmm6, xmm1
movss xmm2, dword [r14 + 0x15a8]
addss xmm0, xmm11
movss dword [rbp + 0x77], xmm10
movss dword [rbp + 0x7b], xmm0
jbe 0x1800155e2
addss xmm6, xmm2
comiss xmm7, xmm1
jbe 0x1800155eb
addss xmm7, xmm2
movss xmm8, dword [0x18007b218]
lea rdx, [r14 + 0x1574]
movss xmm0, dword [rdx]
comiss xmm0, xmm11
mov qword [rbp + 0x67], rdx
jbe 0x180015673
comiss xmm8, xmm0
jbe 0x180015673
subss xmm0, dword [0x18007b1e4]
movaps xmm1, xmm8
andps xmm0, xmmword [0x18007b6b0]
addss xmm0, xmm0
subss xmm1, xmm0
comiss xmm11, xmm1
jbe 0x180015636
movaps xmm3, xmm11
jmp 0x18001563e
movaps xmm3, xmm8
minss xmm3, xmm1
movss xmm0, dword [rdi + 8]
movaps xmm1, xmm6
subss xmm0, dword [rdi]
maxss xmm1, xmm7
subss xmm0, xmm6
subss xmm0, xmm7
subss xmm0, xmm10
minss xmm1, xmm0
mulss xmm1, xmm3
comiss xmm6, xmm1
jae 0x18001566b
movaps xmm6, xmm1
comiss xmm7, xmm1
jae 0x180015673
movaps xmm7, xmm1
movss xmm9, dword [rdi + 4]
movss xmm0, dword [rdi + 0xc]
movss xmm1, dword [rdi + 8]
movss dword [rbp - 0x75], xmm9
subss xmm1, xmm7
movaps xmm7, xmmword [rsp + 0xb0]
movss dword [rbp - 0x6d], xmm0
movss dword [rbp - 0x65], xmm9
movss dword [rbp - 0x5d], xmm0
movss dword [rbp - 0x71], xmm1
addss xmm1, xmm2
addss xmm6, dword [rdi]
mov rdi, r13
movss dword [rbp - 0x61], xmm1
movss dword [rbp - 0x79], xmm6
movss dword [rbp - 0x69], xmm6
cmp r13, 0xffffffffffffffff
jae 0x1800156e9
nop word [rax + rax]
movzx eax, byte [rdi]
test al, al
je 0x1800156e9
cmp al, 0x23
jne 0x1800156e0
cmp byte [rdi + 1], al
je 0x1800156e9
inc rdi
cmp rdi, 0xffffffffffffffff
jb 0x1800156d0
mov qword [rsp + 0xe8], r12
mov qword [rsp + 0xd8], r15
cmp edi, r13d
je 0x1800158b0
mov rbx, qword [0x1800cc118]
lea rax, [rbp - 0x69]
mov qword [rsp + 0x38], rax
lea r8, [rbp - 0x71]
mov qword [rsp + 0x30], rdx
lea rax, [rbp + 0x77]
mov qword [rsp + 0x28], rax
lea rdx, [rbp - 0x79]
mov rcx, qword [rbx + 0x1a18]
mov r9, r13
mov qword [rsp + 0x20], rdi
mov rcx, qword [rcx + 0x2a8]
call fcn.18000ddf0
cmp byte [rbx + 0x2f30], 0
je 0x1800158a1
mov r14, qword [0x1800cc118]
mov rcx, qword [r14 + 0x1a18]
test rdi, rdi
jne 0x180015789
mov rdi, r13
cmp r13, 0xffffffffffffffff
jae 0x180015789
nop dword [rax]
movzx eax, byte [rdi]
test al, al
je 0x180015789
cmp al, 0x23
jne 0x180015780
cmp byte [rdi + 1], al
je 0x180015789
inc rdi
cmp rdi, 0xffffffffffffffff
jb 0x180015770
movss xmm0, dword [r14 + 0x2f50]
movss xmm9, dword [rbp - 0x75]
addss xmm0, xmm8
movss dword [r14 + 0x2f50], xmm9
comiss xmm9, xmm0
jbe 0x1800157b9
mov byte [r14 + 0x2f54], 1
mov r12b, 1
jmp 0x1800157bc
xor r12b, r12b
mov eax, dword [r14 + 0x2f58]
mov rbx, r13
mov r15d, dword [rcx + 0x108]
cmp eax, r15d
jle 0x1800157e3
mov dword [r14 + 0x2f58], r15d
mov eax, r15d
mov r15d, dword [rcx + 0x108]
sub r15d, eax
nop word [rax + rax]
mov r8, rdi
mov edx, 0xa
sub r8, rbx
mov rcx, rbx
call fcn.180064870
test rax, rax
mov rsi, rdi
cmovne rsi, rax
cmp rsi, rdi
jne 0x180015817
cmp rbx, rsi
je 0x180015883
mov r9d, esi
sub r9d, ebx
test r12b, r12b
jne 0x18001584d
cmp rbx, r13
jne 0x18001584d
cmp byte [r14 + 0x2f54], r12b
je 0x180015839
lea rcx, str._s_.s
jmp 0x180015854
mov r8, rbx
lea rcx, str.__.s
mov edx, r9d
call fcn.18001e0a0
jmp 0x18001586d
lea rcx, str._r_n_s_.s
lea r8, [0x1800763c6]
mov qword [rsp + 0x20], rbx
lea edx, [r15*4]
call fcn.18001e0a0
mov byte [r14 + 0x2f54], 0
cmp rsi, rdi
je 0x180015894
lea rbx, [rsi + 1]
jmp 0x1800157f0
test r12b, r12b
je 0x180015894
lea rcx, [0x1800764f0]
call fcn.18001e0a0
mov r14, qword [rbp + 0x6f]
lea rsi, [0x18007645c]
jmp 0x1800158a7
movss xmm9, dword [rbp - 0x75]
mov rdx, qword [rbp + 0x67]
movss xmm6, dword [rbp - 0x79]
cmp dword [rbp + 0x7f], 0
movaps xmm8, xmmword [rsp + 0xa0]
mov r15, qword [rsp + 0xd8]
mov r13, qword [rsp + 0xe0]
mov r12, qword [rsp + 0xe8]
je 0x1800159fd
movss xmm0, dword [r14 + 0x1910]
addss xmm9, xmm11
xorps xmm0, xmmword [0x18007b6d0]
mov rdi, rsi
mulss xmm0, dword [0x18007b1d0]
mov dword [rbp + 0x67], 0
movss xmm2, dword [rbp - 0x71]
movaps xmm1, xmm2
subss xmm2, xmm6
addss xmm1, xmm11
cvttss2si eax, xmm0
movss xmm0, dword [r14 + 0x1578]
subss xmm2, xmm10
movss dword [rbp + 0x6b], xmm0
movss dword [rbp + 0x6f], xmm1
movd xmm3, eax
mulss xmm2, dword [rdx]
cvtdq2ps xmm3, xmm3
addss xmm2, xmm6
addss xmm9, xmm3
movaps xmm0, xmm3
addss xmm0, dword [rbp - 0x6d]
maxss xmm6, xmm2
movss dword [rbp + 0x83], xmm9
movss dword [rbp + 0x73], xmm0
movss xmm0, dword [0x18007b25c]
subss xmm0, xmm12
addss xmm6, xmm10
addss xmm6, xmm0
addss xmm6, xmm11
movss dword [rbp + 0x7f], xmm6
cmp rsi, 0xffffffffffffffff
jae 0x18001599c
movzx eax, byte [rdi]
test al, al
je 0x18001599c
cmp al, 0x23
jne 0x180015993
cmp byte [rdi + 1], al
je 0x18001599c
inc rdi
cmp rdi, 0xffffffffffffffff
jb 0x180015983
cmp edi, esi
je 0x1800159fd
mov rbx, qword [0x1800cc118]
lea rax, [rbp - 0x69]
mov qword [rsp + 0x38], rax
lea r8, [rbp + 0x6f]
lea rax, [rbp + 0x67]
mov r9, rsi
mov qword [rsp + 0x30], rax
lea rdx, [rbp + 0x7f]
mov rcx, qword [rbx + 0x1a18]
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], rdi
mov rcx, qword [rcx + 0x2a8]
call fcn.18000ddf0
cmp byte [rbx + 0x2f30], 0
je 0x1800159fd
mov r8, rdi
lea rcx, [rbp + 0x7f]
mov rdx, rsi
call fcn.18001e1a0
movaps xmm12, xmmword [rsp + 0x60]
lea r11, [rsp + 0xf0]
movaps xmm6, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x60]
movaps xmm10, xmmword [r11 - 0x70]
movaps xmm11, xmmword [r11 - 0x80]
mov rsp, r11
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret