Function at 0x1401076c0
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, [rsp - 0x80]
sub rsp, 0x180
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
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x1402f9040]
xor rax, rsp
mov qword [rbp - 0x30], rax
mov rsi, rcx
mov qword [rsp + 0x50], rcx
mov rax, qword [rcx + 0x180]
cmp byte [rax + 0x2b0], 0
jne 0x1401077a5
mov rbx, qword [0x140302380]
movdqa xmm0, xmmword [str.katarinarsound]
movdqu xmmword [rbp - 0x60], xmm0
movd eax, xmm0
mov edx, 0x811c9dc5
test al, al
je 0x140107780
movzx eax, al
xor eax, edx
imul edx, eax, 0x1000193
lea rcx, [rbp - 0x5f]
call fcn.14002b8c0
mov edx, eax
mov rcx, qword [rbx + 0x180]
mov rax, qword [rbx + 0x188]
cmp rcx, rax
je 0x1401077a5
cmp dword [rcx + 0x30], edx
je 0x140108051
add rcx, 0x50
cmp rcx, rax
jne 0x140107793
call fcn.140146640
mov rcx, qword [0x140302380]
movsd xmm0, qword [rcx + 8]
movsd qword [rsp + 0x60], xmm0
mov ecx, dword [rcx + 0x10]
mov dword [rsp + 0x68], ecx
lea r9, [rsp + 0x60]
movss xmm2, dword [0x1402c82cc]
lea rdx, [rbp - 0x48]
mov rcx, rax
call fcn.1401bf890
nop
mov r12, qword [rbp - 0x48]
mov r14, qword [rbp - 0x40]
mov qword [rbp - 0x78], r14
cmp r12, r14
je 0x140108048
movss xmm10, dword [0x1402c8298]
movss xmm13, dword [0x1402c81f0]
movss xmm11, dword [0x1402c8248]
movss xmm12, dword [0x1402c822c]
movss xmm15, dword [0x1402c8224]
movss xmm8, dword [0x1402c7c1c]
movss xmm14, dword [0x1402c8238]
mov rbx, qword [r12]
test rbx, rbx
je 0x14010803b
cmp byte [rbx + 0xa7], 0
je 0x14010803b
mov rcx, rbx
call fcn.14006b660
test al, al
jne 0x14010803b
cmp byte [rbx + 0xa5], al
je 0x14010803b
cmp byte [rbx + 0xa4], al
je 0x14010803b
mov rax, qword [rsi + 0x1e0]
mov rbx, qword [0x140302380]
cmp byte [rax + 0x2b0], 0
je 0x140107beb
cmp dword [rbx + 0x388], 0
jbe 0x1401078a4
cmp dword [rbx + 0x384], 0
je 0x140107beb
movss xmm0, dword [0x1403021a4]
comiss xmm0, dword [rbx + 0x390]
jb 0x140107beb
mov eax, dword [rbx + 0x380]
test eax, eax
je 0x140107beb
dec eax
movss xmm0, dword [rbx + 0x30]
comiss xmm0, dword [rbx + rax*4 + 0x3b8]
jb 0x140107beb
mov rcx, rsi
call fcn.1401070c0
test eax, eax
jle 0x140107beb
mov r13, qword [rsi + 0x230]
mov rax, qword [rsi + 0x238]
mov qword [rsp + 0x30], rax
cmp r13, rax
je 0x140107beb
lea r15, [r13 + 0xc]
nop dword [rax]
mov rdi, qword [r12]
movsd xmm0, qword [rbx + 8]
movss xmm1, dword [rdi + 8]
subss xmm1, xmm0
movss xmm2, dword [rdi + 0x10]
subss xmm2, dword [rbx + 0x10]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140107949
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140107956
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mov rax, qword [rsp + 0x30]
comiss xmm10, xmm0
jb 0x140107bc8
movsd xmm0, qword [rdi + 8]
movss xmm7, dword [r15]
movaps xmm1, xmm7
subss xmm1, xmm0
movss xmm6, dword [r15 + 8]
movaps xmm2, xmm6
subss xmm2, dword [rdi + 0x10]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x14010799c
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1401079a4
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm13, xmm0
jbe 0x140107bc3
movsd xmm0, qword [rbx + 8]
subss xmm7, xmm0
subss xmm6, dword [rbx + 0x10]
mulss xmm6, xmm6
mulss xmm7, xmm7
addss xmm6, xmm7
xorps xmm0, xmm0
ucomiss xmm0, xmm6
ja 0x1401079d9
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x1401079e1
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm11, xmm0
jbe 0x140107bc3
mov rdx, rdi
mov rcx, rsi
call fcn.140107230
mov rax, qword [r12]
comiss xmm0, dword [rax + 0x28]
jbe 0x140107bbc
movsd xmm8, qword [r15]
movsd xmm6, qword [rax + 8]
movss xmm7, dword [rax + 0x10]
movss xmm9, dword [r15 + 8]
subss xmm7, xmm9
movsd qword [rbp - 0x60], xmm8
subss xmm6, xmm8
movaps xmm1, xmm6
mulss xmm1, xmm6
movaps xmm0, xmm7
mulss xmm0, xmm7
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x140107a4c
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x140107a54
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
divss xmm6, xmm0
divss xmm7, xmm0
mulss xmm7, dword [0x1402c81a8]
mulss xmm6, dword [0x1402c81a8]
addss xmm9, xmm7
addss xmm8, xmm6
mov rbx, qword [0x140302380]
movss xmm0, dword [rbx + 8]
subss xmm0, xmm8
movss xmm1, dword [rbx + 0x10]
subss xmm1, xmm9
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x140107aae
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x140107ab6
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm12, xmm0
jbe 0x140107bc3
call fcn.140146b10
mov r14, rax
movss xmm6, dword [rbp - 0x5c]
mov rcx, qword [0x1403022c0]
cmp byte [rcx + 0x6c], 0
jne 0x140107bbc
mov rsi, qword [0x140302380]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], 0
mov rdx, qword [0x140305598]
sub rdx, qword [0x140305590]
je 0x140107b3a
lea rcx, [rsp + 0x70]
call fcn.140012ed0
mov rdi, qword [rsp + 0x70]
mov rdx, qword [0x140305590]
mov rbx, qword [0x140305598]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbx + rdi]
mov qword [rsp + 0x78], rax
lea rdx, [rsp + 0x70]
lea rcx, [rsi + 0x170]
call fcn.140062670
test al, al
jne 0x140107bbc
mov rax, qword [0x1403022e0]
cmp dword [rax + 0x15c], 1
je 0x140107bbc
mov rax, qword [0x1403027b8]
test rax, rax
jne 0x140107b89
mov ecx, 0x36e490
call fcn.14022f7fc
mov qword [rbp - 0x50], rax
mov rcx, rax
call fcn.1401debe0
nop
mov qword [0x1403027b8], rax
movaps xmm0, xmm8
unpcklps xmm0, xmm6
movsd qword [rbp - 0x70], xmm0
movss dword [rbp - 0x68], xmm9
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.1401de270
mov r8, qword [rax]
mov edx, 2
mov rcx, r14
call fcn.14006eb00
mov rbx, qword [0x140302380]
mov rax, qword [rsp + 0x30]
add r13, 0x18
add r15, 0x18
cmp r13, rax
mov rsi, qword [rsp + 0x50]
jne 0x140107910
movss xmm8, dword [0x1402c7c1c]
mov r14, qword [rbp - 0x78]
mov rax, qword [rsi + 0x1d0]
cmp byte [rax + 0x2b0], 0
je 0x140107ceb
cmp dword [rbx + 0x2b8], 0
jbe 0x140107c15
cmp dword [rbx + 0x2b4], 0
je 0x140107ceb
movss xmm0, dword [0x1403021a4]
comiss xmm0, dword [rbx + 0x2c0]
jb 0x140107ceb
mov eax, dword [rbx + 0x2b0]
test eax, eax
je 0x140107ceb
dec eax
movss xmm0, dword [rbx + 0x30]
comiss xmm0, dword [rbx + rax*4 + 0x2e8]
jb 0x140107ceb
mov rdi, qword [r12]
movsd xmm0, qword [rbx + 8]
movss xmm1, dword [rdi + 8]
subss xmm1, xmm0
movss xmm2, dword [rdi + 0x10]
subss xmm2, dword [rbx + 0x10]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140107c86
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140107c8e
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm15, xmm0
jb 0x140107ceb
mov eax, dword [rbx + 0x2b0]
dec eax
movss xmm2, dword [rsi + rax*4 + 0x38]
movss xmm0, dword [rbx + 0x70]
movaps xmm1, xmm0
mulss xmm1, dword [rbx + 0x74]
addss xmm1, xmm0
mulss xmm1, xmm8
addss xmm2, xmm1
mov rdx, rdi
mov rcx, rbx
call fcn.14006f8f0
mov rax, qword [r12]
comiss xmm0, dword [rax + 0x28]
jbe 0x140107ce4
call fcn.140146b10
mov r8, qword [r12]
xor edx, edx
mov rcx, rax
call fcn.14006ee20
mov rbx, qword [0x140302380]
mov rax, qword [rsi + 0x1d8]
cmp byte [rax + 0x2b0], 0
je 0x140107e1c
cmp dword [rbx + 0x388], 0
jbe 0x140107d15
cmp dword [rbx + 0x384], 0
je 0x140107e1c
movss xmm0, dword [0x1403021a4]
comiss xmm0, dword [rbx + 0x390]
jb 0x140107e1c
mov eax, dword [rbx + 0x380]
test eax, eax
je 0x140107e1c
dec eax
movss xmm0, dword [rbx + 0x30]
comiss xmm0, dword [rbx + rax*4 + 0x3b8]
jb 0x140107e1c
mov rdi, qword [r12]
movsd xmm0, qword [rbx + 8]
movss xmm1, dword [rdi + 8]
subss xmm1, xmm0
movss xmm2, dword [rdi + 0x10]
subss xmm2, dword [rbx + 0x10]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140107d86
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140107d8e
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm14, xmm0
jb 0x140107e1c
mov eax, dword [rbx + 0x380]
dec eax
movss xmm0, dword [rbx + 0x70]
movaps xmm2, xmm0
mulss xmm2, dword [rbx + 0x74]
addss xmm2, xmm0
movss xmm7, dword [rbx + 0x60]
addss xmm7, dword [rbx + 0x5c]
mulss xmm2, dword [0x1402c7c10]
mulss xmm7, dword [0x1402c7c20]
addss xmm2, dword [rsi + rax*4 + 0x4c]
mov rdx, rdi
mov rcx, rbx
call fcn.14006f8f0
movaps xmm6, xmm0
movaps xmm2, xmm7
mov rdx, rdi
mov rcx, qword [0x140302380]
call fcn.14006f8f0
addss xmm0, xmm6
mov rax, qword [r12]
comiss xmm0, dword [rax + 0x28]
jbe 0x140107e15
call fcn.140146b10
mov r8, qword [r12]
mov edx, 2
mov rcx, rax
call fcn.14006ee20
mov rbx, qword [0x140302380]
mov rax, qword [rsi + 0x1e8]
cmp byte [rax + 0x2b0], 0
je 0x14010803b
cmp dword [rbx + 0x388], 0
jbe 0x140107e46
cmp dword [rbx + 0x384], 0
je 0x14010803b
movss xmm0, dword [0x1403021a4]
comiss xmm0, dword [rbx + 0x390]
jb 0x14010803b
mov eax, dword [rbx + 0x380]
test eax, eax
je 0x14010803b
dec eax
movss xmm0, dword [rbx + 0x30]
comiss xmm0, dword [rbx + rax*4 + 0x3b8]
jb 0x14010803b
cmp dword [rbx + 0x2b8], 0
jbe 0x140107e94
cmp dword [rbx + 0x2b4], 0
je 0x14010803b
movss xmm0, dword [0x1403021a4]
comiss xmm0, dword [rbx + 0x2c0]
jb 0x14010803b
mov eax, dword [rbx + 0x2b0]
test eax, eax
je 0x14010803b
dec eax
movss xmm0, dword [rbx + 0x30]
comiss xmm0, dword [rbx + rax*4 + 0x2e8]
jb 0x14010803b
mov eax, dword [rbx + 0x2b0]
dec eax
movss xmm0, dword [rbx + 0x70]
movaps xmm2, xmm0
mulss xmm2, dword [rbx + 0x74]
addss xmm2, xmm0
mulss xmm2, xmm8
addss xmm2, dword [rsi + rax*4 + 0x38]
mov rdx, qword [r12]
mov rcx, rbx
call fcn.14006f8f0
mov rbx, qword [r12]
subss xmm0, dword [0x1402c80c8]
comiss xmm0, dword [rbx + 0x28]
jbe 0x14010803b
mov rdi, qword [0x140302380]
movsd xmm0, qword [rdi + 8]
movss xmm7, dword [rbx + 8]
movaps xmm1, xmm7
subss xmm1, xmm0
movss xmm6, dword [rbx + 0x10]
movaps xmm2, xmm6
subss xmm2, dword [rdi + 0x10]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140107f54
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140107f5c
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm0, xmm15
jbe 0x14010803b
movsd xmm0, qword [rdi + 8]
subss xmm7, xmm0
subss xmm6, dword [rdi + 0x10]
mulss xmm6, xmm6
mulss xmm7, xmm7
addss xmm6, xmm7
xorps xmm0, xmm0
ucomiss xmm0, xmm6
ja 0x140107f91
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x140107f99
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm10, xmm0
jbe 0x14010803b
mov rdx, rbx
call fcn.140107410
mov rbx, rax
test rax, rax
je 0x14010803b
cmp byte [rax + 0xa7], 0
je 0x14010803b
mov rcx, rax
call fcn.14006b660
test al, al
jne 0x14010803b
cmp byte [rbx + 0xa5], al
je 0x14010803b
cmp byte [rbx + 0xa4], al
je 0x14010803b
mov rax, qword [0x140302380]
movsd xmm0, qword [rax + 8]
movss xmm1, dword [rbx + 8]
subss xmm1, xmm0
movss xmm2, dword [rbx + 0x10]
subss xmm2, dword [rax + 0x10]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140108018
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140108020
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm14, xmm0
jbe 0x14010803b
call fcn.140146b10
mov r8, rbx
mov edx, 2
mov rcx, rax
call fcn.14006ee20
add r12, 8
cmp r12, r14
jne 0x140107831
lea rcx, [rbp - 0x48]
call fcn.14002a9c0
mov rcx, qword [rbp - 0x30]
xor rcx, rsp
call fcn.14022f560
lea r11, [rsp + 0x180]
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]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret