Function at 0x1800e1060
Capabilities:
Hash data with crc32

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov dword [r11 + 0x18], r8d
mov byte [rsp + 0x10], dl
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [r11 - 0x5f]
sub rsp, 0xf0
mov r10, qword [0x1801e3228]
mov r15, r9
movaps xmmword [r11 - 0x48], xmm6
mov r13d, r8d
movaps xmmword [r11 - 0x58], xmm7
mov r12, rcx
movaps xmmword [r11 - 0x68], xmm8
mov rsi, r10
mov rax, qword [r10 + 0x3ea0]
movaps xmmword [r11 - 0x88], xmm10
mov byte [rax + 0x98], 1
mov rdi, qword [r10 + 0x3ea0]
cmp byte [rdi + 0x9b], 0
jne 0x1800e18bb
movsxd r8, dword [rdi + 0xd0]
lea rdx, [rcx + 1]
mov rax, qword [rdi + 0xd8]
movaps xmmword [r11 - 0x78], xmm9
movaps xmmword [r11 - 0x98], xmm11
mov r9d, dword [rax + r8*4 - 4]
movzx r8d, byte [rcx]
not r9d
mov ebx, r9d
test r8b, r8b
je 0x1800e1140
lea r11, [0x18017c700]
nop dword [rax + rax]
cmp r8b, 0x23
jne 0x1800e1123
cmp byte [rdx], r8b
jne 0x1800e1123
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 [r11 + rcx*4]
test r8b, r8b
jne 0x1800e1110
not ebx
cmp dword [r10 + 0x3ed4], ebx
jne 0x1800e1161
mov r8, r12
mov edx, 0xb
mov ecx, ebx
call fcn.1800d3960
mov r10, qword [0x1801e3228]
mov rcx, r12
cmp r12, 0xffffffffffffffff
jae 0x1800e118d
nop word [rax + rax]
movzx edx, byte [rcx]
test dl, dl
je 0x1800e118d
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x1800e1184
cmp byte [rax], dl
je 0x1800e118d
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x1800e1170
movss xmm7, dword [r10 + 0x3c00]
xorps xmm10, xmm10
cmp r12, rcx
jne 0x1800e11a5
xorps xmm9, xmm9
jmp 0x1800e11f9
movss xmm0, dword [0x1801817b0]
lea rdx, [rsp + 0x48]
movss xmm3, dword [0x18018179c]
movaps xmm2, xmm7
mov qword [rsp + 0x30], rcx
mov rcx, qword [r10 + 0x3bf8]
mov qword [rsp + 0x28], r12
movss dword [rsp + 0x20], xmm0
call fcn.1800f2060
movss xmm0, dword [rsp + 0x48]
addss xmm0, dword [0x18018169c]
movss xmm7, dword [rbp - 0x7d]
cvttss2si eax, xmm0
movd xmm9, eax
cvtdq2ps xmm9, xmm9
movss xmm0, dword [r15 + 4]
ucomiss xmm0, xmm10
movss dword [rbp - 0x4d], xmm7
movss dword [rbp - 0x51], xmm9
jp 0x1800e1212
je 0x1800e1215
movaps xmm7, xmm0
movss xmm6, dword [r15]
ucomiss xmm6, xmm10
jp 0x1800e1226
jne 0x1800e1226
movaps xmm6, xmm9
movss xmm8, dword [rdi + 0xe4]
lea rcx, [rsp + 0x48]
addss xmm8, dword [rdi + 0x118]
movss xmm11, dword [rdi + 0xe0]
xorps xmm1, xmm1
movss dword [rsp + 0x48], xmm6
movss dword [rbp - 0x7d], xmm7
call fcn.1800cb4d0
mov r14d, r13d
shr r14d, 1
and r14b, 1
je 0x1800e1277
movss xmm5, dword [rdi + 0x208]
movss xmm1, dword [rdi + 0x210]
jmp 0x1800e1283
movss xmm1, dword [rdi + 0x200]
movaps xmm5, xmm11
movss xmm0, dword [r15]
ucomiss xmm0, xmm10
jp 0x1800e1290
je 0x1800e1297
bt r13d, 0x18
jae 0x1800e12a3
subss xmm1, xmm5
movaps xmm6, xmm9
maxss xmm6, xmm1
movss dword [rbp - 0x79], xmm5
addss xmm6, xmm5
movss dword [rbp - 0x75], xmm8
movaps xmm0, xmm11
movaps xmm11, xmmword [rsp + 0x90]
movaps xmm9, xmm8
unpcklps xmm0, xmm8
addss xmm9, xmm7
movsd qword [rbp - 0x41], xmm0
movss dword [rbp - 0x49], xmm6
movss dword [rbp - 0x71], xmm6
movss dword [rbp - 0x45], xmm9
movss dword [rbp - 0x6d], xmm9
bt r13d, 0x1b
jb 0x1800e1363
test r14b, r14b
je 0x1800e12f8
xorps xmm7, xmm7
jmp 0x1800e1300
movss xmm7, dword [rsi + 0x382c]
movss xmm4, dword [rsi + 0x3830]
movaps xmm0, xmm7
mulss xmm0, dword [0x18018166c]
cvttss2si eax, xmm0
movaps xmm0, xmm4
mulss xmm0, dword [0x18018166c]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
cvttss2si eax, xmm0
subss xmm7, xmm2
subss xmm5, xmm2
movd xmm3, eax
cvtdq2ps xmm3, xmm3
addss xmm7, xmm6
movss dword [rbp - 0x79], xmm5
subss xmm4, xmm3
subss xmm8, xmm3
movss dword [rbp - 0x71], xmm7
addss xmm4, xmm9
movss dword [rbp - 0x75], xmm8
movss dword [rbp - 0x6d], xmm4
movss xmm6, dword [rdi + 0x218]
movss xmm7, dword [rdi + 0x220]
movaps xmm9, xmmword [rsp + 0xb0]
test r14b, r14b
je 0x1800e1399
mov eax, dword [rdi + 0x208]
mov dword [rdi + 0x218], eax
mov eax, dword [rdi + 0x210]
mov dword [rdi + 0x220], eax
mov eax, r13d
lea rcx, [rbp - 0x79]
shr eax, 3
xor r8d, r8d
and al, 1
mov edx, ebx
movzx eax, al
mov r9d, eax
mov dword [rbp - 0x59], eax
shl r9d, 2
call fcn.1800cb680
test r14b, r14b
je 0x1800e13d1
movss dword [rdi + 0x218], xmm6
movss dword [rdi + 0x220], xmm7
test al, al
je 0x1800e18bb
mov r15d, dword [rsi + 0x3f50]
shr r15d, 2
and r15b, 1
cmp byte [rbp - 0x59], 0
je 0x1800e13f8
test r15b, r15b
jne 0x1800e13f8
call fcn.1800c9f70
test r14b, r14b
je 0x1800e14e8
cmp qword [rdi + 0x188], 0
je 0x1800e1415
call fcn.1800fa180
jmp 0x1800e14e8
cmp qword [rsi + 0x4310], 0
je 0x1800e14e8
mov rax, qword [0x1801e3228]
mov rcx, qword [rax + 0x4310]
mov r9, qword [rax + 0x3ea0]
movups xmm0, xmmword [r9 + 0x218]
movups xmmword [rcx + 0x170], xmm0
mov rax, qword [r9 + 0x278]
movups xmm0, xmmword [rcx + 0x150]
movss xmm4, dword [rcx + 0x150]
movss xmm3, dword [rcx + 0x154]
movss xmm2, dword [rcx + 0x158]
movss xmm1, dword [rcx + 0x15c]
movups xmmword [r9 + 0x218], xmm0
movss dword [rbp - 0x69], xmm4
movss dword [rbp - 0x65], xmm3
movss dword [rbp - 0x61], xmm2
movss dword [rbp - 0x5d], xmm1
movss dword [rax + 0x88], xmm4
movss dword [rax + 0x8c], xmm3
movss dword [rax + 0x90], xmm2
movss dword [rax + 0x94], xmm1
mov rax, qword [r9 + 0x278]
movups xmm0, xmmword [rbp - 0x69]
movsxd r8, dword [rax + 0x58]
mov rdx, qword [rax + 0x60]
add r8, r8
movups xmmword [rdx + r8*8 - 0x10], xmm0
movzx r8d, byte [rcx + 0x207]
mov rcx, qword [rcx + 0x1a0]
mov rdx, qword [r9 + 0x278]
call fcn.1800ee630
movzx eax, byte [rbp + 0x6f]
lea r9, [rsp + 0x42]
mov byte [rsp + 0x41], al
lea r8, [rsp + 0x40]
mov ecx, r13d
shr ecx, 3
and ecx, 0x20000
mov edx, ecx
or edx, 0x10
bt r13d, 0x16
cmovae edx, ecx
mov ecx, edx
bts ecx, 7
bt r13d, 0x17
cmovae ecx, edx
mov edx, ecx
or edx, 0x120
test r13b, 4
cmove edx, ecx
mov ecx, r13d
and ecx, 0x10
mov eax, edx
bts eax, 0xc
mov dword [rsp + 0x48], ecx
test ecx, ecx
lea rcx, [rbp - 0x79]
cmove eax, edx
mov edx, ebx
mov dword [rsp + 0x20], eax
call fcn.1800d62a0
mov r8d, dword [rbp + 0x77]
movzx r13d, al
movss xmm5, dword [rbp - 0x6d]
movss xmm6, dword [rbp - 0x71]
movss xmm7, dword [rbp - 0x75]
movss xmm8, dword [rbp - 0x79]
mov r10, qword [0x1801e3228]
movzx edx, byte [rsp + 0x40]
bt r8d, 0x15
jae 0x1800e15a9
mov ecx, dword [rsi + 0x40d4]
test ecx, ecx
je 0x1800e15a9
mov eax, dword [rsi + 0x3f4c]
cmp dword [rsi + 0x40d8], eax
jne 0x1800e15a9
cmp ecx, ebx
jne 0x1800e15a9
mov r13b, 1
mov byte [rbp + 0x6f], r13b
jmp 0x1800e15c1
test r13b, r13b
jne 0x1800e15c1
test dl, dl
je 0x1800e1690
bt r8d, 0x1a
jae 0x1800e1690
cmp byte [rsi + 0x40f3], 0
jne 0x1800e1679
cmp qword [rsi + 0x40b0], rdi
jne 0x1800e1679
movsxd rcx, dword [rdi + 0x138]
cmp dword [rsi + 0x40ec], ecx
jne 0x1800e1679
movss xmm0, dword [rdi + 0xf4]
movaps xmm4, xmm7
movss xmm3, dword [rdi + 0xf0]
subss xmm4, xmm0
mov eax, dword [rsi + 0x3f4c]
movaps xmm1, xmm5
mov dword [r10 + 0x40bc], eax
subss xmm1, xmm0
mov rax, qword [r10 + 0x40b0]
movaps xmm0, xmm8
mov dword [r10 + 0x40ec], ecx
subss xmm0, xmm3
mov dword [r10 + 0x40b8], ebx
movaps xmm2, xmm6
subss xmm2, xmm3
mov dword [rax + rcx*4 + 0x380], ebx
add rcx, rcx
mov rax, qword [r10 + 0x40b0]
movss dword [rax + rcx*8 + 0x388], xmm0
movss dword [rax + rcx*8 + 0x38c], xmm4
movss dword [rax + rcx*8 + 0x390], xmm2
movss dword [rax + rcx*8 + 0x394], xmm1
mov byte [rsi + 0x40f2], 1
test r13b, r13b
je 0x1800e1690
or dword [r10 + 0x3f74], 4
mov word [r10 + 0x3efc], 0x101
cmp dword [rsp + 0x48], 0
je 0x1800e16c0
mov eax, dword [r10 + 0x3f6c]
cmp dword [r10 + 0x3ed8], eax
jne 0x1800e16af
mov byte [r10 + 0x3ee0], 1
cmp dword [r10 + 0x3eec], eax
jne 0x1800e16c0
mov byte [r10 + 0x3ef9], 1
movzx ecx, byte [rbp + 0x6f]
cmp cl, byte [rsp + 0x41]
je 0x1800e16d1
or dword [rsi + 0x3f74], 8
movzx eax, byte [rsp + 0x42]
test al, al
je 0x1800e16e5
bt r8d, 0x19
jae 0x1800e16e5
mov dl, 1
jmp 0x1800e16ed
test dl, dl
jne 0x1800e16ed
test cl, cl
je 0x1800e1757
test al, al
je 0x1800e16fc
test dl, dl
je 0x1800e16fc
mov ecx, 0x1a
jmp 0x1800e1706
xor ecx, ecx
test dl, dl
setne cl
add ecx, 0x18
movss xmm1, dword [0x1801816a4]
mov r10, qword [r10 + 0x3ea0]
movss dword [rsp + 0x48], xmm6
movss dword [rbp - 0x7d], xmm5
movss dword [rbp - 0x69], xmm8
movss dword [rbp - 0x65], xmm7
call fcn.1800bb4e0
mov rcx, qword [r10 + 0x278]
lea rdx, [rbp - 0x69]
mov r9d, eax
mov dword [rsp + 0x28], 0
lea r8, [rsp + 0x48]
movss dword [rsp + 0x20], xmm10
call fcn.1800edcb0
mov r8d, 0xa
lea rcx, [rbp - 0x79]
mov edx, ebx
call fcn.1800bccd0
test r14b, r14b
je 0x1800e1852
cmp qword [rdi + 0x188], 0
je 0x1800e1785
call fcn.1800fa250
jmp 0x1800e1852
cmp qword [rsi + 0x4310], 0
je 0x1800e1852
mov rax, qword [0x1801e3228]
mov rcx, qword [rax + 0x4310]
mov r10, qword [rax + 0x3ea0]
movsxd rax, dword [rcx + 0x7c]
movups xmm0, xmmword [rcx + 0x170]
movss xmm4, dword [rcx + 0x170]
movss xmm3, dword [rcx + 0x174]
movss xmm2, dword [rcx + 0x178]
movss xmm1, dword [rcx + 0x17c]
movss dword [rbp - 0x69], xmm4
movss dword [rbp - 0x65], xmm3
movss dword [rbp - 0x61], xmm2
movss dword [rbp - 0x5d], xmm1
imul r9, rax, 0x68
mov rax, qword [r10 + 0x278]
add r9, qword [rcx + 0x18]
movups xmmword [r10 + 0x218], xmm0
movss dword [rax + 0x88], xmm4
movss dword [rax + 0x8c], xmm3
movss dword [rax + 0x90], xmm2
movss dword [rax + 0x94], xmm1
mov rax, qword [r10 + 0x278]
movups xmm0, xmmword [rbp - 0x69]
movsxd r8, dword [rax + 0x58]
mov rdx, qword [rax + 0x60]
add r8, r8
movups xmmword [rdx + r8*8 - 0x10], xmm0
movzx r8d, byte [r9 + 0x57]
mov rdx, qword [r10 + 0x278]
mov rcx, qword [rcx + 0x1a0]
call fcn.1800ee630
lea rcx, [rbp - 0x79]
xor r9d, r9d
mov qword [rsp + 0x30], rcx
lea rax, [rsi + 0x3880]
mov qword [rsp + 0x28], rax
lea rdx, [rbp - 0x49]
lea rax, [rbp - 0x51]
mov r8, r12
lea rcx, [rbp - 0x41]
mov qword [rsp + 0x20], rax
call fcn.1800bc550
test r13b, r13b
je 0x1800e18a5
test dword [rdi + 0xc], 0x4000000
je 0x1800e18a5
test byte [rbp + 0x77], 1
jne 0x1800e18a5
test byte [rsi + 0x3f70], 0x20
jne 0x1800e18a5
call fcn.1800ccce0
cmp byte [rbp - 0x59], 0
je 0x1800e18b5
test r15b, r15b
jne 0x1800e18b5
call fcn.1800c9fd0
movzx eax, r13b
jmp 0x1800e18bd
xor al, al
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret