Function at 0x140045b40
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x100
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
mov rax, qword [0x140164040]
xor rax, rsp
mov qword [rbp - 0x39], rax
mov rsi, r9
mov byte [rsp + 0x40], dl
mov r12, rcx
mov rbx, qword [0x1402653e0]
mov r15, rbx
mov rax, qword [rbx + 0x3ed8]
mov byte [rax + 0xb8], 1
mov r14, qword [rbx + 0x3ed8]
cmp byte [r14 + 0xbb], 0
jne 0x1400462cd
movsxd r8, dword [r14 + 0xf0]
mov rax, qword [r14 + 0xf8]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
call fcn.140004ae0
mov edi, eax
mov dword [rsp + 0x44], edi
mov rcx, qword [r14]
cmp dword [rcx + 0x3f20], eax
jne 0x140045c08
mov r8, r12
mov edx, 0xb
mov ecx, edi
call fcn.14001cdb0
mov rbx, qword [0x1402653e0]
mov rcx, r12
cmp r12, 0xffffffffffffffff
jae 0x140045c2e
movzx edx, byte [rcx]
test dl, dl
je 0x140045c2e
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x140045c25
cmp byte [rax], dl
je 0x140045c2e
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x140045c11
movss xmm8, dword [rbx + 0x3c10]
xorps xmm9, xmm9
cmp r12, rcx
jne 0x140045c45
xorps xmm7, xmm7
jmp 0x140045c99
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r12
movss xmm0, dword [0x140150c60]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x140150c44]
movaps xmm2, xmm8
lea rdx, [rsp + 0x48]
mov rcx, qword [rbx + 0x3c08]
call fcn.14002e570
movss xmm0, dword [rsp + 0x48]
addss xmm0, dword [0x140150a6c]
cvttss2si eax, xmm0
movd xmm7, eax
cvtdq2ps xmm7, xmm7
movss xmm8, dword [rbp - 0x7d]
movss dword [rbp - 0x65], xmm8
movss dword [rbp - 0x69], xmm7
movss xmm0, dword [rsi + 4]
ucomiss xmm0, xmm9
jp 0x140045cb1
je 0x140045cb5
movaps xmm8, xmm0
movss xmm6, dword [rsi]
ucomiss xmm6, xmm9
jp 0x140045cc4
jne 0x140045cc4
movaps xmm6, xmm7
movss dword [rsp + 0x48], xmm6
movss dword [rbp - 0x7d], xmm8
movss xmm11, dword [r14 + 0x100]
movss xmm10, dword [r14 + 0x104]
addss xmm10, dword [r14 + 0x138]
xorps xmm1, xmm1
lea rcx, [rsp + 0x48]
call fcn.1400146c0
movss xmm1, dword [r14 + 0x220]
movss xmm0, dword [rsi]
ucomiss xmm0, xmm9
jp 0x140045d19
jne 0x140045d19
subss xmm1, xmm11
movaps xmm6, xmm7
maxss xmm6, xmm1
movaps xmm7, xmm10
addss xmm7, xmm8
movaps xmm5, xmm11
addss xmm5, xmm6
movss dword [rbp - 0x41], xmm5
movss dword [rbp - 0x3d], xmm7
movss xmm4, dword [r15 + 0x3814]
movss xmm6, dword [r15 + 0x3818]
movaps xmm0, xmm4
movss xmm8, dword [0x140150a38]
mulss xmm0, xmm8
cvttss2si eax, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movaps xmm0, xmm6
mulss xmm0, xmm8
cvttss2si eax, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movaps xmm1, xmm11
subss xmm1, xmm2
movss dword [rbp - 0x51], xmm1
movaps xmm0, xmm10
subss xmm0, xmm3
movss dword [rbp - 0x4d], xmm0
subss xmm4, xmm2
addss xmm4, xmm5
movss dword [rbp - 0x49], xmm4
subss xmm6, xmm3
addss xmm6, xmm7
movss dword [rbp - 0x45], xmm6
xor r9d, r9d
xor r8d, r8d
mov edx, edi
lea rcx, [rbp - 0x51]
call fcn.140014830
test al, al
je 0x1400462cd
mov eax, dword [r15 + 0x477c]
and eax, 0x200
shl eax, 3
mov dword [rsp + 0x20], eax
lea r9, [rbp - 0x71]
lea r8, [rsp + 0x41]
mov edx, edi
lea rcx, [rbp - 0x51]
call fcn.140033b40
movzx r13d, al
test al, al
je 0x140045f32
mov r8, qword [0x1402653e0]
cmp byte [r15 + 0x490f], 0
jne 0x140045f06
cmp qword [r15 + 0x48d0], r14
jne 0x140045f06
movsxd rcx, dword [r14 + 0x158]
cmp dword [r15 + 0x4908], ecx
jne 0x140045f06
movss xmm1, dword [r14 + 0x110]
movss xmm0, dword [r14 + 0x114]
movss xmm5, dword [rbp - 0x45]
subss xmm5, xmm0
movss xmm3, dword [rbp - 0x49]
subss xmm3, xmm1
movss xmm2, dword [rbp - 0x4d]
subss xmm2, xmm0
movss xmm4, dword [rbp - 0x51]
subss xmm4, xmm1
mov eax, dword [r15 + 0x4754]
mov dword [r8 + 0x48d8], edi
mov dword [r8 + 0x4908], ecx
mov dword [r8 + 0x48dc], eax
mov rax, qword [r8 + 0x48d0]
mov dword [rax + rcx*4 + 0x3a0], edi
add rcx, rcx
mov rax, qword [r8 + 0x48d0]
shufps xmm4, xmm4, 0xe1
movss xmm4, xmm2
shufps xmm4, xmm4, 0xc6
movss xmm4, xmm3
shufps xmm4, xmm4, 0x27
movss xmm4, xmm5
shufps xmm4, xmm4, 0x39
movups xmmword [rsp + 0x48], xmm4
movups xmmword [rax + rcx*8 + 0x3a8], xmm4
movsxd rdx, dword [r8 + 0x4908]
mov rax, qword [r8 + 0x48d0]
mov rcx, qword [rax + 0x390]
mov dword [rcx + rdx*8 + 0x3c8], 0x7f7fffff
movsxd rdx, dword [r8 + 0x4908]
mov rax, qword [r8 + 0x48d0]
mov rcx, qword [rax + 0x390]
mov dword [rcx + rdx*8 + 0x3cc], 0x7f7fffff
mov byte [r15 + 0x490e], 1
cmp word [r8 + 0x5bc2], 0
jg 0x140045f32
mov eax, dword [r8 + 0x3f38]
cmp eax, edi
je 0x140045f20
test eax, eax
jne 0x140045f2a
mov word [r8 + 0x3f48], 0x101
or dword [r8 + 0x4780], 4
mov ecx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax]
xor esi, esi
movss xmm6, dword [0x140150a74]
mov eax, dword [rcx + rax]
cmp dword [0x1402658c0], eax
jle 0x140046020
lea rcx, [0x1402658c0]
call fcn.14010e338
cmp dword [0x1402658c0], 0xffffffff
jne 0x140046020
xorps xmm0, xmm0
movups xmmword [0x140265960], xmm0
movups xmmword [0x140265970], xmm0
movups xmmword [0x140265980], xmm0
movups xmmword [0x140265990], xmm0
mov dword [0x140265960], esi
mov qword [0x140265968], rsi
mov qword [0x140265970], rsi
lea ecx, [rsi + 0x18]
call fcn.14010e64c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x140265968], rax
mov qword [0x140265978], rsi
xorps xmm0, xmm0
movdqa xmmword [0x140265980], xmm0
mov qword [0x140265990], 7
mov qword [0x140265998], 8
mov dword [0x140265960], 0x3f800000
mov r8, rax
lea edx, [rsi + 0x10]
lea rcx, [0x140265978]
call fcn.1400466a0
nop
lea rcx, [0x140110d40]
call fcn.14010e8b0
nop
lea rcx, [0x1402658c0]
call fcn.14010e2cc
nop dword [rax]
movzx ecx, dil
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
movzx eax, byte [rsp + 0x45]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rsp + 0x46]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rsp + 0x47]
xor rcx, rax
imul rcx, rdx
and rcx, qword [0x140265990]
add rcx, rcx
mov rdx, qword [0x140265978]
mov rax, qword [rdx + rcx*8 + 8]
mov r8, qword [0x140265968]
cmp rax, r8
je 0x1400460a0
mov rdx, qword [rdx + rcx*8]
cmp edi, dword [rax + 0x10]
je 0x1400460a3
nop
cmp rax, rdx
je 0x1400460a0
mov rax, qword [rax + 8]
cmp edi, dword [rax + 0x10]
jne 0x140046090
jmp 0x1400460a3
mov rax, rsi
mov rbx, r8
test rax, rax
cmovne rbx, rax
cmp rbx, r8
jne 0x14004615c
mov dword [rsp + 0x48], edi
mov dword [rbp - 0x7d], 0
lea r8, [rsp + 0x48]
lea rdx, [rbp - 0x61]
lea rcx, [0x140265960]
call fcn.14004aad0
movzx ecx, dil
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
movzx eax, byte [rsp + 0x45]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rsp + 0x46]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rsp + 0x47]
xor rcx, rax
imul rcx, rdx
and rcx, qword [0x140265990]
add rcx, rcx
mov rdx, qword [0x140265978]
mov rax, qword [rdx + rcx*8 + 8]
mov rbx, qword [0x140265968]
cmp rax, rbx
je 0x140046155
mov rdx, qword [rdx + rcx*8]
cmp edi, dword [rax + 0x10]
je 0x140046152
cmp rax, rdx
je 0x140046155
mov rax, qword [rax + 8]
cmp edi, dword [rax + 0x10]
jne 0x140046144
mov rsi, rax
test rsi, rsi
cmovne rbx, rsi
cmp byte [rsp + 0x40], 0
jne 0x140046174
cmp byte [rsp + 0x41], 0
je 0x140046170
movaps xmm6, xmm8
jmp 0x140046174
movaps xmm6, xmm9
subss xmm6, dword [rbx + 0x14]
mulss xmm6, dword [0x1401509d4]
addss xmm6, dword [rbx + 0x14]
movss dword [rbx + 0x14], xmm6
mov dword [rsp + 0x48], 0x3f800000
mov dword [rbp - 0x7d], 0x3f800000
mov dword [rbp - 0x79], 0x3f800000
mulss xmm6, dword [0x1401509c4]
mulss xmm6, dword [r15 + 0x37c8]
movss dword [rbp - 0x75], xmm6
lea rcx, [rsp + 0x48]
call fcn.140005070
mov r8d, eax
movss dword [rsp + 0x20], xmm9
mov r9b, 1
mov rdx, qword [rbp - 0x49]
mov rcx, qword [rbp - 0x51]
call fcn.1400065a0
mov rax, qword [0x1402653e0]
movups xmm1, xmmword [rax + 0x38a4]
movups xmmword [rsp + 0x48], xmm1
movss xmm0, dword [rbx + 0x14]
maxss xmm0, dword [0x140150a24]
mulss xmm0, dword [rax + 0x37c8]
shufps xmm1, xmm1, 0xff
mulss xmm1, xmm0
movss dword [rbp - 0x75], xmm1
lea rcx, [rsp + 0x48]
call fcn.140005070
mov edx, eax
call fcn.140005540
addss xmm11, dword [0x140150ae4]
movss dword [rsp + 0x48], xmm11
addss xmm10, xmm9
movss dword [rbp - 0x7d], xmm10
lea rax, [r15 + 0x3868]
lea rcx, [rbp - 0x51]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x69]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, r12
lea rdx, [rbp - 0x41]
lea rcx, [rsp + 0x48]
call fcn.140006310
mov r8, qword [0x1402653e0]
movsxd rax, dword [r8 + 0x4828]
cmp eax, 1
jl 0x1400462a9
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4830]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8 + 0x38a4], xmm0
dec dword [r8 + 0x4828]
test r13b, r13b
je 0x1400462c7
test dword [r14 + 0x14], 0x4000000
je 0x1400462c7
test byte [r15 + 0x477c], 0x20
jne 0x1400462c7
call fcn.140015fc0
movzx eax, r13b
jmp 0x1400462cf
xor al, al
mov rcx, qword [rbp - 0x39]
xor rcx, rsp
call fcn.14010e270
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret