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
40eafd:	8b 57 34             	mov    0x34(%edi),%edx
40eb00:	8b 4f 30             	mov    0x30(%edi),%ecx
40eb03:	8b 45 fc             	mov    -0x4(%ebp),%eax
40eb06:	89 04 91             	mov    %eax,(%ecx,%edx,4)
40eb09:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40eb0d:	ff 47 34             	incl   0x34(%edi)
40eb10:	8b 45 0c             	mov    0xc(%ebp),%eax
40eb13:	40                   	inc    %eax
40eb14:	89 45 0c             	mov    %eax,0xc(%ebp)
40eb17:	3b 45 ec             	cmp    -0x14(%ebp),%eax
40eb1a:	0f 82 88 fe ff ff    	jb     0x40e9a8
40eb20:	eb 4f                	jmp    0x40eb71
40eb22:	68 b8 1d 45 00       	push   $0x451db8
40eb27:	eb 40                	jmp    0x40eb69
40eb29:	68 fc 1d 45 00       	push   $0x451dfc
40eb2e:	eb 39                	jmp    0x40eb69
40eb30:	68 3c 1e 45 00       	push   $0x451e3c
40eb35:	eb 32                	jmp    0x40eb69
40eb37:	68 7c 1e 45 00       	push   $0x451e7c
40eb3c:	eb 2b                	jmp    0x40eb69
40eb3e:	ff 75 f8             	push   -0x8(%ebp)
40eb41:	be 57 00 07 80       	mov    $0x80070057,%esi
40eb46:	68 b0 1e 45 00       	push   $0x451eb0
40eb4b:	56                   	push   %esi
40eb4c:	e8 de 15 03 00       	call   0x44012f
40eb51:	83 c4 0c             	add    $0xc,%esp
40eb54:	eb 1b                	jmp    0x40eb71
40eb56:	68 6c ca 44 00       	push   $0x44ca6c
40eb5b:	eb 0c                	jmp    0x40eb69
40eb5d:	68 90 1d 45 00       	push   $0x451d90
40eb62:	eb 05                	jmp    0x40eb69
40eb64:	68 54 1d 45 00       	push   $0x451d54
40eb69:	56                   	push   %esi
40eb6a:	e8 c0 15 03 00       	call   0x44012f
40eb6f:	59                   	pop    %ecx
40eb70:	59                   	pop    %ecx
40eb71:	5f                   	pop    %edi
40eb72:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40eb75:	85 c9                	test   %ecx,%ecx
40eb77:	74 06                	je     0x40eb7f
40eb79:	8b 01                	mov    (%ecx),%eax
40eb7b:	51                   	push   %ecx
40eb7c:	ff 50 08             	call   *0x8(%eax)
40eb7f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40eb82:	85 c9                	test   %ecx,%ecx
40eb84:	74 06                	je     0x40eb8c
40eb86:	8b 01                	mov    (%ecx),%eax
40eb88:	51                   	push   %ecx
40eb89:	ff 50 08             	call   *0x8(%eax)
40eb8c:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
40eb90:	74 08                	je     0x40eb9a
40eb92:	ff 75 f8             	push   -0x8(%ebp)
40eb95:	e8 55 69 03 00       	call   0x4454ef
40eb9a:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40eb9e:	74 08                	je     0x40eba8
40eba0:	ff 75 fc             	push   -0x4(%ebp)
40eba3:	e8 47 69 03 00       	call   0x4454ef
40eba8:	8b c6                	mov    %esi,%eax
40ebaa:	5e                   	pop    %esi
40ebab:	5b                   	pop    %ebx
40ebac:	8b e5                	mov    %ebp,%esp
40ebae:	5d                   	pop    %ebp
40ebaf:	c2 08 00             	ret    $0x8
40ebb2:	55                   	push   %ebp
40ebb3:	8b ec                	mov    %esp,%ebp
40ebb5:	83 ec 10             	sub    $0x10,%esp
40ebb8:	53                   	push   %ebx
40ebb9:	56                   	push   %esi
40ebba:	57                   	push   %edi
40ebbb:	8d 45 f0             	lea    -0x10(%ebp),%eax
40ebbe:	33 db                	xor    %ebx,%ebx
40ebc0:	50                   	push   %eax
40ebc1:	68 24 19 45 00       	push   $0x451924
40ebc6:	ff 75 08             	push   0x8(%ebp)
40ebc9:	89 5d f0             	mov    %ebx,-0x10(%ebp)
40ebcc:	8b fb                	mov    %ebx,%edi
40ebce:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40ebd1:	89 5d f4             	mov    %ebx,-0xc(%ebp)
40ebd4:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40ebd7:	e8 27 4c 03 00       	call   0x443803
40ebdc:	8b f0                	mov    %eax,%esi
40ebde:	85 f6                	test   %esi,%esi
40ebe0:	79 12                	jns    0x40ebf4
40ebe2:	68 3c 19 45 00       	push   $0x45193c
40ebe7:	56                   	push   %esi
40ebe8:	e8 42 15 03 00       	call   0x44012f
40ebed:	59                   	pop    %ecx
40ebee:	59                   	pop    %ecx
40ebef:	e9 44 01 00 00       	jmp    0x40ed38
40ebf4:	8b 45 f0             	mov    -0x10(%ebp),%eax
40ebf7:	8d 55 f4             	lea    -0xc(%ebp),%edx
40ebfa:	52                   	push   %edx
40ebfb:	50                   	push   %eax
40ebfc:	8b 08                	mov    (%eax),%ecx
40ebfe:	ff 51 20             	call   *0x20(%ecx)
40ec01:	8b f0                	mov    %eax,%esi
40ec03:	85 f6                	test   %esi,%esi
40ec05:	79 07                	jns    0x40ec0e
40ec07:	68 64 19 45 00       	push   $0x451964
40ec0c:	eb d9                	jmp    0x40ebe7
40ec0e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40ec11:	85 c9                	test   %ecx,%ecx
40ec13:	0f 84 11 01 00 00    	je     0x40ed2a
40ec19:	6a 01                	push   $0x1
40ec1b:	c1 e1 04             	shl    $0x4,%ecx
40ec1e:	51                   	push   %ecx
40ec1f:	e8 b0 4c ff ff       	call   0x4038d4
40ec24:	8b f8                	mov    %eax,%edi
40ec26:	85 ff                	test   %edi,%edi
40ec28:	75 1c                	jne    0x40ec46
40ec2a:	be 0e 00 07 80       	mov    $0x8007000e,%esi
40ec2f:	56                   	push   %esi
40ec30:	68 0c 04 00 00       	push   $0x40c
40ec35:	68 c0 12 45 00       	push   $0x4512c0
40ec3a:	e8 94 4b ff ff       	call   0x4037d3
40ec3f:	68 88 19 45 00       	push   $0x451988
40ec44:	eb a1                	jmp    0x40ebe7
40ec46:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40ec49:	89 5d 08             	mov    %ebx,0x8(%ebp)
40ec4c:	85 c9                	test   %ecx,%ecx
40ec4e:	0f 84 d6 00 00 00    	je     0x40ed2a
40ec54:	8d 5f 08             	lea    0x8(%edi),%ebx
40ec57:	6a 00                	push   $0x0
40ec59:	8d 45 fc             	lea    -0x4(%ebp),%eax
40ec5c:	50                   	push   %eax
40ec5d:	ff 75 f0             	push   -0x10(%ebp)
40ec60:	e8 fb 4a 03 00       	call   0x443760
40ec65:	8b f0                	mov    %eax,%esi
40ec67:	85 f6                	test   %esi,%esi
40ec69:	0f 88 38 01 00 00    	js     0x40eda7
40ec6f:	8d 43 f8             	lea    -0x8(%ebx),%eax
40ec72:	50                   	push   %eax
40ec73:	68 bc 19 45 00       	push   $0x4519bc
40ec78:	ff 75 fc             	push   -0x4(%ebp)
40ec7b:	e8 47 45 03 00       	call   0x4431c7
40ec80:	8b f0                	mov    %eax,%esi
40ec82:	85 f6                	test   %esi,%esi
40ec84:	0f 88 13 01 00 00    	js     0x40ed9d
40ec8a:	8d 43 fc             	lea    -0x4(%ebx),%eax
40ec8d:	50                   	push   %eax
40ec8e:	68 ec 19 45 00       	push   $0x4519ec
40ec93:	ff 75 fc             	push   -0x4(%ebp)
40ec96:	e8 2c 45 03 00       	call   0x4431c7
40ec9b:	8b f0                	mov    %eax,%esi
40ec9d:	85 f6                	test   %esi,%esi
40ec9f:	0f 88 ee 00 00 00    	js     0x40ed93
40eca5:	53                   	push   %ebx
40eca6:	68 58 e2 44 00       	push   $0x44e258
40ecab:	ff 75 fc             	push   -0x4(%ebp)
40ecae:	e8 14 45 03 00       	call   0x4431c7
40ecb3:	8b f0                	mov    %eax,%esi
40ecb5:	85 f6                	test   %esi,%esi
40ecb7:	0f 88 cc 00 00 00    	js     0x40ed89
40ecbd:	8d 45 f8             	lea    -0x8(%ebp),%eax
40ecc0:	50                   	push   %eax
40ecc1:	ff 75 fc             	push   -0x4(%ebp)
40ecc4:	e8 ff 46 03 00       	call   0x4433c8
40ecc9:	8b f0                	mov    %eax,%esi
40eccb:	85 f6                	test   %esi,%esi
40eccd:	0f 88 ac 00 00 00    	js     0x40ed7f
40ecd3:	68 e9 fd 00 00       	push   $0xfde9
40ecd8:	6a 00                	push   $0x0
40ecda:	ff 75 f8             	push   -0x8(%ebp)
40ecdd:	8d 43 04             	lea    0x4(%ebx),%eax
40ece0:	50                   	push   %eax
40ece1:	e8 50 37 ff ff       	call   0x402436
40ece6:	8b f0                	mov    %eax,%esi
40ece8:	85 f6                	test   %esi,%esi
40ecea:	0f 88 85 00 00 00    	js     0x40ed75
40ecf0:	8b 45 f8             	mov    -0x8(%ebp),%eax
40ecf3:	85 c0                	test   %eax,%eax
40ecf5:	74 0b                	je     0x40ed02
40ecf7:	50                   	push   %eax
40ecf8:	ff 15 20 b3 44 00    	call   *0x44b320
40ecfe:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)