Function at 0x14000a380
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x57]
sub rsp, 0xf0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
mov qword [rbp - 0x71], r8
mov edi, edx
mov qword [rbp - 0x69], rcx
mov r14, qword [0x14035e5d8]
mov rsi, qword [r14 + 0x3ef8]
mov r12d, dword [rsi + 0x14]
and r12d, 4
or r12d, 0x1010103
movss xmm1, dword [rsi + 0x250]
movss xmm0, dword [rsi + 0x254]
cmp qword [rsi + 0x1a8], 0
jne 0x14000a3fb
cmp qword [r14 + 0x4b38], 0
je 0x14000a403
movss xmm1, dword [rsi + 0x220]
subss xmm0, dword [rsi + 0x104]
subss xmm1, dword [rsi + 0x100]
cvttss2si eax, dword [r8 + 4]
movd xmm9, eax
cvtdq2ps xmm9, xmm9
cvttss2si eax, dword [r8]
movd xmm8, eax
cvtdq2ps xmm8, xmm8
xorps xmm2, xmm2
xor r11d, r11d
ucomiss xmm8, xmm2
jp 0x14000a443
mov eax, 1
je 0x14000a446
mov eax, r11d
ucomiss xmm9, xmm2
jp 0x14000a454
mov r13d, 2
je 0x14000a457
mov r13d, r11d
or r13d, eax
movss xmm3, dword [0x1400d6348]
comiss xmm2, xmm8
jb 0x14000a472
addss xmm8, xmm1
maxss xmm8, xmm3
comiss xmm2, xmm9
jb 0x14000a486
addss xmm0, xmm9
movaps xmm9, xmm0
maxss xmm9, xmm3
lea r15, [rsi + 0x100]
movss xmm1, dword [r15 + 4]
addss xmm1, dword [0x1400d63e0]
movss xmm0, dword [r15]
addss xmm0, xmm2
mov rax, qword [0x14035e5d8]
movss dword [rax + 0x47e0], xmm0
movss dword [rax + 0x47e4], xmm1
mov qword [rax + 0x47e8], r11
mov dword [rax + 0x47d4], 1
movaps xmm1, xmm9
subss xmm1, dword [0x1400d63e0]
movaps xmm0, xmm8
subss xmm0, xmm2
or dword [rax + 0x47d0], 3
movss dword [rax + 0x47f0], xmm0
movss dword [rax + 0x47f4], xmm1
mov dword [rax + 0x47d8], 1
mov ecx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax]
mov eax, dword [rcx + rax]
cmp dword [0x14035ea90], eax
jle 0x14000a580
lea rcx, [0x14035ea90]
call fcn.1400b0178
cmp dword [0x14035ea90], 0xffffffff
jne 0x14000a57d
xor eax, eax
mov qword [0x14035ea70], rax
mov qword [0x14035ea78], rax
mov ecx, 0x38
call fcn.1400b0490
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [0x14035ea70], rax
lea rcx, [0x1400b2990]
call fcn.1400b07c4
nop
lea rcx, [0x14035ea90]
call fcn.1400b010c
xor r11d, r11d
mov rbx, qword [0x14035ea70]
mov rax, qword [rbx + 8]
mov r10, rbx
movzx edx, byte [rax + 0x19]
test dl, dl
jne 0x14000a5b7
mov rcx, rax
nop dword [rax]
cmp dword [rcx + 0x1c], edi
jae 0x14000a5ab
mov rcx, qword [rcx + 0x10]
jmp 0x14000a5b1
mov r10, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x14000a5a0
cmp byte [r10 + 0x19], 0
jne 0x14000a5c4
cmp edi, dword [r10 + 0x1c]
jae 0x14000a5c7
mov r10, rbx
movss xmm10, dword [0x1400d6400]
cmp r10, rbx
jne 0x14000a6e7
xorps xmm0, xmm0
mov dword [rbp - 0x41], edi
movups xmmword [rbp - 0x3d], xmm0
movss dword [rbp - 0x2d], xmm10
mov qword [rbp - 0x59], rax
mov dword [rbp - 0x51], r11d
mov rcx, rbx
test dl, dl
jne 0x14000a626
nop dword [rax + rax]
mov qword [rbp - 0x59], rax
cmp dword [rax + 0x1c], edi
jae 0x14000a613
mov dword [rbp - 0x51], r11d
mov rax, qword [rax + 0x10]
jmp 0x14000a620
mov dword [rbp - 0x51], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x14000a600
cmp byte [rcx + 0x19], 0
jne 0x14000a631
cmp edi, dword [rcx + 0x1c]
jae 0x14000a6ad
movabs rax, 0x492492492492492
cmp qword [0x14035ea78], rax
je 0x14000ad6f
lea rax, [0x14035ea70]
mov qword [rsp + 0x50], rax
mov qword [rbp - 0x79], r11
mov ecx, 0x38
call fcn.1400b0490
nop
movups xmm0, xmmword [rbp - 0x41]
movups xmmword [rax + 0x1c], xmm0
movsd xmm1, qword [rbp - 0x31]
movsd qword [rax + 0x2c], xmm1
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbx
mov word [rax + 0x18], 0
movups xmm0, xmmword [rbp - 0x59]
movaps xmmword [rsp + 0x50], xmm0
mov r8, rax
lea rdx, [rsp + 0x50]
lea rcx, [0x14035ea70]
call fcn.14001cda0
mov rbx, qword [0x14035ea70]
xor r11d, r11d
mov rax, qword [rbx + 8]
mov r10, rbx
cmp byte [rax + 0x19], 0
jne 0x14000a6d7
nop word [rax + rax]
cmp dword [rax + 0x1c], edi
jae 0x14000a6cb
mov rax, qword [rax + 0x10]
jmp 0x14000a6d1
mov r10, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x14000a6c0
cmp byte [r10 + 0x19], 0
jne 0x14000a6e4
cmp edi, dword [r10 + 0x1c]
jae 0x14000a6e7
mov r10, rbx
movss xmm6, dword [r14 + 0x18]
mulss xmm6, dword [0x1400d638c]
movaps xmm0, xmm8
addss xmm0, dword [r15]
movss dword [rsp + 0x40], xmm0
movaps xmm1, xmm9
addss xmm1, dword [r15 + 4]
movss dword [rsp + 0x44], xmm1
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r15
call fcn.140011600
lea rdx, [0x14035e870]
lea rcx, [0x14035e940]
test al, al
cmovne rcx, rdx
movss xmm5, dword [rcx]
subss xmm5, dword [r10 + 0x20]
mulss xmm5, xmm6
addss xmm5, dword [r10 + 0x20]
movss xmm4, dword [rcx + 4]
subss xmm4, dword [r10 + 0x24]
mulss xmm4, xmm6
addss xmm4, dword [r10 + 0x24]
movss xmm3, dword [rcx + 8]
subss xmm3, dword [r10 + 0x28]
mulss xmm3, xmm6
addss xmm3, dword [r10 + 0x28]
movss xmm2, dword [rcx + 0xc]
subss xmm2, dword [r10 + 0x2c]
mulss xmm2, xmm6
addss xmm2, dword [r10 + 0x2c]
shufps xmm5, xmm5, 0xe1
movss xmm5, xmm4
shufps xmm5, xmm5, 0xc6
movss xmm5, xmm3
shufps xmm5, xmm5, 0x27
movss xmm5, xmm2
shufps xmm5, xmm5, 0x39
movups xmmword [rsp + 0x50], xmm5
movups xmmword [r10 + 0x20], xmm5
movss xmm6, dword [r14 + 0x18]
mulss xmm6, dword [0x1400d638c]
addss xmm8, dword [r15]
movss dword [rsp + 0x40], xmm8
addss xmm9, dword [r15 + 4]
movss dword [rsp + 0x44], xmm9
lea rdx, [rsp + 0x40]
mov rcx, r15
call fcn.140011600
test al, al
je 0x14000a7f2
movss xmm10, dword [0x1400d6408]
subss xmm10, dword [r10 + 0x30]
mulss xmm10, xmm6
addss xmm10, dword [r10 + 0x30]
movss dword [r10 + 0x30], xmm10
mov r8, qword [0x14035e5d8]
mov rax, qword [r8 + 0x3ef8]
mov byte [rax + 0xb8], 1
movss xmm0, dword [0x14035ea00]
movss dword [rsp + 0x50], xmm0
movss xmm1, dword [0x14035ea04]
movss dword [rbp - 0x7d], xmm1
movss xmm0, dword [0x14035ea08]
movss dword [rbp - 0x79], xmm0
movss xmm1, dword [0x14035ea0c]
mulss xmm1, dword [r8 + 0x37d0]
movss dword [rbp - 0x75], xmm1
mov rbx, qword [rbp - 0x71]
movsd xmm0, qword [rbx]
addss xmm0, dword [r15]
movss dword [rsp + 0x40], xmm0
movss xmm1, dword [rbx + 4]
addss xmm1, dword [r15 + 4]
movss dword [rsp + 0x44], xmm1
lea rcx, [rsp + 0x50]
call fcn.140003540
mov r9d, eax
mov rcx, qword [r8 + 0x3ef8]
mov dword [rsp + 0x28], r11d
movss xmm0, dword [0x1400d6360]
movss dword [rsp + 0x20], xmm0
lea r8, [rsp + 0x40]
mov rdx, r15
mov rcx, qword [rcx + 0x298]
call fcn.140027600
mov r8, qword [0x14035e5d8]
mov rax, qword [r8 + 0x3ef8]
mov byte [rax + 0xb8], 1
movss xmm0, dword [0x14035e8a0]
movss dword [rsp + 0x50], xmm0
movss xmm1, dword [0x14035e8a4]
movss dword [rbp - 0x7d], xmm1
movss xmm0, dword [0x14035e8a8]
movss dword [rbp - 0x79], xmm0
movss xmm1, dword [0x14035e8ac]
mulss xmm1, dword [r8 + 0x37d0]
movss dword [rbp - 0x75], xmm1
movss xmm0, dword [r15]
addss xmm0, dword [rbx]
movss dword [rsp + 0x40], xmm0
movss xmm1, dword [r15 + 4]
addss xmm1, dword [0x1400d63d8]
movss dword [rsp + 0x44], xmm1
lea rcx, [rsp + 0x50]
call fcn.140003540
mov r9d, eax
mov rcx, qword [r8 + 0x3ef8]
mov dword [rsp + 0x28], 0x30
movss xmm0, dword [0x1400d6360]
movss dword [rsp + 0x20], xmm0
lea r8, [rsp + 0x40]
mov rdx, r15
mov rcx, qword [rcx + 0x298]
call fcn.140027600
mov r8, qword [0x14035e5d8]
mov rax, qword [r8 + 0x3ef8]
mov byte [rax + 0xb8], 1
movss xmm0, dword [0x14035e8a0]
movss dword [rsp + 0x50], xmm0
movss xmm1, dword [0x14035e8a4]
movss dword [rbp - 0x7d], xmm1
movss xmm0, dword [0x14035e8a8]
movss dword [rbp - 0x79], xmm0
movss xmm1, dword [0x14035e8ac]
mulss xmm1, dword [r8 + 0x37d0]
movss dword [rbp - 0x75], xmm1
movss xmm0, dword [r15]
addss xmm0, dword [rbx]
movss dword [rsp + 0x40], xmm0
movss xmm1, dword [rbx + 4]
addss xmm1, dword [r15 + 4]
movss dword [rsp + 0x44], xmm1
lea rcx, [rsp + 0x50]
call fcn.140003540
mov r9d, eax
mov rcx, qword [r8 + 0x3ef8]
movss xmm6, dword [0x1400d628c]
movss dword [rsp + 0x30], xmm6
mov dword [rsp + 0x28], 0x30
movss xmm0, dword [0x1400d6360]
movss dword [rsp + 0x20], xmm0
lea r8, [rsp + 0x40]
mov rdx, r15
mov rcx, qword [rcx + 0x298]
call fcn.1400274f0
movss xmm0, dword [r15]
addss xmm0, dword [rbx]
movss dword [rsp + 0x40], xmm0
movss xmm1, dword [r15 + 4]
addss xmm1, dword [0x1400d63e0]
movss dword [rsp + 0x44], xmm1
mov r8b, 1
lea rdx, [rsp + 0x40]
mov rcx, r15
call fcn.140008fc0
movss xmm0, dword [0x14035e840]
movss dword [rsp + 0x50], xmm0
movss xmm1, dword [0x14035e844]
movss dword [rbp - 0x7d], xmm1
movss xmm0, dword [0x14035e848]
movss dword [rbp - 0x79], xmm0
movss xmm1, dword [0x14035e84c]
mov r8, qword [0x14035e5d8]
mulss xmm1, dword [r8 + 0x37d0]
movss dword [rbp - 0x75], xmm1
lea rcx, [rsp + 0x50]
call fcn.140003540
mov dword [rsp + 0x40], eax
movss xmm1, dword [r8 + 0x3c20]
mov rbx, qword [rbp - 0x69]
test rbx, rbx
je 0x14000ab06
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rbx
movss xmm0, dword [0x1400d6478]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1400d6464]
movaps xmm2, xmm1
lea rdx, [rbp - 0x69]
mov rcx, qword [r8 + 0x3c18]
call fcn.14002d390
movss xmm1, dword [rbp - 0x65]
mov eax, dword [rsp + 0x40]
movss xmm0, dword [r15]
addss xmm0, dword [0x1400d6380]
mulss xmm1, dword [0x1400d6258]
addss xmm1, dword [r15 + 4]
mov dword [rsp + 0x20], eax
unpcklps xmm0, xmm1
movq r9, xmm0
mov r8, rbx
movss xmm1, dword [0x1400d63b8]
mov rcx, qword [0x14035e5e8]
call fcn.140032960
call fcn.140009050
mov r8, qword [0x14035e5d8]
mov rax, qword [r8 + 0x3ef8]
mov byte [rax + 0xb8], 1
movss xmm0, dword [0x14035e950]
movss dword [rsp + 0x50], xmm0
movss xmm1, dword [0x14035e954]
movss dword [rbp - 0x7d], xmm1
movss xmm0, dword [0x14035e958]
movss dword [rbp - 0x79], xmm0
movss xmm1, dword [0x14035e95c]
mulss xmm1, dword [r8 + 0x37d0]
movss dword [rbp - 0x75], xmm1
mov r9, qword [rbp - 0x71]
movsd xmm0, qword [r9]
addss xmm0, dword [r15]
movss dword [rbp - 0x71], xmm0
movss xmm1, dword [r9 + 4]
addss xmm1, dword [r15 + 4]
movss dword [rbp - 0x6d], xmm1
lea rcx, [rsp + 0x50]
call fcn.140003540
mov r9d, eax
mov rcx, qword [r8 + 0x3ef8]
movss dword [rsp + 0x30], xmm6
mov dword [rsp + 0x28], 0
movss xmm0, dword [0x1400d6360]
movss dword [rsp + 0x20], xmm0
lea r8, [rbp - 0x71]
mov rdx, r15
mov rcx, qword [rcx + 0x298]
call fcn.1400274f0
mov r9, qword [rsi + 8]
xor edx, edx
lea rcx, [rbp - 0x71]
test rbx, rbx
je 0x14000ac29
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rbx
lea r8, str._s__s__08X
call fcn.140002f50
jmp 0x14000ac39
mov dword [rsp + 0x20], edi
lea r8, str._s__08X
call fcn.140002f50
movss xmm6, dword [r14 + 0x3800]
mov dword [r14 + 0x3800], 0
mov r8d, r12d
xor edx, edx
mov rcx, qword [rbp - 0x71]
call fcn.14000d9c0
movzx r12d, al
movss dword [r14 + 0x3800], xmm6
mov rsi, qword [r14 + 0x3ef8]
mov dword [rsi + 0x80], edi
mov byte [rsi + 0xd2], r13b
cmp word [rsi + 0xc2], 1
jne 0x14000ac90
movsd xmm0, qword [rsi + 0x20]
movsd qword [r15], xmm0
mov r9d, edi
not r9d
mov ebx, r9d
lea rdx, [0x1400cfbe9]
mov r8b, 0x23
lea r10, [0x1400d0ba0]
nop word [rax + rax]
cmp r8b, 0x23
jne 0x14000acc3
cmp byte [rdx], r8b
jne 0x14000acc3
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
xor rcx, rax
shr ebx, 8
xor ebx, dword [r10 + rcx*4]
movzx r8d, byte [rdx]
inc rdx
test r8b, r8b
jne 0x14000acb0
not ebx
cmp dword [r14 + 0x3f58], ebx
jne 0x14000acf4
xor edx, edx
xor ecx, ecx
call fcn.140006c00
cmp dword [r14 + 0x48e8], edi
jne 0x14000ad3c
cmp word [rsi + 0x15c], 0
jne 0x14000ad10
cmp byte [rsi + 0x162], 0
je 0x14000ad3c
xor edx, edx
mov rcx, rsi
call fcn.140010150
xor edx, edx
mov rcx, rsi
call fcn.140016450
mov rdx, rsi
mov ecx, ebx
call fcn.140006c00
mov eax, dword [r14 + 0x490c]
mov dword [r14 + 0x3f80], eax
movzx eax, r12b
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm8, xmmword [r11 - 0x20]
movaps xmm9, xmmword [r11 - 0x30]
movaps xmm10, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140001620
int3