Function at 0x140027360
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x40
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x88], rbx
movaps xmmword [rsp + 0x30], xmm6
mov rdi, r8
mov rbp, rdx
mov rsi, rcx
mov rcx, qword [rcx]
cmp qword [r8 + 0x50], rcx
je 0x1400273aa
lea r9, str.Field_does_not_match_message_type.
lea r8, str.ClearField
mov rdx, rdi
call fcn.14002a6d0
cmp byte [rdi + 0x42], 0
je 0x1400273c3
mov ecx, dword [rsi + 0x28]
add rcx, rbp
mov edx, dword [rdi + 0x44]
call fcn.140043170
jmp case.default.0x14002768f
cmp dword [rdi + 0x3c], 3
je 0x14002765f
mov r8, qword [rdi + 0x58]
test r8, r8
je 0x140027420
mov rax, qword [r8 + 0x10]
mov rcx, r8
sub rcx, qword [rax + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, dword [rsi + 0x2c]
lea r9d, [rax + rdx*4]
mov eax, dword [rdi + 0x44]
cmp dword [r9 + rbp], eax
jne case.default.0x14002768f
mov rdx, rbp
mov rcx, rsi
call fcn.140027800
jmp case.default.0x14002768f
mov r8, rdi
mov rdx, rbp
mov rcx, rsi
call fcn.1400294f0
test al, al
je case.default.0x14002768f
mov r8, rdi
mov rdx, rbp
mov rcx, rsi
call fcn.1400272e0
mov rcx, rdi
call fcn.14002d2b0
movsxd rcx, eax
lea rdx, [0x140000000]
mov eax, dword [rdx + rcx*4 + 0x113b90]
dec eax
cmp eax, 9
ja case.default.0x14002768f
cdqe
mov ecx, dword [rdx + rax*4 + 0x277ac]
add rcx, rdx
jmp rcx
mov ebx, dword [rdi + 0x90]
lea rcx, [rsi + 8]
mov rdx, rdi
call fcn.140027fd0
mov eax, eax
mov dword [rax + rbp], ebx
jmp case.default.0x14002768f
mov rbx, qword [rdi + 0x90]
lea rcx, [rsi + 8]
mov rdx, rdi
call fcn.140027fd0
mov eax, eax
mov qword [rax + rbp], rbx
jmp case.default.0x14002768f
movss xmm6, dword [rdi + 0x90]
lea rcx, [rsi + 8]
mov rdx, rdi
call fcn.140027fd0
mov eax, eax
movss dword [rax + rbp], xmm6
jmp case.default.0x14002768f
movsd xmm6, qword [rdi + 0x90]
lea rcx, [rsi + 8]
mov rdx, rdi
call fcn.140027fd0
mov eax, eax
movsd qword [rax + rbp], xmm6
jmp case.default.0x14002768f
movzx ebx, byte [rdi + 0x90]
lea rcx, [rsi + 8]
mov rdx, rdi
call fcn.140027fd0
mov eax, eax
mov byte [rax + rbp], bl
jmp case.default.0x14002768f
mov rcx, rdi
call fcn.1400747f0
mov ebx, dword [rax + 0x10]
jmp 0x14002747c
mov rdx, rdi
mov rcx, rsi
call fcn.140029a00
mov rdx, rdi
test al, al
je 0x140027572
lea rbx, [rsi + 8]
mov rcx, rbx
call fcn.140027f30
mov rsi, rax
mov rdx, rdi
mov rcx, rbx
call fcn.140027fd0
mov ecx, eax
add rcx, rbp
cmp rcx, rsi
je case.default.0x14002768f
mov rdx, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x140027564
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
call fcn.1400058e0
jmp case.default.0x14002768f
lea rcx, [rsi + 8]
call fcn.140027f30
mov r14, qword [rax]
mov ebx, dword [rsi + 0x24]
test byte [rbx + rbp], 1
je 0x140027595
mov rax, qword [rbx + rbp]
and rax, 0xfffffffffffffffe
mov rbx, qword [rax + 0x18]
jmp 0x14002759d
mov rbx, qword [rbx + rbp]
and rbx, 0xfffffffffffffffe
mov rdx, rdi
lea rcx, [rsi + 8]
call fcn.140027fd0
mov edi, eax
test rbx, rbx
jne 0x1400275d3
mov rbx, qword [rdi + rbp]
cmp rbx, r14
je 0x1400275d3
test rbx, rbx
je 0x1400275d3
mov rcx, rbx
call fcn.1400235f0
mov edx, 0x20
mov rcx, rbx
call fcn.1400d391c
mov qword [rdi + rbp], r14
jmp case.default.0x14002768f
cmp dword [rsi + 0x20], 0xffffffff
jne 0x140027642
mov eax, dword [rsi + 0x24]
test byte [rax + rbp], 1
je 0x1400275f9
mov rax, qword [rax + rbp]
and rax, 0xfffffffffffffffe
mov rcx, qword [rax + 0x18]
jmp 0x140027601
mov rcx, qword [rax + rbp]
and rcx, 0xfffffffffffffffe
test rcx, rcx
jne 0x140027627
lea rcx, [rsi + 8]
mov rdx, rdi
call fcn.140027fd0
mov ecx, eax
mov rcx, qword [rcx + rbp]
test rcx, rcx
je 0x140027627
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
lea rcx, [rsi + 8]
mov rdx, rdi
call fcn.140027fd0
mov eax, eax
mov qword [rax + rbp], 0
jmp case.default.0x14002768f
lea rcx, [rsi + 8]
mov rdx, rdi
call fcn.140027fd0
mov ecx, eax
mov rcx, qword [rcx + rbp]
mov rax, qword [rcx]
call qword [rax + 0x30]
jmp case.default.0x14002768f
mov rcx, rdi
call fcn.14002d2b0
movsxd rcx, eax
lea rdx, [0x140000000]
mov eax, dword [rdx + rcx*4 + 0x113b90]
dec eax
cmp eax, 9
ja case.default.0x14002768f
cdqe
mov ecx, dword [rdx + rax*4 + 0x277d4]
add rcx, rdx
jmp rcx
lea rcx, [rsi + 8]
mov rdx, rdi
call fcn.140027fd0
mov ecx, eax
add rcx, rbp
call fcn.14003b7c0
jmp case.default.0x14002768f
lea rcx, [rsi + 8]
mov rdx, rdi
call fcn.140027fd0
mov ecx, eax
add rcx, rbp
call fcn.14003b7c0
jmp case.default.0x14002768f
lea rcx, [rsi + 8]
mov rdx, rdi
call fcn.140027fd0
mov ecx, eax
add rcx, rbp
call fcn.14003b7c0
jmp case.default.0x14002768f
lea rcx, [rsi + 8]
mov rdx, rdi
call fcn.140027fd0
mov ecx, eax
add rcx, rbp
call fcn.14003b7c0
jmp case.default.0x14002768f
lea rcx, [rsi + 8]
mov rdx, rdi
call fcn.140027fd0
mov ecx, eax
add rcx, rbp
call fcn.14003b7c0
jmp case.default.0x14002768f
lea rcx, [rsi + 8]
mov rdx, rdi
call fcn.140027fd0
mov ecx, eax
add rcx, rbp
call fcn.14003b7c0
jmp case.default.0x14002768f
lea rcx, [rsi + 8]
mov rdx, rdi
call fcn.140027fd0
mov ecx, eax
add rcx, rbp
call fcn.14003b7c0
jmp case.default.0x14002768f
lea rcx, [rsi + 8]
mov rdx, rdi
call fcn.140027fd0
mov ecx, eax
add rcx, rbp
call fcn.14003b7d0
jmp case.default.0x14002768f
mov rcx, rdi
call fcn.140029af0
lea rcx, [rsi + 8]
mov rdx, rdi
test al, al
je 0x140027782
call fcn.140027fd0
mov ecx, eax
add rcx, rbp
mov rax, qword [rcx]
call qword [rax + 0x50]
jmp case.default.0x14002768f
call fcn.140027fd0
mov ecx, eax
add rcx, rbp
call fcn.140024500
mov rbx, qword [rsp + 0x88]
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x40
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret