4063b7:	57                   	push   %edi
4063b8:	8b f3                	mov    %ebx,%esi
4063ba:	8a 03                	mov    (%ebx),%al
4063bc:	eb 18                	jmp    0x4063d6
4063be:	3c 3d                	cmp    $0x3d,%al
4063c0:	74 01                	je     0x4063c3
4063c2:	42                   	inc    %edx
4063c3:	8b ce                	mov    %esi,%ecx
4063c5:	8d 79 01             	lea    0x1(%ecx),%edi
4063c8:	8a 01                	mov    (%ecx),%al
4063ca:	41                   	inc    %ecx
4063cb:	84 c0                	test   %al,%al
4063cd:	75 f9                	jne    0x4063c8
4063cf:	2b cf                	sub    %edi,%ecx
4063d1:	46                   	inc    %esi
4063d2:	03 f1                	add    %ecx,%esi
4063d4:	8a 06                	mov    (%esi),%al
4063d6:	84 c0                	test   %al,%al
4063d8:	75 e4                	jne    0x4063be
4063da:	8d 42 01             	lea    0x1(%edx),%eax
4063dd:	6a 04                	push   $0x4
4063df:	50                   	push   %eax
4063e0:	e8 7e 15 00 00       	call   0x407963
4063e5:	8b f0                	mov    %eax,%esi
4063e7:	59                   	pop    %ecx
4063e8:	59                   	pop    %ecx
4063e9:	85 f6                	test   %esi,%esi
4063eb:	75 0a                	jne    0x4063f7
4063ed:	50                   	push   %eax
4063ee:	e8 86 14 00 00       	call   0x407879
4063f3:	33 c0                	xor    %eax,%eax
4063f5:	eb 66                	jmp    0x40645d
4063f7:	89 75 fc             	mov    %esi,-0x4(%ebp)
4063fa:	eb 52                	jmp    0x40644e
4063fc:	8b cb                	mov    %ebx,%ecx
4063fe:	8d 79 01             	lea    0x1(%ecx),%edi
406401:	8a 01                	mov    (%ecx),%al
406403:	41                   	inc    %ecx
406404:	84 c0                	test   %al,%al
406406:	75 f9                	jne    0x406401
406408:	2b cf                	sub    %edi,%ecx
40640a:	8d 41 01             	lea    0x1(%ecx),%eax
40640d:	89 45 f8             	mov    %eax,-0x8(%ebp)
406410:	80 fa 3d             	cmp    $0x3d,%dl
406413:	74 37                	je     0x40644c
406415:	6a 01                	push   $0x1
406417:	50                   	push   %eax
406418:	e8 46 15 00 00       	call   0x407963
40641d:	8b f8                	mov    %eax,%edi
40641f:	59                   	pop    %ecx
406420:	59                   	pop    %ecx
406421:	85 ff                	test   %edi,%edi
406423:	74 3e                	je     0x406463
406425:	53                   	push   %ebx
406426:	ff 75 f8             	push   -0x8(%ebp)
406429:	57                   	push   %edi
40642a:	e8 b3 0b 00 00       	call   0x406fe2
40642f:	83 c4 0c             	add    $0xc,%esp
406432:	85 c0                	test   %eax,%eax
406434:	75 48                	jne    0x40647e
406436:	8b 45 fc             	mov    -0x4(%ebp),%eax
406439:	6a 00                	push   $0x0
40643b:	89 38                	mov    %edi,(%eax)
40643d:	83 c0 04             	add    $0x4,%eax
406440:	89 45 fc             	mov    %eax,-0x4(%ebp)
406443:	e8 31 14 00 00       	call   0x407879
406448:	8b 45 f8             	mov    -0x8(%ebp),%eax
40644b:	59                   	pop    %ecx
40644c:	03 d8                	add    %eax,%ebx
40644e:	8a 13                	mov    (%ebx),%dl
406450:	84 d2                	test   %dl,%dl
406452:	75 a8                	jne    0x4063fc
406454:	6a 00                	push   $0x0
406456:	e8 1e 14 00 00       	call   0x407879
40645b:	8b c6                	mov    %esi,%eax
40645d:	59                   	pop    %ecx
40645e:	5f                   	pop    %edi
40645f:	5e                   	pop    %esi
406460:	5b                   	pop    %ebx
406461:	c9                   	leave
406462:	c3                   	ret
406463:	56                   	push   %esi
406464:	e8 22 00 00 00       	call   0x40648b
406469:	6a 00                	push   $0x0
40646b:	e8 09 14 00 00       	call   0x407879
406470:	6a 00                	push   $0x0
406472:	e8 02 14 00 00       	call   0x407879
406477:	83 c4 0c             	add    $0xc,%esp
40647a:	33 c0                	xor    %eax,%eax
40647c:	eb e0                	jmp    0x40645e
40647e:	33 c0                	xor    %eax,%eax
406480:	50                   	push   %eax
406481:	50                   	push   %eax
406482:	50                   	push   %eax
406483:	50                   	push   %eax
406484:	50                   	push   %eax
406485:	e8 bf f8 ff ff       	call   0x405d49
40648a:	cc                   	int3
40648b:	8b ff                	mov    %edi,%edi
40648d:	55                   	push   %ebp
40648e:	8b ec                	mov    %esp,%ebp
406490:	56                   	push   %esi
406491:	8b 75 08             	mov    0x8(%ebp),%esi
406494:	85 f6                	test   %esi,%esi
406496:	74 1f                	je     0x4064b7
406498:	8b 06                	mov    (%esi),%eax
40649a:	57                   	push   %edi
40649b:	8b fe                	mov    %esi,%edi
40649d:	eb 0c                	jmp    0x4064ab
40649f:	50                   	push   %eax
4064a0:	e8 d4 13 00 00       	call   0x407879
4064a5:	8d 7f 04             	lea    0x4(%edi),%edi
4064a8:	8b 07                	mov    (%edi),%eax
4064aa:	59                   	pop    %ecx
4064ab:	85 c0                	test   %eax,%eax
4064ad:	75 f0                	jne    0x40649f
4064af:	56                   	push   %esi
4064b0:	e8 c4 13 00 00       	call   0x407879
4064b5:	59                   	pop    %ecx
4064b6:	5f                   	pop    %edi
4064b7:	5e                   	pop    %esi
4064b8:	5d                   	pop    %ebp
4064b9:	c3                   	ret
4064ba:	8b ff                	mov    %edi,%edi
4064bc:	55                   	push   %ebp
4064bd:	8b ec                	mov    %esp,%ebp
4064bf:	8b 45 08             	mov    0x8(%ebp),%eax
4064c2:	8b 00                	mov    (%eax),%eax
4064c4:	3b 05 b4 6e 41 00    	cmp    0x416eb4,%eax
4064ca:	74 07                	je     0x4064d3
4064cc:	50                   	push   %eax
4064cd:	e8 b9 ff ff ff       	call   0x40648b
4064d2:	59                   	pop    %ecx
4064d3:	5d                   	pop    %ebp
4064d4:	c3                   	ret
4064d5:	8b ff                	mov    %edi,%edi
4064d7:	55                   	push   %ebp
4064d8:	8b ec                	mov    %esp,%ebp
4064da:	8b 45 08             	mov    0x8(%ebp),%eax
4064dd:	8b 00                	mov    (%eax),%eax
4064df:	3b 05 b0 6e 41 00    	cmp    0x416eb0,%eax
4064e5:	74 07                	je     0x4064ee
4064e7:	50                   	push   %eax
4064e8:	e8 9e ff ff ff       	call   0x40648b
4064ed:	59                   	pop    %ecx
4064ee:	5d                   	pop    %ebp
4064ef:	c3                   	ret
4064f0:	6a 00                	push   $0x0
4064f2:	b8 f9 ee 40 00       	mov    $0x40eef9,%eax
4064f7:	e8 e9 87 00 00       	call   0x40ece5
4064fc:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406500:	68 a8 6e 41 00       	push   $0x416ea8
406505:	e8 b0 ff ff ff       	call   0x4064ba
40650a:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
406511:	c7 04 24 ac 6e 41 00 	movl   $0x416eac,(%esp)
406518:	e8 b8 ff ff ff       	call   0x4064d5
40651d:	ff 35 b4 6e 41 00    	push   0x416eb4
406523:	e8 63 ff ff ff       	call   0x40648b
406528:	ff 35 b0 6e 41 00    	push   0x416eb0
40652e:	e8 58 ff ff ff       	call   0x40648b
406533:	83 c4 0c             	add    $0xc,%esp
406536:	e8 96 87 00 00       	call   0x40ecd1
40653b:	c3                   	ret
40653c:	cc                   	int3
40653d:	cc                   	int3
40653e:	cc                   	int3
40653f:	cc                   	int3
406540:	cc                   	int3
406541:	e9 09 fe ff ff       	jmp    0x40634f
406546:	8b ff                	mov    %edi,%edi
406548:	53                   	push   %ebx
406549:	56                   	push   %esi
40654a:	e8 3b 24 00 00       	call   0x40898a
40654f:	8b 35 68 70 41 00    	mov    0x417068,%esi
406555:	85 f6                	test   %esi,%esi
406557:	75 05                	jne    0x40655e
406559:	be b8 6e 41 00       	mov    $0x416eb8,%esi
40655e:	32 db                	xor    %bl,%bl
406560:	8a 06                	mov    (%esi),%al
406562:	3c 20                	cmp    $0x20,%al
406564:	77 08                	ja     0x40656e
406566:	84 c0                	test   %al,%al
406568:	74 2a                	je     0x406594
40656a:	84 db                	test   %bl,%bl
40656c:	74 1b                	je     0x406589
40656e:	3c 22                	cmp    $0x22,%al
406570:	75 05                	jne    0x406577
406572:	84 db                	test   %bl,%bl
406574:	0f 94 c3             	sete   %bl
406577:	0f b6 c0             	movzbl %al,%eax
40657a:	50                   	push   %eax
40657b:	e8 3b 27 00 00       	call   0x408cbb
406580:	59                   	pop    %ecx
406581:	85 c0                	test   %eax,%eax
406583:	74 01                	je     0x406586
406585:	46                   	inc    %esi
406586:	46                   	inc    %esi
406587:	eb d7                	jmp    0x406560
406589:	3c 20                	cmp    $0x20,%al
40658b:	77 07                	ja     0x406594
40658d:	46                   	inc    %esi
40658e:	8a 06                	mov    (%esi),%al
406590:	84 c0                	test   %al,%al
406592:	75 f5                	jne    0x406589
406594:	8b c6                	mov    %esi,%eax
406596:	5e                   	pop    %esi
406597:	5b                   	pop    %ebx
406598:	c3                   	ret
406599:	8b ff                	mov    %edi,%edi
40659b:	55                   	push   %ebp
40659c:	8b ec                	mov    %esp,%ebp
40659e:	56                   	push   %esi
40659f:	8b 75 08             	mov    0x8(%ebp),%esi
4065a2:	3b 75 0c             	cmp    0xc(%ebp),%esi
4065a5:	74 1a                	je     0x4065c1
4065a7:	57                   	push   %edi
4065a8:	8b 3e                	mov    (%esi),%edi
4065aa:	85 ff                	test   %edi,%edi
4065ac:	74 0a                	je     0x4065b8
4065ae:	8b cf                	mov    %edi,%ecx
4065b0:	ff 15 18 f1 40 00    	call   *0x40f118
4065b6:	ff d7                	call   *%edi
4065b8:	83 c6 04             	add    $0x4,%esi
4065bb:	3b 75 0c             	cmp    0xc(%ebp),%esi
4065be:	75 e8                	jne    0x4065a8
4065c0:	5f                   	pop    %edi
4065c1:	5e                   	pop    %esi
4065c2:	5d                   	pop    %ebp
4065c3:	c3                   	ret
4065c4:	8b ff                	mov    %edi,%edi
4065c6:	55                   	push   %ebp
4065c7:	8b ec                	mov    %esp,%ebp
4065c9:	56                   	push   %esi
4065ca:	8b 75 08             	mov    0x8(%ebp),%esi
4065cd:	57                   	push   %edi
4065ce:	eb 17                	jmp    0x4065e7
4065d0:	8b 3e                	mov    (%esi),%edi
4065d2:	85 ff                	test   %edi,%edi
4065d4:	74 0e                	je     0x4065e4
4065d6:	8b cf                	mov    %edi,%ecx
4065d8:	ff 15 18 f1 40 00    	call   *0x40f118
4065de:	ff d7                	call   *%edi
4065e0:	85 c0                	test   %eax,%eax
4065e2:	75 0a                	jne    0x4065ee
4065e4:	83 c6 04             	add    $0x4,%esi
4065e7:	3b 75 0c             	cmp    0xc(%ebp),%esi
4065ea:	75 e4                	jne    0x4065d0
4065ec:	33 c0                	xor    %eax,%eax
4065ee:	5f                   	pop    %edi
4065ef:	5e                   	pop    %esi
4065f0:	5d                   	pop    %ebp
4065f1:	c3                   	ret
4065f2:	6a 08                	push   $0x8
4065f4:	68 50 4a 41 00       	push   $0x414a50
4065f9:	e8 12 ce ff ff       	call   0x403410
4065fe:	8b 45 08             	mov    0x8(%ebp),%eax
406601:	ff 30                	push   (%eax)
406603:	e8 c4 11 00 00       	call   0x4077cc
406608:	59                   	pop    %ecx
406609:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40660d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
406610:	e8 2a 00 00 00       	call   0x40663f
406615:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40661c:	e8 12 00 00 00       	call   0x406633
406621:	8b 4d f0             	mov    -0x10(%ebp),%ecx
406624:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40662b:	59                   	pop    %ecx
40662c:	5f                   	pop    %edi
40662d:	5e                   	pop    %esi
40662e:	5b                   	pop    %ebx
40662f:	c9                   	leave
406630:	c2 0c 00             	ret    $0xc
406633:	8b 45 10             	mov    0x10(%ebp),%eax
406636:	ff 30                	push   (%eax)
406638:	e8 d7 11 00 00       	call   0x407814
40663d:	59                   	pop    %ecx
40663e:	c3                   	ret
40663f:	6a 14                	push   $0x14
406641:	68 30 4a 41 00       	push   $0x414a30
406646:	e8 c5 cd ff ff       	call   0x403410
40664b:	8b f9                	mov    %ecx,%edi
40664d:	80 3d c4 6e 41 00 00 	cmpb   $0x0,0x416ec4
406654:	0f 85 99 00 00 00    	jne    0x4066f3
40665a:	33 c0                	xor    %eax,%eax
40665c:	40                   	inc    %eax
40665d:	b9 bc 6e 41 00       	mov    $0x416ebc,%ecx
406662:	87 01                	xchg   %eax,(%ecx)
406664:	33 db                	xor    %ebx,%ebx
406666:	89 5d fc             	mov    %ebx,-0x4(%ebp)
406669:	8b 07                	mov    (%edi),%eax
40666b:	8b 00                	mov    (%eax),%eax
40666d:	85 c0                	test   %eax,%eax
40666f:	75 2f                	jne    0x4066a0
406671:	a1 14 60 41 00       	mov    0x416014,%eax
406676:	89 45 e0             	mov    %eax,-0x20(%ebp)
406679:	8b 0d c0 6e 41 00    	mov    0x416ec0,%ecx
40667f:	3b c8                	cmp    %eax,%ecx
406681:	74 16                	je     0x406699
406683:	51                   	push   %ecx
406684:	e8 f4 f6 ff ff       	call   0x405d7d
406689:	59                   	pop    %ecx
40668a:	8b f0                	mov    %eax,%esi
40668c:	53                   	push   %ebx
40668d:	53                   	push   %ebx
40668e:	53                   	push   %ebx
40668f:	8b ce                	mov    %esi,%ecx
406691:	ff 15 18 f1 40 00    	call   *0x40f118
406697:	ff d6                	call   *%esi
406699:	68 d4 6e 41 00       	push   $0x416ed4
40669e:	eb 0a                	jmp    0x4066aa
4066a0:	83 f8 01             	cmp    $0x1,%eax
4066a3:	75 0b                	jne    0x4066b0
4066a5:	68 e0 6e 41 00       	push   $0x416ee0
4066aa:	e8 7d 06 00 00       	call   0x406d2c
4066af:	59                   	pop    %ecx
4066b0:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4066b7:	8b 07                	mov    (%edi),%eax
4066b9:	39 18                	cmp    %ebx,(%eax)
4066bb:	75 11                	jne    0x4066ce
4066bd:	68 5c f1 40 00       	push   $0x40f15c
4066c2:	68 4c f1 40 00       	push   $0x40f14c
4066c7:	e8 cd fe ff ff       	call   0x406599
4066cc:	59                   	pop    %ecx
4066cd:	59                   	pop    %ecx
4066ce:	68 64 f1 40 00       	push   $0x40f164
4066d3:	68 60 f1 40 00       	push   $0x40f160
4066d8:	e8 bc fe ff ff       	call   0x406599
4066dd:	59                   	pop    %ecx
4066de:	59                   	pop    %ecx
4066df:	8b 47 04             	mov    0x4(%edi),%eax
4066e2:	39 18                	cmp    %ebx,(%eax)
4066e4:	75 0d                	jne    0x4066f3
4066e6:	c6 05 c4 6e 41 00 01 	movb   $0x1,0x416ec4
4066ed:	8b 47 08             	mov    0x8(%edi),%eax
4066f0:	c6 00 01             	movb   $0x1,(%eax)
4066f3:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4066f6:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4066fd:	59                   	pop    %ecx
4066fe:	5f                   	pop    %edi
4066ff:	5e                   	pop    %esi
406700:	5b                   	pop    %ebx
406701:	c9                   	leave
406702:	c3                   	ret
406703:	8b 45 ec             	mov    -0x14(%ebp),%eax
406706:	8b 00                	mov    (%eax),%eax
406708:	8b 00                	mov    (%eax),%eax
40670a:	89 45 dc             	mov    %eax,-0x24(%ebp)
40670d:	33 c9                	xor    %ecx,%ecx
40670f:	3d 63 73 6d e0       	cmp    $0xe06d7363,%eax
406714:	0f 94 c1             	sete   %cl