Function at 0x1400acf90
Capabilities:
Hash data using fnv

Disassembly:
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0x100
mov qword [rbp - 1], 0xfffffffffffffffe
mov qword [rsp + 0x130], rbx
mov rax, qword [0x14015a7a0]
xor rax, rsp
mov qword [rbp + 0x3f], rax
mov r8, rdx
mov rdi, rcx
mov qword [rbp - 0x39], rcx
mov qword [rsp + 0x38], rdx
xor esi, esi
mov dword [rbp - 0x69], esi
cmp byte [rcx + 0x10], sil
je 0x1400ad008
mov rax, qword [rdx + 0x10]
mov rbx, qword [rax + 0x10]
call fcn.1400750b0
cmp rbx, rax
jne 0x1400ad003
call fcn.1400402c0
mov r8, qword [rax]
mov rdx, qword [rsp + 0x38]
mov rcx, rax
call qword [r8 + 8]
jmp 0x1400ad880
mov r8, qword [rsp + 0x38]
mov r9, qword [rdi + 0x18]
mov qword [rbp - 0x71], r9
movzx edx, r8b
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs rcx, 0x100000001b3
imul rdx, rcx
movzx eax, byte [rbp - 0x80]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rbp - 0x7f]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rbp - 0x7e]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rbp - 0x7d]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rbp - 0x7c]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rbp - 0x7b]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rbp - 0x7a]
xor rdx, rax
imul rdx, rcx
mov rcx, qword [r9 + 0x30]
and rcx, rdx
mov rdx, qword [r9 + 0x18]
mov rbx, rcx
add rbx, rbx
mov rbx, qword [rdx + rbx*8]
add rcx, rcx
lea r10, [rcx*8 + 8]
lea rdi, [r9 + 8]
mov rax, qword [rdi]
mov r9, qword [rdx + rcx*8]
cmp r9, rax
jne 0x1400ad0b1
mov rcx, rax
jmp 0x1400ad0b8
mov rcx, qword [r10 + rdx]
mov rcx, qword [rcx]
cmp rbx, rcx
je 0x1400ad0c8
cmp qword [rbx + 0x10], r8
je 0x1400ad0cb
mov rbx, qword [rbx]
jmp 0x1400ad0a7
mov rbx, rax
cmp rbx, rax
jne 0x1400ad164
lea rcx, [rsp + 0x38]
mov qword [rbp - 0x49], rcx
mov rbx, qword [rax]
mov rax, qword [rbx + 8]
mov qword [rbp - 0x61], rax
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp - 0x49]
mov qword [rsp + 0x20], rcx
lea r9, [0x140120390]
mov r8, rax
mov rdx, rbx
mov rcx, rdi
call fcn.1400ac2a0
mov rdx, rax
mov rax, qword [rdi + 8]
movabs rcx, 0x7fffffffffffffe
sub rcx, rax
cmp rcx, 1
jae 0x1400ad137
lea rcx, str.list_T__too_long
call fcn.1400aeeb0
int3
inc rax
mov qword [rdi + 8], rax
mov qword [rbx + 8], rdx
mov rax, qword [rbp - 0x61]
mov qword [rax], rdx
mov r9, qword [rdi]
mov r9, qword [r9]
lea r8, [r9 + 0x10]
lea rdx, [rbp - 0x49]
mov rcx, qword [rbp - 0x71]
call fcn.1400ac2e0
mov rbx, qword [rbp - 0x49]
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x1400ad176
mov rax, qword [rax + 0x48]
jmp 0x1400ad880
mov ecx, 0x58
call fcn.1400d38e0
mov rdi, rax
mov qword [rbp - 0x61], rax
test rax, rax
je 0x1400ad19e
mov qword [rax + 0x30], rsi
mov qword [rax + 0x38], rsi
mov qword [rax + 0x40], rsi
mov qword [rax + 0x48], rsi
jmp 0x1400ad1a5
mov rdi, rsi
mov qword [rbp - 0x61], rsi
mov qword [rbx + 0x18], rdi
mov rax, qword [rsp + 0x38]
mov qword [rdi + 0x28], rax
mov rdx, qword [rbp - 0x39]
mov rax, qword [rdx + 8]
test rax, rax
jne 0x1400ad1cc
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx + 0x10]
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x18], rdx
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax + 0x68]
mov eax, dword [rax + 0x6c]
add ecx, eax
movsxd rdx, ecx
mov eax, 4
mul rdx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1400d4294
mov qword [rbp - 0x51], rax
mov rcx, qword [rdi + 0x30]
mov qword [rdi + 0x30], rax
test rcx, rcx
je 0x1400ad215
call fcn.1400d391c
mov ebx, 0x20
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x3c], 3
jne 0x1400ad236
or r8, 0xffffffffffffffff
mov dword [rdi + 4], r8d
jmp 0x1400ad2b9
mov dword [rdi + 4], ebx
mov rax, qword [rsp + 0x38]
movsxd rcx, dword [rax + 0x68]
lea eax, [rcx + 0x1f]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
lea eax, [rax*4 + 0x27]
cdq
and edx, 7
lea ebx, [rdx + rax]
and ebx, 0xfffffff8
mov eax, 4
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1400d4294
mov edx, esi
mov rcx, qword [rsp + 0x38]
cmp dword [rcx + 0x68], edx
jle 0x1400ad2a3
mov r8, rax
nop dword [rax]
mov dword [r8], edx
inc edx
lea r8, [r8 + 4]
mov rcx, qword [rsp + 0x38]
cmp edx, dword [rcx + 0x68]
jl 0x1400ad290
mov rcx, qword [rdi + 0x38]
mov qword [rdi + 0x38], rax
test rcx, rcx
je 0x1400ad2b5
call fcn.1400d391c
or r8, 0xffffffffffffffff
mov rcx, qword [rsp + 0x38]
cmp dword [rcx + 0x6c], esi
jle 0x1400ad2e1
mov dword [rdi + 8], ebx
mov rcx, qword [rsp + 0x38]
mov eax, dword [rcx + 0x6c]
lea eax, [rax*4 + 7]
add eax, ebx
cdq
and edx, 7
lea ebx, [rdx + rax]
and ebx, 0xfffffff8
cmp dword [rcx + 0x78], esi
jle 0x1400ad2f8
mov dword [rdi + 0x10], ebx
lea eax, [rbx + 0x1f]
cdq
and edx, 7
lea ebx, [rdx + rax]
and ebx, 0xfffffff8
jmp 0x1400ad2fc
mov dword [rdi + 0x10], r8d
mov r8d, esi
mov dword [rbp - 0x79], esi
mov rcx, qword [rsp + 0x38]
cmp dword [rcx + 0x68], esi
jle 0x1400ad47c
mov rdx, rsi
mov qword [rbp - 0x71], rdx
mov r9, qword [rbp - 0x51]
mov qword [rbp - 0x59], r9
nop
mov rdi, qword [rcx + 0x28]
add rdi, rdx
cmp qword [rdi + 0x58], 0
jne 0x1400ad458
mov rcx, rdi
cmp dword [rdi + 0x3c], 3
jne 0x1400ad3a0
call fcn.14002d2b0
movsxd rcx, eax
lea r10, [0x140000000]
mov eax, dword [r10 + rcx*4 + 0x113b90]
dec eax
cmp eax, 9
ja case.default.0x1400ad3cb
cdqe
mov ecx, dword [r10 + rax*4 + 0xad8a0]
add rcx, r10
jmp rcx
mov r8d, 0x10
jmp 0x1400ad42a
mov rcx, rdi
call fcn.140029af0
mov r8d, 0x18
test al, al
mov eax, 0x90
cmovne r8d, eax
jmp 0x1400ad42a
mov r8d, 0x18
jmp 0x1400ad42a
call fcn.14002d2b0
movsxd rcx, eax
lea r10, [0x140000000]
mov eax, dword [r10 + rcx*4 + 0x113b90]
dec eax
cmp eax, 9
ja case.default.0x1400ad3cb
cdqe
mov ecx, dword [r10 + rax*4 + 0xad8c8]
add rcx, r10
jmp rcx
mov r8d, 4
jmp 0x1400ad42a
mov r8d, 8
jmp 0x1400ad42a
mov r8d, 1
jmp 0x1400ad42a
mov r9d, 0xab
lea r8, str.E:ProjectsProject1Project1protobuf_3.10.1_srcgoogleprotobufdynamic_message.cc
mov edx, 2
lea rcx, [rbp + 7]
call fcn.140023920
nop
lea rdx, str.Cant_get_here.
mov rcx, rax
call fcn.140023b20
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.1400239d0
nop
lea rcx, [rbp + 7]
call fcn.140023990
mov r8d, esi
mov ecx, 8
cmp r8d, ecx
cmovl ecx, r8d
dec ebx
add ebx, ecx
mov eax, ebx
cdq
idiv ecx
sub ebx, edx
mov r9, qword [rbp - 0x59]
mov dword [r9], ebx
add ebx, r8d
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rbp - 0x71]
mov r8d, dword [rbp - 0x79]
inc r8d
mov dword [rbp - 0x79], r8d
add rdx, 0x98
mov qword [rbp - 0x71], rdx
add r9, 4
mov qword [rbp - 0x59], r9
cmp r8d, dword [rcx + 0x68]
jl 0x1400ad320
mov r8d, esi
cmp dword [rcx + 0x6c], esi
jle 0x1400ad4ba
mov r9, qword [rbp - 0x51]
nop dword [rax + rax]
lea eax, [rbx + 7]
cdq
and edx, 7
lea ebx, [rdx + rax]
and ebx, 0xfffffff8
mov eax, dword [rcx + 0x68]
add eax, r8d
cdqe
mov dword [r9 + rax*4], ebx
add ebx, 8
inc r8d
mov rcx, qword [rsp + 0x38]
cmp r8d, dword [rcx + 0x6c]
jl 0x1400ad490
lea eax, [rbx + 7]
cdq
and edx, 7
lea edi, [rdx + rax]
and edi, 0xfffffff8
mov rax, qword [rbp - 0x61]
mov dword [rax + 0xc], edi
add edi, 8
or rcx, 0xffffffffffffffff
mov dword [rax + 0x50], ecx
mov dword [rax], edi
mov rdx, qword [rsp + 0x38]
mov eax, dword [rdx + 0x6c]
test eax, eax
jle 0x1400ad66b
mov r8d, esi
mov dword [rbp - 0x59], esi
mov rcx, rsi
mov qword [rbp - 0x71], rcx
nop word [rax + rax]
mov dword [rbp - 0x79], esi
add rcx, qword [rdx + 0x30]
cmp dword [rcx + 0x18], 0
jle 0x1400ad64e
mov r8, rsi
mov qword [rbp - 0x49], rsi
nop dword [rax + rax]
mov rax, qword [rcx + 0x20]
mov rbx, qword [r8 + rax]
mov rcx, rbx
call fcn.14002d2b0
movsxd rcx, eax
lea rdx, [0x140000000]
mov eax, dword [rdx + rcx*4 + 0x113b90]
dec eax
cmp eax, 9
ja case.default.0x1400ad554
cdqe
mov ecx, dword [rdx + rax*4 + 0xad8f0]
add rcx, rdx
jmp rcx
mov r8d, 4
jmp 0x1400ad5b3
mov r8d, 8
jmp 0x1400ad5b3
mov r8d, 1
jmp 0x1400ad5b3
mov r9d, 0xd1
lea r8, str.E:ProjectsProject1Project1protobuf_3.10.1_srcgoogleprotobufdynamic_message.cc
mov edx, 2
lea rcx, [rbp + 7]
call fcn.140023920
nop
lea rdx, str.Cant_get_here.
mov rcx, rax
call fcn.140023b20
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.1400239d0
nop
lea rcx, [rbp + 7]
call fcn.140023990
mov r8d, esi
mov ecx, 8
cmp r8d, ecx
cmovb ecx, r8d
dec edi
add edi, ecx
mov eax, edi
cdq
idiv ecx
sub edi, edx
cmp byte [rbx + 0x42], 0
jne 0x1400ad5da
mov rax, qword [rbx + 0x50]
sub rbx, qword [rax + 0x28]
jmp 0x1400ad5f4
mov rax, qword [rbx + 0x60]
test rax, rax
je 0x1400ad5e9
sub rbx, qword [rax + 0x50]
jmp 0x1400ad5f4
mov rax, qword [rbx + 0x28]
sub rbx, qword [rax + 0x80]
movabs rax, 0x6bca1af286bca1b
imul rbx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, edx
mov rcx, qword [rbp - 0x51]
mov dword [rcx + rax*4], edi
add edi, r8d
mov r9d, dword [rbp - 0x79]
inc r9d
mov dword [rbp - 0x79], r9d
mov r8, qword [rbp - 0x49]
add r8, 8
mov qword [rbp - 0x49], r8
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rbp - 0x71]
add rcx, qword [rdx + 0x30]
cmp r9d, dword [rcx + 0x18]
jl 0x1400ad520
mov r8d, dword [rbp - 0x59]
inc r8d
mov dword [rbp - 0x59], r8d
mov rcx, qword [rbp - 0x71]
add rcx, 0x30
mov qword [rbp - 0x71], rcx
cmp r8d, dword [rdx + 0x6c]
jl 0x1400ad500
lea eax, [rdi + 7]
cdq
and edx, 7
add eax, edx
and eax, 0xfffffff8
movsxd rbx, eax
mov rcx, rbx
call fcn.1400d38e0
mov rdi, rax
mov qword [rbp - 0x49], rax
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.1400d6140
mov qword [rbp - 0x71], rdi
lea rax, vtable.google::protobuf::DynamicMessage.0
mov qword [rdi], rax
mov rbx, qword [rbp - 0x61]
mov qword [rdi + 8], rbx
mov qword [rdi + 0x10], rsi
mov dword [rdi + 0x18], esi
mov qword [rbx + 0x48], rdi
xor edx, edx
mov rcx, rdi
call fcn.1400ada40
nop
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0x6c], 0
jle 0x1400ad6dd
mov r8, rdi
mov rdx, qword [rbx + 0x30]
mov rcx, qword [rbx + 0x28]
call fcn.1400acd30
mov rax, qword [rbx + 0x48]
mov qword [rbp - 0x31], rax
mov rax, qword [rbx + 0x30]
mov qword [rbp - 0x29], rax
mov rax, qword [rbx + 0x38]
mov qword [rbp - 0x21], rax
mov eax, dword [rbx + 4]
mov dword [rbp - 0x19], eax
mov eax, dword [rbx + 0xc]
mov dword [rbp - 0x15], eax
mov eax, dword [rbx + 0x10]
mov dword [rbp - 0x11], eax
mov eax, dword [rbx + 8]
mov dword [rbp - 0xd], eax
mov eax, dword [rbx]
mov dword [rbp - 9], eax
mov eax, dword [rbx + 0x50]
mov dword [rbp - 5], eax
mov ecx, 0x50
call fcn.1400d38e0
mov qword [rbp - 0x49], rax
test rax, rax
je 0x1400ad74a
mov rcx, qword [rbp - 0x39]
mov qword [rsp + 0x20], rcx
mov r9, qword [rbx + 0x20]
lea r8, [rbp - 0x31]
mov rdx, qword [rbx + 0x28]
mov rcx, rax
call fcn.140025a60
jmp 0x1400ad74d
mov rax, rsi
mov rcx, qword [rbx + 0x40]
mov qword [rbx + 0x40], rax
test rcx, rcx
je 0x1400ad764
mov edx, 0x50
call fcn.1400d391c
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 0x48]
cmp rcx, rdi
je 0x1400ad7b8
test rcx, rcx
je 0x1400ad7b8
mov r9d, 0x240
lea r8, str.E:ProjectsProject1Project1protobuf_3.10.1_srcgoogleprotobufdynamic_message.cc
mov edx, 3
lea rcx, [rbp + 7]
call fcn.140023920
nop
mov ebx, 1
mov dword [rbp - 0x69], ebx
lea rdx, str.CHECK_failed:_is_prototype__:
mov rcx, rax
call fcn.140023b20
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.1400239d0
jmp 0x1400ad7bb
mov ebx, dword [rbp - 0x69]
test bl, 1
je 0x1400ad7c9
lea rcx, [rbp + 7]
call fcn.140023990
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 0x18]
mov qword [rbp - 0x61], rcx
mov rax, qword [rax + 0x28]
mov qword [rbp - 0x51], rax
cmp dword [rax + 0x68], 0
jle 0x1400ad87d
mov rdx, rsi
mov qword [rbp - 0x49], rdx
mov rcx, rsi
mov qword [rbp - 0x39], rcx
nop word [rax + rax]
mov rbx, qword [rax + 0x28]
add rbx, rcx
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 0x30]
movsxd rax, dword [rcx + rdx]
add rax, rdi
mov qword [rbp - 0x71], rax
mov rcx, rbx
call fcn.14002d2b0
movsxd rdx, eax
lea rax, [0x140000000]
cmp dword [rax + rdx*4 + 0x113b90], 0xa
jne 0x1400ad857
cmp dword [rbx + 0x3c], 3
je 0x1400ad857
mov rcx, rbx
call fcn.140075480
mov rdx, rax
mov rcx, qword [rbp - 0x61]
call fcn.1400acf90
mov rcx, qword [rbp - 0x71]
mov qword [rcx], rax
inc esi
mov rcx, qword [rbp - 0x39]
add rcx, 0x98
mov qword [rbp - 0x39], rcx
mov rdx, qword [rbp - 0x49]
add rdx, 4
mov qword [rbp - 0x49], rdx
mov rax, qword [rbp - 0x51]
cmp esi, dword [rax + 0x68]
jl 0x1400ad800
mov rax, rdi
mov rcx, qword [rbp + 0x3f]
xor rcx, rsp
call fcn.1400d38c0
mov rbx, qword [rsp + 0x130]
add rsp, 0x100
pop rdi
pop rsi
pop rbp
ret