Function at 0x14004a5f0
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r9
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xc0
mov rbx, qword [0x1401d52c0]
mov r15, r8
mov r13d, dword [rcx + 0x14]
mov r12, rdx
mov rsi, rcx
mov rdi, rbx
vmovaps xmmword [rax - 0x38], xmm6
vmovaps xmmword [rax - 0x48], xmm7
vmovaps xmmword [rax - 0x58], xmm9
vmovaps xmmword [rax - 0x68], xmm10
vmovaps xmmword [rax - 0x78], xmm11
test r13b, 0x20
jne 0x14004a65a
cmp dword [rbx + 0x3918], 0xffffffff
je 0x14004a65a
mov cl, 1
jmp 0x14004a65c
xor cl, cl
mov r14d, dword [rbx + 0x4980]
mov eax, r14d
or eax, 0x10
mov dword [rbx + 0x4980], eax
mov dword [rsi + 0x168], 1
vmovss xmm7, dword [rbx + 0x392c]
vmovss xmm6, dword [rbx + 0x3d60]
vmovss xmm0, dword [rdx + 8]
vmovss xmm3, dword [rdx + 4]
vxorps xmm10, xmm10, xmm10
vmovaps xmm9, xmm7
vmovss dword [rbp + 0x7f], xmm10
vmovss dword [rbp + 0x83], xmm10
test cl, cl
je 0x14004a79f
mov eax, dword [rbx + 0x3918]
cmp eax, 1
jne 0x14004a6e3
vaddss xmm1, xmm3, dword [rbx + 0x3930]
vsubss xmm0, xmm0, xmm7
vsubss xmm2, xmm0, xmm6
vunpcklps xmm0, xmm2, xmm1
vmovsd qword [rbp + 0x7f], xmm0
vaddss xmm0, xmm6, dword [rbx + 0x3944]
vaddss xmm9, xmm7, xmm0
jmp 0x14004a708
test eax, eax
jne 0x14004a708
vaddss xmm1, xmm7, dword [rdx]
vaddss xmm0, xmm3, dword [rbx + 0x3930]
vunpcklps xmm1, xmm1, xmm0
vaddss xmm0, xmm6, dword [rbx + 0x3944]
vaddss xmm7, xmm7, xmm0
vmovsd qword [rbp + 0x7f], xmm1
movsxd rcx, dword [rsi + 0x100]
lea rdx, [0x14011b419]
mov rax, qword [rsi + 0x108]
lea r10, [0x140115240]
mov r8b, 0x23
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov ebx, r9d
cmp r8b, 0x23
jne 0x14004a745
cmp byte [rdx], r8b
jne 0x14004a745
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [r10 + rcx*4]
test r8b, r8b
jne 0x14004a732
mov rax, qword [rsi]
not ebx
cmp dword [rax + 0x4084], ebx
jne 0x14004a782
lea r8, str.COLLAPSE
mov edx, 0xb
mov ecx, ebx
call fcn.140058400
lea rdx, [rbp + 0x7f]
mov ecx, ebx
call fcn.140077530
mov rbx, qword [0x1401d52c0]
test al, al
je 0x14004a79f
mov byte [rsi + 0xc2], 1
mov dword [rsi + 0x168], 0
mov dword [rdi + 0x4980], r14d
bt r13d, 0x12
jae 0x14004a7c1
vmulss xmm11, xmm6, dword [0x14011ce2c]
jmp 0x14004a7c6
vmovaps xmm11, xmm10
mov rcx, r15
cmp r15, 0xffffffffffffffff
jae 0x14004a7ed
nop
movzx edx, byte [rcx]
test dl, dl
je 0x14004a7ed
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x14004a7e4
cmp byte [rax], dl
je 0x14004a7ed
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x14004a7d0
vmovss xmm2, dword [rbx + 0x3d60]
cmp r15, rcx
jne 0x14004a801
vmovaps xmm0, xmm10
jmp 0x14004a84a
vmovss xmm0, dword [0x14011d088]
mov qword [rsp + 0x30], rcx
lea rdx, [rbp + 0x7f]
mov rcx, qword [rbx + 0x3d58]
mov qword [rsp + 0x28], r15
vmovss dword [rsp + 0x20], xmm0
call fcn.14006a8d0
vmovss xmm0, dword [rbp + 0x7f]
vaddss xmm1, xmm0, dword [0x14011ce4c]
vmovss xmm2, dword [rbp + 0x83]
vcvttss2si eax, xmm1
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vaddss xmm6, xmm0, xmm11
vmovss xmm0, dword [rdi + 0x392c]
vcomiss xmm7, xmm0
vmovss dword [rbp + 0x7f], xmm6
vmovss dword [rbp + 0x83], xmm2
jbe 0x14004a872
vaddss xmm7, xmm7, dword [rdi + 0x3944]
vcomiss xmm9, xmm0
jbe 0x14004a880
vaddss xmm9, xmm9, dword [rdi + 0x3944]
vmovss xmm5, dword [rdi + 0x3910]
vcomiss xmm5, xmm10
jbe 0x14004a8f0
vmovss xmm1, dword [0x14011ce54]
vcomiss xmm5, xmm1
jae 0x14004a8f0
vsubss xmm0, xmm5, dword [0x14011cdfc]
vandps xmm0, xmm0, xmmword [0x14011d390]
vaddss xmm0, xmm0, xmm0
vsubss xmm2, xmm1, xmm0
vcomiss xmm2, xmm10
jb 0x14004a8c0
vminss xmm10, xmm2, xmm1
vmovss xmm0, dword [r12 + 8]
vsubss xmm1, xmm0, dword [r12]
vsubss xmm2, xmm1, xmm7
vsubss xmm3, xmm2, xmm9
vmaxss xmm0, xmm9, xmm7
vsubss xmm4, xmm3, xmm6
vminss xmm1, xmm4, xmm0
vmulss xmm2, xmm1, xmm10
vmaxss xmm7, xmm2, xmm7
vmaxss xmm9, xmm2, xmm9
vaddss xmm3, xmm7, dword [r12]
vmovss xmm1, dword [r12 + 8]
vmovss xmm7, dword [r12 + 4]
vsubss xmm4, xmm1, xmm9
vmovss xmm9, dword [r12 + 0xc]
vaddss xmm0, xmm4, dword [rdi + 0x3944]
vminss xmm10, xmm0, xmm1
vmovss dword [rbp - 0x41], xmm10
vmovss dword [rbp - 0x39], xmm3
vmovss dword [rbp - 0x35], xmm7
vmovss dword [rbp - 0x31], xmm4
vmovss dword [rbp - 0x2d], xmm9
vmovss dword [rbp - 0x49], xmm3
vmovss dword [rbp - 0x45], xmm7
vmovss dword [rbp - 0x3d], xmm9
bt r13d, 0x12
jae 0x14004a9e2
vsubss xmm0, xmm4, xmm3
vsubss xmm1, xmm0, xmm6
vmovaps xmm2, xmm3
vfmadd231ss xmm2, xmm5, xmm1
vaddss xmm0, xmm2, xmm6
vcomiss xmm0, xmm3
jb 0x14004a9e2
vminss xmm6, xmm0, xmm4
vcomiss xmm6, xmm3
vaddss xmm0, xmm9, xmm7
vmulss xmm7, xmm0, dword [0x14011cdfc]
jbe 0x14004a9e2
vmovups xmm0, xmmword [rbx + 0x39e0]
vmovups xmmword [rbp - 0x29], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rbx + 0x38f0]
lea rcx, [rbp - 0x29]
vmovss dword [rbp - 0x1d], xmm0
call fcn.1400407b0
mov rcx, qword [rsi + 0x2a8]
mov r8d, eax
vunpcklps xmm0, xmm6, xmm7
vmovq rdx, xmm0
call fcn.14006b360
vmulss xmm0, xmm11, dword [0x14011cdfc]
vcvttss2si eax, xmm0
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, eax
vsubss xmm2, xmm6, xmm1
vminss xmm0, xmm2, xmm10
vmovss dword [rbp - 0x41], xmm0
lea rcx, [rbp - 0x49]
xor r9d, r9d
mov qword [rsp + 0x30], rcx
lea rax, [rdi + 0x3910]
mov qword [rsp + 0x28], rax
lea rdx, [rbp - 0x31]
lea rax, [rbp + 0x7f]
mov r8, r15
lea rcx, [rbp - 0x39]
mov qword [rsp + 0x20], rax
call fcn.140041bf0
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
vmovaps xmm9, xmmword [r11 - 0x30]
vmovaps xmm10, xmmword [r11 - 0x40]
vmovaps xmm11, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret