Function at 0x1800f3dc0
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov dword [rax + 0x18], r8d
mov byte [rax + 0x10], dl
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xf0
mov r10, qword [0x1801fbf58]
mov r15, r9
movaps xmmword [rax - 0x48], xmm6
mov r13d, r8d
movaps xmmword [rax - 0x58], xmm7
mov r12, rcx
movaps xmmword [rax - 0x68], xmm8
mov rsi, r10
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
mov rax, qword [r10 + 0x3ea0]
mov byte [rax + 0x98], 1
mov rdi, qword [r10 + 0x3ea0]
cmp byte [rdi + 0x9b], 0
jne 0x1800f4615
movsxd r8, dword [rdi + 0xd0]
lea rdx, [rcx + 1]
mov rax, qword [rdi + 0xd8]
movaps xmmword [rsp + 0x90], xmm11
mov r9d, dword [rax + r8*4 - 4]
movzx r8d, byte [rcx]
not r9d
mov ebx, r9d
test r8b, r8b
je 0x1800f3ea0
lea r11, [0x180191110]
nop dword [rax]
cmp r8b, 0x23
jne 0x1800f3e83
cmp byte [rdx], r8b
jne 0x1800f3e83
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 0x1800f3e70
not ebx
cmp dword [r10 + 0x3ed4], ebx
jne 0x1800f3ec1
mov r8, r12
mov edx, 0xb
mov ecx, ebx
call fcn.1800e6970
mov r10, qword [0x1801fbf58]
mov rcx, r12
cmp r12, 0xffffffffffffffff
jae 0x1800f3eed
nop word [rax + rax]
movzx edx, byte [rcx]
test dl, dl
je 0x1800f3eed
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x1800f3ee4
cmp byte [rax], dl
je 0x1800f3eed
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x1800f3ed0
movss xmm7, dword [r10 + 0x3c00]
xorps xmm10, xmm10
cmp r12, rcx
jne 0x1800f3f05
xorps xmm9, xmm9
jmp 0x1800f3f59
movss xmm0, dword [0x1801961d0]
lea rdx, [rsp + 0x48]
movss xmm3, dword [0x1801961bc]
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.1801041f0
movss xmm0, dword [rsp + 0x48]
addss xmm0, dword [0x1801960c0]
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 - 0x5d], xmm7
movss dword [rbp - 0x61], xmm9
jp 0x1800f3f72
je 0x1800f3f75
movaps xmm7, xmm0
movss xmm6, dword [r15]
ucomiss xmm6, xmm10
jp 0x1800f3f86
jne 0x1800f3f86
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.1800ddea0
mov r14d, r13d
shr r14d, 1
and r14b, 1
je 0x1800f3fd7
movss xmm5, dword [rdi + 0x208]
movss xmm1, dword [rdi + 0x210]
jmp 0x1800f3fe3
movss xmm1, dword [rdi + 0x200]
movaps xmm5, xmm11
movss xmm0, dword [r15]
ucomiss xmm0, xmm10
jp 0x1800f3ff0
je 0x1800f3ff7
bt r13d, 0x18
jae 0x1800f4003
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 0x1800f40c3
test r14b, r14b
je 0x1800f4058
xorps xmm7, xmm7
jmp 0x1800f4060
movss xmm7, dword [rsi + 0x382c]
movss xmm4, dword [rsi + 0x3830]
movaps xmm0, xmm7
mulss xmm0, dword [0x180196090]
cvttss2si eax, xmm0
movaps xmm0, xmm4
mulss xmm0, dword [0x180196090]
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]
test r14b, r14b
je 0x1800f40f0
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 - 0x69], eax
shl r9d, 2
call fcn.1800de060
test r14b, r14b
je 0x1800f4128
movss dword [rdi + 0x218], xmm6
movss dword [rdi + 0x220], xmm7
test al, al
je 0x1800f4615
mov r15d, dword [rsi + 0x3f50]
shr r15d, 2
and r15b, 1
cmp byte [rbp - 0x69], 0
je 0x1800f414f
test r15b, r15b
jne 0x1800f414f
call fcn.1800dc960
test r14b, r14b
je 0x1800f423d
cmp qword [rdi + 0x188], 0
je 0x1800f416c
call fcn.18010b980
jmp 0x1800f423d
cmp qword [rsi + 0x4310], 0
je 0x1800f423d
mov rax, qword [0x1801fbf58]
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 xmm1, dword [rcx + 0x150]
movss xmm2, dword [rcx + 0x154]
movss xmm3, dword [rcx + 0x158]
movss xmm4, dword [rcx + 0x15c]
movups xmmword [r9 + 0x218], xmm0
movss dword [rax + 0x88], xmm1
movss dword [rax + 0x8c], xmm2
movss dword [rax + 0x90], xmm3
movss dword [rax + 0x94], xmm4
mov rax, qword [r9 + 0x278]
movsxd r8, dword [rax + 0x58]
mov rdx, qword [rax + 0x60]
add r8, r8
movss dword [rdx + r8*8 - 0x10], xmm1
movss dword [rdx + r8*8 - 0xc], xmm2
movss dword [rdx + r8*8 - 8], xmm3
movss dword [rdx + r8*8 - 4], xmm4
movzx r8d, byte [rcx + 0x207]
mov rcx, qword [rcx + 0x1a0]
mov rdx, qword [r9 + 0x278]
call fcn.180100b50
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.1800e9200
mov r8d, dword [rbp + 0x77]
movzx r13d, al
movss xmm6, dword [rbp - 0x6d]
movss xmm7, dword [rbp - 0x71]
movss xmm8, dword [rbp - 0x75]
movss xmm9, dword [rbp - 0x79]
mov r10, qword [0x1801fbf58]
movzx edx, byte [rsp + 0x40]
bt r8d, 0x15
jae 0x1800f42ff
mov ecx, dword [rsi + 0x40d4]
test ecx, ecx
je 0x1800f42ff
mov eax, dword [rsi + 0x3f4c]
cmp dword [rsi + 0x40d8], eax
jne 0x1800f42ff
cmp ecx, ebx
jne 0x1800f42ff
mov r13b, 1
mov byte [rbp + 0x6f], r13b
jmp 0x1800f4317
test r13b, r13b
jne 0x1800f4317
test dl, dl
je 0x1800f43eb
bt r8d, 0x1a
jae 0x1800f43eb
cmp byte [rsi + 0x40f3], 0
jne 0x1800f43d4
cmp qword [rsi + 0x40b0], rdi
jne 0x1800f43d4
movsxd rcx, dword [rdi + 0x138]
cmp dword [rsi + 0x40ec], ecx
jne 0x1800f43d4
movss xmm0, dword [rdi + 0xf0]
movaps xmm5, xmm9
movss xmm1, dword [rdi + 0xf4]
subss xmm5, xmm0
mov eax, dword [rsi + 0x3f4c]
movaps xmm2, xmm8
mov dword [r10 + 0x40bc], eax
subss xmm2, xmm1
mov rax, qword [r10 + 0x40b0]
movaps xmm3, xmm7
mov dword [r10 + 0x40ec], ecx
subss xmm3, xmm0
shufps xmm5, xmm5, 0xe1
movaps xmm4, xmm6
mov dword [r10 + 0x40b8], ebx
subss xmm4, xmm1
movss xmm5, xmm2
mov dword [rax + rcx*4 + 0x380], ebx
mov rax, qword [r10 + 0x40b0]
add rcx, rcx
shufps xmm5, xmm5, 0xc6
movss xmm5, xmm3
shufps xmm5, xmm5, 0x27
movss xmm5, xmm4
shufps xmm5, xmm5, 0x39
movups xmmword [rax + rcx*8 + 0x388], xmm5
mov byte [rsi + 0x40f2], 1
movups xmmword [rbp - 0x59], xmm5
test r13b, r13b
je 0x1800f43eb
or dword [r10 + 0x3f74], 4
mov word [r10 + 0x3efc], 0x101
cmp dword [rsp + 0x48], 0
je 0x1800f441b
mov eax, dword [r10 + 0x3f6c]
cmp dword [r10 + 0x3ed8], eax
jne 0x1800f440a
mov byte [r10 + 0x3ee0], 1
cmp dword [r10 + 0x3eec], eax
jne 0x1800f441b
mov byte [r10 + 0x3ef9], 1
movzx ecx, byte [rbp + 0x6f]
cmp cl, byte [rsp + 0x41]
je 0x1800f442c
or dword [rsi + 0x3f74], 8
movzx eax, byte [rsp + 0x42]
test al, al
je 0x1800f4440
bt r8d, 0x19
jae 0x1800f4440
mov dl, 1
jmp 0x1800f4448
test dl, dl
jne 0x1800f4448
test cl, cl
je 0x1800f44b3
test al, al
je 0x1800f4457
test dl, dl
je 0x1800f4457
mov ecx, 0x1a
jmp 0x1800f4461
xor ecx, ecx
test dl, dl
setne cl
add ecx, 0x18
movss xmm1, dword [0x1801960c8]
mov r10, qword [r10 + 0x3ea0]
movss dword [rsp + 0x48], xmm7
movss dword [rbp - 0x7d], xmm6
movss dword [rbp - 0x59], xmm9
movss dword [rbp - 0x55], xmm8
call fcn.1800ceab0
mov rcx, qword [r10 + 0x278]
lea rdx, [rbp - 0x59]
mov r9d, eax
mov dword [rsp + 0x28], 0
lea r8, [rsp + 0x48]
movss dword [rsp + 0x20], xmm10
call fcn.1801000a0
mov r8d, 0xa
lea rcx, [rbp - 0x79]
mov edx, ebx
call fcn.1800d00c0
test r14b, r14b
je 0x1800f45ac
cmp qword [rdi + 0x188], 0
je 0x1800f44e1
call fcn.18010ba50
jmp 0x1800f45ac
cmp qword [rsi + 0x4310], 0
je 0x1800f45ac
mov rax, qword [0x1801fbf58]
mov rcx, qword [rax + 0x4310]
mov r10, qword [rax + 0x3ea0]
movsxd rax, dword [rcx + 0x7c]
movups xmm0, xmmword [rcx + 0x170]
movss xmm1, dword [rcx + 0x170]
movss xmm2, dword [rcx + 0x174]
movss xmm3, dword [rcx + 0x178]
movss xmm4, dword [rcx + 0x17c]
imul r9, rax, 0x68
mov rax, qword [r10 + 0x278]
add r9, qword [rcx + 0x18]
movups xmmword [r10 + 0x218], xmm0
movss dword [rax + 0x88], xmm1
movss dword [rax + 0x8c], xmm2
movss dword [rax + 0x90], xmm3
movss dword [rax + 0x94], xmm4
mov rax, qword [r10 + 0x278]
movsxd r8, dword [rax + 0x58]
mov rdx, qword [rax + 0x60]
add r8, r8
movss dword [rdx + r8*8 - 0x10], xmm1
movss dword [rdx + r8*8 - 0xc], xmm2
movss dword [rdx + r8*8 - 8], xmm3
movss dword [rdx + r8*8 - 4], xmm4
movzx r8d, byte [r9 + 0x57]
mov rdx, qword [r10 + 0x278]
mov rcx, qword [rcx + 0x1a0]
call fcn.180100b50
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 - 0x61]
mov r8, r12
lea rcx, [rbp - 0x41]
mov qword [rsp + 0x20], rax
call fcn.1800cfaa0
test r13b, r13b
je 0x1800f45ff
test dword [rdi + 0xc], 0x4000000
je 0x1800f45ff
test byte [rbp + 0x77], 1
jne 0x1800f45ff
test byte [rsi + 0x3f70], 0x20
jne 0x1800f45ff
call fcn.1800df870
cmp byte [rbp - 0x69], 0
je 0x1800f460f
test r15b, r15b
jne 0x1800f460f
call fcn.1800dc9c0
movzx eax, r13b
jmp 0x1800f4617
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 xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret