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

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x98
mov r14, rdx
mov rsi, rcx
cmp qword [rdx], 0
je 0x140017b8f
mov rbx, qword [r14 + 8]
mov ecx, 1
call sym.protobuf::rt::tag_size::hbf92aac72e9bda48
mov edi, eax
mov qword [rsp + 0x58], rbx
lea rcx, [rsp + 0x58]
call sym.__i64_as_protobuf::rt::ProtobufVarint_::len_varint::ha31cf6e9cff33965
add eax, edi
jmp 0x140017b91
xor eax, eax
cmp qword [r14 + 0x10], 0
lea ebx, [rax + 9]
cmove ebx, eax
lea r15, [r14 + 0x20]
mov rcx, r15
call sym.protobuf::rt::unknown_fields_size::h39695cef850532ed
mov edi, eax
add edi, ebx
lea rcx, [r14 + 0x28]
mov edx, edi
call sym.protobuf::cached_size::CachedSize::set::h1f7f689cb2ab5afb
test edi, edi
je 0x140017be0
mov rax, qword [0x1403591d8]
movzx eax, byte [rax]
mov edx, 1
mov rcx, rdi
call sym.__rust_alloc
test rax, rax
je 0x140017d35
mov rbx, rax
jmp 0x140017be5
mov ebx, 1
movabs r12, 0x8000000000000001
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0x90], 0
cmp qword [r14], 0
je 0x140017c3c
mov r9, qword [r14 + 8]
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x58]
mov r8d, 1
call sym.protobuf::coded_output_stream::CodedOutputStream::write_int64::h3d28f166da29866f
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x140017cc0
cmp qword [r14 + 0x10], 0
je 0x140017c67
movsd xmm3, qword [r14 + 0x18]
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x58]
mov r8d, 2
call sym.protobuf::coded_output_stream::CodedOutputStream::write_double::h3dcf2fb64a6532de
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x140017cc0
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x58]
mov r8, r15
call sym.protobuf::coded_output_stream::CodedOutputStream::write_unknown_fields::hd14043d523b275e7
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x140017cc0
lea rcx, [rsp + 0x58]
call sym.protobuf::coded_output_stream::CodedOutputStream::check_eof::h961fe38ba83965da
mov rdx, qword [rsp + 0x58]
cmp rdx, r12
jle 0x140017cab
test rdx, rdx
je 0x140017cab
mov rcx, qword [rsp + 0x60]
mov r8d, 1
call sym.__rust_dealloc
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], rdi
mov qword [rsi], 0
jmp 0x140017d21
mov ecx, dword [rsp + 0x3c]
mov dword [rsp + 0x50], ecx
movups xmm0, xmmword [rsp + 0x2c]
movaps xmmword [rsp + 0x40], xmm0
mov dword [rsi + 8], eax
movaps xmm0, xmmword [rsp + 0x40]
movups xmmword [rsi + 0xc], xmm0
mov eax, dword [rsp + 0x50]
mov dword [rsi + 0x1c], eax
mov qword [rsi], 1
mov rdx, qword [rsp + 0x58]
cmp rdx, r12
jle 0x140017d0b
test rdx, rdx
je 0x140017d0b
mov rcx, qword [rsp + 0x60]
mov r8d, 1
call sym.__rust_dealloc
test rdi, rdi
je 0x140017d21
mov r8d, 1
mov rcx, rbx
mov rdx, rdi
call sym.__rust_dealloc
mov rax, rsi
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov ecx, 1
mov rdx, rdi
call sym.alloc::raw_vec::handle_error::hd43ffb3afada7951
mov rsi, rax
mov rdx, qword [rsp + 0x58]
movabs rax, 0x8000000000000002
cmp rdx, rax
jl 0x140017d6e
test rdx, rdx
je 0x140017d6e
mov rcx, qword [rsp + 0x60]
mov r8d, 1
call sym.__rust_dealloc
test rdi, rdi
je 0x140017d84
mov r8d, 1
mov rcx, rbx
mov rdx, rdi
call sym.__rust_dealloc
mov rcx, rsi
call sym._Unwind_Resume
int3