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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov rbx, r8
mov rdi, rdx
mov rsi, rcx
mov r14, qword [rdx + 0x10]
test r14, r14
je 0x140116d5a
mov r15, qword [rdi + 8]
mov rdx, qword [rbx + 0x30]
mov rcx, qword [rbx + 0x38]
mov rax, rdx
sub rax, rcx
cmp rax, 5
jb 0x140116ceb
cmp rdx, rcx
jb 0x14011737f
mov rax, qword [rbx + 0x28]
mov byte [rax + rcx], 0xa
inc rcx
mov qword [rbx + 0x38], rcx
jmp 0x140116d1d
mov dword [rsp + 0x24], 0
mov byte [rsp + 0x23], 0xa
lea rcx, [rsp + 0x28]
lea r8, [rsp + 0x23]
mov r9d, 1
mov rdx, rbx
call sym.protobuf::coded_output_stream::CodedOutputStream::write_raw_bytes::h778fe9e274eae3f0
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x140116f42
lea rcx, [rsp + 0x28]
mov rdx, rbx
mov r8d, r14d
call sym.protobuf::coded_output_stream::CodedOutputStream::write_raw_varint32::hd5881c692a870c1f
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x140116f42
lea rcx, [rsp + 0x28]
mov rdx, rbx
mov r8, r15
mov r9, r14
call sym.protobuf::coded_output_stream::CodedOutputStream::write_raw_bytes::h778fe9e274eae3f0
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x140116f42
mov rdx, qword [rdi + 0x28]
mov r14, qword [rdi + 0x30]
cmp r14, rdx
ja 0x14011738b
test r14, r14
je 0x140116e33
mov r15, qword [rdi + 0x20]
shl r14, 7
lea r12, [rsp + 0x28]
lea r13, [rsp + 0x23]
nop word cs:[rax + rax]
mov rdx, qword [rbx + 0x30]
mov rcx, qword [rbx + 0x38]
mov rax, rdx
sub rax, rcx
cmp rax, 5
jb 0x140116dc0
cmp rdx, rcx
jb 0x14011737f
mov rax, qword [rbx + 0x28]
mov byte [rax + rcx], 0x12
inc rcx
mov qword [rbx + 0x38], rcx
jmp 0x140116dee
mov dword [rsp + 0x24], 0
mov byte [rsp + 0x23], 0x12
mov r9d, 1
mov rcx, r12
mov rdx, rbx
mov r8, r13
call sym.protobuf::coded_output_stream::CodedOutputStream::write_raw_bytes::h778fe9e274eae3f0
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x140117330
mov r8, qword [r15 + 0x70]
mov rcx, r12
mov rdx, rbx
call sym.protobuf::coded_output_stream::CodedOutputStream::write_raw_varint32::hd5881c692a870c1f
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x140117330
mov rcx, r12
mov rdx, r15
mov r8, rbx
call sym._ZN86__LT_protobuf..well_known_types..api..Method_u20_as_u20_protobuf..message..Message_GT_26write_to_with_cached_sizes17h2574
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x140117330
sub r15, 0xffffffffffffff80
add r14, 0xffffffffffffff80
jne 0x140116d90
mov rdx, qword [rdi + 0x48]
mov rcx, qword [rdi + 0x50]
cmp rcx, rdx
ja 0x14011739a
test rcx, rcx
je 0x140116f03
mov r14, qword [rdi + 0x40]
imul r13, rcx, 0x38
lea r15, [rsp + 0x28]
lea r12, [rsp + 0x23]
nop
mov rdx, qword [rbx + 0x30]
mov rcx, qword [rbx + 0x38]
mov rax, rdx
sub rax, rcx
cmp rax, 5
jb 0x140116e90
cmp rdx, rcx
jb 0x14011737f
mov rax, qword [rbx + 0x28]
mov byte [rax + rcx], 0x1a
inc rcx
mov qword [rbx + 0x38], rcx
jmp 0x140116ebe
mov dword [rsp + 0x24], 0
mov byte [rsp + 0x23], 0x1a
mov r9d, 1
mov rcx, r15
mov rdx, rbx
mov r8, r12
call sym.protobuf::coded_output_stream::CodedOutputStream::write_raw_bytes::h778fe9e274eae3f0
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x140117330
mov r8, qword [r14 + 0x30]
mov rcx, r15
mov rdx, rbx
call sym.protobuf::coded_output_stream::CodedOutputStream::write_raw_varint32::hd5881c692a870c1f
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x140117330
mov rcx, r15
mov rdx, r14
mov r8, rbx
call sym._ZN90__LT_protobuf..well_known_types..type_pb..Option_u20_as_u20_protobuf..message..Message_GT_26write_to_with_cached_sizes17h
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x140117330
add r14, 0x38
add r13, 0xffffffffffffffc8
jne 0x140116e60
mov r14, qword [rdi + 0x68]
test r14, r14
je 0x140116fd2
mov r15, qword [rdi + 0x60]
mov rdx, qword [rbx + 0x30]
mov rcx, qword [rbx + 0x38]
mov rax, rdx
sub rax, rcx
cmp rax, 5
jb 0x140116f6b
cmp rdx, rcx
jb 0x14011737f
mov rax, qword [rbx + 0x28]
mov byte [rax + rcx], 0x22
inc rcx
mov qword [rbx + 0x38], rcx
jmp 0x140116f9d
mov ecx, dword [rsp + 0x3c]
mov dword [rsp + 0x70], ecx
movups xmm0, xmmword [rsp + 0x2c]
movaps xmmword [rsp + 0x60], xmm0
mov dword [rsi], eax
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rsi + 4], xmm0
mov eax, dword [rsp + 0x70]
mov dword [rsi + 0x14], eax
jmp 0x140117342
mov dword [rsp + 0x24], 0
mov byte [rsp + 0x23], 0x22
lea rcx, [rsp + 0x28]
lea r8, [rsp + 0x23]
mov r9d, 1
mov rdx, rbx
call sym.protobuf::coded_output_stream::CodedOutputStream::write_raw_bytes::h778fe9e274eae3f0
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x14011701d
lea rcx, [rsp + 0x28]
mov rdx, rbx
mov r8d, r14d
call sym.protobuf::coded_output_stream::CodedOutputStream::write_raw_varint32::hd5881c692a870c1f
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x14011701d
lea rcx, [rsp + 0x28]
mov rdx, rbx
mov r8, r15
mov r9, r14
call sym.protobuf::coded_output_stream::CodedOutputStream::write_raw_bytes::h778fe9e274eae3f0
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x14011701d
cmp byte [rdi + 0x98], 0
je 0x1401170b9
mov r14, qword [rdi + 0x90]
test r14, r14
je 0x1401173a6
mov rdx, qword [rbx + 0x30]
mov rcx, qword [rbx + 0x38]
mov rax, rdx
sub rax, rcx
cmp rax, 5
jb 0x14011704c
cmp rdx, rcx
jb 0x14011737f
mov rax, qword [rbx + 0x28]
mov byte [rax + rcx], 0x2a
inc rcx
mov qword [rbx + 0x38], rcx
jmp 0x14011707e
mov ecx, dword [rsp + 0x3c]
mov dword [rsp + 0x90], ecx
movups xmm0, xmmword [rsp + 0x2c]
movaps xmmword [rsp + 0x80], xmm0
mov ecx, dword [rsp + 0x90]
mov dword [rsi + 0x14], ecx
movaps xmm0, xmmword [rsp + 0x80]
jmp 0x14011733c
mov dword [rsp + 0x24], 0
mov byte [rsp + 0x23], 0x2a
lea rcx, [rsp + 0x28]
lea r8, [rsp + 0x23]
mov r9d, 1
mov rdx, rbx
call sym.protobuf::coded_output_stream::CodedOutputStream::write_raw_bytes::h778fe9e274eae3f0
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x140117330
mov r8, qword [r14 + 0x20]
lea rcx, [rsp + 0x28]
mov rdx, rbx
call sym.protobuf::coded_output_stream::CodedOutputStream::write_raw_varint32::hd5881c692a870c1f
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x140117330
lea rcx, [rsp + 0x28]
mov rdx, r14
mov r8, rbx
call sym._ZN104__LT_protobuf..well_known_types..source_context..SourceContext_u20_as_u20_protobuf..message..Message_GT_26write_to_with_
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x140117330
mov rdx, qword [rdi + 0x80]
mov r14, qword [rdi + 0x88]
cmp r14, rdx
ja 0x14011738b
test r14, r14
je 0x1401172dd
mov r15, qword [rdi + 0x78]
add r15, 0x30
shl r14, 6
lea r12, [rsp + 0x28]
mov rdx, qword [rbx + 0x30]
mov rcx, qword [rbx + 0x38]
mov rax, rdx
sub rax, rcx
cmp rax, 5
jb 0x140117118
cmp rdx, rcx
jb 0x14011737f
mov rax, qword [rbx + 0x28]
mov byte [rax + rcx], 0x32
inc rcx
mov qword [rbx + 0x38], rcx
jmp 0x140117148
mov dword [rsp + 0x24], 0
mov byte [rsp + 0x23], 0x32
mov r9d, 1
mov rcx, r12
mov rdx, rbx
lea r8, [rsp + 0x23]
call sym.protobuf::coded_output_stream::CodedOutputStream::write_raw_bytes::h778fe9e274eae3f0
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x140117330
mov r8, qword [r15 + 8]
mov rcx, r12
mov rdx, rbx
call sym.protobuf::coded_output_stream::CodedOutputStream::write_raw_varint32::hd5881c692a870c1f
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x140117330
mov rbp, qword [r15 - 0x20]
test rbp, rbp
je 0x14011720c
mov r13, qword [r15 - 0x28]
mov rdx, qword [rbx + 0x30]
mov rcx, qword [rbx + 0x38]
mov rax, rdx
sub rax, rcx
cmp rax, 5
jb 0x1401171a3
cmp rdx, rcx
jb 0x14011737f
mov rax, qword [rbx + 0x28]
mov byte [rax + rcx], 0xa
inc rcx
mov qword [rbx + 0x38], rcx
jmp 0x1401171d3
mov dword [rsp + 0x24], 0
mov byte [rsp + 0x23], 0xa
mov r9d, 1
mov rcx, r12
mov rdx, rbx
lea r8, [rsp + 0x23]
call sym.protobuf::coded_output_stream::CodedOutputStream::write_raw_bytes::h778fe9e274eae3f0
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x140117359
mov rcx, r12
mov rdx, rbx
mov r8d, ebp
call sym.protobuf::coded_output_stream::CodedOutputStream::write_raw_varint32::hd5881c692a870c1f
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x140117359
mov rcx, r12
mov rdx, rbx
mov r8, r13
mov r9, rbp
call sym.protobuf::coded_output_stream::CodedOutputStream::write_raw_bytes::h778fe9e274eae3f0
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x140117359
mov rbp, qword [r15 - 8]
test rbp, rbp
je 0x1401172b4
mov r13, qword [r15 - 0x10]
mov rdx, qword [rbx + 0x30]
mov rcx, qword [rbx + 0x38]
mov rax, rdx
sub rax, rcx
cmp rax, 5
jb 0x14011724b
cmp rdx, rcx
jb 0x14011737f
mov rax, qword [rbx + 0x28]
mov byte [rax + rcx], 0x12
inc rcx
mov qword [rbx + 0x38], rcx
jmp 0x14011727b
mov dword [rsp + 0x24], 0
mov byte [rsp + 0x23], 0x12
mov r9d, 1
mov rcx, r12
mov rdx, rbx
lea r8, [rsp + 0x23]
call sym.protobuf::coded_output_stream::CodedOutputStream::write_raw_bytes::h778fe9e274eae3f0
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x140117359
mov rcx, r12
mov rdx, rbx
mov r8d, ebp
call sym.protobuf::coded_output_stream::CodedOutputStream::write_raw_varint32::hd5881c692a870c1f
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x140117359
mov rcx, r12
mov rdx, rbx
mov r8, r13
mov r9, rbp
call sym.protobuf::coded_output_stream::CodedOutputStream::write_raw_bytes::h778fe9e274eae3f0
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x140117359
mov rcx, r12
mov rdx, rbx
mov r8, r15
call sym.protobuf::coded_output_stream::CodedOutputStream::write_unknown_fields::hd14043d523b275e7
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x140117359
add r15, 0x40
add r14, 0xffffffffffffffc0
jne 0x1401170ea
cmp byte [rdi + 0xb0], 0
je 0x140117308
lea rcx, [rsp + 0x28]
mov rdx, rbx
mov r8d, 7
mov r9d, 1
call sym.protobuf::coded_output_stream::CodedOutputStream::write_enum::hb9bc5ce6b7b1824f
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x140117330
add rdi, 0xa0
lea rcx, [rsp + 0x28]
mov rdx, rbx
mov r8, rdi
call sym.protobuf::coded_output_stream::CodedOutputStream::write_unknown_fields::hd14043d523b275e7
mov eax, dword [rsp + 0x28]
cmp eax, 4
jne 0x140117330
mov dword [rsi], 4
jmp 0x140117342
mov ecx, dword [rsp + 0x3c]
mov dword [rsi + 0x14], ecx
movups xmm0, xmmword [rsp + 0x2c]
movups xmmword [rsi + 4], xmm0
mov dword [rsi], eax
mov rax, rsi
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, dword [rsp + 0x3c]
mov dword [rsp + 0x50], ecx
movups xmm0, xmmword [rsp + 0x2c]
movaps xmmword [rsp + 0x40], xmm0
mov dword [rsi], eax
movaps xmm0, xmmword [rsp + 0x40]
movups xmmword [rsi + 4], xmm0
mov eax, dword [rsp + 0x50]
mov dword [rsi + 0x14], eax
jmp 0x140117342
lea r8, [0x1402fb910]
call sym.core::slice::index::slice_start_index_len_fail::h8d3d56967d6340e8
lea r8, [0x1402fbad8]
mov rcx, r14
call sym.core::slice::index::slice_end_index_len_fail::hdaa9bbd2fcad4cbb
lea r8, [0x1402fbad8]
call sym.core::slice::index::slice_end_index_len_fail::hdaa9bbd2fcad4cbb
lea rcx, [0x1403059b0]
call sym.core::option::unwrap_failed::h38ae581b954ce070
int3