Function at 0x1800d92b0
Capabilities:
Hash data with crc32

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [r11 - 0x5f]
sub rsp, 0xa0
mov rdi, qword [0x1801e3228]
mov r15, rdx
movsxd rax, dword [rdi + 0x4088]
cmp dword [rdi + 0x4078], eax
jle 0x1800d9702
imul r8, rax, 0x38
mov rax, qword [rdi + 0x4080]
cmp dword [r8 + rax], ecx
jne 0x1800d9702
movss xmm4, dword [rdx + 8]
xor r14d, r14d
mov eax, dword [rdi + 0x3fa8]
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
movaps xmmword [r11 - 0x28], xmm6
xorps xmm6, xmm6
movaps xmmword [r11 - 0x38], xmm7
subss xmm4, dword [rdx]
test al, 0x10
je 0x1800d933d
movss xmm0, dword [rdi + 0x3fe4]
maxss xmm0, xmm4
movss dword [rdi + 0x3fe4], xmm0
jmp 0x1800d93cc
movss xmm0, dword [rdi + 0x3830]
or eax, 0x10
movss xmm1, dword [rdi + 0x37ec]
movaps xmm3, xmm0
addss xmm3, dword [rdi + 0x3c00]
mov dword [rdi + 0x3fa8], eax
addss xmm1, xmm1
mulss xmm3, dword [0x18018171c]
subss xmm3, xmm0
movaps xmm0, xmm4
unpcklps xmm0, xmm6
movaps xmm2, xmm0
shufps xmm0, xmm0, 0x55
addss xmm3, xmm1
movss xmm1, dword [0x18018179c]
movss dword [rdi + 0x3fe4], xmm4
movsd qword [rbp + 0x7f], xmm2
movss dword [rdi + 0x3fe8], xmm0
unpcklps xmm1, xmm3
movss dword [rdi + 0x3fec], xmm1
movaps xmm0, xmm1
shufps xmm0, xmm0, 0x55
movsd qword [rbp + 0x7f], xmm1
movss dword [rdi + 0x3ff0], xmm0
mov qword [rdi + 0x3ff8], r14
mov qword [rdi + 0x4000], r14
mov r9d, dword [rdi + 0x4088]
lea r8, str.Combo__02d
mov edx, 0x10
lea rcx, [rbp - 1]
call fcn.1800ba860
movzx r9d, byte [rbp - 1]
lea r8, [rbp]
mov r10d, 0xffffffff
mov edx, r10d
test r9b, r9b
je 0x1800d9436
lea r11, [0x18017c700]
cmp r9b, 0x23
jne 0x1800d9419
cmp byte [r8], r9b
jne 0x1800d9419
cmp byte [r8 + 1], r9b
cmove edx, r10d
movzx ecx, dl
movzx eax, r9b
movzx r9d, byte [r8]
xor rcx, rax
shr edx, 8
inc r8
xor edx, dword [r11 + rcx*4]
test r9b, r9b
jne 0x1800d9406
mov rsi, qword [0x1801e3228]
not edx
movsxd rcx, dword [rsi + 0x3e80]
mov rbx, qword [rsi + 0x3e88]
mov r9, rcx
shl r9, 4
add r9, rbx
test rcx, rcx
je 0x1800d9490
nop dword [rax]
mov r8, rcx
shr r8, 1
mov rax, r8
add rax, rax
cmp dword [rbx + rax*8], edx
jae 0x1800d9488
lea rbx, [rbx + rax*8]
mov rax, 0xffffffffffffffff
sub rax, r8
add rbx, 0x10
add rcx, rax
jmp 0x1800d948b
mov rcx, r8
test rcx, rcx
jne 0x1800d9460
cmp rbx, r9
je 0x1800d960a
cmp dword [rbx], edx
jne 0x1800d960a
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x1800d960a
cmp byte [rbx + 0x97], r14b
je 0x1800d960a
cmp byte [rbx + 0x99], r14b
je 0x1800d94d6
cmp byte [rbx + 0xb0], r14b
jg 0x1800d94d6
cmp byte [rbx + 0xb1], r14b
jle 0x1800d94f1
cmp byte [rbx + 0x9d], r14b
je 0x1800d94fd
cmp byte [rbx + 0xb9], r14b
jne 0x1800d94fd
cmp byte [rbx + 0xb8], r14b
jle 0x1800d94fd
movsd xmm0, qword [rbx + 0x38]
movsd qword [rbp + 0x7f], xmm0
jmp 0x1800d9568
movss xmm0, dword [rbx + 0x40]
ucomiss xmm0, xmm6
jp 0x1800d952c
jne 0x1800d952c
movss xmm0, dword [rbx + 0xf8]
maxss xmm0, dword [rbx + 0x100]
subss xmm0, dword [rbx + 0xf0]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x7f], xmm0
movss xmm0, dword [rbx + 0x44]
ucomiss xmm0, xmm6
jp 0x1800d9560
jne 0x1800d9560
movss xmm0, dword [rbx + 0xfc]
maxss xmm0, dword [rbx + 0x104]
subss xmm0, dword [rbx + 0xf4]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x83], xmm0
lea r8, [rbp + 0x7f]
mov rdx, rbx
lea rcx, [rbp - 0x19]
call fcn.1800c4e60
lea r8, [rbp - 0x19]
mov rdx, rbx
lea rcx, [rbp - 0x11]
call fcn.1800c4c30
lea r9, [rbx + 0xb4]
lea rcx, [rbp + 0xf]
mov dword [r9], 3
call fcn.1800cd3a0
movss xmm0, dword [r15]
lea rax, [rbp + 0xf]
movss xmm1, dword [r15 + 0xc]
lea r8, [rbp - 0x11]
mov dword [rsp + 0x30], 1
lea rdx, [rbp + 0x7f]
mov qword [rsp + 0x28], r15
lea rcx, [rbp - 0x19]
movss dword [rbp + 0x7f], xmm0
movss dword [rbp + 0x83], xmm1
mov qword [rsp + 0x20], rax
call fcn.1800cd050
mov rsi, qword [0x1801e3228]
movsd xmm0, qword [rbp - 0x19]
or dword [rsi + 0x3fa8], 1
movsd qword [rsi + 0x3fb8], xmm0
mov qword [rsi + 0x3fc0], r14
mov dword [rsi + 0x3fac], 1
movss xmm1, dword [rsi + 0x37e8]
lea rcx, [rsi + 0x4028]
movss xmm0, dword [rsi + 0x37ec]
lea rdx, [rbp - 0x11]
movss xmm6, dword [rdi + 0x381c]
movss xmm7, dword [rdi + 0x37ec]
movss dword [rbp - 0xd], xmm1
movss dword [rbp - 9], xmm0
mov dword [rbp - 0x11], 2
call fcn.1800d4210
mov r8d, 0x4000147
movss dword [rsi + 0x37e8], xmm6
lea rcx, [rbp - 1]
movss dword [rsi + 0x37ec], xmm7
call fcn.1800c6e70
mov ecx, 1
movzx ebx, al
call fcn.1800bb9a0
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x90]
mov rsi, qword [rsp + 0xc8]
test bl, bl
jne 0x1800d96fe
mov rbx, qword [0x1801e3228]
mov rax, qword [rbx + 0x3ea0]
cmp qword [rbx + 0x40b0], rax
jne 0x1800d96c3
cmp byte [rbx + 0x410d], r14b
je 0x1800d96c3
cmp dword [rbx + 0x40ec], r14d
jne 0x1800d96c3
or dword [rbx + 0x4110], 2
test dword [rax + 0xc], 0x1000000
je 0x1800d96d3
mov byte [rbx + 0x3e2e], 1
call fcn.1800c94b0
xor al, al
mov byte [rbx + 0x3e2e], r14b
mov rbx, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xd0]
add rsp, 0xa0
pop r15
pop r14
pop rbp
ret
mov al, 1
jmp 0x1800d96e1
xor r14d, r14d
mov dword [rdi + 0x3fa8], r14d
xor al, al
jmp 0x1800d96e9