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
406717:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
40671a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40671d:	c3                   	ret
40671e:	8b 65 e8             	mov    -0x18(%ebp),%esp
406721:	e8 3c 08 00 00       	call   0x406f62
406726:	cc                   	int3
406727:	8b ff                	mov    %edi,%edi
406729:	55                   	push   %ebp
40672a:	8b ec                	mov    %esp,%ebp
40672c:	6a ff                	push   $0xffffffff
40672e:	68 16 ef 40 00       	push   $0x40ef16
406733:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
406739:	50                   	push   %eax
40673a:	83 ec 18             	sub    $0x18,%esp
40673d:	a1 14 60 41 00       	mov    0x416014,%eax
406742:	33 c5                	xor    %ebp,%eax
406744:	50                   	push   %eax
406745:	8d 45 f4             	lea    -0xc(%ebp),%eax
406748:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40674e:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
406752:	75 12                	jne    0x406766
406754:	e8 ae cb ff ff       	call   0x403307
406759:	84 c0                	test   %al,%al
40675b:	74 09                	je     0x406766
40675d:	ff 75 08             	push   0x8(%ebp)
406760:	e8 a3 00 00 00       	call   0x406808
406765:	59                   	pop    %ecx
406766:	8d 45 0c             	lea    0xc(%ebp),%eax
406769:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
40676d:	89 45 dc             	mov    %eax,-0x24(%ebp)
406770:	8d 45 10             	lea    0x10(%ebp),%eax
406773:	89 45 e0             	mov    %eax,-0x20(%ebp)
406776:	8d 45 f3             	lea    -0xd(%ebp),%eax
406779:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40677c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406780:	8d 4d f2             	lea    -0xe(%ebp),%ecx
406783:	6a 02                	push   $0x2
406785:	58                   	pop    %eax
406786:	89 45 ec             	mov    %eax,-0x14(%ebp)
406789:	89 45 e8             	mov    %eax,-0x18(%ebp)
40678c:	8d 45 ec             	lea    -0x14(%ebp),%eax
40678f:	50                   	push   %eax
406790:	8d 45 dc             	lea    -0x24(%ebp),%eax
406793:	50                   	push   %eax
406794:	8d 45 e8             	lea    -0x18(%ebp),%eax
406797:	50                   	push   %eax
406798:	e8 55 fe ff ff       	call   0x4065f2
40679d:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
4067a1:	74 0d                	je     0x4067b0
4067a3:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4067a6:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4067ad:	59                   	pop    %ecx
4067ae:	c9                   	leave
4067af:	c3                   	ret
4067b0:	ff 75 08             	push   0x8(%ebp)
4067b3:	e8 06 00 00 00       	call   0x4067be
4067b8:	cc                   	int3
4067b9:	cc                   	int3
4067ba:	cc                   	int3
4067bb:	cc                   	int3
4067bc:	cc                   	int3
4067bd:	cc                   	int3
4067be:	8b ff                	mov    %edi,%edi
4067c0:	55                   	push   %ebp
4067c1:	8b ec                	mov    %esp,%ebp
4067c3:	e8 27 00 00 00       	call   0x4067ef
4067c8:	84 c0                	test   %al,%al
4067ca:	74 10                	je     0x4067dc
4067cc:	ff 75 08             	push   0x8(%ebp)
4067cf:	ff 15 48 f0 40 00    	call   *0x40f048
4067d5:	50                   	push   %eax
4067d6:	ff 15 4c f0 40 00    	call   *0x40f04c
4067dc:	ff 75 08             	push   0x8(%ebp)
4067df:	e8 24 00 00 00       	call   0x406808
4067e4:	59                   	pop    %ecx
4067e5:	ff 75 08             	push   0x8(%ebp)
4067e8:	ff 15 98 f0 40 00    	call   *0x40f098
4067ee:	cc                   	int3
4067ef:	e8 b2 27 00 00       	call   0x408fa6
4067f4:	83 f8 01             	cmp    $0x1,%eax
4067f7:	74 0c                	je     0x406805
4067f9:	e8 83 27 00 00       	call   0x408f81
4067fe:	f6 d8                	neg    %al
406800:	1a c0                	sbb    %al,%al
406802:	fe c0                	inc    %al
406804:	c3                   	ret
406805:	32 c0                	xor    %al,%al
406807:	c3                   	ret
406808:	8b ff                	mov    %edi,%edi
40680a:	55                   	push   %ebp
40680b:	8b ec                	mov    %esp,%ebp
40680d:	6a ff                	push   $0xffffffff
40680f:	68 33 ef 40 00       	push   $0x40ef33
406814:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40681a:	50                   	push   %eax
40681b:	51                   	push   %ecx
40681c:	56                   	push   %esi
40681d:	a1 14 60 41 00       	mov    0x416014,%eax
406822:	33 c5                	xor    %ebp,%eax
406824:	50                   	push   %eax
406825:	8d 45 f4             	lea    -0xc(%ebp),%eax
406828:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40682e:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
406832:	8d 45 f0             	lea    -0x10(%ebp),%eax
406835:	50                   	push   %eax
406836:	68 64 fd 40 00       	push   $0x40fd64
40683b:	6a 00                	push   $0x0
40683d:	ff 15 9c f0 40 00    	call   *0x40f09c
406843:	85 c0                	test   %eax,%eax
406845:	74 21                	je     0x406868
406847:	68 7c fd 40 00       	push   $0x40fd7c
40684c:	ff 75 f0             	push   -0x10(%ebp)
40684f:	ff 15 88 f0 40 00    	call   *0x40f088
406855:	8b f0                	mov    %eax,%esi
406857:	85 f6                	test   %esi,%esi
406859:	74 0d                	je     0x406868
40685b:	ff 75 08             	push   0x8(%ebp)
40685e:	8b ce                	mov    %esi,%ecx
406860:	ff 15 18 f1 40 00    	call   *0x40f118
406866:	ff d6                	call   *%esi
406868:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
40686c:	74 09                	je     0x406877
40686e:	ff 75 f0             	push   -0x10(%ebp)
406871:	ff 15 84 f0 40 00    	call   *0x40f084
406877:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40687a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
406881:	59                   	pop    %ecx
406882:	5e                   	pop    %esi
406883:	c9                   	leave
406884:	c3                   	ret
406885:	cc                   	int3
406886:	cc                   	int3
406887:	cc                   	int3
406888:	cc                   	int3
406889:	cc                   	int3
40688a:	8b ff                	mov    %edi,%edi
40688c:	55                   	push   %ebp
40688d:	8b ec                	mov    %esp,%ebp
40688f:	8b 45 08             	mov    0x8(%ebp),%eax
406892:	a3 c0 6e 41 00       	mov    %eax,0x416ec0
406897:	5d                   	pop    %ebp
406898:	c3                   	ret
406899:	6a 01                	push   $0x1
40689b:	6a 02                	push   $0x2
40689d:	6a 00                	push   $0x0
40689f:	e8 83 fe ff ff       	call   0x406727
4068a4:	83 c4 0c             	add    $0xc,%esp
4068a7:	c3                   	ret
4068a8:	6a 01                	push   $0x1
4068aa:	6a 00                	push   $0x0
4068ac:	6a 00                	push   $0x0
4068ae:	e8 74 fe ff ff       	call   0x406727
4068b3:	83 c4 0c             	add    $0xc,%esp
4068b6:	c3                   	ret
4068b7:	8b ff                	mov    %edi,%edi
4068b9:	55                   	push   %ebp
4068ba:	8b ec                	mov    %esp,%ebp
4068bc:	6a 00                	push   $0x0
4068be:	6a 02                	push   $0x2
4068c0:	ff 75 08             	push   0x8(%ebp)
4068c3:	e8 5f fe ff ff       	call   0x406727
4068c8:	83 c4 0c             	add    $0xc,%esp
4068cb:	5d                   	pop    %ebp
4068cc:	c3                   	ret
4068cd:	8b ff                	mov    %edi,%edi
4068cf:	55                   	push   %ebp
4068d0:	8b ec                	mov    %esp,%ebp
4068d2:	a1 c0 6e 41 00       	mov    0x416ec0,%eax
4068d7:	3b 05 14 60 41 00    	cmp    0x416014,%eax
4068dd:	0f 85 7f 06 00 00    	jne    0x406f62
4068e3:	ff 75 08             	push   0x8(%ebp)
4068e6:	e8 c0 f6 ff ff       	call   0x405fab
4068eb:	59                   	pop    %ecx
4068ec:	a3 c0 6e 41 00       	mov    %eax,0x416ec0
4068f1:	5d                   	pop    %ebp