Function at 0x18002bcb0
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x100
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
mov rax, qword [0x1800a5040]
xor rax, rsp
mov qword [rbp - 0x31], rax
mov dword [rsp + 0x54], r8d
mov qword [rbp - 0x79], rdx
mov r12, rcx
mov rbx, qword [0x1800a5b68]
mov r14, rbx
mov rax, qword [rbx + 0x3ed0]
mov byte [rax + 0xb8], 1
mov r13, qword [rbx + 0x3ed0]
mov eax, dword [rbx + 0x47a8]
mov dword [rsp + 0x58], eax
xor esi, esi
mov dword [rbx + 0x47a8], esi
cmp byte [r13 + 0xbb], sil
jne 0x18002c469
movsxd r8, dword [r13 + 0xf0]
mov rax, qword [r13 + 0xf8]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
call fcn.180005c90
mov edi, eax
mov rcx, qword [r13]
cmp dword [rcx + 0x3f18], eax
jne 0x18002bd7b
mov r8, r12
lea edx, [rsi + 0xb]
mov ecx, eax
call fcn.18001c600
mov rbx, qword [0x1800a5b68]
mov rcx, r12
cmp r12, 0xffffffffffffffff
jae 0x18002bda1
movzx edx, byte [rcx]
test dl, dl
je 0x18002bda1
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x18002bd98
cmp byte [rax], dl
je 0x18002bda1
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x18002bd84
movss xmm9, dword [rbx + 0x3c08]
xorps xmm8, xmm8
cmp r12, rcx
jne 0x18002bdb9
xorps xmm10, xmm10
jmp 0x18002be10
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r12
movss xmm0, dword [0x18009c39c]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x18009c378]
movaps xmm2, xmm9
lea rdx, [rsp + 0x40]
mov rcx, qword [rbx + 0x3c00]
call fcn.1800243e0
movss xmm0, dword [rsp + 0x40]
addss xmm0, dword [0x18009c260]
cvttss2si eax, xmm0
movd xmm10, eax
cvtdq2ps xmm10, xmm10
movss xmm9, dword [rsp + 0x44]
mov rcx, qword [rbx + 0x3ed0]
mov r9, qword [rcx + 0x1a8]
test r9, r9
jne 0x18002be46
movss xmm5, dword [rcx + 0x250]
cmp qword [rbx + 0x4b30], rsi
je 0x18002be3c
movss xmm5, dword [rcx + 0x220]
subss xmm5, dword [rcx + 0x100]
jmp 0x18002be76
movsxd rdx, dword [r9 + 0xc]
mov r8, qword [r9 + 0x68]
lea rax, [rdx + 1]
imul rcx, rax, 0x1c
imul rax, rdx, 0x1c
movss xmm5, dword [rcx + r8]
subss xmm5, dword [rax + r8]
movss xmm0, dword [r9 + 0x18]
subss xmm0, dword [r9 + 0x14]
mulss xmm5, xmm0
movss xmm0, dword [r14 + 0x3828]
movss xmm4, dword [r14 + 0x3810]
movaps xmm1, xmm9
addss xmm1, xmm9
addss xmm0, xmm0
addss xmm1, xmm0
addss xmm1, xmm4
movss xmm2, dword [r13 + 0x104]
movaps xmm3, xmm2
addss xmm3, xmm1
movss xmm0, dword [r13 + 0x100]
subss xmm5, dword [0x18009c2c8]
addss xmm5, xmm0
movss dword [rbp - 0x41], xmm0
movss dword [rbp - 0x3d], xmm2
movss dword [rbp - 0x39], xmm5
movss dword [rbp - 0x35], xmm3
subss xmm3, xmm2
subss xmm5, xmm0
movss dword [rsp + 0x40], xmm5
movss dword [rsp + 0x44], xmm3
movaps xmm1, xmm4
lea rcx, [rsp + 0x40]
call fcn.180014170
xor r9d, r9d
xor r8d, r8d
mov edx, edi
lea rcx, [rbp - 0x41]
call fcn.1800142e0
test al, al
je 0x18002c469
mov dword [rsp + 0x20], esi
lea r9, [rsp + 0x51]
lea r8, [rsp + 0x50]
mov edx, edi
lea rcx, [rbp - 0x41]
call fcn.180028000
movzx r10d, al
mov r9d, edi
not r9d
mov ebx, r9d
lea rdx, [0x18009b7b1]
mov r8b, 0x23
lea r11, [0x18005b9c0]
cmp r8b, 0x23
jne 0x18002bf5a
cmp byte [rdx], r8b
jne 0x18002bf5a
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
xor rcx, rax
shr ebx, 8
xor ebx, dword [r11 + rcx*4]
movzx r8d, byte [rdx]
inc rdx
test r8b, r8b
jne 0x18002bf47
not ebx
mov rdx, qword [0x1800a5b68]
movsxd rax, dword [rdx + 0x4888]
cmp dword [rdx + 0x4878], eax
jle 0x18002bfa4
imul rcx, rax, 0x38
mov rax, qword [rdx + 0x4880]
cmp dword [rcx + rax], ebx
jne 0x18002bfa4
mov r15b, 1
jmp 0x18002bfa7
xor r15b, r15b
test r10b, r10b
je 0x18002bfbd
test r15b, r15b
jne 0x18002bfbd
xor edx, edx
mov ecx, ebx
call fcn.180015510
mov r15b, 1
mov ecx, dword [0x1800a5b2c]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov eax, dword [rdx + rax]
cmp dword [0x1800a5e78], eax
jle 0x18002c03e
lea rcx, [0x1800a5e78]
call fcn.1800584d0
cmp dword [0x1800a5e78], 0xffffffff
jne 0x18002c03e
mov qword [0x1800a5e48], rsi
mov qword [0x1800a5e50], rsi
mov ecx, 0x30
call fcn.180058548
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [0x1800a5e48], rax
lea rcx, [0x18005a090]
call fcn.1800588dc
nop
lea rcx, [0x1800a5e78]
call fcn.180058464
mov rsi, qword [0x1800a5e48]
mov rax, qword [rsi + 8]
mov r8, rsi
movzx edx, byte [rax + 0x19]
test dl, dl
jne 0x18002c06e
mov rcx, rax
cmp dword [rcx + 0x1c], edi
jae 0x18002c062
mov rcx, qword [rcx + 0x10]
jmp 0x18002c068
mov r8, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x18002c057
cmp byte [r8 + 0x19], 0
jne 0x18002c07b
cmp edi, dword [r8 + 0x1c]
jae 0x18002c07e
mov r8, rsi
movss xmm7, dword [0x18009c1f0]
cmp r8, rsi
jne 0x18002c229
mov dword [rbp - 0x59], edi
xorps xmm6, xmm6
movups xmmword [rbp - 0x55], xmm6
mov qword [rbp - 0x71], rax
xor r8d, r8d
mov dword [rbp - 0x69], r8d
mov rcx, rsi
test dl, dl
jne 0x18002c0d6
nop dword [rax + rax]
mov qword [rbp - 0x71], rax
cmp dword [rax + 0x1c], edi
jae 0x18002c0c3
mov dword [rbp - 0x69], r8d
mov rax, qword [rax + 0x10]
jmp 0x18002c0d0
mov dword [rbp - 0x69], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], r8b
je 0x18002c0b0
cmp byte [rcx + 0x19], r8b
jne 0x18002c0e1
cmp edi, dword [rcx + 0x1c]
jae 0x18002c15a
movabs rax, 0x555555555555555
cmp qword [0x1800a5e50], rax
je 0x18002c4ab
lea rax, [0x1800a5e48]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], r8
mov ecx, 0x30
call fcn.180058548
mov r8, rax
movups xmm0, xmmword [rbp - 0x59]
movups xmmword [rax + 0x1c], xmm0
psrldq xmm6, 0xc
movd dword [rax + 0x2c], xmm6
mov qword [rax], rsi
mov qword [rax + 8], rsi
mov qword [rax + 0x10], rsi
mov word [rax + 0x18], 0
movups xmm0, xmmword [rbp - 0x71]
movaps xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
lea rcx, [0x1800a5e48]
call fcn.18003e930
mov rsi, qword [0x1800a5e48]
mov rax, qword [rsi + 8]
mov r8, rsi
cmp byte [rax + 0x19], 0
jne 0x18002c17e
cmp dword [rax + 0x1c], edi
jae 0x18002c172
mov rax, qword [rax + 0x10]
jmp 0x18002c178
mov r8, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x18002c167
cmp byte [r8 + 0x19], 0
jne 0x18002c18b
cmp edi, dword [r8 + 0x1c]
jae 0x18002c18e
mov r8, rsi
mov rax, qword [0x1800a5b68]
movups xmm0, xmmword [rax + 0x391c]
movups xmmword [rsp + 0x40], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37d0]
movss dword [rsp + 0x4c], xmm0
lea rcx, [rsp + 0x40]
call fcn.180006220
movzx ecx, al
xorps xmm3, xmm3
cvtsi2ss xmm3, rcx
mulss xmm3, xmm7
mov ecx, eax
shr ecx, 8
movzx ecx, cl
xorps xmm2, xmm2
cvtsi2ss xmm2, rcx
mulss xmm2, xmm7
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
xorps xmm1, xmm1
cvtsi2ss xmm1, rcx
mulss xmm1, xmm7
shr eax, 0x18
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm7
shufps xmm3, xmm3, 0xe1
movss xmm3, xmm2
shufps xmm3, xmm3, 0xc6
movss xmm3, xmm1
shufps xmm3, xmm3, 0x27
movss xmm3, xmm0
shufps xmm3, xmm3, 0x39
movups xmmword [rsp + 0x40], xmm3
movups xmmword [r8 + 0x20], xmm3
movss xmm6, dword [r14 + 0x18]
mulss xmm6, dword [0x18009c2c4]
mov rax, qword [0x1800a5b68]
lea rcx, [rsp + 0x40]
cmp byte [rsp + 0x50], 0
je 0x18002c253
movups xmm0, xmmword [rax + 0x392c]
jmp 0x18002c25a
movups xmm0, xmmword [rax + 0x391c]
movups xmmword [rsp + 0x40], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37d0]
movss dword [rsp + 0x4c], xmm0
call fcn.180006220
xorps xmm3, xmm3
movzx ecx, al
cvtsi2ss xmm3, rcx
mov ecx, eax
shr ecx, 8
xorps xmm2, xmm2
movzx ecx, cl
cvtsi2ss xmm2, rcx
mov ecx, eax
shr ecx, 0x10
mulss xmm3, xmm7
xorps xmm1, xmm1
movzx ecx, cl
mulss xmm2, xmm7
shufps xmm3, xmm3, 0xe1
cvtsi2ss xmm1, rcx
movss xmm3, xmm2
xorps xmm0, xmm0
shr eax, 0x18
mulss xmm1, xmm7
shufps xmm3, xmm3, 0xc6
cvtsi2ss xmm0, rax
movss xmm3, xmm1
mulss xmm0, xmm7
shufps xmm3, xmm3, 0x27
movss xmm3, xmm0
shufps xmm3, xmm3, 0x39
movups xmmword [rsp + 0x40], xmm3
lea rax, [rsp + 0x40]
movups xmmword [rsp + 0x40], xmm3
lea rsi, [r8 + 0x20]
movss xmm5, dword [rax]
subss xmm5, dword [rsi]
mulss xmm5, xmm6
addss xmm5, dword [rsi]
movss xmm4, dword [rax + 4]
subss xmm4, dword [rsi + 4]
mulss xmm4, xmm6
addss xmm4, dword [rsi + 4]
movss xmm3, dword [rax + 8]
subss xmm3, dword [rsi + 8]
mulss xmm3, xmm6
addss xmm3, dword [rsi + 8]
movss xmm2, dword [rax + 0xc]
subss xmm2, dword [rsi + 0xc]
mulss xmm2, xmm6
addss xmm2, dword [rsi + 0xc]
shufps xmm5, xmm5, 0xe1
movss xmm5, xmm4
shufps xmm5, xmm5, 0xc6
movss xmm5, xmm3
shufps xmm5, xmm5, 0x27
movss xmm5, xmm2
shufps xmm5, xmm5, 0x39
movups xmmword [rsp + 0x40], xmm5
movups xmmword [rsi], xmm5
comiss xmm10, xmm8
jbe 0x18002c370
mov r9b, 1
xor r8d, r8d
mov rdx, r12
mov rcx, qword [rbp - 0x41]
call fcn.180006af0
movss xmm7, dword [rbp - 0x3d]
addss xmm7, dword [r14 + 0x3828]
addss xmm7, xmm9
movss xmm8, dword [rbp - 0x41]
movss dword [rsp + 0x40], xmm8
movss dword [rsp + 0x44], xmm7
movss xmm0, dword [rbp - 0x39]
movss dword [rsp + 0x48], xmm0
movss xmm6, dword [rbp - 0x35]
movss dword [rsp + 0x4c], xmm6
mov r12d, dword [rsp + 0x54]
mov edi, r12d
and edi, 0x40
jne 0x18002c3ed
mov rcx, rsi
call fcn.180006220
mov dword [rsp + 0x28], edi
movss xmm0, dword [r14 + 0x3814]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x40]
mov rcx, qword [r13 + 0x298]
call fcn.1800213e0
bt r12d, 0x14
jae 0x18002c402
movups xmm0, xmmword [rbp - 0x41]
movups xmmword [r14 + 0x5b4c], xmm0
jmp 0x18002c449
mov rax, qword [rbp - 0x79]
test rax, rax
je 0x18002c449
test edi, edi
jne 0x18002c449
addss xmm8, dword [r14 + 0x381c]
addss xmm6, xmm7
mulss xmm6, dword [0x18009c22c]
mulss xmm9, dword [0x18009c22c]
subss xmm6, xmm9
mov r9b, 1
xor r8d, r8d
mov rdx, rax
unpcklps xmm8, xmm6
movq rcx, xmm8
call fcn.180006af0
test r15b, r15b
je 0x18002c469
mov eax, dword [rsp + 0x58]
mov dword [r14 + 0x47a8], eax
mov r8d, r12d
lea rdx, [rbp - 0x41]
mov ecx, ebx
call fcn.18002c4c0
jmp 0x18002c46b
xor al, al
mov rcx, qword [rbp - 0x31]
xor rcx, rsp
call fcn.180058090
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180027100
int3