40e4d3:	03 c3                	add    %ebx,%eax
40e4d5:	3b 05 1c 0d 44 00    	cmp    0x440d1c,%eax
40e4db:	76 05                	jbe    0x40e4e2
40e4dd:	a3 1c 0d 44 00       	mov    %eax,0x440d1c
40e4e2:	ff 75 f0             	push   -0x10(%ebp)
40e4e5:	ff 15 1c a2 42 00    	call   *0x42a21c
40e4eb:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
40e4ef:	74 0d                	je     0x40e4fe
40e4f1:	57                   	push   %edi
40e4f2:	ff 75 f8             	push   -0x8(%ebp)
40e4f5:	e8 9e 35 00 00       	call   0x411a98
40e4fa:	85 c0                	test   %eax,%eax
40e4fc:	74 30                	je     0x40e52e
40e4fe:	80 3d 30 0d 44 00 00 	cmpb   $0x0,0x440d30
40e505:	74 12                	je     0x40e519
40e507:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
40e50b:	75 0c                	jne    0x40e519
40e50d:	c7 05 20 0d 44 00 58 	movl   $0x1b58,0x440d20
40e514:	1b 00 00
40e517:	eb 15                	jmp    0x40e52e
40e519:	33 c0                	xor    %eax,%eax
40e51b:	38 45 0c             	cmp    %al,0xc(%ebp)
40e51e:	0f 94 c0             	sete   %al
40e521:	48                   	dec    %eax
40e522:	25 e0 fc ff ff       	and    $0xfffffce0,%eax
40e527:	03 c3                	add    %ebx,%eax
40e529:	a3 20 0d 44 00       	mov    %eax,0x440d20
40e52e:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
40e532:	74 0d                	je     0x40e541
40e534:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
40e538:	74 07                	je     0x40e541
40e53a:	6a 01                	push   $0x1
40e53c:	ff 75 08             	push   0x8(%ebp)
40e53f:	ff d6                	call   *%esi
40e541:	5f                   	pop    %edi
40e542:	5e                   	pop    %esi
40e543:	5b                   	pop    %ebx
40e544:	c9                   	leave
40e545:	c2 08 00             	ret    $0x8
40e548:	56                   	push   %esi
40e549:	8b f1                	mov    %ecx,%esi
40e54b:	8d 8e 44 94 00 00    	lea    0x9444(%esi),%ecx
40e551:	e8 b9 40 00 00       	call   0x41260f
40e556:	8d 8e e8 93 00 00    	lea    0x93e8(%esi),%ecx
40e55c:	e8 ae 40 00 00       	call   0x41260f
40e561:	8d 8e 8c 93 00 00    	lea    0x938c(%esi),%ecx
40e567:	e8 a3 40 00 00       	call   0x41260f
40e56c:	8d 8e 30 93 00 00    	lea    0x9330(%esi),%ecx
40e572:	e8 98 40 00 00       	call   0x41260f
40e577:	8d 8e d4 92 00 00    	lea    0x92d4(%esi),%ecx
40e57d:	e8 8d 40 00 00       	call   0x41260f
40e582:	8b ce                	mov    %esi,%ecx
40e584:	5e                   	pop    %esi
40e585:	e9 84 b9 ff ff       	jmp    0x409f0e
40e58a:	80 3d e6 0c 44 00 00 	cmpb   $0x0,0x440ce6
40e591:	8b 44 24 0c          	mov    0xc(%esp),%eax
40e595:	a3 e8 0c 44 00       	mov    %eax,0x440ce8
40e59a:	8b 44 24 10          	mov    0x10(%esp),%eax
40e59e:	a3 ec 0c 44 00       	mov    %eax,0x440cec
40e5a3:	8b 44 24 14          	mov    0x14(%esp),%eax
40e5a7:	a3 e0 0c 44 00       	mov    %eax,0x440ce0
40e5ac:	74 04                	je     0x40e5b2
40e5ae:	33 c0                	xor    %eax,%eax
40e5b0:	eb 65                	jmp    0x40e617
40e5b2:	80 3d e7 0c 44 00 00 	cmpb   $0x0,0x440ce7
40e5b9:	74 05                	je     0x40e5c0
40e5bb:	33 c0                	xor    %eax,%eax
40e5bd:	40                   	inc    %eax
40e5be:	eb 57                	jmp    0x40e617
40e5c0:	53                   	push   %ebx
40e5c1:	55                   	push   %ebp
40e5c2:	56                   	push   %esi
40e5c3:	8b 35 e0 a2 42 00    	mov    0x42a2e0,%esi
40e5c9:	57                   	push   %edi
40e5ca:	bd db dc 40 00       	mov    $0x40dcdb,%ebp
40e5cf:	bb 88 a8 42 00       	mov    $0x42a888,%ebx
40e5d4:	eb 20                	jmp    0x40e5f6
40e5d6:	ff 74 24 14          	push   0x14(%esp)
40e5da:	68 a3 d2 40 00       	push   $0x40d2a3
40e5df:	ff 35 fc 0c 44 00    	push   0x440cfc
40e5e5:	68 e0 a7 42 00       	push   $0x42a7e0
40e5ea:	ff 35 70 2a 43 00    	push   0x432a70
40e5f0:	ff d6                	call   *%esi
40e5f2:	85 c0                	test   %eax,%eax
40e5f4:	75 1b                	jne    0x40e611
40e5f6:	ff 74 24 14          	push   0x14(%esp)
40e5fa:	55                   	push   %ebp
40e5fb:	ff 35 00 0d 44 00    	push   0x440d00
40e601:	53                   	push   %ebx
40e602:	ff 35 6c 2a 43 00    	push   0x432a6c
40e608:	ff d6                	call   *%esi
40e60a:	8b f8                	mov    %eax,%edi
40e60c:	83 ff 04             	cmp    $0x4,%edi
40e60f:	74 c5                	je     0x40e5d6
40e611:	8b c7                	mov    %edi,%eax
40e613:	5f                   	pop    %edi
40e614:	5e                   	pop    %esi
40e615:	5d                   	pop    %ebp
40e616:	5b                   	pop    %ebx
40e617:	c2 18 00             	ret    $0x18
40e61a:	b8 dc 93 42 00       	mov    $0x4293dc,%eax
40e61f:	e8 94 b8 00 00       	call   0x419eb8
40e624:	51                   	push   %ecx
40e625:	b8 90 b2 00 00       	mov    $0xb290,%eax
40e62a:	e8 a1 be 00 00       	call   0x41a4d0
40e62f:	53                   	push   %ebx
40e630:	56                   	push   %esi
40e631:	57                   	push   %edi
40e632:	33 db                	xor    %ebx,%ebx
40e634:	89 65 f0             	mov    %esp,-0x10(%ebp)
40e637:	53                   	push   %ebx
40e638:	8d 8d 60 4d ff ff    	lea    -0xb2a0(%ebp),%ecx
40e63e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40e641:	e8 e2 31 ff ff       	call   0x401828
40e646:	ff 75 0c             	push   0xc(%ebp)
40e649:	8d 8d 60 4d ff ff    	lea    -0xb2a0(%ebp),%ecx
40e64f:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40e653:	e8 c8 33 ff ff       	call   0x401a20
40e658:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40e65b:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40e65e:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40e661:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40e664:	8d 45 e0             	lea    -0x20(%ebp),%eax
40e667:	50                   	push   %eax
40e668:	8d 8d 60 4d ff ff    	lea    -0xb2a0(%ebp),%ecx
40e66e:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40e672:	e8 f7 30 ff ff       	call   0x40176e
40e677:	3a c3                	cmp    %bl,%al
40e679:	74 37                	je     0x40e6b2
40e67b:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40e67e:	8d 34 00             	lea    (%eax,%eax,1),%esi
40e681:	8b f8                	mov    %eax,%edi
40e683:	8d 46 02             	lea    0x2(%esi),%eax
40e686:	50                   	push   %eax
40e687:	e8 d2 e2 00 00       	call   0x41c95e
40e68c:	59                   	pop    %ecx
40e68d:	8b 4d 10             	mov    0x10(%ebp),%ecx
40e690:	89 01                	mov    %eax,(%ecx)
40e692:	3b c3                	cmp    %ebx,%eax
40e694:	75 04                	jne    0x40e69a
40e696:	33 ff                	xor    %edi,%edi
40e698:	eb 13                	jmp    0x40e6ad
40e69a:	33 c9                	xor    %ecx,%ecx
40e69c:	56                   	push   %esi
40e69d:	66 89 0c 06          	mov    %cx,(%esi,%eax,1)
40e6a1:	ff 75 e0             	push   -0x20(%ebp)
40e6a4:	50                   	push   %eax
40e6a5:	e8 c6 d5 00 00       	call   0x41bc70
40e6aa:	83 c4 0c             	add    $0xc,%esp
40e6ad:	8b 45 14             	mov    0x14(%ebp),%eax
40e6b0:	89 38                	mov    %edi,(%eax)
40e6b2:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
40e6b5:	74 09                	je     0x40e6c0
40e6b7:	ff 75 e0             	push   -0x20(%ebp)
40e6ba:	e8 23 b8 00 00       	call   0x419ee2
40e6bf:	59                   	pop    %ecx
40e6c0:	8d 8d 60 4d ff ff    	lea    -0xb2a0(%ebp),%ecx
40e6c6:	88 5d fc             	mov    %bl,-0x4(%ebp)
40e6c9:	e8 5a 2b ff ff       	call   0x401228
40e6ce:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40e6d1:	5f                   	pop    %edi
40e6d2:	5e                   	pop    %esi
40e6d3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40e6da:	5b                   	pop    %ebx
40e6db:	c9                   	leave
40e6dc:	c2 10 00             	ret    $0x10
40e6df:	be 74 2a 43 00       	mov    $0x432a74,%esi
40e6e4:	8b ce                	mov    %esi,%ecx
40e6e6:	e8 ab 7d ff ff       	call   0x406496
40e6eb:	6a 08                	push   $0x8
40e6ed:	8b ce                	mov    %esi,%ecx
40e6ef:	e8 16 7d ff ff       	call   0x40640a
40e6f4:	8b 75 08             	mov    0x8(%ebp),%esi
40e6f7:	e8 7e f1 ff ff       	call   0x40d87a
40e6fc:	b8 02 e7 40 00       	mov    $0x40e702,%eax
40e701:	c3                   	ret
40e702:	eb ca                	jmp    0x40e6ce
40e704:	8b 75 08             	mov    0x8(%ebp),%esi
40e707:	e8 6e f1 ff ff       	call   0x40d87a
40e70c:	b8 ce e6 40 00       	mov    $0x40e6ce,%eax
40e711:	c3                   	ret
40e712:	b8 f1 93 42 00       	mov    $0x4293f1,%eax
40e717:	e8 9c b7 00 00       	call   0x419eb8
40e71c:	b8 84 bc 01 00       	mov    $0x1bc84,%eax
40e721:	e8 aa bd 00 00       	call   0x41a4d0
40e726:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
40e72a:	0f 84 bf 0b 00 00    	je     0x40f2ef
40e730:	68 00 10 00 00       	push   $0x1000
40e735:	8d 45 0f             	lea    0xf(%ebp),%eax
40e738:	50                   	push   %eax
40e739:	8d 85 c0 bb ff ff    	lea    -0x4440(%ebp),%eax
40e73f:	50                   	push   %eax
40e740:	ff 75 0c             	push   0xc(%ebp)
40e743:	8d 4d ef             	lea    -0x11(%ebp),%ecx
40e746:	8d 95 70 13 ff ff    	lea    -0xec90(%ebp),%edx
40e74c:	e8 ad ee ff ff       	call   0x40d5fe
40e751:	89 45 0c             	mov    %eax,0xc(%ebp)
40e754:	85 c0                	test   %eax,%eax
40e756:	0f 84 93 0b 00 00    	je     0x40f2ef
40e75c:	53                   	push   %ebx
40e75d:	56                   	push   %esi
40e75e:	57                   	push   %edi
40e75f:	bb 00 08 00 00       	mov    $0x800,%ebx
40e764:	8b 3d 5c a0 42 00    	mov    0x42a05c,%edi
40e76a:	8d 8d 70 43 fe ff    	lea    -0x1bc90(%ebp),%ecx
40e770:	be d8 7c 43 00       	mov    $0x437cd8,%esi
40e775:	8d 85 c0 bb ff ff    	lea    -0x4440(%ebp),%eax
40e77b:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40e77e:	c7 45 e8 06 00 00 00 	movl   $0x6,-0x18(%ebp)
40e785:	ff 75 f0             	push   -0x10(%ebp)
40e788:	50                   	push   %eax
40e789:	e8 a7 f3 ff ff       	call   0x40db35
40e78e:	81 45 f0 00 20 00 00 	addl   $0x2000,-0x10(%ebp)
40e795:	ff 4d e8             	decl   -0x18(%ebp)
40e798:	75 eb                	jne    0x40e785
40e79a:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
40e79e:	8b 45 f0             	mov    -0x10(%ebp),%eax
40e7a1:	ff 34 85 f8 f0 42 00 	push   0x42f0f8(,%eax,4)
40e7a8:	8d 85 70 13 ff ff    	lea    -0xec90(%ebp),%eax
40e7ae:	50                   	push   %eax
40e7af:	e8 e4 32 00 00       	call   0x411a98
40e7b4:	85 c0                	test   %eax,%eax
40e7b6:	74 0e                	je     0x40e7c6
40e7b8:	ff 45 f0             	incl   -0x10(%ebp)
40e7bb:	83 7d f0 0e          	cmpl   $0xe,-0x10(%ebp)
40e7bf:	72 dd                	jb     0x40e79e
40e7c1:	e9 fa 0a 00 00       	jmp    0x40f2c0
40e7c6:	83 7d f0 0d          	cmpl   $0xd,-0x10(%ebp)
40e7ca:	0f 87 f0 0a 00 00    	ja     0x40f2c0
40e7d0:	8b 45 f0             	mov    -0x10(%ebp),%eax
40e7d3:	ff 24 85 fe f2 40 00 	jmp    *0x40f2fe(,%eax,4)
40e7da:	83 7d 10 02          	cmpl   $0x2,0x10(%ebp)
40e7de:	0f 85 dc 0a 00 00    	jne    0x40f2c0
40e7e4:	53                   	push   %ebx
40e7e5:	8d 85 70 73 ff ff    	lea    -0x8c90(%ebp),%eax
40e7eb:	50                   	push   %eax
40e7ec:	e8 32 b0 00 00       	call   0x419823
40e7f1:	53                   	push   %ebx
40e7f2:	8d 85 70 03 ff ff    	lea    -0xfc90(%ebp),%eax
40e7f8:	50                   	push   %eax
40e7f9:	8d 85 c0 bb ff ff    	lea    -0x4440(%ebp),%eax
40e7ff:	50                   	push   %eax
40e800:	8d 85 70 73 ff ff    	lea    -0x8c90(%ebp),%eax
40e806:	50                   	push   %eax
40e807:	e8 20 b8 ff ff       	call   0x40a02c
40e80c:	8d 8d 70 83 ff ff    	lea    -0x7c90(%ebp),%ecx
40e812:	e8 9a ab ff ff       	call   0x4093b1
40e817:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40e81b:	8d 85 70 03 ff ff    	lea    -0xfc90(%ebp),%eax
40e821:	50                   	push   %eax
40e822:	8d 8d 70 83 ff ff    	lea    -0x7c90(%ebp),%ecx
40e828:	e8 ad ab ff ff       	call   0x4093da
40e82d:	8d 8d 78 a3 ff ff    	lea    -0x5c88(%ebp),%ecx
40e833:	e8 ae 7f ff ff       	call   0x4067e6
40e838:	6a 00                	push   $0x0
40e83a:	8d 85 78 a3 ff ff    	lea    -0x5c88(%ebp),%eax
40e840:	50                   	push   %eax
40e841:	8d 8d 70 83 ff ff    	lea    -0x7c90(%ebp),%ecx
40e847:	e8 40 ad ff ff       	call   0x40958c
40e84c:	84 c0                	test   %al,%al
40e84e:	0f 84 59 01 00 00    	je     0x40e9ad
40e854:	be 78 a9 42 00       	mov    $0x42a978,%esi
40e859:	6a 00                	push   $0x0
40e85b:	8d 85 78 a3 ff ff    	lea    -0x5c88(%ebp),%eax
40e861:	50                   	push   %eax
40e862:	ff 15 60 a0 42 00    	call   *0x42a060
40e868:	80 bd 84 b3 ff ff 00 	cmpb   $0x0,-0x4c7c(%ebp)
40e86f:	0f 84 a2 00 00 00    	je     0x40e917
40e875:	53                   	push   %ebx
40e876:	8d 85 c0 ef ff ff    	lea    -0x1040(%ebp),%eax
40e87c:	50                   	push   %eax
40e87d:	8d 85 70 73 ff ff    	lea    -0x8c90(%ebp),%eax
40e883:	50                   	push   %eax
40e884:	e8 42 be ff ff       	call   0x40a6cb
40e889:	53                   	push   %ebx
40e88a:	8d 85 c0 ef ff ff    	lea    -0x1040(%ebp),%eax
40e890:	50                   	push   %eax
40e891:	e8 66 b7 ff ff       	call   0x409ffc
40e896:	8d 85 70 73 ff ff    	lea    -0x8c90(%ebp),%eax
40e89c:	50                   	push   %eax
40e89d:	e8 e9 b8 00 00       	call   0x41a18b
40e8a2:	59                   	pop    %ecx
40e8a3:	89 45 e8             	mov    %eax,-0x18(%ebp)
40e8a6:	83 f8 04             	cmp    $0x4,%eax
40e8a9:	72 12                	jb     0x40e8bd
40e8ab:	8d 85 c0 ef ff ff    	lea    -0x1040(%ebp),%eax
40e8b1:	50                   	push   %eax
40e8b2:	e8 d4 b8 00 00       	call   0x41a18b
40e8b7:	59                   	pop    %ecx
40e8b8:	39 45 e8             	cmp    %eax,-0x18(%ebp)
40e8bb:	77 14                	ja     0x40e8d1
40e8bd:	8d 85 c0 bb ff ff    	lea    -0x4440(%ebp),%eax
40e8c3:	50                   	push   %eax
40e8c4:	e8 ed b6 ff ff       	call   0x409fb6
40e8c9:	84 c0                	test   %al,%al
40e8cb:	0f 85 dc 00 00 00    	jne    0x40e9ad
40e8d1:	8d 85 78 a3 ff ff    	lea    -0x5c88(%ebp),%eax
40e8d7:	50                   	push   %eax
40e8d8:	e8 ae b8 00 00       	call   0x41a18b
40e8dd:	33 c9                	xor    %ecx,%ecx
40e8df:	6a 1e                	push   $0x1e
40e8e1:	66 89 8c 45 7a a3 ff 	mov    %cx,-0x5c86(%ebp,%eax,2)
40e8e8:	ff
40e8e9:	51                   	push   %ecx
40e8ea:	8d 45 c0             	lea    -0x40(%ebp),%eax
40e8ed:	50                   	push   %eax
40e8ee:	e8 0d b9 00 00       	call   0x41a200
40e8f3:	83 c4 10             	add    $0x10,%esp
40e8f6:	6a 14                	push   $0x14
40e8f8:	58                   	pop    %eax
40e8f9:	66 89 45 d0          	mov    %ax,-0x30(%ebp)
40e8fd:	8d 85 78 a3 ff ff    	lea    -0x5c88(%ebp),%eax
40e903:	89 45 c8             	mov    %eax,-0x38(%ebp)
40e906:	8d 45 c0             	lea    -0x40(%ebp),%eax
40e909:	50                   	push   %eax
40e90a:	c7 45 c4 03 00 00 00 	movl   $0x3,-0x3c(%ebp)
40e911:	ff 15 6c a2 42 00    	call   *0x42a26c
40e917:	8d 85 78 a3 ff ff    	lea    -0x5c88(%ebp),%eax
40e91d:	50                   	push   %eax
40e91e:	ff d7                	call   *%edi
40e920:	83 f8 ff             	cmp    $0xffffffff,%eax
40e923:	74 6c                	je     0x40e991
40e925:	8d 85 78 a3 ff ff    	lea    -0x5c88(%ebp),%eax
40e92b:	50                   	push   %eax
40e92c:	ff 15 10 a2 42 00    	call   *0x42a210
40e932:	85 c0                	test   %eax,%eax
40e934:	75 5b                	jne    0x40e991
40e936:	21 45 f0             	and    %eax,-0x10(%ebp)
40e939:	50                   	push   %eax
40e93a:	eb 06                	jmp    0x40e942
40e93c:	ff 45 f0             	incl   -0x10(%ebp)
40e93f:	ff 75 f0             	push   -0x10(%ebp)
40e942:	8d 85 78 a3 ff ff    	lea    -0x5c88(%ebp),%eax
40e948:	50                   	push   %eax
40e949:	56                   	push   %esi
40e94a:	8d 85 c0 ef ff ff    	lea    -0x1040(%ebp),%eax
40e950:	53                   	push   %ebx
40e951:	50                   	push   %eax
40e952:	e8 8b ec ff ff       	call   0x40d5e2
40e957:	83 c4 14             	add    $0x14,%esp
40e95a:	8d 85 c0 ef ff ff    	lea    -0x1040(%ebp),%eax
40e960:	50                   	push   %eax
40e961:	ff d7                	call   *%edi
40e963:	83 f8 ff             	cmp    $0xffffffff,%eax
40e966:	75 d4                	jne    0x40e93c
40e968:	8d 85 c0 ef ff ff    	lea    -0x1040(%ebp),%eax
40e96e:	50                   	push   %eax
40e96f:	8d 85 78 a3 ff ff    	lea    -0x5c88(%ebp),%eax
40e975:	50                   	push   %eax
40e976:	ff 15 fc a1 42 00    	call   *0x42a1fc