Function at 0x14001d180
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 - 0x2f8]
sub rsp, 0x3d0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x1400ce568]
xor rax, rsp
mov qword [rbp + 0x2a0], rax
mov r14, rcx
lea rsi, [rcx + 0x400]
xorps xmm0, xmm0
movups xmmword [rbp + 0x260], xmm0
movups xmmword [rbp + 0x270], xmm0
movups xmmword [rbp + 0x280], xmm0
movups xmmword [rbp + 0x290], xmm0
xorps xmm6, xmm6
mov dword [rsp + 0x30], 0
mov eax, dword [rsp + 0x30]
mov dword [rbp + 0x260], eax
xor r13d, r13d
mov qword [rbp + 0x268], r13
mov qword [rbp + 0x270], r13
lfence
lea ecx, [r13 + 0x18]
call fcn.140078b70
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp + 0x268], rax
mov qword [rbp + 0x278], r13
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x280], xmm0
mov qword [rbp + 0x290], 7
mov qword [rbp + 0x298], 8
movss xmm0, dword [0x1400aa430]
movss dword [rbp + 0x260], xmm0
mov r8, rax
lea edx, [r13 + 0x10]
lea rcx, [rbp + 0x278]
call fcn.140019a80
nop
mov r15, qword [r14 + 0x68]
mov r12, qword [r14 + 0x70]
cmp r15, r12
je 0x14001d918
lea rbx, [r15 + 0x20]
movabs rdx, 0x100000001b3
movabs r9, 0xcbf29ce484222325
lea rdi, [0x140000000]
movss xmm7, dword [0x1400aa44c]
nop dword [rax]
lea r8, [rbx - 0x1c]
movzx ecx, byte [r8]
xor rcx, r9
imul rcx, rdx
movzx eax, byte [rbx - 0x1b]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbx - 0x1a]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbx - 0x19]
xor rcx, rax
imul rcx, rdx
mov rdx, qword [rbp + 0x290]
and rdx, rcx
add rdx, rdx
mov rcx, qword [rbp + 0x278]
mov rax, qword [rcx + rdx*8 + 8]
cmp rax, qword [rbp + 0x268]
je 0x14001d330
mov rdx, qword [rcx + rdx*8]
mov ecx, dword [r8]
cmp ecx, dword [rax + 0x10]
je 0x14001d31e
nop
cmp rax, rdx
je 0x14001d330
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x14001d310
test rax, rax
je 0x14001d330
cmp rax, qword [rbp + 0x268]
jne 0x14001d8f7
lea rdx, [rbp + 0x250]
lea rcx, [rbp + 0x260]
call fcn.140013bc0
inc dword [r14 + 0x228]
lea rcx, [r14 + 0x2f8]
mov rdx, qword [r14 + 0x300]
cmp rdx, qword [r14 + 0x308]
je 0x14001d37a
mov qword [rdx], r13
mov qword [rdx + 8], r13
mov qword [rdx + 0x10], r13
mov r8, qword [rcx + 8]
lea rax, [r8 + 0x18]
mov qword [rcx + 8], rax
jmp 0x14001d382
call fcn.140011b20
mov r8, rax
movsxd rax, dword [rbx + 0x48]
cmp eax, 0x15
ja case.0x14001d395.2
mov edx, dword [rdi + rax*4 + 0x1d960]
add rdx, rdi
jmp rdx
mov qword [r8 + 0xc], r13
mov dword [r8 + 0x14], r13d
jmp 0x14001d3fd
mov qword [r8 + 0xc], r13
jmp 0x14001d3f5
mov dword [r8 + 0xc], r13d
mov qword [r8 + 0x10], 1
jmp 0x14001d3fd
mov dword [r8 + 0xc], r13d
jmp 0x14001d3ed
mov qword [r8 + 0xc], 1
mov dword [r8 + 0x14], r13d
jmp 0x14001d3fd
mov qword [r8 + 0xc], 1
jmp 0x14001d3f5
mov dword [r8 + 0xc], 1
mov qword [r8 + 0x10], 1
jmp 0x14001d3fd
mov dword [r8 + 0xc], 1
mov dword [r8 + 0x10], 1
mov dword [r8 + 0x14], 1
mov ecx, dword [rbx + 0x4c]
sub ecx, 1
je 0x14001d427
sub ecx, 1
je 0x14001d420
sub ecx, 1
je 0x14001d419
cmp ecx, 1
jne 0x14001d419
lea eax, [rcx + 2]
jmp 0x14001d42a
mov eax, 1
jmp 0x14001d42a
mov eax, 2
jmp 0x14001d42a
mov eax, r13d
mov dword [r8], eax
mov ecx, dword [rbx + 0x50]
sub ecx, 1
je 0x14001d457
sub ecx, 1
je 0x14001d450
sub ecx, 1
je 0x14001d449
cmp ecx, 1
jne 0x14001d449
lea eax, [rcx + 2]
jmp 0x14001d45a
mov eax, 1
jmp 0x14001d45a
mov eax, 2
jmp 0x14001d45a
mov eax, r13d
mov dword [r8 + 4], eax
mov ecx, dword [rbx + 0x54]
sub ecx, 1
je 0x14001d488
sub ecx, 1
je 0x14001d481
sub ecx, 1
je 0x14001d47a
cmp ecx, 1
jne 0x14001d47a
lea eax, [rcx + 2]
jmp 0x14001d48b
mov eax, 1
jmp 0x14001d48b
mov eax, 2
jmp 0x14001d48b
mov eax, r13d
mov dword [r8 + 8], eax
movss xmm0, dword [rbx + 0x58]
comiss xmm0, xmm6
ja 0x14001d4a3
comiss xmm7, dword [rbx + 0x5c]
jbe 0x14001d5f8
lea rdx, [0x1400a9bb0]
lea rcx, [0x1400e07f0]
call fcn.140010a10
lea rdi, [rbx - 0x10]
mov rdx, rdi
cmp qword [rbx + 8], 0x10
jb 0x14001d4c7
mov rdx, qword [rdi]
mov r8, qword [rbx]
mov rcx, rax
call fcn.140012af0
lea rdx, str._uses_unsupported__MinLOD__or__MaxLOD__value
mov rcx, rax
call fcn.140010a10
mov rcx, rax
call fcn.140013e70
cmp qword [rsi + 0x10], 0
je 0x14001d5f8
mov rdx, rsi
cmp qword [rsi + 0x18], 8
jb 0x14001d501
mov rdx, qword [rsi]
mov dword [rsp + 0x20], 1
mov r9d, 0x40
lea r8d, [r9 - 0x38]
lea rcx, [rsp + 0x38]
call fcn.1400144d0
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x38], rax
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x34], edx
lea rdx, [0x1400a9bb0]
lea rcx, [rsp + 0x38]
call fcn.140010a10
cmp qword [rbx + 8], 0x10
jb 0x14001d560
mov rdi, qword [rdi]
mov r8, qword [rbx]
mov rdx, rdi
lea rcx, [rsp + 0x38]
call fcn.140012af0
lea rdx, str._uses_unsupported__MinLOD__or__MaxLOD__value
lea rcx, [rsp + 0x38]
call fcn.140010a10
lea rcx, [rsp + 0x38]
call fcn.140013e70
nop
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x38], rax
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x34], edx
lea rcx, [rsp + 0x40]
call fcn.140015c50
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x38], rax
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rsp + rcx + 0x34], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp - 0x20], rax
lea rcx, [rbp - 0x20]
call fcn.14007a8a0
nop
movss xmm0, dword [rbx + 0x60]
ucomiss xmm0, xmm6
jp 0x14001d608
je 0x14001d757
lea rdx, [0x1400a9bb0]
lea rcx, [0x1400e07f0]
call fcn.140010a10
lea rdi, [rbx - 0x10]
mov rdx, rdi
cmp qword [rbx + 8], 0x10
jb 0x14001d62c
mov rdx, qword [rdi]
mov r8, qword [rbx]
mov rcx, rax
call fcn.140012af0
lea rdx, str._uses_unsupported__MipLODBias__value
mov rcx, rax
call fcn.140010a10
mov rcx, rax
call fcn.140013e70
cmp qword [rsi + 0x10], 0
je 0x14001d757
mov rdx, rsi
cmp qword [rsi + 0x18], 8
jb 0x14001d666
mov rdx, qword [rsi]
mov dword [rsp + 0x20], 1
mov r9d, 0x40
lea r8d, [r9 - 0x38]
lea rcx, [rbp + 0x40]
call fcn.1400144d0
mov rax, qword [rbp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x40], rax
mov rax, qword [rbp + 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x3c], edx
lea rdx, [0x1400a9bb0]
lea rcx, [rbp + 0x40]
call fcn.140010a10
cmp qword [rbx + 8], 0x10
jb 0x14001d6c1
mov rdi, qword [rdi]
mov r8, qword [rbx]
mov rdx, rdi
lea rcx, [rbp + 0x40]
call fcn.140012af0
lea rdx, str._uses_unsupported__MipLODBias__value
lea rcx, [rbp + 0x40]
call fcn.140010a10
lea rcx, [rbp + 0x40]
call fcn.140013e70
nop
mov rax, qword [rbp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x40], rax
mov rax, qword [rbp + 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x3c], edx
lea rcx, [rbp + 0x48]
call fcn.140015c50
mov rax, qword [rbp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x40], rax
mov rax, qword [rbp + 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx + 0x3c], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0xe8], rax
lea rcx, [rbp + 0xe8]
call fcn.14007a8a0
nop
cmp byte [rbx + 0x64], 0
je 0x14001d8e6
lea rdx, [0x1400a9bb0]
lea rcx, [0x1400e07f0]
call fcn.140010a10
lea rdi, [rbx - 0x10]
mov rdx, rdi
cmp qword [rbx + 8], 0x10
jb 0x14001d785
mov rdx, qword [rdi]
mov r8, qword [rbx]
mov rcx, rax
call fcn.140012af0
lea rdx, str._uses_unsupported__SRGBTexture__value
mov rcx, rax
call fcn.140010a10
mov rcx, rax
call fcn.140013e70
cmp qword [rsi + 0x10], 0
je 0x14001d8e6
mov rdx, rsi
cmp qword [rsi + 0x18], 8
jb 0x14001d7bf
mov rdx, qword [rsi]
mov dword [rsp + 0x20], 1
mov r9d, 0x40
lea r8d, [r9 - 0x38]
lea rcx, [rbp + 0x148]
call fcn.1400144d0
mov rax, qword [rbp + 0x148]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x148], rax
mov rax, qword [rbp + 0x148]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x144], edx
lea rdx, [0x1400a9bb0]
lea rcx, [rbp + 0x148]
call fcn.140010a10
cmp qword [rbx + 8], 0x10
jb 0x14001d82c
mov rdi, qword [rdi]
mov r8, qword [rbx]
mov rdx, rdi
lea rcx, [rbp + 0x148]
call fcn.140012af0
lea rdx, str._uses_unsupported__SRGBTexture__value
lea rcx, [rbp + 0x148]
call fcn.140010a10
lea rcx, [rbp + 0x148]
call fcn.140013e70
nop
mov rax, qword [rbp + 0x148]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x148], rax
mov rax, qword [rbp + 0x148]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x144], edx
lea rcx, [rbp + 0x150]
call fcn.140015c50
mov rax, qword [rbp + 0x148]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x148], rax
mov rax, qword [rbp + 0x148]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx + 0x144], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x1f0], rax
lea rcx, [rbp + 0x1f0]
call fcn.14007a8a0
nop
lea rdi, [0x140000000]
movabs r9, 0xcbf29ce484222325
add r15, 0x88
add rbx, 0x88
cmp r15, r12
movabs rdx, 0x100000001b3
jne 0x14001d2b0
lea rcx, [rbp + 0x260]
call fcn.140015a40
mov rcx, qword [rbp + 0x2a0]
xor rcx, rsp
call fcn.1400787f0
lea r11, [rsp + 0x3d0]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret