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)
40ed02:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40ed05:	85 c9                	test   %ecx,%ecx
40ed07:	74 0a                	je     0x40ed13
40ed09:	8b 01                	mov    (%ecx),%eax
40ed0b:	51                   	push   %ecx
40ed0c:	ff 50 08             	call   *0x8(%eax)
40ed0f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40ed13:	8b 45 08             	mov    0x8(%ebp),%eax
40ed16:	83 c3 10             	add    $0x10,%ebx
40ed19:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40ed1c:	40                   	inc    %eax
40ed1d:	89 45 08             	mov    %eax,0x8(%ebp)
40ed20:	3b c1                	cmp    %ecx,%eax
40ed22:	0f 82 2f ff ff ff    	jb     0x40ec57
40ed28:	33 db                	xor    %ebx,%ebx
40ed2a:	8b 45 10             	mov    0x10(%ebp),%eax
40ed2d:	8b f3                	mov    %ebx,%esi
40ed2f:	89 08                	mov    %ecx,(%eax)
40ed31:	8b 45 0c             	mov    0xc(%ebp),%eax
40ed34:	89 38                	mov    %edi,(%eax)
40ed36:	8b fb                	mov    %ebx,%edi
40ed38:	8b 45 f8             	mov    -0x8(%ebp),%eax
40ed3b:	85 c0                	test   %eax,%eax
40ed3d:	74 07                	je     0x40ed46
40ed3f:	50                   	push   %eax
40ed40:	ff 15 20 b3 44 00    	call   *0x44b320
40ed46:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40ed49:	85 c9                	test   %ecx,%ecx
40ed4b:	74 06                	je     0x40ed53
40ed4d:	8b 01                	mov    (%ecx),%eax
40ed4f:	51                   	push   %ecx
40ed50:	ff 50 08             	call   *0x8(%eax)
40ed53:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40ed56:	85 c9                	test   %ecx,%ecx
40ed58:	74 06                	je     0x40ed60
40ed5a:	8b 01                	mov    (%ecx),%eax
40ed5c:	51                   	push   %ecx
40ed5d:	ff 50 08             	call   *0x8(%eax)
40ed60:	85 ff                	test   %edi,%edi
40ed62:	74 06                	je     0x40ed6a
40ed64:	57                   	push   %edi
40ed65:	e8 2f 4c ff ff       	call   0x403999
40ed6a:	5f                   	pop    %edi
40ed6b:	8b c6                	mov    %esi,%eax
40ed6d:	5e                   	pop    %esi
40ed6e:	5b                   	pop    %ebx
40ed6f:	8b e5                	mov    %ebp,%esp
40ed71:	5d                   	pop    %ebp
40ed72:	c2 0c 00             	ret    $0xc
40ed75:	68 30 1a 45 00       	push   $0x451a30
40ed7a:	e9 68 fe ff ff       	jmp    0x40ebe7
40ed7f:	68 10 1a 45 00       	push   $0x451a10
40ed84:	e9 5e fe ff ff       	jmp    0x40ebe7
40ed89:	68 64 e2 44 00       	push   $0x44e264
40ed8e:	e9 54 fe ff ff       	jmp    0x40ebe7
40ed93:	68 f8 19 45 00       	push   $0x4519f8
40ed98:	e9 4a fe ff ff       	jmp    0x40ebe7
40ed9d:	68 d0 19 45 00       	push   $0x4519d0
40eda2:	e9 40 fe ff ff       	jmp    0x40ebe7
40eda7:	68 48 ca 44 00       	push   $0x44ca48
40edac:	e9 36 fe ff ff       	jmp    0x40ebe7
40edb1:	55                   	push   %ebp
40edb2:	8b ec                	mov    %esp,%ebp
40edb4:	51                   	push   %ecx
40edb5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40edb9:	8d 45 fc             	lea    -0x4(%ebp),%eax
40edbc:	56                   	push   %esi
40edbd:	50                   	push   %eax
40edbe:	ff 75 10             	push   0x10(%ebp)
40edc1:	ff 75 0c             	push   0xc(%ebp)
40edc4:	e8 c5 85 ff ff       	call   0x40738e
40edc9:	8b f0                	mov    %eax,%esi
40edcb:	85 f6                	test   %esi,%esi
40edcd:	79 0a                	jns    0x40edd9
40edcf:	ff 75 10             	push   0x10(%ebp)
40edd2:	68 98 21 45 00       	push   $0x452198
40edd7:	eb 1c                	jmp    0x40edf5
40edd9:	ff 75 fc             	push   -0x4(%ebp)
40eddc:	ff 75 14             	push   0x14(%ebp)
40eddf:	ff 75 08             	push   0x8(%ebp)
40ede2:	e8 ab 25 03 00       	call   0x441392
40ede7:	8b f0                	mov    %eax,%esi
40ede9:	85 f6                	test   %esi,%esi
40edeb:	79 11                	jns    0x40edfe
40eded:	ff 75 14             	push   0x14(%ebp)
40edf0:	68 44 17 45 00       	push   $0x451744
40edf5:	56                   	push   %esi
40edf6:	e8 34 13 03 00       	call   0x44012f
40edfb:	83 c4 0c             	add    $0xc,%esp
40edfe:	ff 75 fc             	push   -0x4(%ebp)
40ee01:	e8 8d 39 ff ff       	call   0x402793
40ee06:	8b c6                	mov    %esi,%eax
40ee08:	5e                   	pop    %esi
40ee09:	8b e5                	mov    %ebp,%esp
40ee0b:	5d                   	pop    %ebp
40ee0c:	c2 10 00             	ret    $0x10
40ee0f:	55                   	push   %ebp
40ee10:	8b ec                	mov    %esp,%ebp
40ee12:	83 ec 10             	sub    $0x10,%esp
40ee15:	53                   	push   %ebx
40ee16:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40ee19:	33 d2                	xor    %edx,%edx
40ee1b:	56                   	push   %esi
40ee1c:	57                   	push   %edi
40ee1d:	8b f2                	mov    %edx,%esi
40ee1f:	89 55 f4             	mov    %edx,-0xc(%ebp)
40ee22:	8b fa                	mov    %edx,%edi
40ee24:	89 55 fc             	mov    %edx,-0x4(%ebp)
40ee27:	89 55 f8             	mov    %edx,-0x8(%ebp)
40ee2a:	39 53 04             	cmp    %edx,0x4(%ebx)
40ee2d:	0f 86 bb 00 00 00    	jbe    0x40eeee
40ee33:	8b c2                	mov    %edx,%eax
40ee35:	89 55 0c             	mov    %edx,0xc(%ebp)
40ee38:	8b 0b                	mov    (%ebx),%ecx
40ee3a:	03 c8                	add    %eax,%ecx
40ee3c:	8d 45 f4             	lea    -0xc(%ebp),%eax
40ee3f:	52                   	push   %edx
40ee40:	50                   	push   %eax
40ee41:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40ee44:	ff 71 08             	push   0x8(%ecx)
40ee47:	ff 75 08             	push   0x8(%ebp)
40ee4a:	e8 80 83 ff ff       	call   0x4071cf
40ee4f:	8b f0                	mov    %eax,%esi
40ee51:	85 f6                	test   %esi,%esi
40ee53:	78 62                	js     0x40eeb7
40ee55:	8d 45 fc             	lea    -0x4(%ebp),%eax
40ee58:	50                   	push   %eax
40ee59:	68 ac 0f 45 00       	push   $0x450fac
40ee5e:	ff 75 f4             	push   -0xc(%ebp)
40ee61:	e8 13 3f ff ff       	call   0x402d79
40ee66:	8b f0                	mov    %eax,%esi
40ee68:	85 f6                	test   %esi,%esi
40ee6a:	78 44                	js     0x40eeb0
40ee6c:	8d 45 f8             	lea    -0x8(%ebp),%eax
40ee6f:	50                   	push   %eax
40ee70:	8b 45 f0             	mov    -0x10(%ebp),%eax
40ee73:	ff 30                	push   (%eax)
40ee75:	ff 75 fc             	push   -0x4(%ebp)
40ee78:	e8 fc 3e ff ff       	call   0x402d79
40ee7d:	8b f0                	mov    %eax,%esi
40ee7f:	85 f6                	test   %esi,%esi
40ee81:	78 26                	js     0x40eea9
40ee83:	ff 75 f8             	push   -0x8(%ebp)
40ee86:	e8 ad 51 03 00       	call   0x444038
40ee8b:	6a 00                	push   $0x0
40ee8d:	ff 75 fc             	push   -0x4(%ebp)
40ee90:	e8 d5 4c ff ff       	call   0x403b6a
40ee95:	8b 45 0c             	mov    0xc(%ebp),%eax
40ee98:	47                   	inc    %edi
40ee99:	83 c0 10             	add    $0x10,%eax
40ee9c:	6a 00                	push   $0x0
40ee9e:	89 45 0c             	mov    %eax,0xc(%ebp)
40eea1:	5a                   	pop    %edx
40eea2:	3b 7b 04             	cmp    0x4(%ebx),%edi
40eea5:	72 91                	jb     0x40ee38
40eea7:	eb 1b                	jmp    0x40eec4
40eea9:	68 80 1f 45 00       	push   $0x451f80
40eeae:	eb 0c                	jmp    0x40eebc
40eeb0:	68 58 1f 45 00       	push   $0x451f58
40eeb5:	eb 05                	jmp    0x40eebc
40eeb7:	68 34 1f 45 00       	push   $0x451f34
40eebc:	56                   	push   %esi
40eebd:	e8 6d 12 03 00       	call   0x44012f
40eec2:	59                   	pop    %ecx
40eec3:	59                   	pop    %ecx
40eec4:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
40eec8:	74 08                	je     0x40eed2
40eeca:	ff 75 f8             	push   -0x8(%ebp)
40eecd:	e8 1d 66 03 00       	call   0x4454ef
40eed2:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40eed6:	74 08                	je     0x40eee0
40eed8:	ff 75 fc             	push   -0x4(%ebp)
40eedb:	e8 0f 66 03 00       	call   0x4454ef
40eee0:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
40eee4:	74 08                	je     0x40eeee