Function at 0x5f2120
Capabilities:
Enumerate pe sections

Disassembly:
test dword [0x7eeab0], 0xffffff80
jne 0x5f2148
test dword [0x7eeab0], 0xffffffff
jne 0x5f2a2c
call fcn.006a7b4c
jmp fcn.005f2120
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 0x5f29ff
mov dword [esi + 0x31], edi
mov ecx, dword [edi + 0x25]
mov dword [esi + 0x21], ecx
test ebp, ebp
jne 0x5f21b4
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 0x5f21fb
mov ecx, esi
call fcn.004fa1f4
mov edi, eax
test edi, edi
je 0x5f21f8
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 0x5f21f8
mov eax, dword [edi + 0x69]
inc eax
mov dword [esi + 0x69], eax
mov ecx, dword [esi + 0x21]
jmp 0x5f21fb
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.00540204
test eax, eax
je 0x5f227d
mov ecx, dword [esi + 0x29]
mov eax, dword [ecx]
call dword [eax + 0x7c]
push edx
push eax
mov ecx, dword [esi + 0x21]
call fcn.00540070
cmp eax, 2
jne 0x5f227d
or byte [esi + 0x91], 4
mov ecx, ebx
call fcn.005eca58
mov dword [esi + 0x25], eax
mov edx, dword [esi + 0x21]
add edx, 0x9f
push edx
push esi
mov ecx, eax
call fcn.005a535c
mov dword [esi + 0x25], eax
mov ecx, eax
call fcn.005ec928
test eax, eax
je 0x5f22b7
mov ecx, dword [esi + 0x25]
call fcn.005ec928
push eax
mov ecx, esi
call fcn.004fa3b4
mov eax, dword [esi + 0x21]
add eax, 0x9f
push eax
mov ecx, dword [esi + 0x25]
call fcn.005a5294
mov ebx, eax
mov edx, dword [esi + 0x25]
mov eax, dword [edx + 8]
movzx ecx, word [eax + 0x10]
test ecx, ecx
je 0x5f2308
lea eax, [ecx*8]
lea ecx, [eax + ecx*4 + 0x701820]
lea ebp, [esp]
lea edx, [esp + 4]
push edx
push ebp
push 0x3a
call fcn.0053f1cc
movzx ecx, word [esp]
call fcn.0054c724
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 0x5f2324
movzx ecx, word [eax + 0xa]
test ecx, ecx
jne 0x5f29ad
mov eax, dword [eax + 0x32]
mov dword [esi + 0x88], eax
mov eax, dword [edx + 8]
movzx edx, word [eax + 8]
test edx, edx
je 0x5f23a1
push 0
push 0x14
mov ecx, 0x700aac
call fcn.004e579c
test eax, eax
je 0x5f235c
push 0
push 0x502868
push 0x1f
mov ecx, eax
call fcn.004efc28
jmp 0x5f235e
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.0054169c
mov ebp, eax
test ebp, ebp
je 0x5f239b
movzx eax, word [ebp]
mov word [esp + 0xc], ax
lea edx, [esp + 0xc]
push edx
mov ecx, dword [esi + 0x45]
call fcn.004edfbc
test eax, eax
je 0x5f297e
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5f2376
mov eax, dword [esi + 0x25]
mov eax, dword [eax + 8]
movzx eax, word [eax + 2]
test eax, eax
jne 0x5f2894
push 0
push 8
mov ecx, 0x700aa0
call fcn.004e579c
test eax, eax
je 0x5f23c8
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
jmp 0x5f23ca
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 0x5f2773
movzx edx, byte [esi + 9]
and edx, 8
cmp edx, 8
je 0x5f2773
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.0054169c
test eax, eax
je 0x5f273a
mov edx, dword [esi + 0x25]
mov ecx, dword [edx + 8]
movzx edx, word [ecx + 0x12]
movzx ecx, word [eax]
cmp edx, ecx
je 0x5f24ef
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, 0x700b0c
call fcn.004e579c
test eax, eax
je 0x5f245a
mov ecx, eax
call fcn.005454c0
mov edi, eax
jmp 0x5f245c
xor edi, edi
push edi
mov ecx, dword [esi + 0x3d]
call fcn.005a515c
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.00545500
movzx ecx, byte [esi + 0x91]
and ecx, 2
cmp ecx, 2
je 0x5f2753
test ebp, ebp
je 0x5f24b3
or byte [edi + 0x84], 1
and byte [edi + 0x83], 0xf7
inc word [esi + 0x75]
mov ebp, 1
mov dword [esp + 0x10], ebp
jmp 0x5f24c1
mov ecx, dword [edi + 0x21]
mov ecx, dword [ecx + 0x96]
cmp ecx, 2
je 0x5f2496
mov ebx, dword [ebx + 2]
test ebx, ebx
je 0x5f272c
mov ecx, dword [esi + 0x25]
mov edi, dword [ecx + 8]
movzx ecx, word [edi + 0x12]
movzx edi, word [ebx]
cmp ecx, edi
jne 0x5f243a
mov eax, ebx
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 8]
test edi, edi
jle 0x5f2597
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, 0x700b0c
call fcn.004e579c
test eax, eax
je 0x5f252a
mov ecx, eax
call fcn.005454c0
mov ebx, eax
jmp 0x5f252c
xor ebx, ebx
push ebx
mov ecx, dword [esi + 0x3d]
call fcn.005a515c
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.00545500
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.005b12a4
inc edi
mov eax, dword [esp + 0x14]
cmp edi, eax
jle 0x5f250a
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 8]
mov edi, dword [eax + 2]
test edi, edi
je 0x5f2618
mov dword [esp + 8], ebx
push 1
push 0x86
mov ecx, 0x700b0c
call fcn.004e579c
test eax, eax
je 0x5f25c2
mov ecx, eax
call fcn.005454c0
mov ebx, eax
jmp 0x5f25c4
xor ebx, ebx
push ebx
mov ecx, dword [esi + 0x3d]
call fcn.005a515c
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.00545500
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 0x5f25a2
mov ebx, dword [esp + 8]
mov eax, dword [esi + 0x25]
mov edx, dword [eax + 8]
movzx ecx, word [edx + 6]
call fcn.0054169c
mov edi, eax
test edi, edi
je 0x5f2699
mov dword [esp + 0x10], ebp
mov dword [esp + 8], ebx
movzx ebp, word [edi]
push 1
push 0x86
mov ecx, 0x700b0c
call fcn.004e579c
test eax, eax
je 0x5f2658
mov ecx, eax
call fcn.005454c0
mov ebx, eax
jmp 0x5f265a
xor ebx, ebx
push ebx
mov ecx, dword [esi + 0x3d]
call fcn.005a515c
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.00545500
movzx eax, byte [esi + 0x91]
and eax, 2
cmp eax, 2
je 0x5f2715
mov edi, dword [edi + 2]
test edi, edi
jne 0x5f2635
mov ebp, dword [esp + 0x10]
mov ebx, dword [esp + 8]
test ebp, ebp
je 0x5f26ae
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 0x5f2707
mov eax, dword [esp + 0x44]
test eax, eax
je 0x5f26f4
mov ecx, dword [esp + 0x44]
call fcn.005f33b4
mov edx, dword [esi + 0x2d]
push eax
push esi
mov ecx, dword [edx + 0x5d]
call fcn.005f47d0
test ebx, ebx
je 0x5f26ea
mov eax, dword [esi + 0x21]
add eax, 0x9f
push eax
push ebx
mov ecx, dword [esi + 0x25]
call fcn.005a5278
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.005f47d0
jmp 0x5f26d4
push str.Empty_definition_
mov ecx, esi
call fcn.004fa3b4
jmp 0x5f26b6
or byte [ebx + 0x84], 1
and byte [ebx + 0x83], 0xf7
inc word [esi + 0x75]
jmp 0x5f268a
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.004fa3b4
mov eax, dword [esp + 0x18]
jmp 0x5f24ef
or byte [edi + 0x84], 1
and byte [edi + 0x83], 0xf7
inc word [esi + 0x75]
mov ecx, 1
mov dword [esp + 0x10], ecx
jmp 0x5f24c1
movzx ecx, word [eax + 4]
call fcn.0054169c
mov ebp, eax
test ebp, ebp
je 0x5f27ea
mov dword [esp + 8], ebx
movzx ebx, word [ebp]
push 1
push 0x86
mov ecx, 0x700b0c
call fcn.004e579c
test eax, eax
je 0x5f27aa
mov ecx, eax
call fcn.005454c0
mov edi, eax
jmp 0x5f27ac
xor edi, edi
push edi
mov ecx, dword [esi + 0x3d]
call fcn.005a515c
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.00545500
movzx eax, byte [esi + 0x91]
and eax, 2
cmp eax, 2
je 0x5f287d
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5f2786
mov ebx, dword [esp + 8]
mov eax, dword [esi + 0x25]
mov edx, dword [eax + 8]
movzx ecx, word [edx + 6]
call fcn.0054169c
mov ebp, eax
test ebp, ebp
je 0x5f26ae
mov dword [esp + 8], ebx
movzx ebx, word [ebp]
push 1
push 0x86
mov ecx, 0x700b0c
call fcn.004e579c
test eax, eax
je 0x5f282b
mov ecx, eax
call fcn.005454c0
mov edi, eax
jmp 0x5f282d
xor edi, edi
push edi
mov ecx, dword [esi + 0x3d]
call fcn.005a515c
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.00545500
movzx eax, byte [esi + 0x91]
and eax, 2
cmp eax, 2
je 0x5f2869
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5f2807
mov ebx, dword [esp + 8]
jmp 0x5f26ae
or byte [edi + 0x84], 1
and byte [edi + 0x83], 0xf7
inc word [esi + 0x75]
jmp 0x5f2859
or byte [edi + 0x84], 1
and byte [edi + 0x83], 0xf7
inc word [esi + 0x75]
jmp 0x5f27df
push 0
push 8
mov ecx, 0x700aa0
call fcn.004e579c
test eax, eax
je 0x5f28af
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
jmp 0x5f28b1
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.0054169c
mov ebp, eax
test ebp, ebp
je 0x5f2961
mov dword [esp + 8], ebx
movzx edi, word [ebp]
push 1
push 0xb3
mov ecx, 0x700b00
call fcn.004e579c
mov ebx, eax
test ebx, ebx
je 0x5f2915
push 5
push 0
mov ecx, ebx
call fcn.004fa37c
mov dword [ebx], 0x7f2880
movzx eax, word [0x7e9220]
mov word [ebx + 0x61], ax
movzx edx, word [0x7e9220]
mov word [ebx + 0x63], dx
jmp 0x5f2917
xor ebx, ebx
push ebx
mov ecx, dword [esi + 0x39]
call fcn.005a515c
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.005f2120
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5f28d1
mov ebx, dword [esp + 8]
mov eax, dword [esi + 0x39]
cmp dword [eax], 0
jne 0x5f26d4
push str.Empty_definition_
mov ecx, esi
call fcn.004fa3b4
jmp 0x5f26d4
mov ecx, 0x31
call fcn.004dbdb8
test eax, eax
je 0x5f299d
movzx edx, word [ebp]
push esi
push 1
push edx
mov ecx, eax
call fcn.00616328
jmp 0x5f299f
xor eax, eax
push eax
mov ecx, dword [esi + 0x45]
call fcn.004ef260
jmp 0x5f2394
call fcn.00583dd0
mov dword [esi + 0x6d], eax
mov eax, dword [esi + 0x25]
mov edx, dword [eax + 8]
movzx ecx, word [edx + 0xa]
call fcn.0054169c
mov ebp, eax
test ebp, ebp
je 0x5f29f4
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.00583d0c
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5f29ca
mov edx, dword [esi + 0x25]
mov eax, dword [edx + 8]
jmp 0x5f2324
push ebx
push edi
push 5
mov ecx, esi
call fcn.004fa244
mov edx, dword [esi + 0xf]
cmp dword [esi + 0x29], 0
jne 0x5f2a19
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 0x5f21b4
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 0x5f32dd
mov dword [esi + 0x31], edi
mov ecx, dword [edi + 0x25]
mov dword [esi + 0x21], ecx
test ebp, ebp
jne 0x5f2a98
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 0x5f2adf
mov ecx, esi
call fcn.004fa1f4
mov edi, eax
test edi, edi
je 0x5f2adc
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 0x5f2adc
mov eax, dword [edi + 0x69]
inc eax
mov dword [esi + 0x69], eax
mov ecx, dword [esi + 0x21]
jmp 0x5f2adf
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.00540204
test eax, eax
je 0x5f2b61
mov ecx, dword [esi + 0x29]
mov eax, dword [ecx]
call dword [eax + 0x7c]
push edx
push eax
mov ecx, dword [esi + 0x21]
call fcn.00540070
cmp eax, 2
jne 0x5f2b61
or byte [esi + 0x91], 4
mov ecx, ebx
call fcn.005eca58
mov dword [esi + 0x25], eax
mov edx, dword [esi + 0x21]
add edx, 0x9f
push edx
push esi
mov ecx, eax
call fcn.005a535c
mov dword [esi + 0x25], eax
mov ecx, eax
call fcn.005ec928
test eax, eax
je 0x5f2b9b
mov ecx, dword [esi + 0x25]
call fcn.005ec928
push eax
mov ecx, esi
call fcn.004fa3b4
mov eax, dword [esi + 0x21]
add eax, 0x9f
push eax
mov ecx, dword [esi + 0x25]
call fcn.005a5294
mov ebx, eax
mov edx, dword [esi + 0x25]
mov eax, dword [edx + 8]
movzx ecx, word [eax + 0x10]
test ecx, ecx
je 0x5f2bec
lea eax, [ecx*8]
lea ecx, [eax + ecx*4 + 0x701820]
lea ebp, [esp]
lea edx, [esp + 4]
push edx
push ebp
push 0x3a
call fcn.0053f1cc
movzx ecx, word [esp]
call fcn.0054c724
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 0x5f2c08
movzx ecx, word [eax + 0xa]
test ecx, ecx
jne 0x5f328b
mov eax, dword [eax + 0x32]
mov dword [esi + 0x88], eax
mov eax, dword [edx + 8]
movzx edx, word [eax + 8]
test edx, edx
je 0x5f2c85
push 0
push 0x14
mov ecx, 0x700aac
call fcn.004e579c
test eax, eax
je 0x5f2c40
push 0
push 0x502868
push 0x1f
mov ecx, eax
call fcn.004efc28
jmp 0x5f2c42
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.0054169c
mov ebp, eax
test ebp, ebp
je 0x5f2c7f
movzx eax, word [ebp]
mov word [esp + 0xc], ax
lea edx, [esp + 0xc]
push edx
mov ecx, dword [esi + 0x45]
call fcn.004edfbc
test eax, eax
je 0x5f325c
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5f2c5a
mov eax, dword [esi + 0x25]
mov eax, dword [eax + 8]
movzx eax, word [eax + 2]
test eax, eax
jne 0x5f3172
push 0
push 8
mov ecx, 0x700aa0
call fcn.004e579c
test eax, eax
je 0x5f2cac
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
jmp 0x5f2cae
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 0x5f3051
movzx edx, byte [esi + 9]
and edx, 8
cmp edx, 8
je 0x5f3051
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.0054169c
test eax, eax
je 0x5f3018
mov ecx, dword [esi + 0x25]
mov ecx, dword [ecx + 8]
movzx edx, word [eax]
movzx ecx, word [ecx + 0x12]
cmp ecx, edx
je 0x5f2dd3
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, 0x700b0c
call fcn.004e579c
test eax, eax
je 0x5f2d3e
mov ecx, eax
call fcn.005454c0
mov edi, eax
jmp 0x5f2d40
xor edi, edi
push edi
mov ecx, dword [esi + 0x3d]
call fcn.005a515c
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.00545500
movzx ecx, byte [esi + 0x91]
and ecx, 2
cmp ecx, 2
je 0x5f3031
test ebp, ebp
je 0x5f2d97
or byte [edi + 0x84], 1
and byte [edi + 0x83], 0xf7
inc word [esi + 0x75]
mov ebp, 1
mov dword [esp + 0x10], ebp
jmp 0x5f2da5
mov ecx, dword [edi + 0x21]
mov ecx, dword [ecx + 0x96]
cmp ecx, 2
je 0x5f2d7a
mov ebx, dword [ebx + 2]
test ebx, ebx
je 0x5f300a
mov ecx, dword [esi + 0x25]
mov edi, dword [ecx + 8]
movzx eax, word [ebx]
movzx ecx, word [edi + 0x12]
cmp ecx, eax
jne 0x5f2d1e
mov eax, ebx
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 8]
test edi, edi
jle 0x5f2e76
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, 0x700b0c
call fcn.004e579c
test eax, eax
je 0x5f2e0e
mov ecx, eax
call fcn.005454c0
mov ebx, eax
jmp 0x5f2e10
xor ebx, ebx
push ebx
mov ecx, dword [esi + 0x3d]
call fcn.005a515c
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.00545500
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 0x5f2e5e
mov ebp, 1
mov ecx, ebx
call fcn.005b12a4
inc edi
mov eax, dword [esp + 0x14]
cmp edi, eax
jle 0x5f2dee
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 8]
mov edi, dword [eax + 2]
test edi, edi
je 0x5f2ef6
mov dword [esp + 8], ebx
push 1
push 0x86
mov ecx, 0x700b0c
call fcn.004e579c
test eax, eax
je 0x5f2ea1
mov ecx, eax
call fcn.005454c0
mov ebx, eax
jmp 0x5f2ea3
xor ebx, ebx
push ebx
mov ecx, dword [esi + 0x3d]
call fcn.005a515c
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.00545500
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 0x5f2eeb
mov ebp, 1
mov edi, dword [edi + 2]
test edi, edi
jne 0x5f2e81
mov ebx, dword [esp + 8]
mov eax, dword [esi + 0x25]
mov edx, dword [eax + 8]
movzx ecx, word [edx + 6]
call fcn.0054169c
mov edi, eax
test edi, edi
je 0x5f2f77
mov dword [esp + 0x10], ebp
mov dword [esp + 8], ebx
movzx ebp, word [edi]
push 1
push 0x86
mov ecx, 0x700b0c
call fcn.004e579c
test eax, eax
je 0x5f2f36
mov ecx, eax
call fcn.005454c0
mov ebx, eax
jmp 0x5f2f38
xor ebx, ebx
push ebx
mov ecx, dword [esi + 0x3d]
call fcn.005a515c
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.00545500
movzx eax, byte [esi + 0x91]
and eax, 2
cmp eax, 2
je 0x5f2ff3
mov edi, dword [edi + 2]
test edi, edi
jne 0x5f2f13
mov ebp, dword [esp + 0x10]
mov ebx, dword [esp + 8]
test ebp, ebp
je 0x5f2f8c
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 0x5f2fe5
mov eax, dword [esp + 0x44]
test eax, eax
je 0x5f2fd2
mov ecx, dword [esp + 0x44]
call fcn.005f33b4
mov edx, dword [esi + 0x2d]
push eax
push esi
mov ecx, dword [edx + 0x5d]
call fcn.005f47d0
test ebx, ebx
je 0x5f2fc8
mov eax, dword [esi + 0x21]
add eax, 0x9f
push eax
push ebx
mov ecx, dword [esi + 0x25]
call fcn.005a5278
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.005f47d0
jmp 0x5f2fb2
push str.Empty_definition_
mov ecx, esi
call fcn.004fa3b4
jmp 0x5f2f94
or byte [ebx + 0x84], 1
and byte [ebx + 0x83], 0xf7
inc word [esi + 0x75]
jmp 0x5f2f68
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.004fa3b4
mov eax, dword [esp + 0x18]
jmp 0x5f2dd3
or byte [edi + 0x84], 1
and byte [edi + 0x83], 0xf7
inc word [esi + 0x75]
mov ecx, 1
mov dword [esp + 0x10], ecx
jmp 0x5f2da5
movzx ecx, word [eax + 4]
call fcn.0054169c
mov ebp, eax
test ebp, ebp
je 0x5f30c8
mov dword [esp + 8], ebx
movzx ebx, word [ebp]
push 1
push 0x86
mov ecx, 0x700b0c
call fcn.004e579c
test eax, eax
je 0x5f3088
mov ecx, eax
call fcn.005454c0
mov edi, eax
jmp 0x5f308a
xor edi, edi
push edi
mov ecx, dword [esi + 0x3d]
call fcn.005a515c
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.00545500
movzx eax, byte [esi + 0x91]
and eax, 2
cmp eax, 2
je 0x5f315b
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5f3064
mov ebx, dword [esp + 8]
mov eax, dword [esi + 0x25]
mov edx, dword [eax + 8]
movzx ecx, word [edx + 6]
call fcn.0054169c
mov ebp, eax
test ebp, ebp
je 0x5f2f8c
mov dword [esp + 8], ebx
movzx ebx, word [ebp]
push 1
push 0x86
mov ecx, 0x700b0c
call fcn.004e579c
test eax, eax
je 0x5f3109
mov ecx, eax
call fcn.005454c0
mov edi, eax
jmp 0x5f310b
xor edi, edi
push edi
mov ecx, dword [esi + 0x3d]
call fcn.005a515c
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.00545500
movzx eax, byte [esi + 0x91]
and eax, 2
cmp eax, 2
je 0x5f3147
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5f30e5
mov ebx, dword [esp + 8]
jmp 0x5f2f8c
or byte [edi + 0x84], 1
and byte [edi + 0x83], 0xf7
inc word [esi + 0x75]
jmp 0x5f3137
or byte [edi + 0x84], 1
and byte [edi + 0x83], 0xf7
inc word [esi + 0x75]
jmp 0x5f30bd
push 0
push 8
mov ecx, 0x700aa0
call fcn.004e579c
test eax, eax
je 0x5f318d
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
jmp 0x5f318f
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.0054169c
mov ebp, eax
test ebp, ebp
je 0x5f323f
mov dword [esp + 8], ebx
movzx edi, word [ebp]
push 1
push 0xb3
mov ecx, 0x700b00
call fcn.004e579c
mov ebx, eax
test ebx, ebx
je 0x5f31f3
push 5
push 0
mov ecx, ebx
call fcn.004fa37c
mov dword [ebx], 0x7f2880
movzx eax, word [0x7e9220]
mov word [ebx + 0x61], ax
movzx edx, word [0x7e9220]
mov word [ebx + 0x63], dx
jmp 0x5f31f5
xor ebx, ebx
push ebx
mov ecx, dword [esi + 0x39]
call fcn.005a515c
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.005f2120
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5f31af
mov ebx, dword [esp + 8]
mov eax, dword [esi + 0x39]
cmp dword [eax], 0
jne 0x5f2fb2
push str.Empty_definition_
mov ecx, esi
call fcn.004fa3b4
jmp 0x5f2fb2
mov ecx, 0x31
call fcn.004dbdb8
test eax, eax
je 0x5f327b
movzx edx, word [ebp]
push esi
push 1
push edx
mov ecx, eax
call fcn.00616328
jmp 0x5f327d
xor eax, eax
push eax
mov ecx, dword [esi + 0x45]
call fcn.004ef260
jmp 0x5f2c78
call fcn.00583dd0
mov dword [esi + 0x6d], eax
mov eax, dword [esi + 0x25]
mov edx, dword [eax + 8]
movzx ecx, word [edx + 0xa]
call fcn.0054169c
mov ebp, eax
test ebp, ebp
je 0x5f32d2
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.00583d0c
mov ebp, dword [ebp + 2]
test ebp, ebp
jne 0x5f32a8
mov edx, dword [esi + 0x25]
mov eax, dword [edx + 8]
jmp 0x5f2c08
push ebx
push edi
push 5
mov ecx, esi
call fcn.004fa244
mov edx, dword [esi + 0xf]
cmp dword [esi + 0x29], 0
jne 0x5f32f7
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 0x5f2a98