Function at 0x14004a180
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 - 0x108]
sub rsp, 0x1d0
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
movaps xmmword [rax - 0xa8], xmm12
mov rax, qword [0x140064040]
xor rax, rsp
mov qword [rbp + 0x58], rax
mov rsi, r8
mov rdi, rdx
mov qword [rsp + 0x70], rdx
xor r12d, r12d
mov dword [rsp + 0x20], r12d
xorps xmm0, xmm0
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm0
movups xmmword [rdx + 0x20], xmm0
movups xmmword [rdx + 0x30], xmm0
mov dword [rdx], r12d
mov qword [rdx + 8], r12
mov qword [rdx + 0x10], r12
mov ecx, 0x30
call fcn.140052010
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x18], r12
mov qword [rdi + 0x20], r12
mov qword [rdi + 0x28], r12
mov qword [rdi + 0x30], 7
mov qword [rdi + 0x38], 8
mov dword [rdi], 0x3f800000
mov r8, qword [rdi + 8]
mov edx, 0x10
lea rcx, [rdi + 0x18]
call fcn.14002edc0
nop
mov dword [rsp + 0x20], 1
movss xmm7, dword [rdi]
mov rcx, qword [rsi + 8]
sub rcx, qword [rsi]
sar rcx, 3
add rcx, rcx
xorps xmm0, xmm0
js 0x14004a278
cvtsi2ss xmm0, rcx
jmp 0x14004a28d
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_ceilf
xor eax, eax
movabs r15, 0x8000000000000000
movss xmm6, dword [0x14005b420]
comiss xmm0, xmm6
jb 0x14004a2bb
subss xmm0, xmm6
comiss xmm0, xmm6
jae 0x14004a2bb
mov rax, r15
cvttss2si rbx, xmm0
add rbx, rax
mov rcx, qword [rdi + 0x10]
xorps xmm0, xmm0
test rcx, rcx
js 0x14004a2d6
cvtsi2ss xmm0, rcx
jmp 0x14004a2eb
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_ceilf
xor eax, eax
comiss xmm0, xmm6
jb 0x14004a307
subss xmm0, xmm6
comiss xmm0, xmm6
jae 0x14004a307
mov rax, r15
cvttss2si rdx, xmm0
add rdx, rax
cmp rdx, rbx
cmovb rdx, rbx
cmp rdx, qword [rdi + 0x38]
jbe 0x14004a324
mov rcx, rdi
call fcn.140050280
mov r8, qword [0x14015e3e0]
lea rcx, [r8 + 8]
lea rdx, [rsp + 0x30]
call fcn.140049630
mov r15, qword [rsi + 8]
mov qword [rsp + 0x28], r15
mov rsi, qword [rsi]
cmp rsi, r15
je 0x14004a515
movabs r13, 0x100000001b3
movaps xmm9, xmmword [rsp + 0x60]
movaps xmm10, xmmword [rsp + 0x50]
movaps xmm11, xmmword [rsp + 0x40]
movaps xmm12, xmmword [rsp + 0x30]
mov eax, dword [rsi]
mov dword [rbp + 0x50], eax
mov eax, dword [rsi + 4]
mov dword [rbp + 0x54], eax
lea rbx, [rbp + 0x50]
movabs r15, 0xcbf29ce484222325
nop dword [rax]
mov r9d, dword [rbx]
mov dword [rbp + 0x48], r9d
mov eax, r9d
shr eax, 8
movzx edx, al
movzx eax, r9b
xor rax, r15
imul rax, r13
xor rdx, rax
imul rdx, r13
mov eax, r9d
shr eax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r13
mov eax, r9d
shr rax, 0x18
xor rdx, rax
imul rdx, r13
and rdx, qword [rdi + 0x30]
add rdx, rdx
mov rcx, qword [rdi + 0x18]
mov rax, qword [rcx + rdx*8 + 8]
mov r10, qword [rdi + 8]
cmp rax, r10
je 0x14004a404
mov rcx, qword [rcx + rdx*8]
cmp r9d, dword [rax + 0x10]
je 0x14004a407
cmp rax, rcx
je 0x14004a404
mov rax, qword [rax + 8]
cmp r9d, dword [rax + 0x10]
jne 0x14004a3f3
jmp 0x14004a407
mov rax, r12
test rax, rax
cmove rax, r10
cmp rax, r10
jne 0x14004a4f5
lea eax, [r9 + r9*2]
shl eax, 5
movsxd rcx, eax
add rcx, qword [r8]
mov r8, rcx
lea rdx, [rbp - 0x80]
mov rcx, qword [0x14015e950]
call fcn.140050800
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x80]
call fcn.140049c00
movaps xmmword [rbp - 0x20], xmm12
movaps xmmword [rbp - 0x10], xmm11
movaps xmmword [rbp], xmm10
movaps xmmword [rbp + 0x10], xmm9
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rbp - 0x80], xmm0
movaps xmm1, xmmword [rsp + 0x40]
movaps xmmword [rbp - 0x70], xmm1
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rbp - 0x60], xmm0
movaps xmm1, xmmword [rsp + 0x60]
movaps xmmword [rbp - 0x50], xmm1
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x30]
call fcn.1400497f0
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp - 0x70], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x30]
xorps xmm8, xmm8
cvtss2sd xmm8, xmm1
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
xorps xmm6, xmm6
cvtss2sd xmm6, xmm0
shufps xmm1, xmm1, 0xaa
xorps xmm7, xmm7
cvtss2sd xmm7, xmm1
lea r8, [rbp + 0x48]
lea rdx, [rbp + 0x20]
mov rcx, rdi
call fcn.140050e70
mov rcx, qword [rax]
unpcklpd xmm8, xmm6
movups xmmword [rcx + 0x18], xmm8
movsd qword [rcx + 0x28], xmm7
mov r8, qword [0x14015e3e0]
add rbx, 4
lea rax, [rbp + 0x58]
cmp rbx, rax
jne 0x14004a390
add rsi, 8
cmp rsi, qword [rsp + 0x28]
jne 0x14004a370
mov rax, rdi
mov rcx, qword [rbp + 0x58]
xor rcx, rsp
call fcn.140051ff0
lea r11, [rsp + 0x1d0]
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]
movaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret