40c512:	53                   	push   %ebx
40c513:	56                   	push   %esi
40c514:	57                   	push   %edi
40c515:	33 db                	xor    %ebx,%ebx
40c517:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40c51a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40c51d:	8b f9                	mov    %ecx,%edi
40c51f:	8b f2                	mov    %edx,%esi
40c521:	8b d8                	mov    %eax,%ebx
40c523:	33 c0                	xor    %eax,%eax
40c525:	55                   	push   %ebp
40c526:	68 a8 c5 40 00       	push   $0x40c5a8
40c52b:	64 ff 30             	push   %fs:(%eax)
40c52e:	64 89 20             	mov    %esp,%fs:(%eax)
40c531:	85 db                	test   %ebx,%ebx
40c533:	74 0c                	je     0x40c541
40c535:	8d 45 fc             	lea    -0x4(%ebp),%eax
40c538:	8b d3                	mov    %ebx,%edx
40c53a:	e8 79 82 ff ff       	call   0x4047b8
40c53f:	eb 0d                	jmp    0x40c54e
40c541:	8d 55 fc             	lea    -0x4(%ebp),%edx
40c544:	a1 bc d6 46 00       	mov    0x46d6bc,%eax
40c549:	e8 b6 a0 ff ff       	call   0x406604
40c54e:	8b 45 fc             	mov    -0x4(%ebp),%eax
40c551:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40c554:	c6 45 e8 0b          	movb   $0xb,-0x18(%ebp)
40c558:	89 75 ec             	mov    %esi,-0x14(%ebp)
40c55b:	c6 45 f0 0b          	movb   $0xb,-0x10(%ebp)
40c55f:	89 7d f4             	mov    %edi,-0xc(%ebp)
40c562:	c6 45 f8 00          	movb   $0x0,-0x8(%ebp)
40c566:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40c569:	50                   	push   %eax
40c56a:	6a 02                	push   $0x2
40c56c:	8d 55 e0             	lea    -0x20(%ebp),%edx
40c56f:	a1 28 d7 46 00       	mov    0x46d728,%eax
40c574:	e8 8b a0 ff ff       	call   0x406604
40c579:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40c57c:	b2 01                	mov    $0x1,%dl
40c57e:	a1 68 82 40 00       	mov    0x408268,%eax
40c583:	e8 f0 fc ff ff       	call   0x40c278
40c588:	8b d8                	mov    %eax,%ebx
40c58a:	33 c0                	xor    %eax,%eax
40c58c:	5a                   	pop    %edx
40c58d:	59                   	pop    %ecx
40c58e:	59                   	pop    %ecx
40c58f:	64 89 10             	mov    %edx,%fs:(%eax)
40c592:	68 af c5 40 00       	push   $0x40c5af
40c597:	8d 45 e0             	lea    -0x20(%ebp),%eax
40c59a:	e8 81 81 ff ff       	call   0x404720
40c59f:	8d 45 fc             	lea    -0x4(%ebp),%eax
40c5a2:	e8 79 81 ff ff       	call   0x404720
40c5a7:	c3                   	ret
40c5a8:	e9 db 7a ff ff       	jmp    0x404088
40c5ad:	eb e8                	jmp    0x40c597
40c5af:	8b c3                	mov    %ebx,%eax
40c5b1:	5f                   	pop    %edi
40c5b2:	5e                   	pop    %esi
40c5b3:	5b                   	pop    %ebx
40c5b4:	8b e5                	mov    %ebp,%esp
40c5b6:	5d                   	pop    %ebp
40c5b7:	c3                   	ret
40c5b8:	89 cc                	mov    %ecx,%esp
40c5ba:	89 14 24             	mov    %edx,(%esp)
40c5bd:	8b 6d 00             	mov    0x0(%ebp),%ebp
40c5c0:	e9 a3 7b ff ff       	jmp    0x404168
40c5c5:	c3                   	ret
40c5c6:	8b c0                	mov    %eax,%eax
40c5c8:	55                   	push   %ebp
40c5c9:	8b ec                	mov    %esp,%ebp
40c5cb:	e8 3c ff ff ff       	call   0x40c50c
40c5d0:	8d 4d 08             	lea    0x8(%ebp),%ecx
40c5d3:	83 c1 04             	add    $0x4,%ecx
40c5d6:	8b 55 08             	mov    0x8(%ebp),%edx
40c5d9:	e8 da ff ff ff       	call   0x40c5b8
40c5de:	5d                   	pop    %ebp
40c5df:	c2 04 00             	ret    $0x4
40c5e2:	8b c0                	mov    %eax,%eax
40c5e4:	8b 0d a0 d4 46 00    	mov    0x46d4a0,%ecx
40c5ea:	b2 01                	mov    $0x1,%dl
40c5ec:	a1 c8 82 40 00       	mov    0x4082c8,%eax
40c5f1:	e8 02 fd ff ff       	call   0x40c2f8
40c5f6:	e8 6d 7b ff ff       	call   0x404168
40c5fb:	c3                   	ret
40c5fc:	8b 00                	mov    (%eax),%eax
40c5fe:	3d 92 00 00 c0       	cmp    $0xc0000092,%eax
40c603:	7f 2c                	jg     0x40c631
40c605:	74 59                	je     0x40c660
40c607:	3d 8e 00 00 c0       	cmp    $0xc000008e,%eax
40c60c:	7f 15                	jg     0x40c623
40c60e:	74 53                	je     0x40c663
40c610:	2d 05 00 00 c0       	sub    $0xc0000005,%eax
40c615:	74 55                	je     0x40c66c
40c617:	2d 87 00 00 00       	sub    $0x87,%eax
40c61c:	74 3c                	je     0x40c65a
40c61e:	48                   	dec    %eax
40c61f:	74 48                	je     0x40c669
40c621:	eb 55                	jmp    0x40c678
40c623:	05 71 ff ff 3f       	add    $0x3fffff71,%eax
40c628:	83 e8 02             	sub    $0x2,%eax
40c62b:	72 33                	jb     0x40c660
40c62d:	74 37                	je     0x40c666
40c62f:	eb 47                	jmp    0x40c678
40c631:	3d 96 00 00 c0       	cmp    $0xc0000096,%eax
40c636:	7f 11                	jg     0x40c649
40c638:	74 35                	je     0x40c66f
40c63a:	2d 93 00 00 c0       	sub    $0xc0000093,%eax
40c63f:	74 28                	je     0x40c669
40c641:	48                   	dec    %eax
40c642:	74 13                	je     0x40c657
40c644:	48                   	dec    %eax
40c645:	74 16                	je     0x40c65d
40c647:	eb 2f                	jmp    0x40c678
40c649:	2d fd 00 00 c0       	sub    $0xc00000fd,%eax
40c64e:	74 25                	je     0x40c675
40c650:	83 e8 3d             	sub    $0x3d,%eax
40c653:	74 1d                	je     0x40c672
40c655:	eb 21                	jmp    0x40c678
40c657:	b0 03                	mov    $0x3,%al
40c659:	c3                   	ret
40c65a:	b0 04                	mov    $0x4,%al
40c65c:	c3                   	ret
40c65d:	b0 05                	mov    $0x5,%al
40c65f:	c3                   	ret
40c660:	b0 06                	mov    $0x6,%al
40c662:	c3                   	ret
40c663:	b0 07                	mov    $0x7,%al
40c665:	c3                   	ret
40c666:	b0 08                	mov    $0x8,%al
40c668:	c3                   	ret
40c669:	b0 09                	mov    $0x9,%al
40c66b:	c3                   	ret
40c66c:	b0 0b                	mov    $0xb,%al
40c66e:	c3                   	ret
40c66f:	b0 0c                	mov    $0xc,%al
40c671:	c3                   	ret
40c672:	b0 0d                	mov    $0xd,%al
40c674:	c3                   	ret
40c675:	b0 0e                	mov    $0xe,%al
40c677:	c3                   	ret
40c678:	b0 16                	mov    $0x16,%al
40c67a:	c3                   	ret
40c67b:	90                   	nop
40c67c:	53                   	push   %ebx
40c67d:	8b d8                	mov    %eax,%ebx
40c67f:	8b c3                	mov    %ebx,%eax
40c681:	e8 76 ff ff ff       	call   0x40c5fc
40c686:	0f b6 c0             	movzbl %al,%eax
40c689:	8b 04 c5 40 09 46 00 	mov    0x460940(,%eax,8),%eax
40c690:	5b                   	pop    %ebx
40c691:	c3                   	ret
40c692:	8b c0                	mov    %eax,%eax
40c694:	55                   	push   %ebp
40c695:	8b ec                	mov    %esp,%ebp
40c697:	81 c4 90 fe ff ff    	add    $0xfffffe90,%esp
40c69d:	53                   	push   %ebx
40c69e:	56                   	push   %esi
40c69f:	33 c0                	xor    %eax,%eax
40c6a1:	89 85 90 fe ff ff    	mov    %eax,-0x170(%ebp)
40c6a7:	89 85 b4 fe ff ff    	mov    %eax,-0x14c(%ebp)
40c6ad:	89 85 ac fe ff ff    	mov    %eax,-0x154(%ebp)
40c6b3:	89 85 b0 fe ff ff    	mov    %eax,-0x150(%ebp)
40c6b9:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c6bc:	33 c0                	xor    %eax,%eax
40c6be:	55                   	push   %ebp
40c6bf:	68 4f c8 40 00       	push   $0x40c84f
40c6c4:	64 ff 30             	push   %fs:(%eax)
40c6c7:	64 89 20             	mov    %esp,%fs:(%eax)
40c6ca:	8b 45 08             	mov    0x8(%ebp),%eax
40c6cd:	8b 58 fc             	mov    -0x4(%eax),%ebx
40c6d0:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
40c6d4:	75 0f                	jne    0x40c6e5
40c6d6:	8d 55 fc             	lea    -0x4(%ebp),%edx
40c6d9:	a1 10 d8 46 00       	mov    0x46d810,%eax
40c6de:	e8 21 9f ff ff       	call   0x406604
40c6e3:	eb 0d                	jmp    0x40c6f2
40c6e5:	8d 55 fc             	lea    -0x4(%ebp),%edx
40c6e8:	a1 84 d6 46 00       	mov    0x46d684,%eax
40c6ed:	e8 12 9f ff ff       	call   0x406604
40c6f2:	8b 73 18             	mov    0x18(%ebx),%esi
40c6f5:	6a 1c                	push   $0x1c
40c6f7:	8d 45 e0             	lea    -0x20(%ebp),%eax
40c6fa:	50                   	push   %eax
40c6fb:	8b 43 0c             	mov    0xc(%ebx),%eax
40c6fe:	50                   	push   %eax
40c6ff:	e8 cc a3 ff ff       	call   0x406ad0
40c704:	81 7d f0 00 10 00 00 	cmpl   $0x1000,-0x10(%ebp)
40c70b:	0f 85 b3 00 00 00    	jne    0x40c7c4
40c711:	68 05 01 00 00       	push   $0x105
40c716:	8d 85 db fe ff ff    	lea    -0x125(%ebp),%eax
40c71c:	50                   	push   %eax
40c71d:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40c720:	50                   	push   %eax
40c721:	e8 9a a2 ff ff       	call   0x4069c0
40c726:	85 c0                	test   %eax,%eax
40c728:	0f 84 96 00 00 00    	je     0x40c7c4
40c72e:	8b 43 0c             	mov    0xc(%ebx),%eax
40c731:	89 85 b8 fe ff ff    	mov    %eax,-0x148(%ebp)
40c737:	c6 85 bc fe ff ff 05 	movb   $0x5,-0x144(%ebp)
40c73e:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
40c744:	8d 95 db fe ff ff    	lea    -0x125(%ebp),%edx
40c74a:	b9 05 01 00 00       	mov    $0x105,%ecx
40c74f:	e8 3c 82 ff ff       	call   0x404990
40c754:	8b 85 b0 fe ff ff    	mov    -0x150(%ebp),%eax
40c75a:	8d 95 b4 fe ff ff    	lea    -0x14c(%ebp),%edx
40c760:	e8 33 c9 ff ff       	call   0x409098
40c765:	8b 85 b4 fe ff ff    	mov    -0x14c(%ebp),%eax
40c76b:	89 85 c0 fe ff ff    	mov    %eax,-0x140(%ebp)
40c771:	c6 85 c4 fe ff ff 0b 	movb   $0xb,-0x13c(%ebp)
40c778:	8b 45 fc             	mov    -0x4(%ebp),%eax
40c77b:	89 85 c8 fe ff ff    	mov    %eax,-0x138(%ebp)
40c781:	c6 85 cc fe ff ff 0b 	movb   $0xb,-0x134(%ebp)
40c788:	89 b5 d0 fe ff ff    	mov    %esi,-0x130(%ebp)
40c78e:	c6 85 d4 fe ff ff 05 	movb   $0x5,-0x12c(%ebp)
40c795:	8d 85 b8 fe ff ff    	lea    -0x148(%ebp),%eax
40c79b:	50                   	push   %eax
40c79c:	6a 03                	push   $0x3
40c79e:	8d 95 ac fe ff ff    	lea    -0x154(%ebp),%edx
40c7a4:	a1 08 d7 46 00       	mov    0x46d708,%eax
40c7a9:	e8 56 9e ff ff       	call   0x406604
40c7ae:	8b 8d ac fe ff ff    	mov    -0x154(%ebp),%ecx
40c7b4:	b2 01                	mov    $0x1,%dl
40c7b6:	a1 a0 80 40 00       	mov    0x4080a0,%eax
40c7bb:	e8 b8 fa ff ff       	call   0x40c278
40c7c0:	8b d8                	mov    %eax,%ebx
40c7c2:	eb 5a                	jmp    0x40c81e
40c7c4:	8b 43 0c             	mov    0xc(%ebx),%eax
40c7c7:	89 85 94 fe ff ff    	mov    %eax,-0x16c(%ebp)
40c7cd:	c6 85 98 fe ff ff 05 	movb   $0x5,-0x168(%ebp)
40c7d4:	8b 45 fc             	mov    -0x4(%ebp),%eax
40c7d7:	89 85 9c fe ff ff    	mov    %eax,-0x164(%ebp)
40c7dd:	c6 85 a0 fe ff ff 0b 	movb   $0xb,-0x160(%ebp)
40c7e4:	89 b5 a4 fe ff ff    	mov    %esi,-0x15c(%ebp)
40c7ea:	c6 85 a8 fe ff ff 05 	movb   $0x5,-0x158(%ebp)
40c7f1:	8d 85 94 fe ff ff    	lea    -0x16c(%ebp),%eax
40c7f7:	50                   	push   %eax
40c7f8:	6a 02                	push   $0x2
40c7fa:	8d 95 90 fe ff ff    	lea    -0x170(%ebp),%edx
40c800:	a1 90 d6 46 00       	mov    0x46d690,%eax
40c805:	e8 fa 9d ff ff       	call   0x406604
40c80a:	8b 8d 90 fe ff ff    	mov    -0x170(%ebp),%ecx
40c810:	b2 01                	mov    $0x1,%dl
40c812:	a1 a0 80 40 00       	mov    0x4080a0,%eax
40c817:	e8 5c fa ff ff       	call   0x40c278
40c81c:	8b d8                	mov    %eax,%ebx
40c81e:	33 c0                	xor    %eax,%eax
40c820:	5a                   	pop    %edx
40c821:	59                   	pop    %ecx
40c822:	59                   	pop    %ecx
40c823:	64 89 10             	mov    %edx,%fs:(%eax)
40c826:	68 56 c8 40 00       	push   $0x40c856
40c82b:	8d 85 90 fe ff ff    	lea    -0x170(%ebp),%eax
40c831:	e8 ea 7e ff ff       	call   0x404720
40c836:	8d 85 ac fe ff ff    	lea    -0x154(%ebp),%eax
40c83c:	ba 03 00 00 00       	mov    $0x3,%edx
40c841:	e8 fe 7e ff ff       	call   0x404744
40c846:	8d 45 fc             	lea    -0x4(%ebp),%eax
40c849:	e8 d2 7e ff ff       	call   0x404720
40c84e:	c3                   	ret
40c84f:	e9 34 78 ff ff       	jmp    0x404088
40c854:	eb d5                	jmp    0x40c82b
40c856:	8b c3                	mov    %ebx,%eax
40c858:	5e                   	pop    %esi
40c859:	5b                   	pop    %ebx
40c85a:	8b e5                	mov    %ebp,%esp
40c85c:	5d                   	pop    %ebp
40c85d:	c3                   	ret
40c85e:	8b c0                	mov    %eax,%eax
40c860:	55                   	push   %ebp
40c861:	8b ec                	mov    %esp,%ebp
40c863:	83 c4 f0             	add    $0xfffffff0,%esp
40c866:	53                   	push   %ebx
40c867:	33 d2                	xor    %edx,%edx
40c869:	89 55 f0             	mov    %edx,-0x10(%ebp)
40c86c:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c86f:	33 c0                	xor    %eax,%eax
40c871:	55                   	push   %ebp
40c872:	68 19 c9 40 00       	push   $0x40c919
40c877:	64 ff 30             	push   %fs:(%eax)
40c87a:	64 89 20             	mov    %esp,%fs:(%eax)
40c87d:	8b 45 fc             	mov    -0x4(%ebp),%eax
40c880:	e8 77 fd ff ff       	call   0x40c5fc
40c885:	0f b6 c0             	movzbl %al,%eax
40c888:	8b d0                	mov    %eax,%edx
40c88a:	83 c2 fd             	add    $0xfffffffd,%edx
40c88d:	83 ea 08             	sub    $0x8,%edx
40c890:	72 08                	jb     0x40c89a
40c892:	74 1d                	je     0x40c8b1
40c894:	4a                   	dec    %edx
40c895:	83 ea 0a             	sub    $0xa,%edx
40c898:	73 22                	jae    0x40c8bc
40c89a:	8d 04 c5 40 09 46 00 	lea    0x460940(,%eax,8),%eax
40c8a1:	8b 48 04             	mov    0x4(%eax),%ecx
40c8a4:	8b 00                	mov    (%eax),%eax
40c8a6:	b2 01                	mov    $0x1,%dl
40c8a8:	e8 8f f9 ff ff       	call   0x40c23c
40c8ad:	8b d8                	mov    %eax,%ebx
40c8af:	eb 3b                	jmp    0x40c8ec
40c8b1:	55                   	push   %ebp
40c8b2:	e8 dd fd ff ff       	call   0x40c694
40c8b7:	59                   	pop    %ecx
40c8b8:	8b d8                	mov    %eax,%ebx
40c8ba:	eb 30                	jmp    0x40c8ec
40c8bc:	8b 45 fc             	mov    -0x4(%ebp),%eax
40c8bf:	8b 00                	mov    (%eax),%eax
40c8c1:	89 45 f4             	mov    %eax,-0xc(%ebp)
40c8c4:	c6 45 f8 00          	movb   $0x0,-0x8(%ebp)
40c8c8:	8d 45 f4             	lea    -0xc(%ebp),%eax
40c8cb:	50                   	push   %eax
40c8cc:	6a 00                	push   $0x0
40c8ce:	8d 55 f0             	lea    -0x10(%ebp),%edx
40c8d1:	a1 dc d3 46 00       	mov    0x46d3dc,%eax
40c8d6:	e8 29 9d ff ff       	call   0x406604
40c8db:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40c8de:	b2 01                	mov    $0x1,%dl
40c8e0:	a1 10 7c 40 00       	mov    0x407c10,%eax
40c8e5:	e8 8e f9 ff ff       	call   0x40c278
40c8ea:	8b d8                	mov    %eax,%ebx
40c8ec:	8b c3                	mov    %ebx,%eax
40c8ee:	8b 15 b8 7b 40 00    	mov    0x407bb8,%edx
40c8f4:	e8 87 71 ff ff       	call   0x403a80
40c8f9:	84 c0                	test   %al,%al
40c8fb:	74 06                	je     0x40c903
40c8fd:	8b 45 fc             	mov    -0x4(%ebp),%eax
40c900:	89 43 0c             	mov    %eax,0xc(%ebx)
40c903:	33 c0                	xor    %eax,%eax
40c905:	5a                   	pop    %edx
40c906:	59                   	pop    %ecx
40c907:	59                   	pop    %ecx
40c908:	64 89 10             	mov    %edx,%fs:(%eax)
40c90b:	68 20 c9 40 00       	push   $0x40c920
40c910:	8d 45 f0             	lea    -0x10(%ebp),%eax
40c913:	e8 08 7e ff ff       	call   0x404720
40c918:	c3                   	ret
40c919:	e9 6a 77 ff ff       	jmp    0x404088
40c91e:	eb f0                	jmp    0x40c910
40c920:	8b c3                	mov    %ebx,%eax
40c922:	5b                   	pop    %ebx
40c923:	8b e5                	mov    %ebp,%esp
40c925:	5d                   	pop    %ebp
40c926:	c3                   	ret
40c927:	90                   	nop
40c928:	e8 3b f8 ff ff       	call   0x40c168
40c92d:	b8 01 00 00 00       	mov    $0x1,%eax
40c932:	e8 d1 7d ff ff       	call   0x404708
40c937:	c3                   	ret
40c938:	8b 0d 80 d4 46 00    	mov    0x46d480,%ecx
40c93e:	b2 01                	mov    $0x1,%dl
40c940:	a1 04 7b 40 00       	mov    0x407b04,%eax
40c945:	e8 ae f9 ff ff       	call   0x40c2f8
40c94a:	a3 1c 09 47 00       	mov    %eax,0x47091c