Function at 0x18000cfd0
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x57]
sub rsp, 0xa0
mov r11, qword [0x18018f9d8]
mov r10d, r9d
and r9d, 0xfffffffb
movaps xmmword [rax - 0x38], xmm6
test r10b, 0x10
movaps xmmword [rax - 0x48], xmm7
mov eax, 0x1000001
mov r14d, 0x1000041
mov rsi, qword [r11 + 0x3f48]
cmove r9d, r10d
mov ebx, r9d
mov qword [rbp - 0x21], rsi
and ebx, 0xfffffff7
mov r12, r8
test r9b, 0x20
mov r13d, edx
mov r15, rcx
mov rdi, r11
cmove ebx, r9d
test bl, 0x70
cmove r14d, eax
mov eax, dword [rsi + 0x14]
and eax, 4
or r14d, eax
or r14d, dword [rbp + 0x7f]
test bl, 0xc
jne 0x18000d061
or r14d, 0x102
test bl, bl
jns 0x18000d0d9
movups xmm0, xmmword [r11 + 0x38e0]
lea rcx, [r11 + 0x4898]
mov dword [rbp - 0x11], 3
lea rdx, [rbp - 0x11]
movups xmmword [rbp - 0xd], xmm0
call fcn.18001d480
movups xmm0, xmmword [rdi + 0x3920]
mov ecx, 7
movups xmmword [rdi + 0x38e0], xmm0
movss xmm1, dword [rdi + 0x380c]
call fcn.180006dd0
movss xmm1, dword [rdi + 0x3810]
mov ecx, 8
call fcn.180006dd0
lea rdx, [rdi + 0x3804]
mov ecx, 2
call fcn.180006e50
mov r11, qword [0x18018f9d8]
or ebx, 3
or r14d, 4
or dword [rdi + 0x4828], 0x100
mov dword [rdi + 0x4860], ebx
mov rdx, qword [r11 + 0x3f48]
cmp qword [rdx + 0x1a8], 0
jne 0x18000d109
cmp qword [r11 + 0x4bc0], 0
mov eax, 0x250
je 0x18000d10e
mov eax, 0x220
movss xmm2, dword [rdx + rax]
xorps xmm7, xmm7
movss xmm3, dword [rdx + rax + 4]
subss xmm2, dword [rdx + 0x100]
subss xmm3, dword [rdx + 0x104]
test bl, 0x20
je 0x18000d134
xorps xmm3, xmm3
test bl, 0x10
je 0x18000d13c
xorps xmm2, xmm2
mov rdx, qword [r12]
lea rcx, [rbp + 0x5f]
call fcn.1800159e0
or dword [r11 + 0x4828], 2
lea rcx, [rbp + 0x5f]
movsd xmm0, qword [rbp + 0x5f]
xor edx, edx
movsd qword [r11 + 0x4848], xmm0
mov dword [r11 + 0x4830], 1
mov r9, qword [rsi + 8]
test r15, r15
je 0x18000d191
mov dword [rsp + 0x28], r13d
lea r8, str._s__s__08X
mov qword [rsp + 0x20], r15
call fcn.180006100
jmp 0x18000d1a2
lea r8, str._s__08X
mov dword [rsp + 0x20], r13d
call fcn.180006100
movss xmm6, dword [rdi + 0x37f8]
test bl, 1
jne 0x18000d1b9
mov dword [rdi + 0x37f8], 0
mov rcx, qword [rbp + 0x5f]
mov r8d, r14d
xor edx, edx
call fcn.180010060
movss dword [rdi + 0x37f8], xmm6
movzx r12d, al
test bl, bl
jns 0x18000d21e
mov ecx, 3
call fcn.180006ee0
mov r8, qword [0x18018f9d8]
movsxd rax, dword [r8 + 0x4898]
cmp eax, 1
jl 0x18000d21e
mov rcx, qword [r8 + 0x48a0]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, 0x38b
add rax, rax
movups xmmword [r8 + rax*8], xmm0
dec dword [r8 + 0x4898]
mov rsi, qword [rdi + 0x3f48]
cmp word [rsi + 0xc2], 1
mov dword [rsi + 0x80], r13d
jne 0x18000d247
mov rax, qword [rbp - 0x21]
movsd xmm0, qword [rsi + 0x20]
movsd qword [rax + 0x100], xmm0
mov r9d, r13d
lea rdx, [0x180125d39]
not r9d
lea r10, [0x180126550]
mov ebx, r9d
mov r8b, 0x23
cmp r8b, 0x23
jne 0x18000d274
cmp byte [rdx], r8b
jne 0x18000d274
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 0x18000d261
not ebx
cmp dword [rdi + 0x3fac], ebx
jne 0x18000d2a0
call fcn.180009c70
cmp dword [rdi + 0x4950], r13d
jne 0x18000d2ed
bt r14d, 0x17
jb 0x18000d2ed
cmp word [rsi + 0x15c], 0
jne 0x18000d2c3
cmp byte [rsi + 0x162], 0
je 0x18000d2ed
xor edx, edx
mov rcx, rsi
call fcn.180012580
xor edx, edx
mov rcx, rsi
call fcn.180018680
mov rdx, rsi
mov ecx, ebx
call fcn.180009b70
mov eax, dword [rdi + 0x4980]
mov dword [rdi + 0x3fd0], eax
mov r8, qword [0x18018f9d8]
lea rcx, [rbp - 0x21]
movaps xmm0, xmmword [0x180161d40]
movups xmmword [rbp - 0x21], xmm0
mov rax, qword [r8 + 0x3f48]
mov byte [rax + 0xb8], 1
mov r9, qword [r8 + 0x3f48]
mov r10, qword [r9 + 0x298]
call fcn.180006780
cmp qword [r9 + 0x1a8], 0
jne 0x18000d341
cmp qword [r8 + 0x4bc0], 0
jne 0x18000d341
mov ebx, 0x250
mov ecx, ebx
jmp 0x18000d349
mov ecx, 0x220
lea ebx, [rcx + 0x30]
movss xmm0, dword [r9 + 0x100]
lea r8, [rbp + 0x5f]
movss xmm1, dword [r9 + 0x104]
lea rdx, [rbp - 0x21]
movss xmm2, dword [r9 + rcx]
movss xmm3, dword [r9 + rcx + 4]
subss xmm2, xmm0
subss xmm3, xmm1
mov dword [rsp + 0x28], 0
mov rcx, r10
addss xmm2, xmm0
movsd xmm0, qword [r9 + 0x100]
addss xmm3, xmm1
movsd qword [rbp - 0x21], xmm0
movss xmm1, dword [0x180161a6c]
mov r9d, eax
movss dword [rsp + 0x20], xmm1
movss dword [rbp + 0x5f], xmm2
movss dword [rbp + 0x63], xmm3
call fcn.180021c20
mov r8, qword [0x18018f9d8]
lea rcx, [rbp - 0x21]
movaps xmm0, xmmword [0x180161d50]
movups xmmword [rbp - 0x21], xmm0
mov rax, qword [r8 + 0x3f48]
mov byte [rax + 0xb8], 1
mov r9, qword [r8 + 0x3f48]
mov r10, qword [r9 + 0x298]
call fcn.180006780
cmp qword [r9 + 0x1a8], 0
jne 0x18000d404
cmp qword [r8 + 0x4bc0], 0
je 0x18000d409
mov ebx, 0x220
movss xmm2, dword [r9 + 0x100]
lea r8, [rbp + 0x5f]
movss xmm0, dword [r9 + rbx]
lea rdx, [rbp - 0x21]
movss xmm1, dword [r9 + 0x104]
subss xmm0, xmm2
addss xmm1, dword [0x180161ad0]
mov r9d, eax
mov rcx, r10
addss xmm0, xmm2
addss xmm2, xmm7
movss dword [rbp + 0x63], xmm1
movss dword [rbp - 0x1d], xmm1
movss dword [rbp + 0x5f], xmm0
movss xmm0, dword [0x180161a18]
movss dword [rsp + 0x20], xmm0
movss dword [rbp - 0x21], xmm2
call fcn.1800219b0
mov rcx, qword [0x18018f9d8]
movaps xmm0, xmmword [0x180161d70]
movups xmmword [rbp - 0x21], xmm0
mov rax, qword [rcx + 0x3f48]
mov byte [rax + 0xb8], 1
mov r8, qword [rcx + 0x3f48]
lea rcx, [rbp - 0x21]
mov r10, qword [r8 + 0x298]
call fcn.180006780
movss xmm1, dword [r8 + 0x100]
mov r9d, eax
movss xmm2, dword [r8 + 0x104]
mov rcx, qword [0x18018fa00]
addss xmm1, dword [0x180161a94]
addss xmm2, dword [0x180161a94]
movss dword [rbp + 0x5f], xmm1
movss dword [rbp + 0x63], xmm2
test eax, 0xff000000
je 0x18000d54d
test r15, r15
je 0x18000d54d
cmp byte [r15], 0
je 0x18000d54d
mov r8, 0xffffffffffffffff
inc r8
cmp byte [r15 + r8], 0
jne 0x18000d4f0
add r8, r15
test rcx, rcx
jne 0x18000d50a
mov rax, qword [r10 + 0x38]
mov rcx, qword [rax + 8]
movups xmm0, xmmword [r10 + 0x88]
lea rax, [rbp - 0x21]
mov byte [rsp + 0x48], 0
movss xmm2, dword [0x180161aa8]
mov rdx, r10
movss dword [rsp + 0x40], xmm7
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
lea r9, [rbp + 0x5f]
movups xmmword [rbp - 0x21], xmm0
call fcn.180027cd0
lea r11, [rsp + 0xa0]
movzx eax, r12b
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret