40f6bf:	50                   	push   %eax
40f6c0:	89 5d f0             	mov    %ebx,-0x10(%ebp)
40f6c3:	e8 58 28 ff ff       	call   0x401f20
40f6c8:	8b f0                	mov    %eax,%esi
40f6ca:	83 c4 0c             	add    $0xc,%esp
40f6cd:	85 f6                	test   %esi,%esi
40f6cf:	79 12                	jns    0x40f6e3
40f6d1:	68 08 16 45 00       	push   $0x451608
40f6d6:	56                   	push   %esi
40f6d7:	e8 53 0a 03 00       	call   0x44012f
40f6dc:	59                   	pop    %ecx
40f6dd:	59                   	pop    %ecx
40f6de:	e9 dc 00 00 00       	jmp    0x40f7bf
40f6e3:	8d 45 f8             	lea    -0x8(%ebp),%eax
40f6e6:	50                   	push   %eax
40f6e7:	6a 01                	push   $0x1
40f6e9:	ff 75 f4             	push   -0xc(%ebp)
40f6ec:	ff 77 4c             	push   0x4c(%edi)
40f6ef:	e8 4b 17 03 00       	call   0x440e3f
40f6f4:	85 c0                	test   %eax,%eax
40f6f6:	78 0e                	js     0x40f706
40f6f8:	8b 45 0c             	mov    0xc(%ebp),%eax
40f6fb:	c7 00 03 00 00 00    	movl   $0x3,(%eax)
40f701:	e9 b7 00 00 00       	jmp    0x40f7bd
40f706:	8d 45 fc             	lea    -0x4(%ebp),%eax
40f709:	50                   	push   %eax
40f70a:	6a 01                	push   $0x1
40f70c:	ff 77 50             	push   0x50(%edi)
40f70f:	ff 77 4c             	push   0x4c(%edi)
40f712:	e8 28 17 03 00       	call   0x440e3f
40f717:	8b f0                	mov    %eax,%esi
40f719:	bf 02 00 07 80       	mov    $0x80070002,%edi
40f71e:	3b f7                	cmp    %edi,%esi
40f720:	0f 84 92 00 00 00    	je     0x40f7b8
40f726:	81 fe 03 00 07 80    	cmp    $0x80070003,%esi
40f72c:	0f 84 86 00 00 00    	je     0x40f7b8
40f732:	85 f6                	test   %esi,%esi
40f734:	79 07                	jns    0x40f73d
40f736:	68 40 16 45 00       	push   $0x451640
40f73b:	eb 99                	jmp    0x40f6d6
40f73d:	8d 45 f0             	lea    -0x10(%ebp),%eax
40f740:	50                   	push   %eax
40f741:	68 64 16 45 00       	push   $0x451664
40f746:	ff 75 fc             	push   -0x4(%ebp)
40f749:	e8 9e 17 03 00       	call   0x440eec
40f74e:	8b f0                	mov    %eax,%esi
40f750:	3b f7                	cmp    %edi,%esi
40f752:	75 0b                	jne    0x40f75f
40f754:	8b 45 0c             	mov    0xc(%ebp),%eax
40f757:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
40f75d:	eb 5e                	jmp    0x40f7bd
40f75f:	85 f6                	test   %esi,%esi
40f761:	79 0a                	jns    0x40f76d
40f763:	68 74 16 45 00       	push   $0x451674
40f768:	e9 69 ff ff ff       	jmp    0x40f6d6
40f76d:	8b 45 f0             	mov    -0x10(%ebp),%eax
40f770:	83 e8 01             	sub    $0x1,%eax
40f773:	74 38                	je     0x40f7ad
40f775:	83 e8 01             	sub    $0x1,%eax
40f778:	74 28                	je     0x40f7a2
40f77a:	83 e8 01             	sub    $0x1,%eax
40f77d:	74 18                	je     0x40f797
40f77f:	83 e8 01             	sub    $0x1,%eax
40f782:	8b 45 0c             	mov    0xc(%ebp),%eax
40f785:	74 08                	je     0x40f78f
40f787:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
40f78d:	eb 30                	jmp    0x40f7bf
40f78f:	c7 00 04 00 00 00    	movl   $0x4,(%eax)
40f795:	eb 28                	jmp    0x40f7bf
40f797:	8b 45 0c             	mov    0xc(%ebp),%eax
40f79a:	c7 00 06 00 00 00    	movl   $0x6,(%eax)
40f7a0:	eb 1d                	jmp    0x40f7bf
40f7a2:	8b 45 0c             	mov    0xc(%ebp),%eax
40f7a5:	c7 00 05 00 00 00    	movl   $0x5,(%eax)
40f7ab:	eb 12                	jmp    0x40f7bf
40f7ad:	8b 45 0c             	mov    0xc(%ebp),%eax
40f7b0:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
40f7b6:	eb 07                	jmp    0x40f7bf
40f7b8:	8b 45 0c             	mov    0xc(%ebp),%eax
40f7bb:	89 18                	mov    %ebx,(%eax)
40f7bd:	8b f3                	mov    %ebx,%esi
40f7bf:	8b 3d 00 b0 44 00    	mov    0x44b000,%edi
40f7c5:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
40f7c8:	74 08                	je     0x40f7d2
40f7ca:	ff 75 fc             	push   -0x4(%ebp)
40f7cd:	ff d7                	call   *%edi
40f7cf:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40f7d2:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
40f7d5:	74 08                	je     0x40f7df
40f7d7:	ff 75 f8             	push   -0x8(%ebp)
40f7da:	ff d7                	call   *%edi
40f7dc:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40f7df:	39 5d f4             	cmp    %ebx,-0xc(%ebp)
40f7e2:	74 08                	je     0x40f7ec
40f7e4:	ff 75 f4             	push   -0xc(%ebp)
40f7e7:	e8 03 5d 03 00       	call   0x4454ef
40f7ec:	5f                   	pop    %edi
40f7ed:	8b c6                	mov    %esi,%eax
40f7ef:	5e                   	pop    %esi
40f7f0:	5b                   	pop    %ebx
40f7f1:	8b e5                	mov    %ebp,%esp
40f7f3:	5d                   	pop    %ebp
40f7f4:	c2 08 00             	ret    $0x8
40f7f7:	55                   	push   %ebp
40f7f8:	8b ec                	mov    %esp,%ebp
40f7fa:	51                   	push   %ecx
40f7fb:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40f7ff:	8d 45 fc             	lea    -0x4(%ebp),%eax
40f802:	56                   	push   %esi
40f803:	50                   	push   %eax
40f804:	8b 45 08             	mov    0x8(%ebp),%eax
40f807:	6a 01                	push   $0x1
40f809:	ff 70 50             	push   0x50(%eax)
40f80c:	ff 70 4c             	push   0x4c(%eax)
40f80f:	e8 2b 16 03 00       	call   0x440e3f
40f814:	8b f0                	mov    %eax,%esi
40f816:	85 f6                	test   %esi,%esi
40f818:	78 12                	js     0x40f82c
40f81a:	ff 75 0c             	push   0xc(%ebp)
40f81d:	68 7c 0f 45 00       	push   $0x450f7c
40f822:	ff 75 fc             	push   -0x4(%ebp)
40f825:	e8 44 17 03 00       	call   0x440f6e
40f82a:	8b f0                	mov    %eax,%esi
40f82c:	81 fe 02 00 07 80    	cmp    $0x80070002,%esi
40f832:	74 08                	je     0x40f83c
40f834:	81 fe 03 00 07 80    	cmp    $0x80070003,%esi
40f83a:	75 02                	jne    0x40f83e
40f83c:	33 f6                	xor    %esi,%esi
40f83e:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40f842:	74 09                	je     0x40f84d
40f844:	ff 75 fc             	push   -0x4(%ebp)
40f847:	ff 15 00 b0 44 00    	call   *0x44b000
40f84d:	8b c6                	mov    %esi,%eax
40f84f:	5e                   	pop    %esi
40f850:	8b e5                	mov    %ebp,%esp
40f852:	5d                   	pop    %ebp
40f853:	c2 08 00             	ret    $0x8
40f856:	55                   	push   %ebp
40f857:	8b ec                	mov    %esp,%ebp
40f859:	8b 45 08             	mov    0x8(%ebp),%eax
40f85c:	ff 70 5c             	push   0x5c(%eax)
40f85f:	ff 75 10             	push   0x10(%ebp)
40f862:	ff 75 0c             	push   0xc(%ebp)
40f865:	e8 20 4b 03 00       	call   0x44438a
40f86a:	5d                   	pop    %ebp
40f86b:	c2 0c 00             	ret    $0xc
40f86e:	55                   	push   %ebp
40f86f:	8b ec                	mov    %esp,%ebp
40f871:	83 ec 10             	sub    $0x10,%esp
40f874:	33 c0                	xor    %eax,%eax
40f876:	53                   	push   %ebx
40f877:	56                   	push   %esi
40f878:	89 45 f8             	mov    %eax,-0x8(%ebp)
40f87b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40f87e:	89 45 f0             	mov    %eax,-0x10(%ebp)
40f881:	89 45 f4             	mov    %eax,-0xc(%ebp)
40f884:	8d 45 f8             	lea    -0x8(%ebp),%eax
40f887:	50                   	push   %eax
40f888:	68 bc 0f 45 00       	push   $0x450fbc
40f88d:	ff 75 0c             	push   0xc(%ebp)
40f890:	e8 f5 3f 03 00       	call   0x44388a
40f895:	8b f0                	mov    %eax,%esi
40f897:	bb 90 04 07 80       	mov    $0x80070490,%ebx
40f89c:	83 fe 01             	cmp    $0x1,%esi
40f89f:	0f 44 f3             	cmove  %ebx,%esi
40f8a2:	85 f6                	test   %esi,%esi
40f8a4:	79 12                	jns    0x40f8b8
40f8a6:	68 d8 0f 45 00       	push   $0x450fd8
40f8ab:	56                   	push   %esi
40f8ac:	e8 7e 08 03 00       	call   0x44012f
40f8b1:	59                   	pop    %ecx
40f8b2:	59                   	pop    %ecx
40f8b3:	e9 e8 04 00 00       	jmp    0x40fda0
40f8b8:	57                   	push   %edi
40f8b9:	8b 7d 08             	mov    0x8(%ebp),%edi
40f8bc:	8d 47 10             	lea    0x10(%edi),%eax
40f8bf:	50                   	push   %eax
40f8c0:	68 64 ca 44 00       	push   $0x44ca64
40f8c5:	ff 75 f8             	push   -0x8(%ebp)
40f8c8:	e8 fa 38 03 00       	call   0x4431c7
40f8cd:	8b f0                	mov    %eax,%esi
40f8cf:	85 f6                	test   %esi,%esi
40f8d1:	79 0a                	jns    0x40f8dd
40f8d3:	68 6c ca 44 00       	push   $0x44ca6c
40f8d8:	e9 ba 04 00 00       	jmp    0x40fd97
40f8dd:	8d 47 14             	lea    0x14(%edi),%eax
40f8e0:	50                   	push   %eax
40f8e1:	68 fc 0f 45 00       	push   $0x450ffc
40f8e6:	ff 75 f8             	push   -0x8(%ebp)
40f8e9:	e8 d9 38 03 00       	call   0x4431c7
40f8ee:	8b f0                	mov    %eax,%esi
40f8f0:	85 f6                	test   %esi,%esi
40f8f2:	79 0a                	jns    0x40f8fe
40f8f4:	68 04 10 45 00       	push   $0x451004
40f8f9:	e9 99 04 00 00       	jmp    0x40fd97
40f8fe:	ff 75 0c             	push   0xc(%ebp)
40f901:	57                   	push   %edi
40f902:	e8 2f f0 ff ff       	call   0x40e936
40f907:	8b f0                	mov    %eax,%esi
40f909:	85 f6                	test   %esi,%esi
40f90b:	79 0a                	jns    0x40f917
40f90d:	68 18 10 45 00       	push   $0x451018
40f912:	e9 80 04 00 00       	jmp    0x40fd97
40f917:	8d 45 f4             	lea    -0xc(%ebp),%eax
40f91a:	50                   	push   %eax
40f91b:	68 38 10 45 00       	push   $0x451038
40f920:	ff 75 f8             	push   -0x8(%ebp)
40f923:	e8 9f 38 03 00       	call   0x4431c7
40f928:	8b f0                	mov    %eax,%esi
40f92a:	85 f6                	test   %esi,%esi
40f92c:	79 0a                	jns    0x40f938
40f92e:	68 48 10 45 00       	push   $0x451048
40f933:	e9 5f 04 00 00       	jmp    0x40fd97
40f938:	8d 47 38             	lea    0x38(%edi),%eax
40f93b:	50                   	push   %eax
40f93c:	6a 00                	push   $0x0
40f93e:	ff 75 f4             	push   -0xc(%ebp)
40f941:	e8 14 52 03 00       	call   0x444b5a
40f946:	8b f0                	mov    %eax,%esi
40f948:	85 f6                	test   %esi,%esi
40f94a:	79 0d                	jns    0x40f959
40f94c:	ff 75 f4             	push   -0xc(%ebp)
40f94f:	68 60 10 45 00       	push   $0x451060
40f954:	e9 ca 02 00 00       	jmp    0x40fc23
40f959:	8d 47 44             	lea    0x44(%edi),%eax
40f95c:	50                   	push   %eax
40f95d:	68 80 10 45 00       	push   $0x451080
40f962:	ff 75 f8             	push   -0x8(%ebp)
40f965:	e8 5d 38 03 00       	call   0x4431c7
40f96a:	8b f0                	mov    %eax,%esi
40f96c:	85 f6                	test   %esi,%esi
40f96e:	79 0a                	jns    0x40f97a
40f970:	68 98 10 45 00       	push   $0x451098
40f975:	e9 1d 04 00 00       	jmp    0x40fd97
40f97a:	8d 47 48             	lea    0x48(%edi),%eax
40f97d:	50                   	push   %eax
40f97e:	68 b4 10 45 00       	push   $0x4510b4
40f983:	ff 75 f8             	push   -0x8(%ebp)
40f986:	e8 3c 38 03 00       	call   0x4431c7
40f98b:	8b f0                	mov    %eax,%esi
40f98d:	85 f6                	test   %esi,%esi
40f98f:	79 0a                	jns    0x40f99b
40f991:	68 d4 10 45 00       	push   $0x4510d4
40f996:	e9 fc 03 00 00       	jmp    0x40fd97
40f99b:	57                   	push   %edi
40f99c:	68 e0 03 45 00       	push   $0x4503e0
40f9a1:	ff 75 f8             	push   -0x8(%ebp)
40f9a4:	e8 32 3a 03 00       	call   0x4433db
40f9a9:	8b f0                	mov    %eax,%esi
40f9ab:	85 f6                	test   %esi,%esi
40f9ad:	79 0a                	jns    0x40f9b9
40f9af:	68 f8 03 45 00       	push   $0x4503f8
40f9b4:	e9 de 03 00 00       	jmp    0x40fd97
40f9b9:	8d 45 fc             	lea    -0x4(%ebp),%eax
40f9bc:	50                   	push   %eax
40f9bd:	68 f4 10 45 00       	push   $0x4510f4
40f9c2:	ff 75 f8             	push   -0x8(%ebp)
40f9c5:	e8 c0 3e 03 00       	call   0x44388a
40f9ca:	8b f0                	mov    %eax,%esi
40f9cc:	83 fe 01             	cmp    $0x1,%esi
40f9cf:	0f 84 a9 02 00 00    	je     0x40fc7e
40f9d5:	85 f6                	test   %esi,%esi
40f9d7:	79 0a                	jns    0x40f9e3
40f9d9:	68 fc 10 45 00       	push   $0x4510fc
40f9de:	e9 b4 03 00 00       	jmp    0x40fd97
40f9e3:	8d 47 04             	lea    0x4(%edi),%eax
40f9e6:	50                   	push   %eax
40f9e7:	68 18 11 45 00       	push   $0x451118
40f9ec:	ff 75 fc             	push   -0x4(%ebp)
40f9ef:	e8 e7 39 03 00       	call   0x4433db
40f9f4:	8b f0                	mov    %eax,%esi
40f9f6:	85 f6                	test   %esi,%esi
40f9f8:	79 0a                	jns    0x40fa04
40f9fa:	68 2c 11 45 00       	push   $0x45112c
40f9ff:	e9 93 03 00 00       	jmp    0x40fd97
40fa04:	8d 47 60             	lea    0x60(%edi),%eax
40fa07:	50                   	push   %eax
40fa08:	68 88 0b 45 00       	push   $0x450b88
40fa0d:	ff 75 fc             	push   -0x4(%ebp)
40fa10:	e8 b2 37 03 00       	call   0x4431c7
40fa15:	8b f0                	mov    %eax,%esi
40fa17:	3b f3                	cmp    %ebx,%esi
40fa19:	74 0e                	je     0x40fa29
40fa1b:	85 f6                	test   %esi,%esi
40fa1d:	79 0a                	jns    0x40fa29
40fa1f:	68 48 11 45 00       	push   $0x451148
40fa24:	e9 6e 03 00 00       	jmp    0x40fd97
40fa29:	8d 47 64             	lea    0x64(%edi),%eax
40fa2c:	50                   	push   %eax
40fa2d:	68 90 0d 45 00       	push   $0x450d90
40fa32:	ff 75 fc             	push   -0x4(%ebp)
40fa35:	e8 8d 37 03 00       	call   0x4431c7
40fa3a:	8b f0                	mov    %eax,%esi
40fa3c:	3b f3                	cmp    %ebx,%esi
40fa3e:	74 0e                	je     0x40fa4e
40fa40:	85 f6                	test   %esi,%esi
40fa42:	79 0a                	jns    0x40fa4e
40fa44:	68 64 11 45 00       	push   $0x451164
40fa49:	e9 49 03 00 00       	jmp    0x40fd97
40fa4e:	8d 47 68             	lea    0x68(%edi),%eax
40fa51:	50                   	push   %eax
40fa52:	68 cc 0d 45 00       	push   $0x450dcc
40fa57:	ff 75 fc             	push   -0x4(%ebp)
40fa5a:	e8 68 37 03 00       	call   0x4431c7
40fa5f:	8b f0                	mov    %eax,%esi
40fa61:	3b f3                	cmp    %ebx,%esi
40fa63:	74 0e                	je     0x40fa73
40fa65:	85 f6                	test   %esi,%esi
40fa67:	79 0a                	jns    0x40fa73
40fa69:	68 84 11 45 00       	push   $0x451184
40fa6e:	e9 24 03 00 00       	jmp    0x40fd97
40fa73:	8d 47 6c             	lea    0x6c(%edi),%eax
40fa76:	50                   	push   %eax
40fa77:	68 e0 0d 45 00       	push   $0x450de0
40fa7c:	ff 75 fc             	push   -0x4(%ebp)
40fa7f:	e8 43 37 03 00       	call   0x4431c7
40fa84:	8b f0                	mov    %eax,%esi
40fa86:	3b f3                	cmp    %ebx,%esi
40fa88:	74 0e                	je     0x40fa98
40fa8a:	85 f6                	test   %esi,%esi
40fa8c:	79 0a                	jns    0x40fa98
40fa8e:	68 a0 11 45 00       	push   $0x4511a0
40fa93:	e9 ff 02 00 00       	jmp    0x40fd97
40fa98:	8d 47 70             	lea    0x70(%edi),%eax
40fa9b:	50                   	push   %eax
40fa9c:	68 f4 0d 45 00       	push   $0x450df4
40faa1:	ff 75 fc             	push   -0x4(%ebp)
40faa4:	e8 1e 37 03 00       	call   0x4431c7
40faa9:	8b f0                	mov    %eax,%esi
40faab:	3b f3                	cmp    %ebx,%esi
40faad:	74 0e                	je     0x40fabd
40faaf:	85 f6                	test   %esi,%esi
40fab1:	79 0a                	jns    0x40fabd
40fab3:	68 bc 11 45 00       	push   $0x4511bc
40fab8:	e9 da 02 00 00       	jmp    0x40fd97
40fabd:	8d 47 74             	lea    0x74(%edi),%eax
40fac0:	50                   	push   %eax
40fac1:	68 dc 11 45 00       	push   $0x4511dc
40fac6:	ff 75 fc             	push   -0x4(%ebp)
40fac9:	e8 f9 36 03 00       	call   0x4431c7
40face:	8b f0                	mov    %eax,%esi
40fad0:	3b f3                	cmp    %ebx,%esi
40fad2:	74 0e                	je     0x40fae2
40fad4:	85 f6                	test   %esi,%esi
40fad6:	79 0a                	jns    0x40fae2
40fad8:	68 f0 11 45 00       	push   $0x4511f0
40fadd:	e9 b5 02 00 00       	jmp    0x40fd97
40fae2:	8d 47 78             	lea    0x78(%edi),%eax
40fae5:	50                   	push   %eax
40fae6:	68 0c 12 45 00       	push   $0x45120c