Function at 0x14005c500
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x58]
sub rsp, 0x120
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
mov rax, qword [0x14009a010]
xor rax, rsp
mov qword [rbp - 0x50], rax
mov r14, r8
mov rsi, rdx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rax
mov r8, rdx
lea rdx, [rbp - 0x68]
call fcn.140063a30
nop
mov r8, qword [0x1400a39d8]
mov rdx, qword [0x1400a39d0]
dec rdx
add rdx, r8
mov rcx, rdx
shr rcx, 2
mov rax, qword [0x1400a39c8]
dec rax
and rcx, rax
and edx, 3
mov rax, qword [0x1400a39c0]
mov rcx, qword [rax + rcx*8]
mov r12d, dword [rcx + rdx*4]
lea rax, [r8 - 1]
mov qword [0x1400a39d8], rax
xor r13d, r13d
test rax, rax
jne 0x14005c5c1
mov qword [0x1400a39d0], r13
mov r8, qword [0x1400a39b0]
mov rdx, qword [0x1400a39a8]
dec rdx
add rdx, r8
mov rcx, qword [0x1400a39a0]
dec rcx
mov rax, rdx
shr rax, 1
and rcx, rax
and edx, 1
mov rax, qword [0x1400a3998]
mov rcx, qword [rax + rcx*8]
movss xmm11, dword [rcx + rdx*8]
movss xmm10, dword [rcx + rdx*8 + 4]
lea rax, [r8 - 1]
mov qword [0x1400a39b0], rax
test rax, rax
jne 0x14005c61a
mov qword [0x1400a39a8], r13
movaps xmm6, xmm11
addss xmm6, dword [0x1400a39f8]
movaps xmm7, xmm10
addss xmm7, dword [0x1400a39fc]
mov rax, qword [rbp - 0x68]
cmp qword [rax + 0x18], 0x10
jb 0x14005c640
mov rax, qword [rax]
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rax
xorps xmm8, xmm8
movss dword [rsp + 0x20], xmm8
movss xmm3, dword [0x14008d548]
movss xmm2, dword [0x14008d44c]
lea rdx, [rbp - 0x70]
mov rcx, qword [0x1400a1830]
call fcn.1400455f0
cvttss2si r15d, dword [rbp - 0x70]
movsx edi, byte [rsi]
mov ebx, 0x811c9dc5
test dil, dil
je 0x14005c6a0
mov eax, edi
xor eax, ebx
imul r8d, eax, 0x1000193
lea rdx, [rsi + 1]
call fcn.140063d50
mov edx, eax
jmp 0x14005c6a2
mov edx, ebx
cvttss2si ecx, xmm7
cvttss2si eax, xmm6
movss xmm2, dword [0x1400a3a18]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x14005c6f7
movss xmm1, dword [0x1400a3a1c]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x14005c6f7
add eax, 0xe
add eax, r15d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x14005c6f7
lea eax, [rcx + 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x14005c6f7
mov al, 1
jmp 0x14005c6f9
xor al, al
cmp dword [0x1400a3988], edx
je 0x14005c73a
test al, al
je 0x14005c753
cmp byte [0x1400a3a29], r13b
je 0x14005c753
cmp byte [0x1400a3b29], r13b
jne 0x14005c753
test dil, dil
je 0x14005c732
mov eax, edi
xor eax, ebx
imul r8d, eax, 0x1000193
lea rdx, [rsi + 1]
call fcn.140063d50
mov ebx, eax
mov dword [0x1400a3988], ebx
jmp 0x14005c753
cmp byte [0x1400a3a29], r13b
jne 0x14005c753
mov dword [0x1400a3988], r13d
cmp byte [r14], r13b
sete al
mov byte [r14], al
movaps xmm0, xmm6
movss xmm9, dword [0x14008d454]
addss xmm0, xmm9
movss dword [rsp + 0x40], xmm0
movaps xmm1, xmm7
subss xmm1, dword [0x14008d3e8]
movss dword [rsp + 0x44], xmm1
mov dword [rsp + 0x48], 4
lea rcx, [0x1400a3938]
lea rax, [0x1400a3928]
cmp byte [r14], r13b
cmove rax, rcx
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x4c], xmm0
mov rdx, qword [rbp - 0x68]
lea rcx, [rsp + 0x60]
call fcn.140013c10
mov qword [rbp - 0x80], r13
mov dword [rbp - 0x78], r12d
mov rdx, qword [0x1400a39e8]
mov ebx, 0xf
cmp rdx, qword [0x1400a39f0]
je 0x14005c823
movss xmm0, dword [rsp + 0x40]
movss dword [rdx], xmm0
movss xmm1, dword [rsp + 0x44]
movss dword [rdx + 4], xmm1
mov eax, dword [rsp + 0x48]
mov dword [rdx + 8], eax
movups xmm0, xmmword [rsp + 0x4c]
movups xmmword [rdx + 0xc], xmm0
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x20], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movups xmmword [rdx + 0x30], xmm1
mov eax, ebx
mov byte [rsp + 0x60], 0
mov dword [rdx + 0x48], r12d
xorps xmm0, xmm0
unpcklps xmm0, xmm8
movsd qword [rdx + 0x40], xmm0
add qword [0x1400a39e8], 0x50
jmp 0x14005c839
lea r8, [rsp + 0x40]
lea rcx, [0x1400a39e0]
call fcn.14006f430
mov rax, qword [rsp + 0x78]
cmp rax, 0x10
jb 0x14005c872
lea rdx, [rax + 1]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005c86d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005ca9e
call fcn.14007de44
movss dword [rsp + 0x40], xmm6
movss dword [rsp + 0x44], xmm7
mov dword [rsp + 0x48], 3
lea rcx, [0x1400a3908]
lea rax, [0x1400a38f8]
cmp byte [r14], 0
cmove rax, rcx
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x4c], xmm0
xorps xmm1, xmm1
movups xmmword [rsp + 0x60], xmm1
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x70], xmm0
xor r8d, r8d
lea rdx, [0x140086e0b]
lea rcx, [rsp + 0x60]
call fcn.14000ded0
movss xmm2, dword [0x14008d440]
mov dword [rbp - 0x80], 0x40e00000
mov qword [rbp - 0x7c], 0x40e00000
mov rdx, qword [0x1400a39e8]
cmp rdx, qword [0x1400a39f0]
je 0x14005c948
movss xmm0, dword [rsp + 0x40]
movss dword [rdx], xmm0
movss xmm1, dword [rsp + 0x44]
movss dword [rdx + 4], xmm1
mov eax, dword [rsp + 0x48]
mov dword [rdx + 8], eax
movups xmm0, xmmword [rsp + 0x4c]
movups xmmword [rdx + 0xc], xmm0
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x20], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movups xmmword [rdx + 0x30], xmm1
mov rax, rbx
mov byte [rsp + 0x60], 0
mov dword [rdx + 0x48], r13d
movaps xmm0, xmm2
unpcklps xmm0, xmm2
movsd qword [rdx + 0x40], xmm0
add qword [0x1400a39e8], 0x50
jmp 0x14005c95e
lea r8, [rsp + 0x40]
lea rcx, [0x1400a39e0]
call fcn.14006f430
mov rax, qword [rsp + 0x78]
cmp rax, 0x10
jb 0x14005c997
lea rdx, [rax + 1]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005c992
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005ca9e
call fcn.14007de44
movss dword [rsp + 0x40], xmm6
movss dword [rsp + 0x44], xmm7
mov dword [rsp + 0x48], 3
movups xmm0, xmmword [0x1400a38e8]
movups xmmword [rsp + 0x4c], xmm0
xorps xmm1, xmm1
movups xmmword [rsp + 0x60], xmm1
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x70], xmm0
xor r8d, r8d
lea rdx, [0x140086e0b]
lea rcx, [rsp + 0x60]
call fcn.14000ded0
movss xmm2, dword [0x14008d444]
mov dword [rbp - 0x80], 0x41000000
mov qword [rbp - 0x7c], 0x41000000
mov rdx, qword [0x1400a39e8]
cmp rdx, qword [0x1400a39f0]
je 0x14005ca58
movss xmm0, dword [rsp + 0x40]
movss dword [rdx], xmm0
movss xmm1, dword [rsp + 0x44]
movss dword [rdx + 4], xmm1
mov eax, dword [rsp + 0x48]
mov dword [rdx + 8], eax
movups xmm0, xmmword [rsp + 0x4c]
movups xmmword [rdx + 0xc], xmm0
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rdx + 0x20], xmm0
movaps xmm1, xmmword [rsp + 0x70]
movups xmmword [rdx + 0x30], xmm1
mov byte [rsp + 0x60], 0
mov dword [rdx + 0x48], r13d
movaps xmm0, xmm2
unpcklps xmm0, xmm2
movsd qword [rdx + 0x40], xmm0
add qword [0x1400a39e8], 0x50
jmp 0x14005ca6e
lea r8, [rsp + 0x40]
lea rcx, [0x1400a39e0]
call fcn.14006f430
mov rbx, qword [rsp + 0x78]
cmp rbx, 0x10
jb 0x14005caaa
lea rdx, [rbx + 1]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005caa5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005caa5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14007de44
movaps xmm2, xmm11
addss xmm2, xmm9
movd xmm0, r15d
cvtdq2ps xmm0, xmm0
addss xmm2, xmm0
movd xmm1, dword [0x1400a3980]
cvtdq2ps xmm0, xmm1
addss xmm0, xmm2
unpcklps xmm0, xmm10
movsd qword [rbp - 0x70], xmm0
lea rdx, [rbp - 0x70]
lea rcx, [0x1400a3990]
call fcn.14006d380
movd xmm1, dword [0x1400a3980]
cvtdq2ps xmm1, xmm1
addss xmm1, xmm10
movaps xmm0, xmm11
unpcklps xmm0, xmm1
movsd qword [rbp - 0x70], xmm0
lea rdx, [rbp - 0x70]
lea rcx, [0x1400a3990]
call fcn.14006d380
mov dword [rbp - 0x70], r12d
lea rdx, [rbp - 0x70]
lea rcx, [0x1400a39b8]
call fcn.14006d2c0
nop
lea rcx, [rbp - 0x68]
call fcn.14000dad0
mov rcx, qword [rbp - 0x50]
xor rcx, rsp
call fcn.14007dac0
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x40]
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 rdi
pop rsi
pop rbp
ret