Function at 0x1401d1a40
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 0x1401d1e29
cmp byte [rcx + 0x450], 0
je 0x1401d1ace
mov eax, 0xffffffff
mov rdx, qword [rcx + 0x448]
mov byte [rcx + 0x450], 0
mov qword [rcx + 0x448], rax
cmp rdx, qword [rcx + 0x30]
jb 0x1401d1ab8
mov rdx, qword [rsi + 0x30]
mov rcx, qword [rsp + 0xc8]
call sym.emit_table_size
test eax, eax
je 0x1401d1ace
jmp 0x1401d1de8
mov rcx, qword [rsp + 0xc8]
call sym.emit_table_size
test eax, eax
je 0x1401d1a9e
jmp 0x1401d1de8
xor eax, eax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
cmp rax, qword [rsp + 0xd8]
je 0x1401d1de4
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 0x1401d1b34
xor eax, eax
mov r13d, 0x811c9dc5
cmp r14, rax
je 0x1401d1b67
mov rdi, qword [rsp + 0x20]
movzx edx, byte [rdi + rax]
inc rax
xor edx, r13d
imul r13d, edx, 0x1000193
jmp 0x1401d1b17
cmp eax, 0x3c
jg 0x1401d1b64
cdqe
lea rdi, [0x1402a1fc0]
mov r12d, 2
shl rax, 7
mov r13d, dword [rdi + rax + 0x7c]
cmp ebp, 0x16
je 0x1401d1bac
cmp ebp, 0x1f
jne 0x1401d1b67
cmp qword [rbx + 0x18], 0x13
jbe 0x1401d1bac
jmp 0x1401d1b67
xor r13d, r13d
mov r12d, 2
test byte [rbx + 0x20], 1
jne 0x1401d1bac
cmp ebp, 0x36
ja 0x1401d1b8e
movabs rax, 0x40218208100008
mov r12d, 1
bt rax, rbp
jb 0x1401d1bac
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 0x1401d1ca3
cmp ebp, dword [rdi + 0x10]
jne 0x1401d1c22
cmp ebp, 0xffffffff
jne 0x1401d1bf1
cmp r13d, dword [rdi + 0x4c]
jne 0x1401d1c22
mov rax, qword [rdi]
cmp r14, qword [rax + 0x18]
jne 0x1401d1c22
mov rcx, qword [rax + 0x10]
mov rdx, qword [rsp + 0x20]
mov r8, r14
call sym.memeq
test eax, eax
je 0x1401d1c22
test r15, r15
jne 0x1401d1c03
mov r15, rdi
cmp r12d, 2
je 0x1401d1ca3
mov rax, qword [rdi + 8]
mov r8, qword [rbx + 0x18]
cmp qword [rax + 0x18], r8
jne 0x1401d1c22
mov rdx, qword [rbx + 8]
mov rcx, qword [rax + 0x10]
call sym.memeq
test eax, eax
jne 0x1401d1c28
mov rdi, qword [rdi + 0x40]
jmp 0x1401d1bba
mov r15, rdi
mov eax, 1
mov edi, dword [rsi + 0x38]
add edi, 0x3c
sub edi, dword [r15 + 0x48]
test eax, eax
je 0x1401d1cee
inc rdi
mov edx, 7
mov rcx, rdi
call sym.count_encoded_length
mov r11, rax
cmp rax, 0x10
ja 0x1401d1da4
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 0x1401d1de8
inc qword [rsp + 0x28]
add rbx, 0x28
jmp 0x1401d1ad5
cmp ebp, 0x3c
ja 0x1401d1e15
movsxd rdi, ebp
cmp r12d, 2
je 0x1401d1dc9
mov r15, rdi
lea rax, [0x1402a1fc0]
mov r9, rdi
shl r15, 7
add r15, rax
cmp ebp, dword [r15 + 0x78]
jne 0x1401d1cee
mov r8, qword [rbx + 0x18]
cmp qword [r15 + 0x40], r8
je 0x1401d1dee
inc r9
sub r15, 0xffffffffffffff80
cmp r9d, 0x3d
jne 0x1401d1ccd
test r12d, r12d
jne 0x1401d1dab
cmp rdi, 0xffffffffffffffff
lea r15, [rsp + 0x40]
je 0x1401d1d23
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 0x1401d1d40
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 0x1401d1de8
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 0x1401d1d6f
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x20], eax
call sym.nghttp2_rcbuf_decref
mov eax, dword [rsp + 0x20]
jmp 0x1401d1de8
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 0x1401d1dab
mov eax, 0xfffffdf5
jmp 0x1401d1de8
cmp rdi, 0xffffffffffffffff
jne 0x1401d1dc9
mov rcx, qword [rsp + 0xc8]
mov r8d, r12d
mov rdx, rbx
call sym.emit_newname_block
jmp 0x1401d1c8d
mov rcx, qword [rsp + 0xc8]
mov r9d, r12d
mov r8, rbx
mov rdx, rdi
call sym.emit_indname_block
jmp 0x1401d1c8d
xor eax, eax
jmp 0x1401d1e29
mov byte [rsi + 0x3c], 1
jmp 0x1401d1e29
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 0x1401d1ce1
movsxd rdi, r9d
jmp 0x1401d1c42
xor eax, eax
test r15, r15
jne 0x1401d1c30
or rdi, 0xffffffffffffffff
jmp 0x1401d1cee
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret