Function at 0x5f110c
Capabilities:
Enumerate pe sections

Disassembly:
test dword [0x7eda90], 0xffffff80
jne 0x5f1134
test dword [0x7eda90], 0xffffffff
jne 0x5f1a18
call fcn.006a6b5c
jmp fcn.005f110c
push edi
push esi
push ebp
push ebx
sub esp, 0x1c
mov esi, ecx
mov edi, dword [esp + 0x34]
mov ebp, dword [esp + 0x38]
movzx ebx, word [esp + 0x3c]
mov word [esi + 0x1f], bx
mov dword [esi + 0xf], edi
movzx eax, byte [esi + 9]
and eax, 0xfffffff7
movzx edx, byte [edi + 9]
and edx, 8
or eax, edx
mov byte [esi + 9], al
movzx eax, word [edi + 0x13]
mov word [esi + 0x13], ax
movzx edx, byte [edi + 0x16]
mov byte [esi + 0x16], dl
movzx ecx, byte [edi + 0x15]
mov byte [esi + 0x15], cl
mov dword [esi + 0x29], ebp
movzx eax, byte [edi + 0xa]
and eax, 0x3f
cmp eax, 5
je 0x5f19eb
mov dword [esi + 0x31], edi
mov ecx, dword [edi + 0x25]
mov dword [esi + 0x21], ecx
test ebp, ebp
jne 0x5f11a0
mov eax, dword [edi + 0x35]
mov dword [esi + 0x29], eax
mov eax, dword [edi + 0x31]
mov dword [esi + 0x35], eax
mov dword [esi + 0x69], 1
test ebp, ebp
je 0x5f11e7
mov ecx, esi
call fcn.004fa0d4
mov edi, eax
test edi, edi
je 0x5f11e4
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x3c]
mov ebp, eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x3c]
movzx edx, bp
movzx eax, ax
cmp edx, eax
jne 0x5f11e4
mov eax, dword [edi + 0x69]
inc eax
mov dword [esi + 0x69], eax
mov ecx, dword [esi + 0x21]
jmp 0x5f11e7
mov ecx, dword [esi + 0x21]
movzx edx, byte [esi + 0x91]
and edx, 0xfffffffe
movzx ebp, byte [esp + 0x48]
and ebp, 1
or edx, ebp
mov byte [esi + 0x91], dl
movzx eax, byte [esi + 0x90]
and eax, 0xffffffdf
movzx edi, byte [esp + 0x4c]
and edi, 1
shl edi, 5
or eax, edi
mov byte [esi + 0x90], al
mov eax, dword [esp + 0x40]
mov dword [esi + 0x2d], eax
and edx, 0xfffffffd
movzx eax, byte [eax + 0x11b]
and eax, 0x40
shr eax, 6
and eax, 1
add eax, eax
or edx, eax
mov byte [esi + 0x91], dl
call fcn.00540058
test eax, eax
je 0x5f1269
mov ecx, dword [esi + 0x29]
mov eax, dword [ecx]
call dword [eax + 0x7c]
push edx
push eax
mov ecx, dword [esi + 0x21]
call fcn.0053fec4
cmp eax, 2
jne 0x5f1269
or byte [esi + 0x91], 4
mov ecx, ebx
call fcn.005eba5c
mov dword [esi + 0x25], eax
mov edx, dword [esi + 0x21]
add edx, 0x9f
push edx
push esi
mov ecx, eax
call fcn.005a5090
mov dword [esi + 0x25], eax
mov ecx, eax
call fcn.005eb92c
test eax, eax
je 0x5f12a3
mov ecx, dword [esi + 0x25]
call fcn.005eb92c
push eax
mov ecx, esi
call fcn.004fa294
mov eax, dword [esi + 0x21]
add eax, 0x9f
push eax
mov ecx, dword [esi + 0x25]
call fcn.005a4fc8
mov ebx, eax
mov edx, dword [esi + 0x25]
mov eax, dword [edx + 8]
movzx ecx, word [eax + 0x10]
test ecx, ecx
je 0x5f12f4
lea eax, [ecx*8]
lea ecx, [eax + ecx*4 + 0x700800]
lea ebp, [esp]
lea edx, [esp + 4]
push edx
push ebp
push 0x3a
call fcn.0053f008
movzx ecx, word [esp]
call fcn.0054c478
mov dword [esi + 0x4d], eax
mov edx, dword [esi + 0x25]
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x30]
movzx ebp, byte [ecx + 0x5e]
test ebp, 2
je 0x5f1310
movzx ecx, word [eax + 0xa]
test ecx, ecx
jne 0x5f1999
mov eax, dword [eax + 0x32]
mov dword [esi + 0x88], eax
mov eax, dword [edx + 8]
movzx edx, word [eax + 8]
test edx, edx
je 0x5f138d
push 0
push 0x14
mov ecx, 0x6ffaa0
call fcn.004e566c
test eax, eax
je 0x5f1348
push 0
push 0x606c24
push 0x1f
mov ecx, eax
call fcn.004efac8
jmp 0x5f134a
xor eax, eax
mov dword [esi + 0x45], eax
mov eax, dword [esi + 0x25]
mov edx, dword [eax + 8]
movzx ecx, word [edx + 8]
call fcn.005414f0
mov ebp, eax
test ebp, ebp
je 0x5f1387
movzx eax, word [ebp]
mov word [esp + 0xc], ax
lea edx, [esp + 0xc]
push edx
mov ecx, dword [esi + 0x45]
call fcn.004ede5c
test eax, eax
je 0x5f196a
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5f1362
mov eax, dword [esi + 0x25]
mov eax, dword [eax + 8]
movzx eax, word [eax + 2]
test eax, eax
jne 0x5f1880
push 0
push 8
mov ecx, 0x6ffa94
call fcn.004e566c
test eax, eax
je 0x5f13b4
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
jmp 0x5f13b6
xor eax, eax
mov dword [esi + 0x3d], eax
mov eax, dword [esi + 0x25]
mov eax, dword [eax + 8]
movzx edx, word [eax + 0x12]
test edx, edx
je 0x5f175f
movzx edx, byte [esi + 9]
and edx, 8
cmp edx, 8
je 0x5f175f
movzx ebp, byte [esi + 0x91]
and ebp, 2
shr ebp, 1
mov edi, dword [esi + 0x21]
movsx edi, word [edi + 0x3d]
movzx ecx, word [eax + 4]
call fcn.005414f0
test eax, eax
je 0x5f1726
mov edx, dword [esi + 0x25]
mov ecx, dword [edx + 8]
movzx edx, word [ecx + 0x12]
movzx ecx, word [eax]
cmp edx, ecx
je 0x5f14db
xor edx, edx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], edi
mov dword [esp + 8], ebx
mov ebx, eax
mov ebp, edx
push 1
push 0x86
mov ecx, 0x6ffb00
call fcn.004e566c
test eax, eax
je 0x5f1446
mov ecx, eax
call fcn.00545310
mov edi, eax
jmp 0x5f1448
xor edi, edi
push edi
mov ecx, dword [esi + 0x3d]
call fcn.005a4e90
mov eax, 1
movzx ecx, word [ebx]
push 0
push eax
push esi
push ecx
push eax
mov ecx, dword [esp + 0x44]
push ecx
mov ecx, edi
call fcn.00545350
movzx ecx, byte [esi + 0x91]
and ecx, 2
cmp ecx, 2
je 0x5f173f
test ebp, ebp
je 0x5f149f
or byte [edi + 0x84], 1
and byte [edi + 0x83], 0xf7
inc word [esi + 0x75]
mov ebp, 1
mov dword [esp + 0x10], ebp
jmp 0x5f14ad
mov ecx, dword [edi + 0x21]
mov ecx, dword [ecx + 0x96]
cmp ecx, 2
je 0x5f1482
mov ebx, dword [ebx + 2]
test ebx, ebx
je 0x5f1718
mov ecx, dword [esi + 0x25]
mov edi, dword [ecx + 8]
movzx ecx, word [edi + 0x12]
movzx edi, word [ebx]
cmp ecx, edi
jne 0x5f1426
mov eax, ebx
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 8]
test edi, edi
jle 0x5f1583
mov edx, 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edi
mov dword [esp + 8], ebx
mov edi, edx
push 1
push 0x86
mov ecx, 0x6ffb00
call fcn.004e566c
test eax, eax
je 0x5f1516
mov ecx, eax
call fcn.00545310
mov ebx, eax
jmp 0x5f1518
xor ebx, ebx
push ebx
mov ecx, dword [esi + 0x3d]
call fcn.005a4e90
movsx eax, di
mov ecx, dword [esp + 0x18]
movzx edx, word [ecx]
mov ecx, 1
push ecx
push ecx
push esi
push edx
push eax
mov eax, dword [esp + 0x44]
push eax
mov ecx, ebx
call fcn.00545350
or byte [ebx + 0x84], 1
and byte [ebx + 0x83], 0xf7
inc word [esi + 0x75]
mov eax, dword [ebx + 0x21]
mov eax, dword [eax + 0x96]
mov ecx, 1
cmp eax, 1
cmovne ebp, ecx
mov ecx, ebx
call fcn.005b0f9c
inc edi
mov eax, dword [esp + 0x14]
cmp edi, eax
jle 0x5f14f6
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 8]
mov edi, dword [eax + 2]
test edi, edi
je 0x5f1604
mov dword [esp + 8], ebx
push 1
push 0x86
mov ecx, 0x6ffb00
call fcn.004e566c
test eax, eax
je 0x5f15ae
mov ecx, eax
call fcn.00545310
mov ebx, eax
jmp 0x5f15b0
xor ebx, ebx
push ebx
mov ecx, dword [esi + 0x3d]
call fcn.005a4e90
mov edx, 1
movzx eax, word [edi]
push 0
push edx
push esi
push eax
push edx
mov eax, dword [esp + 0x44]
push eax
mov ecx, ebx
call fcn.00545350
or byte [ebx + 0x84], 1
and byte [ebx + 0x83], 0xf7
inc word [esi + 0x75]
mov eax, dword [ebx + 0x21]
mov edx, dword [eax + 0x96]
mov ecx, 1
cmp edx, 1
cmovne ebp, ecx
mov edi, dword [edi + 2]
test edi, edi
jne 0x5f158e
mov ebx, dword [esp + 8]
mov eax, dword [esi + 0x25]
mov edx, dword [eax + 8]
movzx ecx, word [edx + 6]
call fcn.005414f0
mov edi, eax
test edi, edi
je 0x5f1685
mov dword [esp + 0x10], ebp
mov dword [esp + 8], ebx
movzx ebp, word [edi]
push 1
push 0x86
mov ecx, 0x6ffb00
call fcn.004e566c
test eax, eax
je 0x5f1644
mov ecx, eax
call fcn.00545310
mov ebx, eax
jmp 0x5f1646
xor ebx, ebx
push ebx
mov ecx, dword [esi + 0x3d]
call fcn.005a4e90
xor eax, eax
push eax
push eax
push esi
push ebp
push 1
mov edx, dword [esp + 0x44]
push edx
mov ecx, ebx
call fcn.00545350
movzx eax, byte [esi + 0x91]
and eax, 2
cmp eax, 2
je 0x5f1701
mov edi, dword [edi + 2]
test edi, edi
jne 0x5f1621
mov ebp, dword [esp + 0x10]
mov ebx, dword [esp + 8]
test ebp, ebp
je 0x5f169a
or byte [esi + 0x91], 2
mov eax, dword [esi + 0x2d]
or byte [eax + 0x11b], 0x20
mov eax, dword [esi + 0x3d]
cmp dword [eax], 0
je 0x5f16f3
mov eax, dword [esp + 0x44]
test eax, eax
je 0x5f16e0
mov ecx, dword [esp + 0x44]
call fcn.005f23a0
mov edx, dword [esi + 0x2d]
push eax
push esi
mov ecx, dword [edx + 0x5d]
call fcn.005f37bc
test ebx, ebx
je 0x5f16d6
mov eax, dword [esi + 0x21]
add eax, 0x9f
push eax
push ebx
mov ecx, dword [esi + 0x25]
call fcn.005a4fac
add esp, 0x1c
pop ebx
pop ebp
pop esi
pop edi
ret 0x20
mov eax, dword [esi + 0x2d]
mov ecx, dword [eax + 0x5d]
mov edx, dword [ecx + 0xc]
inc edx
push edx
push esi
call fcn.005f37bc
jmp 0x5f16c0
push str.Empty_definition_
mov ecx, esi
call fcn.004fa294
jmp 0x5f16a2
or byte [ebx + 0x84], 1
and byte [ebx + 0x83], 0xf7
inc word [esi + 0x75]
jmp 0x5f1676
mov eax, ebx
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 8]
push str.Could_not_find_the_Repeated_Field_
mov ecx, esi
mov dword [esp + 0x1c], eax
call fcn.004fa294
mov eax, dword [esp + 0x18]
jmp 0x5f14db
or byte [edi + 0x84], 1
and byte [edi + 0x83], 0xf7
inc word [esi + 0x75]
mov ecx, 1
mov dword [esp + 0x10], ecx
jmp 0x5f14ad
movzx ecx, word [eax + 4]
call fcn.005414f0
mov ebp, eax
test ebp, ebp
je 0x5f17d6
mov dword [esp + 8], ebx
movzx ebx, word [ebp]
push 1
push 0x86
mov ecx, 0x6ffb00
call fcn.004e566c
test eax, eax
je 0x5f1796
mov ecx, eax
call fcn.00545310
mov edi, eax
jmp 0x5f1798
xor edi, edi
push edi
mov ecx, dword [esi + 0x3d]
call fcn.005a4e90
mov eax, 1
push 0
push eax
push esi
push ebx
push eax
mov edx, dword [esp + 0x44]
push edx
mov ecx, edi
call fcn.00545350
movzx eax, byte [esi + 0x91]
and eax, 2
cmp eax, 2
je 0x5f1869
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5f1772
mov ebx, dword [esp + 8]
mov eax, dword [esi + 0x25]
mov edx, dword [eax + 8]
movzx ecx, word [edx + 6]
call fcn.005414f0
mov ebp, eax
test ebp, ebp
je 0x5f169a
mov dword [esp + 8], ebx
movzx ebx, word [ebp]
push 1
push 0x86
mov ecx, 0x6ffb00
call fcn.004e566c
test eax, eax
je 0x5f1817
mov ecx, eax
call fcn.00545310
mov edi, eax
jmp 0x5f1819
xor edi, edi
push edi
mov ecx, dword [esi + 0x3d]
call fcn.005a4e90
xor eax, eax
push eax
push eax
push esi
push ebx
push 1
mov edx, dword [esp + 0x44]
push edx
mov ecx, edi
call fcn.00545350
movzx eax, byte [esi + 0x91]
and eax, 2
cmp eax, 2
je 0x5f1855
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5f17f3
mov ebx, dword [esp + 8]
jmp 0x5f169a
or byte [edi + 0x84], 1
and byte [edi + 0x83], 0xf7
inc word [esi + 0x75]
jmp 0x5f1845
or byte [edi + 0x84], 1
and byte [edi + 0x83], 0xf7
inc word [esi + 0x75]
jmp 0x5f17cb
push 0
push 8
mov ecx, 0x6ffa94
call fcn.004e566c
test eax, eax
je 0x5f189b
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
jmp 0x5f189d
xor eax, eax
mov dword [esi + 0x39], eax
mov eax, dword [esi + 0x25]
mov edx, dword [eax + 8]
movzx ecx, word [edx + 2]
call fcn.005414f0
mov ebp, eax
test ebp, ebp
je 0x5f194d
mov dword [esp + 8], ebx
movzx edi, word [ebp]
push 1
push 0xb3
mov ecx, 0x6ffaf4
call fcn.004e566c
mov ebx, eax
test ebx, ebx
je 0x5f1901
push 5
push 0
mov ecx, ebx
call fcn.004fa25c
mov dword [ebx], 0x7f1880
movzx eax, word [0x7e8200]
mov word [ebx + 0x61], ax
movzx edx, word [0x7e8200]
mov word [ebx + 0x63], dx
jmp 0x5f1903
xor ebx, ebx
push ebx
mov ecx, dword [esi + 0x39]
call fcn.005a4e90
movzx edx, byte [esi + 0x91]
and edx, 1
movzx eax, byte [esi + 0x90]
and eax, 0x20
shr eax, 5
push eax
push edx
mov eax, dword [esp + 0x4c]
push eax
push dword [esi + 0x2d]
push edi
push dword [esi + 0x29]
push esi
mov edi, dword [esp + 0x4c]
push edi
mov ecx, ebx
call fcn.005f110c
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5f18bd
mov ebx, dword [esp + 8]
mov eax, dword [esi + 0x39]
cmp dword [eax], 0
jne 0x5f16c0
push str.Empty_definition_
mov ecx, esi
call fcn.004fa294
jmp 0x5f16c0
mov ecx, 0x31
call fcn.004dbcd8
test eax, eax
je 0x5f1989
movzx edx, word [ebp]
push esi
push 1
push edx
mov ecx, eax
call fcn.00615338
jmp 0x5f198b
xor eax, eax
push eax
mov ecx, dword [esi + 0x45]
call fcn.004ef100
jmp 0x5f1380
call fcn.00583b04
mov dword [esi + 0x6d], eax
mov eax, dword [esi + 0x25]
mov edx, dword [eax + 8]
movzx ecx, word [edx + 0xa]
call fcn.005414f0
mov ebp, eax
test ebp, ebp
je 0x5f19e0
movzx ecx, word [ebp]
mov edi, dword [esi + 0x21]
add edi, 0x9f
movzx eax, byte [esi + 9]
and eax, 8
shr eax, 3
push dword [esi + 0x6d]
push eax
push edi
mov edx, esi
call fcn.00583a40
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5f19b6
mov edx, dword [esi + 0x25]
mov eax, dword [edx + 8]
jmp 0x5f1310
push ebx
push edi
push 5
mov ecx, esi
call fcn.004fa124
mov edx, dword [esi + 0xf]
cmp dword [esi + 0x29], 0
jne 0x5f1a05
mov eax, dword [edx + 0x29]
mov dword [esi + 0x29], eax
mov ecx, dword [edx + 0x21]
mov dword [esi + 0x21], ecx
mov edi, dword [edx + 0x31]
mov dword [esi + 0x31], edi
jmp 0x5f11a0
push edi
push esi
push ebp
push ebx
sub esp, 0x1c
mov esi, ecx
mov edi, dword [esp + 0x34]
mov ebp, dword [esp + 0x38]
movzx ebx, word [esp + 0x3c]
mov word [esi + 0x1f], bx
mov dword [esi + 0xf], edi
movzx edx, byte [edi + 9]
and edx, 8
movzx eax, byte [esi + 9]
and eax, 0xfffffff7
or eax, edx
mov byte [esi + 9], al
movzx eax, word [edi + 0x13]
mov word [esi + 0x13], ax
movzx edx, byte [edi + 0x16]
mov byte [esi + 0x16], dl
movzx ecx, byte [edi + 0x15]
mov byte [esi + 0x15], cl
mov dword [esi + 0x29], ebp
movzx eax, byte [edi + 0xa]
and eax, 0x3f
cmp eax, 5
je 0x5f22c9
mov dword [esi + 0x31], edi
mov ecx, dword [edi + 0x25]
mov dword [esi + 0x21], ecx
test ebp, ebp
jne 0x5f1a84
mov eax, dword [edi + 0x35]
mov dword [esi + 0x29], eax
mov eax, dword [edi + 0x31]
mov dword [esi + 0x35], eax
mov dword [esi + 0x69], 1
test ebp, ebp
je 0x5f1acb
mov ecx, esi
call fcn.004fa0d4
mov edi, eax
test edi, edi
je 0x5f1ac8
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x3c]
mov ebp, eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x3c]
movzx edx, bp
movzx eax, ax
cmp edx, eax
jne 0x5f1ac8
mov eax, dword [edi + 0x69]
inc eax
mov dword [esi + 0x69], eax
mov ecx, dword [esi + 0x21]
jmp 0x5f1acb
mov ecx, dword [esi + 0x21]
movzx edx, byte [esi + 0x91]
and edx, 0xfffffffe
movzx ebp, byte [esp + 0x48]
and ebp, 1
or edx, ebp
mov byte [esi + 0x91], dl
movzx eax, byte [esi + 0x90]
and eax, 0xffffffdf
movzx edi, byte [esp + 0x4c]
and edi, 1
shl edi, 5
or eax, edi
mov byte [esi + 0x90], al
mov eax, dword [esp + 0x40]
mov dword [esi + 0x2d], eax
and edx, 0xfffffffd
movzx eax, byte [eax + 0x11b]
and eax, 0x40
shr eax, 6
and eax, 1
add eax, eax
or edx, eax
mov byte [esi + 0x91], dl
call fcn.00540058
test eax, eax
je 0x5f1b4d
mov ecx, dword [esi + 0x29]
mov eax, dword [ecx]
call dword [eax + 0x7c]
push edx
push eax
mov ecx, dword [esi + 0x21]
call fcn.0053fec4
cmp eax, 2
jne 0x5f1b4d
or byte [esi + 0x91], 4
mov ecx, ebx
call fcn.005eba5c
mov dword [esi + 0x25], eax
mov edx, dword [esi + 0x21]
add edx, 0x9f
push edx
push esi
mov ecx, eax
call fcn.005a5090
mov dword [esi + 0x25], eax
mov ecx, eax
call fcn.005eb92c
test eax, eax
je 0x5f1b87
mov ecx, dword [esi + 0x25]
call fcn.005eb92c
push eax
mov ecx, esi
call fcn.004fa294
mov eax, dword [esi + 0x21]
add eax, 0x9f
push eax
mov ecx, dword [esi + 0x25]
call fcn.005a4fc8
mov ebx, eax
mov edx, dword [esi + 0x25]
mov eax, dword [edx + 8]
movzx ecx, word [eax + 0x10]
test ecx, ecx
je 0x5f1bd8
lea eax, [ecx*8]
lea ecx, [eax + ecx*4 + 0x700800]
lea ebp, [esp]
lea edx, [esp + 4]
push edx
push ebp
push 0x3a
call fcn.0053f008
movzx ecx, word [esp]
call fcn.0054c478
mov dword [esi + 0x4d], eax
mov edx, dword [esi + 0x25]
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x30]
movzx ebp, byte [ecx + 0x5e]
test ebp, 2
je 0x5f1bf4
movzx ecx, word [eax + 0xa]
test ecx, ecx
jne 0x5f2277
mov eax, dword [eax + 0x32]
mov dword [esi + 0x88], eax
mov eax, dword [edx + 8]
movzx edx, word [eax + 8]
test edx, edx
je 0x5f1c71
push 0
push 0x14
mov ecx, 0x6ffaa0
call fcn.004e566c
test eax, eax
je 0x5f1c2c
push 0
push 0x606c24
push 0x1f
mov ecx, eax
call fcn.004efac8
jmp 0x5f1c2e
xor eax, eax
mov dword [esi + 0x45], eax
mov eax, dword [esi + 0x25]
mov edx, dword [eax + 8]
movzx ecx, word [edx + 8]
call fcn.005414f0
mov ebp, eax
test ebp, ebp
je 0x5f1c6b
movzx eax, word [ebp]
mov word [esp + 0xc], ax
lea edx, [esp + 0xc]
push edx
mov ecx, dword [esi + 0x45]
call fcn.004ede5c
test eax, eax
je 0x5f2248
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5f1c46
mov eax, dword [esi + 0x25]
mov eax, dword [eax + 8]
movzx eax, word [eax + 2]
test eax, eax
jne 0x5f215e
push 0
push 8
mov ecx, 0x6ffa94
call fcn.004e566c
test eax, eax
je 0x5f1c98
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
jmp 0x5f1c9a
xor eax, eax
mov dword [esi + 0x3d], eax
mov eax, dword [esi + 0x25]
mov eax, dword [eax + 8]
movzx edx, word [eax + 0x12]
test edx, edx
je 0x5f203d
movzx edx, byte [esi + 9]
and edx, 8
cmp edx, 8
je 0x5f203d
movzx ebp, byte [esi + 0x91]
and ebp, 2
shr ebp, 1
mov edi, dword [esi + 0x21]
movsx edi, word [edi + 0x3d]
movzx ecx, word [eax + 4]
call fcn.005414f0
test eax, eax
je 0x5f2004
mov ecx, dword [esi + 0x25]
mov ecx, dword [ecx + 8]
movzx edx, word [eax]
movzx ecx, word [ecx + 0x12]
cmp ecx, edx
je 0x5f1dbf
xor edx, edx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], edi
mov dword [esp + 8], ebx
mov ebx, eax
mov ebp, edx
push 1
push 0x86
mov ecx, 0x6ffb00
call fcn.004e566c
test eax, eax
je 0x5f1d2a
mov ecx, eax
call fcn.00545310
mov edi, eax
jmp 0x5f1d2c
xor edi, edi
push edi
mov ecx, dword [esi + 0x3d]
call fcn.005a4e90
mov eax, 1
movzx ecx, word [ebx]
push 0
push eax
push esi
push ecx
push eax
mov ecx, dword [esp + 0x44]
push ecx
mov ecx, edi
call fcn.00545350
movzx ecx, byte [esi + 0x91]
and ecx, 2
cmp ecx, 2
je 0x5f201d
test ebp, ebp
je 0x5f1d83
or byte [edi + 0x84], 1
and byte [edi + 0x83], 0xf7
inc word [esi + 0x75]
mov ebp, 1
mov dword [esp + 0x10], ebp
jmp 0x5f1d91
mov ecx, dword [edi + 0x21]
mov ecx, dword [ecx + 0x96]
cmp ecx, 2
je 0x5f1d66
mov ebx, dword [ebx + 2]
test ebx, ebx
je 0x5f1ff6
mov ecx, dword [esi + 0x25]
mov edi, dword [ecx + 8]
movzx eax, word [ebx]
movzx ecx, word [edi + 0x12]
cmp ecx, eax
jne 0x5f1d0a
mov eax, ebx
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 8]
test edi, edi
jle 0x5f1e62
mov edx, 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edi
mov dword [esp + 8], ebx
mov edi, edx
push 1
push 0x86
mov ecx, 0x6ffb00
call fcn.004e566c
test eax, eax
je 0x5f1dfa
mov ecx, eax
call fcn.00545310
mov ebx, eax
jmp 0x5f1dfc
xor ebx, ebx
push ebx
mov ecx, dword [esi + 0x3d]
call fcn.005a4e90
movsx eax, di
mov ecx, dword [esp + 0x18]
movzx edx, word [ecx]
mov ecx, 1
push ecx
push ecx
push esi
push edx
push eax
mov eax, dword [esp + 0x44]
push eax
mov ecx, ebx
call fcn.00545350
or byte [ebx + 0x84], 1
and byte [ebx + 0x83], 0xf7
inc word [esi + 0x75]
mov eax, dword [ebx + 0x21]
mov eax, dword [eax + 0x96]
cmp eax, 1
je 0x5f1e4a
mov ebp, 1
mov ecx, ebx
call fcn.005b0f9c
inc edi
mov eax, dword [esp + 0x14]
cmp edi, eax
jle 0x5f1dda
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 8]
mov edi, dword [eax + 2]
test edi, edi
je 0x5f1ee2
mov dword [esp + 8], ebx
push 1
push 0x86
mov ecx, 0x6ffb00
call fcn.004e566c
test eax, eax
je 0x5f1e8d
mov ecx, eax
call fcn.00545310
mov ebx, eax
jmp 0x5f1e8f
xor ebx, ebx
push ebx
mov ecx, dword [esi + 0x3d]
call fcn.005a4e90
mov edx, 1
movzx eax, word [edi]
push 0
push edx
push esi
push eax
push edx
mov eax, dword [esp + 0x44]
push eax
mov ecx, ebx
call fcn.00545350
or byte [ebx + 0x84], 1
and byte [ebx + 0x83], 0xf7
inc word [esi + 0x75]
mov eax, dword [ebx + 0x21]
mov edx, dword [eax + 0x96]
cmp edx, 1
je 0x5f1ed7
mov ebp, 1
mov edi, dword [edi + 2]
test edi, edi
jne 0x5f1e6d
mov ebx, dword [esp + 8]
mov eax, dword [esi + 0x25]
mov edx, dword [eax + 8]
movzx ecx, word [edx + 6]
call fcn.005414f0
mov edi, eax
test edi, edi
je 0x5f1f63
mov dword [esp + 0x10], ebp
mov dword [esp + 8], ebx
movzx ebp, word [edi]
push 1
push 0x86
mov ecx, 0x6ffb00
call fcn.004e566c
test eax, eax
je 0x5f1f22
mov ecx, eax
call fcn.00545310
mov ebx, eax
jmp 0x5f1f24
xor ebx, ebx
push ebx
mov ecx, dword [esi + 0x3d]
call fcn.005a4e90
xor eax, eax
push eax
push eax
push esi
push ebp
push 1
mov edx, dword [esp + 0x44]
push edx
mov ecx, ebx
call fcn.00545350
movzx eax, byte [esi + 0x91]
and eax, 2
cmp eax, 2
je 0x5f1fdf
mov edi, dword [edi + 2]
test edi, edi
jne 0x5f1eff
mov ebp, dword [esp + 0x10]
mov ebx, dword [esp + 8]
test ebp, ebp
je 0x5f1f78
or byte [esi + 0x91], 2
mov eax, dword [esi + 0x2d]
or byte [eax + 0x11b], 0x20
mov eax, dword [esi + 0x3d]
cmp dword [eax], 0
je 0x5f1fd1
mov eax, dword [esp + 0x44]
test eax, eax
je 0x5f1fbe
mov ecx, dword [esp + 0x44]
call fcn.005f23a0
mov edx, dword [esi + 0x2d]
push eax
push esi
mov ecx, dword [edx + 0x5d]
call fcn.005f37bc
test ebx, ebx
je 0x5f1fb4
mov eax, dword [esi + 0x21]
add eax, 0x9f
push eax
push ebx
mov ecx, dword [esi + 0x25]
call fcn.005a4fac
add esp, 0x1c
pop ebx
pop ebp
pop esi
pop edi
ret 0x20
mov eax, dword [esi + 0x2d]
mov ecx, dword [eax + 0x5d]
mov edx, dword [ecx + 0xc]
inc edx
push edx
push esi
call fcn.005f37bc
jmp 0x5f1f9e
push str.Empty_definition_
mov ecx, esi
call fcn.004fa294
jmp 0x5f1f80
or byte [ebx + 0x84], 1
and byte [ebx + 0x83], 0xf7
inc word [esi + 0x75]
jmp 0x5f1f54
mov eax, ebx
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 8]
push str.Could_not_find_the_Repeated_Field_
mov ecx, esi
mov dword [esp + 0x1c], eax
call fcn.004fa294
mov eax, dword [esp + 0x18]
jmp 0x5f1dbf
or byte [edi + 0x84], 1
and byte [edi + 0x83], 0xf7
inc word [esi + 0x75]
mov ecx, 1
mov dword [esp + 0x10], ecx
jmp 0x5f1d91
movzx ecx, word [eax + 4]
call fcn.005414f0
mov ebp, eax
test ebp, ebp
je 0x5f20b4
mov dword [esp + 8], ebx
movzx ebx, word [ebp]
push 1
push 0x86
mov ecx, 0x6ffb00
call fcn.004e566c
test eax, eax
je 0x5f2074
mov ecx, eax
call fcn.00545310
mov edi, eax
jmp 0x5f2076
xor edi, edi
push edi
mov ecx, dword [esi + 0x3d]
call fcn.005a4e90
mov eax, 1
push 0
push eax
push esi
push ebx
push eax
mov edx, dword [esp + 0x44]
push edx
mov ecx, edi
call fcn.00545350
movzx eax, byte [esi + 0x91]
and eax, 2
cmp eax, 2
je 0x5f2147
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5f2050
mov ebx, dword [esp + 8]
mov eax, dword [esi + 0x25]
mov edx, dword [eax + 8]
movzx ecx, word [edx + 6]
call fcn.005414f0
mov ebp, eax
test ebp, ebp
je 0x5f1f78
mov dword [esp + 8], ebx
movzx ebx, word [ebp]
push 1
push 0x86
mov ecx, 0x6ffb00
call fcn.004e566c
test eax, eax
je 0x5f20f5
mov ecx, eax
call fcn.00545310
mov edi, eax
jmp 0x5f20f7
xor edi, edi
push edi
mov ecx, dword [esi + 0x3d]
call fcn.005a4e90
xor eax, eax
push eax
push eax
push esi
push ebx
push 1
mov edx, dword [esp + 0x44]
push edx
mov ecx, edi
call fcn.00545350
movzx eax, byte [esi + 0x91]
and eax, 2
cmp eax, 2
je 0x5f2133
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5f20d1
mov ebx, dword [esp + 8]
jmp 0x5f1f78
or byte [edi + 0x84], 1
and byte [edi + 0x83], 0xf7
inc word [esi + 0x75]
jmp 0x5f2123
or byte [edi + 0x84], 1
and byte [edi + 0x83], 0xf7
inc word [esi + 0x75]
jmp 0x5f20a9
push 0
push 8
mov ecx, 0x6ffa94
call fcn.004e566c
test eax, eax
je 0x5f2179
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
jmp 0x5f217b
xor eax, eax
mov dword [esi + 0x39], eax
mov eax, dword [esi + 0x25]
mov edx, dword [eax + 8]
movzx ecx, word [edx + 2]
call fcn.005414f0
mov ebp, eax
test ebp, ebp
je 0x5f222b
mov dword [esp + 8], ebx
movzx edi, word [ebp]
push 1
push 0xb3
mov ecx, 0x6ffaf4
call fcn.004e566c
mov ebx, eax
test ebx, ebx
je 0x5f21df
push 5
push 0
mov ecx, ebx
call fcn.004fa25c
mov dword [ebx], 0x7f1880
movzx eax, word [0x7e8200]
mov word [ebx + 0x61], ax
movzx edx, word [0x7e8200]
mov word [ebx + 0x63], dx
jmp 0x5f21e1
xor ebx, ebx
push ebx
mov ecx, dword [esi + 0x39]
call fcn.005a4e90
movzx edx, byte [esi + 0x91]
and edx, 1
movzx eax, byte [esi + 0x90]
and eax, 0x20
shr eax, 5
push eax
push edx
mov eax, dword [esp + 0x4c]
push eax
push dword [esi + 0x2d]
push edi
push dword [esi + 0x29]
push esi
mov edi, dword [esp + 0x4c]
push edi
mov ecx, ebx
call fcn.005f110c
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5f219b
mov ebx, dword [esp + 8]
mov eax, dword [esi + 0x39]
cmp dword [eax], 0
jne 0x5f1f9e
push str.Empty_definition_
mov ecx, esi
call fcn.004fa294
jmp 0x5f1f9e
mov ecx, 0x31
call fcn.004dbcd8
test eax, eax
je 0x5f2267
movzx edx, word [ebp]
push esi
push 1
push edx
mov ecx, eax
call fcn.00615338
jmp 0x5f2269
xor eax, eax
push eax
mov ecx, dword [esi + 0x45]
call fcn.004ef100
jmp 0x5f1c64
call fcn.00583b04
mov dword [esi + 0x6d], eax
mov eax, dword [esi + 0x25]
mov edx, dword [eax + 8]
movzx ecx, word [edx + 0xa]
call fcn.005414f0
mov ebp, eax
test ebp, ebp
je 0x5f22be
movzx ecx, word [ebp]
movzx eax, byte [esi + 9]
and eax, 8
shr eax, 3
mov edi, dword [esi + 0x21]
add edi, 0x9f
push dword [esi + 0x6d]
push eax
push edi
mov edx, esi
call fcn.00583a40
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5f2294
mov edx, dword [esi + 0x25]
mov eax, dword [edx + 8]
jmp 0x5f1bf4
push ebx
push edi
push 5
mov ecx, esi
call fcn.004fa124
mov edx, dword [esi + 0xf]
cmp dword [esi + 0x29], 0
jne 0x5f22e3
mov eax, dword [edx + 0x29]
mov dword [esi + 0x29], eax
mov ecx, dword [edx + 0x21]
mov dword [esi + 0x21], ecx
mov edi, dword [edx + 0x31]
mov dword [esi + 0x31], edi
jmp 0x5f1a84