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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1b8]
sub rsp, 0x2b8
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov rax, qword [0x14011e878]
xor rax, rsp
mov qword [rbp + 0x1a0], rax
mov rdi, r9
mov r12, r8
mov rsi, rdx
mov r13, rcx
xor r14d, r14d
mov r15d, r14d
mov dword [rsp + 0x68], r14d
test r8, r8
jne 0x14009782c
mov rax, qword [rcx + 0x58]
mov rdx, qword [rax + 8]
jmp 0x140097830
mov rdx, qword [r8 + 8]
mov r8, qword [rsi + 0x18]
call fcn.1400954b0
mov rbx, rax
mov r9, rsi
mov r8, rax
mov rdx, qword [rsi + 0x18]
mov rcx, r13
call fcn.1400b3b70
mov rdx, qword [rsi + 0x18]
mov rcx, qword [r13 + 8]
call fcn.140095900
mov qword [rdi], rax
mov qword [rdi + 8], rbx
mov rax, qword [r13 + 0x58]
mov qword [rdi + 0x28], rax
mov eax, dword [rsi + 0x48]
mov dword [rdi + 0x44], eax
movzx eax, byte [rbp + 0x220]
mov byte [rdi + 0x42], al
mov rdx, qword [rsi + 0x18]
lea rcx, [rbp]
call fcn.14000b450
nop
lea rax, [rbp]
mov r10, qword [rbp + 0x18]
cmp r10, 0x10
mov r11, qword [rbp]
cmovae rax, r11
mov rdx, qword [rbp + 0x10]
add rax, rdx
lea r8, [rbp]
cmp r10, 0x10
cmovae r8, r11
mov rcx, r8
mov r9, rax
sub r9, r8
cmp r8, rax
cmova r9, r14
test r9, r9
je 0x1400978ed
movzx edx, byte [rcx]
lea eax, [rdx - 0x41]
cmp al, 0x19
ja 0x1400978d3
add dl, 0x20
mov byte [rcx], dl
inc rcx
mov rax, rcx
sub rax, r8
cmp rax, r9
jne 0x1400978c4
mov rdx, qword [rbp + 0x10]
mov r10, qword [rbp + 0x18]
mov r11, qword [rbp]
mov rax, qword [rsi + 0x18]
mov r9, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400978fe
mov r9, qword [rax]
lea rcx, [rbp]
cmp r10, 0x10
cmovae rcx, r11
cmp rdx, qword [rax + 0x10]
jne 0x140097924
mov r8, rdx
mov rdx, r9
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140097924
mov rax, qword [rdi]
jmp 0x140097978
mov rbx, qword [r13 + 8]
mov ecx, 0x20
call fcn.1400d545c
mov qword [rbp - 0x80], rax
test rax, rax
je 0x140097949
lea rdx, [rbp]
mov rcx, rax
call fcn.14000b450
jmp 0x14009794c
mov rax, r14
mov qword [rbp - 0x80], rax
lea rcx, [rbx + 0xf0]
mov rdx, qword [rcx + 8]
cmp qword [rcx + 0x10], rdx
je 0x14009796b
mov qword [rdx], rax
add qword [rcx + 8], 8
jmp 0x140097978
lea r8, [rbp - 0x80]
call fcn.140088a50
mov rax, qword [rbp - 0x80]
mov qword [rdi + 0x10], rax
mov r8b, 1
mov rdx, qword [rsi + 0x18]
lea rcx, [rbp - 0x50]
call fcn.1400b0140
nop
mov rdx, rax
mov rcx, qword [r13 + 8]
call fcn.140095900
mov qword [rdi + 0x18], rax
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x1400979db
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400979d6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400979d6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400d5498
mov eax, dword [rsi + 0x10]
shr eax, 4
and al, 1
je 0x1400979fc
mov byte [rdi + 0x41], 1
mov rdx, qword [rsi + 0x38]
mov rcx, qword [r13 + 8]
call fcn.140095900
mov qword [rdi + 0x20], rax
jmp 0x140097a5c
mov byte [rdi + 0x41], 0
mov rdx, qword [rsi + 0x18]
lea rcx, [rbp - 0x50]
call fcn.1400b0300
nop
mov rdx, rax
mov rcx, qword [r13 + 8]
call fcn.140095900
mov qword [rdi + 0x20], rax
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x140097a5c
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140097a57
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140097a57
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400d5498
mov eax, dword [rsi + 0x54]
mov dword [rdi + 0x38], eax
mov eax, dword [rsi + 0x50]
mov dword [rdi + 0x3c], eax
cmp byte [rdi + 0x42], 0
je 0x140097cc3
cmp eax, 2
jne 0x140097cc3
mov r14, qword [rdi + 8]
movdqa xmm0, xmmword [0x1400e8160]
movdqu xmmword [rbp - 0x70], xmm0
mov byte [rbp - 0x80], 0
mov dword [rsp + 0x68], 1
lea r15, [r14 + 0x10]
mov rdx, qword [r15]
add rdx, 0xe
lea rcx, [rbp - 0x80]
call fcn.140056240
mov rcx, qword [rbp - 0x70]
mov rdx, qword [rbp - 0x68]
mov rax, rdx
sub rax, rcx
cmp rax, 0xe
jb 0x140097af3
lea rax, [rcx + 0xe]
mov qword [rbp - 0x70], rax
lea rbx, [rbp - 0x80]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x80]
add rbx, rcx
mov r8d, 0xe
lea rdx, str.The_extension
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 0xe], 0
jmp 0x140097b13
mov qword [rsp + 0x20], 0xe
lea r9, str.The_extension
xor r8d, r8d
lea edx, [r8 + 0xe]
lea rcx, [rbp - 0x80]
call fcn.140053280
cmp qword [r14 + 0x18], 0x10
jb 0x140097b1d
mov r14, qword [r14]
mov r15, qword [r15]
mov rcx, qword [rbp - 0x70]
mov rdx, qword [rbp - 0x68]
mov rax, rdx
sub rax, rcx
cmp r15, rax
ja 0x140097b60
lea rax, [rcx + r15]
mov qword [rbp - 0x70], rax
lea rbx, [rbp - 0x80]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x80]
add rbx, rcx
mov r8, r15
mov rdx, r14
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + r15], 0
jmp 0x140097b77
mov qword [rsp + 0x20], r15
mov r9, r14
xor r8d, r8d
mov rdx, r15
lea rcx, [rbp - 0x80]
call fcn.140053280
mov rcx, qword [rbp - 0x70]
mov rdx, qword [rbp - 0x68]
mov rax, rdx
sub rax, rcx
cmp rax, 0x14
jb 0x140097bc2
lea rax, [rcx + 0x14]
mov qword [rbp - 0x70], rax
lea rbx, [rbp - 0x80]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x80]
add rbx, rcx
mov r8d, 0x14
lea rdx, str._cannot_be_required.
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 0x14], 0
lea rax, [rbp - 0x80]
jmp 0x140097be2
mov qword [rsp + 0x20], 0x14
lea r9, str._cannot_be_required.
xor r8d, r8d
lea edx, [r8 + 0x14]
lea rcx, [rbp - 0x80]
call fcn.140053280
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x20], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x20], xmm1
xor r14d, r14d
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], r14b
mov dword [rsp + 0x68], 3
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
lea r9d, [r14 + 2]
mov r8, rsi
mov rdx, qword [rdi + 8]
mov rcx, r13
call fcn.140092010
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x140097c6e
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140097c69
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140097c69
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400d5498
movdqa xmm0, xmmword [0x1400e8160]
movdqu xmmword [rbp - 0x20], xmm0
mov byte [rbp - 0x30], 0
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x140097cbd
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140097cb8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140097cb8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400d5498
mov r15d, 2
mov qword [rdi + 0x50], r14
mov qword [rdi + 0x60], r14
mov qword [rdi + 0x68], r14
mov qword [rdi + 0x70], r14
mov qword [rdi + 0x80], r14
mov qword [rdi + 0x30], r14
mov qword [rdi + 0x90], r14
mov qword [rdi + 0x88], r14
mov eax, dword [rsi + 0x10]
shr eax, 3
and al, 1
mov byte [rdi + 0x40], al
mov ecx, dword [rsi + 0x10]
mov eax, ecx
shr eax, 3
and al, 1
je 0x140097d9c
cmp dword [rdi + 0x3c], 3
jne 0x140097d9c
mov rbx, qword [rdi + 8]
movdqa xmm0, xmmword [0x1400e8160]
movdqu xmmword [rbp - 0x40], xmm0
mov byte [rbp - 0x50], 0
mov r8d, 0x2a
lea rdx, str.Repeated_fields_cant_have_default_values.
lea rcx, [rbp - 0x50]
call fcn.14000e950
nop
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
mov r9d, 4
mov r8, rsi
mov rdx, rbx
mov rcx, r13
call fcn.140092010
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x140097d99
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140097d94
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140097d94
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400d5498
mov ecx, dword [rsi + 0x10]
mov eax, ecx
shr eax, 9
and al, 1
je case.default.0x1400984f0
shr ecx, 3
and cl, 1
mov rcx, rdi
je 0x1400984c7
mov qword [rbp - 0x80], r14
call fcn.140064600
movsxd rcx, eax
lea rdx, [0x140000000]
mov eax, dword [rdx + rcx*4 + 0xf1f70]
dec eax
cmp eax, 9
ja case.default.0x140097de9
cdqe
mov ecx, dword [rdx + rax*4 + 0x98c0c]
add rcx, rdx
jmp rcx
mov rcx, qword [rsi + 0x30]
cmp qword [rcx + 0x18], 0x10
jb 0x140097df9
mov rcx, qword [rcx]
xor r8d, r8d
lea rdx, [rbp - 0x80]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
mov dword [rdi + 0x90], eax
jmp case.default.0x140097de9
mov rcx, qword [rsi + 0x30]
cmp qword [rcx + 0x18], 0x10
jb 0x140097e1f
mov rcx, qword [rcx]
xor r8d, r8d
lea rdx, [rbp - 0x80]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtoll]
mov qword [rdi + 0x90], rax
jmp case.default.0x140097de9
mov rcx, qword [rsi + 0x30]
cmp qword [rcx + 0x18], 0x10
jb 0x140097e46
mov rcx, qword [rcx]
xor r8d, r8d
lea rdx, [rbp - 0x80]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtoul]
mov dword [rdi + 0x90], eax
jmp case.default.0x140097de9
mov rcx, qword [rsi + 0x30]
cmp qword [rcx + 0x18], 0x10
jb 0x140097e6c
mov rcx, qword [rcx]
xor r8d, r8d
lea rdx, [rbp - 0x80]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtoull]
mov qword [rdi + 0x90], rax
jmp case.default.0x140097de9
mov r8, qword [rsi + 0x30]
mov rcx, r8
mov r10, qword [r8 + 0x18]
cmp r10, 0x10
jb 0x140097e99
mov rcx, qword [r8]
mov r11, qword [r8 + 0x10]
cmp r11, 3
jne 0x140097ee3
movzx eax, byte [rcx]
cmp al, byte [0x1400f4e6c]
jne 0x140097ecb
movzx eax, byte [rcx + 1]
cmp al, byte [0x1400f4e6d]
jne 0x140097ecb
movzx eax, byte [rcx + 2]
cmp al, byte [0x1400f4e6e]
jne 0x140097ecb
mov eax, r14d
jmp 0x140097ed0
sbb eax, eax
or eax, 1
test eax, eax
jne 0x140097ee3
mov dword [rdi + 0x90], 0x7f800000
jmp case.default.0x140097de9
mov r9, r8
cmp r10, 0x10
jb 0x140097eef
mov r9, qword [r8]
cmp r11, 4
jne 0x140097f31
mov rcx, r14
lea rdx, str._inf
nop
movzx eax, byte [r9 + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x140097f19
cmp rcx, 4
jne 0x140097f00
mov eax, r14d
jmp 0x140097f1e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x140097f31
mov dword [rdi + 0x90], 0xff800000
jmp case.default.0x140097de9
mov rcx, r8
cmp r10, 0x10
jb 0x140097f3d
mov rcx, qword [r8]
cmp r11, 3
jne 0x140097f83
movzx eax, byte [rcx]
cmp al, byte [0x1400f4e78]
jne 0x140097f6b
movzx eax, byte [rcx + 1]
cmp al, byte [0x1400f4e79]
jne 0x140097f6b
movzx eax, byte [rcx + 2]
cmp al, byte [0x1400f4e7a]
jne 0x140097f6b
mov eax, r14d
jmp 0x140097f70
sbb eax, eax
or eax, 1
test eax, eax
jne 0x140097f83
mov dword [rdi + 0x90], 0x7fc00000
jmp case.default.0x140097de9
cmp r10, 0x10
jb 0x140097f8c
mov r8, qword [r8]
lea rdx, [rbp - 0x80]
mov rcx, r8
call fcn.1400d4380
call fcn.1400d4390
movss dword [rdi + 0x90], xmm0
jmp case.default.0x140097de9
mov r8, qword [rsi + 0x30]
mov rcx, r8
mov r10, qword [r8 + 0x18]
cmp r10, 0x10
jb 0x140097fbe
mov rcx, qword [r8]
mov r11, qword [r8 + 0x10]
cmp r11, 3
jne 0x14009800f
movzx eax, byte [rcx]
cmp al, byte [0x1400f4e6c]
jne 0x140097ff0
movzx eax, byte [rcx + 1]
cmp al, byte [0x1400f4e6d]
jne 0x140097ff0
movzx eax, byte [rcx + 2]
cmp al, byte [0x1400f4e6e]
jne 0x140097ff0
mov eax, r14d
jmp 0x140097ff5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x14009800f
movabs rax, 0x7ff0000000000000
mov qword [rdi + 0x90], rax
jmp case.default.0x140097de9
mov r9, r8
cmp r10, 0x10
jb 0x14009801b
mov r9, qword [r8]
cmp r11, 4
jne 0x140098068
mov rcx, r14
lea rdx, str._inf
nop dword [rax + rax]
movzx eax, byte [r9 + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x140098049
cmp rcx, 4
jne 0x140098030
mov eax, r14d
jmp 0x14009804e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x140098068
movabs rax, 0xfff0000000000000
mov qword [rdi + 0x90], rax
jmp case.default.0x140097de9
mov rcx, r8
cmp r10, 0x10
jb 0x140098074
mov rcx, qword [r8]
cmp r11, 3
jne 0x1400980c1
movzx eax, byte [rcx]
cmp al, byte [0x1400f4e78]
jne 0x1400980a2
movzx eax, byte [rcx + 1]
cmp al, byte [0x1400f4e79]
jne 0x1400980a2
movzx eax, byte [rcx + 2]
cmp al, byte [0x1400f4e7a]
jne 0x1400980a2
mov eax, r14d
jmp 0x1400980a7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1400980c1
movabs rax, 0x7ff8000000000000
mov qword [rdi + 0x90], rax
jmp case.default.0x140097de9
cmp r10, 0x10
jb 0x1400980ca
mov r8, qword [r8]
lea rdx, [rbp - 0x80]
mov rcx, r8
call fcn.1400d4380
movsd qword [rdi + 0x90], xmm0
jmp case.default.0x140097de9
mov rdx, qword [rsi + 0x30]
mov r8, rdx
mov r9, qword [rdx + 0x18]
cmp r9, 0x10
jb 0x1400980f7
mov r8, qword [rdx]
mov r10, qword [rdx + 0x10]
cmp r10, 4
jne 0x14009813f
mov rcx, r14
lea r11, str.true
nop dword [rax + rax]
movzx eax, byte [r8 + rcx]
inc rcx
cmp al, byte [r11 + rcx - 1]
jne 0x14009812a
cmp rcx, 4
jne 0x140098110
mov eax, r14d
jmp 0x14009812f
sbb eax, eax
or eax, 1
test eax, eax
jne 0x14009813f
mov byte [rdi + 0x90], 1
jmp case.default.0x140097de9
cmp r9, 0x10
jb 0x140098148
mov rdx, qword [rdx]
cmp r10, 5
jne 0x14009818d
mov rcx, r14
lea r8, [0x1400e57bc]
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x140098179
cmp rcx, 5
jne 0x140098160
mov eax, r14d
jmp 0x14009817e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x14009818d
mov byte [rdi + 0x90], al
jmp case.default.0x140097de9
lea rax, str.Boolean_default_must_be_true_or_false.
mov qword [rsp + 0x20], rax
mov r9d, 4
mov r8, rsi
mov rdx, qword [rdi + 8]
mov rcx, r13
call fcn.140092160
jmp case.default.0x140097de9
mov qword [rdi + 0x90], r14
jmp case.default.0x140097de9
mov rcx, rdi
call fcn.140064600
mov rdx, qword [rsi + 0x30]
cmp eax, 0xc
jne 0x14009822d
lea rcx, [rbp - 0x50]
call fcn.1400bbb60
nop
mov rdx, rax
mov rcx, qword [r13 + 8]
call fcn.140095900
mov qword [rdi + 0x90], rax
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb case.default.0x140097de9
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140098226
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140098226
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400d5498
jmp case.default.0x140097de9
mov rcx, qword [r13 + 8]
call fcn.140095900
mov qword [rdi + 0x90], rax
jmp case.default.0x140097de9
lea rax, str.Messages_cant_have_default_values.
mov qword [rsp + 0x20], rax
mov r9d, 4
mov r8, rsi
mov rdx, qword [rdi + 8]
mov rcx, r13
call fcn.140092160
mov byte [rdi + 0x40], 0
mov rax, qword [rbp - 0x80]
test rax, rax
je case.default.0x1400984f0
mov r14, qword [rsi + 0x30]
mov rdx, qword [r14 + 0x10]
test rdx, rdx
je 0x140098287
cmp byte [rax], 0
je 0x140098522
movdqa xmm0, xmmword [0x1400e8160]
movdqu xmmword [rbp - 0x20], xmm0
mov byte [rbp - 0x30], 0
or r15d, 4
mov dword [rsp + 0x68], r15d
add rdx, 0x1e
lea rcx, [rbp - 0x30]
call fcn.140056240
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
mov rax, rdx
sub rax, rcx
cmp rax, 0x1e
jb 0x1400982f5
lea rax, [rcx + 0x1e]
mov qword [rbp - 0x20], rax
lea rbx, [rbp - 0x30]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x30]
add rbx, rcx
mov r8d, 0x1e
lea rdx, str.Couldnt_parse_default_value__
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 0x1e], 0
jmp 0x140098315
mov qword [rsp + 0x20], 0x1e
lea r9, str.Couldnt_parse_default_value__
xor r8d, r8d
lea edx, [r8 + 0x1e]
lea rcx, [rbp - 0x30]
call fcn.140053280
mov r9, r14
cmp qword [r14 + 0x18], 0x10
jb 0x140098322
mov r9, qword [r14]
mov r14, qword [r14 + 0x10]
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
mov rax, rdx
sub rax, rcx
cmp r14, rax
ja 0x140098366
lea rax, [r14 + rcx]
mov qword [rbp - 0x20], rax
lea rbx, [rbp - 0x30]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x30]
add rbx, rcx
mov r8, r14
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [r14 + rbx], 0
jmp 0x14009837a
mov qword [rsp + 0x20], r14
xor r8d, r8d
mov rdx, r14
lea rcx, [rbp - 0x30]
call fcn.140053280
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x1400983c5
lea rax, [rcx + 2]
mov qword [rbp - 0x20], rax
lea rbx, [rbp - 0x30]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x30]
add rbx, rcx
mov r8d, 2
lea rdx, [0x1400f4a70]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 2], 0
lea rax, [rbp - 0x30]
jmp 0x1400983e5
mov qword [rsp + 0x20], 2
lea r9, [0x1400f4a70]
xor r8d, r8d
lea edx, [r8 + 2]
lea rcx, [rbp - 0x30]
call fcn.140053280
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x40], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x40], xmm1
xor r14d, r14d
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], r14b
or r15d, 8
mov dword [rsp + 0x68], r15d
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
lea r9d, [r14 + 4]
mov r8, rsi
mov rdx, qword [rdi + 8]
mov rcx, r13
call fcn.140092010
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x140098472
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009846d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14009846d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400d5498
movdqa xmm0, xmmword [0x1400e8160]
movdqu xmmword [rbp - 0x40], xmm0
mov byte [rbp - 0x50], 0
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb case.default.0x1400984f0
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400984c0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400984c0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400d5498
jmp case.default.0x1400984f0
call fcn.140064600
movsxd rcx, eax
lea rdx, [0x140000000]
mov eax, dword [rdx + rcx*4 + 0xf1f70]
dec eax
cmp eax, 8
ja case.default.0x1400984f0
cdqe
mov ecx, dword [rdx + rax*4 + 0x98c34]
add rcx, rdx
jmp rcx
mov dword [rdi + 0x90], r14d
jmp case.default.0x1400984f0
mov qword [rdi + 0x90], r14
jmp case.default.0x1400984f0
mov byte [rdi + 0x90], 0
jmp case.default.0x1400984f0
call fcn.140057bd0
lea rax, [0x1401758a0]
mov qword [rdi + 0x90], rax
jmp case.default.0x1400984f0
xor r14d, r14d
mov eax, dword [rdi + 0x44]
test eax, eax
jg 0x1400985c1
mov rbx, qword [rdi + 8]
movdqa xmm0, xmmword [0x1400e8160]
movdqu xmmword [rbp - 0x40], xmm0
mov byte [rbp - 0x50], 0
mov r8d, 0x28
lea rdx, str.Field_numbers_must_be_positive_integers.
lea rcx, [rbp - 0x50]
call fcn.14000e950
nop
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8, rsi
mov rdx, rbx
mov rcx, r13
call fcn.140092010
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x1400988f4
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400985b7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400985b7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400d5498
jmp 0x1400988f4
cmp byte [rbp + 0x220], 0
jne 0x140098785
cmp eax, 0x1fffffff
jle 0x140098785
lea rdx, [rbp - 0x24]
mov ecx, 0x1fffffff
call fcn.1400ba8b0
mov qword [rbp - 0x30], rax
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x1400985f2
mov dword [rbp - 0x28], ecx
mov qword [rbp - 0x80], r14
mov dword [rbp - 0x78], 0xffffffff
mov qword [rbp + 0x20], r14
mov dword [rbp + 0x28], 0xffffffff
mov qword [rbp + 0x50], r14
mov dword [rbp + 0x58], 0xffffffff
mov qword [rbp + 0x80], r14
mov dword [rbp + 0x88], 0xffffffff
mov qword [rbp + 0xb0], r14
mov dword [rbp + 0xb8], 0xffffffff
mov qword [rbp + 0xe0], r14
mov dword [rbp + 0xe8], 0xffffffff
mov qword [rbp + 0x110], r14
mov dword [rbp + 0x118], 0xffffffff
mov qword [rbp + 0x140], r14
mov dword [rbp + 0x148], 0xffffffff
mov qword [rbp + 0x170], r14
mov dword [rbp + 0x178], 0xffffffff
lea rax, [rbp - 0x80]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x50]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x80]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0xe0]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x110]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x140]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x170]
lea r8, [rbp - 0x30]
lea rdx, str.Field_numbers_cannot_be_greater_than__0.
lea rcx, [rbp - 0x50]
call fcn.1400d3e30
nop
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8, rsi
mov rdx, qword [rdi + 8]
mov rcx, r13
call fcn.140092010
nop
lea rcx, [rbp - 0x50]
call fcn.14002eb50
mov eax, dword [rsi + 0x10]
shr eax, 1
and al, 1
je 0x140098746
lea rax, str.FieldDescriptorProto.extendee_set_for_non_extension_field.
mov qword [rsp + 0x20], rax
mov r9d, 3
mov r8, rsi
mov rdx, qword [rdi + 8]
mov rcx, r13
call fcn.140092160
mov qword [rdi + 0x50], r12
mov eax, dword [rsi + 0x10]
shr eax, 7
and al, 1
je 0x140098ab2
movsxd rcx, dword [rsi + 0x4c]
test ecx, ecx
js 0x140098963
cmp ecx, dword [r12 + 0x6c]
jge 0x140098963
lea rcx, [rcx + rcx*2]
shl rcx, 4
add rcx, qword [r12 + 0x30]
mov qword [rdi + 0x58], rcx
jmp 0x140098ab6
add eax, 0xffffb5c8
cmp eax, 0x3e7
ja 0x1400988f4
lea rdx, [rbp - 0x24]
mov ecx, 0x4e1f
call fcn.1400ba8b0
mov qword [rbp - 0x30], rax
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp byte [rax + rcx], 0
jne 0x1400987b0
mov dword [rbp - 0x28], ecx
lea rdx, [rbp - 0x74]
mov ecx, 0x4a38
call fcn.1400ba8b0
mov qword [rbp - 0x80], rax
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x1400987d5
mov dword [rbp - 0x78], ecx
mov qword [rbp + 0x170], r14
mov dword [rbp + 0x178], 0xffffffff
mov qword [rbp + 0x140], r14
mov dword [rbp + 0x148], 0xffffffff
mov qword [rbp + 0x110], r14
mov dword [rbp + 0x118], 0xffffffff
mov qword [rbp + 0xe0], r14
mov dword [rbp + 0xe8], 0xffffffff
mov qword [rbp + 0xb0], r14
mov dword [rbp + 0xb8], 0xffffffff
mov qword [rbp + 0x80], r14
mov dword [rbp + 0x88], 0xffffffff
mov qword [rbp + 0x50], r14
mov dword [rbp + 0x58], 0xffffffff
mov qword [rbp + 0x20], r14
mov dword [rbp + 0x28], 0xffffffff
lea rax, [rbp + 0x170]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x140]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x110]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0xe0]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x80]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x30]
lea r8, [rbp - 0x80]
lea rdx, str.Field_numbers__0_through__1_are_reserved_for_the_protocol_buffer_library_implementation.
lea rcx, [rbp - 0x50]
call fcn.1400d3e30
nop
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8, rsi
mov rdx, qword [rdi + 8]
mov rcx, r13
call fcn.140092010
nop
lea rcx, [rbp - 0x50]
call fcn.14002eb50
cmp byte [rbp + 0x220], 0
je 0x14009871c
mov eax, dword [rsi + 0x10]
shr eax, 1
and al, 1
jne 0x14009892b
lea rax, str.FieldDescriptorProto.extendee_not_set_for_extension_field.
mov qword [rsp + 0x20], rax
mov r9d, 3
mov r8, rsi
mov rdx, qword [rdi + 8]
mov rcx, r13
call fcn.140092160
mov qword [rdi + 0x60], r12
mov eax, dword [rsi + 0x10]
shr eax, 7
and al, 1
je 0x140098ab2
lea rax, str.FieldDescriptorProto.oneof_index_should_not_be_set_for_extensions.
mov qword [rsp + 0x20], rax
mov r9d, 2
mov r8, rsi
mov rdx, qword [rdi + 8]
mov rcx, r13
call fcn.140092160
jmp 0x140098ab2
mov rax, qword [r12]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x140098974
mov rdx, qword [rax]
mov qword [rbp - 0x80], rdx
mov rax, qword [rax + 0x10]
mov dword [rbp - 0x78], eax
lea rdx, [rbp - 0x24]
call fcn.1400ba8b0
mov qword [rbp - 0x30], rax
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x140098993
mov dword [rbp - 0x28], ecx
mov qword [rbp + 0x170], r14
mov dword [rbp + 0x178], 0xffffffff
mov qword [rbp + 0x140], r14
mov dword [rbp + 0x148], 0xffffffff
mov qword [rbp + 0x110], r14
mov dword [rbp + 0x118], 0xffffffff
mov qword [rbp + 0xe0], r14
mov dword [rbp + 0xe8], 0xffffffff
mov qword [rbp + 0xb0], r14
mov dword [rbp + 0xb8], 0xffffffff
mov qword [rbp + 0x80], r14
mov dword [rbp + 0x88], 0xffffffff
mov qword [rbp + 0x50], r14
mov dword [rbp + 0x58], 0xffffffff
mov qword [rbp + 0x20], r14
mov dword [rbp + 0x28], 0xffffffff
lea rax, [rbp + 0x170]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x140]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x110]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0xe0]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x80]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x80]
lea r8, [rbp - 0x30]
lea rdx, str.FieldDescriptorProto.oneof_index__0_is_out_of_range_for_type___1_.
lea rcx, [rbp - 0x50]
call fcn.1400d3e30
nop
mov qword [rsp + 0x20], rax
mov r9d, 2
mov r8, rsi
mov rdx, qword [rdi + 8]
mov rcx, r13
call fcn.140092010
nop
lea rcx, [rbp - 0x50]
call fcn.14002eb50
mov qword [rdi + 0x58], r14
mov eax, dword [rsi + 0x10]
shr eax, 5
and al, 1
jne 0x140098ac9
mov qword [rdi + 0x78], r14
jmp 0x140098b99
movdqa xmm0, xmmword [0x1400e8160]
movdqu xmmword [rbp - 0x40], xmm0
mov byte [rbp - 0x50], 0
mov r8d, 0x1c
lea rdx, str.google.protobuf.FieldOptions
lea rcx, [rbp - 0x50]
call fcn.14000e950
nop
mov rax, qword [rsi + 0x40]
lea rbx, [0x140175140]
test rax, rax
cmovne rbx, rax
mov dword [rsp + 0x68], 8
mov qword [rbp - 0x80], r14
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x78], xmm0
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.1400a8570
mov rdx, qword [rbp - 0x78]
cmp qword [rbp - 0x70], rdx
je 0x140098b3a
mov dword [rdx], 8
add qword [rbp - 0x78], 4
jmp 0x140098b48
lea r8, [rsp + 0x68]
lea rcx, [rbp - 0x80]
call fcn.140088fc0
mov rdx, qword [rdi + 8]
lea rax, [rbp - 0x50]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
mov r9, rbx
mov r8, rdx
mov rcx, r13
call fcn.140086a20
nop
mov rdx, qword [rbp - 0x80]
test rdx, rdx
je 0x140098b90
mov r8, qword [rbp - 0x70]
sub r8, rdx
sar r8, 2
lea rcx, [rbp - 0x80]
call fcn.1400b59d0
nop
lea rcx, [rbp - 0x50]
call fcn.14002eb50
mov dword [rbp - 0x80], 2
mov qword [rbp - 0x78], rdi
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm0
lea rax, [rbp - 0x80]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
mov r9, qword [rdi]
mov r8, r12
mov rdx, qword [rdi + 8]
mov rcx, r13
call fcn.1400941e0
nop
mov r8, qword [rbp + 0x18]
cmp r8, 0x10
jb 0x140098be8
inc r8
mov rdx, qword [rbp]
lea rcx, [rbp]
call fcn.140052f70
mov rcx, qword [rbp + 0x1a0]
xor rcx, rsp
call fcn.1400d51a0
add rsp, 0x2b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret