Function at 0x140042510
Capabilities:
Hash data with crc32

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x20], rsi
push rbp
push rdi
push r15
lea rbp, [r11 - 0x5f]
sub rsp, 0xd0
mov rax, qword [0x140083010]
xor rax, rsp
mov qword [rbp - 0x31], rax
mov rdi, qword [0x140084e70]
mov esi, r8d
mov rbx, rdx
movsxd r8, dword [rdi + 0x48b0]
cmp dword [rdi + 0x48a0], r8d
jle 0x1400429eb
mov rax, qword [rdi + 0x48a8]
imul r9, r8, 0x38
cmp dword [r9 + rax], ecx
jne 0x1400429eb
vmovss xmm0, dword [rdx + 8]
vsubss xmm1, xmm0, dword [rdx]
mov edx, dword [rdi + 0x47d0]
xor r15d, r15d
mov qword [r11 + 8], r14
vmovaps xmmword [r11 - 0x28], xmm6
vmovaps xmmword [r11 - 0x38], xmm7
vxorps xmm6, xmm6, xmm6
test dl, 0x10
je 0x1400425b2
vmovss xmm0, dword [rdi + 0x480c]
vmaxss xmm1, xmm0, xmm1
vmovss dword [rdi + 0x480c], xmm1
jmp 0x140042682
mov ecx, esi
mov eax, esi
or ecx, 4
and al, 0x1e
cmovne ecx, esi
mov esi, ecx
test cl, 4
je 0x1400425cc
mov eax, 8
jmp 0x1400425e8
test cl, 2
je 0x1400425d8
mov eax, 4
jmp 0x1400425e8
test cl, 8
mov eax, 0xffffffff
mov ecx, 0x14
cmovne eax, ecx
vmovss xmm5, dword [0x1400759a4]
mov ecx, edx
vxorps xmm4, xmm4, xmm4
vmovaps xmm0, xmm5
and ecx, 2
je 0x140042609
vcomiss xmm6, dword [rdi + 0x47f0]
jb 0x140042611
vmovaps xmm4, xmm1
test ecx, ecx
je 0x14004261b
vcomiss xmm6, dword [rdi + 0x47f4]
jb 0x14004264c
test eax, eax
jle 0x14004264c
vmovss xmm2, dword [rdi + 0x3820]
vaddss xmm1, xmm2, dword [rdi + 0x3c20]
vmovss xmm3, dword [rdi + 0x37dc]
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vfmsub231ss xmm2, xmm0, xmm1
vaddss xmm0, xmm3, xmm3
vaddss xmm0, xmm2, xmm0
vinsertps xmm4, xmm4, xmm6, 0x10
vinsertps xmm4, xmm4, xmm5, 0x20
vinsertps xmm4, xmm4, xmm0, 0x30
or edx, 0x10
mov qword [rdi + 0x4820], r15
vmovups xmmword [rbp - 0x51], xmm4
vmovups xmmword [rdi + 0x480c], xmm4
mov dword [rdi + 0x47d0], edx
mov qword [rdi + 0x4828], r15
mov r9d, r8d
lea rcx, [rbp - 0x41]
lea r8, str.Combo__02d
mov edx, 0x10
call fcn.14000c6e0
movzx r9d, byte [rbp - 0x41]
lea r8, [rbp - 0x40]
mov r10d, 0xffffffff
mov ecx, r10d
test r9b, r9b
je 0x1400426e8
lea r11, [0x14006e950]
cmp r9b, 0x23
jne 0x1400426cb
cmp byte [r8], r9b
jne 0x1400426cb
cmp byte [r8 + 1], r9b
cmove ecx, r10d
movzx edx, cl
movzx eax, r9b
movzx r9d, byte [r8]
xor rdx, rax
shr ecx, 8
inc r8
xor ecx, dword [r11 + rdx*4]
test r9b, r9b
jne 0x1400426b8
not ecx
call fcn.140014320
mov r14, rax
test rax, rax
je 0x1400428fe
cmp byte [rax + 0xb7], r15b
je 0x1400428fe
vmovaps xmmword [rsp + 0xa0], xmm8
lea r8, [rbp - 0x69]
vmovaps xmmword [rsp + 0x90], xmm9
lea rdx, [rbp - 0x51]
vmovaps xmmword [rsp + 0x80], xmm10
mov rcx, rax
vmovaps xmmword [rsp + 0x70], xmm11
vmovaps xmmword [rsp + 0x60], xmm12
vmovss dword [rbp - 0x69], xmm6
vmovss dword [rbp - 0x65], xmm6
call fcn.140014b10
mov rdx, rcx
lea r8, [rbp - 0x69]
lea rcx, [rbp - 0x51]
call fcn.140014c20
lea r8, [rbp - 0x51]
mov rdx, r14
lea rcx, [rbp - 0x69]
call fcn.1400148b0
mov eax, 3
lea rcx, [rbp - 0x51]
test sil, 1
cmovne eax, r15d
mov dword [r14 + 0xd4], eax
call fcn.14001e160
mov edx, dword [r14 + 0xd4]
vmovdqu xmm0, xmmword [0x140075aa0]
vmovss xmm7, dword [rbx]
vmovss xmm12, dword [rbx + 0xc]
vmovss xmm4, dword [rbp - 0x65]
vmovss xmm5, dword [rbp - 0x69]
vmovss xmm8, dword [rbp - 0x45]
vmovss xmm9, dword [rbp - 0x49]
vmovss xmm10, dword [rbp - 0x4d]
vmovss xmm11, dword [rbp - 0x51]
lea eax, [rdx + 1]
neg eax
vmovdqu xmmword [rbp - 0x61], xmm0
sbb rcx, rcx
nop dword [rax]
cmp rcx, 0xffffffffffffffff
jne 0x1400427da
mov eax, edx
jmp 0x1400427e2
mov eax, dword [rbp + rcx*4 - 0x61]
cmp eax, edx
je 0x140042861
vmovaps xmm3, xmm6
vmovaps xmm0, xmm6
cmp eax, 3
jne 0x1400427fa
vmovaps xmm3, xmm7
vmovaps xmm0, xmm12
jmp 0x140042839
cmp eax, 1
jne 0x14004280e
vmovss xmm0, dword [rbx + 4]
vsubss xmm0, xmm0, xmm4
vmovaps xmm3, xmm7
jmp 0x140042839
test eax, eax
jne 0x140042822
vmovss xmm0, dword [rbx + 8]
vsubss xmm3, xmm0, xmm5
vmovaps xmm0, xmm12
jmp 0x140042839
cmp eax, 2
jne 0x140042839
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 0x140042861
vcomiss xmm0, xmm10
jb 0x140042861
vcomiss xmm1, xmm9
ja 0x140042861
vcomiss xmm2, xmm8
jbe 0x1400428f5
inc rcx
cmp rcx, 4
jl 0x1400427d0
vaddss xmm0, xmm7, xmm5
vminss xmm1, xmm0, xmm9
vsubss xmm2, xmm1, xmm5
vaddss xmm0, xmm12, xmm4
vminss xmm1, xmm0, xmm8
vmaxss xmm3, xmm2, xmm11
vsubss xmm2, xmm1, xmm4
vmaxss xmm0, xmm2, xmm10
mov dword [r14 + 0xd4], 0xffffffff
mov rbx, qword [0x140084e70]
vmovaps xmm12, xmmword [rsp + 0x60]
vmovaps xmm11, xmmword [rsp + 0x70]
vmovaps xmm10, xmmword [rsp + 0x80]
or dword [rbx + 0x47d0], 1
vmovaps xmm9, xmmword [rsp + 0x90]
vmovaps xmm8, xmmword [rsp + 0xa0]
vmovss dword [rbx + 0x47e0], xmm3
vmovss dword [rbx + 0x47e4], xmm0
mov qword [rbx + 0x47e8], r15
mov dword [rbx + 0x47d4], 1
jmp 0x140042905
mov dword [r14 + 0xd4], eax
jmp 0x14004289d
mov rbx, qword [0x140084e70]
vmovss xmm1, dword [rbx + 0x37d8]
vmovss xmm0, dword [rbx + 0x37dc]
vmovss xmm6, dword [rdi + 0x380c]
vmovss xmm7, dword [rdi + 0x37dc]
lea rcx, [rbx + 0x4850]
mov dword [rbp - 0x51], 2
lea rdx, [rbp - 0x51]
vmovss dword [rbp - 0x4d], xmm1
vmovss dword [rbp - 0x49], xmm0
call fcn.140025140
xor edx, edx
lea rcx, [rbp - 0x41]
mov r8d, 0x4000147
vmovss dword [rbx + 0x37d8], xmm6
vmovss dword [rbx + 0x37dc], xmm7
call fcn.140016b80
mov ecx, 1
movzx ebx, al
call fcn.14000d550
vmovaps xmm7, xmmword [rsp + 0xb0]
vmovaps xmm6, xmmword [rsp + 0xc0]
mov r14, qword [rsp + 0xf0]
test bl, bl
jne 0x1400429e7
mov rbx, qword [0x140084e70]
mov rax, qword [rbx + 0x3ef8]
cmp qword [rbx + 0x48d8], rax
jne 0x1400429c9
cmp byte [rbx + 0x4951], r15b
je 0x1400429c9
cmp dword [rbx + 0x4910], r15d
jne 0x1400429c9
and dword [rbx + 0x4954], 0xfffffff2
or dword [rbx + 0x4954], 2
test dword [rax + 0x14], 0x1000000
je 0x1400429d9
mov byte [rbx + 0x3e5e], 1
call fcn.140018d00
mov byte [rbx + 0x3e5e], r15b
jmp 0x1400429f5
mov al, 1
jmp 0x1400429f7
xor r15d, r15d
mov dword [rdi + 0x47d0], r15d
xor al, al
mov rcx, qword [rbp - 0x31]
xor rcx, rsp
call fcn.140064dc0
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop rdi
pop rbp
ret