Function at 0x18002b8b0
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 [0x180116040]
xor rax, rsp
mov qword [rbp - 0x31], rax
mov dword [rsp + 0x54], r8d
mov qword [rbp - 0x79], rdx
mov r12, rcx
mov rbx, qword [0x180116f98]
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 0x18002c033
movsxd r8, dword [r13 + 0xf0]
mov rax, qword [r13 + 0xf8]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
call fcn.180005c70
mov edi, eax
mov rcx, qword [r13]
cmp dword [rcx + 0x3f18], eax
jne 0x18002b97b
mov r8, r12
lea edx, [rsi + 0xb]
mov ecx, eax
call fcn.18001c8b0
mov rbx, qword [0x180116f98]
mov rcx, r12
cmp r12, 0xffffffffffffffff
jae 0x18002b9a1
movzx edx, byte [rcx]
test dl, dl
je 0x18002b9a1
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x18002b998
cmp byte [rax], dl
je 0x18002b9a1
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x18002b984
movss xmm9, dword [rbx + 0x3c08]
xorps xmm8, xmm8
cmp r12, rcx
jne 0x18002b9b9
xorps xmm10, xmm10
jmp 0x18002ba10
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r12
movss xmm0, dword [0x180102b64]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x180102b40]
movaps xmm2, xmm9
lea rdx, [rsp + 0x40]
mov rcx, qword [rbx + 0x3c00]
call fcn.180024610
movss xmm0, dword [rsp + 0x40]
addss xmm0, dword [0x180102a0c]
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 0x18002ba46
movss xmm5, dword [rcx + 0x250]
cmp qword [rbx + 0x4b30], rsi
je 0x18002ba3c
movss xmm5, dword [rcx + 0x220]
subss xmm5, dword [rcx + 0x100]
jmp 0x18002ba76
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 [0x180102a94]
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.1800143e0
xor r9d, r9d
xor r8d, r8d
mov edx, edi
lea rcx, [rbp - 0x41]
call fcn.180014550
test al, al
je 0x18002c033
mov dword [rsp + 0x20], esi
lea r9, [rsp + 0x51]
lea r8, [rsp + 0x50]
mov edx, edi
lea rcx, [rbp - 0x41]
call fcn.1800282b0
movzx r10d, al
mov r9d, edi
not r9d
mov ebx, r9d
lea rdx, [0x180101d41]
mov r8b, 0x23
lea r11, [0x1800fbba0]
cmp r8b, 0x23
jne 0x18002bb5a
cmp byte [rdx], r8b
jne 0x18002bb5a
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 0x18002bb47
not ebx
mov rdx, qword [0x180116f98]
movsxd rax, dword [rdx + 0x4888]
cmp dword [rdx + 0x4878], eax
jle 0x18002bba4
imul rcx, rax, 0x38
mov rax, qword [rdx + 0x4880]
cmp dword [rcx + rax], ebx
jne 0x18002bba4
mov r15b, 1
jmp 0x18002bba7
xor r15b, r15b
test r10b, r10b
je 0x18002bbbd
test r15b, r15b
jne 0x18002bbbd
xor edx, edx
mov ecx, ebx
call fcn.180015780
mov r15b, 1
mov ecx, dword [0x180116f4c]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov eax, dword [rdx + rax]
cmp dword [0x18011d338], eax
jle 0x18002bc3e
lea rcx, [0x18011d338]
call fcn.1800dc2e0
cmp dword [0x18011d338], 0xffffffff
jne 0x18002bc3e
mov qword [0x18011d310], rsi
mov qword [0x18011d318], rsi
mov ecx, 0x30
call fcn.1800dc358
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [0x18011d310], rax
lea rcx, [0x1800dea10]
call fcn.1800dc6ec
nop
lea rcx, [0x18011d338]
call fcn.1800dc274
mov rsi, qword [0x18011d310]
mov rax, qword [rsi + 8]
mov r8, rsi
movzx edx, byte [rax + 0x19]
test dl, dl
jne 0x18002bc6e
mov rcx, rax
cmp dword [rcx + 0x1c], edi
jae 0x18002bc62
mov rcx, qword [rcx + 0x10]
jmp 0x18002bc68
mov r8, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x18002bc57
cmp byte [r8 + 0x19], 0
jne 0x18002bc7b
cmp edi, dword [r8 + 0x1c]
jae 0x18002bc7e
mov r8, rsi
movss xmm7, dword [0x1801029a0]
cmp r8, rsi
jne 0x18002be29
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 0x18002bcd6
nop dword [rax + rax]
mov qword [rbp - 0x71], rax
cmp dword [rax + 0x1c], edi
jae 0x18002bcc3
mov dword [rbp - 0x69], r8d
mov rax, qword [rax + 0x10]
jmp 0x18002bcd0
mov dword [rbp - 0x69], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], r8b
je 0x18002bcb0
cmp byte [rcx + 0x19], r8b
jne 0x18002bce1
cmp edi, dword [rcx + 0x1c]
jae 0x18002bd5a
movabs rax, 0x555555555555555
cmp qword [0x18011d318], rax
je 0x18002c075
lea rax, [0x18011d310]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], r8
mov ecx, 0x30
call fcn.1800dc358
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, [0x18011d310]
call fcn.1800454a0
mov rsi, qword [0x18011d310]
mov rax, qword [rsi + 8]
mov r8, rsi
cmp byte [rax + 0x19], 0
jne 0x18002bd7e
cmp dword [rax + 0x1c], edi
jae 0x18002bd72
mov rax, qword [rax + 0x10]
jmp 0x18002bd78
mov r8, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x18002bd67
cmp byte [r8 + 0x19], 0
jne 0x18002bd8b
cmp edi, dword [r8 + 0x1c]
jae 0x18002bd8e
mov r8, rsi
mov rax, qword [0x180116f98]
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.180006200
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 [0x180102a90]
minss xmm6, dword [0x180102a14]
mov rax, qword [0x180116f98]
lea rcx, [rsp + 0x40]
cmp byte [rsp + 0x50], 0
je 0x18002be5b
movups xmm0, xmmword [rax + 0x392c]
jmp 0x18002be62
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.180006200
xorps xmm2, xmm2
movzx ecx, al
cvtsi2ss xmm2, rcx
mov ecx, eax
shr ecx, 8
xorps xmm3, xmm3
movzx ecx, cl
cvtsi2ss xmm3, rcx
mov ecx, eax
shr ecx, 0x10
xorps xmm5, xmm5
shr eax, 0x18
xorps xmm4, xmm4
movzx ecx, cl
cvtsi2ss xmm5, rax
cvtsi2ss xmm4, rcx
mulss xmm5, xmm7
mulss xmm4, xmm7
mulss xmm3, xmm7
mulss xmm2, xmm7
lea rsi, [r8 + 0x20]
subss xmm2, dword [rsi]
mulss xmm2, xmm6
addss xmm2, dword [rsi]
subss xmm3, dword [rsi + 4]
mulss xmm3, xmm6
addss xmm3, dword [rsi + 4]
subss xmm4, dword [rsi + 8]
mulss xmm4, xmm6
addss xmm4, dword [rsi + 8]
subss xmm5, dword [rsi + 0xc]
mulss xmm5, xmm6
addss xmm5, dword [rsi + 0xc]
shufps xmm2, xmm2, 0xe1
movss xmm2, xmm3
shufps xmm2, xmm2, 0xc6
movss xmm2, xmm4
shufps xmm2, xmm2, 0x27
movss xmm2, xmm5
shufps xmm2, xmm2, 0x39
movups xmmword [rsp + 0x40], xmm2
movups xmmword [rsi], xmm2
comiss xmm10, xmm8
jbe 0x18002bf3a
mov r9b, 1
xor r8d, r8d
mov rdx, r12
mov rcx, qword [rbp - 0x41]
call fcn.180006c20
movss xmm6, dword [rbp - 0x3d]
addss xmm6, dword [r14 + 0x3828]
addss xmm6, xmm9
movss xmm7, dword [rbp - 0x41]
movss dword [rsp + 0x40], xmm7
movss dword [rsp + 0x44], xmm6
movss xmm0, dword [rbp - 0x39]
movss dword [rsp + 0x48], xmm0
movss xmm8, dword [rbp - 0x35]
movss dword [rsp + 0x4c], xmm8
mov r12d, dword [rsp + 0x54]
mov edi, r12d
and edi, 0x40
jne 0x18002bfb7
mov rcx, rsi
call fcn.180006200
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.180021680
bt r12d, 0x14
jae 0x18002bfcc
movups xmm0, xmmword [rbp - 0x41]
movups xmmword [r14 + 0x5b4c], xmm0
jmp 0x18002c013
mov rax, qword [rbp - 0x79]
test rax, rax
je 0x18002c013
test edi, edi
jne 0x18002c013
addss xmm7, dword [r14 + 0x381c]
addss xmm6, xmm8
mulss xmm6, dword [0x1801029d8]
mulss xmm9, dword [0x1801029d8]
subss xmm6, xmm9
mov r9b, 1
xor r8d, r8d
mov rdx, rax
unpcklps xmm7, xmm6
movq rcx, xmm7
call fcn.180006c20
test r15b, r15b
je 0x18002c033
mov eax, dword [rsp + 0x58]
mov dword [r14 + 0x47a8], eax
mov r8d, r12d
lea rdx, [rbp - 0x41]
mov ecx, ebx
call fcn.18002c080
jmp 0x18002c035
xor al, al
mov rcx, qword [rbp - 0x31]
xor rcx, rsp
call fcn.1800dbea0
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.1800273b0
int3