Function at 0x180034c40
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x58]
sub rsp, 0x118
mov r13d, dword [rcx + 0xc]
mov rdi, r9
mov r15, qword [0x18006e0a0]
mov r12, r8
movaps xmmword [rax - 0x58], xmm6
mov r14, rdx
movaps xmmword [rax - 0x68], xmm7
mov rbx, rcx
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
test r13b, 0x20
jne 0x180034cba
cmp dword [r15 + 0x157c], 0xffffffff
je 0x180034cba
mov cl, 1
jmp 0x180034cbc
xor cl, cl
mov esi, dword [rbx + 0x1b8]
xorps xmm13, xmm13
mov dword [rbx + 0x13c], 1
mov eax, esi
mov dword [rbx + 0x140], 2
or eax, 0x10
mov dword [rbx + 0x1b8], eax
movss xmm8, dword [r15 + 0x1590]
movss xmm3, dword [r15 + 0x19a8]
movaps xmm10, xmm8
movss xmm1, dword [rdx + 8]
movss xmm2, dword [rdx + 4]
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x60], 0
test rdi, rdi
je 0x180034d40
addss xmm10, xmm3
movaps xmm0, xmm1
subss xmm0, xmm10
subss xmm0, dword [r15 + 0x1590]
movss dword [rbp + 0x74], xmm2
movss dword [rbp + 0x70], xmm0
movaps xmm0, xmm10
jmp 0x180034d48
movaps xmm0, xmm3
addss xmm0, xmm8
lea r11, [0x18005fdc0]
test cl, cl
je 0x180034e42
cmp dword [r15 + 0x157c], 1
jne 0x180034d7e
addss xmm10, xmm3
subss xmm1, xmm10
subss xmm1, dword [r15 + 0x1590]
movss dword [rbp + 0x64], xmm2
movss dword [rbp + 0x60], xmm1
cmp dword [r15 + 0x157c], 0
jne 0x180034da5
addss xmm8, dword [rdx]
subss xmm8, dword [r15 + 0x1590]
movss dword [rbp + 0x64], xmm2
movss dword [rbp + 0x60], xmm8
movaps xmm8, xmm0
movsxd rcx, dword [rbx + 0xc0]
lea rdx, [0x180060391]
mov rax, qword [rbx + 0xc8]
mov r9b, 0x23
mov r10d, dword [rax + rcx*4 - 4]
not r10d
mov r8d, r10d
cmp r9b, 0x23
jne 0x180034ddb
cmp byte [rdx], r9b
jne 0x180034ddb
cmp byte [rdx + 1], r9b
cmove r8d, r10d
movzx ecx, r8b
movzx eax, r9b
movzx r9d, byte [rdx]
xor rcx, rax
shr r8d, 8
inc rdx
xor r8d, dword [r11 + rcx*4]
test r9b, r9b
jne 0x180034dc8
mov rax, qword [0x18006e0a0]
not r8d
cmp dword [rax + 0x1b38], r8d
jne 0x180034e14
mov dword [rax + 0x1b3c], r8d
cmp dword [rax + 0x1b78], r8d
jne 0x180034e24
mov byte [rax + 0x1b7c], 1
lea rdx, [rbp + 0x60]
mov ecx, r8d
call fcn.18004bf90
lea r11, [0x18005fdc0]
test al, al
je 0x180034e42
mov byte [rbx + 0x82], 1
test rdi, rdi
je 0x180034edf
movsxd rcx, dword [rbx + 0xc0]
lea rdx, [0x18006039d]
mov rax, qword [rbx + 0xc8]
mov r9b, 0x23
mov r10d, dword [rax + rcx*4 - 4]
not r10d
mov r8d, r10d
nop
cmp r9b, 0x23
jne 0x180034e83
cmp byte [rdx], r9b
jne 0x180034e83
cmp byte [rdx + 1], r9b
cmove r8d, r10d
movzx ecx, r8b
movzx eax, r9b
movzx r9d, byte [rdx]
xor rcx, rax
shr r8d, 8
inc rdx
xor r8d, dword [r11 + rcx*4]
test r9b, r9b
jne 0x180034e70
mov rax, qword [0x18006e0a0]
not r8d
cmp dword [rax + 0x1b38], r8d
jne 0x180034ebc
mov dword [rax + 0x1b3c], r8d
cmp dword [rax + 0x1b78], r8d
jne 0x180034ecc
mov byte [rax + 0x1b7c], 1
lea rdx, [rbp + 0x70]
mov ecx, r8d
call fcn.18004bd50
test al, al
je 0x180034edf
mov byte [rdi], 0
movss xmm6, dword [0x18005f5cc]
lea rdi, [0x1800603a4]
movss xmm7, dword [0x1800604f0]
xor r8d, r8d
movss xmm9, dword [0x1800604d0]
mov dword [rbx + 0x13c], r8d
mov dword [rbx + 0x140], 1
mov dword [rbx + 0x1b8], esi
and r13d, 0x100000
je 0x180034f75
mov rcx, qword [0x18006e0a0]
lea rdx, [rbp + 0x68]
mov qword [rsp + 0x38], r8
movaps xmm3, xmm7
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rdi
movss xmm2, dword [rcx + 0x19a8]
mov rcx, qword [rcx + 0x19a0]
movss dword [rsp + 0x20], xmm6
call fcn.18003b060
movss xmm0, dword [rbp + 0x68]
xor r8d, r8d
addss xmm0, xmm9
cvttss2si eax, xmm0
movd xmm12, eax
cvtdq2ps xmm12, xmm12
jmp 0x180034f79
movaps xmm12, xmm13
mov rsi, qword [0x18006e0a0]
mov rcx, r12
cmp r12, 0xffffffffffffffff
jae 0x180034fad
nop dword [rax]
movzx edx, byte [rcx]
test dl, dl
je 0x180034fad
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x180034fa4
cmp byte [rax], dl
je 0x180034fad
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x180034f90
movss xmm11, dword [rsi + 0x19a8]
cmp r12, rcx
jne 0x180034fc1
movaps xmm9, xmm13
jmp 0x180035011
mov qword [rsp + 0x38], r8
lea rdx, [rbp + 0x68]
mov qword [rsp + 0x30], rcx
movaps xmm3, xmm7
mov rcx, qword [rsi + 0x19a0]
movaps xmm2, xmm11
mov qword [rsp + 0x28], r12
movss dword [rsp + 0x20], xmm6
call fcn.18003b060
movss xmm0, dword [rbp + 0x68]
movss xmm11, dword [rbp + 0x6c]
addss xmm0, xmm9
mov rsi, qword [0x18006e0a0]
cvttss2si eax, xmm0
movd xmm9, eax
cvtdq2ps xmm9, xmm9
movss xmm0, dword [r15 + 0x1590]
addss xmm9, xmm12
comiss xmm8, xmm0
movss xmm3, dword [r15 + 0x15a8]
jbe 0x180035033
addss xmm8, xmm3
comiss xmm10, xmm0
movaps xmm4, xmm8
jbe 0x180035042
addss xmm10, xmm3
movss xmm5, dword [r15 + 0x1574]
comiss xmm5, xmm13
jbe 0x1800350c9
movss xmm1, dword [0x18005f4cc]
comiss xmm5, xmm1
jae 0x1800350c9
movaps xmm0, xmm5
movaps xmm2, xmm1
subss xmm0, dword [0x18005f4b0]
andps xmm0, xmmword [0x180060540]
addss xmm0, xmm0
subss xmm2, xmm0
comiss xmm2, xmm13
jae 0x180035087
movaps xmm2, xmm13
jmp 0x18003508b
minss xmm2, xmm1
movss xmm1, dword [r14 + 8]
movaps xmm0, xmm10
subss xmm1, dword [r14]
maxss xmm0, xmm8
subss xmm1, xmm8
subss xmm1, xmm10
subss xmm1, xmm9
minss xmm1, xmm0
mulss xmm1, xmm2
comiss xmm10, xmm1
movaps xmm8, xmm1
maxss xmm8, xmm4
jae 0x1800350c9
movaps xmm10, xmm1
movss xmm6, dword [r14 + 8]
mov rbx, r12
movss xmm7, dword [r14 + 4]
subss xmm6, xmm10
movss xmm10, dword [r14 + 0xc]
movss dword [rsp + 0x64], xmm7
movss dword [rsp + 0x6c], xmm10
movss dword [rsp + 0x74], xmm7
movss dword [rsp + 0x68], xmm6
movaps xmm2, xmm6
movss dword [rsp + 0x7c], xmm10
addss xmm2, xmm3
addss xmm8, dword [r14]
movss dword [rsp + 0x78], xmm2
movss dword [rsp + 0x60], xmm8
movss dword [rsp + 0x70], xmm8
cmp r12, 0xffffffffffffffff
jae 0x18003514d
nop dword [rax]
movzx ecx, byte [rbx]
test cl, cl
je 0x18003514d
lea rax, [rbx + 1]
cmp cl, 0x23
jne 0x180035144
cmp byte [rax], cl
je 0x18003514d
mov rbx, rax
cmp rax, 0xffffffffffffffff
jb 0x180035130
cmp ebx, r12d
je 0x1800352ad
mov rax, qword [rsi + 0x1af0]
movaps xmm0, xmm8
addss xmm0, xmm9
movss dword [rbp + 0x68], xmm8
movss dword [rbp + 0x6c], xmm7
mov rdi, qword [rax + 0x2b0]
comiss xmm0, xmm2
jae 0x18003518f
movaps xmm0, xmm11
addss xmm0, xmm7
comiss xmm0, xmm10
jae 0x18003518f
xor al, al
jmp 0x180035191
mov al, 1
comiss xmm5, xmm13
jbe 0x1800351b8
movaps xmm0, xmm6
subss xmm0, xmm8
subss xmm0, xmm9
mulss xmm0, xmm5
addss xmm0, xmm8
comiss xmm8, xmm0
jae 0x1800351b8
movss dword [rbp + 0x68], xmm0
movss xmm1, dword [r15 + 0x1578]
comiss xmm1, xmm13
jbe 0x1800351e6
movaps xmm0, xmm10
subss xmm0, xmm7
subss xmm0, xmm11
mulss xmm0, xmm1
addss xmm0, xmm7
comiss xmm7, xmm0
jae 0x1800351e6
movss dword [rbp + 0x6c], xmm0
lea rcx, [rbp - 0x80]
test al, al
je 0x180035235
movss dword [rsp + 0x50], xmm8
movss dword [rsp + 0x54], xmm7
movss dword [rsp + 0x58], xmm2
movss dword [rsp + 0x5c], xmm10
movups xmm0, xmmword [rsi + 0x160c]
movups xmmword [rbp - 0x80], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rsi + 0x1558]
movss dword [rbp - 0x74], xmm0
call fcn.180029c30
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x40], rcx
jmp 0x18003525f
movups xmm0, xmmword [rsi + 0x160c]
movups xmmword [rbp - 0x80], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rsi + 0x1558]
movss dword [rbp - 0x74], xmm0
call fcn.180029c30
mov qword [rsp + 0x40], 0
movss dword [rsp + 0x38], xmm13
lea r9, [rbp + 0x68]
mov qword [rsp + 0x30], rbx
movaps xmm2, xmm13
mov qword [rsp + 0x28], r12
xor edx, edx
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.18003ac20
cmp byte [rsi + 0x3008], 0
je 0x18003529f
mov r8, rbx
lea rcx, [rsp + 0x60]
mov rdx, r12
call fcn.18002e530
mov rsi, qword [0x18006e0a0]
lea rdi, [0x1800603a4]
test r13d, r13d
je 0x1800353bb
movss xmm0, dword [r15 + 0x19a8]
mov rbx, rdi
mulss xmm0, dword [0x1800604f4]
mov dword [rbp + 0x78], 0
movss dword [rsp + 0x50], xmm6
subss xmm6, xmm8
cvttss2si eax, xmm0
movss xmm0, dword [r15 + 0x1578]
subss xmm6, xmm9
movss dword [rbp + 0x7c], xmm0
movss xmm0, dword [0x18005f500]
subss xmm0, xmm12
movd xmm2, eax
mulss xmm6, dword [r15 + 0x1574]
cvtdq2ps xmm2, xmm2
addss xmm6, xmm8
movaps xmm1, xmm2
addss xmm2, xmm7
addss xmm1, xmm10
maxss xmm6, xmm8
movss dword [rbp + 0x6c], xmm2
movss dword [rsp + 0x54], xmm1
addss xmm6, xmm9
addss xmm6, xmm0
movss dword [rbp + 0x68], xmm6
cmp rdi, 0xffffffffffffffff
jae 0x18003535f
movzx ecx, byte [rbx]
test cl, cl
je 0x18003535f
cmp cl, 0x23
jne 0x180035356
cmp byte [rbx + 1], cl
je 0x18003535f
inc rbx
cmp rbx, 0xffffffffffffffff
jb 0x180035345
cmp ebx, edi
je 0x1800353bb
mov rcx, qword [rsi + 0x1af0]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x38], rax
lea r8, [rsp + 0x50]
lea rax, [rbp + 0x78]
mov r9, rdi
mov qword [rsp + 0x30], rax
lea rdx, [rbp + 0x68]
mov rcx, qword [rcx + 0x2b0]
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], rbx
call fcn.180033ba0
cmp byte [rsi + 0x3008], 0
je 0x1800353bb
mov r8, rbx
lea rcx, [rbp + 0x68]
mov rdx, rdi
call fcn.18002e530
lea r11, [rsp + 0x118]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret