40a4cf:	8b c6                	mov    %esi,%eax
40a4d1:	e8 02 22 00 00       	call   0x40c6d8
40a4d6:	8b f0                	mov    %eax,%esi
40a4d8:	eb 7c                	jmp    0x40a556
40a4da:	33 c0                	xor    %eax,%eax
40a4dc:	8a 06                	mov    (%esi),%al
40a4de:	83 f8 48             	cmp    $0x48,%eax
40a4e1:	7f 13                	jg     0x40a4f6
40a4e3:	74 7b                	je     0x40a560
40a4e5:	83 e8 22             	sub    $0x22,%eax
40a4e8:	74 63                	je     0x40a54d
40a4ea:	83 e8 05             	sub    $0x5,%eax
40a4ed:	74 5e                	je     0x40a54d
40a4ef:	83 e8 1a             	sub    $0x1a,%eax
40a4f2:	74 0e                	je     0x40a502
40a4f4:	eb 5f                	jmp    0x40a555
40a4f6:	83 e8 61             	sub    $0x61,%eax
40a4f9:	74 07                	je     0x40a502
40a4fb:	83 e8 07             	sub    $0x7,%eax
40a4fe:	74 60                	je     0x40a560
40a500:	eb 53                	jmp    0x40a555
40a502:	80 7d e1 00          	cmpb   $0x0,-0x1f(%ebp)
40a506:	75 4d                	jne    0x40a555
40a508:	ba 20 a9 40 00       	mov    $0x40a920,%edx
40a50d:	b9 05 00 00 00       	mov    $0x5,%ecx
40a512:	8b c6                	mov    %esi,%eax
40a514:	e8 47 e5 ff ff       	call   0x408a60
40a519:	85 c0                	test   %eax,%eax
40a51b:	74 2a                	je     0x40a547
40a51d:	ba 28 a9 40 00       	mov    $0x40a928,%edx
40a522:	b9 03 00 00 00       	mov    $0x3,%ecx
40a527:	8b c6                	mov    %esi,%eax
40a529:	e8 32 e5 ff ff       	call   0x408a60
40a52e:	85 c0                	test   %eax,%eax
40a530:	74 15                	je     0x40a547
40a532:	ba 2c a9 40 00       	mov    $0x40a92c,%edx
40a537:	b9 04 00 00 00       	mov    $0x4,%ecx
40a53c:	8b c6                	mov    %esi,%eax
40a53e:	e8 1d e5 ff ff       	call   0x408a60
40a543:	85 c0                	test   %eax,%eax
40a545:	75 19                	jne    0x40a560
40a547:	c6 45 e2 01          	movb   $0x1,-0x1e(%ebp)
40a54b:	eb 13                	jmp    0x40a560
40a54d:	8a 45 e1             	mov    -0x1f(%ebp),%al
40a550:	34 01                	xor    $0x1,%al
40a552:	88 45 e1             	mov    %al,-0x1f(%ebp)
40a555:	46                   	inc    %esi
40a556:	8a 06                	mov    (%esi),%al
40a558:	84 c0                	test   %al,%al
40a55a:	0f 85 61 ff ff ff    	jne    0x40a4c1
40a560:	66 8b 45 ea          	mov    -0x16(%ebp),%ax
40a564:	80 7d e2 00          	cmpb   $0x0,-0x1e(%ebp)
40a568:	74 15                	je     0x40a57f
40a56a:	66 85 c0             	test   %ax,%ax
40a56d:	75 06                	jne    0x40a575
40a56f:	66 b8 0c 00          	mov    $0xc,%ax
40a573:	eb 0a                	jmp    0x40a57f
40a575:	66 83 f8 0c          	cmp    $0xc,%ax
40a579:	76 04                	jbe    0x40a57f
40a57b:	66 83 e8 0c          	sub    $0xc,%ax
40a57f:	83 7d f4 02          	cmpl   $0x2,-0xc(%ebp)
40a583:	7e 07                	jle    0x40a58c
40a585:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
40a58c:	8b 55 08             	mov    0x8(%ebp),%edx
40a58f:	52                   	push   %edx
40a590:	0f b7 c0             	movzwl %ax,%eax
40a593:	8b 55 f4             	mov    -0xc(%ebp),%edx
40a596:	e8 95 f8 ff ff       	call   0x409e30
40a59b:	59                   	pop    %ecx
40a59c:	e9 3f 03 00 00       	jmp    0x40a8e0
40a5a1:	55                   	push   %ebp
40a5a2:	e8 d5 f8 ff ff       	call   0x409e7c
40a5a7:	59                   	pop    %ecx
40a5a8:	55                   	push   %ebp
40a5a9:	e8 32 f9 ff ff       	call   0x409ee0
40a5ae:	59                   	pop    %ecx
40a5af:	83 7d f4 02          	cmpl   $0x2,-0xc(%ebp)
40a5b3:	7e 07                	jle    0x40a5bc
40a5b5:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
40a5bc:	8b 45 08             	mov    0x8(%ebp),%eax
40a5bf:	50                   	push   %eax
40a5c0:	0f b7 45 e8          	movzwl -0x18(%ebp),%eax
40a5c4:	8b 55 f4             	mov    -0xc(%ebp),%edx
40a5c7:	e8 64 f8 ff ff       	call   0x409e30
40a5cc:	59                   	pop    %ecx
40a5cd:	e9 0e 03 00 00       	jmp    0x40a8e0
40a5d2:	55                   	push   %ebp
40a5d3:	e8 a4 f8 ff ff       	call   0x409e7c
40a5d8:	59                   	pop    %ecx
40a5d9:	55                   	push   %ebp
40a5da:	e8 01 f9 ff ff       	call   0x409ee0
40a5df:	59                   	pop    %ecx
40a5e0:	83 7d f4 02          	cmpl   $0x2,-0xc(%ebp)
40a5e4:	7e 07                	jle    0x40a5ed
40a5e6:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
40a5ed:	8b 45 08             	mov    0x8(%ebp),%eax
40a5f0:	50                   	push   %eax
40a5f1:	0f b7 45 e6          	movzwl -0x1a(%ebp),%eax
40a5f5:	8b 55 f4             	mov    -0xc(%ebp),%edx
40a5f8:	e8 33 f8 ff ff       	call   0x409e30
40a5fd:	59                   	pop    %ecx
40a5fe:	e9 dd 02 00 00       	jmp    0x40a8e0
40a603:	55                   	push   %ebp
40a604:	e8 73 f8 ff ff       	call   0x409e7c
40a609:	59                   	pop    %ecx
40a60a:	83 7d f4 01          	cmpl   $0x1,-0xc(%ebp)
40a60e:	75 14                	jne    0x40a624
40a610:	8b 45 08             	mov    0x8(%ebp),%eax
40a613:	50                   	push   %eax
40a614:	a1 a0 56 47 00       	mov    0x4756a0,%eax
40a619:	e8 72 fb ff ff       	call   0x40a190
40a61e:	59                   	pop    %ecx
40a61f:	e9 bc 02 00 00       	jmp    0x40a8e0
40a624:	8b 45 08             	mov    0x8(%ebp),%eax
40a627:	50                   	push   %eax
40a628:	a1 a4 56 47 00       	mov    0x4756a4,%eax
40a62d:	e8 5e fb ff ff       	call   0x40a190
40a632:	59                   	pop    %ecx
40a633:	e9 a8 02 00 00       	jmp    0x40a8e0
40a638:	55                   	push   %ebp
40a639:	e8 3e f8 ff ff       	call   0x409e7c
40a63e:	59                   	pop    %ecx
40a63f:	55                   	push   %ebp
40a640:	e8 9b f8 ff ff       	call   0x409ee0
40a645:	59                   	pop    %ecx
40a646:	83 7d f4 03          	cmpl   $0x3,-0xc(%ebp)
40a64a:	7e 07                	jle    0x40a653
40a64c:	c7 45 f4 03 00 00 00 	movl   $0x3,-0xc(%ebp)
40a653:	8b 45 08             	mov    0x8(%ebp),%eax
40a656:	50                   	push   %eax
40a657:	0f b7 45 e4          	movzwl -0x1c(%ebp),%eax
40a65b:	8b 55 f4             	mov    -0xc(%ebp),%edx
40a65e:	e8 cd f7 ff ff       	call   0x409e30
40a663:	59                   	pop    %ecx
40a664:	e9 77 02 00 00       	jmp    0x40a8e0
40a669:	55                   	push   %ebp
40a66a:	e8 71 f8 ff ff       	call   0x409ee0
40a66f:	59                   	pop    %ecx
40a670:	8b 75 fc             	mov    -0x4(%ebp),%esi
40a673:	4e                   	dec    %esi
40a674:	ba 20 a9 40 00       	mov    $0x40a920,%edx
40a679:	b9 05 00 00 00       	mov    $0x5,%ecx
40a67e:	8b c6                	mov    %esi,%eax
40a680:	e8 db e3 ff ff       	call   0x408a60
40a685:	85 c0                	test   %eax,%eax
40a687:	75 28                	jne    0x40a6b1
40a689:	66 83 7d ea 0c       	cmpw   $0xc,-0x16(%ebp)
40a68e:	72 03                	jb     0x40a693
40a690:	83 c6 03             	add    $0x3,%esi
40a693:	8b 45 08             	mov    0x8(%ebp),%eax
40a696:	50                   	push   %eax
40a697:	ba 02 00 00 00       	mov    $0x2,%edx
40a69c:	8b c6                	mov    %esi,%eax
40a69e:	e8 29 f7 ff ff       	call   0x409dcc
40a6a3:	59                   	pop    %ecx
40a6a4:	83 45 fc 04          	addl   $0x4,-0x4(%ebp)
40a6a8:	c6 45 e2 01          	movb   $0x1,-0x1e(%ebp)
40a6ac:	e9 2f 02 00 00       	jmp    0x40a8e0
40a6b1:	ba 28 a9 40 00       	mov    $0x40a928,%edx
40a6b6:	b9 03 00 00 00       	mov    $0x3,%ecx
40a6bb:	8b c6                	mov    %esi,%eax
40a6bd:	e8 9e e3 ff ff       	call   0x408a60
40a6c2:	85 c0                	test   %eax,%eax
40a6c4:	75 28                	jne    0x40a6ee
40a6c6:	66 83 7d ea 0c       	cmpw   $0xc,-0x16(%ebp)
40a6cb:	72 03                	jb     0x40a6d0
40a6cd:	83 c6 02             	add    $0x2,%esi
40a6d0:	8b 45 08             	mov    0x8(%ebp),%eax
40a6d3:	50                   	push   %eax
40a6d4:	ba 01 00 00 00       	mov    $0x1,%edx
40a6d9:	8b c6                	mov    %esi,%eax
40a6db:	e8 ec f6 ff ff       	call   0x409dcc
40a6e0:	59                   	pop    %ecx
40a6e1:	83 45 fc 02          	addl   $0x2,-0x4(%ebp)
40a6e5:	c6 45 e2 01          	movb   $0x1,-0x1e(%ebp)
40a6e9:	e9 f2 01 00 00       	jmp    0x40a8e0
40a6ee:	ba 2c a9 40 00       	mov    $0x40a92c,%edx
40a6f3:	b9 04 00 00 00       	mov    $0x4,%ecx
40a6f8:	8b c6                	mov    %esi,%eax
40a6fa:	e8 61 e3 ff ff       	call   0x408a60
40a6ff:	85 c0                	test   %eax,%eax
40a701:	75 34                	jne    0x40a737
40a703:	66 83 7d ea 0c       	cmpw   $0xc,-0x16(%ebp)
40a708:	73 11                	jae    0x40a71b
40a70a:	8b 45 08             	mov    0x8(%ebp),%eax
40a70d:	50                   	push   %eax
40a70e:	a1 98 56 47 00       	mov    0x475698,%eax
40a713:	e8 f8 f6 ff ff       	call   0x409e10
40a718:	59                   	pop    %ecx
40a719:	eb 0f                	jmp    0x40a72a
40a71b:	8b 45 08             	mov    0x8(%ebp),%eax
40a71e:	50                   	push   %eax
40a71f:	a1 9c 56 47 00       	mov    0x47569c,%eax
40a724:	e8 e7 f6 ff ff       	call   0x409e10
40a729:	59                   	pop    %ecx
40a72a:	83 45 fc 03          	addl   $0x3,-0x4(%ebp)
40a72e:	c6 45 e2 01          	movb   $0x1,-0x1e(%ebp)
40a732:	e9 a9 01 00 00       	jmp    0x40a8e0
40a737:	ba 34 a9 40 00       	mov    $0x40a934,%edx
40a73c:	b9 04 00 00 00       	mov    $0x4,%ecx
40a741:	8b c6                	mov    %esi,%eax
40a743:	e8 18 e3 ff ff       	call   0x408a60
40a748:	85 c0                	test   %eax,%eax
40a74a:	75 32                	jne    0x40a77e
40a74c:	55                   	push   %ebp
40a74d:	e8 56 f7 ff ff       	call   0x409ea8
40a752:	59                   	pop    %ecx
40a753:	8b 45 08             	mov    0x8(%ebp),%eax
40a756:	50                   	push   %eax
40a757:	8b 45 08             	mov    0x8(%ebp),%eax
40a75a:	ff 70 0c             	push   0xc(%eax)
40a75d:	ff 70 08             	push   0x8(%eax)
40a760:	e8 53 f5 ff ff       	call   0x409cb8
40a765:	0f b7 c0             	movzwl %ax,%eax
40a768:	8b 04 85 20 57 47 00 	mov    0x475720(,%eax,4),%eax
40a76f:	e8 9c f6 ff ff       	call   0x409e10
40a774:	59                   	pop    %ecx
40a775:	83 45 fc 03          	addl   $0x3,-0x4(%ebp)
40a779:	e9 62 01 00 00       	jmp    0x40a8e0
40a77e:	ba 3c a9 40 00       	mov    $0x40a93c,%edx
40a783:	b9 03 00 00 00       	mov    $0x3,%ecx
40a788:	8b c6                	mov    %esi,%eax
40a78a:	e8 d1 e2 ff ff       	call   0x408a60
40a78f:	85 c0                	test   %eax,%eax
40a791:	75 32                	jne    0x40a7c5
40a793:	55                   	push   %ebp
40a794:	e8 0f f7 ff ff       	call   0x409ea8
40a799:	59                   	pop    %ecx
40a79a:	8b 45 08             	mov    0x8(%ebp),%eax
40a79d:	50                   	push   %eax
40a79e:	8b 45 08             	mov    0x8(%ebp),%eax
40a7a1:	ff 70 0c             	push   0xc(%eax)
40a7a4:	ff 70 08             	push   0x8(%eax)
40a7a7:	e8 0c f5 ff ff       	call   0x409cb8
40a7ac:	0f b7 c0             	movzwl %ax,%eax
40a7af:	8b 04 85 04 57 47 00 	mov    0x475704(,%eax,4),%eax
40a7b6:	e8 55 f6 ff ff       	call   0x409e10
40a7bb:	59                   	pop    %ecx
40a7bc:	83 45 fc 02          	addl   $0x2,-0x4(%ebp)
40a7c0:	e9 1b 01 00 00       	jmp    0x40a8e0
40a7c5:	8b 45 08             	mov    0x8(%ebp),%eax
40a7c8:	50                   	push   %eax
40a7c9:	8d 45 fb             	lea    -0x5(%ebp),%eax
40a7cc:	ba 01 00 00 00       	mov    $0x1,%edx
40a7d1:	e8 f6 f5 ff ff       	call   0x409dcc
40a7d6:	59                   	pop    %ecx
40a7d7:	e9 04 01 00 00       	jmp    0x40a8e0
40a7dc:	55                   	push   %ebp
40a7dd:	e8 9a f6 ff ff       	call   0x409e7c
40a7e2:	59                   	pop    %ecx
40a7e3:	8b 45 08             	mov    0x8(%ebp),%eax
40a7e6:	50                   	push   %eax
40a7e7:	a1 8c 56 47 00       	mov    0x47568c,%eax
40a7ec:	e8 9f f9 ff ff       	call   0x40a190
40a7f1:	59                   	pop    %ecx
40a7f2:	55                   	push   %ebp
40a7f3:	e8 e8 f6 ff ff       	call   0x409ee0
40a7f8:	59                   	pop    %ecx
40a7f9:	66 83 7d ea 00       	cmpw   $0x0,-0x16(%ebp)
40a7fe:	75 12                	jne    0x40a812
40a800:	66 83 7d e8 00       	cmpw   $0x0,-0x18(%ebp)
40a805:	75 0b                	jne    0x40a812
40a807:	66 83 7d e6 00       	cmpw   $0x0,-0x1a(%ebp)
40a80c:	0f 84 ce 00 00 00    	je     0x40a8e0
40a812:	8b 45 08             	mov    0x8(%ebp),%eax
40a815:	50                   	push   %eax
40a816:	b8 40 a9 40 00       	mov    $0x40a940,%eax
40a81b:	ba 01 00 00 00       	mov    $0x1,%edx
40a820:	e8 a7 f5 ff ff       	call   0x409dcc
40a825:	59                   	pop    %ecx
40a826:	8b 45 08             	mov    0x8(%ebp),%eax
40a829:	50                   	push   %eax
40a82a:	a1 a4 56 47 00       	mov    0x4756a4,%eax
40a82f:	e8 5c f9 ff ff       	call   0x40a190
40a834:	59                   	pop    %ecx
40a835:	e9 a6 00 00 00       	jmp    0x40a8e0
40a83a:	80 3d 89 56 47 00 00 	cmpb   $0x0,0x475689
40a841:	0f 84 99 00 00 00    	je     0x40a8e0
40a847:	8b 45 08             	mov    0x8(%ebp),%eax
40a84a:	50                   	push   %eax
40a84b:	b8 89 56 47 00       	mov    $0x475689,%eax
40a850:	ba 01 00 00 00       	mov    $0x1,%edx
40a855:	e8 72 f5 ff ff       	call   0x409dcc
40a85a:	59                   	pop    %ecx
40a85b:	e9 80 00 00 00       	jmp    0x40a8e0
40a860:	80 3d 94 56 47 00 00 	cmpb   $0x0,0x475694
40a867:	74 77                	je     0x40a8e0
40a869:	8b 45 08             	mov    0x8(%ebp),%eax
40a86c:	50                   	push   %eax
40a86d:	b8 94 56 47 00       	mov    $0x475694,%eax
40a872:	ba 01 00 00 00       	mov    $0x1,%edx
40a877:	e8 50 f5 ff ff       	call   0x409dcc
40a87c:	59                   	pop    %ecx
40a87d:	eb 61                	jmp    0x40a8e0
40a87f:	8b 75 fc             	mov    -0x4(%ebp),%esi
40a882:	eb 1e                	jmp    0x40a8a2
40a884:	25 ff 00 00 00       	and    $0xff,%eax
40a889:	0f a3 05 0c 91 46 00 	bt     %eax,0x46910c
40a890:	73 0d                	jae    0x40a89f
40a892:	8b 45 fc             	mov    -0x4(%ebp),%eax
40a895:	e8 3e 1e 00 00       	call   0x40c6d8
40a89a:	89 45 fc             	mov    %eax,-0x4(%ebp)
40a89d:	eb 03                	jmp    0x40a8a2
40a89f:	ff 45 fc             	incl   -0x4(%ebp)
40a8a2:	8b 45 fc             	mov    -0x4(%ebp),%eax
40a8a5:	8a 00                	mov    (%eax),%al
40a8a7:	84 c0                	test   %al,%al
40a8a9:	74 05                	je     0x40a8b0
40a8ab:	3a 45 fb             	cmp    -0x5(%ebp),%al
40a8ae:	75 d4                	jne    0x40a884
40a8b0:	8b 45 08             	mov    0x8(%ebp),%eax
40a8b3:	50                   	push   %eax
40a8b4:	8b 55 fc             	mov    -0x4(%ebp),%edx
40a8b7:	2b d6                	sub    %esi,%edx
40a8b9:	8b c6                	mov    %esi,%eax
40a8bb:	e8 0c f5 ff ff       	call   0x409dcc
40a8c0:	59                   	pop    %ecx
40a8c1:	8b 45 fc             	mov    -0x4(%ebp),%eax
40a8c4:	80 38 00             	cmpb   $0x0,(%eax)
40a8c7:	74 17                	je     0x40a8e0
40a8c9:	ff 45 fc             	incl   -0x4(%ebp)
40a8cc:	eb 12                	jmp    0x40a8e0
40a8ce:	8b 45 08             	mov    0x8(%ebp),%eax
40a8d1:	50                   	push   %eax
40a8d2:	8d 45 fb             	lea    -0x5(%ebp),%eax
40a8d5:	ba 01 00 00 00       	mov    $0x1,%edx
40a8da:	e8 ed f4 ff ff       	call   0x409dcc
40a8df:	59                   	pop    %ecx
40a8e0:	8b 45 fc             	mov    -0x4(%ebp),%eax
40a8e3:	8a 00                	mov    (%eax),%al
40a8e5:	84 c0                	test   %al,%al
40a8e7:	0f 85 fa f8 ff ff    	jne    0x40a1e7
40a8ed:	8b 45 08             	mov    0x8(%ebp),%eax
40a8f0:	ff 88 f8 fe ff ff    	decl   -0x108(%eax)
40a8f6:	33 c0                	xor    %eax,%eax
40a8f8:	5a                   	pop    %edx
40a8f9:	59                   	pop    %ecx
40a8fa:	59                   	pop    %ecx
40a8fb:	64 89 10             	mov    %edx,%fs:(%eax)
40a8fe:	68 18 a9 40 00       	push   $0x40a918
40a903:	8d 45 d8             	lea    -0x28(%ebp),%eax
40a906:	ba 02 00 00 00       	mov    $0x2,%edx
40a90b:	e8 64 97 ff ff       	call   0x404074
40a910:	c3                   	ret
40a911:	e9 3e 91 ff ff       	jmp    0x403a54
40a916:	eb eb                	jmp    0x40a903
40a918:	5e                   	pop    %esi
40a919:	5b                   	pop    %ebx
40a91a:	8b e5                	mov    %ebp,%esp
40a91c:	5d                   	pop    %ebp