Function at 0x1400a8670
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 [0x1401b6080]
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.14000b9f0
nop
lea rdx, [rbp + 0x160]
call fcn.140093ac0
lea rcx, [r15 + 0x10]
lea r8, [rbp + 0x160]
lea rdx, [rsp + 0x50]
call fcn.1400ab800
mov rcx, qword [rax]
mov rsi, qword [rcx + 0x30]
test rsi, rsi
jne 0x1400a8fed
lea rcx, [rbp + 0xa0]
call fcn.14009b770
nop
mov rdx, rax
lea rcx, [rbp + 0x1a0]
call fcn.140093610
nop
lea rcx, [rbp + 0xa0]
call fcn.14000d0e0
mov rdx, qword [rbp + 0x1b0]
test rdx, rdx
jne 0x1400a8726
mov esi, r14d
jmp 0x1400a8fe0
movabs rax, 0x4049f7f23719ccab
mov qword [rbp + 0x1c0], rax
movabs rax, 0x36817a07e8ec9120
mov qword [rbp + 0x1c8], rax
movabs rax, 0x7324928644609ff7
mov qword [rsp + 0x50], rax
movabs rax, 0x36817a07e8eccd12
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 0x1400a8784
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, rcx
jb 0x1400a9026
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.140028370
nop
movups xmm0, xmmword [rbp + 0x80]
movups xmmword [rbp + 0x180], xmm0
movups xmm1, xmmword [rbp + 0x90]
movups xmmword [rbp + 0x190], xmm1
movdqa xmm0, xmmword [0x1401964f0]
movdqu xmmword [rbp + 0x90], xmm0
mov byte [rbp + 0x80], 0
lea rcx, [rbp + 0x80]
call fcn.14000d150
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.14000d310
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.1400e09b9
lea rbx, [rbp + 0x180]
cmp qword [rbp + 0x198], 0xf
cmova rbx, qword [rbp + 0x180]
lea rax, [0x140192878]
mov qword [rsp + 0x70], rax
lea rcx, [rbp + 0x20]
call qword [0x1400ea488]
nop
mov dword [rsp + 0x40], 0x14
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x70]
call qword [0x1400ea4f0]
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 [0x1400ea470]
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 [0x1400ea3b0]
mov qword [rbp], r14
mov rax, qword [0x1401be400]
mov qword [rbp - 0xc], rax
mov qword [rbp - 0x18], r14
mov r8d, 0x21
mov rdx, rbx
lea rcx, [rbp - 0x80]
call fcn.140035340
test rax, rax
jne 0x1400a894d
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 [0x1400ea3c8]
nop
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x70]
add rcx, rax
call qword [0x1400ea4d0]
test al, al
jne 0x1400a89ae
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.14000a9f0
lea rcx, [rbp - 0x78]
call qword [0x1400ea508]
lea rcx, [rbp + 0x20]
call qword [0x1400ea3f0]
mov rsi, r14
jmp 0x1400a8f8f
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 [0x1400ea520]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x70]
call qword [0x1400ea528]
mov rdi, qword [rax + 8]
add rdi, qword [rax]
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x70]
call qword [0x1400ea520]
mov r9, qword [rbp + 0x88]
mov rcx, r9
mov rdx, qword [rbp + 0x80]
sub rcx, rdx
cmp rdi, rcx
jae 0x1400a8a1c
lea rax, [rdx + rdi]
mov qword [rbp + 0x88], rax
jmp 0x1400a8a60
jbe 0x1400a8a60
mov rax, qword [rbp + 0x90]
sub rax, rdx
cmp rdi, rax
jbe 0x1400a8a3e
mov rdx, rdi
lea rcx, [rbp + 0x80]
call fcn.1400ad360
jmp 0x1400a8a59
mov r8, rdi
sub r8, rcx
lea rbx, [r8 + r9]
xor edx, edx
mov rcx, r9
call fcn.1400e09b9
mov qword [rbp + 0x88], rbx
mov rdx, qword [rbp + 0x80]
mov r8, rdi
lea rcx, [rsp + 0x70]
call qword [0x1400ea510]
lea rcx, [rbp - 0x80]
call fcn.14000ca70
test rax, rax
jne 0x1400a8a9c
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 [0x1400ea3c8]
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.14000a9f0
lea rcx, [rbp - 0x78]
call qword [0x1400ea508]
lea rcx, [rbp + 0x20]
call qword [0x1400ea3f0]
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.1400deb78
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.140093d00
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.1400ad470
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.1400aa510
nop
mov rax, qword [rbp + 0x130]
test rax, rax
jne 0x1400a8c32
mov rsi, r14
jmp 0x1400a8ec8
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xa0], xmm1
mov qword [rbp + 0xb0], r14
mov edx, dword [rax + 0x50]
test rdx, rdx
je 0x1400a8c5f
lea rcx, [rbp + 0xa0]
call fcn.1400ad360
mov rax, qword [rbp + 0x130]
mov r8d, dword [rax + 0x54]
mov rdx, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0xa0]
call fcn.1400e09b3
mov rdi, qword [rbp + 0x120]
mov rbx, qword [rbp + 0x118]
cmp rbx, rdi
je 0x1400a8cb9
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.1400e09b3
lea rbx, [rbx + 0x40]
lea rax, [rbx - 0x30]
cmp rax, rdi
jne 0x1400a8c90
mov rdx, qword [rbp + 0xa8]
sub rdx, qword [rbp + 0xa0]
mov rcx, r15
call fcn.1400bd430
mov rsi, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x1400a8e52
mov r8, rax
mov rax, qword [rbp + 0x130]
sub r8, qword [rax + 0x30]
je 0x1400a8d43
mov r9, qword [rbp + 0x148]
mov rdx, qword [rbp + 0x140]
cmp rdx, r9
je 0x1400a8d43
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rdx + 4]
movzx ecx, ax
shr ax, 0xc
cmp ax, 3
je 0x1400a8d27
cmp ax, 0xa
jne 0x1400a8d3a
and ecx, 0xfff
add ecx, dword [rdx]
mov rax, qword [rbp + 0xa0]
add qword [rcx + rax], r8
add rdx, 8
cmp rdx, r9
jne 0x1400a8d10
mov rdi, qword [rbp + 0xe0]
mov qword [rbp + 0x1c0], rdi
mov rbx, qword [rdi]
mov qword [rsp + 0x40], rbx
cmp rbx, rdi
je 0x1400a8e19
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 0x1400a8e00
movabs rdi, 0xcbf29ce484222325
movabs rbx, 0x100000001b3
mov rcx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x1400a8da2
mov rcx, qword [rsi]
movsx rax, byte [rcx]
test al, al
jne 0x1400a8daf
mov r14, rdi
jmp 0x1400a8dc4
mov rdx, rax
xor rdx, rdi
imul rdx, rbx
inc rcx
call fcn.140001b80
mov r14, rax
mov rdx, r13
mov rcx, r15
call fcn.1400a8670
mov r8, r14
mov rdx, rax
mov rcx, r15
call fcn.1400a9030
mov edx, dword [rsi + 0x20]
mov rcx, qword [rbp + 0xa0]
mov qword [rdx + rcx], rax
add rsi, 0x28
cmp rsi, r12
jne 0x1400a8d95
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rbp + 0x1c0]
mov rbx, qword [rbx]
mov qword [rsp + 0x40], rbx
cmp rbx, rdi
jne 0x1400a8d70
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.1400bd270
test al, al
jne 0x1400a8e93
mov r8, qword [rbp + 0xa8]
sub r8, qword [rbp + 0xa0]
mov rdx, rsi
mov rcx, r15
call fcn.1400bd570
mov rsi, r14
mov rcx, qword [rbp + 0xa0]
test rcx, rcx
je 0x1400a8ec8
mov rdx, qword [rbp + 0xb0]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a8eb1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400a8eb1
call qword [0x1400ea9d0]
nop
lea rcx, [r15 + 0x10]
lea r8, [rbp + 0x160]
lea rdx, [rsp + 0x50]
call fcn.1400ab800
mov rcx, qword [rax]
mov qword [rcx + 0x30], rsi
jmp 0x1400a8e55
call fcn.1400dea50
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb0], r14
mov rcx, qword [rbp + 0x140]
test rcx, rcx
je 0x1400a8f22
mov rax, qword [rbp + 0x150]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a8f0b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a8f71
call fcn.1400dea50
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x140], xmm0
mov qword [rbp + 0x150], r14
lea rcx, [rbp + 0x118]
call fcn.1400a9c30
lea rcx, [rbp + 0xd8]
call fcn.1400a9ec0
mov rcx, qword [rbp + 0xc0]
test rcx, rcx
je 0x1400a8f8f
mov rdx, qword [rbp + 0xd0]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a8f78
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400a8f78
call qword [0x1400ea9d0]
int3
call fcn.1400dea50
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], r14
mov rcx, qword [rbp + 0x80]
test rcx, rcx
je 0x1400a8fd3
mov rdx, qword [rbp + 0x90]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a8fcd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400a8fcd
call qword [0x1400ea9d0]
int3
call fcn.1400dea50
nop
lea rcx, [rbp + 0x180]
call fcn.14000d150
nop
lea rcx, [rbp + 0x1a0]
call fcn.14000d150
nop
lea rcx, [rbp + 0x160]
call fcn.14000d150
mov rax, rsi
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.1400dea30
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.140001e50
nop
int3