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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x100
mov eax, dword [0x18195008]
xor eax, esp
mov dword [esp + 0xfc], eax
and dword [esp + 0xc], 0
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
mov dword [esp + 0x2c], esi
lea ecx, [esp + 0x40]
mov dword [esp + 0x18], edi
mov eax, dword [esi]
push ecx
mov ecx, esi
mov eax, dword [eax + 0x50]
call eax
lea ecx, [esp + 0x48]
push ecx
mov ecx, esi
mov eax, dword [eax + 4]
mov dword [esp + 0x28], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x50]
call eax
lea edx, [esp + 0x30]
mov ecx, esi
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
xor eax, eax
mov dword [esp + 0xc0], eax
mov byte [esp + 0xb0], al
mov eax, dword [edi + 0x30]
mov dword [esp + 0x3c], eax
mov eax, dword [edi + 0x34]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x20]
push eax
mov dword [esp + 0xc8], 0xf
call fcn.180fa941
pop ecx
xor ecx, ecx
inc ecx
mov dword [esp + 0x28], ecx
test al, al
je 0x180f4358
push ecx
xor eax, eax
mov dword [esp + 0x68], 0xf
push 0x18188c14
lea ecx, [esp + 0x58]
mov dword [esp + 0x68], eax
mov byte [esp + 0x58], al
call fcn.1801dd29
xor ecx, ecx
lea eax, [esp + 0x50]
inc ecx
mov dword [esp + 0x14], ecx
mov ecx, edi
push eax
call fcn.180f6f25
xor ecx, ecx
inc ecx
test al, al
je 0x180f4358
mov eax, ecx
mov byte [esp + 0xe], cl
mov dword [esp + 0x14], eax
jmp 0x180f4361
mov eax, dword [esp + 0x14]
mov byte [esp + 0xe], 0
test cl, al
je 0x180f4378
and eax, 0xfffffffe
lea ecx, [esp + 0x50]
mov dword [esp + 0x14], eax
call fcn.1800ce55
xor ecx, ecx
inc ecx
xor eax, eax
cmp byte [esp + 0xe], al
je 0x180f4660
push 0xf
pop ecx
mov dword [esp + 0xd8], eax
mov byte [esp + 0xc8], al
mov dword [esp + 0x60], eax
mov byte [esp + 0x50], al
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0xcc]
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x68], ecx
mov ecx, edi
push eax
call fcn.180f6bcb
test al, al
je 0x180f463d
xor eax, eax
mov dword [esp + 0x7c], 0xf
push 1
push 0x18188c10
lea ecx, [esp + 0x70]
mov dword [esp + 0x80], eax
mov byte [esp + 0x70], al
call fcn.1801dd29
lea eax, [esp + 0x68]
mov ecx, edi
push eax
call fcn.180f6e27
lea ecx, [esp + 0x68]
mov byte [esp + 0xe], al
call fcn.1800ce55
cmp byte [esp + 0xe], 0
je 0x180f463d
xor eax, eax
mov dword [esp + 0x7c], 0xf
push 1
push 0x1818655c
lea ecx, [esp + 0x70]
mov dword [esp + 0x80], eax
mov byte [esp + 0x70], al
call fcn.1801dd29
lea eax, [esp + 0x68]
mov ecx, edi
push eax
call fcn.180f6f25
lea ecx, [esp + 0x68]
call fcn.1800ce55
xor eax, eax
mov dword [esp + 0x94], 0xf
mov dword [esp + 0x90], eax
lea edx, [esp + 0x50]
mov byte [esp + 0x80], al
mov ecx, esi
lea eax, [esp + 0xc8]
push eax
call fcn.180f3d1c
pop ecx
test eax, eax
jne 0x180f455c
lea eax, [esp + 0x50]
mov edx, str.Could_not_find_type__
push eax
lea ecx, [esp + 0xe4]
call fcn.18090534
cmp dword [esp + 0xe0], 0x10
pop ecx
lea ecx, [esp + 0xc8]
jb 0x180f44ad
mov ecx, dword [esp + 0xc8]
push dword [esp + 0xd8]
push ecx
mov ecx, eax
call fcn.18049e6c
xor ecx, ecx
mov byte [esp + 0x18], cl
push dword [esp + 0x18]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], ecx
lea ecx, [esp + 0x9c]
push eax
call fcn.1800cf09
push 0x20
push 0x1818d970
lea ecx, [esp + 0xa0]
call fcn.18049e6c
xor ecx, ecx
mov byte [esp + 0x18], cl
push dword [esp + 0x18]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x6c]
push eax
call fcn.1800cf09
lea eax, [esp + 0x68]
mov ecx, edi
push eax
push dword [edi + 0x34]
push dword [edi + 0x30]
call fcn.180f3e78
lea ecx, [esp + 0x68]
call fcn.1800ce55
lea ecx, [esp + 0x98]
call fcn.1800ce55
lea ecx, [esp + 0xe0]
call fcn.1800ce55
mov byte [esp + 0x28], 0
lea ecx, [esp + 0x80]
call fcn.1800ce55
jmp 0x180f4642
lea ecx, [esp + 0x80]
push ecx
push eax
mov ecx, edi
call fcn.180f6cf7
test al, al
je 0x180f4546
cmp dword [edi + 0xa0], 1
jne 0x180f45eb
mov eax, dword [esp + 0x30]
cmp dword [eax + 0x20], 3
je 0x180f4592
mov ecx, dword [esp + 0x24]
push eax
push esi
call fcn.180b2fb3
test al, al
jne 0x180f45ab
mov eax, dword [esp + 0x20]
cmp dword [eax + 0x20], 3
je 0x180f45eb
mov ecx, dword [esp + 0x24]
push eax
push esi
call fcn.180b2fb3
test al, al
je 0x180f45eb
xor eax, eax
mov dword [esp + 0x7c], 0xf
push 0x2a
push str.Non_repeated_Any_specified_multiple_times.
lea ecx, [esp + 0x70]
mov dword [esp + 0x80], eax
mov byte [esp + 0x70], al
call fcn.1801dd29
lea eax, [esp + 0x68]
mov ecx, edi
push eax
push dword [edi + 0x34]
push dword [edi + 0x30]
call fcn.180f3e78
lea ecx, [esp + 0x68]
jmp 0x180f4541
sub esp, 0x18
lea eax, [esp + 0xe0]
mov ecx, esp
lea edx, [esp + 0x68]
push eax
call fcn.180bffae
pop ecx
push dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
push esi
call fcn.180b4968
sub esp, 0x18
xor eax, eax
mov ecx, esp
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
lea eax, [esp + 0x98]
push eax
call fcn.18049ef6
push dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
push esi
call fcn.180b4968
jmp 0x180f454b
mov byte [esp + 0x28], 0
lea ecx, [esp + 0x50]
call fcn.1800ce55
lea ecx, [esp + 0xc8]
call fcn.1800ce55
mov eax, dword [esp + 0x28]
jmp 0x180f487c
push ecx
push 0x18188c14
lea ecx, [esp + 0x88]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], 0xf
mov byte [esp + 0x88], al
call fcn.1801dd29
lea eax, [esp + 0x80]
mov ecx, edi
push eax
call fcn.180f6f25
lea ecx, [esp + 0x80]
mov byte [esp + 0xe], al
call fcn.1800ce55
cmp byte [esp + 0xe], 0
lea eax, [esp + 0xb0]
mov ecx, edi
push eax
je 0x180f494c
call fcn.180f654e
test al, al
je 0x180f4945
xor eax, eax
mov dword [esp + 0x94], 0xf
push 1
push 0x18188c10
lea ecx, [esp + 0x88]
mov dword [esp + 0x98], eax
mov byte [esp + 0x88], al
call fcn.1801dd29
lea eax, [esp + 0x80]
mov ecx, edi
push eax
call fcn.180f6e27
lea ecx, [esp + 0x80]
mov byte [esp + 0xe], al
call fcn.1800ce55
cmp byte [esp + 0xe], 0
je 0x180f487a
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x180f473d
mov eax, dword [ecx]
lea edx, [esp + 0xb0]
push edx
push esi
mov eax, dword [eax + 4]
call eax
jmp 0x180f4761
mov eax, dword [esi]
lea ecx, [esp + 0x30]
push ecx
mov ecx, esi
mov eax, dword [eax + 0x50]
call eax
lea edx, [esp + 0xb0]
push edx
mov ecx, dword [eax]
push ecx
mov eax, dword [ecx + 8]
mov ecx, dword [eax + 8]
call fcn.180ce59c
mov esi, eax
test esi, esi
jne 0x180f4edb
cmp byte [edi + 0xa5], al
jne 0x180f48a6
cmp byte [edi + 0xa6], al
jne 0x180f48a6
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0xb0]
push eax
mov edx, str.Extension__
mov esi, dword [ecx + 4]
lea ecx, [esp + 0xe4]
call fcn.18090534
pop ecx
push 0x2c
push str.__is_not_defined_or_is_not_an_extension_of__
mov ecx, eax
call fcn.18049e6c
xor ecx, ecx
mov byte [esp + 0x18], cl
push dword [esp + 0x18]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x6c]
push eax
call fcn.1800cf09
push esi
lea ecx, [esp + 0x6c]
call fcn.18049e50
xor ecx, ecx
mov byte [esp + 0x18], cl
push dword [esp + 0x18]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x84]
push eax
call fcn.1800cf09
push 2
push 0x1818a6a8
lea ecx, [esp + 0x88]
call fcn.18049e6c
xor ecx, ecx
mov byte [esp + 0x18], cl
push dword [esp + 0x18]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xac], ecx
lea ecx, [esp + 0x9c]
push eax
call fcn.1800cf09
lea eax, [esp + 0x98]
mov ecx, edi
push eax
push dword [edi + 0x34]
push dword [edi + 0x30]
call fcn.180f3e78
lea ecx, [esp + 0x98]
call fcn.1800ce55
lea ecx, [esp + 0x80]
call fcn.1800ce55
lea ecx, [esp + 0x68]
call fcn.1800ce55
lea ecx, [esp + 0xe0]
call fcn.1800ce55
xor eax, eax
mov byte [esp + 0x28], al
lea ecx, [esp + 0xb0]
call fcn.1800ce55
mov ecx, dword [esp + 0x104]
mov al, byte [esp + 0x28]
pop edi
pop esi
xor ecx, esp
call fcn.18120ca0
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0xb0]
push eax
mov edx, str.Ignoring_extension__
mov esi, dword [ecx + 4]
lea ecx, [esp + 0xe4]
call fcn.18090534
pop ecx
push 0x32
push str.__which_is_not_defined_or_is_not_an_extension_of__
mov ecx, eax
call fcn.18049e6c
xor ecx, ecx
mov byte [esp + 0x18], cl
push dword [esp + 0x18]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x6c]
push eax
call fcn.1800cf09
push esi
lea ecx, [esp + 0x6c]
call fcn.18049e50
xor ecx, ecx
mov byte [esp + 0x18], cl
push dword [esp + 0x18]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x84]
push eax
call fcn.1800cf09
push 2
push 0x1818a6a8
lea ecx, [esp + 0x88]
call fcn.18049e6c
xor ecx, ecx
mov byte [esp + 0x18], cl
push dword [esp + 0x18]
jmp 0x180f4ccc
xor al, al
jmp 0x180f487c
call fcn.180f64c1
test al, al
je 0x180f487a
cmp byte [edi + 0xa8], 0
je 0x180f49fe
lea edx, [esp + 0x20]
lea ecx, [esp + 0xb0]
call fcn.180c810c
test al, al
je 0x180f49fe
push dword [esp + 0x20]
mov esi, dword [esp + 0x20]
mov ecx, esi
call fcn.180ce6f3
test eax, eax
je 0x180f49b1
push dword [esp + 0x20]
mov ecx, dword [edi + 4]
push esi
test ecx, ecx
je 0x180f49a4
call fcn.180f7211
jmp 0x180f49f7
mov eax, dword [esi + 8]
mov ecx, dword [eax + 8]
call fcn.180ce47f
jmp 0x180f49f7
mov ecx, dword [esi + 0x4c]
xor eax, eax
mov edx, dword [esp + 0x20]
mov dword [esp + 0x30], eax
test ecx, ecx
jle 0x180f49e2
mov ecx, dword [esi + 0x2c]
cmp edx, dword [ecx]
jl 0x180f49ce
cmp edx, dword [ecx + 4]
jl 0x180f49e4
mov edi, dword [esi + 0x4c]
add ecx, 8
inc dword [esp + 0x30]
cmp dword [esp + 0x30], edi
mov edi, dword [esp + 0x18]
jl 0x180f49c5
mov ecx, eax
test ecx, ecx
je 0x180f49ef
mov cl, 1
jmp 0x180f4d2d
push edx
mov ecx, esi
call fcn.180ce654
mov esi, eax
jmp 0x180f4b59
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0xb0]
push eax
call fcn.180ce676
mov esi, eax
test esi, esi
jne 0x180f4a7c
mov dword [esp + 0x90], eax
lea ecx, [esp + 0x80]
mov dword [esp + 0x94], eax
lea eax, [esp + 0xb0]
push eax
call fcn.18049ef6
lea ecx, [esp + 0x80]
call fcn.180cbce7
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x80]
push eax
call fcn.180ce676
mov esi, eax
test esi, esi
je 0x180f4a6c
mov ecx, esi
call fcn.180b18d4
sub eax, 0xa
neg eax
sbb eax, eax
not eax
and esi, eax
lea ecx, [esp + 0x80]
call fcn.1800ce55
test esi, esi
je 0x180f4aae
mov ecx, esi
call fcn.180b18d4
cmp eax, 0xa
jne 0x180f4aa6
mov ecx, esi
call fcn.180dccc0
lea edx, [esp + 0xb0]
mov ecx, dword [eax]
call fcn.180c70b3
movzx eax, al
neg eax
sbb eax, eax
and esi, eax
test esi, esi
jne 0x180f4edb
cmp byte [edi + 0xa4], 0
je 0x180f4b07
xor eax, eax
lea ecx, [esp + 0x68]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
lea eax, [esp + 0xb0]
push eax
call fcn.18049ef6
lea ecx, [esp + 0x68]
call fcn.180cbce7
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x68]
push edx
push ecx
mov eax, dword [ecx + 8]
mov ecx, dword [eax + 0x58]
call fcn.180cda9d
mov esi, eax
test esi, esi
je 0x180f4afc
cmp byte [esi + 0x26], 0
je 0x180f4afe
xor esi, esi
lea ecx, [esp + 0x68]
call fcn.1800ce55
test esi, esi
jne 0x180f4edb
mov eax, dword [esp + 0x1c]
and dword [esp + 0x30], esi
mov ecx, dword [eax + 0x50]
mov dword [esp + 0x10], ecx
test ecx, ecx
jle 0x180f4b5d
mov eax, dword [eax + 0x30]
mov dword [esp + 0x20], eax
mov edx, dword [eax]
lea ecx, [esp + 0xb0]
call fcn.180c70b3
test al, al
jne 0x180f4c25
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
inc ecx
add eax, 4
mov dword [esp + 0x30], ecx
mov dword [esp + 0x20], eax
cmp ecx, dword [esp + 0x10]
jl 0x180f4b29
mov eax, dword [esp + 0x1c]
test esi, esi
jne 0x180f4edb
cmp byte [edi + 0xa5], 0
lea ecx, [esp + 0xe0]
mov eax, dword [eax + 4]
mov edx, str.Message_type__
push eax
jne 0x180f4c2e
call fcn.18090534
pop ecx
push 0x16
push str.__has_no_field_named__
mov ecx, eax
call fcn.18049e6c
xor ecx, ecx
mov byte [esp + 0x10], cl
push dword [esp + 0x10]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x6c]
push eax
call fcn.1800cf09
cmp dword [esp + 0xc4], 0x10
lea eax, [esp + 0xb0]
jb 0x180f4bcd
mov eax, dword [esp + 0xb0]
push dword [esp + 0xc0]
lea ecx, [esp + 0x6c]
push eax
call fcn.18049e6c
xor ecx, ecx
mov byte [esp + 0x10], cl
push dword [esp + 0x10]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x84]
push eax
call fcn.1800cf09
push 2
push 0x1818a6a8
lea ecx, [esp + 0x88]
call fcn.18049e6c
xor ecx, ecx
mov byte [esp + 0x10], cl
push dword [esp + 0x10]
jmp 0x180f481d
mov cl, 1
xor eax, eax
jmp 0x180f4d2d
call fcn.18090534
pop ecx
push 0x16
push str.__has_no_field_named__
mov ecx, eax
call fcn.18049e6c
xor ecx, ecx
mov byte [esp + 0x10], cl
push dword [esp + 0x10]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x6c]
push eax
call fcn.1800cf09
cmp dword [esp + 0xc4], 0x10
lea eax, [esp + 0xb0]
jb 0x180f4c79
mov eax, dword [esp + 0xb0]
push dword [esp + 0xc0]
lea ecx, [esp + 0x6c]
push eax
call fcn.18049e6c
xor ecx, ecx
mov byte [esp + 0x10], cl
push dword [esp + 0x10]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x84]
push eax
call fcn.1800cf09
push 2
push 0x1818a6a8
lea ecx, [esp + 0x88]
call fcn.18049e6c
xor ecx, ecx
mov byte [esp + 0x10], cl
push dword [esp + 0x10]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], ecx
lea ecx, [esp + 0x9c]
push eax
call fcn.1800cf09
lea eax, [esp + 0x98]
mov ecx, edi
push eax
push dword [edi + 0x34]
push dword [edi + 0x30]
call fcn.180f3fa9
lea ecx, [esp + 0x98]
call fcn.1800ce55
lea ecx, [esp + 0x80]
call fcn.1800ce55
lea ecx, [esp + 0x68]
call fcn.1800ce55
lea ecx, [esp + 0xe0]
call fcn.1800ce55
xor eax, eax
mov cl, al
cmp byte [edi + 0xa5], 0
jne 0x180f4da8
cmp byte [edi + 0xa6], 0
jne 0x180f4da8
test cl, cl
jne 0x180f4da8
mov ecx, dword [esp + 0x14]
or ecx, 2
mov dword [esp + 0xe0], 3
push 0x52
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0xf0]
push str.CHECK_failed:_allow_unknown_field___allow_unknown_extension___reserved_field:
mov dword [esp + 0xec], str.T:_srcpipergoogle3_third_partyprotobuf_legacy_opensource_srcgoogleprotobuf_text_format.cc
mov dword [esp + 0xf0], 0x1fb
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], 0xf
mov byte [esp + 0xf4], al
call fcn.18049e6c
lea eax, [esp + 0xe0]
push eax
call fcn.180af334
mov eax, dword [esp + 0x14]
test al, 2
je 0x180f4dc3
and eax, 0xfffffffd
lea ecx, [esp + 0xec]
mov dword [esp + 0x14], eax
call fcn.1800ce55
xor eax, eax
mov dword [esp + 0x64], 0xf
push 1
push 0x1818655c
lea ecx, [esp + 0x58]
mov dword [esp + 0x68], eax
mov byte [esp + 0x58], al
call fcn.1801dd29
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x50]
or ecx, 4
mov dword [esp + 0x14], ecx
mov ecx, edi
push eax
call fcn.180f6f25
test al, al
je 0x180f4e84
xor eax, eax
mov dword [esp + 0x7c], 0xf
push 1
push 0x1818d96c
lea ecx, [esp + 0x70]
mov dword [esp + 0x80], eax
mov byte [esp + 0x70], al
call fcn.1801dd29
or dword [esp + 0x14], 8
lea edx, [esp + 0x68]
lea ecx, [edi + 0x18]
call fcn.180c70b3
test al, al
jne 0x180f4e84
xor eax, eax
mov dword [esp + 0x94], 0xf
push 1
push 0x1818d968
lea ecx, [esp + 0x88]
mov dword [esp + 0x98], eax
mov byte [esp + 0x88], al
call fcn.1801dd29
or dword [esp + 0x14], 0x10
lea edx, [esp + 0x80]
lea ecx, [edi + 0x18]
call fcn.180c70b3
test al, al
je 0x180f4e89
mov byte [esp + 0x28], 0
mov eax, dword [esp + 0x14]
test al, 0x10
je 0x180f4ea8
and eax, 0xffffffef
lea ecx, [esp + 0x80]
mov dword [esp + 0x14], eax
call fcn.1800ce55
mov eax, dword [esp + 0x14]
test al, 8
je 0x180f4eb5
lea ecx, [esp + 0x68]
call fcn.1800ce55
lea ecx, [esp + 0x50]
call fcn.1800ce55
cmp byte [esp + 0x28], 0
mov ecx, edi
je 0x180f4ed1
call fcn.180f61fe
jmp 0x180f487c
call fcn.180f5801
jmp 0x180f487c
cmp dword [edi + 0xa0], 1
jne 0x180f5110
cmp dword [esi + 0x20], 3
je 0x180f4f72
mov ecx, dword [esp + 0x24]
push esi
push dword [esp + 0x30]
call fcn.180b2fb3
test al, al
je 0x180f4f72
lea eax, [esp + 0xb0]
mov edx, str.Non_repeated_field__
push eax
lea ecx, [esp + 0xe4]
call fcn.18090534
pop ecx
push 0x1e
push str.__is_specified_multiple_times.
mov ecx, eax
call fcn.18049e6c
xor ecx, ecx
mov byte [esp + 0x10], cl
push dword [esp + 0x10]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], ecx
lea ecx, [esp + 0x9c]
push eax
call fcn.1800cf09
lea eax, [esp + 0x98]
mov ecx, edi
push eax
push dword [edi + 0x34]
push dword [edi + 0x30]
call fcn.180f3e78
lea ecx, [esp + 0x98]
jmp 0x180f4869
mov eax, dword [esi + 0x34]
mov dword [esp + 0x10], eax
test eax, eax
je 0x180f5110
mov ecx, dword [eax + 8]
push 0x18
sub eax, dword [ecx + 0x18]
cdq
pop ecx
idiv ecx
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 0x1c]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x2c]
cmp dword [eax + ecx], 0
jbe 0x180f5110
mov edi, dword [esp + 0x10]
push dword [eax + ecx]
mov ecx, dword [edx]
mov edi, dword [edi]
call fcn.180ce654
mov edx, str.Field__
lea ecx, [esp + 0xe0]
mov esi, dword [eax]
lea eax, [esp + 0xb0]
push eax
call fcn.18090534
pop ecx
push 0x21
push str.__is_specified_along_with_field__
mov ecx, eax
call fcn.18049e6c
xor ecx, ecx
mov byte [esp + 0x10], cl
push dword [esp + 0x10]
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xe0], ecx
lea ecx, [esp + 0xcc]
push eax
call fcn.1800cf09
push esi
lea ecx, [esp + 0xcc]
call fcn.18049e50
xor ecx, ecx
mov byte [esp + 0x10], cl
push dword [esp + 0x10]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0x54]
push eax
call fcn.1800cf09
push 0x1c
push str.___another_member_of_oneof__
lea ecx, [esp + 0x58]
call fcn.18049e6c
xor ecx, ecx
mov byte [esp + 0x10], cl
push dword [esp + 0x10]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x6c]
push eax
call fcn.1800cf09
push edi
lea ecx, [esp + 0x6c]
call fcn.18049e50
xor ecx, ecx
mov byte [esp + 0x10], cl
push dword [esp + 0x10]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], ecx
lea ecx, [esp + 0x84]
push eax
call fcn.1800cf09
push 2
push 0x1818a6a8
lea ecx, [esp + 0x88]
call fcn.18049e6c
xor ecx, ecx
mov byte [esp + 0x10], cl
push dword [esp + 0x10]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], ecx
lea ecx, [esp + 0x9c]
push eax
call fcn.1800cf09
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x98]
push eax
push dword [ecx + 0x34]
push dword [ecx + 0x30]
call fcn.180f3e78
lea ecx, [esp + 0x98]
call fcn.1800ce55
lea ecx, [esp + 0x80]
call fcn.1800ce55
lea ecx, [esp + 0x68]
call fcn.1800ce55
lea ecx, [esp + 0x50]
call fcn.1800ce55
lea ecx, [esp + 0xc8]
jmp 0x180f4869
mov ecx, esi
call fcn.180b18d4
push 1
mov dword [esp + 0x68], 0xf
lea ecx, [esp + 0x54]
push 0x1818655c
cmp dword [eax*4 + 0x18169ba8], 0xa
jne 0x180f531a
xor eax, eax
mov dword [esp + 0x68], eax
mov byte [esp + 0x58], al
call fcn.1801dd29
lea eax, [esp + 0x50]
mov ecx, edi
push eax
call fcn.180f6f25
lea ecx, [esp + 0x50]
mov byte [esp + 0xf], al
call fcn.1800ce55
cmp byte [esp + 0xf], 0
je 0x180f5349
mov eax, dword [esi + 0x44]
cmp byte [eax + 0x33], 0
je 0x180f5349
cmp dword [edi + 0x14], 5
jne 0x180f5349
xor eax, eax
mov dword [esp + 0x64], 0xf
mov dword [esp + 0x60], eax
mov ecx, edi
mov byte [esp + 0x50], al
lea eax, [esp + 0x50]
push eax
call fcn.180f6717
test al, al
je 0x180f5307
mov ecx, dword [esp + 0x24]
push 0
push esi
push dword [esp + 0x34]
call fcn.180b51d3
lea ecx, [esp + 0x50]
push ecx
mov ecx, eax
call fcn.180b06e7
lea ecx, [esp + 0x50]
call fcn.1800ce55
xor eax, eax
mov dword [esp + 0xdc], 0xf
push 1
push 0x181868e4
lea ecx, [esp + 0xd0]
mov dword [esp + 0xe0], eax
mov byte [esp + 0xd0], al
call fcn.1801dd29
or dword [esp + 0x14], 0x40
lea eax, [esp + 0xc8]
push eax
mov ecx, edi
call fcn.180f6f25
test al, al
jne 0x180f5249
xor eax, eax
mov dword [esp + 0x64], 0xf
push 1
push 0x1818a188
lea ecx, [esp + 0x58]
mov dword [esp + 0x68], eax
mov byte [esp + 0x58], al
call fcn.1801dd29
or dword [esp + 0x14], 0x80
lea eax, [esp + 0x50]
push eax
mov ecx, edi
call fcn.180f6f25
mov ecx, dword [esp + 0x14]
test cl, cl
jns 0x180f525a
lea ecx, [esp + 0x50]
call fcn.1800ce55
lea ecx, [esp + 0xc8]
call fcn.1800ce55
mov eax, dword [esi + 0x44]
cmp byte [eax + 0x32], 0
je 0x180f52e9
lea eax, [esp + 0xb0]
mov edx, str.text_format_contains_deprecated_field__
push eax
lea ecx, [esp + 0xe4]
call fcn.18090534
pop ecx
push 1
push 0x1818a270
mov ecx, eax
call fcn.18049e6c
xor ecx, ecx
mov byte [esp + 0x10], cl
push dword [esp + 0x10]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], ecx
lea ecx, [esp + 0x9c]
push eax
call fcn.1800cf09
lea eax, [esp + 0x98]
mov ecx, edi
push eax
push dword [edi + 0x34]
push dword [edi + 0x30]
call fcn.180f3fa9
lea ecx, [esp + 0x98]
call fcn.1800ce55
lea ecx, [esp + 0xe0]
call fcn.1800ce55
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x180f4880
push dword [esp + 0x38]
push dword [esp + 0x40]
push esi
call fcn.180f3bad
jmp 0x180f4880
lea ecx, [esp + 0x50]
call fcn.1800ce55
mov byte [esp + 0x28], 0
jmp 0x180f4880
xor eax, eax
mov dword [esp + 0x68], eax
mov byte [esp + 0x58], al
call fcn.1801dd29
lea eax, [esp + 0x50]
mov ecx, edi
push eax
call fcn.180f6e27
lea ecx, [esp + 0x50]
mov byte [esp + 0xf], al
call fcn.1800ce55
cmp byte [esp + 0xf], 0
je 0x180f5310
cmp dword [esi + 0x20], 3
jne 0x180f538b
xor eax, eax
mov dword [esp + 0x64], 0xf
push 1
push 0x18188c14
lea ecx, [esp + 0x58]
mov dword [esp + 0x68], eax
mov byte [esp + 0x58], al
call fcn.1801dd29
or dword [esp + 0x14], 0x20
lea eax, [esp + 0x50]
push eax
mov ecx, edi
call fcn.180f6f25
mov byte [esp + 0xe], 1
test al, al
jne 0x180f5390
mov byte [esp + 0xe], 0
mov eax, dword [esp + 0x14]
test al, 0x20
je 0x180f53a8
and eax, 0xffffffdf
lea ecx, [esp + 0x50]
mov dword [esp + 0x14], eax
call fcn.1800ce55
cmp byte [esp + 0xe], 0
je 0x180f54ba
xor eax, eax
mov dword [esp + 0x64], 0xf
push 1
push 0x18188c10
lea ecx, [esp + 0x58]
mov dword [esp + 0x68], eax
mov byte [esp + 0x58], al
call fcn.1801dd29
lea eax, [esp + 0x50]
mov ecx, edi
push eax
call fcn.180f6f25
lea ecx, [esp + 0x50]
mov byte [esp + 0xf], al
call fcn.1800ce55
cmp byte [esp + 0xf], 0
jne 0x180f51cd
mov ecx, esi
call fcn.180b18d4
push esi
push dword [esp + 0x28]
mov ecx, edi
cmp dword [eax*4 + 0x18169ba8], 0xa
push dword [esp + 0x34]
jne 0x180f541c
call fcn.180f56fe
jmp 0x180f5421
call fcn.180f5926
test al, al
je 0x180f5310
xor eax, eax
mov dword [esp + 0x64], 0xf
push 1
push 0x18188c10
lea ecx, [esp + 0x58]
mov dword [esp + 0x68], eax
mov byte [esp + 0x58], al
call fcn.1801dd29
lea eax, [esp + 0x50]
mov ecx, edi
push eax
call fcn.180f6f25
lea ecx, [esp + 0x50]
mov byte [esp + 0xf], al
call fcn.1800ce55
cmp byte [esp + 0xf], 0
jne 0x180f51cd
xor eax, eax
mov dword [esp + 0x64], 0xf
push 1
push 0x1818a188
lea ecx, [esp + 0x58]
mov dword [esp + 0x68], eax
mov byte [esp + 0x58], al
call fcn.1801dd29
lea eax, [esp + 0x50]
mov ecx, edi
push eax
call fcn.180f6e27
lea ecx, [esp + 0x50]
mov byte [esp + 0xf], al
call fcn.1800ce55
cmp byte [esp + 0xf], 0
jne 0x180f53f9
jmp 0x180f5310
mov ecx, esi
call fcn.180b18d4
push esi
push dword [esp + 0x28]
mov ecx, edi
cmp dword [eax*4 + 0x18169ba8], 0xa
push dword [esp + 0x34]
jne 0x180f54e8
call fcn.180f56fe
test al, al
jne 0x180f51cd
jmp 0x180f5310
call fcn.180f5926
jmp 0x180f54db