Function at 0x1800493a0
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov dword [rax + 0x18], r8d
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x78]
sub rsp, 0x140
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
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov r12, rcx
mov rbx, qword [0x180148c20]
mov r15, rbx
mov rax, qword [rbx + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rsi, qword [rbx + 0x3ef8]
mov eax, dword [rbx + 0x47d0]
mov dword [rsp + 0x78], eax
xor r14d, r14d
mov dword [rbx + 0x47d0], r14d
cmp byte [rsi + 0xbb], r14b
jne 0x180049f8c
movsxd r8, dword [rsi + 0xf0]
mov rax, qword [rsi + 0xf8]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
call fcn.18001ab80
mov edi, eax
mov rcx, qword [rsi]
cmp dword [rcx + 0x3f40], eax
jne 0x180049487
mov r8, r12
mov edx, 0xb
mov ecx, eax
call fcn.180032e40
mov rbx, qword [0x180148c20]
movss xmm11, dword [rbx + 0x3810]
movss xmm1, dword [rbx + 0x3c20]
addss xmm11, xmm11
addss xmm11, xmm1
mov rcx, r12
cmp r12, 0xffffffffffffffff
jae 0x1800494cd
nop dword [rax + rax]
movzx edx, byte [rcx]
test dl, dl
je 0x1800494cd
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x1800494c4
cmp byte [rax], dl
je 0x1800494cd
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x1800494b0
xorps xmm10, xmm10
cmp r12, rcx
jne 0x1800494db
xorps xmm4, xmm4
jmp 0x180049539
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r12
movss xmm0, dword [0x1800e27a0]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1800e278c]
movaps xmm2, xmm1
lea rdx, [rbp + 0x98]
mov rcx, qword [rbx + 0x3c18]
call fcn.18003e840
movss xmm0, dword [rbp + 0x98]
addss xmm0, dword [0x1800e25a0]
cvttss2si eax, xmm0
movd xmm4, eax
cvtdq2ps xmm4, xmm4
movss xmm1, dword [rbp + 0x9c]
mov rax, qword [rbx + 0x3ef8]
movss xmm0, dword [rax + 0x20]
movss xmm8, dword [rax + 0x250]
subss xmm8, xmm0
cmp qword [rax + 0x1a8], r14
jne 0x180049565
cmp qword [rbx + 0x4b58], r14
je 0x180049573
movss xmm8, dword [rax + 0x220]
subss xmm8, xmm0
subss xmm8, dword [r15 + 0x37d8]
movss xmm14, dword [0x1800e25ec]
addss xmm1, xmm14
movss xmm2, dword [rsi + 0x104]
movaps xmm3, xmm2
addss xmm3, xmm1
movss xmm1, dword [rsi + 0x100]
movaps xmm0, xmm1
addss xmm0, xmm8
subss xmm2, xmm14
addss xmm1, dword [0x1800e26f4]
movss dword [rsp + 0x50], xmm1
movss dword [rsp + 0x54], xmm2
movss dword [rsp + 0x58], xmm0
movss dword [rsp + 0x5c], xmm3
addss xmm3, xmm10
addss xmm4, xmm0
movss dword [rsp + 0x40], xmm1
movss dword [rsp + 0x44], xmm2
movss dword [rsp + 0x48], xmm4
movss dword [rsp + 0x4c], xmm3
subss xmm3, xmm2
subss xmm4, xmm1
movss dword [rbp + 0x98], xmm4
movss dword [rbp + 0x9c], xmm3
xorps xmm1, xmm1
lea rcx, [rbp + 0x98]
call fcn.18002aeb0
xor r9d, r9d
lea r8, [rsp + 0x50]
mov edx, edi
lea rcx, [rsp + 0x40]
call fcn.18002b020
test al, al
je 0x180049f8c
mov dword [rsp + 0x20], r14d
lea r9, [rbp + 0x98]
lea r8, [rbp + 0x90]
mov edx, edi
lea rcx, [rsp + 0x50]
call fcn.180045f60
movzx r10d, al
mov r9d, edi
not r9d
mov r14d, r9d
lea rdx, [0x1800e2411]
mov r8b, 0x23
lea r11, [0x1800dbe10]
nop
cmp r8b, 0x23
jne 0x180049683
cmp byte [rdx], r8b
jne 0x180049683
cmp byte [rdx + 1], r8b
cmove r14d, r9d
movzx ecx, r14b
movzx eax, r8b
xor rcx, rax
shr r14d, 8
xor r14d, dword [r11 + rcx*4]
movzx r8d, byte [rdx]
inc rdx
test r8b, r8b
jne 0x180049670
not r14d
mov rdx, qword [0x180148c20]
movsxd rax, dword [rdx + 0x48b0]
cmp dword [rdx + 0x48a0], eax
jle 0x1800496d1
imul rcx, rax, 0x38
mov rax, qword [rdx + 0x48a8]
cmp dword [rcx + rax], r14d
jne 0x1800496d1
mov r13b, 1
jmp 0x1800496d4
xor r13b, r13b
test r10b, r10b
je 0x1800496eb
test r13b, r13b
jne 0x1800496eb
xor edx, edx
mov ecx, r14d
call fcn.18002c180
mov r13b, 1
mov ecx, dword [0x180148a30]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov eax, dword [rdx + rax]
cmp dword [0x180149978], eax
jle 0x18004976e
lea rcx, [0x180149978]
call fcn.1800bc494
cmp dword [0x180149978], 0xffffffff
jne 0x18004976e
xor eax, eax
mov qword [0x180149980], rax
mov qword [0x180149988], rax
mov ecx, 0x40
call fcn.1800bc50c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [0x180149980], rax
lea rcx, [0x1800be390]
call fcn.1800bc8a0
nop
lea rcx, [0x180149978]
call fcn.1800bc428
mov rsi, qword [0x180149980]
mov rax, qword [rsi + 8]
mov rbx, rsi
movzx edx, byte [rax + 0x19]
test dl, dl
jne 0x18004979e
mov rcx, rax
cmp dword [rcx + 0x1c], edi
jae 0x180049792
mov rcx, qword [rcx + 0x10]
jmp 0x180049798
mov rbx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x180049787
cmp byte [rbx + 0x19], 0
jne 0x1800497a9
cmp edi, dword [rbx + 0x1c]
jae 0x1800497ac
mov rbx, rsi
cmp rbx, rsi
jne 0x1800498c5
xorps xmm0, xmm0
xorps xmm6, xmm6
mov dword [rsp + 0x7c], edi
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm6
mov qword [rsp + 0x60], rax
xor r8d, r8d
mov dword [rsp + 0x68], r8d
mov rcx, rsi
test dl, dl
jne 0x180049809
nop dword [rax + rax]
mov qword [rsp + 0x60], rax
cmp dword [rax + 0x1c], edi
jae 0x1800497f5
mov dword [rsp + 0x68], r8d
mov rax, qword [rax + 0x10]
jmp 0x180049803
mov dword [rsp + 0x68], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], r8b
je 0x1800497e0
cmp byte [rcx + 0x19], r8b
jne 0x180049814
cmp edi, dword [rcx + 0x1c]
jae 0x180049893
movabs rax, 0x3ffffffffffffff
cmp qword [0x180149988], rax
je 0x180049fe1
lea rbx, [0x180149980]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], r8
mov ecx, 0x40
call fcn.1800bc50c
mov r8, rax
movups xmm0, xmmword [rsp + 0x7c]
movups xmmword [rax + 0x1c], xmm0
movups xmm1, xmmword [rbp - 0x74]
movups xmmword [rax + 0x2c], xmm1
psrldq xmm6, 0xc
movd dword [rax + 0x3c], xmm6
mov qword [rax], rsi
mov qword [rax + 8], rsi
mov qword [rax + 0x10], rsi
mov word [rax + 0x18], 0
movups xmm0, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.1800347e0
mov rsi, qword [0x180149980]
mov rax, qword [rsi + 8]
mov rbx, rsi
cmp byte [rax + 0x19], 0
jne 0x1800498b7
cmp dword [rax + 0x1c], edi
jae 0x1800498ab
mov rax, qword [rax + 0x10]
jmp 0x1800498b1
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1800498a0
cmp byte [rbx + 0x19], 0
jne 0x1800498c2
cmp edi, dword [rbx + 0x1c]
jae 0x1800498c5
mov rbx, rsi
movss xmm7, dword [r15 + 0x18]
movss xmm12, dword [0x1800e2640]
mulss xmm7, xmm12
movzx eax, byte [rbp + 0x90]
movdqa xmm3, xmmword [0x1800e2c00]
movss xmm9, dword [0x1800e2560]
movss xmm13, dword [0x1800e25a8]
test r13b, r13b
je 0x180049911
movaps xmm2, xmm10
movaps xmm4, xmm9
movaps xmm5, xmm14
movaps xmm6, xmm13
jmp 0x180049936
test al, al
je 0x18004991a
movaps xmm2, xmm3
jmp 0x180049921
movups xmm2, xmmword [0x1801493e8]
movaps xmm4, xmm2
shufps xmm4, xmm2, 0x55
movaps xmm5, xmm2
shufps xmm5, xmm2, 0xaa
movaps xmm6, xmm2
shufps xmm6, xmm2, 0xff
subss xmm2, dword [rbx + 0x20]
mulss xmm2, xmm7
addss xmm2, dword [rbx + 0x20]
subss xmm4, dword [rbx + 0x24]
mulss xmm4, xmm7
addss xmm4, dword [rbx + 0x24]
subss xmm5, dword [rbx + 0x28]
mulss xmm5, xmm7
addss xmm5, dword [rbx + 0x28]
subss xmm6, dword [rbx + 0x2c]
mulss xmm6, xmm7
addss xmm6, dword [rbx + 0x2c]
shufps xmm2, xmm2, 0xe1
movss xmm2, xmm4
shufps xmm2, xmm2, 0xc6
movss xmm2, xmm5
shufps xmm2, xmm2, 0x27
movss xmm2, xmm6
shufps xmm2, xmm2, 0x39
movups xmmword [rsp + 0x40], xmm2
movups xmmword [rbx + 0x20], xmm2
movss xmm5, dword [r15 + 0x18]
mulss xmm5, xmm12
test r13b, r13b
je 0x1800499b1
movaps xmm3, xmm10
movaps xmm2, xmm14
movaps xmm4, xmm13
jmp 0x1800499d3
test al, al
jne 0x1800499bc
movups xmm3, xmmword [0x1801493e8]
movaps xmm9, xmm3
shufps xmm9, xmm3, 0x55
movaps xmm2, xmm3
shufps xmm2, xmm3, 0xaa
movaps xmm4, xmm3
shufps xmm4, xmm3, 0xff
subss xmm3, dword [rbx + 0x30]
mulss xmm3, xmm5
addss xmm3, dword [rbx + 0x30]
subss xmm9, dword [rbx + 0x34]
mulss xmm9, xmm5
addss xmm9, dword [rbx + 0x34]
subss xmm2, dword [rbx + 0x38]
mulss xmm2, xmm5
addss xmm2, dword [rbx + 0x38]
subss xmm4, dword [rbx + 0x3c]
mulss xmm4, xmm5
addss xmm4, dword [rbx + 0x3c]
shufps xmm3, xmm3, 0xe1
movss xmm3, xmm9
shufps xmm3, xmm3, 0xc6
movss xmm3, xmm2
shufps xmm3, xmm3, 0x27
movss xmm3, xmm4
shufps xmm3, xmm3, 0x39
movups xmmword [rsp + 0x40], xmm3
movups xmmword [rbx + 0x30], xmm3
movss xmm15, dword [rsp + 0x58]
movaps xmm0, xmm15
subss xmm0, xmm11
movss xmm7, dword [rsp + 0x50]
movaps xmm9, xmm7
maxss xmm9, xmm0
mov r8, qword [0x180148c20]
mov rax, qword [r8 + 0x3ef8]
mov byte [rax + 0xb8], 1
movss xmm0, dword [0x180149558]
movss dword [rsp + 0x40], xmm0
movss xmm1, dword [0x18014955c]
movss dword [rsp + 0x44], xmm1
movss xmm0, dword [0x180149560]
movss dword [rsp + 0x48], xmm0
movss xmm1, dword [0x180149564]
mulss xmm1, dword [r8 + 0x37d0]
movss dword [rsp + 0x4c], xmm1
movss dword [rbp + 0x98], xmm9
movss xmm6, dword [rsp + 0x5c]
movss dword [rbp + 0x9c], xmm6
lea rcx, [rsp + 0x40]
call fcn.18001b050
mov r9d, eax
mov rcx, qword [r8 + 0x3ef8]
mov dword [rsp + 0x28], 0x50
movss xmm0, dword [0x1800e25fc]
movss dword [rsp + 0x20], xmm0
lea r8, [rbp + 0x98]
lea rdx, [rsp + 0x50]
mov rcx, qword [rcx + 0x298]
call fcn.1800388b0
mov r10, qword [0x180148c20]
mov rax, qword [r10 + 0x3ef8]
mov byte [rax + 0xb8], 1
movss xmm0, dword [0x180149558]
movss dword [rsp + 0x40], xmm0
movss xmm1, dword [0x18014955c]
movss dword [rsp + 0x44], xmm1
movss xmm0, dword [0x180149560]
movss dword [rsp + 0x48], xmm0
movss xmm1, dword [0x180149564]
mulss xmm1, dword [r10 + 0x37d0]
movss dword [rsp + 0x4c], xmm1
movss dword [rbp + 0x98], xmm9
movss xmm12, dword [rsp + 0x54]
movss dword [rbp + 0x9c], xmm12
mov eax, 0xf0
mov r8d, 0xa0
comiss xmm11, xmm8
cmovae r8d, eax
lea rcx, [rsp + 0x40]
call fcn.18001b050
mov r9d, eax
mov rcx, qword [r10 + 0x3ef8]
mov dword [rsp + 0x28], r8d
movss xmm0, dword [0x1800e25fc]
movss dword [rsp + 0x20], xmm0
lea r8, [rsp + 0x58]
lea rdx, [rbp + 0x98]
mov rcx, qword [rcx + 0x298]
call fcn.1800388b0
mov r8, qword [0x180148c20]
mov rax, qword [r8 + 0x3ef8]
mov byte [rax + 0xb8], 1
movss xmm0, dword [0x1801494c0]
movss dword [rsp + 0x40], xmm0
movss xmm1, dword [0x1801494c4]
movss dword [rsp + 0x44], xmm1
movss xmm0, dword [0x1801494c8]
movss dword [rsp + 0x48], xmm0
movss xmm1, dword [0x1801494cc]
mulss xmm1, dword [r8 + 0x37d0]
movss dword [rsp + 0x4c], xmm1
movaps xmm0, xmm8
subss xmm0, dword [0x1800e26f4]
addss xmm0, xmm7
movss dword [rbp + 0x98], xmm0
movss dword [rbp + 0x9c], xmm6
lea rcx, [rsp + 0x40]
call fcn.18001b050
mov r9d, eax
mov rcx, qword [r8 + 0x3ef8]
movss dword [rsp + 0x30], xmm13
movss xmm0, dword [0x1800e25fc]
movss dword [rsp + 0x20], xmm0
lea r8, [rbp + 0x98]
lea rdx, [rsp + 0x50]
mov rcx, qword [rcx + 0x298]
call fcn.1800387a0
movss xmm0, dword [0x180149438]
movss dword [rsp + 0x40], xmm0
movss xmm1, dword [0x18014943c]
movss dword [rsp + 0x44], xmm1
movss xmm0, dword [0x180149440]
movss dword [rsp + 0x48], xmm0
movss xmm1, dword [0x180149444]
mov rax, qword [0x180148c20]
mulss xmm1, dword [rax + 0x37d0]
movss dword [rsp + 0x4c], xmm1
lea rcx, [rsp + 0x40]
call fcn.18001b050
mov edx, eax
xor ecx, ecx
call fcn.18001b560
mov qword [rbp + 0x98], 0
movss dword [rsp + 0x60], xmm9
movss dword [rsp + 0x64], xmm6
movss xmm11, dword [0x1800e2638]
addss xmm7, xmm11
movss dword [rsp + 0x40], xmm7
movaps xmm0, xmm12
addss xmm0, xmm14
movss dword [rsp + 0x44], xmm0
xor ecx, ecx
mov qword [rsp + 0x30], rcx
lea rax, [rbp + 0x98]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov r8, qword [rbp + 0x88]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x40]
call fcn.18001c2b0
mov r8, qword [0x180148c20]
movsxd rax, dword [r8 + 0x4840]
cmp eax, 1
jl 0x180049d7b
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4848]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8 + 0x38b8], xmm0
dec dword [r8 + 0x4840]
mov rax, qword [r8 + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [r8 + 0x3ef8]
mov rdi, qword [rax + 0x298]
movups xmm0, xmmword [rbx + 0x30]
movups xmmword [rsp + 0x60], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r8 + 0x37d0]
movss dword [rsp + 0x6c], xmm0
lea rcx, [rsp + 0x60]
call fcn.18001b050
mov esi, eax
addss xmm9, dword [0x1800e2684]
movss dword [rbp + 0x98], xmm9
movaps xmm6, xmm12
addss xmm6, dword [0x1800e267c]
movss dword [rbp + 0x9c], xmm6
test eax, 0xff000000
je 0x180049e3d
mov dword [rsp + 0x28], 0x63
movss xmm0, dword [0x1800e2650]
movss dword [rsp + 0x20], xmm0
movaps xmm3, xmm10
movaps xmm2, xmm11
lea rdx, [rbp + 0x98]
mov rcx, rdi
call fcn.180037de0
mov r9d, esi
mov r8d, dword [rdi + 0x78]
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.1800372d0
mov dword [rdi + 0x78], 0
mov r8, qword [0x180148c20]
mov rax, qword [r8 + 0x3ef8]
mov byte [rax + 0xb8], 1
mov rax, qword [r8 + 0x3ef8]
mov rsi, qword [rax + 0x298]
mov qword [rsp + 0x40], 0
movups xmm0, xmmword [rbx + 0x30]
movups xmmword [rsp + 0x60], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r8 + 0x37d0]
movss dword [rsp + 0x6c], xmm0
lea rcx, [rsp + 0x60]
call fcn.18001b050
mov edi, eax
movss dword [rbp + 0x98], xmm9
movss dword [rbp + 0x9c], xmm6
mov dword [rsp + 0x20], 0xb
xor r9d, r9d
movaps xmm2, xmm11
lea rdx, [rbp + 0x98]
mov rcx, rsi
call fcn.180037d40
mov dword [rsp + 0x30], 0
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
movss xmm0, dword [0x1800e26d4]
movss dword [rsp + 0x20], xmm0
mov r9d, edi
mov r8d, dword [rsi + 0x78]
mov rdx, qword [rsi + 0x80]
mov rcx, rsi
call fcn.18003a740
mov dword [rsi + 0x78], 0
mov r9, qword [0x180148c20]
mov rax, qword [r9 + 0x3ef8]
mov byte [rax + 0xb8], 1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rsp + 0x60], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r9 + 0x37d0]
movss dword [rsp + 0x6c], xmm0
subss xmm15, xmm8
movss dword [rbp + 0x98], xmm15
addss xmm12, xmm14
movss dword [rbp + 0x9c], xmm12
lea rcx, [rsp + 0x60]
call fcn.18001b050
mov r8d, eax
mov rcx, qword [r9 + 0x3ef8]
mov r9, r12
lea rdx, [rbp + 0x98]
mov rcx, qword [rcx + 0x298]
call fcn.180038d90
test r13b, r13b
je 0x180049f8c
mov eax, dword [rsp + 0x78]
mov dword [r15 + 0x47d0], eax
lea rdx, [rsp + 0x50]
mov ecx, r14d
call fcn.180049ff0
jmp 0x180049f8e
xor al, al
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x40]
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]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180001600
int3