41c62b:	55                   	push   %ebp
41c62c:	8b ec                	mov    %esp,%ebp
41c62e:	51                   	push   %ecx
41c62f:	53                   	push   %ebx
41c630:	83 c1 e8             	add    $0xffffffe8,%ecx
41c633:	56                   	push   %esi
41c634:	8b 31                	mov    (%ecx),%esi
41c636:	57                   	push   %edi
41c637:	33 ff                	xor    %edi,%edi
41c639:	4e                   	dec    %esi
41c63a:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41c63d:	78 3e                	js     0x41c67d
41c63f:	8d 04 3e             	lea    (%esi,%edi,1),%eax
41c642:	99                   	cltd
41c643:	2b c2                	sub    %edx,%eax
41c645:	8b d8                	mov    %eax,%ebx
41c647:	d1 fb                	sar    $1,%ebx
41c649:	53                   	push   %ebx
41c64a:	e8 b1 81 ff ff       	call   0x414800
41c64f:	ff 30                	push   (%eax)
41c651:	ff 75 08             	push   0x8(%ebp)
41c654:	e8 8a 4f 00 00       	call   0x4215e3
41c659:	59                   	pop    %ecx
41c65a:	59                   	pop    %ecx
41c65b:	85 c0                	test   %eax,%eax
41c65d:	78 19                	js     0x41c678
41c65f:	7e 0a                	jle    0x41c66b
41c661:	8d 7b 01             	lea    0x1(%ebx),%edi
41c664:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41c667:	3b fe                	cmp    %esi,%edi
41c669:	7e d4                	jle    0x41c63f
41c66b:	3b fe                	cmp    %esi,%edi
41c66d:	7f 0e                	jg     0x41c67d
41c66f:	8b c3                	mov    %ebx,%eax
41c671:	5f                   	pop    %edi
41c672:	5e                   	pop    %esi
41c673:	5b                   	pop    %ebx
41c674:	c9                   	leave
41c675:	c2 04 00             	ret    $0x4
41c678:	8d 73 ff             	lea    -0x1(%ebx),%esi
41c67b:	eb e7                	jmp    0x41c664
41c67d:	83 c8 ff             	or     $0xffffffff,%eax
41c680:	eb ef                	jmp    0x41c671
41c682:	55                   	push   %ebp
41c683:	8b ec                	mov    %esp,%ebp
41c685:	56                   	push   %esi
41c686:	57                   	push   %edi
41c687:	8b f1                	mov    %ecx,%esi
41c689:	33 ff                	xor    %edi,%edi
41c68b:	39 7e 08             	cmp    %edi,0x8(%esi)
41c68e:	74 55                	je     0x41c6e5
41c690:	8b 46 0c             	mov    0xc(%esi),%eax
41c693:	8b 00                	mov    (%eax),%eax
41c695:	66 39 38             	cmp    %di,(%eax)
41c698:	74 3f                	je     0x41c6d9
41c69a:	6a 10                	push   $0x10
41c69c:	e8 49 2e 00 00       	call   0x41f4ea
41c6a1:	59                   	pop    %ecx
41c6a2:	8b 4e 0c             	mov    0xc(%esi),%ecx
41c6a5:	89 41 0c             	mov    %eax,0xc(%ecx)
41c6a8:	89 46 0c             	mov    %eax,0xc(%esi)
41c6ab:	8b 46 0c             	mov    0xc(%esi),%eax
41c6ae:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41c6b1:	89 78 0c             	mov    %edi,0xc(%eax)
41c6b4:	e8 3b 00 00 00       	call   0x41c6f4
41c6b9:	8b 4e 0c             	mov    0xc(%esi),%ecx
41c6bc:	5f                   	pop    %edi
41c6bd:	89 01                	mov    %eax,(%ecx)
41c6bf:	8b 4e 0c             	mov    0xc(%esi),%ecx
41c6c2:	8b 45 08             	mov    0x8(%ebp),%eax
41c6c5:	89 41 04             	mov    %eax,0x4(%ecx)
41c6c8:	8b 4e 0c             	mov    0xc(%esi),%ecx
41c6cb:	8b 45 10             	mov    0x10(%ebp),%eax
41c6ce:	89 41 08             	mov    %eax,0x8(%ecx)
41c6d1:	ff 46 10             	incl   0x10(%esi)
41c6d4:	5e                   	pop    %esi
41c6d5:	5d                   	pop    %ebp
41c6d6:	c2 0c 00             	ret    $0xc
41c6d9:	50                   	push   %eax
41c6da:	e8 7f 2e 00 00       	call   0x41f55e
41c6df:	ff 4e 10             	decl   0x10(%esi)
41c6e2:	59                   	pop    %ecx
41c6e3:	eb c6                	jmp    0x41c6ab
41c6e5:	6a 10                	push   $0x10
41c6e7:	e8 fe 2d 00 00       	call   0x41f4ea
41c6ec:	89 46 08             	mov    %eax,0x8(%esi)
41c6ef:	89 46 0c             	mov    %eax,0xc(%esi)
41c6f2:	eb ee                	jmp    0x41c6e2
41c6f4:	56                   	push   %esi
41c6f5:	57                   	push   %edi
41c6f6:	8b f9                	mov    %ecx,%edi
41c6f8:	57                   	push   %edi
41c6f9:	e8 dd 45 00 00       	call   0x420cdb
41c6fe:	33 c9                	xor    %ecx,%ecx
41c700:	6a 02                	push   $0x2
41c702:	40                   	inc    %eax
41c703:	5a                   	pop    %edx
41c704:	f7 e2                	mul    %edx
41c706:	0f 90 c1             	seto   %cl
41c709:	f7 d9                	neg    %ecx
41c70b:	0b c8                	or     %eax,%ecx
41c70d:	51                   	push   %ecx
41c70e:	e8 d7 2d 00 00       	call   0x41f4ea
41c713:	8b f0                	mov    %eax,%esi
41c715:	57                   	push   %edi
41c716:	56                   	push   %esi
41c717:	e8 07 46 00 00       	call   0x420d23
41c71c:	83 c4 10             	add    $0x10,%esp
41c71f:	8b c6                	mov    %esi,%eax
41c721:	5f                   	pop    %edi
41c722:	5e                   	pop    %esi
41c723:	c3                   	ret
41c724:	83 79 0c 04          	cmpl   $0x4,0xc(%ecx)
41c728:	56                   	push   %esi
41c729:	75 27                	jne    0x41c752
41c72b:	8b 41 08             	mov    0x8(%ecx),%eax
41c72e:	68 b0 da 49 00       	push   $0x49dab0
41c733:	8b 30                	mov    (%eax),%esi
41c735:	56                   	push   %esi
41c736:	e8 cb 52 00 00       	call   0x421a06
41c73b:	59                   	pop    %ecx
41c73c:	59                   	pop    %ecx
41c73d:	85 c0                	test   %eax,%eax
41c73f:	75 15                	jne    0x41c756
41c741:	68 f0 ee 4a 00       	push   $0x4aeef0
41c746:	56                   	push   %esi
41c747:	e8 ba 52 00 00       	call   0x421a06
41c74c:	59                   	pop    %ecx
41c74d:	59                   	pop    %ecx
41c74e:	85 c0                	test   %eax,%eax
41c750:	75 04                	jne    0x41c756
41c752:	32 c0                	xor    %al,%al
41c754:	5e                   	pop    %esi
41c755:	c3                   	ret
41c756:	b0 01                	mov    $0x1,%al
41c758:	5e                   	pop    %esi
41c759:	c3                   	ret
41c75a:	55                   	push   %ebp
41c75b:	8b ec                	mov    %esp,%ebp
41c75d:	51                   	push   %ecx
41c75e:	53                   	push   %ebx
41c75f:	33 db                	xor    %ebx,%ebx
41c761:	56                   	push   %esi
41c762:	33 c0                	xor    %eax,%eax
41c764:	40                   	inc    %eax
41c765:	57                   	push   %edi
41c766:	83 cf ff             	or     $0xffffffff,%edi
41c769:	b9 68 16 4c 00       	mov    $0x4c1668,%ecx
41c76e:	a2 28 16 4c 00       	mov    %al,0x4c1628
41c773:	a3 2c 16 4c 00       	mov    %eax,0x4c162c
41c778:	89 1d 30 16 4c 00    	mov    %ebx,0x4c1630
41c77e:	88 1d 34 16 4c 00    	mov    %bl,0x4c1634
41c784:	89 1d 38 16 4c 00    	mov    %ebx,0x4c1638
41c78a:	a3 40 16 4c 00       	mov    %eax,0x4c1640
41c78f:	c7 05 44 16 4c 00 02 	movl   $0x2,0x4c1644
41c796:	00 00 00
41c799:	89 1d 48 16 4c 00    	mov    %ebx,0x4c1648
41c79f:	89 1d 4c 16 4c 00    	mov    %ebx,0x4c164c
41c7a5:	89 3d 50 16 4c 00    	mov    %edi,0x4c1650
41c7ab:	89 1d 54 16 4c 00    	mov    %ebx,0x4c1654
41c7b1:	89 1d 58 16 4c 00    	mov    %ebx,0x4c1658
41c7b7:	89 1d 5c 16 4c 00    	mov    %ebx,0x4c165c
41c7bd:	88 1d 60 16 4c 00    	mov    %bl,0x4c1660
41c7c3:	e8 2f 10 ff ff       	call   0x40d7f7
41c7c8:	6a 03                	push   $0x3
41c7ca:	5e                   	pop    %esi
41c7cb:	6a 7c                	push   $0x7c
41c7cd:	58                   	pop    %eax
41c7ce:	66 a3 3c 16 4c 00    	mov    %ax,0x4c163c
41c7d4:	33 c0                	xor    %eax,%eax
41c7d6:	c7 05 84 16 4c 00 c4 	movl   $0x4b26c4,0x4c1684
41c7dd:	26 4b 00
41c7e0:	89 1d 88 16 4c 00    	mov    %ebx,0x4c1688
41c7e6:	89 1d 8c 16 4c 00    	mov    %ebx,0x4c168c
41c7ec:	89 1d 90 16 4c 00    	mov    %ebx,0x4c1690
41c7f2:	89 3d 94 16 4c 00    	mov    %edi,0x4c1694
41c7f8:	c7 05 98 16 4c 00 4c 	movl   $0x49dc4c,0x4c1698
41c7ff:	dc 49 00
41c802:	89 1d 9c 16 4c 00    	mov    %ebx,0x4c169c
41c808:	89 1d a0 16 4c 00    	mov    %ebx,0x4c16a0
41c80e:	89 1d a4 16 4c 00    	mov    %ebx,0x4c16a4
41c814:	89 35 a8 16 4c 00    	mov    %esi,0x4c16a8
41c81a:	c7 05 ac 16 4c 00 02 	movl   $0x2,0x4c16ac
41c821:	00 00 00
41c824:	89 1d b0 16 4c 00    	mov    %ebx,0x4c16b0
41c82a:	89 1d b4 16 4c 00    	mov    %ebx,0x4c16b4
41c830:	89 1d b8 16 4c 00    	mov    %ebx,0x4c16b8
41c836:	89 3d bc 16 4c 00    	mov    %edi,0x4c16bc
41c83c:	89 3d c0 16 4c 00    	mov    %edi,0x4c16c0
41c842:	89 1d f4 16 4c 00    	mov    %ebx,0x4c16f4
41c848:	89 1d f8 16 4c 00    	mov    %ebx,0x4c16f8
41c84e:	89 1d fc 16 4c 00    	mov    %ebx,0x4c16fc
41c854:	89 3d 00 17 4c 00    	mov    %edi,0x4c1700
41c85a:	66 a3 3e 16 4c 00    	mov    %ax,0x4c163e
41c860:	e8 07 0a 00 00       	call   0x41d26c
41c865:	84 c0                	test   %al,%al
41c867:	0f 85 56 04 06 00    	jne    0x47ccc3
41c86d:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41c870:	8d 45 fc             	lea    -0x4(%ebp),%eax
41c873:	50                   	push   %eax
41c874:	b9 98 16 4c 00       	mov    $0x4c1698,%ecx
41c879:	e8 7c 09 00 00       	call   0x41d1fa
41c87e:	4e                   	dec    %esi
41c87f:	75 ef                	jne    0x41c870
41c881:	5f                   	pop    %edi
41c882:	5e                   	pop    %esi
41c883:	b8 28 16 4c 00       	mov    $0x4c1628,%eax
41c888:	5b                   	pop    %ebx
41c889:	c9                   	leave
41c88a:	c3                   	ret
41c88b:	55                   	push   %ebp
41c88c:	8b ec                	mov    %esp,%ebp
41c88e:	ff 75 0c             	push   0xc(%ebp)
41c891:	ff 75 08             	push   0x8(%ebp)
41c894:	6a 1b                	push   $0x1b
41c896:	e8 04 00 00 00       	call   0x41c89f
41c89b:	5d                   	pop    %ebp
41c89c:	c2 08 00             	ret    $0x8
41c89f:	55                   	push   %ebp
41c8a0:	8b ec                	mov    %esp,%ebp
41c8a2:	83 e4 f8             	and    $0xfffffff8,%esp
41c8a5:	83 ec 4c             	sub    $0x4c,%esp
41c8a8:	8b 45 08             	mov    0x8(%ebp),%eax
41c8ab:	53                   	push   %ebx
41c8ac:	89 4c 24 24          	mov    %ecx,0x24(%esp)
41c8b0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41c8b3:	56                   	push   %esi
41c8b4:	8b 71 08             	mov    0x8(%ecx),%esi
41c8b7:	33 db                	xor    %ebx,%ebx
41c8b9:	21 5c 24 10          	and    %ebx,0x10(%esp)
41c8bd:	21 5c 24 34          	and    %ebx,0x34(%esp)
41c8c1:	33 d2                	xor    %edx,%edx
41c8c3:	57                   	push   %edi
41c8c4:	89 74 24 10          	mov    %esi,0x10(%esp)
41c8c8:	83 ce ff             	or     $0xffffffff,%esi
41c8cb:	42                   	inc    %edx
41c8cc:	33 ff                	xor    %edi,%edi
41c8ce:	89 74 24 20          	mov    %esi,0x20(%esp)
41c8d2:	89 74 24 28          	mov    %esi,0x28(%esp)
41c8d6:	89 74 24 24          	mov    %esi,0x24(%esp)
41c8da:	89 74 24 1c          	mov    %esi,0x1c(%esp)
41c8de:	89 74 24 18          	mov    %esi,0x18(%esp)
41c8e2:	89 74 24 30          	mov    %esi,0x30(%esp)
41c8e6:	89 54 24 3c          	mov    %edx,0x3c(%esp)
41c8ea:	83 f8 15             	cmp    $0x15,%eax
41c8ed:	0f 84 13 99 05 00    	je     0x476206
41c8f3:	83 f8 1d             	cmp    $0x1d,%eax
41c8f6:	77 16                	ja     0x41c90e
41c8f8:	0f b6 80 63 ca 41 00 	movzbl 0x41ca63(%eax),%eax
41c8ff:	ff 24 85 2f ca 41 00 	jmp    *0x41ca2f(,%eax,4)
41c906:	83 cf 05             	or     $0x5,%edi
41c909:	83 cf 04             	or     $0x4,%edi
41c90c:	8b de                	mov    %esi,%ebx
41c90e:	8b 44 24 10          	mov    0x10(%esp),%eax
41c912:	8d 53 06             	lea    0x6(%ebx),%edx
41c915:	3b c2                	cmp    %edx,%eax
41c917:	0f 87 a4 99 05 00    	ja     0x4762c1
41c91d:	8d 53 05             	lea    0x5(%ebx),%edx
41c920:	3b c2                	cmp    %edx,%eax
41c922:	0f 87 b1 99 05 00    	ja     0x4762d9
41c928:	8d 53 04             	lea    0x4(%ebx),%edx
41c92b:	3b c2                	cmp    %edx,%eax
41c92d:	76 16                	jbe    0x41c945
41c92f:	8b 45 0c             	mov    0xc(%ebp),%eax
41c932:	8b 48 04             	mov    0x4(%eax),%ecx
41c935:	8b 0c 91             	mov    (%ecx,%edx,4),%ecx
41c938:	e8 49 09 ff ff       	call   0x40d286
41c93d:	89 44 24 20          	mov    %eax,0x20(%esp)
41c941:	8b 44 24 10          	mov    0x10(%esp),%eax
41c945:	8d 53 03             	lea    0x3(%ebx),%edx
41c948:	3b c2                	cmp    %edx,%eax
41c94a:	76 14                	jbe    0x41c960
41c94c:	8b 45 0c             	mov    0xc(%ebp),%eax
41c94f:	8b 48 04             	mov    0x4(%eax),%ecx
41c952:	8b 0c 91             	mov    (%ecx,%edx,4),%ecx
41c955:	e8 2c 09 ff ff       	call   0x40d286
41c95a:	8b f0                	mov    %eax,%esi
41c95c:	8b 44 24 10          	mov    0x10(%esp),%eax
41c960:	8d 4b 02             	lea    0x2(%ebx),%ecx
41c963:	3b c1                	cmp    %ecx,%eax
41c965:	76 16                	jbe    0x41c97d
41c967:	8b 45 0c             	mov    0xc(%ebp),%eax
41c96a:	8b 40 04             	mov    0x4(%eax),%eax
41c96d:	8b 0c 88             	mov    (%eax,%ecx,4),%ecx
41c970:	e8 11 09 ff ff       	call   0x40d286
41c975:	89 44 24 24          	mov    %eax,0x24(%esp)
41c979:	8b 44 24 10          	mov    0x10(%esp),%eax
41c97d:	8d 4b 01             	lea    0x1(%ebx),%ecx
41c980:	3b c1                	cmp    %ecx,%eax
41c982:	76 13                	jbe    0x41c997
41c984:	8b 45 0c             	mov    0xc(%ebp),%eax
41c987:	8b 48 04             	mov    0x4(%eax),%ecx
41c98a:	8b 4c 99 04          	mov    0x4(%ecx,%ebx,4),%ecx
41c98e:	e8 f3 08 ff ff       	call   0x40d286
41c993:	89 44 24 28          	mov    %eax,0x28(%esp)
41c997:	83 ec 10             	sub    $0x10,%esp
41c99a:	8b cc                	mov    %esp,%ecx
41c99c:	8d 44 24 40          	lea    0x40(%esp),%eax
41c9a0:	83 61 08 00          	andl   $0x0,0x8(%ecx)
41c9a4:	50                   	push   %eax
41c9a5:	e8 76 4d ff ff       	call   0x411720
41c9aa:	8b 5c 24 24          	mov    0x24(%esp),%ebx
41c9ae:	57                   	push   %edi
41c9af:	ff 74 24 2c          	push   0x2c(%esp)
41c9b3:	ff 74 24 34          	push   0x34(%esp)
41c9b7:	ff 74 24 3c          	push   0x3c(%esp)
41c9bb:	56                   	push   %esi
41c9bc:	ff 74 24 48          	push   0x48(%esp)
41c9c0:	ff 74 24 50          	push   0x50(%esp)
41c9c4:	53                   	push   %ebx
41c9c5:	ff 75 08             	push   0x8(%ebp)
41c9c8:	e8 b4 00 00 00       	call   0x41ca81
41c9cd:	8b 7d 10             	mov    0x10(%ebp),%edi
41c9d0:	8b cf                	mov    %edi,%ecx
41c9d2:	8b f0                	mov    %eax,%esi
41c9d4:	e8 47 62 ff ff       	call   0x412c20
41c9d9:	8b cf                	mov    %edi,%ecx
41c9db:	c7 47 0c 01 00 00 00 	movl   $0x1,0xc(%edi)
41c9e2:	89 37                	mov    %esi,(%edi)
41c9e4:	e8 9d 08 ff ff       	call   0x40d286
41c9e9:	85 c0                	test   %eax,%eax
41c9eb:	0f 84 03 99 05 00    	je     0x4762f4
41c9f1:	83 7d 08 1d          	cmpl   $0x1d,0x8(%ebp)
41c9f5:	74 07                	je     0x41c9fe
41c9f7:	53                   	push   %ebx
41c9f8:	e8 61 2b 00 00       	call   0x41f55e
41c9fd:	59                   	pop    %ecx
41c9fe:	33 f6                	xor    %esi,%esi
41ca00:	8d 4c 24 30          	lea    0x30(%esp),%ecx
41ca04:	e8 17 62 ff ff       	call   0x412c20
41ca09:	5f                   	pop    %edi
41ca0a:	8b c6                	mov    %esi,%eax
41ca0c:	5e                   	pop    %esi
41ca0d:	5b                   	pop    %ebx
41ca0e:	8b e5                	mov    %ebp,%esp
41ca10:	5d                   	pop    %ebp
41ca11:	c2 0c 00             	ret    $0xc
41ca14:	6a 07                	push   $0x7
41ca16:	5f                   	pop    %edi
41ca17:	e9 2c 98 05 00       	jmp    0x476248
41ca1c:	6a 07                	push   $0x7
41ca1e:	5f                   	pop    %edi
41ca1f:	33 db                	xor    %ebx,%ebx
41ca21:	e9 e8 fe ff ff       	jmp    0x41c90e
41ca26:	6a 07                	push   $0x7
41ca28:	5f                   	pop    %edi
41ca29:	e9 d8 fe ff ff       	jmp    0x41c906
41ca2e:	90                   	nop
41ca2f:	45                   	inc    %ebp
41ca30:	62 47 00             	bound  %eax,0x0(%edi)