Function at 0x1400a7920
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1e0]
sub rsp, 0x2e0
mov rax, qword [0x1401b4080]
xor rax, rsp
mov qword [rbp + 0x1d0], rax
mov r15, rcx
xor r14d, r14d
mov dword [rsp + 0x40], r14d
lea rcx, [rbp + 0x160]
call fcn.14000b840
nop
lea rdx, [rbp + 0x160]
call fcn.140093830
lea rcx, [r15 + 0x10]
lea r8, [rbp + 0x160]
lea rdx, [rsp + 0x50]
call fcn.1400aaab0
mov rcx, qword [rax]
mov rsi, qword [rcx + 0x30]
test rsi, rsi
jne 0x1400a829d
lea rcx, [rbp + 0xa0]
call fcn.14009b530
nop
mov rdx, rax
lea rcx, [rbp + 0x1a0]
call fcn.140093380
nop
lea rcx, [rbp + 0xa0]
call fcn.14000cf30
mov rdx, qword [rbp + 0x1b0]
test rdx, rdx
jne 0x1400a79d6
mov esi, r14d
jmp 0x1400a8290
movabs rax, 0xa7ba567c1c50a46b
mov qword [rbp + 0x1c0], rax
movabs rax, 0x1cd6469152f193c8
mov qword [rbp + 0x1c8], rax
movabs rax, 0x94d733086f29f737
mov qword [rsp + 0x50], rax
movabs rax, 0x1cd6469152f1cffa
mov qword [rsp + 0x58], rax
movaps xmm0, xmmword [rsp + 0x50]
xorps xmm0, xmmword [rbp + 0x1c0]
movdqa xmmword [rsp + 0x50], xmm0
lea rax, [rsp + 0x50]
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x1400a7a34
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, rcx
jb 0x1400a82d6
lea r9, [rbp + 0x1a0]
cmp qword [rbp + 0x1b8], 0xf
cmova r9, qword [rbp + 0x1a0]
mov qword [rsp + 0x30], rcx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea rcx, [rbp + 0x80]
call fcn.1400281c0
nop
movups xmm0, xmmword [rbp + 0x80]
movups xmmword [rbp + 0x180], xmm0
movups xmm1, xmmword [rbp + 0x90]
movups xmmword [rbp + 0x190], xmm1
movdqa xmm0, xmmword [0x140194630]
movdqu xmmword [rbp + 0x90], xmm0
mov byte [rbp + 0x80], 0
lea rcx, [rbp + 0x80]
call fcn.14000cfa0
lea rdx, [rbp + 0x160]
cmp qword [rbp + 0x178], 0xf
cmova rdx, qword [rbp + 0x160]
mov r8, qword [rbp + 0x170]
lea rcx, [rbp + 0x180]
call fcn.14000d160
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x80], xmm1
mov qword [rbp + 0x90], r14
xor edx, edx
mov r8d, 0x110
lea rcx, [rsp + 0x70]
call fcn.1400dfed9
lea rbx, [rbp + 0x180]
cmp qword [rbp + 0x198], 0xf
cmova rbx, qword [rbp + 0x180]
lea rax, [0x140190a38]
mov qword [rsp + 0x70], rax
lea rcx, [rbp + 0x20]
call qword [0x1400e9458]
nop
mov dword [rsp + 0x40], 0x14
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x70]
call qword [0x1400e94c0]
nop
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea rsi, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x70], rsi
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x6c], edx
lea rcx, [rbp - 0x80]
call qword [0x1400e9440]
lea rax, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rbp - 0x80], rax
mov byte [rbp - 4], 0
mov byte [rbp - 0xf], 0
lea rcx, [rbp - 0x80]
call qword [0x1400e9380]
mov qword [rbp], r14
mov rax, qword [0x1401bc240]
mov qword [rbp - 0xc], rax
mov qword [rbp - 0x18], r14
mov r8d, 0x21
mov rdx, rbx
lea rcx, [rbp - 0x80]
call fcn.140035190
test rax, rax
jne 0x1400a7bfd
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x70]
add rcx, rax
xor r8d, r8d
mov edx, 2
call qword [0x1400e9398]
nop
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x70]
add rcx, rax
call qword [0x1400e94a0]
test al, al
jne 0x1400a7c5e
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x70], rsi
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x6c], edx
lea rcx, [rbp - 0x80]
call fcn.14000a830
lea rcx, [rbp - 0x78]
call qword [0x1400e94d8]
lea rcx, [rbp + 0x20]
call qword [0x1400e93c0]
mov rsi, r14
jmp 0x1400a823f
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
and dword [rbp + rcx - 0x78], 0xfffffffe
xor edx, edx
mov r8d, 2
lea rcx, [rsp + 0x70]
call qword [0x1400e94f0]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x70]
call qword [0x1400e94f8]
mov rdi, qword [rax + 8]
add rdi, qword [rax]
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x70]
call qword [0x1400e94f0]
mov r9, qword [rbp + 0x88]
mov rcx, r9
mov rdx, qword [rbp + 0x80]
sub rcx, rdx
cmp rdi, rcx
jae 0x1400a7ccc
lea rax, [rdx + rdi]
mov qword [rbp + 0x88], rax
jmp 0x1400a7d10
jbe 0x1400a7d10
mov rax, qword [rbp + 0x90]
sub rax, rdx
cmp rdi, rax
jbe 0x1400a7cee
mov rdx, rdi
lea rcx, [rbp + 0x80]
call fcn.1400ac610
jmp 0x1400a7d09
mov r8, rdi
sub r8, rcx
lea rbx, [r8 + r9]
xor edx, edx
mov rcx, r9
call fcn.1400dfed9
mov qword [rbp + 0x88], rbx
mov rdx, qword [rbp + 0x80]
mov r8, rdi
lea rcx, [rsp + 0x70]
call qword [0x1400e94e0]
lea rcx, [rbp - 0x80]
call fcn.14000c8c0
test rax, rax
jne 0x1400a7d4c
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x70]
add rcx, rax
xor r8d, r8d
mov edx, 2
call qword [0x1400e9398]
nop
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x70], rsi
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x6c], edx
lea rcx, [rbp - 0x80]
call fcn.14000a830
lea rcx, [rbp - 0x78]
call qword [0x1400e94d8]
lea rcx, [rbp + 0x20]
call qword [0x1400e93c0]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xe0], xmm0
movups xmmword [rbp + 0xf0], xmm0
movups xmmword [rbp + 0x100], xmm0
movups xmmword [rbp + 0x110], xmm0
movups xmmword [rbp + 0x120], xmm0
movups xmmword [rbp + 0x130], xmm0
movups xmmword [rbp + 0x140], xmm0
mov qword [rbp + 0x150], rax
movdqu xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], r14
lea rax, [rbp + 0xd8]
mov qword [rsp + 0x50], rax
mov dword [rbp + 0xd8], 0
mov qword [rbp + 0xe0], r14
mov qword [rbp + 0xe8], r14
mov ecx, 0x48
call fcn.1400de098
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp + 0xe0], rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xf0], xmm0
mov qword [rbp + 0x100], r14
mov qword [rbp + 0x108], 7
mov qword [rbp + 0x110], 8
mov dword [rbp + 0xd8], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [rbp + 0xf0]
call fcn.140093a70
nop
mov qword [rbp + 0x118], r14
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x138], r14
movdqu xmmword [rbp + 0x140], xmm0
mov qword [rbp + 0x150], r14
mov r8, qword [rbp + 0x88]
mov rdx, qword [rbp + 0x80]
sub r8, rdx
lea rcx, [rbp + 0xc0]
call fcn.1400ac720
mov rcx, qword [rbp + 0xc0]
mov qword [rbp + 0x138], rcx
movsxd rax, dword [rcx + 0x3c]
add rax, rcx
mov qword [rbp + 0x130], rax
lea rcx, [rbp + 0xc0]
call fcn.1400a97c0
nop
mov rax, qword [rbp + 0x130]
test rax, rax
jne 0x1400a7ee2
mov rsi, r14
jmp 0x1400a8178
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xa0], xmm1
mov qword [rbp + 0xb0], r14
mov edx, dword [rax + 0x50]
test rdx, rdx
je 0x1400a7f0f
lea rcx, [rbp + 0xa0]
call fcn.1400ac610
mov rax, qword [rbp + 0x130]
mov r8d, dword [rax + 0x54]
mov rdx, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0xa0]
call fcn.1400dfed3
mov rdi, qword [rbp + 0x120]
mov rbx, qword [rbp + 0x118]
cmp rbx, rdi
je 0x1400a7f69
add rbx, 0x30
nop dword [rax]
mov edx, dword [rbx]
add rdx, qword [rbp + 0xc0]
mov ecx, dword [rbx + 4]
add rcx, qword [rbp + 0xa0]
mov r8, qword [rbx - 0x10]
call fcn.1400dfed3
lea rbx, [rbx + 0x40]
lea rax, [rbx - 0x30]
cmp rax, rdi
jne 0x1400a7f40
mov rdx, qword [rbp + 0xa8]
sub rdx, qword [rbp + 0xa0]
mov rcx, r15
call fcn.1400bc5c0
mov rsi, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x1400a8102
mov r8, rax
mov rax, qword [rbp + 0x130]
sub r8, qword [rax + 0x30]
je 0x1400a7ff3
mov r9, qword [rbp + 0x148]
mov rdx, qword [rbp + 0x140]
cmp rdx, r9
je 0x1400a7ff3
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rdx + 4]
movzx ecx, ax
shr ax, 0xc
cmp ax, 3
je 0x1400a7fd7
cmp ax, 0xa
jne 0x1400a7fea
and ecx, 0xfff
add ecx, dword [rdx]
mov rax, qword [rbp + 0xa0]
add qword [rcx + rax], r8
add rdx, 8
cmp rdx, r9
jne 0x1400a7fc0
mov rdi, qword [rbp + 0xe0]
mov qword [rbp + 0x1c0], rdi
mov rbx, qword [rdi]
mov qword [rsp + 0x40], rbx
cmp rbx, rdi
je 0x1400a80c9
nop dword [rax]
nop word [rax + rax]
lea r13, [rbx + 0x10]
mov r12, qword [r13 + 0x28]
mov rsi, qword [r13 + 0x20]
cmp rsi, r12
je 0x1400a80b0
movabs rdi, 0xcbf29ce484222325
movabs rbx, 0x100000001b3
mov rcx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x1400a8052
mov rcx, qword [rsi]
movsx rax, byte [rcx]
test al, al
jne 0x1400a805f
mov r14, rdi
jmp 0x1400a8074
mov rdx, rax
xor rdx, rdi
imul rdx, rbx
inc rcx
call fcn.1400019c0
mov r14, rax
mov rdx, r13
mov rcx, r15
call fcn.1400a7920
mov r8, r14
mov rdx, rax
mov rcx, r15
call fcn.1400a82e0
mov edx, dword [rsi + 0x20]
mov rcx, qword [rbp + 0xa0]
mov qword [rdx + rcx], rax
add rsi, 0x28
cmp rsi, r12
jne 0x1400a8045
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rbp + 0x1c0]
mov rbx, qword [rbx]
mov qword [rsp + 0x40], rbx
cmp rbx, rdi
jne 0x1400a8020
mov rsi, qword [rsp + 0x50]
xor r14d, r14d
mov r9, qword [rbp + 0xa8]
mov r8, qword [rbp + 0xa0]
sub r9, r8
mov rdx, rsi
mov rcx, r15
call fcn.1400bc400
test al, al
jne 0x1400a8143
mov r8, qword [rbp + 0xa8]
sub r8, qword [rbp + 0xa0]
mov rdx, rsi
mov rcx, r15
call fcn.1400bc700
mov rsi, r14
mov rcx, qword [rbp + 0xa0]
test rcx, rcx
je 0x1400a8178
mov rdx, qword [rbp + 0xb0]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a8161
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400a8161
call qword [0x1400e99a0]
nop
lea rcx, [r15 + 0x10]
lea r8, [rbp + 0x160]
lea rdx, [rsp + 0x50]
call fcn.1400aaab0
mov rcx, qword [rax]
mov qword [rcx + 0x30], rsi
jmp 0x1400a8105
call fcn.1400ddf70
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb0], r14
mov rcx, qword [rbp + 0x140]
test rcx, rcx
je 0x1400a81d2
mov rax, qword [rbp + 0x150]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a81bb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a8221
call fcn.1400ddf70
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x140], xmm0
mov qword [rbp + 0x150], r14
lea rcx, [rbp + 0x118]
call fcn.1400a8ee0
lea rcx, [rbp + 0xd8]
call fcn.1400a9170
mov rcx, qword [rbp + 0xc0]
test rcx, rcx
je 0x1400a823f
mov rdx, qword [rbp + 0xd0]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a8228
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400a8228
call qword [0x1400e99a0]
int3
call fcn.1400ddf70
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], r14
mov rcx, qword [rbp + 0x80]
test rcx, rcx
je 0x1400a8283
mov rdx, qword [rbp + 0x90]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a827d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400a827d
call qword [0x1400e99a0]
int3
call fcn.1400ddf70
nop
lea rcx, [rbp + 0x180]
call fcn.14000cfa0
nop
lea rcx, [rbp + 0x1a0]
call fcn.14000cfa0
nop
lea rcx, [rbp + 0x160]
call fcn.14000cfa0
mov rax, rsi
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.1400ddf50
mov rbx, qword [rsp + 0x330]
add rsp, 0x2e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140001c90
nop
int3