Function at 0x140031220
Capabilities:
Hash data with crc32

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
movups xmmword [rsp + 0x60], xmm6
mov rbp, qword [0x140218048]
mov eax, dword [rsp + 0xe0]
mov r14, qword [rbp + 0x4008]
mov esi, dword [r14 + 0x14]
mov edi, edx
mov edx, r9d
mov ebx, r9d
mov r15, rcx
or edx, 2
test eax, 0x40000000
mov r12, r8
cmovne ebx, edx
mov edx, ebx
and edx, 0xfffffffb
test bl, 0x10
cmovne ebx, edx
mov edx, ebx
and edx, 0xfffffff7
test bl, 0x20
cmovne ebx, edx
and esi, 4
mov rdx, rbp
or esi, eax
mov eax, esi
or esi, 0x1000041
mov r13d, ebx
or eax, 0x1000001
test bl, 0x70
cmove esi, eax
mov eax, esi
or eax, 0x102
test bl, 0xc
cmove esi, eax
mov rax, r14
and r13d, 0x80
jne 0x1400315e8
mov r8, qword [rax + 0x1b8]
mov dword [rbp + 0x49f0], ebx
or dword [rbp + 0x49b8], 0x100
test r8, r8
je 0x140031698
lea rcx, [rax + 0x230]
movss xmm2, dword [rcx]
movss xmm0, dword [rcx + 4]
pxor xmm1, xmm1
movss xmm4, dword [rax + 0x114]
movss xmm5, dword [rax + 0x110]
test bl, 0x20
jne 0x140031308
movaps xmm1, xmm0
subss xmm1, xmm4
pxor xmm0, xmm0
test bl, 0x10
jne 0x140031318
subss xmm2, xmm5
movaps xmm0, xmm2
movss xmm3, dword [r12]
pxor xmm2, xmm2
movss xmm6, dword [r12 + 4]
comiss xmm2, xmm3
ja 0x1400314d8
comiss xmm2, xmm6
ja 0x140031358
ucomiss xmm3, xmm2
jp 0x1400316e0
jne 0x1400316e0
ucomiss xmm6, xmm2
jp 0x14003134d
je 0x1400313a4
movaps xmm1, xmm6
jmp 0x1400313a4
test r8, r8
je 0x1400316fd
lea rcx, [rax + 0x230]
pxor xmm1, xmm1
movss xmm2, dword [rcx + 4]
ucomiss xmm3, xmm1
jp 0x140031816
jne 0x140031816
subss xmm2, xmm4
movss xmm3, dword [0x1401ab0c0]
movaps xmm1, xmm2
addss xmm1, xmm6
movaps xmm2, xmm1
cmpnless xmm2, xmm3
andps xmm1, xmm2
andnps xmm2, xmm3
orps xmm1, xmm2
unpcklps xmm0, xmm1
or dword [rdx + 0x49b8], 2
mov r9, qword [r14 + 8]
lea rcx, [rsp + 0x40]
mov dword [rdx + 0x49c0], 1
movq qword [rdx + 0x49d8], xmm0
test r15, r15
je 0x1400316b8
mov dword [rsp + 0x28], edi
lea r8, str._s__s__08X
xor edx, edx
mov qword [rsp + 0x20], r15
call fcn.140005520
and ebx, 1
movss xmm6, dword [rbp + 0x3920]
jne 0x140031400
mov dword [rbp + 0x3920], 0
mov rcx, qword [rsp + 0x40]
mov r8d, esi
xor edx, edx
call fcn.14002d240
movss dword [rbp + 0x3920], xmm6
mov r12d, eax
test r13d, r13d
jne 0x140031590
mov r13, qword [rbp + 0x4008]
cmp word [r13 + 0xcc], 1
mov dword [r13 + 0x88], edi
jne 0x140031447
mov rax, qword [r13 + 0x28]
mov qword [r14 + 0x110], rax
mov r10d, edi
mov eax, 0x23
lea rcx, [0x1401a8274]
not r10d
lea r9, [0x1401aac20]
mov edx, r10d
jmp 0x140031487
xor eax, edx
add rcx, 1
mov r8d, edx
movzx eax, al
shr r8d, 8
mov edx, dword [r9 + rax*4]
movzx eax, byte [rcx - 1]
xor edx, r8d
test al, al
je 0x1400314a0
cmp al, 0x23
jne 0x140031468
cmp byte [rcx], 0x23
jne 0x140031468
cmp byte [rcx + 1], 0x23
cmove edx, r10d
jmp 0x140031468
mov ebx, edx
not ebx
cmp dword [rbp + 0x406c], ebx
je 0x1400316d0
cmp dword [rbp + 0x4ae8], edi
je 0x140031538
movups xmm6, xmmword [rsp + 0x60]
mov eax, r12d
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test r8, r8
je 0x140031720
movss xmm0, dword [rax + 0x230]
movss xmm2, dword [rax + 0x234]
subss xmm0, xmm5
movss xmm5, dword [0x1401ab0c0]
addss xmm0, xmm3
movaps xmm3, xmm0
cmpnless xmm3, xmm5
andps xmm0, xmm3
andnps xmm3, xmm5
orps xmm0, xmm3
pxor xmm3, xmm3
ucomiss xmm6, xmm3
jp 0x140031521
je 0x1400313a4
pxor xmm1, xmm1
comiss xmm1, xmm6
jbe 0x14003134d
jmp 0x140031380
and esi, 0x800000
jne 0x1400314bc
cmp word [r13 + 0x16c], 0
jne 0x14003155d
cmp byte [r13 + 0x172], 0
je 0x1400314bc
xor edx, edx
mov rcx, r13
call fcn.140022f40
xor edx, edx
mov rcx, r13
call fcn.140021e70
mov rdx, r13
mov ecx, ebx
call fcn.140020950
mov eax, dword [rbp + 0x4b0c]
mov dword [rbp + 0x4090], eax
jmp 0x1400314bc
mov ecx, 3
call fcn.140007470
mov rdx, qword [0x140218048]
mov eax, dword [rdx + 0x4a30]
test eax, eax
jle 0x140031423
movsxd rcx, eax
sub eax, 1
lea r8, [rcx + rcx*4]
mov rcx, qword [rdx + 0x4a38]
lea r8, [rcx + r8*4 - 0x14]
movsxd rcx, dword [r8]
movdqu xmm5, xmmword [r8 + 4]
shl rcx, 4
movups xmmword [rcx + rdx + 0x39d4], xmm5
mov dword [rdx + 0x4a30], eax
jmp 0x140031423
movdqu xmm4, xmmword [rbp + 0x3a04]
mov dword [rsp + 0x40], 3
movsxd rax, dword [rbp + 0x4a30]
movups xmmword [rsp + 0x44], xmm4
cmp eax, dword [rbp + 0x4a34]
je 0x140031750
mov r9, qword [rbp + 0x4a38]
movdqu xmm5, xmmword [rsp + 0x40]
mov edx, dword [rsp + 0x50]
or ebx, 3
or esi, 4
lea rax, [rax + rax*4]
mov ecx, 7
lea rax, [r9 + rax*4]
mov dword [rax + 0x10], edx
movups xmmword [rax], xmm5
movdqu xmm4, xmmword [rbp + 0x3a44]
movss xmm1, dword [rbp + 0x3934]
add dword [rbp + 0x4a30], 1
movups xmmword [rbp + 0x3a04], xmm4
call fcn.14000c740
movss xmm1, dword [rbp + 0x3938]
mov ecx, 8
call fcn.14000c740
lea rdx, [rbp + 0x392c]
mov ecx, 2
call fcn.140009900
mov rdx, qword [0x140218048]
mov rax, qword [rdx + 0x4008]
jmp 0x1400312b8
cmp qword [rdx + 0x4da8], 0
lea rcx, [rax + 0x260]
jne 0x1400312d8
jmp 0x1400312df
mov dword [rsp + 0x20], edi
lea r8, str._s__08X
xor edx, edx
call fcn.140005520
jmp 0x1400313e9
xor edx, edx
xor ecx, ecx
call fcn.140020950
jmp 0x1400314b0
pxor xmm0, xmm0
ucomiss xmm6, xmm0
jp 0x1400316f2
movaps xmm0, xmm3
je 0x1400313a4
movaps xmm0, xmm3
movaps xmm1, xmm6
jmp 0x1400313a4
cmp qword [rdx + 0x4da8], 0
lea rcx, [rax + 0x260]
jne 0x140031361
jmp 0x140031368
cmp qword [rdx + 0x4da8], 0
je 0x140031802
movss xmm2, dword [rax + 0x234]
lea rcx, [rax + 0x230]
movss xmm0, dword [rcx]
jmp 0x1400314f1
lea ecx, [rax + 1]
test eax, eax
jne 0x1400317e2
mov eax, 8
cmp ecx, eax
cmovge eax, ecx
mov r10d, eax
movsxd rax, r10d
mov dword [rsp + 0x30], r10d
lea rcx, [rax + rax*4]
shl rcx, 2
call fcn.140009130
mov rdx, qword [rbp + 0x4a38]
mov r10d, dword [rsp + 0x30]
mov r9, rax
test rdx, rdx
je 0x1400317c8
movsxd rax, dword [rbp + 0x4a30]
mov rcx, r9
mov dword [rsp + 0x3c], r10d
mov qword [rsp + 0x30], r9
lea r8, [rax + rax*4]
shl r8, 2
call fcn.1400de8e0
mov rcx, qword [rbp + 0x4a38]
call fcn.140009220
mov r10d, dword [rsp + 0x3c]
mov r9, qword [rsp + 0x30]
mov qword [rbp + 0x4a38], r9
movsxd rax, dword [rbp + 0x4a30]
mov dword [rbp + 0x4a34], r10d
jmp 0x140031617
mov edx, eax
shr edx, 0x1f
add edx, eax
sar edx, 1
add edx, eax
cmp edx, ecx
cmovge ecx, edx
mov r10d, ecx
cmp eax, ecx
jge 0x140031610
jmp 0x140031768
movss xmm2, dword [rax + 0x264]
lea rcx, [rax + 0x260]
jmp 0x14003173d
movaps xmm0, xmm3
jmp 0x140031521