Function at 0x1401facb0
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
mov eax, 0xfffffdf5
cmp byte [rcx + 0x3c], 0
mov qword [rsp + 0xc8], rdx
mov rsi, rcx
mov rbx, r8
mov qword [rsp + 0xd8], r9
jne 0x1401fb099
cmp byte [rcx + 0x450], 0
je 0x1401fad3e
mov eax, 0xffffffff
mov rdx, qword [rcx + 0x448]
mov byte [rcx + 0x450], 0
mov qword [rcx + 0x448], rax
cmp rdx, qword [rcx + 0x30]
jb 0x1401fad28
mov rdx, qword [rsi + 0x30]
mov rcx, qword [rsp + 0xc8]
call sym.emit_table_size
test eax, eax
je 0x1401fad3e
jmp 0x1401fb058
mov rcx, qword [rsp + 0xc8]
call sym.emit_table_size
test eax, eax
je 0x1401fad0e
jmp 0x1401fb058
xor eax, eax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
cmp rax, qword [rsp + 0xd8]
je 0x1401fb054
mov rax, qword [rsi + 0x20]
mov r14, qword [rbx + 0x10]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx]
mov rdx, r14
mov rcx, rax
mov qword [rsp + 0x20], rax
call sym.lookup_token
mov ebp, eax
cmp eax, 0xffffffff
jne 0x1401fada4
xor eax, eax
mov r13d, 0x811c9dc5
cmp r14, rax
je 0x1401fadd7
mov rdi, qword [rsp + 0x20]
movzx edx, byte [rdi + rax]
inc rax
xor edx, r13d
imul r13d, edx, 0x1000193
jmp 0x1401fad87
cmp eax, 0x3c
jg 0x1401fadd4
cdqe
lea rdi, [0x1402cbec0]
mov r12d, 2
shl rax, 7
mov r13d, dword [rdi + rax + 0x7c]
cmp ebp, 0x16
je 0x1401fae1c
cmp ebp, 0x1f
jne 0x1401fadd7
cmp qword [rbx + 0x18], 0x13
jbe 0x1401fae1c
jmp 0x1401fadd7
xor r13d, r13d
mov r12d, 2
test byte [rbx + 0x20], 1
jne 0x1401fae1c
cmp ebp, 0x36
ja 0x1401fadfe
movabs rax, 0x40218208100008
mov r12d, 1
bt rax, rbp
jb 0x1401fae1c
imul rdx, qword [rsi + 0x30], 3
mov rax, qword [rbx + 0x18]
xor r12d, r12d
add rax, r14
add rax, 0x20
shr rdx, 2
cmp rdx, rax
setb r12b
mov eax, r13d
xor r15d, r15d
and eax, 0x7f
mov rdi, qword [rsi + rax*8 + 0x40]
test rdi, rdi
je 0x1401faf13
cmp ebp, dword [rdi + 0x10]
jne 0x1401fae92
cmp ebp, 0xffffffff
jne 0x1401fae61
cmp r13d, dword [rdi + 0x4c]
jne 0x1401fae92
mov rax, qword [rdi]
cmp r14, qword [rax + 0x18]
jne 0x1401fae92
mov rcx, qword [rax + 0x10]
mov rdx, qword [rsp + 0x20]
mov r8, r14
call sym.memeq
test eax, eax
je 0x1401fae92
test r15, r15
jne 0x1401fae73
mov r15, rdi
cmp r12d, 2
je 0x1401faf13
mov rax, qword [rdi + 8]
mov r8, qword [rbx + 0x18]
cmp qword [rax + 0x18], r8
jne 0x1401fae92
mov rdx, qword [rbx + 8]
mov rcx, qword [rax + 0x10]
call sym.memeq
test eax, eax
jne 0x1401fae98
mov rdi, qword [rdi + 0x40]
jmp 0x1401fae2a
mov r15, rdi
mov eax, 1
mov edi, dword [rsi + 0x38]
add edi, 0x3c
sub edi, dword [r15 + 0x48]
test eax, eax
je 0x1401faf5e
inc rdi
mov edx, 7
mov rcx, rdi
call sym.count_encoded_length
mov r11, rax
cmp rax, 0x10
ja 0x1401fb014
lea rbp, [rsp + 0x40]
mov r8d, 7
mov rdx, rdi
mov byte [rsp + 0x40], pe_nt_image_headers64
mov rcx, rbp
call sym.encode_length.isra.0
mov rcx, qword [rsp + 0xc8]
mov r8, r11
mov rdx, rbp
call sym.nghttp2_bufs_add
test eax, eax
jne 0x1401fb058
inc qword [rsp + 0x28]
add rbx, 0x28
jmp 0x1401fad45
cmp ebp, 0x3c
ja 0x1401fb085
movsxd rdi, ebp
cmp r12d, 2
je 0x1401fb039
mov r15, rdi
lea rax, [0x1402cbec0]
mov r9, rdi
shl r15, 7
add r15, rax
cmp ebp, dword [r15 + 0x78]
jne 0x1401faf5e
mov r8, qword [rbx + 0x18]
cmp qword [r15 + 0x40], r8
je 0x1401fb05e
inc r9
sub r15, 0xffffffffffffff80
cmp r9d, 0x3d
jne 0x1401faf3d
test r12d, r12d
jne 0x1401fb01b
cmp rdi, 0xffffffffffffffff
lea r15, [rsp + 0x40]
je 0x1401faf93
lea rcx, [rsp + 0x58]
mov r8, rdi
mov rdx, rsi
call sym.nghttp2_hd_table_get
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x40], rcx
call sym.nghttp2_rcbuf_incref
jmp 0x1401fafb0
mov r9, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x20]
mov r8, r14
mov rcx, r15
call sym.nghttp2_rcbuf_new2
test eax, eax
jne 0x1401fb058
mov rdx, qword [rbx + 8]
mov r9, qword [rsp + 0x30]
lea rcx, [rsp + 0x48]
mov r8, qword [rbx + 0x18]
call sym.nghttp2_rcbuf_new2
test eax, eax
je 0x1401fafdf
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x20], eax
call sym.nghttp2_rcbuf_decref
mov eax, dword [rsp + 0x20]
jmp 0x1401fb058
mov r9d, r13d
lea r8, [rsi + 0x40]
mov rdx, r15
mov rcx, rsi
mov dword [rsp + 0x50], ebp
mov byte [rsp + 0x54], 0
call sym.add_hd_table_incremental
mov rcx, qword [rsp + 0x48]
mov ebp, eax
call sym.nghttp2_rcbuf_decref
mov rcx, qword [rsp + 0x40]
call sym.nghttp2_rcbuf_decref
test ebp, ebp
je 0x1401fb01b
mov eax, 0xfffffdf5
jmp 0x1401fb058
cmp rdi, 0xffffffffffffffff
jne 0x1401fb039
mov rcx, qword [rsp + 0xc8]
mov r8d, r12d
mov rdx, rbx
call sym.emit_newname_block
jmp 0x1401faefd
mov rcx, qword [rsp + 0xc8]
mov r9d, r12d
mov r8, rbx
mov rdx, rdi
call sym.emit_indname_block
jmp 0x1401faefd
xor eax, eax
jmp 0x1401fb099
mov byte [rsi + 0x3c], 1
jmp 0x1401fb099
mov rdx, qword [rbx + 8]
mov rcx, qword [r15 + 0x38]
mov qword [rsp + 0x38], r9
call sub.msvcrt.dll_memcmp
mov r9, qword [rsp + 0x38]
test eax, eax
jne 0x1401faf51
movsxd rdi, r9d
jmp 0x1401faeb2
xor eax, eax
test r15, r15
jne 0x1401faea0
or rdi, 0xffffffffffffffff
jmp 0x1401faf5e
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret