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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x100
mov eax, dword [0x1819f008]
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.18102ac5
pop ecx
xor ecx, ecx
inc ecx
mov dword [esp + 0x28], ecx
test al, al
je 0x180fc4dc
push ecx
xor eax, eax
mov dword [esp + 0x68], 0xf
push 0x18192168
lea ecx, [esp + 0x58]
mov dword [esp + 0x68], eax
mov byte [esp + 0x58], al
call fcn.1801dd77
xor ecx, ecx
lea eax, [esp + 0x50]
inc ecx
mov dword [esp + 0x14], ecx
mov ecx, edi
push eax
call fcn.180ff0a9
xor ecx, ecx
inc ecx
test al, al
je 0x180fc4dc
mov eax, ecx
mov byte [esp + 0xe], cl
mov dword [esp + 0x14], eax
jmp 0x180fc4e5
mov eax, dword [esp + 0x14]
mov byte [esp + 0xe], 0
test cl, al
je 0x180fc4fc
and eax, 0xfffffffe
lea ecx, [esp + 0x50]
mov dword [esp + 0x14], eax
call fcn.1800ce96
xor ecx, ecx
inc ecx
xor eax, eax
cmp byte [esp + 0xe], al
je 0x180fc7e4
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.180fed4f
test al, al
je 0x180fc7c1
xor eax, eax
mov dword [esp + 0x7c], 0xf
push 1
push 0x18192208
lea ecx, [esp + 0x70]
mov dword [esp + 0x80], eax
mov byte [esp + 0x70], al
call fcn.1801dd77
lea eax, [esp + 0x68]
mov ecx, edi
push eax
call fcn.180fefab
lea ecx, [esp + 0x68]
mov byte [esp + 0xe], al
call fcn.1800ce96
cmp byte [esp + 0xe], 0
je 0x180fc7c1
xor eax, eax
mov dword [esp + 0x7c], 0xf
push 1
push 0x1818fad0
lea ecx, [esp + 0x70]
mov dword [esp + 0x80], eax
mov byte [esp + 0x70], al
call fcn.1801dd77
lea eax, [esp + 0x68]
mov ecx, edi
push eax
call fcn.180ff0a9
lea ecx, [esp + 0x68]
call fcn.1800ce96
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.180fbea0
pop ecx
test eax, eax
jne 0x180fc6e0
lea eax, [esp + 0x50]
mov edx, str.Could_not_find_type__
push eax
lea ecx, [esp + 0xe4]
call fcn.18098123
cmp dword [esp + 0xe0], 0x10
pop ecx
lea ecx, [esp + 0xc8]
jb 0x180fc631
mov ecx, dword [esp + 0xc8]
push dword [esp + 0xd8]
push ecx
mov ecx, eax
call fcn.1804a06e
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.1800cf4a
push 0x20
push str.__stored_in_google.protobuf.Any.
lea ecx, [esp + 0xa0]
call fcn.1804a06e
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.1800cf4a
lea eax, [esp + 0x68]
mov ecx, edi
push eax
push dword [edi + 0x34]
push dword [edi + 0x30]
call fcn.180fbffc
lea ecx, [esp + 0x68]
call fcn.1800ce96
lea ecx, [esp + 0x98]
call fcn.1800ce96
lea ecx, [esp + 0xe0]
call fcn.1800ce96
mov byte [esp + 0x28], 0
lea ecx, [esp + 0x80]
call fcn.1800ce96
jmp 0x180fc7c6
lea ecx, [esp + 0x80]
push ecx
push eax
mov ecx, edi
call fcn.180fee7b
test al, al
je 0x180fc6ca
cmp dword [edi + 0xa0], 1
jne 0x180fc76f
mov eax, dword [esp + 0x30]
cmp dword [eax + 0x20], 3
je 0x180fc716
mov ecx, dword [esp + 0x24]
push eax
push esi
call fcn.180ba9dd
test al, al
jne 0x180fc72f
mov eax, dword [esp + 0x20]
cmp dword [eax + 0x20], 3
je 0x180fc76f
mov ecx, dword [esp + 0x24]
push eax
push esi
call fcn.180ba9dd
test al, al
je 0x180fc76f
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.1801dd77
lea eax, [esp + 0x68]
mov ecx, edi
push eax
push dword [edi + 0x34]
push dword [edi + 0x30]
call fcn.180fbffc
lea ecx, [esp + 0x68]
jmp 0x180fc6c5
sub esp, 0x18
lea eax, [esp + 0xe0]
mov ecx, esp
lea edx, [esp + 0x68]
push eax
call fcn.180c7a60
pop ecx
push dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
push esi
call fcn.180bc392
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.1804a0f8
push dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
push esi
call fcn.180bc392
jmp 0x180fc6cf
mov byte [esp + 0x28], 0
lea ecx, [esp + 0x50]
call fcn.1800ce96
lea ecx, [esp + 0xc8]
call fcn.1800ce96
mov eax, dword [esp + 0x28]
jmp 0x180fca00
push ecx
push 0x18192168
lea ecx, [esp + 0x88]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], 0xf
mov byte [esp + 0x88], al
call fcn.1801dd77
lea eax, [esp + 0x80]
mov ecx, edi
push eax
call fcn.180ff0a9
lea ecx, [esp + 0x80]
mov byte [esp + 0xe], al
call fcn.1800ce96
cmp byte [esp + 0xe], 0
lea eax, [esp + 0xb0]
mov ecx, edi
push eax
je 0x180fcad0
call fcn.180fe6d2
test al, al
je 0x180fcac9
xor eax, eax
mov dword [esp + 0x94], 0xf
push 1
push 0x18192208
lea ecx, [esp + 0x88]
mov dword [esp + 0x98], eax
mov byte [esp + 0x88], al
call fcn.1801dd77
lea eax, [esp + 0x80]
mov ecx, edi
push eax
call fcn.180fefab
lea ecx, [esp + 0x80]
mov byte [esp + 0xe], al
call fcn.1800ce96
cmp byte [esp + 0xe], 0
je 0x180fc9fe
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x180fc8c1
mov eax, dword [ecx]
lea edx, [esp + 0xb0]
push edx
push esi
mov eax, dword [eax + 4]
call eax
jmp 0x180fc8e5
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.180d5fc9
mov esi, eax
test esi, esi
jne 0x180fd05f
cmp byte [edi + 0xa5], al
jne 0x180fca2a
cmp byte [edi + 0xa6], al
jne 0x180fca2a
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.18098123
pop ecx
push 0x2c
push str.__is_not_defined_or_is_not_an_extension_of__
mov ecx, eax
call fcn.1804a06e
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.1800cf4a
push esi
lea ecx, [esp + 0x6c]
call fcn.1804a052
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.1800cf4a
push 2
push 0x18193ba8
lea ecx, [esp + 0x88]
call fcn.1804a06e
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.1800cf4a
lea eax, [esp + 0x98]
mov ecx, edi
push eax
push dword [edi + 0x34]
push dword [edi + 0x30]
call fcn.180fbffc
lea ecx, [esp + 0x98]
call fcn.1800ce96
lea ecx, [esp + 0x80]
call fcn.1800ce96
lea ecx, [esp + 0x68]
call fcn.1800ce96
lea ecx, [esp + 0xe0]
call fcn.1800ce96
xor eax, eax
mov byte [esp + 0x28], al
lea ecx, [esp + 0xb0]
call fcn.1800ce96
mov ecx, dword [esp + 0x104]
mov al, byte [esp + 0x28]
pop edi
pop esi
xor ecx, esp
call fcn.18128eaf
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.18098123
pop ecx
push 0x32
push str.__which_is_not_defined_or_is_not_an_extension_of__
mov ecx, eax
call fcn.1804a06e
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.1800cf4a
push esi
lea ecx, [esp + 0x6c]
call fcn.1804a052
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.1800cf4a
push 2
push 0x18193ba8
lea ecx, [esp + 0x88]
call fcn.1804a06e
xor ecx, ecx
mov byte [esp + 0x18], cl
push dword [esp + 0x18]
jmp 0x180fce50
xor al, al
jmp 0x180fca00
call fcn.180fe645
test al, al
je 0x180fc9fe
cmp byte [edi + 0xa8], 0
je 0x180fcb82
lea edx, [esp + 0x20]
lea ecx, [esp + 0xb0]
call fcn.180cfb27
test al, al
je 0x180fcb82
push dword [esp + 0x20]
mov esi, dword [esp + 0x20]
mov ecx, esi
call fcn.180d6120
test eax, eax
je 0x180fcb35
push dword [esp + 0x20]
mov ecx, dword [edi + 4]
push esi
test ecx, ecx
je 0x180fcb28
call fcn.180ff395
jmp 0x180fcb7b
mov eax, dword [esi + 8]
mov ecx, dword [eax + 8]
call fcn.180d5eac
jmp 0x180fcb7b
mov ecx, dword [esi + 0x4c]
xor eax, eax
mov edx, dword [esp + 0x20]
mov dword [esp + 0x30], eax
test ecx, ecx
jle 0x180fcb66
mov ecx, dword [esi + 0x2c]
cmp edx, dword [ecx]
jl 0x180fcb52
cmp edx, dword [ecx + 4]
jl 0x180fcb68
mov edi, dword [esi + 0x4c]
add ecx, 8
inc dword [esp + 0x30]
cmp dword [esp + 0x30], edi
mov edi, dword [esp + 0x18]
jl 0x180fcb49
mov ecx, eax
test ecx, ecx
je 0x180fcb73
mov cl, 1
jmp 0x180fceb1
push edx
mov ecx, esi
call fcn.180d6081
mov esi, eax
jmp 0x180fccdd
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0xb0]
push eax
call fcn.180d60a3
mov esi, eax
test esi, esi
jne 0x180fcc00
mov dword [esp + 0x90], eax
lea ecx, [esp + 0x80]
mov dword [esp + 0x94], eax
lea eax, [esp + 0xb0]
push eax
call fcn.1804a0f8
lea ecx, [esp + 0x80]
call fcn.180d3702
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x80]
push eax
call fcn.180d60a3
mov esi, eax
test esi, esi
je 0x180fcbf0
mov ecx, esi
call fcn.180b92f6
sub eax, 0xa
neg eax
sbb eax, eax
not eax
and esi, eax
lea ecx, [esp + 0x80]
call fcn.1800ce96
test esi, esi
je 0x180fcc32
mov ecx, esi
call fcn.180b92f6
cmp eax, 0xa
jne 0x180fcc2a
mov ecx, esi
call fcn.180e46f7
lea edx, [esp + 0xb0]
mov ecx, dword [eax]
call fcn.180ceace
movzx eax, al
neg eax
sbb eax, eax
and esi, eax
test esi, esi
jne 0x180fd05f
cmp byte [edi + 0xa4], 0
je 0x180fcc8b
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.1804a0f8
lea ecx, [esp + 0x68]
call fcn.180d3702
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.180d54cd
mov esi, eax
test esi, esi
je 0x180fcc80
cmp byte [esi + 0x26], 0
je 0x180fcc82
xor esi, esi
lea ecx, [esp + 0x68]
call fcn.1800ce96
test esi, esi
jne 0x180fd05f
mov eax, dword [esp + 0x1c]
and dword [esp + 0x30], esi
mov ecx, dword [eax + 0x50]
mov dword [esp + 0x10], ecx
test ecx, ecx
jle 0x180fcce1
mov eax, dword [eax + 0x30]
mov dword [esp + 0x20], eax
mov edx, dword [eax]
lea ecx, [esp + 0xb0]
call fcn.180ceace
test al, al
jne 0x180fcda9
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 0x180fccad
mov eax, dword [esp + 0x1c]
test esi, esi
jne 0x180fd05f
cmp byte [edi + 0xa5], 0
lea ecx, [esp + 0xe0]
mov eax, dword [eax + 4]
mov edx, str.Message_type__
push eax
jne 0x180fcdb2
call fcn.18098123
pop ecx
push 0x16
push str.__has_no_field_named__
mov ecx, eax
call fcn.1804a06e
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.1800cf4a
cmp dword [esp + 0xc4], 0x10
lea eax, [esp + 0xb0]
jb 0x180fcd51
mov eax, dword [esp + 0xb0]
push dword [esp + 0xc0]
lea ecx, [esp + 0x6c]
push eax
call fcn.1804a06e
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.1800cf4a
push 2
push 0x18193ba8
lea ecx, [esp + 0x88]
call fcn.1804a06e
xor ecx, ecx
mov byte [esp + 0x10], cl
push dword [esp + 0x10]
jmp 0x180fc9a1
mov cl, 1
xor eax, eax
jmp 0x180fceb1
call fcn.18098123
pop ecx
push 0x16
push str.__has_no_field_named__
mov ecx, eax
call fcn.1804a06e
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.1800cf4a
cmp dword [esp + 0xc4], 0x10
lea eax, [esp + 0xb0]
jb 0x180fcdfd
mov eax, dword [esp + 0xb0]
push dword [esp + 0xc0]
lea ecx, [esp + 0x6c]
push eax
call fcn.1804a06e
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.1800cf4a
push 2
push 0x18193ba8
lea ecx, [esp + 0x88]
call fcn.1804a06e
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.1800cf4a
lea eax, [esp + 0x98]
mov ecx, edi
push eax
push dword [edi + 0x34]
push dword [edi + 0x30]
call fcn.180fc12d
lea ecx, [esp + 0x98]
call fcn.1800ce96
lea ecx, [esp + 0x80]
call fcn.1800ce96
lea ecx, [esp + 0x68]
call fcn.1800ce96
lea ecx, [esp + 0xe0]
call fcn.1800ce96
xor eax, eax
mov cl, al
cmp byte [edi + 0xa5], 0
jne 0x180fcf2c
cmp byte [edi + 0xa6], 0
jne 0x180fcf2c
test cl, cl
jne 0x180fcf2c
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.1804a06e
lea eax, [esp + 0xe0]
push eax
call fcn.180b6f22
mov eax, dword [esp + 0x14]
test al, 2
je 0x180fcf47
and eax, 0xfffffffd
lea ecx, [esp + 0xec]
mov dword [esp + 0x14], eax
call fcn.1800ce96
xor eax, eax
mov dword [esp + 0x64], 0xf
push 1
push 0x1818fad0
lea ecx, [esp + 0x58]
mov dword [esp + 0x68], eax
mov byte [esp + 0x58], al
call fcn.1801dd77
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x50]
or ecx, 4
mov dword [esp + 0x14], ecx
mov ecx, edi
push eax
call fcn.180ff0a9
test al, al
je 0x180fd008
xor eax, eax
mov dword [esp + 0x7c], 0xf
push 1
push 0x18196e50
lea ecx, [esp + 0x70]
mov dword [esp + 0x80], eax
mov byte [esp + 0x70], al
call fcn.1801dd77
or dword [esp + 0x14], 8
lea edx, [esp + 0x68]
lea ecx, [edi + 0x18]
call fcn.180ceace
test al, al
jne 0x180fd008
xor eax, eax
mov dword [esp + 0x94], 0xf
push 1
push 0x18196d48
lea ecx, [esp + 0x88]
mov dword [esp + 0x98], eax
mov byte [esp + 0x88], al
call fcn.1801dd77
or dword [esp + 0x14], 0x10
lea edx, [esp + 0x80]
lea ecx, [edi + 0x18]
call fcn.180ceace
test al, al
je 0x180fd00d
mov byte [esp + 0x28], 0
mov eax, dword [esp + 0x14]
test al, 0x10
je 0x180fd02c
and eax, 0xffffffef
lea ecx, [esp + 0x80]
mov dword [esp + 0x14], eax
call fcn.1800ce96
mov eax, dword [esp + 0x14]
test al, 8
je 0x180fd039
lea ecx, [esp + 0x68]
call fcn.1800ce96
lea ecx, [esp + 0x50]
call fcn.1800ce96
cmp byte [esp + 0x28], 0
mov ecx, edi
je 0x180fd055
call fcn.180fe382
jmp 0x180fca00
call fcn.180fd985
jmp 0x180fca00
cmp dword [edi + 0xa0], 1
jne 0x180fd294
cmp dword [esi + 0x20], 3
je 0x180fd0f6
mov ecx, dword [esp + 0x24]
push esi
push dword [esp + 0x30]
call fcn.180ba9dd
test al, al
je 0x180fd0f6
lea eax, [esp + 0xb0]
mov edx, str.Non_repeated_field__
push eax
lea ecx, [esp + 0xe4]
call fcn.18098123
pop ecx
push 0x1e
push str.__is_specified_multiple_times.
mov ecx, eax
call fcn.1804a06e
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.1800cf4a
lea eax, [esp + 0x98]
mov ecx, edi
push eax
push dword [edi + 0x34]
push dword [edi + 0x30]
call fcn.180fbffc
lea ecx, [esp + 0x98]
jmp 0x180fc9ed
mov eax, dword [esi + 0x34]
mov dword [esp + 0x10], eax
test eax, eax
je 0x180fd294
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 0x180fd294
mov edi, dword [esp + 0x10]
push dword [eax + ecx]
mov ecx, dword [edx]
mov edi, dword [edi]
call fcn.180d6081
mov edx, str.Field__
lea ecx, [esp + 0xe0]
mov esi, dword [eax]
lea eax, [esp + 0xb0]
push eax
call fcn.18098123
pop ecx
push 0x21
push str.__is_specified_along_with_field__
mov ecx, eax
call fcn.1804a06e
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.1800cf4a
push esi
lea ecx, [esp + 0xcc]
call fcn.1804a052
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.1800cf4a
push 0x1c
push str.___another_member_of_oneof__
lea ecx, [esp + 0x58]
call fcn.1804a06e
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.1800cf4a
push edi
lea ecx, [esp + 0x6c]
call fcn.1804a052
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.1800cf4a
push 2
push 0x18193ba8
lea ecx, [esp + 0x88]
call fcn.1804a06e
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.1800cf4a
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x98]
push eax
push dword [ecx + 0x34]
push dword [ecx + 0x30]
call fcn.180fbffc
lea ecx, [esp + 0x98]
call fcn.1800ce96
lea ecx, [esp + 0x80]
call fcn.1800ce96
lea ecx, [esp + 0x68]
call fcn.1800ce96
lea ecx, [esp + 0x50]
call fcn.1800ce96
lea ecx, [esp + 0xc8]
jmp 0x180fc9ed
mov ecx, esi
call fcn.180b92f6
push 1
mov dword [esp + 0x68], 0xf
lea ecx, [esp + 0x54]
push 0x1818fad0
cmp dword [eax*4 + 0x18172bb8], 0xa
jne 0x180fd49e
xor eax, eax
mov dword [esp + 0x68], eax
mov byte [esp + 0x58], al
call fcn.1801dd77
lea eax, [esp + 0x50]
mov ecx, edi
push eax
call fcn.180ff0a9
lea ecx, [esp + 0x50]
mov byte [esp + 0xf], al
call fcn.1800ce96
cmp byte [esp + 0xf], 0
je 0x180fd4cd
mov eax, dword [esi + 0x44]
cmp byte [eax + 0x33], 0
je 0x180fd4cd
cmp dword [edi + 0x14], 5
jne 0x180fd4cd
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.180fe89b
test al, al
je 0x180fd48b
mov ecx, dword [esp + 0x24]
push 0
push esi
push dword [esp + 0x34]
call fcn.180bcbfd
lea ecx, [esp + 0x50]
push ecx
mov ecx, eax
call fcn.180b8109
lea ecx, [esp + 0x50]
call fcn.1800ce96
xor eax, eax
mov dword [esp + 0xdc], 0xf
push 1
push 0x1818fe60
lea ecx, [esp + 0xd0]
mov dword [esp + 0xe0], eax
mov byte [esp + 0xd0], al
call fcn.1801dd77
or dword [esp + 0x14], 0x40
lea eax, [esp + 0xc8]
push eax
mov ecx, edi
call fcn.180ff0a9
test al, al
jne 0x180fd3cd
xor eax, eax
mov dword [esp + 0x64], 0xf
push 1
push 0x18193688
lea ecx, [esp + 0x58]
mov dword [esp + 0x68], eax
mov byte [esp + 0x58], al
call fcn.1801dd77
or dword [esp + 0x14], 0x80
lea eax, [esp + 0x50]
push eax
mov ecx, edi
call fcn.180ff0a9
mov ecx, dword [esp + 0x14]
test cl, cl
jns 0x180fd3de
lea ecx, [esp + 0x50]
call fcn.1800ce96
lea ecx, [esp + 0xc8]
call fcn.1800ce96
mov eax, dword [esi + 0x44]
cmp byte [eax + 0x32], 0
je 0x180fd46d
lea eax, [esp + 0xb0]
mov edx, str.text_format_contains_deprecated_field__
push eax
lea ecx, [esp + 0xe4]
call fcn.18098123
pop ecx
push 1
push 0x18193770
mov ecx, eax
call fcn.1804a06e
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.1800cf4a
lea eax, [esp + 0x98]
mov ecx, edi
push eax
push dword [edi + 0x34]
push dword [edi + 0x30]
call fcn.180fc12d
lea ecx, [esp + 0x98]
call fcn.1800ce96
lea ecx, [esp + 0xe0]
call fcn.1800ce96
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x180fca04
push dword [esp + 0x38]
push dword [esp + 0x40]
push esi
call fcn.180fbd31
jmp 0x180fca04
lea ecx, [esp + 0x50]
call fcn.1800ce96
mov byte [esp + 0x28], 0
jmp 0x180fca04
xor eax, eax
mov dword [esp + 0x68], eax
mov byte [esp + 0x58], al
call fcn.1801dd77
lea eax, [esp + 0x50]
mov ecx, edi
push eax
call fcn.180fefab
lea ecx, [esp + 0x50]
mov byte [esp + 0xf], al
call fcn.1800ce96
cmp byte [esp + 0xf], 0
je 0x180fd494
cmp dword [esi + 0x20], 3
jne 0x180fd50f
xor eax, eax
mov dword [esp + 0x64], 0xf
push 1
push 0x18192168
lea ecx, [esp + 0x58]
mov dword [esp + 0x68], eax
mov byte [esp + 0x58], al
call fcn.1801dd77
or dword [esp + 0x14], 0x20
lea eax, [esp + 0x50]
push eax
mov ecx, edi
call fcn.180ff0a9
mov byte [esp + 0xe], 1
test al, al
jne 0x180fd514
mov byte [esp + 0xe], 0
mov eax, dword [esp + 0x14]
test al, 0x20
je 0x180fd52c
and eax, 0xffffffdf
lea ecx, [esp + 0x50]
mov dword [esp + 0x14], eax
call fcn.1800ce96
cmp byte [esp + 0xe], 0
je 0x180fd63e
xor eax, eax
mov dword [esp + 0x64], 0xf
push 1
push 0x18192208
lea ecx, [esp + 0x58]
mov dword [esp + 0x68], eax
mov byte [esp + 0x58], al
call fcn.1801dd77
lea eax, [esp + 0x50]
mov ecx, edi
push eax
call fcn.180ff0a9
lea ecx, [esp + 0x50]
mov byte [esp + 0xf], al
call fcn.1800ce96
cmp byte [esp + 0xf], 0
jne 0x180fd351
mov ecx, esi
call fcn.180b92f6
push esi
push dword [esp + 0x28]
mov ecx, edi
cmp dword [eax*4 + 0x18172bb8], 0xa
push dword [esp + 0x34]
jne 0x180fd5a0
call fcn.180fd882
jmp 0x180fd5a5
call fcn.180fdaaa
test al, al
je 0x180fd494
xor eax, eax
mov dword [esp + 0x64], 0xf
push 1
push 0x18192208
lea ecx, [esp + 0x58]
mov dword [esp + 0x68], eax
mov byte [esp + 0x58], al
call fcn.1801dd77
lea eax, [esp + 0x50]
mov ecx, edi
push eax
call fcn.180ff0a9
lea ecx, [esp + 0x50]
mov byte [esp + 0xf], al
call fcn.1800ce96
cmp byte [esp + 0xf], 0
jne 0x180fd351
xor eax, eax
mov dword [esp + 0x64], 0xf
push 1
push 0x18193688
lea ecx, [esp + 0x58]
mov dword [esp + 0x68], eax
mov byte [esp + 0x58], al
call fcn.1801dd77
lea eax, [esp + 0x50]
mov ecx, edi
push eax
call fcn.180fefab
lea ecx, [esp + 0x50]
mov byte [esp + 0xf], al
call fcn.1800ce96
cmp byte [esp + 0xf], 0
jne 0x180fd57d
jmp 0x180fd494
mov ecx, esi
call fcn.180b92f6
push esi
push dword [esp + 0x28]
mov ecx, edi
cmp dword [eax*4 + 0x18172bb8], 0xa
push dword [esp + 0x34]
jne 0x180fd66c
call fcn.180fd882
test al, al
jne 0x180fd351
jmp 0x180fd494
call fcn.180fdaaa
jmp 0x180fd65f