Function at 0x1800365b0
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
mov dword [rax + 0x18], r8d
mov qword [rax + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x78]
sub rsp, 0x140
mov rdi, qword [0x18015fb38]
xor r12d, r12d
movaps xmmword [rax - 0x48], xmm6
mov ebx, r8d
movaps xmmword [rax - 0x58], xmm7
mov r15, rcx
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0xa8], xmm12
mov rax, qword [rdi + 0x3f48]
mov byte [rax + 0xb8], 1
mov eax, dword [rdi + 0x4828]
mov r14, qword [rdi + 0x3f48]
mov dword [rdi + 0x4828], r12d
mov dword [rbp - 0x78], eax
cmp byte [r14 + 0xbb], r12b
jne 0x180036ce9
movsxd rax, dword [r14 + 0xf0]
xor edx, edx
mov r8, qword [r14 + 0xf8]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1800069b0
mov esi, eax
mov dword [rsp + 0x48], eax
mov eax, ebx
xorps xmm8, xmm8
and eax, 0x20
mov dword [rsp + 0x68], eax
je 0x180036668
xorps xmm6, xmm6
jmp 0x18003667c
movss xmm6, dword [rdi + 0x3808]
addss xmm6, xmm6
addss xmm6, dword [rdi + 0x3c70]
mov rcx, r15
cmp r15, 0xffffffffffffffff
jae 0x1800366a2
movzx edx, byte [rcx]
test dl, dl
je 0x1800366a2
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x180036699
cmp byte [rax], dl
je 0x1800366a2
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x180036685
movss xmm5, dword [rdi + 0x3c70]
cmp r15, rcx
jne 0x1800366b8
movaps xmm12, xmm8
movaps xmm3, xmm5
jmp 0x180036720
movss xmm0, dword [0x18014d6f0]
lea rdx, [rbp + 0x98]
movss xmm3, dword [0x18014d6cc]
movaps xmm2, xmm5
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], rcx
mov rcx, qword [rdi + 0x3c68]
mov qword [rsp + 0x28], r15
movss dword [rsp + 0x20], xmm0
call fcn.180028c20
movss xmm0, dword [rbp + 0x98]
addss xmm0, dword [0x18014d53c]
movss xmm5, dword [rbp + 0x9c]
movss xmm3, dword [rdi + 0x3c70]
cvttss2si eax, xmm0
movd xmm12, eax
cvtdq2ps xmm12, xmm12
mov eax, ebx
and eax, 0x40
mov dword [rsp + 0x70], eax
je 0x180036730
movaps xmm0, xmm6
jmp 0x180036735
call fcn.180016810
comiss xmm12, xmm8
movss xmm10, dword [rdi + 0x3808]
movaps xmm2, xmm10
movss dword [rsp + 0x6c], xmm0
addss xmm2, xmm10
addss xmm2, xmm3
jbe 0x18003675c
movaps xmm3, xmm5
jmp 0x180036760
movaps xmm3, xmm8
movss xmm7, dword [r14 + 0x100]
addss xmm3, xmm2
movss xmm9, dword [r14 + 0x104]
movaps xmm4, xmm7
addss xmm4, xmm0
addss xmm3, xmm9
ja 0x1800367bf
movaps xmm5, xmm8
movaps xmm0, xmm8
movaps xmm1, xmm7
addss xmm1, xmm0
movaps xmm0, xmm9
addss xmm0, xmm5
movss dword [rsp + 0x58], xmm1
movss dword [rsp + 0x5c], xmm0
movaps xmm0, xmm4
unpcklps xmm0, xmm3
movsd qword [rsp + 0x60], xmm0
jbe 0x1800367cc
addss xmm2, dword [rdi + 0x381c]
jmp 0x1800367d0
movaps xmm0, xmm2
addss xmm0, dword [rdi + 0x381c]
jmp 0x18003678c
movaps xmm2, xmm8
subss xmm4, xmm2
movss dword [rbp - 0x70], xmm7
subss xmm3, xmm8
movss dword [rbp - 0x6c], xmm9
movaps xmm1, xmm10
lea rcx, [rbp + 0x98]
movss dword [rbp - 0x68], xmm4
subss xmm4, xmm7
movss dword [rbp - 0x64], xmm3
subss xmm3, xmm9
movss dword [rbp + 0x98], xmm4
movss dword [rbp + 0x9c], xmm3
call fcn.1800163a0
lea r8, [rsp + 0x58]
mov edx, esi
lea rcx, [rbp - 0x70]
xor r9d, r9d
call fcn.180016510
test al, al
je 0x180036ce9
movaps xmmword [rsp + 0xe0], xmm11
lea r9, [rsp + 0x40]
movaps xmmword [rsp + 0xc0], xmm13
lea r8, [rbp + 0x98]
movaps xmmword [rsp + 0xb0], xmm14
lea rcx, [rsp + 0x58]
mov edx, esi
movaps xmmword [rsp + 0xa0], xmm15
mov dword [rsp + 0x20], r12d
call fcn.180032a20
mov r9d, esi
lea rdx, [0x18014c609]
not r9d
lea r11, [0x180100130]
mov ebx, r9d
movzx r10d, al
mov r8b, 0x23
cmp r8b, 0x23
jne 0x1800368a4
cmp byte [rdx], r8b
jne 0x1800368a4
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 0x180036891
mov rdx, qword [0x18015fb38]
not ebx
movsxd rax, dword [rdx + 0x4908]
cmp dword [rdx + 0x48f8], eax
jle 0x1800368ee
imul rcx, rax, 0x38
mov rax, qword [rdx + 0x4900]
cmp dword [rcx + rax], ebx
jne 0x1800368ee
mov sil, 1
jmp 0x1800368f1
xor sil, sil
test r10b, r10b
je 0x18003690e
test sil, sil
jne 0x18003690e
xor edx, edx
mov ecx, ebx
call fcn.1800176a0
mov rdx, qword [0x18015fb38]
mov sil, 1
cmp byte [rbp + 0x98], 0
lea rcx, [rsp + 0x58]
movss xmm7, dword [rsp + 0x60]
mov eax, 0x448
movss xmm11, dword [rsp + 0x58]
mov r12d, 0x168
cmovne eax, r12d
movaps xmm10, xmm11
mov r8d, 1
movups xmm0, xmmword [rax + rdx + 0x37c8]
movups xmmword [rsp + 0x78], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rdx + 0x37c8]
mov edx, dword [rsp + 0x48]
movss dword [rbp - 0x7c], xmm0
movaps xmm0, xmm7
subss xmm0, xmm6
maxss xmm10, xmm0
call fcn.180008f00
mov rax, qword [0x18015fb38]
lea rcx, [rsp + 0x48]
movups xmm0, xmmword [rax + 0x3920]
movups xmmword [rsp + 0x48], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37c8]
movss dword [rsp + 0x54], xmm0
call fcn.180006f60
movss xmm0, dword [rdi + 0x380c]
mov r8d, eax
movsd xmm14, qword [rsp + 0x60]
mov r9b, 1
movsd xmm15, qword [rsp + 0x58]
movq rdx, xmm14
movq rcx, xmm15
movss dword [rsp + 0x20], xmm0
call fcn.180008bf0
cmp dword [rsp + 0x70], 0
mov ecx, 0xf0
movss xmm13, dword [rsp + 0x64]
jne 0x180036a3e
cmp dword [rsp + 0x68], 0
mov r8d, 0x50
movss dword [rsp + 0x48], xmm10
cmovne r8d, ecx
movss dword [rsp + 0x4c], xmm13
lea rcx, [rsp + 0x78]
call fcn.180006f60
movss xmm0, dword [rdi + 0x380c]
lea rdx, [rsp + 0x58]
mov rcx, qword [r14 + 0x298]
mov r9d, eax
mov dword [rsp + 0x28], r8d
lea r8, [rsp + 0x48]
movss dword [rsp + 0x20], xmm0
call fcn.180022fd0
mov ecx, 0xf0
cmp dword [rsp + 0x68], 0
movss xmm9, dword [rsp + 0x5c]
jne 0x180036b79
test sil, sil
jne 0x180036a64
cmp byte [rbp + 0x98], sil
jne 0x180036a64
mov r12d, 0x178
mov rax, qword [0x18015fb38]
mov r8d, 0xa0
comiss xmm6, dword [rsp + 0x6c]
movups xmm0, xmmword [r12 + rax + 0x37c8]
cmovae r8d, ecx
movss dword [rbp + 0x98], xmm10
movups xmmword [rsp + 0x78], xmm0
lea rcx, [rsp + 0x78]
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37c8]
movss dword [rbp + 0x9c], xmm9
movss dword [rbp - 0x7c], xmm0
call fcn.180006f60
movss xmm0, dword [rdi + 0x380c]
lea rdx, [rbp + 0x98]
mov rcx, qword [r14 + 0x298]
mov r9d, eax
mov dword [rsp + 0x28], r8d
lea r8, [rsp + 0x60]
movss dword [rsp + 0x20], xmm0
call fcn.180022fd0
movaps xmm0, xmm10
addss xmm0, xmm6
subss xmm0, dword [rdi + 0x3804]
comiss xmm7, xmm0
jb 0x180036b79
mov rax, qword [0x18015fb38]
lea rcx, [rsp + 0x78]
movss xmm7, dword [rdi + 0x3808]
movaps xmm6, xmm7
addss xmm7, xmm9
addss xmm6, xmm10
movups xmm0, xmmword [rax + 0x3c40]
addss xmm7, dword [0x18014d5c0]
movups xmmword [rsp + 0x78], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37c8]
movzx eax, sil
neg al
sbb r9d, r9d
add r9d, 3
movss dword [rbp - 0x7c], xmm0
call fcn.180006f60
movss xmm0, dword [0x18014d4f4]
mov r8d, eax
mov rcx, qword [r14 + 0x298]
unpcklps xmm6, xmm7
movq rdx, xmm6
movss dword [rsp + 0x20], xmm0
call fcn.180029540
movss xmm2, dword [rdi + 0x380c]
movq rdx, xmm14
movq rcx, xmm15
call fcn.180008da0
mov r14d, dword [rbp + 0x90]
movaps xmm15, xmmword [rsp + 0xa0]
movaps xmm14, xmmword [rsp + 0xb0]
bt r14d, 0x14
jae 0x180036bdf
movaps xmm0, xmm11
shufps xmm0, xmm0, 0xe1
movss xmm0, xmm9
shufps xmm0, xmm0, 0xc6
movss xmm0, xmm10
shufps xmm0, xmm0, 0x27
movss xmm0, xmm13
shufps xmm0, xmm0, 0x39
movups xmmword [rdi + 0x5be4], xmm0
jmp 0x180036c8b
mov r8, qword [rbp + 0x88]
test r8, r8
je 0x180036c8b
cmp dword [rsp + 0x70], 0
jne 0x180036c8b
cmp byte [rdi + 0x5d18], 0
je 0x180036c26
mov rax, qword [0x18015fb38]
lea rcx, [0x18014c61c]
mov qword [rax + 0x5d38], rcx
lea rcx, [0x18014c618]
mov qword [rax + 0x5d40], rcx
addss xmm9, dword [rdi + 0x3808]
xor ecx, ecx
movss dword [rsp + 0x48], xmm10
mov qword [rsp + 0x30], rcx
lea rax, [rbp + 0x98]
movaps xmm0, xmm11
mov qword [rsp + 0x28], rax
addss xmm0, dword [rdi + 0x3804]
mov qword [rsp + 0x20], rcx
lea rdx, [rsp + 0x48]
xor r9d, r9d
movss dword [rsp + 0x4c], xmm13
lea rcx, [rsp + 0x70]
movss dword [rsp + 0x74], xmm9
mov qword [rbp + 0x98], 0
movss dword [rsp + 0x70], xmm0
call fcn.180008240
comiss xmm12, xmm8
movaps xmm13, xmmword [rsp + 0xc0]
jbe 0x180036cc1
movss xmm1, dword [rbp - 0x6c]
movaps xmm0, xmm11
addss xmm1, dword [rdi + 0x3808]
mov r9b, 1
xor r8d, r8d
mov rdx, r15
unpcklps xmm0, xmm1
movq rcx, xmm0
call fcn.180007930
movaps xmm11, xmmword [rsp + 0xe0]
test sil, sil
je 0x180036ce9
mov eax, dword [rbp - 0x78]
lea rdx, [rsp + 0x58]
mov r8d, r14d
mov dword [rdi + 0x4828], eax
mov ecx, ebx
call fcn.180036d20
jmp 0x180036ceb
xor al, al
lea r11, [rsp + 0x140]
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]
movaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret