Function at 0x140045df0
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 [0x1402ff138]
mov r15, rdx
movsxd rax, dword [rdi + 0x4c58]
cmp dword [rdi + 0x4c48], eax
jle 0x140046110
imul r8, rax, 0x38
mov rax, qword [rdi + 0x4c50]
cmp dword [r8 + rax], ecx
jne 0x140046110
vmovss xmm0, dword [rdx + 8]
vsubss xmm1, xmm0, dword [rdx]
mov edx, dword [rdi + 0x4b40]
xor r14d, r14d
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
vmovaps xmmword [r11 - 0x28], xmm6
vmovaps xmmword [r11 - 0x38], xmm7
vxorps xmm7, xmm7, xmm7
test dl, 0x10
je 0x140045e81
vmovss xmm0, dword [rdi + 0x4b84]
vmaxss xmm1, xmm0, xmm1
vmovss dword [rdi + 0x4b84], xmm1
jmp 0x140045f06
vmovss xmm0, dword [0x140149ebc]
mov eax, edx
vxorps xmm6, xmm6, xmm6
and eax, 2
je 0x140045e9e
vcomiss xmm7, dword [rdi + 0x4b64]
jb 0x140045eab
vmovss dword [rbp + 0x7f], xmm1
vmovaps xmm6, xmm1
test eax, eax
je 0x140045eb5
vcomiss xmm7, dword [rdi + 0x4b68]
jb 0x140045ebf
mov ecx, 0xffffffff
call fcn.1400458c0
vunpcklps xmm2, xmm6, xmm7
or edx, 0x10
mov dword [rdi + 0x4b40], edx
vmovss dword [rdi + 0x4b84], xmm6
vmovsd qword [rbp + 0x7f], xmm2
vshufps xmm1, xmm2, xmm2, 0x55
vmovss dword [rdi + 0x4b88], xmm1
mov dword [rdi + 0x4b8c], 0x7f7fffff
vmovss dword [rdi + 0x4b90], xmm0
mov qword [rdi + 0x4b98], r14
mov qword [rdi + 0x4ba0], r14
mov r9d, dword [rdi + 0x6010]
lea r8, str.Combo__02d
mov edx, 0x10
lea rcx, [rbp - 1]
call fcn.140003150
movzx r9d, byte [rbp - 1]
lea r8, [rbp]
mov r10d, 0xffffffff
mov edx, r10d
test r9b, r9b
je 0x140045f70
lea r11, [0x14013f300]
cmp r9b, 0x23
jne 0x140045f53
cmp byte [r8], r9b
jne 0x140045f53
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 0x140045f40
mov rbx, qword [0x1402ff138]
not edx
lea rcx, [rbx + 0x4120]
call fcn.1400041e0
mov rsi, rax
test rax, rax
je 0x14004606a
cmp byte [rax + 0xf4], r14b
je 0x14004606a
lea r8, [rbp + 0x7f]
mov rcx, rax
lea rdx, [rbp - 0x11]
vmovss dword [rbp + 0x7f], xmm7
vmovss dword [rbp + 0x83], xmm7
call fcn.14000c970
mov rdx, rcx
lea r8, [rbp + 0x7f]
lea rcx, [rbp - 0x19]
call fcn.14000ca90
lea r8, [rbp - 0x19]
mov rdx, rsi
lea rcx, [rbp - 0x11]
call fcn.14000c800
mov rdx, rsi
mov dword [rsi + 0x114], 3
lea rcx, [rbp + 0xf]
call fcn.140017f70
vmovss xmm0, dword [r15]
vmovss xmm1, dword [r15 + 0xc]
lea rax, [rbp + 0xf]
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x28], r15
lea r9, [rsi + 0x114]
lea r8, [rbp - 0x11]
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x7f]
lea rcx, [rbp - 0x19]
vmovss dword [rbp + 0x7f], xmm0
vmovss dword [rbp + 0x83], xmm1
call fcn.140017c40
mov rbx, qword [0x1402ff138]
vmovsd xmm0, qword [rbp - 0x19]
or dword [rbx + 0x4b40], 1
vmovsd qword [rbx + 0x4b54], xmm0
mov qword [rbx + 0x4b5c], r14
mov dword [rbx + 0x4b44], 1
mov byte [rbx + 0x4b80], 1
vmovss xmm1, dword [rbx + 0x3a00]
vmovss xmm0, dword [rbx + 0x3a04]
vmovss xmm6, dword [rdi + 0x3a34]
vmovss xmm7, dword [rdi + 0x3a04]
lea rcx, [rbx + 0x4bf8]
mov dword [rbp - 0x11], 2
lea rdx, [rbp - 0x11]
vmovss dword [rbp - 0xd], xmm1
vmovss dword [rbp - 9], xmm0
call fcn.140029b80
xor edx, edx
lea rcx, [rbp - 1]
mov r8d, 0x4000147
vmovss dword [rbx + 0x3a00], xmm6
vmovss dword [rbx + 0x3a04], xmm7
call fcn.14000f2b0
mov ecx, 1
movzx ebx, al
call fcn.1400048c0
vmovaps xmm7, xmmword [rsp + 0x80]
test bl, bl
mov rbx, qword [rsp + 0xc0]
vmovaps xmm6, xmmword [rsp + 0x90]
mov rsi, qword [rsp + 0xc8]
jne 0x140046106
call fcn.140017b70
jmp 0x14004611a
inc dword [rdi + 0x6010]
mov al, 1
jmp 0x14004611c
xor r14d, r14d
mov dword [rdi + 0x4b40], r14d
xor al, al
mov rdi, qword [rsp + 0xd0]
add rsp, 0xa0
pop r15
pop r14
pop rbp
ret