Function at 0x180076ec0
Capabilities:
Hash data with crc32

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
push rbp
push rdi
push r14
lea rbp, [r11 - 0x5f]
sub rsp, 0xc0
mov rdi, qword [0x180233850]
mov rbx, rdx
movsxd rax, dword [rdi + 0x48a0]
cmp dword [rdi + 0x4890], eax
jle 0x180077369
imul rdx, rax, 0x38
mov rax, qword [rdi + 0x4898]
cmp dword [rdx + rax], ecx
jne 0x180077369
vmovss xmm0, dword [rbx + 8]
mov eax, dword [rdi + 0x47c0]
xor r14d, r14d
mov qword [r11 + 8], rsi
vmovaps xmmword [r11 - 0x28], xmm6
vmovaps xmmword [r11 - 0x38], xmm7
vsubss xmm1, xmm0, dword [rbx]
vxorps xmm6, xmm6, xmm6
test al, 0x10
je 0x180076f4a
vmovss xmm0, dword [rdi + 0x47fc]
vmaxss xmm1, xmm0, xmm1
vmovss dword [rdi + 0x47fc], xmm1
jmp 0x180077001
vmovss xmm3, dword [0x18020a624]
mov ecx, eax
vxorps xmm4, xmm4, xmm4
vmovaps xmm5, xmm3
and ecx, 2
je 0x180076f6b
vcomiss xmm6, dword [rdi + 0x47e0]
jb 0x180076f78
vmovss dword [rbp + 0x7f], xmm1
vmovaps xmm4, xmm1
test ecx, ecx
je 0x180076f82
vcomiss xmm6, dword [rdi + 0x47e4]
jb 0x180076fae
vmovss xmm2, dword [rdi + 0x3818]
vaddss xmm0, xmm2, dword [rdi + 0x3c18]
vmulss xmm0, xmm0, dword [0x18020a448]
vmovss xmm1, dword [rdi + 0x37d4]
vsubss xmm2, xmm0, xmm2
vaddss xmm1, xmm1, xmm1
vaddss xmm5, xmm2, xmm1
vunpcklps xmm1, xmm3, xmm5
vunpcklps xmm2, xmm4, xmm6
vshufps xmm0, xmm2, xmm2, 0x55
or eax, 0x10
mov dword [rdi + 0x47c0], eax
vmovss dword [rdi + 0x47fc], xmm4
vmovsd qword [rbp + 0x7f], xmm2
vmovss dword [rdi + 0x4800], xmm0
vmovss dword [rdi + 0x4804], xmm1
vshufps xmm0, xmm1, xmm1, 0x55
vmovsd qword [rbp + 0x7f], xmm1
vmovss dword [rdi + 0x4808], xmm0
mov qword [rdi + 0x4810], r14
mov qword [rdi + 0x4818], r14
mov r9d, dword [rdi + 0x48a0]
lea r8, str.Combo__02d
mov edx, 0x10
lea rcx, [rbp - 0x49]
call fcn.180040c10
movzx r9d, byte [rbp - 0x49]
lea r8, [rbp - 0x48]
mov r10d, 0xffffffff
mov edx, r10d
test r9b, r9b
je 0x180077070
lea r11, [0x1801b5800]
nop dword [rax + rax]
cmp r9b, 0x23
jne 0x180077053
cmp byte [r8], r9b
jne 0x180077053
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 0x180077040
not edx
mov ecx, edx
call fcn.180047c90
mov rsi, rax
test rax, rax
je 0x180077278
cmp byte [rax + 0xb7], r14b
je 0x180077278
vmovaps xmmword [rsp + 0x90], xmm8
lea r8, [rbp + 0x7f]
vmovaps xmmword [rsp + 0x80], xmm9
lea rdx, [rbp - 0x59]
vmovaps xmmword [rsp + 0x70], xmm10
mov rcx, rax
vmovaps xmmword [rsp + 0x60], xmm11
vmovaps xmmword [rsp + 0x50], xmm12
vmovss dword [rbp + 0x7f], xmm6
vmovss dword [rbp + 0x83], xmm6
call fcn.180048450
mov rdx, rcx
lea r8, [rbp + 0x7f]
lea rcx, [rbp - 0x59]
call fcn.180048570
lea r8, [rbp - 0x59]
mov rdx, rsi
lea rcx, [rbp + 0x7f]
call fcn.180048200
lea rcx, [rbp - 0x59]
mov dword [rsi + 0xd4], 3
call fcn.180051f80
mov edx, dword [rsi + 0xd4]
vmovdqu xmm0, xmmword [0x18020a9a0]
vmovss xmm7, dword [rbx]
vmovss xmm12, dword [rbx + 0xc]
vmovss xmm4, dword [rbp + 0x83]
vmovss xmm5, dword [rbp + 0x7f]
vmovss xmm8, dword [rbp - 0x4d]
vmovss xmm9, dword [rbp - 0x51]
vmovss xmm10, dword [rbp - 0x55]
vmovss xmm11, dword [rbp - 0x59]
lea eax, [rdx + 1]
neg eax
vmovdqu xmmword [rbp - 0x39], xmm0
sbb rcx, rcx
nop dword [rax + rax]
cmp rcx, 0xffffffffffffffff
jne 0x18007715a
mov eax, edx
jmp 0x180077162
mov eax, dword [rbp + rcx*4 - 0x39]
cmp eax, edx
je 0x1800771df
vmovaps xmm3, xmm6
vmovaps xmm0, xmm6
cmp eax, 3
jne 0x18007717a
vmovaps xmm3, xmm7
vmovaps xmm0, xmm12
jmp 0x1800771b9
cmp eax, 1
jne 0x18007718e
vmovss xmm0, dword [rbx + 4]
vsubss xmm0, xmm0, xmm4
vmovaps xmm3, xmm7
jmp 0x1800771b9
test eax, eax
jne 0x1800771a2
vmovss xmm0, dword [rbx + 8]
vsubss xmm3, xmm0, xmm5
vmovaps xmm0, xmm12
jmp 0x1800771b9
cmp eax, 2
jne 0x1800771b9
vmovss xmm0, dword [rbx + 8]
vmovss xmm1, dword [rbx + 4]
vsubss xmm3, xmm0, xmm5
vsubss xmm0, xmm1, xmm4
vcomiss xmm3, xmm11
vaddss xmm1, xmm3, xmm5
vaddss xmm2, xmm0, xmm4
jb 0x1800771df
vcomiss xmm0, xmm10
jb 0x1800771df
vcomiss xmm9, xmm1
jb 0x1800771df
vcomiss xmm8, xmm2
jae 0x180077270
inc rcx
cmp rcx, 4
jl 0x180077150
vaddss xmm0, xmm5, xmm7
vminss xmm1, xmm0, xmm9
vsubss xmm2, xmm1, xmm5
vaddss xmm0, xmm4, xmm12
vminss xmm1, xmm0, xmm8
vmaxss xmm3, xmm2, xmm11
vsubss xmm2, xmm1, xmm4
vmaxss xmm0, xmm2, xmm10
mov dword [rsi + 0xd4], 0xffffffff
mov rbx, qword [0x180233850]
vmovaps xmm12, xmmword [rsp + 0x50]
vmovaps xmm11, xmmword [rsp + 0x60]
vmovaps xmm10, xmmword [rsp + 0x70]
or dword [rbx + 0x47c0], 1
vmovaps xmm9, xmmword [rsp + 0x80]
vmovaps xmm8, xmmword [rsp + 0x90]
vmovss dword [rbx + 0x47d0], xmm3
vmovss dword [rbx + 0x47d4], xmm0
mov qword [rbx + 0x47d8], r14
mov dword [rbx + 0x47c4], 1
jmp 0x18007727f
mov dword [rsi + 0xd4], eax
jmp 0x18007721b
mov rbx, qword [0x180233850]
vmovss xmm1, dword [rbx + 0x37d0]
vmovss xmm0, dword [rbx + 0x37d4]
vmovss xmm6, dword [rdi + 0x3804]
vmovss xmm7, dword [rdi + 0x37d4]
lea rcx, [rbx + 0x4840]
mov dword [rbp - 0x59], 2
lea rdx, [rbp - 0x59]
vmovss dword [rbp - 0x55], xmm1
vmovss dword [rbp - 0x51], xmm0
call fcn.180058620
xor edx, edx
lea rcx, [rbp - 0x49]
mov r8d, 0x4000147
vmovss dword [rbx + 0x37d0], xmm6
vmovss dword [rbx + 0x37d4], xmm7
call fcn.18004a350
mov ecx, 1
movzx ebx, al
call fcn.180041bc0
vmovaps xmm7, xmmword [rsp + 0xa0]
vmovaps xmm6, xmmword [rsp + 0xb0]
mov rsi, qword [rsp + 0xe0]
test bl, bl
jne 0x180077365
mov rbx, qword [0x180233850]
mov rcx, qword [rbx + 0x3ee0]
cmp qword [rbx + 0x48c8], rcx
jne 0x180077347
cmp byte [rbx + 0x4941], r14b
je 0x180077347
cmp dword [rbx + 0x4900], r14d
jne 0x180077347
mov eax, dword [rbx + 0x4944]
and eax, 0xfffffff2
or eax, 2
mov dword [rbx + 0x4944], eax
test dword [rcx + 0x14], 0x1000000
je 0x180077357
mov byte [rbx + 0x3e46], 1
call fcn.18004c5b0
mov byte [rbx + 0x3e46], r14b
jmp 0x180077373
mov al, 1
jmp 0x180077375
xor r14d, r14d
mov dword [rdi + 0x47c0], r14d
xor al, al
mov rbx, qword [rsp + 0xe8]
add rsp, 0xc0
pop r14
pop rdi
pop rbp
ret