Function at 0x18002b7c0
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 [0x180144040]
xor rax, rsp
mov qword [rbp - 0x31], rax
mov dword [rsp + 0x54], r8d
mov qword [rbp - 0x79], rdx
mov r12, rcx
mov rbx, qword [0x180144c38]
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 0x18002bf43
movsxd r8, dword [r13 + 0xf0]
mov rax, qword [r13 + 0xf8]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
call fcn.180005c80
mov edi, eax
mov rcx, qword [r13]
cmp dword [rcx + 0x3f18], eax
jne 0x18002b88b
mov r8, r12
lea edx, [rsi + 0xb]
mov ecx, eax
call fcn.18001c7c0
mov rbx, qword [0x180144c38]
mov rcx, r12
cmp r12, 0xffffffffffffffff
jae 0x18002b8b1
movzx edx, byte [rcx]
test dl, dl
je 0x18002b8b1
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x18002b8a8
cmp byte [rax], dl
je 0x18002b8b1
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x18002b894
movss xmm9, dword [rbx + 0x3c08]
xorps xmm8, xmm8
cmp r12, rcx
jne 0x18002b8c9
xorps xmm10, xmm10
jmp 0x18002b920
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r12
movss xmm0, dword [0x1801331b4]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x180133190]
movaps xmm2, xmm9
lea rdx, [rsp + 0x40]
mov rcx, qword [rbx + 0x3c00]
call fcn.180024520
movss xmm0, dword [rsp + 0x40]
addss xmm0, dword [0x18013305c]
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 0x18002b956
movss xmm5, dword [rcx + 0x250]
cmp qword [rbx + 0x4b30], rsi
je 0x18002b94c
movss xmm5, dword [rcx + 0x220]
subss xmm5, dword [rcx + 0x100]
jmp 0x18002b986
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 [0x1801330dc]
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.180014310
xor r9d, r9d
xor r8d, r8d
mov edx, edi
lea rcx, [rbp - 0x41]
call fcn.180014480
test al, al
je 0x18002bf43
mov dword [rsp + 0x20], esi
lea r9, [rsp + 0x51]
lea r8, [rsp + 0x50]
mov edx, edi
lea rcx, [rbp - 0x41]
call fcn.1800281c0
movzx r10d, al
mov r9d, edi
not r9d
mov ebx, r9d
lea rdx, [0x180132631]
mov r8b, 0x23
lea r11, [0x1800f2840]
cmp r8b, 0x23
jne 0x18002ba6a
cmp byte [rdx], r8b
jne 0x18002ba6a
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 0x18002ba57
not ebx
mov rdx, qword [0x180144c38]
movsxd rax, dword [rdx + 0x4888]
cmp dword [rdx + 0x4878], eax
jle 0x18002bab4
imul rcx, rax, 0x38
mov rax, qword [rdx + 0x4880]
cmp dword [rcx + rax], ebx
jne 0x18002bab4
mov r15b, 1
jmp 0x18002bab7
xor r15b, r15b
test r10b, r10b
je 0x18002bacd
test r15b, r15b
jne 0x18002bacd
xor edx, edx
mov ecx, ebx
call fcn.1800156b0
mov r15b, 1
mov ecx, dword [0x180144bfc]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov eax, dword [rdx + rax]
cmp dword [0x18014afc0], eax
jle 0x18002bb4e
lea rcx, [0x18014afc0]
call fcn.1800d3700
cmp dword [0x18014afc0], 0xffffffff
jne 0x18002bb4e
mov qword [0x18014af98], rsi
mov qword [0x18014afa0], rsi
mov ecx, 0x30
call fcn.1800d3778
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [0x18014af98], rax
lea rcx, [0x1800d5510]
call fcn.1800d3b0c
nop
lea rcx, [0x18014afc0]
call fcn.1800d3694
mov rsi, qword [0x18014af98]
mov rax, qword [rsi + 8]
mov r8, rsi
movzx edx, byte [rax + 0x19]
test dl, dl
jne 0x18002bb7e
mov rcx, rax
cmp dword [rcx + 0x1c], edi
jae 0x18002bb72
mov rcx, qword [rcx + 0x10]
jmp 0x18002bb78
mov r8, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x18002bb67
cmp byte [r8 + 0x19], 0
jne 0x18002bb8b
cmp edi, dword [r8 + 0x1c]
jae 0x18002bb8e
mov r8, rsi
movss xmm7, dword [0x180132ff0]
cmp r8, rsi
jne 0x18002bd39
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 0x18002bbe6
nop dword [rax + rax]
mov qword [rbp - 0x71], rax
cmp dword [rax + 0x1c], edi
jae 0x18002bbd3
mov dword [rbp - 0x69], r8d
mov rax, qword [rax + 0x10]
jmp 0x18002bbe0
mov dword [rbp - 0x69], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], r8b
je 0x18002bbc0
cmp byte [rcx + 0x19], r8b
jne 0x18002bbf1
cmp edi, dword [rcx + 0x1c]
jae 0x18002bc6a
movabs rax, 0x555555555555555
cmp qword [0x18014afa0], rax
je 0x18002bf85
lea rax, [0x18014af98]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], r8
mov ecx, 0x30
call fcn.1800d3778
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, [0x18014af98]
call fcn.1800434d0
mov rsi, qword [0x18014af98]
mov rax, qword [rsi + 8]
mov r8, rsi
cmp byte [rax + 0x19], 0
jne 0x18002bc8e
cmp dword [rax + 0x1c], edi
jae 0x18002bc82
mov rax, qword [rax + 0x10]
jmp 0x18002bc88
mov r8, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x18002bc77
cmp byte [r8 + 0x19], 0
jne 0x18002bc9b
cmp edi, dword [r8 + 0x1c]
jae 0x18002bc9e
mov r8, rsi
mov rax, qword [0x180144c38]
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.180006210
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 [0x1801330d8]
minss xmm6, dword [0x180133064]
mov rax, qword [0x180144c38]
lea rcx, [rsp + 0x40]
cmp byte [rsp + 0x50], 0
je 0x18002bd6b
movups xmm0, xmmword [rax + 0x392c]
jmp 0x18002bd72
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.180006210
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 0x18002be4a
mov r9b, 1
xor r8d, r8d
mov rdx, r12
mov rcx, qword [rbp - 0x41]
call fcn.180006c30
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 0x18002bec7
mov rcx, rsi
call fcn.180006210
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.1800215a0
bt r12d, 0x14
jae 0x18002bedc
movups xmm0, xmmword [rbp - 0x41]
movups xmmword [r14 + 0x5b4c], xmm0
jmp 0x18002bf23
mov rax, qword [rbp - 0x79]
test rax, rax
je 0x18002bf23
test edi, edi
jne 0x18002bf23
addss xmm7, dword [r14 + 0x381c]
addss xmm6, xmm8
mulss xmm6, dword [0x180133028]
mulss xmm9, dword [0x180133028]
subss xmm6, xmm9
mov r9b, 1
xor r8d, r8d
mov rdx, rax
unpcklps xmm7, xmm6
movq rcx, xmm7
call fcn.180006c30
test r15b, r15b
je 0x18002bf43
mov eax, dword [rsp + 0x58]
mov dword [r14 + 0x47a8], eax
mov r8d, r12d
lea rdx, [rbp - 0x41]
mov ecx, ebx
call fcn.18002bf90
jmp 0x18002bf45
xor al, al
mov rcx, qword [rbp - 0x31]
xor rcx, rsp
call fcn.1800d32c0
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.1800272c0
int3