Function at 0x140031f20
Capabilities:
Hash data with crc32

Disassembly:
push rdi
sub rsp, 0x40
cmp byte [0x1401c0a14], 0
mov rdi, rcx
je 0x1400321e5
cmp dword [rcx + 0x14], 0
jne 0x140031f49
cmp byte [0x1400cf0dd], 0
je 0x1400321e5
mov rax, qword gs:[0x58]
mov qword [rsp + 0x50], rbx
mov ecx, 8
mov qword [rsp + 0x58], rsi
mov rdx, qword [rax]
movaps xmmword [rsp + 0x30], xmm6
mov eax, dword [rcx + rdx]
cmp dword [0x1401c0fa8], eax
jle 0x140031fac
lea rcx, [0x1401c0fa8]
call fcn.1400a83d8
cmp dword [0x1401c0fa8], 0xffffffff
jne 0x140031fac
mov rax, qword [0x1401c0af0]
lea rcx, [0x1401c0fa8]
movss xmm0, dword [rax + 0x3c20]
movss dword [0x1401c0ff8], xmm0
call fcn.1400a836c
mov rdx, qword [0x1401c0af0]
xor eax, eax
mov rcx, qword [rdi + 0x58]
sub rcx, qword [rdi + 0x50]
movss xmm1, dword [0x1401c0ff8]
mov r8d, dword [rdx + 0x47d0]
movss xmm6, dword [0x1400bc554]
or r8d, 1
mov dword [rdx + 0x47d0], r8d
addss xmm1, xmm6
movsd xmm0, qword [0x1401c0820]
sar rcx, 5
movsd qword [rdx + 0x47e0], xmm0
xorps xmm0, xmm0
mov qword [rdx + 0x47e8], rax
mov dword [rdx + 0x47d4], 2
test rcx, rcx
js 0x140032017
cvtsi2ss xmm0, rcx
jmp 0x14003202c
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
or r8d, 2
mulss xmm1, xmm0
mov dword [rdx + 0x47d0], r8d
lea rcx, str.Spectators
mov dword [rdx + 0x47f0], 0x43160000
mov r8d, 0x22
mov dword [rdx + 0x47d8], 1
addss xmm1, dword [0x1400bc5c8]
mov dword [rdx + 0x37e0], 0x41000000
movss dword [rdx + 0x47f4], xmm1
xor edx, edx
call fcn.140059aa0
cmp byte [0x1401c0818], 0
je 0x1400320f5
mov r10d, 0xffffffff
lea r8, [0x1400b3e51]
mov ecx, r10d
lea r11, [0x1400b42e0]
mov r9b, 0x53
cmp r9b, 0x23
jne 0x1400320b3
cmp byte [r8], r9b
jne 0x1400320b3
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 0x1400320a0
not ecx
call fcn.1400572f0
test rax, rax
je 0x1400320ee
xor r8d, r8d
lea rdx, [0x1401c0820]
mov rcx, rax
call fcn.14005c5e0
mov byte [0x1401c0818], 0
mov rsi, qword [rdi + 0x58]
mov rbx, qword [rdi + 0x50]
cmp rbx, rsi
je 0x140032188
movdqa xmm0, xmmword [0x1400bcca0]
movups xmmword [rsp + 0x20], xmm0
mov rcx, qword [0x1401c0af0]
mov rdx, rbx
mov rax, qword [rcx + 0x3ef8]
movss xmm1, dword [rax + 0x100]
subss xmm1, dword [rax + 0x20]
addss xmm1, dword [rax + 0x84]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ef8]
addss xmm1, xmm6
movss xmm0, dword [rax + 0x20]
subss xmm0, dword [rax + 0x84]
mov byte [rax + 0x141], 1
addss xmm0, xmm1
movss dword [rax + 0x100], xmm0
cmp qword [rbx + 0x18], 0xf
jbe 0x140032175
mov rdx, qword [rbx]
lea rcx, [rsp + 0x20]
call fcn.140082f20
add rbx, 0x20
cmp rbx, rsi
jne 0x140032113
mov rax, qword [0x1401c0af0]
mov rcx, qword [rax + 0x3ef8]
movss xmm0, dword [rcx + 0x24]
movss xmm1, dword [rcx + 0x20]
unpcklps xmm1, xmm0
movsd qword [0x1401c0820], xmm1
call fcn.14005bce0
mov rbx, qword [rdi + 0x50]
mov rsi, qword [rdi + 0x58]
movaps xmm6, xmmword [rsp + 0x30]
cmp rbx, rsi
je 0x1400321db
mov rcx, rbx
call fcn.140009140
add rbx, 0x20
cmp rbx, rsi
jne 0x1400321c2
mov rax, qword [rdi + 0x50]
mov qword [rdi + 0x58], rax
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret