Function at 0x180024e20
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push r13
push r15
lea rbp, [rsp - 0x68]
sub rsp, 0x168
cmp byte [0x1800ec03c], 0
mov r15, rdx
movaps xmmword [rsp + 0x120], xmm8
mov rsi, rcx
movaps xmm8, xmm2
je 0x180025403
mov rcx, qword [0x1800e9af0]
movabs r13, 0x7ffffffdfffe
mov r8, qword [0x1800e9ad8]
cmp rcx, r8
jbe 0x180024e85
add r8, qword [0x1800e9ae0]
cmp rcx, r8
jb 0x180024e95
lea rax, [rcx - 0x10000]
cmp rax, r13
ja 0x180025403
call fcn.180012f50
test al, al
jne 0x180025403
mov rcx, qword [0x1800e9af0]
call fcn.180012f30
test al, al
jne 0x180025403
mov qword [rsp + 0x160], rdi
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x158], r12
mov qword [rsp + 0x150], r14
movaps xmmword [rsp + 0x140], xmm6
call fcn.180022fb0
call fcn.18001bf30
call fcn.18001c0f0
call fcn.18001c0f0
call fcn.18001bf30
mov r14, qword [0x1800ebcc0]
xor r12d, r12d
mov rdi, qword [0x1800ebcb8]
xorps xmm6, xmm6
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x48], 0
cmp rdi, r14
je 0x18002518e
mov qword [rsp + 0x1a0], rbx
movabs rsi, 0xcbf29ce484222325
movaps xmmword [rsp + 0x110], xmm9
movabs r15, 0x100000001b3
movss xmm9, dword [0x1800c6f54]
movaps xmmword [rsp + 0x130], xmm7
nop dword [rax + rax]
movups xmm0, xmmword [rdi + 0x10]
mov rbx, qword [rdi]
mov rcx, qword [0x1800e9ad8]
movups xmmword [rbp - 0x20], xmm0
cmp rbx, rcx
jbe 0x180024f83
add rcx, qword [0x1800e9ae0]
cmp rbx, rcx
jb 0x180024f93
lea rax, [rbx - 0x10000]
cmp rax, r13
ja 0x18002515a
mov rcx, rbx
call fcn.180011420
test al, al
jne 0x18002515a
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
movsx rax, byte [rcx]
test al, al
je 0x18002515a
mov rdx, rax
xor rdx, rsi
imul rdx, r15
inc rcx
call fcn.18000aae0
movabs rcx, 0xd0ea5d71c7107112
cmp rax, rcx
jne 0x18002515a
mov rcx, rbx
call fcn.180017cb0
lea rdx, [rbp - 0x40]
mov rcx, rax
call fcn.18001cd10
cmp byte [0x1800ec03e], r12b
movsd xmm0, qword [rax]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rax + 8]
mov dword [rsp + 0x48], eax
je 0x180025075
mov rcx, qword [0x1800e9af0]
call fcn.1800264f0
lea rdx, [rbp - 0x50]
mov rcx, rax
call fcn.180012ab0
movaps xmm3, xmm6
mov qword [rsp + 0x28], r12
mov r8d, 0x48a12001
movss dword [rsp + 0x20], xmm6
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x40]
call fcn.18001e0b0
test al, al
je 0x18002515a
mov qword [rsp + 0x28], r12
lea rdx, [rsp + 0x40]
movaps xmm3, xmm6
movss dword [rsp + 0x20], xmm6
mov r8d, 0x48a12001
lea rcx, [rbp - 0x50]
call fcn.18001e0b0
test al, al
je 0x18002515a
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x38], r12d
call fcn.180016d80
mov ecx, dword [rsp + 0x48]
lea r8, [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
lea rdx, [rbp - 0x60]
mov dword [rbp - 0x58], ecx
mov rcx, rax
movsd qword [rbp - 0x60], xmm0
call fcn.1800177a0
test al, al
je 0x18002515a
movss xmm0, dword [rsp + 0x30]
ucomiss xmm0, xmm6
jp 0x1800250da
jne 0x1800250da
movss xmm0, dword [rsp + 0x34]
ucomiss xmm0, xmm6
jp 0x1800250da
jne 0x1800250da
movss xmm0, dword [rsp + 0x38]
ucomiss xmm0, xmm6
jp 0x1800250da
je 0x18002515a
call fcn.18001bf30
xorps xmm7, xmm7
cvtsi2ss xmm7, eax
mulss xmm7, xmm9
call fcn.18001c0f0
call fcn.18001bf30
call fcn.18001c0f0
subss xmm7, dword [rsp + 0x34]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm7, xmm7
mulss xmm0, xmm9
subss xmm0, dword [rsp + 0x30]
mulss xmm0, xmm0
addss xmm7, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm7
ja 0x18002512f
xorps xmm0, xmm0
sqrtss xmm0, xmm7
jmp 0x180025137
movaps xmm0, xmm7
call fcn.1800c17b0
comiss xmm8, xmm0
jbe 0x18002515a
mov eax, dword [rsp + 0x48]
movaps xmm8, xmm0
movsd xmm0, qword [rsp + 0x40]
movsd qword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rbx
mov dword [rsp + 0x58], eax
add rdi, 0x20
cmp rdi, r14
jne 0x180024f60
movaps xmm9, xmmword [rsp + 0x110]
movaps xmm7, xmmword [rsp + 0x130]
mov rbx, qword [rsp + 0x1a0]
mov rsi, qword [rbp + 0x90]
mov r15, qword [rbp + 0x98]
mov r14, qword [rsp + 0x150]
mov rdi, qword [rsp + 0x160]
cmp qword [rsp + 0x60], r12
je 0x180025397
movss xmm0, dword [rsp + 0x50]
ucomiss xmm0, xmm6
jp 0x1800251d4
jne 0x1800251d4
movss xmm0, dword [rsp + 0x54]
ucomiss xmm0, xmm6
jp 0x1800251d4
jne 0x1800251d4
movss xmm0, dword [rsp + 0x58]
ucomiss xmm0, xmm6
jp 0x1800251d4
je 0x180025397
mov rcx, qword [rsp + 0x60]
lea rdx, [rsp + 0x30]
call fcn.180010c40
movss xmm0, dword [rsp + 0x30]
ucomiss xmm0, xmm6
jp 0x18002523a
jne 0x18002523a
movss xmm0, dword [rsp + 0x34]
ucomiss xmm0, xmm6
jp 0x18002523a
jne 0x18002523a
movss xmm0, dword [rsp + 0x38]
ucomiss xmm0, xmm6
jp 0x18002523a
jne 0x18002523a
mov rcx, qword [rsp + 0x60]
lea rdx, [rbp - 0x40]
call fcn.180010c40
movsd xmm0, qword [rax]
movsd qword [rbp - 0x70], xmm0
mov eax, dword [rax + 8]
mov dword [rbp - 0x68], eax
mov qword [rbp - 0x80], r12
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x70], r12
jmp 0x18002534d
mov rax, qword [rsp + 0x70]
movsd xmm0, qword [rsp + 0x30]
mov edx, dword [rsp + 0x38]
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x68]
movsd qword [rax + rcx*4], xmm0
mov dword [rax + rcx*4 + 8], edx
mov rcx, qword [rbp - 0x80]
mov r9, qword [rbp - 0x78]
cmp rcx, r9
jne 0x18002527f
mov rax, qword [rsp + 0x78]
xor edx, edx
inc rax
div r9
mov r8, rdx
mov qword [rsp + 0x78], rdx
jmp 0x18002528b
mov r8, qword [rsp + 0x78]
inc rcx
mov qword [rbp - 0x80], rcx
mov rax, qword [rsp + 0x70]
xor edx, edx
inc rax
mov qword [rbp - 8], r8
div r9
lea rax, [rsp + 0x68]
mov qword [rbp], rcx
movaps xmm0, xmm6
mov qword [rbp - 0x10], rax
mov qword [rsp + 0x70], rdx
lea rax, [rsp + 0x68]
mov qword [rbp - 0x28], r8
lea rdx, [rbp - 0x30]
unpcklps xmm0, xmm6
lea r9, [rbp - 0x60]
lea r8, [rbp - 0x10]
movss dword [rbp - 0x58], xmm6
lea rcx, [rbp - 0x40]
mov byte [rbp + 8], r12b
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x20], r12
mov byte [rbp - 0x18], r12b
movsd qword [rbp - 0x60], xmm0
call fcn.180022d80
mov rcx, qword [rbp - 0x80]
xorps xmm2, xmm2
movsd xmm0, qword [rax]
movsd qword [rbp - 0x70], xmm0
mov eax, dword [rax + 8]
mov dword [rbp - 0x68], eax
test rcx, rcx
js 0x18002530e
cvtsi2ss xmm2, rcx
jmp 0x180025323
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm2, rax
addss xmm2, xmm2
movss xmm0, dword [rbp - 0x70]
movss xmm1, dword [rbp - 0x6c]
divss xmm0, xmm2
divss xmm1, xmm2
movss dword [rbp - 0x70], xmm0
movss xmm0, dword [rbp - 0x68]
divss xmm0, xmm2
movss dword [rbp - 0x6c], xmm1
movss dword [rbp - 0x68], xmm0
mov qword [rsp + 0x28], r12
lea rdx, [rsp + 0x50]
movaps xmm3, xmm6
movss dword [rsp + 0x20], xmm6
mov r8d, 0x48a12001
mov rcx, r15
call fcn.18001e0b0
test al, al
je 0x180025397
mov qword [rsp + 0x28], r12
lea rcx, [rsp + 0x50]
movaps xmm3, xmm6
movss dword [rsp + 0x20], xmm6
mov r8d, 0x48a12001
mov rdx, r15
call fcn.18001e0b0
test al, al
jne 0x1800253aa
cmp byte [0x1800ec03e], r12b
je 0x1800253aa
mov rcx, rsi
call fcn.180022fb0
jmp 0x1800253e2
mov eax, dword [rsp + 0x58]
lea rdx, [rsp + 0x68]
movsd xmm0, qword [rsp + 0x50]
lea rcx, [rsi + 0x18]
movsd qword [rsi], xmm0
mov dword [rsi + 8], eax
mov rax, qword [rsp + 0x60]
mov qword [rsi + 0x10], rax
call fcn.180022e80
movsd xmm0, qword [rbp - 0x70]
mov eax, dword [rbp - 0x68]
movsd qword [rsi + 0x40], xmm0
mov dword [rsi + 0x48], eax
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x1800253f1
call fcn.1800bffa0
movaps xmm6, xmmword [rsp + 0x140]
mov r12, qword [rsp + 0x158]
jmp 0x18002540b
mov rcx, rsi
call fcn.180022fb0
movaps xmm8, xmmword [rsp + 0x120]
mov rax, rsi
add rsp, 0x168
pop r15
pop r13
pop rsi
pop rbp
ret