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
40e92c:	59                   	pop    %ecx
40e92d:	5f                   	pop    %edi
40e92e:	8b c6                	mov    %esi,%eax
40e930:	5e                   	pop    %esi
40e931:	5b                   	pop    %ebx
40e932:	5d                   	pop    %ebp
40e933:	c2 0c 00             	ret    $0xc
40e936:	55                   	push   %ebp
40e937:	8b ec                	mov    %esp,%ebp
40e939:	83 ec 14             	sub    $0x14,%esp
40e93c:	53                   	push   %ebx
40e93d:	56                   	push   %esi
40e93e:	8d 45 f4             	lea    -0xc(%ebp),%eax
40e941:	33 db                	xor    %ebx,%ebx
40e943:	50                   	push   %eax
40e944:	68 e8 1c 45 00       	push   $0x451ce8
40e949:	ff 75 0c             	push   0xc(%ebp)
40e94c:	89 5d f4             	mov    %ebx,-0xc(%ebp)
40e94f:	89 5d f0             	mov    %ebx,-0x10(%ebp)
40e952:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40e955:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40e958:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40e95b:	e8 a3 4e 03 00       	call   0x443803
40e960:	8b f0                	mov    %eax,%esi
40e962:	85 f6                	test   %esi,%esi
40e964:	79 12                	jns    0x40e978
40e966:	68 04 1d 45 00       	push   $0x451d04
40e96b:	56                   	push   %esi
40e96c:	e8 be 17 03 00       	call   0x44012f
40e971:	59                   	pop    %ecx
40e972:	59                   	pop    %ecx
40e973:	e9 fa 01 00 00       	jmp    0x40eb72
40e978:	8b 45 f4             	mov    -0xc(%ebp),%eax
40e97b:	8d 55 ec             	lea    -0x14(%ebp),%edx
40e97e:	52                   	push   %edx
40e97f:	50                   	push   %eax
40e980:	8b 08                	mov    (%eax),%ecx
40e982:	ff 51 20             	call   *0x20(%ecx)
40e985:	8b f0                	mov    %eax,%esi
40e987:	85 f6                	test   %esi,%esi
40e989:	79 07                	jns    0x40e992
40e98b:	68 28 1d 45 00       	push   $0x451d28
40e990:	eb d9                	jmp    0x40e96b
40e992:	89 5d 0c             	mov    %ebx,0xc(%ebp)
40e995:	39 5d ec             	cmp    %ebx,-0x14(%ebp)
40e998:	0f 86 d4 01 00 00    	jbe    0x40eb72
40e99e:	8b 1d 28 b1 44 00    	mov    0x44b128,%ebx
40e9a4:	57                   	push   %edi
40e9a5:	8b 7d 08             	mov    0x8(%ebp),%edi
40e9a8:	6a 00                	push   $0x0
40e9aa:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e9ad:	50                   	push   %eax
40e9ae:	ff 75 f4             	push   -0xc(%ebp)
40e9b1:	e8 aa 4d 03 00       	call   0x443760
40e9b6:	8b f0                	mov    %eax,%esi
40e9b8:	85 f6                	test   %esi,%esi
40e9ba:	0f 88 a4 01 00 00    	js     0x40eb64
40e9c0:	8d 45 f8             	lea    -0x8(%ebp),%eax
40e9c3:	50                   	push   %eax
40e9c4:	68 80 1d 45 00       	push   $0x451d80
40e9c9:	ff 75 f0             	push   -0x10(%ebp)
40e9cc:	e8 f6 47 03 00       	call   0x4431c7
40e9d1:	8b f0                	mov    %eax,%esi
40e9d3:	85 f6                	test   %esi,%esi
40e9d5:	0f 88 82 01 00 00    	js     0x40eb5d
40e9db:	8d 45 fc             	lea    -0x4(%ebp),%eax
40e9de:	50                   	push   %eax
40e9df:	68 64 ca 44 00       	push   $0x44ca64
40e9e4:	ff 75 f0             	push   -0x10(%ebp)
40e9e7:	e8 db 47 03 00       	call   0x4431c7
40e9ec:	8b f0                	mov    %eax,%esi
40e9ee:	85 f6                	test   %esi,%esi
40e9f0:	0f 88 60 01 00 00    	js     0x40eb56
40e9f6:	6a ff                	push   $0xffffffff
40e9f8:	68 a8 1d 45 00       	push   $0x451da8
40e9fd:	6a ff                	push   $0xffffffff
40e9ff:	ff 75 f8             	push   -0x8(%ebp)
40ea02:	33 f6                	xor    %esi,%esi
40ea04:	56                   	push   %esi
40ea05:	6a 7f                	push   $0x7f
40ea07:	ff d3                	call   *%ebx
40ea09:	83 f8 02             	cmp    $0x2,%eax
40ea0c:	75 34                	jne    0x40ea42
40ea0e:	8b 47 1c             	mov    0x1c(%edi),%eax
40ea11:	8d 4f 18             	lea    0x18(%edi),%ecx
40ea14:	6a 05                	push   $0x5
40ea16:	6a 04                	push   $0x4
40ea18:	40                   	inc    %eax
40ea19:	50                   	push   %eax
40ea1a:	51                   	push   %ecx
40ea1b:	e8 d6 4e ff ff       	call   0x4038f6
40ea20:	8b f0                	mov    %eax,%esi
40ea22:	85 f6                	test   %esi,%esi
40ea24:	0f 88 f8 00 00 00    	js     0x40eb22
40ea2a:	8b 57 1c             	mov    0x1c(%edi),%edx
40ea2d:	8b 4f 18             	mov    0x18(%edi),%ecx
40ea30:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ea33:	89 04 91             	mov    %eax,(%ecx,%edx,4)
40ea36:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40ea3a:	ff 47 1c             	incl   0x1c(%edi)
40ea3d:	e9 ce 00 00 00       	jmp    0x40eb10
40ea42:	6a ff                	push   $0xffffffff
40ea44:	68 ec 1d 45 00       	push   $0x451dec
40ea49:	6a ff                	push   $0xffffffff
40ea4b:	ff 75 f8             	push   -0x8(%ebp)
40ea4e:	56                   	push   %esi
40ea4f:	6a 7f                	push   $0x7f
40ea51:	ff d3                	call   *%ebx
40ea53:	83 f8 02             	cmp    $0x2,%eax
40ea56:	75 34                	jne    0x40ea8c
40ea58:	8b 47 24             	mov    0x24(%edi),%eax
40ea5b:	8d 4f 20             	lea    0x20(%edi),%ecx
40ea5e:	6a 05                	push   $0x5
40ea60:	6a 04                	push   $0x4
40ea62:	40                   	inc    %eax
40ea63:	50                   	push   %eax
40ea64:	51                   	push   %ecx
40ea65:	e8 8c 4e ff ff       	call   0x4038f6
40ea6a:	8b f0                	mov    %eax,%esi
40ea6c:	85 f6                	test   %esi,%esi
40ea6e:	0f 88 b5 00 00 00    	js     0x40eb29
40ea74:	8b 57 24             	mov    0x24(%edi),%edx
40ea77:	8b 4f 20             	mov    0x20(%edi),%ecx
40ea7a:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ea7d:	89 04 91             	mov    %eax,(%ecx,%edx,4)
40ea80:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40ea84:	ff 47 24             	incl   0x24(%edi)
40ea87:	e9 84 00 00 00       	jmp    0x40eb10
40ea8c:	6a ff                	push   $0xffffffff
40ea8e:	68 30 1e 45 00       	push   $0x451e30
40ea93:	6a ff                	push   $0xffffffff
40ea95:	ff 75 f8             	push   -0x8(%ebp)
40ea98:	56                   	push   %esi
40ea99:	6a 7f                	push   $0x7f
40ea9b:	ff d3                	call   *%ebx
40ea9d:	83 f8 02             	cmp    $0x2,%eax
40eaa0:	75 2d                	jne    0x40eacf
40eaa2:	8b 47 2c             	mov    0x2c(%edi),%eax
40eaa5:	8d 4f 28             	lea    0x28(%edi),%ecx
40eaa8:	6a 05                	push   $0x5
40eaaa:	6a 04                	push   $0x4
40eaac:	40                   	inc    %eax
40eaad:	50                   	push   %eax
40eaae:	51                   	push   %ecx
40eaaf:	e8 42 4e ff ff       	call   0x4038f6
40eab4:	8b f0                	mov    %eax,%esi
40eab6:	85 f6                	test   %esi,%esi
40eab8:	78 76                	js     0x40eb30
40eaba:	8b 57 2c             	mov    0x2c(%edi),%edx
40eabd:	8b 4f 28             	mov    0x28(%edi),%ecx
40eac0:	8b 45 fc             	mov    -0x4(%ebp),%eax
40eac3:	89 04 91             	mov    %eax,(%ecx,%edx,4)
40eac6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40eaca:	ff 47 2c             	incl   0x2c(%edi)
40eacd:	eb 41                	jmp    0x40eb10
40eacf:	6a ff                	push   $0xffffffff
40ead1:	68 70 1e 45 00       	push   $0x451e70
40ead6:	6a ff                	push   $0xffffffff
40ead8:	ff 75 f8             	push   -0x8(%ebp)
40eadb:	56                   	push   %esi
40eadc:	6a 7f                	push   $0x7f
40eade:	ff d3                	call   *%ebx
40eae0:	83 f8 02             	cmp    $0x2,%eax
40eae3:	75 59                	jne    0x40eb3e
40eae5:	8b 47 34             	mov    0x34(%edi),%eax
40eae8:	8d 4f 30             	lea    0x30(%edi),%ecx
40eaeb:	6a 05                	push   $0x5
40eaed:	6a 04                	push   $0x4
40eaef:	40                   	inc    %eax
40eaf0:	50                   	push   %eax
40eaf1:	51                   	push   %ecx
40eaf2:	e8 ff 4d ff ff       	call   0x4038f6
40eaf7:	8b f0                	mov    %eax,%esi
40eaf9:	85 f6                	test   %esi,%esi
40eafb:	78 3a                	js     0x40eb37