Function at 0x18000d13c
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x38]
sub rsp, 0x110
xor ebx, ebx
movaps xmmword [rax - 0x38], xmm6
cmp byte [0x18002cd10], bl
je 0x18000d672
mov rcx, qword [0x18002cd08]
movabs r14, 0x7ffffffeffff
lea rax, [rcx - 0x10000]
cmp rax, r14
ja 0x18000d672
call fcn.18000b3a8
mov rcx, qword [rax]
add rcx, 0xffffffffffff0000
cmp rcx, r14
ja 0x18000d672
mov rcx, qword [0x18002cd08]
call fcn.18000c5b0
test al, al
je 0x18000d672
mov rcx, qword [0x18002d190]
lea rax, [rcx - 0x10000]
cmp rax, r14
ja 0x18000d672
mov r15, qword [rcx + 0x28]
lea rax, [r15 - 0x10000]
cmp rax, r14
ja 0x18000d672
mov rax, qword [0x180020340]
cmp rax, qword [0x180020348]
movsxd rcx, dword [r15 + 0x10]
je 0x18000d204
mov qword [0x180020348], rax
lea rax, [0x180020340]
mov r12, rcx
test ecx, ecx
jle 0x18000d63e
mov rsi, rbx
mov r13d, 0x20
test rsi, rsi
js 0x18000d637
cmp rsi, r12
jge 0x18000d637
mov rax, qword [r15 + 0x18]
mov rdi, qword [rax + r13]
lea rax, [rdi - 0x10000]
cmp rax, r14
ja 0x18000d612
test rdi, rdi
je 0x18000d612
mov rcx, rdi
call fcn.18000b3a8
mov rcx, qword [rax]
lea rax, [rcx - 0x10000]
cmp rax, r14
ja 0x18000d612
test rcx, rcx
je 0x18000d612
mov rcx, rdi
call fcn.18000b620
mov rcx, qword [rax]
lea rax, [rcx - 0x10000]
cmp rax, r14
ja 0x18000d612
test rcx, rcx
je 0x18000d612
mov rcx, rdi
call fcn.18000b10c
test al, al
je 0x18000d2b2
cmp byte [0x18002d050], bl
je 0x18000d612
mov rcx, rdi
call fcn.18000c5b0
test al, al
je 0x18000d612
cmp rdi, qword [0x18002cd08]
je 0x18000d612
mov rcx, rdi
call fcn.18000b620
mov rcx, qword [rax]
call fcn.180009090
test al, al
je 0x18000d2ef
cmp byte [0x18002cc24], bl
je 0x18000d612
mov rcx, rdi
mov qword [rbp - 0x60], rdi
call fcn.180011fec
mov rdx, qword [0x180020330]
cmp rdx, qword [0x180020338]
mov rcx, qword [rax]
mov qword [rbp - 0x58], rcx
je 0x18000d324
movups xmm0, xmmword [rbp - 0x60]
movdqu xmmword [rdx], xmm0
add qword [0x180020330], 0x10
jmp 0x18000d334
lea r8, [rbp - 0x60]
lea rcx, [0x180020328]
call fcn.18000cda0
cmp byte [0x18002d058], bl
je 0x18000d612
mov rcx, qword [0x18002cd08]
call fcn.18000c174
mov r14, rax
lea rcx, [rax - 0x10000]
movabs rax, 0x7ffffffeffff
cmp rcx, rax
ja 0x18000d60f
test r14, r14
je 0x18000d60f
movabs rax, 0xc58abf345c1f8407
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x50], rax
movabs rdx, 0xa0e6da79396ce545
movabs rax, 0x29348c6c53e69d47
mov qword [rbp - 0x50], rdx
mov qword [rsp + 0x58], rax
movabs r9, 0x29348c6c53e69d22
mov qword [rbp - 0x48], r9
movabs r10, 0xcbf29ce484222325
movdqa xmm0, xmmword [rbp - 0x50]
mov r8, r10
xorps xmm0, xmmword [rsp + 0x50]
movabs r11, 0x100000001b3
movdqa xmmword [rsp + 0x50], xmm0
movq rax, xmm0
test al, al
je 0x18000d3f3
movsx rax, al
xor r8, rax
imul r8, r11
inc rcx
mov al, byte [rcx]
jmp 0x18000d3dd
movabs rax, 0xcd8bbb11520f840f
mov qword [rbp - 0x40], rdx
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0x60]
movabs rax, 0x29348c6c53e6ef47
mov qword [rbp - 0x38], r9
mov qword [rsp + 0x68], rax
mov rcx, r10
movdqa xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rsp + 0x60], xmm0
movq rax, xmm0
jmp 0x18000d448
movsx rax, al
xor rcx, rax
imul rcx, r11
inc rdx
mov al, byte [rdx]
test al, al
jne 0x18000d438
mov r9, qword [r14]
test r9, r9
jne 0x18000d459
mov rdx, rbx
jmp 0x18000d477
mov r9, qword [r9 + 0x10]
mov rdx, r10
jmp 0x18000d470
movsx rax, al
xor rdx, rax
imul rdx, r11
inc r9
mov al, byte [r9]
test al, al
jne 0x18000d462
cmp rdx, r8
je 0x18000d485
cmp rdx, rcx
jne 0x18000d603
mov edx, 0x30
mov rcx, rdi
call fcn.18000ab0c
lea rdx, [rbp - 0x30]
mov rcx, rax
call fcn.1800095a8
mov rcx, qword [0x18002cd08]
movsd xmm6, qword [rax]
mov ebx, dword [rax + 8]
call fcn.18001208c
lea rdx, [rbp - 0x24]
movsd qword [rsp + 0x70], xmm6
mov dword [rsp + 0x78], ebx
mov rcx, qword [rax]
call fcn.18000ced4
xor ebx, ebx
lea rdx, [rsp + 0x70]
xorps xmm3, xmm3
mov qword [rsp + 0x20], rbx
mov r8d, 0x48a12001
lea rcx, [rbp - 0x80]
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movsd qword [rbp - 0x80], xmm0
mov dword [rbp - 0x78], eax
call fcn.18000aba8
test al, al
je 0x18000d603
lea edx, [rbx + 0x30]
mov rcx, rdi
call fcn.18000ab0c
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.1800095a8
movsd xmm0, qword [rsp + 0x30]
lea r8, [rbp - 0x70]
mov eax, dword [rsp + 0x38]
lea rdx, [rbp - 0x18]
mov rcx, qword [0x18002cd08]
movsd qword [rbp - 0x70], xmm0
mov dword [rbp - 0x68], eax
call fcn.18000bfa0
mov rcx, qword [0x18002cd08]
lea edx, [rbx + 0x30]
call fcn.18000ab0c
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.1800095a8
movss xmm2, dword [rsp + 0x44]
mov eax, 0x5f3759df
subss xmm2, dword [rsp + 0x34]
movss xmm1, dword [rsp + 0x40]
subss xmm1, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x48]
subss xmm0, dword [rsp + 0x38]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
movd ecx, xmm2
movaps xmm3, xmm2
mulss xmm3, dword [0x180025880]
movss xmm2, dword [0x180025884]
sar ecx, 1
sub eax, ecx
movd xmm1, eax
movaps xmm0, xmm1
mulss xmm0, xmm3
mulss xmm0, xmm1
subss xmm2, xmm0
mulss xmm2, xmm1
movss xmm1, dword [0x180025884]
movaps xmm0, xmm2
mulss xmm0, xmm3
mulss xmm0, xmm2
subss xmm1, xmm0
movss xmm0, dword [0x180023ba0]
mulss xmm1, xmm2
divss xmm0, xmm1
comiss xmm0, dword [0x1800268b4]
ja 0x18000d603
mov r8b, 1
mov rdx, r14
mov rcx, rdi
call fcn.18000e190
movabs r14, 0x7ffffffeffff
jmp 0x18000d612
mov r14, rax
inc rsi
add r13, 8
cmp rsi, r12
jl 0x18000d21f
lea rax, [0x180020340]
lea rcx, [0x180020328]
cmp rax, rcx
je 0x18000d65b
jmp 0x18000d63e
lea rax, [0x180020340]
mov rdx, qword [0x180020328]
mov rcx, rax
mov r8, qword [0x180020330]
sub r8, rdx
sar r8, 4
call fcn.18000cb04
mov rax, qword [0x180020328]
cmp rax, qword [0x180020330]
je 0x18000d672
mov qword [0x180020330], rax
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret