Function at 0x1800e3310
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
mov dword [rax + 0x18], r8d
mov qword [rax + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r15
lea rbp, [rax - 0x748]
sub rsp, 0x818
mov rdi, qword [0x18039a438]
xor ebx, ebx
movaps xmmword [rax - 0x48], xmm6
mov r12, rcx
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 - 0xd8], xmm15
mov rax, qword [rdi + 0x4f50]
mov byte [rax + 0xb8], 1
mov eax, dword [rdi + 0x5830]
mov r15, qword [rdi + 0x4f50]
mov dword [rdi + 0x5830], ebx
mov dword [rsp + 0x68], eax
cmp byte [r15 + 0xbb], bl
jne 0x1800e3d48
movsxd rax, dword [r15 + 0xf0]
xor edx, edx
mov r8, qword [r15 + 0xf8]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1800064a0
movss xmm11, dword [rdi + 0x4808]
mov esi, eax
movss xmm2, dword [rdi + 0x4c78]
addss xmm11, xmm11
mov rcx, r12
addss xmm11, xmm2
cmp r12, 0xffffffffffffffff
jae 0x1800e33fd
nop dword [rax]
movzx edx, byte [rcx]
test dl, dl
je 0x1800e33fd
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x1800e33f4
cmp byte [rax], dl
je 0x1800e33fd
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x1800e33e0
xorps xmm7, xmm7
cmp r12, rcx
jne 0x1800e340b
xorps xmm15, xmm15
jmp 0x1800e3463
movss xmm0, dword [0x18024daac]
lea rdx, [rbp + 0x768]
movss xmm3, dword [0x18024da84]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rdi + 0x4c70]
mov qword [rsp + 0x28], r12
movss dword [rsp + 0x20], xmm0
call fcn.180029480
movss xmm0, dword [rbp + 0x768]
addss xmm0, dword [0x18024d7a4]
movss xmm2, dword [rbp + 0x76c]
cvttss2si eax, xmm0
movd xmm15, eax
cvtdq2ps xmm15, xmm15
call fcn.180016250
comiss xmm15, xmm7
movaps xmm5, xmm0
jbe 0x1800e347e
movaps xmm1, xmm2
addss xmm1, dword [rdi + 0x4820]
jmp 0x1800e3481
xorps xmm1, xmm1
movss xmm10, dword [rdi + 0x4808]
movss xmm8, dword [r15 + 0x104]
movaps xmm0, xmm10
movss xmm6, dword [r15 + 0x100]
addss xmm0, xmm10
movaps xmm3, xmm8
movaps xmm4, xmm6
addss xmm4, xmm5
addss xmm0, xmm2
addss xmm4, xmm7
addss xmm3, xmm0
movaps xmm9, xmm3
addss xmm9, xmm1
jbe 0x1800e34d4
movaps xmm5, xmm2
addss xmm5, dword [rdi + 0x4820]
jmp 0x1800e34d7
xorps xmm5, xmm5
movaps xmm1, xmm6
movss dword [rsp + 0x58], xmm4
movaps xmm0, xmm8
movss dword [rsp + 0x5c], xmm9
addss xmm1, xmm7
addss xmm0, xmm5
movss dword [rsp + 0x50], xmm1
movss dword [rsp + 0x54], xmm0
jbe 0x1800e350b
addss xmm2, dword [rdi + 0x4820]
jmp 0x1800e350e
xorps xmm2, xmm2
addss xmm3, xmm2
movss dword [rbp - 0x68], xmm4
subss xmm4, xmm6
movss dword [rbp - 0x70], xmm6
movaps xmm1, xmm10
movss dword [rbp - 0x6c], xmm8
lea rcx, [rbp + 0x768]
movss dword [rbp - 0x64], xmm3
subss xmm3, xmm8
movss dword [rbp + 0x768], xmm4
movss dword [rbp + 0x76c], xmm3
call fcn.180015c80
lea r8, [rsp + 0x50]
mov edx, esi
lea rcx, [rbp - 0x70]
xor r9d, r9d
call fcn.180015df0
test al, al
je 0x1800e3d48
mov qword [rsp + 0x850], r13
lea r9, [rbp + 0x768]
mov qword [rsp + 0x810], r14
lea r8, [rbp + 0x760]
movaps xmmword [rsp + 0x7a0], xmm12
lea rcx, [rsp + 0x50]
movaps xmmword [rsp + 0x790], xmm13
mov edx, esi
movaps xmmword [rsp + 0x780], xmm14
mov dword [rsp + 0x20], ebx
call fcn.180032970
mov r9d, esi
lea rdx, [0x180220961]
not r9d
lea r11, [0x1801d84a0]
mov ebx, r9d
movzx r10d, al
mov r8b, 0x23
cmp r8b, 0x23
jne 0x1800e35e5
cmp byte [rdx], r8b
jne 0x1800e35e5
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [r11 + rcx*4]
test r8b, r8b
jne 0x1800e35d2
mov r9, qword [0x18039a438]
not ebx
movsxd rax, dword [r9 + 0x5910]
cmp dword [r9 + 0x5900], eax
jle 0x1800e3630
imul rcx, rax, 0x38
mov rax, qword [r9 + 0x5908]
cmp dword [rcx + rax], ebx
jne 0x1800e3630
mov r14b, 1
jmp 0x1800e3633
xor r14b, r14b
test r10b, r10b
je 0x1800e3650
test r14b, r14b
jne 0x1800e3650
xor edx, edx
mov ecx, ebx
call fcn.180017160
mov r9, qword [0x18039a438]
mov r14b, 1
mov ecx, dword [0x180399320]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x1803a0bd0], ecx
jle 0x1800e36e1
lea rcx, [0x1803a0bd0]
call fcn.18015d060
cmp dword [0x1803a0bd0], 0xffffffff
jne 0x1800e36da
xorps xmm0, xmm0
movdqu xmmword [0x1803a0b98], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov r8d, 0x380
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rcx, [0x180192740]
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [0x1803a0b98], rax
call fcn.18015d3e0
lea rcx, [0x1803a0bd0]
call fcn.18015cff4
mov r9, qword [0x18039a438]
mov rcx, qword [0x1803a0b98]
mov r8, rcx
mov rax, qword [rcx + 8]
cmp byte [rax + 0x19], 0
jne 0x1800e370c
cmp dword [rax + 0x1c], esi
jae 0x1800e3700
mov rax, qword [rax + 0x10]
jmp 0x1800e3706
mov r8, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1800e36f5
cmp byte [r8 + 0x19], 0
jne 0x1800e3719
cmp esi, dword [r8 + 0x1c]
jae 0x1800e371c
mov r8, rcx
cmp r8, rcx
jne 0x1800e382e
xor edx, edx
lea rcx, [rbp + 0x304]
mov r8d, 0x360
call fcn.18015fe90
lea rcx, [rbp + 0x304]
call fcn.1800e0df0
mov dword [rbp - 0x60], esi
lea rcx, [rbp - 0x5c]
mov edx, 6
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x1800e3751
movups xmm0, xmmword [rax]
lea r8, [rbp - 0x60]
movups xmm1, xmmword [rax + 0x10]
lea rdx, [rsp + 0x70]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x10], xmm1
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x20], xmm0
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x30], xmm1
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x40], xmm0
movups xmmword [rcx + 0x50], xmm1
lea rcx, [0x1803a0b98]
call fcn.1800e4c90
mov rcx, qword [0x1803a0b98]
mov r8, rcx
mov rax, qword [rcx + 8]
cmp byte [rax + 0x19], 0
jne 0x1800e3817
nop dword [rax + rax]
cmp dword [rax + 0x1c], esi
jae 0x1800e380b
mov rax, qword [rax + 0x10]
jmp 0x1800e3811
mov r8, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1800e3800
cmp byte [r8 + 0x19], 0
jne 0x1800e3824
cmp esi, dword [r8 + 0x1c]
jae 0x1800e3827
mov r8, rcx
mov r9, qword [0x18039a438]
movss xmm0, dword [r8 + 0x90]
mov ecx, 0x4930
movss xmm1, dword [r8 + 0x94]
mov eax, 0x4920
movss xmm4, dword [r9 + 0x18]
mulss xmm4, dword [0x18024d8d0]
movzx r10d, byte [rbp + 0x760]
test r10b, r10b
cmovne eax, ecx
lea rcx, [rsp + 0x40]
add rax, r9
movss xmm5, dword [rax]
movss xmm3, dword [rax + 4]
subss xmm5, xmm0
movss xmm2, dword [rax + 8]
subss xmm3, xmm1
mulss xmm5, xmm4
mulss xmm3, xmm4
addss xmm5, xmm0
movss xmm0, dword [r8 + 0x98]
subss xmm2, xmm0
addss xmm3, xmm1
movss xmm1, dword [r8 + 0x9c]
shufps xmm5, xmm5, 0xe1
mulss xmm2, xmm4
movss xmm5, xmm3
shufps xmm5, xmm5, 0xc6
addss xmm2, xmm0
movss xmm0, dword [rax + 0xc]
subss xmm0, xmm1
movss xmm5, xmm2
mulss xmm0, xmm4
shufps xmm5, xmm5, 0x27
addss xmm0, xmm1
movss xmm5, xmm0
shufps xmm5, xmm5, 0x39
movups xmmword [r8 + 0x90], xmm5
mulss xmm0, dword [r9 + 0x47c8]
movups xmmword [rsp + 0x40], xmm5
movups xmmword [rsp + 0x40], xmm5
movss dword [rsp + 0x4c], xmm0
call fcn.180006a40
movss xmm5, dword [r9 + 0x18]
mulss xmm5, dword [0x18024d8d0]
mov dword [rbp + 0x760], eax
test r14b, r14b
jne 0x1800e3928
mov ecx, 0x48c0
test r10b, r10b
je 0x1800e392d
mov ecx, 0x48b0
movss xmm4, dword [rcx + r9]
subss xmm4, dword [r8 + 0x20]
movss xmm3, dword [rcx + r9 + 4]
subss xmm3, dword [r8 + 0x24]
movss xmm2, dword [rcx + r9 + 8]
subss xmm2, dword [r8 + 0x28]
movss xmm0, dword [rcx + r9 + 0xc]
lea rcx, [rsp + 0x40]
subss xmm0, dword [r8 + 0x2c]
mulss xmm4, xmm5
mulss xmm3, xmm5
addss xmm4, dword [r8 + 0x20]
mulss xmm0, xmm5
addss xmm3, dword [r8 + 0x24]
mulss xmm2, xmm5
addss xmm0, dword [r8 + 0x2c]
shufps xmm4, xmm4, 0xe1
addss xmm2, dword [r8 + 0x28]
movss xmm4, xmm3
shufps xmm4, xmm4, 0xc6
movss xmm4, xmm2
shufps xmm4, xmm4, 0x27
movss xmm4, xmm0
shufps xmm4, xmm4, 0x39
movups xmmword [r8 + 0x20], xmm4
mulss xmm0, dword [r9 + 0x47c8]
movups xmmword [rsp + 0x40], xmm4
movups xmmword [rsp + 0x40], xmm4
movss dword [rsp + 0x4c], xmm0
call fcn.180006a40
movss xmm12, dword [rsp + 0x58]
lea rcx, [rsp + 0x50]
movss xmm8, dword [rsp + 0x50]
movaps xmm0, xmm12
subss xmm0, xmm11
movaps xmm14, xmm8
mov r8d, 1
mov edx, esi
mov r13d, eax
maxss xmm14, xmm0
call fcn.180008330
movss xmm0, dword [rdi + 0x480c]
lea r8, [rsp + 0x58]
mov r9d, dword [rbp + 0x760]
lea rdx, [rsp + 0x50]
mov rcx, qword [r15 + 0x298]
mov dword [rsp + 0x28], 0
movss dword [rsp + 0x20], xmm0
call fcn.1800230c0
movss xmm6, dword [rsp + 0x54]
movaps xmm0, xmm14
addss xmm0, xmm11
movss xmm11, dword [0x18024d7ac]
subss xmm0, dword [rdi + 0x4804]
comiss xmm12, xmm0
jb 0x1800e3a9f
movss xmm0, dword [rdi + 0x4808]
movaps xmm2, xmm14
mov rcx, qword [r15 + 0x298]
addss xmm2, xmm0
movaps xmm1, xmm6
movss dword [rsp + 0x20], xmm11
addss xmm1, xmm0
movzx eax, r14b
neg al
mov r8d, r13d
movaps xmm0, xmm2
sbb r9d, r9d
add r9d, 3
unpcklps xmm0, xmm1
movq rdx, xmm0
call fcn.180029d70
mov rsi, qword [0x18039a438]
movss xmm9, dword [rsp + 0x5c]
movss xmm13, dword [rdi + 0x480c]
movss dword [rsp + 0x60], xmm12
movss xmm10, dword [rsi + 0x4810]
comiss xmm10, xmm7
mov r15, qword [rsi + 0x4f50]
movss dword [rsp + 0x64], xmm9
movss dword [rsp + 0x40], xmm8
movss dword [rsp + 0x44], xmm6
jbe 0x1800e3be1
movups xmm0, xmmword [rsi + 0x4910]
lea rcx, [rsp + 0x70]
movaps xmm1, xmm8
addss xmm12, xmm11
movups xmmword [rsp + 0x70], xmm0
shufps xmm0, xmm0, 0xff
addss xmm1, xmm11
mulss xmm0, dword [rsi + 0x47c8]
movss dword [rbp + 0x768], xmm12
movss dword [rsp + 0x7c], xmm0
movaps xmm0, xmm9
addss xmm0, xmm11
movss dword [rbp - 0x78], xmm1
movss dword [rbp + 0x76c], xmm0
movaps xmm0, xmm6
addss xmm0, xmm11
movss dword [rbp - 0x74], xmm0
call fcn.180006a40
mov rcx, qword [r15 + 0x298]
lea r8, [rbp + 0x768]
movss dword [rsp + 0x30], xmm10
lea rdx, [rbp - 0x78]
xor r13d, r13d
mov r9d, eax
mov dword [rsp + 0x28], r13d
movss dword [rsp + 0x20], xmm13
call fcn.180022fb0
mov rax, qword [0x18039a438]
lea rcx, [rsp + 0x70]
movups xmm0, xmmword [rax + 0x4900]
movups xmmword [rsp + 0x70], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x47c8]
movss dword [rsp + 0x7c], xmm0
call fcn.180006a40
mov rcx, qword [r15 + 0x298]
lea rdx, [rsp + 0x40]
movss dword [rsp + 0x30], xmm10
lea r8, [rsp + 0x60]
mov r9d, eax
mov dword [rsp + 0x28], r13d
movss dword [rsp + 0x20], xmm13
call fcn.180022fb0
mov rsi, qword [0x18039a438]
jmp 0x1800e3be4
xor r13d, r13d
mov r15, qword [rbp + 0x758]
movaps xmm13, xmmword [rsp + 0x790]
movaps xmm12, xmmword [rsp + 0x7a0]
test r15, r15
je 0x1800e3cfa
cmp byte [rdi + 0x6d20], 0
je 0x1800e3c2b
lea rax, [0x180220974]
mov qword [rsi + 0x6d40], rax
lea rax, [0x180220970]
mov qword [rsi + 0x6d48], rax
movups xmm0, xmmword [rsi + 0x48b0]
lea rcx, [rsi + 0x58a0]
mov dword [rsp + 0x70], r13d
lea rdx, [rsp + 0x70]
movups xmmword [rsp + 0x74], xmm0
call fcn.18001e150
movups xmm0, xmmword [rsi + 0x48c0]
lea rax, [rbp + 0x768]
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x40]
movups xmmword [rsi + 0x48b0], xmm0
xor r9d, r9d
mov r8, r15
addss xmm8, dword [rdi + 0x4804]
addss xmm6, dword [rdi + 0x4808]
lea rcx, [rsp + 0x60]
movss dword [rsp + 0x40], xmm14
movss dword [rsp + 0x44], xmm9
mov qword [rbp + 0x768], 0
movss dword [rsp + 0x60], xmm8
movss dword [rsp + 0x64], xmm6
mov qword [rsp + 0x20], r13
call fcn.180007db0
mov r8, qword [0x18039a438]
movsxd rax, dword [r8 + 0x58a0]
cmp eax, 1
jl 0x1800e3cfa
mov rcx, qword [r8 + 0x58a8]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, 0x48b
add rax, rax
movups xmmword [r8 + rax*8], xmm0
dec dword [r8 + 0x58a0]
comiss xmm15, xmm7
mov r13, qword [rsp + 0x850]
movaps xmm14, xmmword [rsp + 0x780]
jbe 0x1800e3d23
mov rcx, qword [rbp - 0x70]
mov r9b, 1
xor r8d, r8d
mov rdx, r12
call fcn.180007400
test r14b, r14b
mov r14, qword [rsp + 0x810]
je 0x1800e3d48
mov eax, dword [rsp + 0x68]
lea rdx, [rsp + 0x50]
mov ecx, ebx
mov dword [rdi + 0x5830], eax
call fcn.180035cb0
jmp 0x1800e3d4a
xor al, al
lea r11, [rsp + 0x818]
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 xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret