Function at 0x140243620
Capabilities:
Hash data using fnv

Disassembly:
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x28
mov rdi, rcx
mov ebp, r9d
mov rcx, qword [rcx]
mov rbx, r8
mov rsi, rdx
cmp qword [r8 + 0x20], rcx
je 0x140243654
lea r9, str.Field_does_not_match_message_type.
mov rdx, rbx
lea r8, str.GetRepeatedEnumValue
call fcn.140245700
movzx eax, byte [rbx + 1]
and al, 0x60
cmp al, 0x60
je 0x140243677
mov rcx, qword [rdi]
lea r9, str.Field_is_singular__the_method_requires_a_repeated_field.
lea r8, str.GetRepeatedEnumValue
mov rdx, rbx
call fcn.140245700
mov rcx, rbx
call fcn.1402481d0
movsxd rcx, eax
lea rax, [0x140332e80]
cmp dword [rax + rcx*4], 8
je 0x1402436a7
mov rcx, qword [rdi]
lea r8, str.GetRepeatedEnumValue
mov r9d, 8
mov rdx, rbx
call fcn.1402457f0
test byte [rbx + 1], 8
je 0x1402436c2
mov ecx, dword [rdi + 0x28]
mov r8d, ebp
mov edx, dword [rbx + 4]
add rcx, rsi
call fcn.1402394a0
mov edi, eax
jmp 0x1402436dc
lea rcx, [rdi + 8]
mov rdx, rbx
call fcn.140242ae0
mov ecx, eax
mov edx, ebp
add rcx, rsi
call fcn.140235640
mov edi, dword [rax]
mov rcx, rbx
call fcn.1402885c0
mov rcx, rax
mov edx, edi
add rsp, 0x28
pop rdi
pop rsi
pop rbp
pop rbx
jmp 0x140278e00
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xc0]
sub rsp, 0x1c0
mov rax, qword [0x140389910]
xor rax, rsp
mov qword [rbp + 0xb0], rax
mov r12d, r8d
mov dword [rsp + 0x40], r8d
mov r13, rdx
mov qword [rsp + 0x48], rdx
mov r15, rcx
call fcn.140277380
test rax, rax
jne 0x140277a5c
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r13
mov dword [rsp + 0x78], r12d
lea rdi, [r15 + 0x1e8]
mov qword [rsp + 0x50], rdi
mov rcx, rdi
call fcn.1402326f0
nop
mov byte [rsp + 0x58], 0xa
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], rax
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x30]
call fcn.140289410
movsxd rcx, dword [rax + 8]
imul rdx, rcx, 0x1000193
imul rax, qword [rax], 0x100011b
xor rdx, rax
mov rcx, qword [r15 + 0x190]
and rcx, rdx
add rcx, rcx
mov rax, qword [r15 + 0x178]
mov rbx, qword [rax + rcx*8 + 8]
cmp rbx, qword [r15 + 0x168]
je 0x14027766c
mov r14, qword [rax + rcx*8]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
nop
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x30], rax
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x30]
call fcn.140289410
mov rsi, rax
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x38]
call fcn.140289410
mov rcx, qword [rsi]
cmp qword [rax], rcx
jne 0x140277628
mov ecx, dword [rsi + 8]
cmp dword [rax + 8], ecx
je 0x140277633
cmp rbx, r14
je 0x14027766c
mov rbx, qword [rbx + 8]
jmp 0x1402775f0
cmp rbx, qword [r15 + 0x168]
je 0x14027766c
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14027766c
movzx eax, byte [rbx]
cmp al, 5
je 0x14027765c
cmp al, 6
jne 0x14027766c
lea rcx, [rbx - 1]
mov rbx, rcx
test rcx, rcx
je 0x14027766c
mov rcx, rdi
call fcn.140232ba0
mov rax, rbx
jmp 0x140277a5c
mov rcx, rdi
call fcn.140232ba0
mov qword [rsp + 0x50], rdi
mov rcx, rdi
call fcn.1402326f0
nop
mov byte [rsp + 0x58], 0xa
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x38]
call fcn.140289410
movsxd rcx, dword [rax + 8]
imul rdx, rcx, 0x1000193
imul rax, qword [rax], 0x100011b
xor rdx, rax
mov rcx, qword [r15 + 0x190]
and rcx, rdx
add rcx, rcx
mov rax, qword [r15 + 0x178]
mov rbx, qword [rax + rcx*8 + 8]
cmp rbx, qword [r15 + 0x168]
je 0x140277764
mov r14, qword [rax + rcx*8]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], rax
nop dword [rax + rax]
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x38], rax
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x38]
call fcn.140289410
mov rsi, rax
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x30]
call fcn.140289410
mov rcx, qword [rsi]
cmp qword [rax], rcx
jne 0x140277728
mov ecx, dword [rsi + 8]
cmp dword [rax + 8], ecx
je 0x140277733
cmp rbx, r14
je 0x140277764
mov rbx, qword [rbx + 8]
jmp 0x1402776f0
cmp rbx, qword [r15 + 0x168]
je 0x140277764
mov rsi, qword [rbx + 0x10]
test rsi, rsi
je 0x140277764
movzx eax, byte [rsi]
cmp al, 5
je 0x140277a51
cmp al, 6
jne 0x140277764
lea rax, [rsi - 1]
mov rsi, rax
test rax, rax
jne 0x140277a51
mov r8, qword [r13 + 8]
cmp qword [r8 + 0x18], 0x10
jb 0x140277772
mov r8, qword [r8]
mov r9d, r12d
lea rdx, str.UNKNOWN_ENUM_VALUE__s__d
lea rcx, [rbp - 0x60]
call fcn.14023e160
nop
call fcn.140288d00
mov rsi, qword [rax + 0x20]
mov rbx, qword [rax]
mov qword [rbp - 0x80], rbx
test rbx, rbx
je 0x1402777a4
mov rcx, rbx
call fcn.1402326f0
nop
lea r14, [rsi + 0x118]
mov r8b, 0x14
mov edx, 0x20
mov rcx, r14
call fcn.140264d40
mov rsi, rax
lea rax, [rbp - 0x60]
cmp qword [rbp - 0x48], 0x10
cmovae rax, qword [rbp - 0x60]
mov qword [rbp + 0x20], rax
mov rax, qword [rbp - 0x50]
mov qword [rbp + 0x28], rax
lea rax, [0x14032f618]
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], 1
mov rax, qword [r13 + 8]
lea rcx, [rax + 0x20]
cmp qword [rax + 0x38], 0x10
jb 0x1402777fe
mov rcx, qword [rax + 0x20]
mov qword [rbp + 0x80], rcx
mov rax, qword [rax + 0x30]
mov qword [rbp + 0x88], rax
lea r9, [rbp + 0x20]
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x80]
lea rcx, [rbp - 0x40]
call fcn.1401e32f0
mov r12, rax
mov r8b, 2
mov edx, 0x40
mov rcx, r14
call fcn.140264d40
mov r14, rax
mov qword [rsp + 0x30], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
lea rax, [fcn.140003270]
mov qword [rsp + 0x20], rax
lea r9, [0x140003360]
mov edx, 0x20
lea r8d, [rdx - 0x1e]
mov rcx, r14
call fcn.1401ac970
nop
mov r13, qword [rbp - 0x50]
lea rax, [rbp - 0x60]
cmp qword [rbp - 0x48], 0x10
cmovae rax, qword [rbp - 0x60]
mov qword [rsp + 0x38], rax
cmp r13, 0x10
jae 0x1402778ab
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x20], xmm0
mov qword [rbp - 8], 0xf
jmp 0x14027792b
mov r14, r13
or r14, 0xf
movabs rax, 0x7fffffffffffffff
cmp r14, rax
cmova r14, rax
lea rcx, [r14 + 1]
cmp rcx, 0x1000
jb 0x1402778ff
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140277a8c
mov rcx, rax
call fcn.14001f68c
mov rcx, rax
test rax, rax
je 0x140277a92
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14027790d
test rcx, rcx
je 0x14027790b
call fcn.14001f68c
jmp 0x14027790d
xor eax, eax
mov qword [rbp - 0x20], rax
lea r8, [r13 + 1]
mov rdx, qword [rsp + 0x38]
mov rcx, rax
call fcn.1401ae660
mov qword [rbp - 8], r14
mov r14, qword [rsp + 0x30]
mov qword [rbp - 0x10], r13
movups xmm0, xmmword [r12]
movaps xmmword [rbp], xmm0
movups xmm1, xmmword [r12 + 0x10]
movaps xmmword [rbp + 0x10], xmm1
mov qword [r12 + 0x10], 0
mov qword [r12 + 0x18], 0xf
mov byte [r12], 0
lea rdx, [rbp - 0x20]
mov rcx, r14
call fcn.140260da0
nop
lea r9, [fcn.140003270]
mov edx, 0x20
lea r8d, [rdx - 0x1e]
lea rcx, [rbp - 0x20]
call fcn.1401ac8a0
nop
mov qword [rsi + 8], r14
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x1402779c0
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1402779ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140277a98
call fcn.140003b50
nop
test rbx, rbx
je 0x1402779cd
mov rcx, rbx
call fcn.140232ba0
mov eax, dword [rsp + 0x40]
mov dword [rsi + 4], eax
mov rax, qword [rsp + 0x48]
mov qword [rsi + 0x10], rax
lea rax, vtable.google::protobuf::EnumValueOptions.0
mov qword [rsi + 0x18], rax
mov byte [rsi], 5
mov qword [rsp + 0x48], rsi
lea rcx, [r15 + 0x160]
lea r8, [rsp + 0x48]
lea rdx, [rbp - 0x40]
call fcn.14025e7f0
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x140277a3d
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140277a38
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140277a86
call fcn.140003b50
mov qword [rbp - 0x50], 0
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
mov rcx, rdi
call fcn.140232ba0
mov rax, rsi
mov rcx, qword [rbp + 0xb0]
xor rcx, rsp
call fcn.1401ac180
mov rbx, qword [rsp + 0x218]
add rsp, 0x1c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1401bad9c
nop
call fcn.140002a90
int3
call fcn.1401bad9c
nop
call fcn.1401bad9c
int3
mov rax, rcx
mov r8d, edx
mov rcx, qword [rcx + 0x10]
mov rdx, rax
mov rcx, qword [rcx + 0x80]
jmp 0x140277510