40d4fc:	8b d8                	mov    %eax,%ebx
40d4fe:	8b c3                	mov    %ebx,%eax
40d500:	8b 15 98 86 40 00    	mov    0x408698,%edx
40d506:	e8 f9 66 ff ff       	call   0x403c04
40d50b:	84 c0                	test   %al,%al
40d50d:	74 06                	je     0x40d515
40d50f:	8b 45 fc             	mov    -0x4(%ebp),%eax
40d512:	89 43 0c             	mov    %eax,0xc(%ebx)
40d515:	33 c0                	xor    %eax,%eax
40d517:	5a                   	pop    %edx
40d518:	59                   	pop    %ecx
40d519:	59                   	pop    %ecx
40d51a:	64 89 10             	mov    %edx,%fs:(%eax)
40d51d:	68 32 d5 40 00       	push   $0x40d532
40d522:	8d 45 f0             	lea    -0x10(%ebp),%eax
40d525:	e8 3e 73 ff ff       	call   0x404868
40d52a:	c3                   	ret
40d52b:	e9 dc 6c ff ff       	jmp    0x40420c
40d530:	eb f0                	jmp    0x40d522
40d532:	8b c3                	mov    %ebx,%eax
40d534:	5b                   	pop    %ebx
40d535:	8b e5                	mov    %ebp,%esp
40d537:	5d                   	pop    %ebp
40d538:	c3                   	ret
40d539:	8d 40 00             	lea    0x0(%eax),%eax
40d53c:	e8 e3 f7 ff ff       	call   0x40cd24
40d541:	b8 01 00 00 00       	mov    $0x1,%eax
40d546:	e8 81 72 ff ff       	call   0x4047cc
40d54b:	c3                   	ret
40d54c:	8b 0d 50 6d 6a 00    	mov    0x6a6d50,%ecx
40d552:	b2 01                	mov    $0x1,%dl
40d554:	a1 e4 85 40 00       	mov    0x4085e4,%eax
40d559:	e8 a6 f9 ff ff       	call   0x40cf04
40d55e:	a3 48 88 6a 00       	mov    %eax,0x6a8848
40d563:	8b 0d a4 6f 6a 00    	mov    0x6a6fa4,%ecx
40d569:	b2 01                	mov    $0x1,%dl
40d56b:	a1 6c 8a 40 00       	mov    0x408a6c,%eax
40d570:	e8 8f f9 ff ff       	call   0x40cf04
40d575:	a3 4c 88 6a 00       	mov    %eax,0x6a884c
40d57a:	a1 54 6c 6a 00       	mov    0x6a6c54,%eax
40d57f:	c7 00 c8 d0 40 00    	movl   $0x40d0c8,(%eax)
40d585:	a1 00 6e 6a 00       	mov    0x6a6e00,%eax
40d58a:	c7 00 3c d5 40 00    	movl   $0x40d53c,(%eax)
40d590:	a1 34 6d 6a 00       	mov    0x6a6d34,%eax
40d595:	8b 15 cc 84 40 00    	mov    0x4084cc,%edx
40d59b:	89 10                	mov    %edx,(%eax)
40d59d:	a1 dc 6d 6a 00       	mov    0x6a6ddc,%eax
40d5a2:	c7 00 8c d2 40 00    	movl   $0x40d28c,(%eax)
40d5a8:	a1 08 6e 6a 00       	mov    0x6a6e08,%eax
40d5ad:	c7 00 70 d4 40 00    	movl   $0x40d470,(%eax)
40d5b3:	b8 d8 d1 40 00       	mov    $0x40d1d8,%eax
40d5b8:	8b 15 e0 6f 6a 00    	mov    0x6a6fe0,%edx
40d5be:	89 02                	mov    %eax,(%edx)
40d5c0:	b8 f4 d1 40 00       	mov    $0x40d1f4,%eax
40d5c5:	8b 15 34 6c 6a 00    	mov    0x6a6c34,%edx
40d5cb:	89 02                	mov    %eax,(%edx)
40d5cd:	c3                   	ret
40d5ce:	8b c0                	mov    %eax,%eax
40d5d0:	a1 48 88 6a 00       	mov    0x6a8848,%eax
40d5d5:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
40d5d9:	a1 48 88 6a 00       	mov    0x6a8848,%eax
40d5de:	8b 10                	mov    (%eax),%edx
40d5e0:	ff 52 f8             	call   *-0x8(%edx)
40d5e3:	33 c0                	xor    %eax,%eax
40d5e5:	a3 48 88 6a 00       	mov    %eax,0x6a8848
40d5ea:	a1 4c 88 6a 00       	mov    0x6a884c,%eax
40d5ef:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
40d5f3:	a1 4c 88 6a 00       	mov    0x6a884c,%eax
40d5f8:	e8 7b 64 ff ff       	call   0x403a78
40d5fd:	33 c0                	xor    %eax,%eax
40d5ff:	a3 4c 88 6a 00       	mov    %eax,0x6a884c
40d604:	a1 54 6c 6a 00       	mov    0x6a6c54,%eax
40d609:	33 d2                	xor    %edx,%edx
40d60b:	89 10                	mov    %edx,(%eax)
40d60d:	a1 00 6e 6a 00       	mov    0x6a6e00,%eax
40d612:	33 d2                	xor    %edx,%edx
40d614:	89 10                	mov    %edx,(%eax)
40d616:	a1 34 6d 6a 00       	mov    0x6a6d34,%eax
40d61b:	33 d2                	xor    %edx,%edx
40d61d:	89 10                	mov    %edx,(%eax)
40d61f:	a1 dc 6d 6a 00       	mov    0x6a6ddc,%eax
40d624:	33 d2                	xor    %edx,%edx
40d626:	89 10                	mov    %edx,(%eax)
40d628:	a1 08 6e 6a 00       	mov    0x6a6e08,%eax
40d62d:	33 d2                	xor    %edx,%edx
40d62f:	89 10                	mov    %edx,(%eax)
40d631:	a1 e0 6f 6a 00       	mov    0x6a6fe0,%eax
40d636:	33 d2                	xor    %edx,%edx
40d638:	89 10                	mov    %edx,(%eax)
40d63a:	c3                   	ret
40d63b:	90                   	nop
40d63c:	81 c4 6c ff ff ff    	add    $0xffffff6c,%esp
40d642:	c7 04 24 94 00 00 00 	movl   $0x94,(%esp)
40d649:	54                   	push   %esp
40d64a:	e8 49 9c ff ff       	call   0x407298
40d64f:	85 c0                	test   %eax,%eax
40d651:	74 37                	je     0x40d68a
40d653:	8b 44 24 10          	mov    0x10(%esp),%eax
40d657:	a3 b8 a0 68 00       	mov    %eax,0x68a0b8
40d65c:	8b 44 24 04          	mov    0x4(%esp),%eax
40d660:	a3 bc a0 68 00       	mov    %eax,0x68a0bc
40d665:	8b 44 24 08          	mov    0x8(%esp),%eax
40d669:	a3 c0 a0 68 00       	mov    %eax,0x68a0c0
40d66e:	8b 44 24 0c          	mov    0xc(%esp),%eax
40d672:	a3 c4 a0 68 00       	mov    %eax,0x68a0c4
40d677:	b8 c8 a0 68 00       	mov    $0x68a0c8,%eax
40d67c:	8d 54 24 14          	lea    0x14(%esp),%edx
40d680:	b9 80 00 00 00       	mov    $0x80,%ecx
40d685:	e8 46 74 ff ff       	call   0x404ad0
40d68a:	81 c4 94 00 00 00    	add    $0x94,%esp
40d690:	c3                   	ret
40d691:	8d 40 00             	lea    0x0(%eax),%eax
40d694:	3b 05 bc a0 68 00    	cmp    0x68a0bc,%eax
40d69a:	7f 13                	jg     0x40d6af
40d69c:	3b 05 bc a0 68 00    	cmp    0x68a0bc,%eax
40d6a2:	75 08                	jne    0x40d6ac
40d6a4:	3b 15 c0 a0 68 00    	cmp    0x68a0c0,%edx
40d6aa:	7d 03                	jge    0x40d6af
40d6ac:	33 c0                	xor    %eax,%eax
40d6ae:	c3                   	ret
40d6af:	b0 01                	mov    $0x1,%al
40d6b1:	c3                   	ret
40d6b2:	8b c0                	mov    %eax,%eax
40d6b4:	6a 00                	push   $0x0
40d6b6:	e8 9d a5 ff ff       	call   0x407c58
40d6bb:	c3                   	ret
40d6bc:	56                   	push   %esi
40d6bd:	57                   	push   %edi
40d6be:	8b fa                	mov    %edx,%edi
40d6c0:	33 d2                	xor    %edx,%edx
40d6c2:	85 c0                	test   %eax,%eax
40d6c4:	74 66                	je     0x40d72c
40d6c6:	80 3c 38 00          	cmpb   $0x0,(%eax,%edi,1)
40d6ca:	74 60                	je     0x40d72c
40d6cc:	85 ff                	test   %edi,%edi
40d6ce:	75 14                	jne    0x40d6e4
40d6d0:	8a 00                	mov    (%eax),%al
40d6d2:	25 ff 00 00 00       	and    $0xff,%eax
40d6d7:	0f a3 05 20 a1 68 00 	bt     %eax,0x68a120
40d6de:	73 4c                	jae    0x40d72c
40d6e0:	b2 01                	mov    $0x1,%dl
40d6e2:	eb 48                	jmp    0x40d72c
40d6e4:	8b f7                	mov    %edi,%esi
40d6e6:	4e                   	dec    %esi
40d6e7:	eb 01                	jmp    0x40d6ea
40d6e9:	4e                   	dec    %esi
40d6ea:	85 f6                	test   %esi,%esi
40d6ec:	7c 12                	jl     0x40d700
40d6ee:	8a 0c 30             	mov    (%eax,%esi,1),%cl
40d6f1:	81 e1 ff 00 00 00    	and    $0xff,%ecx
40d6f7:	0f a3 0d 20 a1 68 00 	bt     %ecx,0x68a120
40d6fe:	72 e9                	jb     0x40d6e9
40d700:	8b cf                	mov    %edi,%ecx
40d702:	2b ce                	sub    %esi,%ecx
40d704:	81 e1 01 00 00 80    	and    $0x80000001,%ecx
40d70a:	79 05                	jns    0x40d711
40d70c:	49                   	dec    %ecx
40d70d:	83 c9 fe             	or     $0xfffffffe,%ecx
40d710:	41                   	inc    %ecx
40d711:	85 c9                	test   %ecx,%ecx
40d713:	75 04                	jne    0x40d719
40d715:	b2 02                	mov    $0x2,%dl
40d717:	eb 13                	jmp    0x40d72c
40d719:	8a 04 38             	mov    (%eax,%edi,1),%al
40d71c:	25 ff 00 00 00       	and    $0xff,%eax
40d721:	0f a3 05 20 a1 68 00 	bt     %eax,0x68a120
40d728:	73 02                	jae    0x40d72c
40d72a:	b2 01                	mov    $0x1,%dl
40d72c:	8b c2                	mov    %edx,%eax
40d72e:	5f                   	pop    %edi
40d72f:	5e                   	pop    %esi
40d730:	c3                   	ret
40d731:	8d 40 00             	lea    0x0(%eax),%eax
40d734:	53                   	push   %ebx
40d735:	56                   	push   %esi
40d736:	8b f2                	mov    %edx,%esi
40d738:	8b d8                	mov    %eax,%ebx
40d73a:	33 c0                	xor    %eax,%eax
40d73c:	80 3d 00 88 6a 00 00 	cmpb   $0x0,0x6a8800
40d743:	74 0f                	je     0x40d754
40d745:	8b c3                	mov    %ebx,%eax
40d747:	e8 cc 75 ff ff       	call   0x404d18
40d74c:	8b d6                	mov    %esi,%edx
40d74e:	4a                   	dec    %edx
40d74f:	e8 68 ff ff ff       	call   0x40d6bc
40d754:	5e                   	pop    %esi
40d755:	5b                   	pop    %ebx
40d756:	c3                   	ret
40d757:	90                   	nop
40d758:	33 c9                	xor    %ecx,%ecx
40d75a:	80 3d 00 88 6a 00 00 	cmpb   $0x0,0x6a8800
40d761:	74 07                	je     0x40d76a
40d763:	e8 54 ff ff ff       	call   0x40d6bc
40d768:	8b c8                	mov    %eax,%ecx
40d76a:	8b c1                	mov    %ecx,%eax
40d76c:	c3                   	ret
40d76d:	8d 40 00             	lea    0x0(%eax),%eax
40d770:	53                   	push   %ebx
40d771:	56                   	push   %esi
40d772:	8b f2                	mov    %edx,%esi
40d774:	8b d8                	mov    %eax,%ebx
40d776:	8b c3                	mov    %ebx,%eax
40d778:	e8 a3 73 ff ff       	call   0x404b20
40d77d:	3b f0                	cmp    %eax,%esi
40d77f:	7e 09                	jle    0x40d78a
40d781:	8b c3                	mov    %ebx,%eax
40d783:	e8 98 73 ff ff       	call   0x404b20
40d788:	8b f0                	mov    %eax,%esi
40d78a:	8b d6                	mov    %esi,%edx
40d78c:	8b c3                	mov    %ebx,%eax
40d78e:	e8 05 00 00 00       	call   0x40d798
40d793:	5e                   	pop    %esi
40d794:	5b                   	pop    %ebx
40d795:	c3                   	ret
40d796:	8b c0                	mov    %eax,%eax
40d798:	53                   	push   %ebx
40d799:	56                   	push   %esi
40d79a:	57                   	push   %edi
40d79b:	8b f2                	mov    %edx,%esi
40d79d:	8b d8                	mov    %eax,%ebx
40d79f:	33 ff                	xor    %edi,%edi
40d7a1:	85 f6                	test   %esi,%esi
40d7a3:	7e 45                	jle    0x40d7ea
40d7a5:	8b c3                	mov    %ebx,%eax
40d7a7:	e8 74 73 ff ff       	call   0x404b20
40d7ac:	3b f0                	cmp    %eax,%esi
40d7ae:	7f 3a                	jg     0x40d7ea
40d7b0:	8b fe                	mov    %esi,%edi
40d7b2:	80 3d 00 88 6a 00 00 	cmpb   $0x0,0x6a8800
40d7b9:	74 2f                	je     0x40d7ea
40d7bb:	b8 01 00 00 00       	mov    $0x1,%eax
40d7c0:	33 ff                	xor    %edi,%edi
40d7c2:	3b f0                	cmp    %eax,%esi
40d7c4:	7c 24                	jl     0x40d7ea
40d7c6:	8a 54 03 ff          	mov    -0x1(%ebx,%eax,1),%dl
40d7ca:	81 e2 ff 00 00 00    	and    $0xff,%edx
40d7d0:	0f a3 15 20 a1 68 00 	bt     %edx,0x68a120
40d7d7:	73 0b                	jae    0x40d7e4
40d7d9:	8b d0                	mov    %eax,%edx
40d7db:	8b c3                	mov    %ebx,%eax
40d7dd:	e8 c6 01 00 00       	call   0x40d9a8
40d7e2:	eb 01                	jmp    0x40d7e5
40d7e4:	40                   	inc    %eax
40d7e5:	47                   	inc    %edi
40d7e6:	3b f0                	cmp    %eax,%esi
40d7e8:	7d dc                	jge    0x40d7c6
40d7ea:	8b c7                	mov    %edi,%eax
40d7ec:	5f                   	pop    %edi
40d7ed:	5e                   	pop    %esi
40d7ee:	5b                   	pop    %ebx
40d7ef:	c3                   	ret
40d7f0:	55                   	push   %ebp
40d7f1:	8b ec                	mov    %esp,%ebp
40d7f3:	83 c4 f4             	add    $0xfffffff4,%esp
40d7f6:	53                   	push   %ebx
40d7f7:	56                   	push   %esi
40d7f8:	57                   	push   %edi
40d7f9:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40d7fc:	89 55 fc             	mov    %edx,-0x4(%ebp)
40d7ff:	8b f8                	mov    %eax,%edi
40d801:	8b c7                	mov    %edi,%eax
40d803:	e8 18 73 ff ff       	call   0x404b20
40d808:	89 45 f4             	mov    %eax,-0xc(%ebp)
40d80b:	be 01 00 00 00       	mov    $0x1,%esi
40d810:	bb 01 00 00 00       	mov    $0x1,%ebx
40d815:	eb 21                	jmp    0x40d838
40d817:	46                   	inc    %esi
40d818:	8a 44 1f ff          	mov    -0x1(%edi,%ebx,1),%al
40d81c:	25 ff 00 00 00       	and    $0xff,%eax
40d821:	0f a3 05 20 a1 68 00 	bt     %eax,0x68a120
40d828:	73 0d                	jae    0x40d837
40d82a:	8b d3                	mov    %ebx,%edx
40d82c:	8b c7                	mov    %edi,%eax
40d82e:	e8 75 01 00 00       	call   0x40d9a8
40d833:	8b d8                	mov    %eax,%ebx
40d835:	eb 01                	jmp    0x40d838
40d837:	43                   	inc    %ebx
40d838:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
40d83b:	7d 05                	jge    0x40d842
40d83d:	3b 75 fc             	cmp    -0x4(%ebp),%esi
40d840:	7c d5                	jl     0x40d817
40d842:	3b 75 fc             	cmp    -0x4(%ebp),%esi
40d845:	75 23                	jne    0x40d86a
40d847:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
40d84a:	7d 1e                	jge    0x40d86a
40d84c:	8a 44 1f ff          	mov    -0x1(%edi,%ebx,1),%al
40d850:	25 ff 00 00 00       	and    $0xff,%eax
40d855:	0f a3 05 20 a1 68 00 	bt     %eax,0x68a120
40d85c:	73 0c                	jae    0x40d86a
40d85e:	8b d3                	mov    %ebx,%edx
40d860:	8b c7                	mov    %edi,%eax
40d862:	e8 41 01 00 00       	call   0x40d9a8
40d867:	48                   	dec    %eax
40d868:	8b d8                	mov    %eax,%ebx
40d86a:	8b 45 f8             	mov    -0x8(%ebp),%eax
40d86d:	89 30                	mov    %esi,(%eax)
40d86f:	8b 45 08             	mov    0x8(%ebp),%eax
40d872:	89 18                	mov    %ebx,(%eax)
40d874:	5f                   	pop    %edi
40d875:	5e                   	pop    %esi
40d876:	5b                   	pop    %ebx
40d877:	8b e5                	mov    %ebp,%esp
40d879:	5d                   	pop    %ebp
40d87a:	c2 04 00             	ret    $0x4
40d87d:	8d 40 00             	lea    0x0(%eax),%eax
40d880:	53                   	push   %ebx
40d881:	56                   	push   %esi
40d882:	83 c4 f8             	add    $0xfffffff8,%esp
40d885:	8b da                	mov    %edx,%ebx
40d887:	8b f0                	mov    %eax,%esi
40d889:	33 c0                	xor    %eax,%eax
40d88b:	89 04 24             	mov    %eax,(%esp)
40d88e:	85 db                	test   %ebx,%ebx
40d890:	7e 4a                	jle    0x40d8dc
40d892:	8b c6                	mov    %esi,%eax
40d894:	e8 87 72 ff ff       	call   0x404b20
40d899:	3b d8                	cmp    %eax,%ebx
40d89b:	7f 3f                	jg     0x40d8dc
40d89d:	83 fb 01             	cmp    $0x1,%ebx
40d8a0:	7e 37                	jle    0x40d8d9
40d8a2:	80 3d 00 88 6a 00 00 	cmpb   $0x0,0x6a8800
40d8a9:	74 2e                	je     0x40d8d9
40d8ab:	54                   	push   %esp
40d8ac:	8d 4c 24 08          	lea    0x8(%esp),%ecx
40d8b0:	8b d3                	mov    %ebx,%edx
40d8b2:	4a                   	dec    %edx
40d8b3:	8b c6                	mov    %esi,%eax
40d8b5:	e8 36 ff ff ff       	call   0x40d7f0
40d8ba:	4b                   	dec    %ebx
40d8bb:	3b 5c 24 04          	cmp    0x4(%esp),%ebx
40d8bf:	7f 0c                	jg     0x40d8cd
40d8c1:	8b c6                	mov    %esi,%eax
40d8c3:	e8 58 72 ff ff       	call   0x404b20
40d8c8:	3b 04 24             	cmp    (%esp),%eax
40d8cb:	7f 07                	jg     0x40d8d4
40d8cd:	33 c0                	xor    %eax,%eax
40d8cf:	89 04 24             	mov    %eax,(%esp)
40d8d2:	eb 08                	jmp    0x40d8dc
40d8d4:	ff 04 24             	incl   (%esp)
40d8d7:	eb 03                	jmp    0x40d8dc
40d8d9:	89 1c 24             	mov    %ebx,(%esp)
40d8dc:	8b 04 24             	mov    (%esp),%eax
40d8df:	59                   	pop    %ecx
40d8e0:	5a                   	pop    %edx
40d8e1:	5e                   	pop    %esi
40d8e2:	5b                   	pop    %ebx
40d8e3:	c3                   	ret
40d8e4:	53                   	push   %ebx
40d8e5:	56                   	push   %esi
40d8e6:	83 c4 f8             	add    $0xfffffff8,%esp