40e589:	8b f0                	mov    %eax,%esi
40e58b:	85 f6                	test   %esi,%esi
40e58d:	79 74                	jns    0x40e603
40e58f:	68 fc 07 45 00       	push   $0x4507fc
40e594:	56                   	push   %esi
40e595:	e8 95 1b 03 00       	call   0x44012f
40e59a:	59                   	pop    %ecx
40e59b:	59                   	pop    %ecx
40e59c:	eb 67                	jmp    0x40e605
40e59e:	68 48 07 45 00       	push   $0x450748
40e5a3:	eb ef                	jmp    0x40e594
40e5a5:	68 24 07 45 00       	push   $0x450724
40e5aa:	eb e8                	jmp    0x40e594
40e5ac:	68 ec 01 45 00       	push   $0x4501ec
40e5b1:	eb e1                	jmp    0x40e594
40e5b3:	68 28 04 45 00       	push   $0x450428
40e5b8:	eb da                	jmp    0x40e594
40e5ba:	68 f8 03 45 00       	push   $0x4503f8
40e5bf:	eb d3                	jmp    0x40e594
40e5c1:	68 c4 03 45 00       	push   $0x4503c4
40e5c6:	eb cc                	jmp    0x40e594
40e5c8:	68 94 03 45 00       	push   $0x450394
40e5cd:	eb c5                	jmp    0x40e594
40e5cf:	68 70 03 45 00       	push   $0x450370
40e5d4:	eb be                	jmp    0x40e594
40e5d6:	ff 75 f4             	push   -0xc(%ebp)
40e5d9:	be ff ff 00 80       	mov    $0x8000ffff,%esi
40e5de:	68 30 03 45 00       	push   $0x450330
40e5e3:	56                   	push   %esi
40e5e4:	e8 46 1b 03 00       	call   0x44012f
40e5e9:	83 c4 0c             	add    $0xc,%esp
40e5ec:	eb 17                	jmp    0x40e605
40e5ee:	68 48 03 45 00       	push   $0x450348
40e5f3:	eb 9f                	jmp    0x40e594
40e5f5:	68 6c ca 44 00       	push   $0x44ca6c
40e5fa:	eb 98                	jmp    0x40e594
40e5fc:	68 48 ca 44 00       	push   $0x44ca48
40e601:	eb 91                	jmp    0x40e594
40e603:	33 f6                	xor    %esi,%esi
40e605:	5f                   	pop    %edi
40e606:	5b                   	pop    %ebx
40e607:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40e60a:	85 c9                	test   %ecx,%ecx
40e60c:	74 06                	je     0x40e614
40e60e:	8b 01                	mov    (%ecx),%eax
40e610:	51                   	push   %ecx
40e611:	ff 50 08             	call   *0x8(%eax)
40e614:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e617:	85 c9                	test   %ecx,%ecx
40e619:	74 06                	je     0x40e621
40e61b:	8b 01                	mov    (%ecx),%eax
40e61d:	51                   	push   %ecx
40e61e:	ff 50 08             	call   *0x8(%eax)
40e621:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
40e625:	74 09                	je     0x40e630
40e627:	ff 75 f8             	push   -0x8(%ebp)
40e62a:	ff 15 20 b3 44 00    	call   *0x44b320
40e630:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
40e634:	74 08                	je     0x40e63e
40e636:	ff 75 f4             	push   -0xc(%ebp)
40e639:	e8 b1 6e 03 00       	call   0x4454ef
40e63e:	8b c6                	mov    %esi,%eax
40e640:	5e                   	pop    %esi
40e641:	8b e5                	mov    %ebp,%esp
40e643:	5d                   	pop    %ebp
40e644:	c2 0c 00             	ret    $0xc
40e647:	55                   	push   %ebp
40e648:	8b ec                	mov    %esp,%ebp
40e64a:	53                   	push   %ebx
40e64b:	56                   	push   %esi
40e64c:	8b 75 08             	mov    0x8(%ebp),%esi
40e64f:	33 db                	xor    %ebx,%ebx
40e651:	57                   	push   %edi
40e652:	39 1e                	cmp    %ebx,(%esi)
40e654:	74 23                	je     0x40e679
40e656:	8b fb                	mov    %ebx,%edi
40e658:	39 5e 04             	cmp    %ebx,0x4(%esi)
40e65b:	76 15                	jbe    0x40e672
40e65d:	8b 06                	mov    (%esi),%eax
40e65f:	39 1c f8             	cmp    %ebx,(%eax,%edi,8)
40e662:	74 08                	je     0x40e66c
40e664:	ff 34 f8             	push   (%eax,%edi,8)
40e667:	e8 83 6e 03 00       	call   0x4454ef
40e66c:	47                   	inc    %edi
40e66d:	3b 7e 04             	cmp    0x4(%esi),%edi
40e670:	72 eb                	jb     0x40e65d
40e672:	ff 36                	push   (%esi)
40e674:	e8 20 53 ff ff       	call   0x403999
40e679:	39 5e 08             	cmp    %ebx,0x8(%esi)
40e67c:	74 28                	je     0x40e6a6
40e67e:	8b fb                	mov    %ebx,%edi
40e680:	39 5e 0c             	cmp    %ebx,0xc(%esi)
40e683:	76 19                	jbe    0x40e69e
40e685:	8b 46 08             	mov    0x8(%esi),%eax
40e688:	03 c3                	add    %ebx,%eax
40e68a:	50                   	push   %eax
40e68b:	e8 b4 f6 ff ff       	call   0x40dd44
40e690:	47                   	inc    %edi
40e691:	81 c3 e0 00 00 00    	add    $0xe0,%ebx
40e697:	3b 7e 0c             	cmp    0xc(%esi),%edi
40e69a:	72 e9                	jb     0x40e685
40e69c:	33 db                	xor    %ebx,%ebx
40e69e:	ff 76 08             	push   0x8(%esi)
40e6a1:	e8 f3 52 ff ff       	call   0x403999
40e6a6:	39 5e 10             	cmp    %ebx,0x10(%esi)
40e6a9:	74 28                	je     0x40e6d3
40e6ab:	8b fb                	mov    %ebx,%edi
40e6ad:	39 5e 14             	cmp    %ebx,0x14(%esi)
40e6b0:	76 19                	jbe    0x40e6cb
40e6b2:	8b 46 10             	mov    0x10(%esi),%eax
40e6b5:	03 c3                	add    %ebx,%eax
40e6b7:	50                   	push   %eax
40e6b8:	e8 87 f6 ff ff       	call   0x40dd44
40e6bd:	47                   	inc    %edi
40e6be:	81 c3 e0 00 00 00    	add    $0xe0,%ebx
40e6c4:	3b 7e 14             	cmp    0x14(%esi),%edi
40e6c7:	72 e9                	jb     0x40e6b2
40e6c9:	33 db                	xor    %ebx,%ebx
40e6cb:	ff 76 10             	push   0x10(%esi)
40e6ce:	e8 c6 52 ff ff       	call   0x403999
40e6d3:	39 5e 18             	cmp    %ebx,0x18(%esi)
40e6d6:	74 26                	je     0x40e6fe
40e6d8:	8b fb                	mov    %ebx,%edi
40e6da:	39 5e 1c             	cmp    %ebx,0x1c(%esi)
40e6dd:	76 17                	jbe    0x40e6f6
40e6df:	8b 46 18             	mov    0x18(%esi),%eax
40e6e2:	83 3c f8 00          	cmpl   $0x0,(%eax,%edi,8)
40e6e6:	74 08                	je     0x40e6f0
40e6e8:	ff 34 f8             	push   (%eax,%edi,8)
40e6eb:	e8 ff 6d 03 00       	call   0x4454ef
40e6f0:	47                   	inc    %edi
40e6f1:	3b 7e 1c             	cmp    0x1c(%esi),%edi
40e6f4:	72 e9                	jb     0x40e6df
40e6f6:	ff 76 18             	push   0x18(%esi)
40e6f9:	e8 9b 52 ff ff       	call   0x403999
40e6fe:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
40e702:	74 08                	je     0x40e70c
40e704:	ff 76 20             	push   0x20(%esi)
40e707:	e8 8d 52 ff ff       	call   0x403999
40e70c:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
40e710:	74 08                	je     0x40e71a
40e712:	ff 76 24             	push   0x24(%esi)
40e715:	e8 7f 52 ff ff       	call   0x403999
40e71a:	6a 2c                	push   $0x2c
40e71c:	53                   	push   %ebx
40e71d:	56                   	push   %esi
40e71e:	e8 4d 0f 02 00       	call   0x42f670
40e723:	83 c4 0c             	add    $0xc,%esp
40e726:	5f                   	pop    %edi
40e727:	5e                   	pop    %esi
40e728:	5b                   	pop    %ebx
40e729:	5d                   	pop    %ebp
40e72a:	c2 04 00             	ret    $0x4
40e72d:	55                   	push   %ebp
40e72e:	8b ec                	mov    %esp,%ebp
40e730:	51                   	push   %ecx
40e731:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40e735:	8d 45 fc             	lea    -0x4(%ebp),%eax
40e738:	56                   	push   %esi
40e739:	50                   	push   %eax
40e73a:	68 08 0a 45 00       	push   $0x450a08
40e73f:	ff 75 0c             	push   0xc(%ebp)
40e742:	e8 43 51 03 00       	call   0x44388a
40e747:	8b f0                	mov    %eax,%esi
40e749:	83 fe 01             	cmp    $0x1,%esi
40e74c:	75 04                	jne    0x40e752
40e74e:	33 f6                	xor    %esi,%esi
40e750:	eb 32                	jmp    0x40e784
40e752:	85 f6                	test   %esi,%esi
40e754:	79 07                	jns    0x40e75d
40e756:	68 18 0a 45 00       	push   $0x450a18
40e75b:	eb 1f                	jmp    0x40e77c
40e75d:	8b 45 08             	mov    0x8(%ebp),%eax
40e760:	83 c0 04             	add    $0x4,%eax
40e763:	50                   	push   %eax
40e764:	68 40 0a 45 00       	push   $0x450a40
40e769:	ff 75 fc             	push   -0x4(%ebp)
40e76c:	e8 56 4a 03 00       	call   0x4431c7
40e771:	8b f0                	mov    %eax,%esi
40e773:	85 f6                	test   %esi,%esi
40e775:	79 0d                	jns    0x40e784
40e777:	68 54 0a 45 00       	push   $0x450a54
40e77c:	56                   	push   %esi
40e77d:	e8 ad 19 03 00       	call   0x44012f
40e782:	59                   	pop    %ecx
40e783:	59                   	pop    %ecx
40e784:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e787:	85 c9                	test   %ecx,%ecx
40e789:	74 06                	je     0x40e791
40e78b:	8b 01                	mov    (%ecx),%eax
40e78d:	51                   	push   %ecx
40e78e:	ff 50 08             	call   *0x8(%eax)
40e791:	8b c6                	mov    %esi,%eax
40e793:	5e                   	pop    %esi
40e794:	8b e5                	mov    %ebp,%esp
40e796:	5d                   	pop    %ebp
40e797:	c2 08 00             	ret    $0x8
40e79a:	55                   	push   %ebp
40e79b:	8b ec                	mov    %esp,%ebp
40e79d:	56                   	push   %esi
40e79e:	8b 75 08             	mov    0x8(%ebp),%esi
40e7a1:	8d 46 08             	lea    0x8(%esi),%eax
40e7a4:	50                   	push   %eax
40e7a5:	e8 9a f5 ff ff       	call   0x40dd44
40e7aa:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
40e7ae:	74 08                	je     0x40e7b8
40e7b0:	ff 76 04             	push   0x4(%esi)
40e7b3:	e8 37 6d 03 00       	call   0x4454ef
40e7b8:	68 e8 00 00 00       	push   $0xe8
40e7bd:	6a 00                	push   $0x0
40e7bf:	56                   	push   %esi
40e7c0:	e8 ab 0e 02 00       	call   0x42f670
40e7c5:	83 c4 0c             	add    $0xc,%esp
40e7c8:	5e                   	pop    %esi
40e7c9:	5d                   	pop    %ebp
40e7ca:	c2 04 00             	ret    $0x4
40e7cd:	55                   	push   %ebp
40e7ce:	8b ec                	mov    %esp,%ebp
40e7d0:	51                   	push   %ecx
40e7d1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40e7d5:	8d 45 fc             	lea    -0x4(%ebp),%eax
40e7d8:	56                   	push   %esi
40e7d9:	57                   	push   %edi
40e7da:	8b 7d 08             	mov    0x8(%ebp),%edi
40e7dd:	ff b7 a0 00 00 00    	push   0xa0(%edi)
40e7e3:	68 d0 1e 45 00       	push   $0x451ed0
40e7e8:	50                   	push   %eax
40e7e9:	e8 32 37 ff ff       	call   0x401f20
40e7ee:	8b f0                	mov    %eax,%esi
40e7f0:	83 c4 0c             	add    $0xc,%esp
40e7f3:	85 f6                	test   %esi,%esi
40e7f5:	79 0f                	jns    0x40e806
40e7f7:	68 fc 1e 45 00       	push   $0x451efc
40e7fc:	56                   	push   %esi
40e7fd:	e8 2d 19 03 00       	call   0x44012f
40e802:	59                   	pop    %ecx
40e803:	59                   	pop    %ecx
40e804:	eb 48                	jmp    0x40e84e
40e806:	8b 87 a8 00 00 00    	mov    0xa8(%edi),%eax
40e80c:	85 c0                	test   %eax,%eax
40e80e:	74 1b                	je     0x40e82b
40e810:	50                   	push   %eax
40e811:	ff 75 fc             	push   -0x4(%ebp)
40e814:	8d 45 fc             	lea    -0x4(%ebp),%eax
40e817:	68 24 00 45 00       	push   $0x450024
40e81c:	50                   	push   %eax
40e81d:	e8 fe 36 ff ff       	call   0x401f20
40e822:	8b f0                	mov    %eax,%esi
40e824:	83 c4 10             	add    $0x10,%esp
40e827:	85 f6                	test   %esi,%esi
40e829:	78 cc                	js     0x40e7f7
40e82b:	6a 00                	push   $0x0
40e82d:	ff b7 ac 00 00 00    	push   0xac(%edi)
40e833:	8d 45 fc             	lea    -0x4(%ebp),%eax
40e836:	50                   	push   %eax
40e837:	e8 b6 36 ff ff       	call   0x401ef2
40e83c:	8b f0                	mov    %eax,%esi
40e83e:	85 f6                	test   %esi,%esi
40e840:	78 b5                	js     0x40e7f7
40e842:	8b 45 0c             	mov    0xc(%ebp),%eax
40e845:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e848:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40e84c:	89 08                	mov    %ecx,(%eax)
40e84e:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40e852:	74 08                	je     0x40e85c
40e854:	ff 75 fc             	push   -0x4(%ebp)
40e857:	e8 93 6c 03 00       	call   0x4454ef
40e85c:	5f                   	pop    %edi
40e85d:	8b c6                	mov    %esi,%eax
40e85f:	5e                   	pop    %esi
40e860:	8b e5                	mov    %ebp,%esp
40e862:	5d                   	pop    %ebp
40e863:	c2 08 00             	ret    $0x8
40e866:	55                   	push   %ebp
40e867:	8b ec                	mov    %esp,%ebp
40e869:	53                   	push   %ebx
40e86a:	56                   	push   %esi
40e86b:	57                   	push   %edi
40e86c:	ff 75 10             	push   0x10(%ebp)
40e86f:	bb 2c 0c 45 00       	mov    $0x450c2c,%ebx
40e874:	53                   	push   %ebx
40e875:	ff 75 0c             	push   0xc(%ebp)
40e878:	e8 11 8b ff ff       	call   0x40738e
40e87d:	8b f0                	mov    %eax,%esi
40e87f:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40e885:	75 2d                	jne    0x40e8b4
40e887:	8b 7d 08             	mov    0x8(%ebp),%edi
40e88a:	6a 00                	push   $0x0
40e88c:	ff 77 68             	push   0x68(%edi)
40e88f:	53                   	push   %ebx
40e890:	ff 75 0c             	push   0xc(%ebp)
40e893:	e8 5e 98 ff ff       	call   0x4080f6
40e898:	8b f0                	mov    %eax,%esi
40e89a:	85 f6                	test   %esi,%esi
40e89c:	79 07                	jns    0x40e8a5
40e89e:	68 24 1b 45 00       	push   $0x451b24
40e8a3:	eb 18                	jmp    0x40e8bd
40e8a5:	6a 00                	push   $0x0
40e8a7:	ff 77 68             	push   0x68(%edi)
40e8aa:	ff 75 10             	push   0x10(%ebp)
40e8ad:	e8 f3 38 ff ff       	call   0x4021a5
40e8b2:	8b f0                	mov    %eax,%esi
40e8b4:	85 f6                	test   %esi,%esi
40e8b6:	79 0d                	jns    0x40e8c5
40e8b8:	68 48 1b 45 00       	push   $0x451b48
40e8bd:	56                   	push   %esi
40e8be:	e8 6c 18 03 00       	call   0x44012f
40e8c3:	59                   	pop    %ecx
40e8c4:	59                   	pop    %ecx
40e8c5:	5f                   	pop    %edi
40e8c6:	8b c6                	mov    %esi,%eax
40e8c8:	5e                   	pop    %esi
40e8c9:	5b                   	pop    %ebx
40e8ca:	5d                   	pop    %ebp
40e8cb:	c2 0c 00             	ret    $0xc
40e8ce:	55                   	push   %ebp
40e8cf:	8b ec                	mov    %esp,%ebp
40e8d1:	53                   	push   %ebx
40e8d2:	56                   	push   %esi
40e8d3:	57                   	push   %edi
40e8d4:	ff 75 10             	push   0x10(%ebp)
40e8d7:	bb 58 0c 45 00       	mov    $0x450c58,%ebx
40e8dc:	53                   	push   %ebx
40e8dd:	ff 75 0c             	push   0xc(%ebp)
40e8e0:	e8 a9 8a ff ff       	call   0x40738e
40e8e5:	8b f0                	mov    %eax,%esi
40e8e7:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40e8ed:	75 2d                	jne    0x40e91c
40e8ef:	8b 7d 08             	mov    0x8(%ebp),%edi
40e8f2:	6a 00                	push   $0x0
40e8f4:	ff 77 60             	push   0x60(%edi)
40e8f7:	53                   	push   %ebx
40e8f8:	ff 75 0c             	push   0xc(%ebp)
40e8fb:	e8 f6 97 ff ff       	call   0x4080f6
40e900:	8b f0                	mov    %eax,%esi
40e902:	85 f6                	test   %esi,%esi
40e904:	79 07                	jns    0x40e90d
40e906:	68 6c 1b 45 00       	push   $0x451b6c
40e90b:	eb 18                	jmp    0x40e925
40e90d:	6a 00                	push   $0x0
40e90f:	ff 77 60             	push   0x60(%edi)
40e912:	ff 75 10             	push   0x10(%ebp)
40e915:	e8 8b 38 ff ff       	call   0x4021a5
40e91a:	8b f0                	mov    %eax,%esi
40e91c:	85 f6                	test   %esi,%esi
40e91e:	79 0d                	jns    0x40e92d
40e920:	68 88 1b 45 00       	push   $0x451b88
40e925:	56                   	push   %esi
40e926:	e8 04 18 03 00       	call   0x44012f
40e92b:	59                   	pop    %ecx