Function at 0x180036520
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
mov rdi, qword [0x180141b18]
xor r12d, r12d
vmovaps xmmword [rax - 0x48], xmm6
vmovaps xmmword [rax - 0x58], xmm7
vmovaps xmmword [rax - 0x68], xmm8
vmovaps xmmword [rax - 0x78], xmm9
vmovaps xmmword [rax - 0xb8], xmm13
mov rax, qword [rdi + 0x3f48]
mov ebx, r8d
mov r15, rcx
mov byte [rax + 0xb8], 1
mov eax, dword [rdi + 0x4828]
mov r14, qword [rdi + 0x3f48]
mov dword [rdi + 0x4828], r12d
mov dword [rbp - 0x78], eax
cmp byte [r14 + 0xbb], r12b
jne 0x180036c46
movsxd rax, dword [r14 + 0xf0]
xor edx, edx
mov r8, qword [r14 + 0xf8]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.180006870
mov esi, eax
mov dword [rsp + 0x48], eax
mov eax, ebx
and eax, 0x20
mov dword [rsp + 0x68], eax
vxorps xmm8, xmm8, xmm8
je 0x1800365da
vxorps xmm9, xmm9, xmm9
jmp 0x1800365ee
vmovss xmm0, dword [rdi + 0x3808]
vaddss xmm1, xmm0, xmm0
vaddss xmm9, xmm1, dword [rdi + 0x3c70]
mov rcx, r15
vmovss dword [rsp + 0x6c], xmm9
cmp r15, 0xffffffffffffffff
jae 0x18003661d
nop dword [rax]
movzx edx, byte [rcx]
test dl, dl
je 0x18003661d
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x180036614
cmp byte [rax], dl
je 0x18003661d
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x180036600
vmovss xmm6, dword [rdi + 0x3c70]
cmp r15, rcx
jne 0x180036635
vmovaps xmm13, xmm8
vmovaps xmm7, xmm6
jmp 0x18003669e
vmovss xmm0, dword [0x180130738]
vmovss xmm3, dword [0x180130714]
mov qword [rsp + 0x38], r12
lea rdx, [rbp + 0x98]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rdi + 0x3c68]
mov qword [rsp + 0x28], r15
vmovaps xmm2, xmm6
vmovss dword [rsp + 0x20], xmm0
call fcn.180028aa0
vmovss xmm0, dword [rbp + 0x98]
vaddss xmm1, xmm0, dword [0x1801305b4]
vmovss xmm6, dword [rbp + 0x9c]
vmovss xmm7, dword [rdi + 0x3c70]
vcvttss2si eax, xmm1
vxorps xmm13, xmm13, xmm13
vcvtsi2ss xmm13, xmm13, eax
mov r13d, ebx
and r13d, 0x40
je 0x1800366ae
vmovaps xmm0, xmm9
jmp 0x1800366b3
call fcn.180016740
vcomiss xmm13, xmm8
vmovss xmm5, dword [rdi + 0x3808]
vmovss xmm3, dword [r14 + 0x100]
vmovss xmm4, dword [r14 + 0x104]
vaddss xmm1, xmm5, xmm5
vaddss xmm2, xmm1, xmm7
vcmpltss xmm1, xmm8, xmm13
vblendvps xmm1, xmm8, xmm6, xmm1
vaddss xmm6, xmm3, xmm0
vmovss dword [rsp + 0x70], xmm0
vaddss xmm0, xmm1, xmm2
vaddss xmm7, xmm0, xmm4
jbe 0x180036704
vaddss xmm0, xmm2, dword [rdi + 0x381c]
jmp 0x180036709
vmovaps xmm0, xmm8
vaddss xmm0, xmm3, xmm0
vmovss dword [rsp + 0x58], xmm0
vunpcklps xmm0, xmm6, xmm7
vaddss xmm1, xmm4, xmm1
vmovsd qword [rsp + 0x60], xmm0
vmovss dword [rsp + 0x5c], xmm1
jbe 0x180036733
vaddss xmm0, xmm2, dword [rdi + 0x381c]
jmp 0x180036738
vmovaps xmm0, xmm8
vsubss xmm0, xmm6, xmm0
vsubss xmm2, xmm7, xmm8
vmovss dword [rbp - 0x68], xmm0
vmovss dword [rbp - 0x64], xmm2
vsubss xmm0, xmm0, xmm3
vsubss xmm2, xmm2, xmm4
vmovaps xmm1, xmm5
lea rcx, [rbp + 0x98]
vmovss dword [rbp + 0x98], xmm0
vmovss dword [rbp + 0x9c], xmm2
vmovss dword [rbp - 0x70], xmm3
vmovss dword [rbp - 0x6c], xmm4
call fcn.1800162a0
lea r8, [rsp + 0x58]
mov edx, esi
lea rcx, [rbp - 0x70]
xor r9d, r9d
call fcn.180016430
test al, al
je 0x180036c46
vmovaps xmmword [rsp + 0xf0], xmm10
vmovaps xmmword [rsp + 0xe0], xmm11
vmovaps xmmword [rsp + 0xd0], xmm12
vmovaps xmmword [rsp + 0xb0], xmm14
lea r9, [rsp + 0x40]
mov dword [rsp + 0x20], r12d
lea r8, [rbp + 0x98]
mov edx, esi
lea rcx, [rsp + 0x58]
vmovaps xmmword [rsp + 0xa0], xmm15
call fcn.180032a80
mov r9d, esi
lea rdx, [0x18012f8b9]
not r9d
lea r11, [0x1800f6020]
mov ebx, r9d
movzx r10d, al
mov r8b, 0x23
cmp r8b, 0x23
jne 0x180036813
cmp byte [rdx], r8b
jne 0x180036813
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 0x180036800
mov rdx, qword [0x180141b18]
not ebx
movsxd rax, dword [rdx + 0x4908]
cmp dword [rdx + 0x48f8], eax
jle 0x18003685d
imul rcx, rax, 0x38
mov rax, qword [rdx + 0x4900]
cmp dword [rcx + rax], ebx
jne 0x18003685d
mov sil, 1
jmp 0x180036860
xor sil, sil
test r10b, r10b
je 0x18003687d
test sil, sil
jne 0x18003687d
xor edx, edx
mov ecx, ebx
call fcn.180017580
mov rdx, qword [0x180141b18]
mov sil, 1
cmp byte [rbp + 0x98], 0
lea rcx, [rsp + 0x58]
vmovss xmm6, dword [rsp + 0x60]
vsubss xmm1, xmm6, xmm9
vmovss xmm9, dword [rsp + 0x58]
mov eax, 0x448
mov r12d, 0x168
cmovne eax, r12d
mov r8d, 1
vmaxss xmm10, xmm9, xmm1
vmovups xmm0, xmmword [rax + rdx + 0x37c8]
vmovups xmmword [rsp + 0x78], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rdx + 0x37c8]
mov edx, dword [rsp + 0x48]
vmovss dword [rbp - 0x7c], xmm0
call fcn.180008e00
mov rax, qword [0x180141b18]
lea rcx, [rsp + 0x48]
vmovups xmm0, xmmword [rax + 0x3920]
vmovups xmmword [rsp + 0x48], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x37c8]
vmovss dword [rsp + 0x54], xmm0
call fcn.180006e20
vmovss xmm0, dword [rdi + 0x380c]
vmovsd xmm14, qword [rsp + 0x60]
vmovsd xmm15, qword [rsp + 0x58]
vmovq rdx, xmm14
vmovq rcx, xmm15
mov r8d, eax
mov r9b, 1
vmovss dword [rsp + 0x20], xmm0
call fcn.180008b00
mov ecx, 0xf0
vmovss xmm12, dword [rsp + 0x64]
test r13d, r13d
jne 0x1800369a4
cmp dword [rsp + 0x68], r13d
mov r8d, 0x50
vmovss dword [rsp + 0x48], xmm10
cmovne r8d, ecx
lea rcx, [rsp + 0x78]
vmovss dword [rsp + 0x4c], xmm12
call fcn.180006e20
vmovss xmm0, dword [rdi + 0x380c]
mov rcx, qword [r14 + 0x298]
lea rdx, [rsp + 0x58]
mov dword [rsp + 0x28], r8d
mov r9d, eax
lea r8, [rsp + 0x48]
vmovss dword [rsp + 0x20], xmm0
call fcn.180022e40
mov ecx, 0xf0
cmp dword [rsp + 0x68], 0
vmovss xmm11, dword [rsp + 0x5c]
jne 0x180036ae4
test sil, sil
jne 0x1800369c9
cmp byte [rbp + 0x98], sil
jne 0x1800369c9
mov r12d, 0x178
mov rax, qword [0x180141b18]
mov r8d, 0xa0
vmovss xmm7, dword [rsp + 0x6c]
vcomiss xmm7, dword [rsp + 0x70]
vmovss dword [rbp + 0x98], xmm10
vmovups xmm0, xmmword [r12 + rax + 0x37c8]
vmovups xmmword [rsp + 0x78], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x37c8]
cmovae r8d, ecx
lea rcx, [rsp + 0x78]
vmovss dword [rbp - 0x7c], xmm0
vmovss dword [rbp + 0x9c], xmm11
call fcn.180006e20
vmovss xmm0, dword [rdi + 0x380c]
mov rcx, qword [r14 + 0x298]
lea rdx, [rbp + 0x98]
mov dword [rsp + 0x28], r8d
mov r9d, eax
lea r8, [rsp + 0x60]
vmovss dword [rsp + 0x20], xmm0
call fcn.180022e40
vaddss xmm0, xmm10, xmm7
vsubss xmm1, xmm0, dword [rdi + 0x3804]
vcomiss xmm6, xmm1
jb 0x180036ae4
mov rax, qword [0x180141b18]
lea rcx, [rsp + 0x78]
vmovss xmm1, dword [rdi + 0x3808]
vaddss xmm7, xmm1, xmm10
vmovups xmm0, xmmword [rax + 0x3c40]
vmovups xmmword [rsp + 0x78], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x37c8]
movzx eax, sil
neg al
vmovss dword [rbp - 0x7c], xmm0
sbb r9d, r9d
vaddss xmm0, xmm1, xmm11
vaddss xmm6, xmm0, dword [0x180130620]
add r9d, 3
call fcn.180006e20
vmovss xmm0, dword [0x180130570]
mov rcx, qword [r14 + 0x298]
mov r8d, eax
vmovss dword [rsp + 0x20], xmm0
vunpcklps xmm0, xmm7, xmm6
vmovq rdx, xmm0
call fcn.180029390
vmovss xmm2, dword [rdi + 0x380c]
vmovq rdx, xmm14
vmovq rcx, xmm15
call fcn.180008cb0
mov r14d, dword [rbp + 0x90]
vmovaps xmm15, xmmword [rsp + 0xa0]
vmovaps xmm14, xmmword [rsp + 0xb0]
bt r14d, 0x14
jae 0x180036b3a
vinsertps xmm0, xmm9, xmm11, 0x10
vinsertps xmm0, xmm0, xmm10, 0x20
vinsertps xmm0, xmm0, xmm12, 0x30
vmovups xmmword [rdi + 0x5be4], xmm0
jmp 0x180036be1
mov r8, qword [rbp + 0x88]
test r8, r8
je 0x180036be1
test r13d, r13d
jne 0x180036be1
cmp byte [rdi + 0x5d18], r13b
je 0x180036b7f
mov rax, qword [0x180141b18]
lea rcx, [0x18012f8cc]
mov qword [rax + 0x5d38], rcx
lea rcx, [0x18012f8c8]
mov qword [rax + 0x5d40], rcx
vaddss xmm0, xmm9, dword [rdi + 0x3804]
vaddss xmm1, xmm11, dword [rdi + 0x3808]
xor ecx, ecx
lea rax, [rbp + 0x98]
mov qword [rsp + 0x30], rcx
lea rdx, [rsp + 0x48]
mov qword [rsp + 0x28], rax
xor r9d, r9d
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x70]
vmovss dword [rbp + 0x98], xmm8
vmovss dword [rbp + 0x9c], xmm8
vmovss dword [rsp + 0x48], xmm10
vmovss dword [rsp + 0x4c], xmm12
vmovss dword [rsp + 0x70], xmm0
vmovss dword [rsp + 0x74], xmm1
call fcn.180008170
vcomiss xmm13, xmm8
vmovaps xmm12, xmmword [rsp + 0xd0]
vmovaps xmm11, xmmword [rsp + 0xe0]
vmovaps xmm10, xmmword [rsp + 0xf0]
jbe 0x180036c27
vmovss xmm0, dword [rbp - 0x6c]
vaddss xmm1, xmm0, dword [rdi + 0x3808]
vunpcklps xmm0, xmm9, xmm1
vmovq rcx, xmm0
mov r9b, 1
xor r8d, r8d
mov rdx, r15
call fcn.180007840
test sil, sil
je 0x180036c46
mov eax, dword [rbp - 0x78]
lea rdx, [rsp + 0x58]
mov r8d, r14d
mov dword [rdi + 0x4828], eax
mov ecx, ebx
call fcn.180036c90
jmp 0x180036c48
xor al, al
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x40]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
vmovaps xmm8, xmmword [r11 - 0x30]
vmovaps xmm9, xmmword [r11 - 0x40]
vmovaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret