Function at 0x14001d1d0
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
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 r12, rdx
mov dword [rsp + 0x40], 0
xor r13d, r13d
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r13
lea ecx, [r13 + 0x30]
call fcn.140044cc4
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x58], r13
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x78], 8
mov dword [rsp + 0x40], 0x3f800000
mov r8, rax
lea edx, [r13 + 0x10]
lea rcx, [rsp + 0x58]
call fcn.14000f6f0
nop
mov ebx, r13d
mov dword [rbp + 0xb0], ebx
mov r9, qword [r12 + 8]
mov r8, qword [r12]
mov rax, r9
sub rax, r8
sar rax, 4
movabs r10, 0xcbf29ce484222325
movabs r14, 0x100000001b3
test rax, rax
je 0x14001d6f2
mov rdx, r8
movsd xmm15, qword [0x14004b020]
nop
movsxd rax, ebx
mov r14, rax
shl r14, 4
add r14, rdx
lea r15, [rax + 1]
shl r15, 4
add r15, rdx
mov esi, r13d
mov rax, r9
sub rax, rdx
sar rax, 4
mov r8, rdx
test rax, rax
je 0x14001d6bc
mov rdi, r13
cmp ebx, esi
je 0x14001d693
movsd xmm13, qword [r14 + 8]
movsd xmm4, qword [rdx + rdi + 8]
movaps xmm2, xmm13
subsd xmm2, xmm4
movsd xmm14, qword [r14]
movsd xmm5, qword [rdx + rdi]
movaps xmm3, xmm14
subsd xmm3, xmm5
movaps xmm1, xmm2
mulsd xmm1, xmm2
movaps xmm0, xmm3
mulsd xmm0, xmm3
addsd xmm0, xmm1
comisd xmm15, xmm0
ja 0x14001d693
movsd xmm8, qword [rdx + rdi + 0x18]
movaps xmm1, xmm13
subsd xmm1, xmm8
movsd xmm6, qword [rdx + rdi + 0x10]
movaps xmm0, xmm14
subsd xmm0, xmm6
mulsd xmm1, xmm1
mulsd xmm0, xmm0
addsd xmm0, xmm1
comisd xmm15, xmm0
ja 0x14001d693
movsd xmm10, qword [r15 + 8]
movaps xmm1, xmm10
subsd xmm1, xmm4
movsd xmm11, qword [r15]
movaps xmm0, xmm11
subsd xmm0, xmm5
mulsd xmm1, xmm1
mulsd xmm0, xmm0
addsd xmm0, xmm1
comisd xmm15, xmm0
ja 0x14001d693
movaps xmm1, xmm10
subsd xmm1, xmm8
movaps xmm0, xmm11
subsd xmm0, xmm6
mulsd xmm1, xmm1
mulsd xmm0, xmm0
addsd xmm0, xmm1
comisd xmm15, xmm0
ja 0x14001d693
subsd xmm10, xmm13
subsd xmm11, xmm14
subsd xmm8, xmm4
subsd xmm6, xmm5
movaps xmm4, xmm8
mulsd xmm4, xmm11
movaps xmm0, xmm6
mulsd xmm0, xmm10
subsd xmm4, xmm0
movaps xmm1, xmm4
subsd xmm1, qword [0x14004b008]
andps xmm1, xmmword [0x140049b50]
movsd xmm12, qword [0x140049a68]
comisd xmm12, xmm1
ja 0x14001d693
movaps xmm7, xmm11
mulsd xmm7, xmm2
movaps xmm0, xmm10
mulsd xmm0, xmm3
subsd xmm7, xmm0
divsd xmm7, xmm4
movaps xmm9, xmm6
mulsd xmm9, xmm2
movaps xmm0, xmm8
mulsd xmm0, xmm3
subsd xmm9, xmm0
divsd xmm9, xmm4
movaps xmm0, xmm10
mulsd xmm0, xmm10
movaps xmm1, xmm11
mulsd xmm1, xmm11
addsd xmm1, xmm0
xorps xmm0, xmm0
ucomisd xmm0, xmm1
ja 0x14001d494
sqrtpd xmm0, xmm1
jmp 0x14001d49c
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
divsd xmm12, xmm0
mulsd xmm8, xmm8
mulsd xmm6, xmm6
addsd xmm6, xmm8
xorps xmm0, xmm0
ucomisd xmm0, xmm6
ja 0x14001d4be
sqrtpd xmm0, xmm6
jmp 0x14001d4c6
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movsd xmm1, qword [0x140049a68]
divsd xmm1, xmm0
xorps xmm0, xmm0
subsd xmm0, xmm7
comisd xmm12, xmm0
jb 0x14001d693
movsd xmm3, qword [0x140049b00]
subsd xmm7, xmm3
comisd xmm12, xmm7
jb 0x14001d693
xorps xmm0, xmm0
subsd xmm0, xmm9
comisd xmm1, xmm0
jb 0x14001d693
movaps xmm0, xmm9
subsd xmm0, xmm3
comisd xmm1, xmm0
jb 0x14001d693
movaps xmm6, xmm9
mulsd xmm6, xmm11
addsd xmm6, xmm14
mulsd xmm9, xmm10
addsd xmm9, xmm13
movsd qword [rbp - 0x80], xmm6
movsd qword [rbp - 0x78], xmm9
movzx ecx, bl
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
movzx eax, byte [rbp + 0xb1]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp + 0xb2]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp + 0xb3]
xor rcx, rax
imul rcx, rdx
mov rdx, qword [rsp + 0x70]
and rdx, rcx
add rdx, rdx
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx + rdx*8 + 8]
mov r8, qword [rsp + 0x48]
cmp rax, r8
je 0x14001d5c2
mov rcx, qword [rcx + rdx*8]
cmp ebx, dword [rax + 0x10]
je 0x14001d5c5
cmp rax, rcx
je 0x14001d5c2
mov rax, qword [rax + 8]
cmp ebx, dword [rax + 0x10]
jne 0x14001d5b2
jmp 0x14001d5c5
mov rax, r13
test rax, rax
je 0x14001d5cf
cmp rax, r8
jne 0x14001d648
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x38], r13
lea r8, [rbp + 0xb0]
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x40]
call fcn.140019d50
mov rbx, qword [rax]
add rbx, 0x18
lea rax, [rbp - 0x48]
cmp rbx, rax
je 0x14001d648
mov rcx, qword [rbx]
test rcx, rcx
je 0x14001d63d
mov rdx, qword [rbx + 0x10]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
cmp rdx, 0x1000
jb 0x14001d638
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001d7a4
mov rcx, r8
call fcn.140044d00
mov qword [rbx], r13
mov qword [rbx + 8], r13
mov qword [rbx + 0x10], r13
lea r8, [rbp + 0xb0]
lea rdx, [rbp - 0x58]
lea rcx, [rsp + 0x40]
call fcn.140019d50
mov rcx, qword [rax]
add rcx, 0x18
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x14001d684
movaps xmm0, xmm6
unpcklpd xmm0, xmm9
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rdx], xmm0
add qword [rcx + 8], 0x10
jmp 0x14001d68d
lea r8, [rbp - 0x80]
call fcn.140003670
mov ebx, dword [rbp + 0xb0]
add esi, 2
add rdi, 0x20
mov r9, qword [r12 + 8]
mov r8, qword [r12]
mov rcx, r9
sub rcx, r8
sar rcx, 4
mov rdx, r8
movsxd rax, esi
cmp rax, rcx
jb 0x14001d314
add ebx, 2
mov dword [rbp + 0xb0], ebx
mov rcx, r9
sub rcx, r8
sar rcx, 4
mov rdx, r8
movsxd rax, ebx
cmp rax, rcx
jb 0x14001d2e0
movabs r14, 0x100000001b3
movabs r10, 0xcbf29ce484222325
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r13
mov edx, r13d
mov dword [rbp + 0xb0], edx
sub r9, r8
sar r9, 4
mov rbx, qword [rsp + 0x28]
test r9, r9
je 0x14001d8e4
nop
movsxd rax, edx
mov rdi, rax
shl rdi, 4
add rdi, r8
lea rsi, [rax + 1]
shl rsi, 4
add rsi, r8
movzx ecx, dl
xor rcx, r10
imul rcx, r14
movzx eax, byte [rbp + 0xb1]
xor rcx, rax
imul rcx, r14
movzx eax, byte [rbp + 0xb2]
xor rcx, rax
imul rcx, r14
movzx eax, byte [rbp + 0xb3]
xor rcx, rax
imul rcx, r14
mov r8, qword [rsp + 0x70]
and r8, rcx
add r8, r8
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx + r8*8 + 8]
mov r9, qword [rsp + 0x48]
cmp rax, r9
je 0x14001d7ab
mov rcx, qword [rcx + r8*8]
cmp edx, dword [rax + 0x10]
je 0x14001d7ae
cmp rax, rcx
je 0x14001d7ab
mov rax, qword [rax + 8]
cmp edx, dword [rax + 0x10]
jne 0x14001d794
jmp 0x14001d7ae
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rax, r13
test rax, rax
je 0x14001d84d
cmp rax, r9
je 0x14001d84d
lea r8, [rbp + 0xb0]
lea rdx, [rbp - 0x58]
lea rcx, [rsp + 0x40]
call fcn.140019d50
mov r9, qword [rax]
add r9, 0x18
mov r8, rsi
mov rdx, rdi
lea rcx, [rbp - 0x70]
call fcn.14001da20
nop
mov r9, qword [rbp - 0x68]
mov r8, qword [rbp - 0x70]
sub r9, r8
sar r9, 4
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.140019700
nop
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x14001d8a2
mov rdx, qword [rbp - 0x60]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001d846
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001d8dd
call fcn.140044d00
jmp 0x14001d8a2
cmp rbx, qword [rsp + 0x30]
je 0x14001d865
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
add rbx, 0x10
mov qword [rsp + 0x28], rbx
jmp 0x14001d87a
mov r8, rdi
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.140003670
mov rbx, qword [rsp + 0x28]
cmp rbx, qword [rsp + 0x30]
je 0x14001d892
movups xmm0, xmmword [rsi]
movups xmmword [rbx], xmm0
add rbx, 0x10
mov qword [rsp + 0x28], rbx
jmp 0x14001d8a7
mov r8, rsi
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.140003670
mov rbx, qword [rsp + 0x28]
mov edx, dword [rbp + 0xb0]
add edx, 2
mov dword [rbp + 0xb0], edx
mov r8, qword [r12]
mov rcx, qword [r12 + 8]
sub rcx, r8
sar rcx, 4
movsxd rax, edx
cmp rax, rcx
jae 0x14001d8e4
movabs r10, 0xcbf29ce484222325
jmp 0x14001d720
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
lea rax, [rsp + 0x20]
mov rdi, qword [rsp + 0x20]
cmp r12, rax
je 0x14001d909
sub rbx, rdi
sar rbx, 4
mov r8, rbx
mov rdx, rdi
mov rcx, r12
call fcn.1400033f0
nop
test rdi, rdi
je 0x14001d94b
mov rdx, qword [rsp + 0x30]
sub rdx, rdi
and rdx, 0xfffffffffffffff0
mov rax, rdi
cmp rdx, 0x1000
jb 0x14001d942
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001d942
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.140044d00
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14001d99c
mov rdx, qword [rsp + 0x68]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001d989
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001d989
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140044d00
mov qword [rsp + 0x58], r13
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x48]
call fcn.1400195c0
mov edx, 0x30
mov rcx, qword [rsp + 0x48]
call fcn.140044d00
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
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