Function at 0x18003b7d0
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0xd0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
mov rax, qword [0x180118100]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov rbx, rcx
xor edi, edi
lea r14, [rcx + 0x50]
lea rsi, [rcx + 0x30]
mov rcx, qword [rsi + 0x10]
mov rdx, qword [r14 + 0x10]
movabs r15, 0x7fffffffffffffff
mov rax, r15
sub rax, rcx
cmp rax, rdx
jb 0x18003bd9d
mov r9, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x18003b849
mov r9, qword [rsi]
mov rax, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x18003b856
mov rax, qword [r14]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x60]
call fcn.18002e9e0
nop
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0xf
cmova rcx, qword [rsp + 0x60]
movsx eax, byte [rcx]
mov ebp, 0x811c9dc5
test al, al
jne 0x18003b891
mov eax, ebp
jmp 0x18003b8a1
xor eax, ebp
imul edx, eax, 0x1000193
inc rcx
call fcn.180036e90
add eax, 0x326fb03c
mov dword [rsp + 0x40], eax
xorps xmm8, xmm8
xorps xmm2, xmm2
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.180035b00
nop
lea rcx, [rsp + 0x60]
call fcn.1800304d0
movss xmm6, dword [rbx + 0x18]
movss xmm7, dword [rbx + 0x1c]
movss xmm4, dword [0x1800fe27c]
addss xmm7, xmm4
addss xmm7, dword [rbx + 0x24]
subss xmm7, dword [0x1800fe1e8]
mov rax, qword [rbx + 0xc8]
test rax, rax
je 0x18003bd57
movss xmm0, dword [rax + 0x20]
subss xmm0, dword [0x1800fe290]
movss dword [rsp + 0x48], xmm0
mov dword [rsp + 0x4c], 0x41a00000
mov rax, qword [rsp + 0x48]
mov qword [rbx + 0x20], rax
movss xmm9, dword [rsp + 0x50]
movaps xmm2, xmm9
mulss xmm2, dword [rbx + 0x110]
cvttss2si ecx, xmm7
cvttss2si edx, xmm6
mov rax, qword [0x1801b42e0]
movss xmm3, dword [rax]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
comiss xmm3, xmm0
jbe 0x18003b98e
movss xmm1, dword [rax + 4]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x18003b98e
cvttss2si eax, dword [rbx + 0x20]
add eax, edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm3
jbe 0x18003b98e
cvttss2si eax, xmm2
add eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x18003b98e
mov al, 1
jmp 0x18003b990
xor al, al
mov byte [rbx + 0x118], al
mov rcx, rbx
call fcn.1800363a0
test al, al
jne 0x18003ba4e
movss xmm1, dword [rbx + 0x1c]
addss xmm1, xmm4
movss xmm0, dword [rbx + 0x18]
addss xmm0, xmm8
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x48], rax
cvttss2si ecx, xmm1
cvttss2si edx, xmm0
mov rax, qword [0x1801b42e0]
movss xmm2, dword [rax]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x18003ba47
movss xmm1, dword [rax + 4]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x18003ba47
cvttss2si eax, dword [rsp + 0x48]
add eax, edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x18003ba47
cvttss2si eax, dword [rsp + 0x4c]
add eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x18003ba47
mov byte [rbx + 0x99], 1
mov rax, qword [0x1801b42e0]
cmp byte [rax + 9], 0
je 0x18003ba4e
cmp byte [rax + 0x109], 0
jne 0x18003ba4e
mov qword [0x1801bdb08], rbx
mov byte [rbx + 0x101], 1
jmp 0x18003ba4e
mov byte [rbx + 0x99], 0
mov dword [rbx + 0x110], 0x43160000
mov rcx, qword [rbx + 0xf0]
xorps xmm0, xmm0
test rcx, rcx
js 0x18003ba6e
cvtsi2ss xmm0, rcx
jmp 0x18003ba83
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mulss xmm0, dword [rbx + 0x24]
comiss xmm0, dword [0x1800fe304]
seta r12b
mov byte [rbx + 0x102], r12b
test r12b, r12b
jne 0x18003baa7
movss dword [rbx + 0x110], xmm0
mov rax, qword [rsi + 0x10]
mov rcx, qword [r14 + 0x10]
sub r15, rax
cmp r15, rcx
jb 0x18003bd97
cmp qword [rsi + 0x18], 0xf
jbe 0x18003bac5
mov rsi, qword [rsi]
cmp qword [r14 + 0x18], 0xf
jbe 0x18003bacf
mov r14, qword [r14]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
mov r9, rsi
lea rcx, [rsp + 0x60]
call fcn.18002e9e0
nop
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0xf
cmova rcx, qword [rsp + 0x60]
movsx eax, byte [rcx]
test al, al
je 0x18003bb16
xor eax, ebp
imul edx, eax, 0x1000193
inc rcx
call fcn.180036e90
mov ebp, eax
lea eax, [rbp - 0x466b9f25]
mov dword [rsp + 0x40], eax
xorps xmm2, xmm2
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.180035b00
nop
lea rcx, [rsp + 0x60]
call fcn.1800304d0
mov rax, qword [0x1801bdb08]
cmp byte [rbx + 0x101], 0
jne 0x18003bb70
cmp rax, rbx
jne 0x18003bb70
movss xmm0, dword [0x1800fe174]
comiss xmm0, xmm9
jb 0x18003bb70
mov rax, rdi
mov qword [0x1801bdb08], rax
mov dword [rbx + 0x108], edi
mov dword [rbx + 0x114], edi
cmp rax, rbx
jne 0x18003bd1e
mov rax, qword [rbx + 0xf0]
test rax, rax
je 0x18003bd1e
addss xmm6, xmm8
cvttss2si r8d, xmm6
movd xmm3, r8d
cvtdq2ps xmm3, xmm3
movss xmm4, dword [rsp + 0x50]
nop word [rax + rax]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rbx + 0x24]
subss xmm0, xmm4
addss xmm0, xmm7
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x48], rax
cvttss2si edx, xmm0
mov rcx, qword [0x1801b42e0]
movss xmm2, dword [rcx]
comiss xmm2, xmm3
jbe 0x18003bc1f
movss xmm1, dword [rcx + 4]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x18003bc1f
cvttss2si eax, dword [rsp + 0x48]
add eax, r8d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x18003bc1f
cvttss2si eax, dword [rsp + 0x4c]
add eax, edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x18003bc1f
mov al, 1
jmp 0x18003bc21
xor al, al
cmp byte [rbx + 0x118], 0
je 0x18003bc4d
mov byte [0x1801bdcb2], 0
test al, al
je 0x18003bc4d
cmp byte [rcx + 9], 0
je 0x18003bc4d
cmp byte [rcx + 0x109], 0
jne 0x18003bc4d
mov rax, qword [rbx + 0xf8]
mov dword [rax], edi
movd xmm0, dword [rbx + 0x114]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [rbx + 0x24]
cvttss2si ecx, xmm0
mov dword [rbx + 0x114], ecx
inc edi
movsxd rax, edi
cmp rax, qword [rbx + 0xf0]
jb 0x18003bbb0
mov edi, ecx
test r12b, r12b
je 0x18003bd1e
movss xmm2, dword [rbx + 0x110]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm2
maxss xmm1, xmm0
cvttss2si eax, xmm1
cmp byte [rbx + 0x118], 0
je 0x18003bcdd
xorps xmm0, xmm0
movsd xmm1, qword [0x1801bdca8]
ucomisd xmm1, xmm0
jp 0x18003bcba
je 0x18003bcdd
mulsd xmm1, qword [0x1800fe218]
movss xmm0, dword [rbx + 0x108]
cvtps2pd xmm0, xmm0
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [rbx + 0x108], xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm1, xmm2
movss dword [rsp + 0x48], xmm1
mov dword [rsp + 0x40], 0
lea rdx, [rbx + 0x108]
movss xmm0, dword [rdx]
lea rcx, [rsp + 0x40]
comiss xmm8, xmm0
cmovbe rcx, rdx
lea rax, [rsp + 0x48]
comiss xmm0, xmm1
cmovbe rax, rcx
mov eax, dword [rax]
mov dword [rdx], eax
cmp byte [rbx + 0x118], 0
je 0x18003bd30
cmp byte [rbx + 0x99], 0
je 0x18003bd57
comiss xmm9, dword [0x1800fe16c]
jb 0x18003bd57
mov rax, qword [0x1801b42e0]
cmp byte [rax + 9], 0
je 0x18003bd57
cmp byte [rax + 0x109], 0
jne 0x18003bd57
mov byte [rbx + 0x101], 0
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.1800921e0
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
call fcn.180030260
int3
call fcn.180030260
int3