542045:	5e                   	pop    %esi
542046:	83 c8 ff             	or     $0xffffffff,%eax
542049:	5b                   	pop    %ebx
54204a:	83 c4 10             	add    $0x10,%esp
54204d:	c3                   	ret
54204e:	55                   	push   %ebp
54204f:	8b 6c 24 24          	mov    0x24(%esp),%ebp
542053:	89 4e 0c             	mov    %ecx,0xc(%esi)
542056:	39 0e                	cmp    %ecx,(%esi)
542058:	74 07                	je     0x542061
54205a:	39 4e 10             	cmp    %ecx,0x10(%esi)
54205d:	75 1f                	jne    0x54207e
54205f:	eb 06                	jmp    0x542067
542061:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
542067:	56                   	push   %esi
542068:	52                   	push   %edx
542069:	55                   	push   %ebp
54206a:	53                   	push   %ebx
54206b:	e8 b0 fe ff ff       	call   0x541f20
542070:	83 c4 10             	add    $0x10,%esp
542073:	89 44 24 28          	mov    %eax,0x28(%esp)
542077:	c7 46 10 01 00 00 00 	movl   $0x1,0x10(%esi)
54207e:	8b 4e 14             	mov    0x14(%esi),%ecx
542081:	57                   	push   %edi
542082:	85 c9                	test   %ecx,%ecx
542084:	74 09                	je     0x54208f
542086:	80 39 00             	cmpb   $0x0,(%ecx)
542089:	0f 85 0e 01 00 00    	jne    0x54219d
54208f:	8b 06                	mov    (%esi),%eax
542091:	39 46 24             	cmp    %eax,0x24(%esi)
542094:	7e 03                	jle    0x542099
542096:	89 46 24             	mov    %eax,0x24(%esi)
542099:	39 46 20             	cmp    %eax,0x20(%esi)
54209c:	7e 03                	jle    0x5420a1
54209e:	89 46 20             	mov    %eax,0x20(%esi)
5420a1:	83 7e 18 01          	cmpl   $0x1,0x18(%esi)
5420a5:	75 48                	jne    0x5420ef
5420a7:	8b 4e 24             	mov    0x24(%esi),%ecx
5420aa:	39 4e 20             	cmp    %ecx,0x20(%esi)
5420ad:	74 10                	je     0x5420bf
5420af:	3b c8                	cmp    %eax,%ecx
5420b1:	74 13                	je     0x5420c6
5420b3:	56                   	push   %esi
5420b4:	55                   	push   %ebp
5420b5:	e8 a6 0a 00 00       	call   0x542b60
5420ba:	83 c4 08             	add    $0x8,%esp
5420bd:	eb 07                	jmp    0x5420c6
5420bf:	3b c8                	cmp    %eax,%ecx
5420c1:	74 03                	je     0x5420c6
5420c3:	89 46 20             	mov    %eax,0x20(%esi)
5420c6:	39 1e                	cmp    %ebx,(%esi)
5420c8:	7d 20                	jge    0x5420ea
5420ca:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
5420d0:	8b 0e                	mov    (%esi),%ecx
5420d2:	8b 44 8d 00          	mov    0x0(%ebp,%ecx,4),%eax
5420d6:	80 38 2d             	cmpb   $0x2d,(%eax)
5420d9:	75 06                	jne    0x5420e1
5420db:	80 78 01 00          	cmpb   $0x0,0x1(%eax)
5420df:	75 09                	jne    0x5420ea
5420e1:	8d 41 01             	lea    0x1(%ecx),%eax
5420e4:	89 06                	mov    %eax,(%esi)
5420e6:	3b c3                	cmp    %ebx,%eax
5420e8:	7c e6                	jl     0x5420d0
5420ea:	8b 06                	mov    (%esi),%eax
5420ec:	89 46 24             	mov    %eax,0x24(%esi)
5420ef:	3b c3                	cmp    %ebx,%eax
5420f1:	74 63                	je     0x542156
5420f3:	8b 7c 85 00          	mov    0x0(%ebp,%eax,4),%edi
5420f7:	ba f4 6d bd 00       	mov    $0xbd6df4,%edx
5420fc:	8b cf                	mov    %edi,%ecx
5420fe:	66 90                	xchg   %ax,%ax
542100:	8a 19                	mov    (%ecx),%bl
542102:	3a 1a                	cmp    (%edx),%bl
542104:	75 1a                	jne    0x542120
542106:	84 db                	test   %bl,%bl
542108:	74 12                	je     0x54211c
54210a:	8a 59 01             	mov    0x1(%ecx),%bl
54210d:	3a 5a 01             	cmp    0x1(%edx),%bl
542110:	75 0e                	jne    0x542120
542112:	83 c1 02             	add    $0x2,%ecx
542115:	83 c2 02             	add    $0x2,%edx
542118:	84 db                	test   %bl,%bl
54211a:	75 e4                	jne    0x542100
54211c:	33 c9                	xor    %ecx,%ecx
54211e:	eb 05                	jmp    0x542125
542120:	1b c9                	sbb    %ecx,%ecx
542122:	83 c9 01             	or     $0x1,%ecx
542125:	85 c9                	test   %ecx,%ecx
542127:	75 42                	jne    0x54216b
542129:	8b 56 20             	mov    0x20(%esi),%edx
54212c:	40                   	inc    %eax
54212d:	8b 4e 24             	mov    0x24(%esi),%ecx
542130:	89 06                	mov    %eax,(%esi)
542132:	3b d1                	cmp    %ecx,%edx
542134:	74 14                	je     0x54214a
542136:	3b c8                	cmp    %eax,%ecx
542138:	74 0c                	je     0x542146
54213a:	56                   	push   %esi
54213b:	55                   	push   %ebp
54213c:	e8 1f 0a 00 00       	call   0x542b60
542141:	83 c4 08             	add    $0x8,%esp
542144:	eb 07                	jmp    0x54214d
542146:	3b d1                	cmp    %ecx,%edx
542148:	75 03                	jne    0x54214d
54214a:	89 46 20             	mov    %eax,0x20(%esi)
54214d:	8b 44 24 24          	mov    0x24(%esp),%eax
542151:	89 46 24             	mov    %eax,0x24(%esi)
542154:	89 06                	mov    %eax,(%esi)
542156:	8b 46 20             	mov    0x20(%esi),%eax
542159:	3b 46 24             	cmp    0x24(%esi),%eax
54215c:	74 02                	je     0x542160
54215e:	89 06                	mov    %eax,(%esi)
542160:	83 c8 ff             	or     $0xffffffff,%eax
542163:	5f                   	pop    %edi
542164:	5d                   	pop    %ebp
542165:	5e                   	pop    %esi
542166:	5b                   	pop    %ebx
542167:	83 c4 10             	add    $0x10,%esp
54216a:	c3                   	ret
54216b:	80 3f 2d             	cmpb   $0x2d,(%edi)
54216e:	0f 85 65 07 00 00    	jne    0x5428d9
542174:	8a 4f 01             	mov    0x1(%edi),%cl
542177:	84 c9                	test   %cl,%cl
542179:	0f 84 5a 07 00 00    	je     0x5428d9
54217f:	8b 54 24 30          	mov    0x30(%esp),%edx
542183:	85 d2                	test   %edx,%edx
542185:	74 0a                	je     0x542191
542187:	b8 02 00 00 00       	mov    $0x2,%eax
54218c:	80 f9 2d             	cmp    $0x2d,%cl
54218f:	74 05                	je     0x542196
542191:	b8 01 00 00 00       	mov    $0x1,%eax
542196:	03 c7                	add    %edi,%eax
542198:	89 46 14             	mov    %eax,0x14(%esi)
54219b:	eb 04                	jmp    0x5421a1
54219d:	8b 54 24 30          	mov    0x30(%esp),%edx
5421a1:	85 d2                	test   %edx,%edx
5421a3:	0f 84 4b 03 00 00    	je     0x5424f4
5421a9:	8b 06                	mov    (%esi),%eax
5421ab:	8b 44 85 00          	mov    0x0(%ebp,%eax,4),%eax
5421af:	8a 48 01             	mov    0x1(%eax),%cl
5421b2:	80 f9 2d             	cmp    $0x2d,%cl
5421b5:	74 29                	je     0x5421e0
5421b7:	83 7c 24 38 00       	cmpl   $0x0,0x38(%esp)
5421bc:	0f 84 32 03 00 00    	je     0x5424f4
5421c2:	80 78 02 00          	cmpb   $0x0,0x2(%eax)
5421c6:	75 18                	jne    0x5421e0
5421c8:	0f be c1             	movsbl %cl,%eax
5421cb:	50                   	push   %eax
5421cc:	ff 74 24 30          	push   0x30(%esp)
5421d0:	e8 7e 2b ed ff       	call   0x414d53
5421d5:	83 c4 08             	add    $0x8,%esp
5421d8:	85 c0                	test   %eax,%eax
5421da:	0f 85 14 03 00 00    	jne    0x5424f4
5421e0:	8b 56 14             	mov    0x14(%esi),%edx
5421e3:	33 c0                	xor    %eax,%eax
5421e5:	89 44 24 1c          	mov    %eax,0x1c(%esp)
5421e9:	83 c9 ff             	or     $0xffffffff,%ecx
5421ec:	33 db                	xor    %ebx,%ebx
5421ee:	89 4c 24 18          	mov    %ecx,0x18(%esp)
5421f2:	89 54 24 14          	mov    %edx,0x14(%esp)
5421f6:	8a 02                	mov    (%edx),%al
5421f8:	84 c0                	test   %al,%al
5421fa:	74 14                	je     0x542210
5421fc:	0f 1f 40 00          	nopl   0x0(%eax)
542200:	3c 3d                	cmp    $0x3d,%al
542202:	74 08                	je     0x54220c
542204:	8a 42 01             	mov    0x1(%edx),%al
542207:	42                   	inc    %edx
542208:	84 c0                	test   %al,%al
54220a:	75 f4                	jne    0x542200
54220c:	89 54 24 14          	mov    %edx,0x14(%esp)
542210:	8b 44 24 30          	mov    0x30(%esp),%eax
542214:	8b f8                	mov    %eax,%edi
542216:	89 5c 24 10          	mov    %ebx,0x10(%esp)
54221a:	39 18                	cmp    %ebx,(%eax)
54221c:	0f 84 39 02 00 00    	je     0x54245b
542222:	8b 4e 14             	mov    0x14(%esi),%ecx
542225:	2b d1                	sub    %ecx,%edx
542227:	52                   	push   %edx
542228:	51                   	push   %ecx
542229:	ff 37                	push   (%edi)
54222b:	e8 e9 c9 ec ff       	call   0x40ec19
542230:	83 c4 0c             	add    $0xc,%esp
542233:	85 c0                	test   %eax,%eax
542235:	75 5c                	jne    0x542293
542237:	8b 0f                	mov    (%edi),%ecx
542239:	8d 51 01             	lea    0x1(%ecx),%edx
54223c:	0f 1f 40 00          	nopl   0x0(%eax)
542240:	8a 01                	mov    (%ecx),%al
542242:	41                   	inc    %ecx
542243:	84 c0                	test   %al,%al
542245:	75 f9                	jne    0x542240
542247:	2b ca                	sub    %edx,%ecx
542249:	8b 54 24 14          	mov    0x14(%esp),%edx
54224d:	8b c2                	mov    %edx,%eax
54224f:	2b 46 14             	sub    0x14(%esi),%eax
542252:	3b c1                	cmp    %ecx,%eax
542254:	0f 84 bb 00 00 00    	je     0x542315
54225a:	85 db                	test   %ebx,%ebx
54225c:	75 0c                	jne    0x54226a
54225e:	8b 44 24 10          	mov    0x10(%esp),%eax
542262:	8b df                	mov    %edi,%ebx
542264:	89 44 24 18          	mov    %eax,0x18(%esp)
542268:	eb 31                	jmp    0x54229b
54226a:	83 7c 24 38 00       	cmpl   $0x0,0x38(%esp)
54226f:	75 18                	jne    0x542289
542271:	8b 43 04             	mov    0x4(%ebx),%eax
542274:	3b 47 04             	cmp    0x4(%edi),%eax
542277:	75 10                	jne    0x542289
542279:	8b 43 08             	mov    0x8(%ebx),%eax
54227c:	3b 47 08             	cmp    0x8(%edi),%eax
54227f:	75 08                	jne    0x542289
542281:	8b 43 0c             	mov    0xc(%ebx),%eax
542284:	3b 47 0c             	cmp    0xc(%edi),%eax
542287:	74 0e                	je     0x542297
542289:	c7 44 24 1c 01 00 00 	movl   $0x1,0x1c(%esp)
542290:	00
542291:	eb 04                	jmp    0x542297
542293:	8b 54 24 14          	mov    0x14(%esp),%edx
542297:	8b 44 24 10          	mov    0x10(%esp),%eax
54229b:	83 c7 10             	add    $0x10,%edi
54229e:	40                   	inc    %eax
54229f:	89 44 24 10          	mov    %eax,0x10(%esp)
5422a3:	83 3f 00             	cmpl   $0x0,(%edi)
5422a6:	0f 85 76 ff ff ff    	jne    0x542222
5422ac:	33 c9                	xor    %ecx,%ecx
5422ae:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5422b2:	85 c0                	test   %eax,%eax
5422b4:	74 70                	je     0x542326
5422b6:	85 c9                	test   %ecx,%ecx
5422b8:	75 6c                	jne    0x542326
5422ba:	39 4c 24 3c          	cmp    %ecx,0x3c(%esp)
5422be:	74 21                	je     0x5422e1
5422c0:	8b 06                	mov    (%esi),%eax
5422c2:	ff 74 85 00          	push   0x0(%ebp,%eax,4)
5422c6:	ff 75 00             	push   0x0(%ebp)
5422c9:	68 40 df bd 00       	push   $0xbddf40
5422ce:	6a 02                	push   $0x2
5422d0:	e8 65 85 ec ff       	call   0x40a83a
5422d5:	83 c4 04             	add    $0x4,%esp
5422d8:	50                   	push   %eax
5422d9:	e8 d2 8b ed ff       	call   0x41aeb0
5422de:	83 c4 10             	add    $0x10,%esp
5422e1:	8b 56 14             	mov    0x14(%esi),%edx
5422e4:	8b ca                	mov    %edx,%ecx
5422e6:	8d 79 01             	lea    0x1(%ecx),%edi
5422e9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
5422f0:	8a 01                	mov    (%ecx),%al
5422f2:	41                   	inc    %ecx
5422f3:	84 c0                	test   %al,%al
5422f5:	75 f9                	jne    0x5422f0
5422f7:	2b cf                	sub    %edi,%ecx
5422f9:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
542300:	ff 06                	incl   (%esi)
542302:	5f                   	pop    %edi
542303:	5d                   	pop    %ebp
542304:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
542307:	89 46 14             	mov    %eax,0x14(%esi)
54230a:	b8 3f 00 00 00       	mov    $0x3f,%eax
54230f:	5e                   	pop    %esi
542310:	5b                   	pop    %ebx
542311:	83 c4 10             	add    $0x10,%esp
542314:	c3                   	ret
542315:	8b 44 24 10          	mov    0x10(%esp),%eax
542319:	8b df                	mov    %edi,%ebx
54231b:	89 44 24 18          	mov    %eax,0x18(%esp)
54231f:	b9 01 00 00 00       	mov    $0x1,%ecx
542324:	eb 88                	jmp    0x5422ae
542326:	85 db                	test   %ebx,%ebx
542328:	0f 84 2d 01 00 00    	je     0x54245b
54232e:	ff 06                	incl   (%esi)
542330:	80 3a 00             	cmpb   $0x0,(%edx)
542333:	8b 0e                	mov    (%esi),%ecx
542335:	0f 84 b7 00 00 00    	je     0x5423f2
54233b:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
54233f:	74 35                	je     0x542376
542341:	8d 42 01             	lea    0x1(%edx),%eax
542344:	89 46 0c             	mov    %eax,0xc(%esi)
542347:	8b 56 14             	mov    0x14(%esi),%edx
54234a:	8b ca                	mov    %edx,%ecx
54234c:	8d 79 01             	lea    0x1(%ecx),%edi
54234f:	90                   	nop
542350:	8a 01                	mov    (%ecx),%al
542352:	41                   	inc    %ecx
542353:	84 c0                	test   %al,%al
542355:	75 f9                	jne    0x542350
542357:	2b cf                	sub    %edi,%ecx
542359:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
54235c:	89 46 14             	mov    %eax,0x14(%esi)
54235f:	8b 44 24 34          	mov    0x34(%esp),%eax
542363:	85 c0                	test   %eax,%eax
542365:	0f 84 7a 03 00 00    	je     0x5426e5
54236b:	8b 4c 24 18          	mov    0x18(%esp),%ecx
54236f:	89 08                	mov    %ecx,(%eax)
542371:	e9 6f 03 00 00       	jmp    0x5426e5
542376:	83 7c 24 3c 00       	cmpl   $0x0,0x3c(%esp)
54237b:	74 48                	je     0x5423c5
54237d:	8b 44 8d fc          	mov    -0x4(%ebp,%ecx,4),%eax
542381:	ff 33                	push   (%ebx)
542383:	80 78 01 2d          	cmpb   $0x2d,0x1(%eax)
542387:	75 1d                	jne    0x5423a6
542389:	ff 75 00             	push   0x0(%ebp)
54238c:	68 64 df bd 00       	push   $0xbddf64
542391:	6a 02                	push   $0x2
542393:	e8 a2 84 ec ff       	call   0x40a83a
542398:	83 c4 04             	add    $0x4,%esp
54239b:	50                   	push   %eax
54239c:	e8 0f 8b ed ff       	call   0x41aeb0
5423a1:	83 c4 10             	add    $0x10,%esp
5423a4:	eb 1f                	jmp    0x5423c5
5423a6:	0f be 00             	movsbl (%eax),%eax
5423a9:	50                   	push   %eax
5423aa:	ff 75 00             	push   0x0(%ebp)
5423ad:	68 9c df bd 00       	push   $0xbddf9c
5423b2:	6a 02                	push   $0x2
5423b4:	e8 81 84 ec ff       	call   0x40a83a
5423b9:	83 c4 04             	add    $0x4,%esp
5423bc:	50                   	push   %eax
5423bd:	e8 ee 8a ed ff       	call   0x41aeb0
5423c2:	83 c4 14             	add    $0x14,%esp
5423c5:	8b 56 14             	mov    0x14(%esi),%edx
5423c8:	8b ca                	mov    %edx,%ecx
5423ca:	8d 79 01             	lea    0x1(%ecx),%edi
5423cd:	0f 1f 00             	nopl   (%eax)
5423d0:	8a 01                	mov    (%ecx),%al
5423d2:	41                   	inc    %ecx
5423d3:	84 c0                	test   %al,%al
5423d5:	75 f9                	jne    0x5423d0
5423d7:	2b cf                	sub    %edi,%ecx
5423d9:	5f                   	pop    %edi
5423da:	5d                   	pop    %ebp
5423db:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
5423de:	89 46 14             	mov    %eax,0x14(%esi)
5423e1:	8b 43 0c             	mov    0xc(%ebx),%eax
5423e4:	89 46 08             	mov    %eax,0x8(%esi)
5423e7:	b8 3f 00 00 00       	mov    $0x3f,%eax
5423ec:	5e                   	pop    %esi
5423ed:	5b                   	pop    %ebx
5423ee:	83 c4 10             	add    $0x10,%esp
5423f1:	c3                   	ret
5423f2:	83 7b 04 01          	cmpl   $0x1,0x4(%ebx)
5423f6:	0f 85 4b ff ff ff    	jne    0x542347
5423fc:	3b 4c 24 24          	cmp    0x24(%esp),%ecx
542400:	7d 11                	jge    0x542413
542402:	8b 44 8d 00          	mov    0x0(%ebp,%ecx,4),%eax
542406:	89 46 0c             	mov    %eax,0xc(%esi)
542409:	8d 41 01             	lea    0x1(%ecx),%eax
54240c:	89 06                	mov    %eax,(%esi)
54240e:	e9 34 ff ff ff       	jmp    0x542347
542413:	83 7c 24 3c 00       	cmpl   $0x0,0x3c(%esp)