4079f4:	89 46 10             	mov    %eax,0x10(%esi)
4079f7:	ff 75 f0             	push   -0x10(%ebp)
4079fa:	e8 5c 14 00 00       	call   0x408e5b
4079ff:	83 c4 0c             	add    $0xc,%esp
407a02:	eb 03                	jmp    0x407a07
407a04:	89 46 10             	mov    %eax,0x10(%esi)
407a07:	8b 86 cc 00 00 00    	mov    0xcc(%esi),%eax
407a0d:	3b c7                	cmp    %edi,%eax
407a0f:	74 12                	je     0x407a23
407a11:	50                   	push   %eax
407a12:	e8 31 15 00 00       	call   0x408f48
407a17:	59                   	pop    %ecx
407a18:	89 be cc 00 00 00    	mov    %edi,0xcc(%esi)
407a1e:	bb da 04 00 00       	mov    $0x4da,%ebx
407a23:	8b 86 d0 00 00 00    	mov    0xd0(%esi),%eax
407a29:	3b c7                	cmp    %edi,%eax
407a2b:	74 12                	je     0x407a3f
407a2d:	50                   	push   %eax
407a2e:	e8 15 15 00 00       	call   0x408f48
407a33:	59                   	pop    %ecx
407a34:	89 be d0 00 00 00    	mov    %edi,0xd0(%esi)
407a3a:	bb db 04 00 00       	mov    $0x4db,%ebx
407a3f:	8b be d4 00 00 00    	mov    0xd4(%esi),%edi
407a45:	85 ff                	test   %edi,%edi
407a47:	74 1a                	je     0x407a63
407a49:	8b cf                	mov    %edi,%ecx
407a4b:	e8 8f 19 00 00       	call   0x4093df
407a50:	57                   	push   %edi
407a51:	e8 f2 14 00 00       	call   0x408f48
407a56:	83 a6 d4 00 00 00 00 	andl   $0x0,0xd4(%esi)
407a5d:	59                   	pop    %ecx
407a5e:	bb dc 04 00 00       	mov    $0x4dc,%ebx
407a63:	85 db                	test   %ebx,%ebx
407a65:	74 0e                	je     0x407a75
407a67:	6a 00                	push   $0x0
407a69:	53                   	push   %ebx
407a6a:	ff 75 f0             	push   -0x10(%ebp)
407a6d:	e8 e9 13 00 00       	call   0x408e5b
407a72:	83 c4 0c             	add    $0xc,%esp
407a75:	8b 86 c4 00 00 00    	mov    0xc4(%esi),%eax
407a7b:	85 c0                	test   %eax,%eax
407a7d:	74 07                	je     0x407a86
407a7f:	50                   	push   %eax
407a80:	ff 15 ec a1 40 00    	call   *0x40a1ec
407a86:	8b 46 10             	mov    0x10(%esi),%eax
407a89:	83 a6 c4 00 00 00 00 	andl   $0x0,0xc4(%esi)
407a90:	48                   	dec    %eax
407a91:	0f 84 a5 00 00 00    	je     0x407b3c
407a97:	48                   	dec    %eax
407a98:	74 56                	je     0x407af0
407a9a:	48                   	dec    %eax
407a9b:	0f 85 fc 00 00 00    	jne    0x407b9d
407aa1:	68 68 02 00 00       	push   $0x268
407aa6:	e8 a3 14 00 00       	call   0x408f4e
407aab:	59                   	pop    %ecx
407aac:	8b c8                	mov    %eax,%ecx
407aae:	89 4d 08             	mov    %ecx,0x8(%ebp)
407ab1:	85 c9                	test   %ecx,%ecx
407ab3:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
407aba:	74 08                	je     0x407ac4
407abc:	56                   	push   %esi
407abd:	e8 c5 ab ff ff       	call   0x402687
407ac2:	eb 02                	jmp    0x407ac6
407ac4:	33 c0                	xor    %eax,%eax
407ac6:	ff 76 28             	push   0x28(%esi)
407ac9:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
407acd:	8b c8                	mov    %eax,%ecx
407acf:	89 86 d4 00 00 00    	mov    %eax,0xd4(%esi)
407ad5:	ff b6 f0 01 00 00    	push   0x1f0(%esi)
407adb:	e8 0f ad ff ff       	call   0x4027ef
407ae0:	89 86 c4 00 00 00    	mov    %eax,0xc4(%esi)
407ae6:	b8 dc 04 00 00       	mov    $0x4dc,%eax
407aeb:	e9 90 00 00 00       	jmp    0x407b80
407af0:	68 68 02 00 00       	push   $0x268
407af5:	e8 54 14 00 00       	call   0x408f4e
407afa:	59                   	pop    %ecx
407afb:	8b c8                	mov    %eax,%ecx
407afd:	89 4d 08             	mov    %ecx,0x8(%ebp)
407b00:	85 c9                	test   %ecx,%ecx
407b02:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
407b09:	74 08                	je     0x407b13
407b0b:	56                   	push   %esi
407b0c:	e8 97 b8 ff ff       	call   0x4033a8
407b11:	eb 02                	jmp    0x407b15
407b13:	33 c0                	xor    %eax,%eax
407b15:	ff 76 28             	push   0x28(%esi)
407b18:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
407b1c:	8b c8                	mov    %eax,%ecx
407b1e:	89 86 d0 00 00 00    	mov    %eax,0xd0(%esi)
407b24:	ff b6 f0 01 00 00    	push   0x1f0(%esi)
407b2a:	e8 9b bd ff ff       	call   0x4038ca
407b2f:	89 86 c4 00 00 00    	mov    %eax,0xc4(%esi)
407b35:	b8 db 04 00 00       	mov    $0x4db,%eax
407b3a:	eb 44                	jmp    0x407b80
407b3c:	68 a8 02 00 00       	push   $0x2a8
407b41:	e8 08 14 00 00       	call   0x408f4e
407b46:	59                   	pop    %ecx
407b47:	8b c8                	mov    %eax,%ecx
407b49:	89 4d 08             	mov    %ecx,0x8(%ebp)
407b4c:	33 c0                	xor    %eax,%eax
407b4e:	3b c8                	cmp    %eax,%ecx
407b50:	89 45 fc             	mov    %eax,-0x4(%ebp)
407b53:	74 06                	je     0x407b5b
407b55:	56                   	push   %esi
407b56:	e8 ae c8 ff ff       	call   0x404409
407b5b:	ff 76 28             	push   0x28(%esi)
407b5e:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
407b62:	8b c8                	mov    %eax,%ecx
407b64:	89 86 cc 00 00 00    	mov    %eax,0xcc(%esi)
407b6a:	ff b6 f0 01 00 00    	push   0x1f0(%esi)
407b70:	e8 9f d1 ff ff       	call   0x404d14
407b75:	89 86 c4 00 00 00    	mov    %eax,0xc4(%esi)
407b7b:	b8 da 04 00 00       	mov    $0x4da,%eax
407b80:	6a 01                	push   $0x1
407b82:	50                   	push   %eax
407b83:	ff 75 f0             	push   -0x10(%ebp)
407b86:	e8 d0 12 00 00       	call   0x408e5b
407b8b:	6a 01                	push   $0x1
407b8d:	68 d9 04 00 00       	push   $0x4d9
407b92:	ff 75 f0             	push   -0x10(%ebp)
407b95:	e8 c1 12 00 00       	call   0x408e5b
407b9a:	83 c4 18             	add    $0x18,%esp
407b9d:	8b ce                	mov    %esi,%ecx
407b9f:	e8 5a 03 00 00       	call   0x407efe
407ba4:	8b 86 ec 01 00 00    	mov    0x1ec(%esi),%eax
407baa:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
407bae:	89 45 e4             	mov    %eax,-0x1c(%ebp)
407bb1:	8d 45 e4             	lea    -0x1c(%ebp),%eax
407bb4:	50                   	push   %eax
407bb5:	6a 00                	push   $0x0
407bb7:	ff b6 f0 01 00 00    	push   0x1f0(%esi)
407bbd:	8b ce                	mov    %esi,%ecx
407bbf:	c7 45 ec fe ff ff ff 	movl   $0xfffffffe,-0x14(%ebp)
407bc6:	e8 1e 9e ff ff       	call   0x4019e9
407bcb:	8b 4d f4             	mov    -0xc(%ebp),%ecx
407bce:	5f                   	pop    %edi
407bcf:	5e                   	pop    %esi
407bd0:	5b                   	pop    %ebx
407bd1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407bd8:	c9                   	leave
407bd9:	c2 04 00             	ret    $0x4
407bdc:	8a 44 24 04          	mov    0x4(%esp),%al
407be0:	84 c0                	test   %al,%al
407be2:	88 41 2c             	mov    %al,0x2c(%ecx)
407be5:	74 0e                	je     0x407bf5
407be7:	ff b1 f0 01 00 00    	push   0x1f0(%ecx)
407bed:	ff 15 18 a2 40 00    	call   *0x40a218
407bf3:	eb 06                	jmp    0x407bfb
407bf5:	ff 15 1c a2 40 00    	call   *0x40a21c
407bfb:	c2 04 00             	ret    $0x4
407bfe:	55                   	push   %ebp
407bff:	8b ec                	mov    %esp,%ebp
407c01:	83 ec 1c             	sub    $0x1c,%esp
407c04:	57                   	push   %edi
407c05:	8b f9                	mov    %ecx,%edi
407c07:	80 7f 2c 00          	cmpb   $0x0,0x2c(%edi)
407c0b:	74 5f                	je     0x407c6c
407c0d:	8d 45 f4             	lea    -0xc(%ebp),%eax
407c10:	56                   	push   %esi
407c11:	50                   	push   %eax
407c12:	ff 15 cc a2 40 00    	call   *0x40a2cc
407c18:	8d 45 f4             	lea    -0xc(%ebp),%eax
407c1b:	8d b7 f0 01 00 00    	lea    0x1f0(%edi),%esi
407c21:	50                   	push   %eax
407c22:	ff 36                	push   (%esi)
407c24:	ff 15 60 a2 40 00    	call   *0x40a260
407c2a:	8d 45 e4             	lea    -0x1c(%ebp),%eax
407c2d:	50                   	push   %eax
407c2e:	ff 36                	push   (%esi)
407c30:	ff 15 68 a2 40 00    	call   *0x40a268
407c36:	8b 45 f0             	mov    -0x10(%ebp),%eax
407c39:	5e                   	pop    %esi
407c3a:	2b 45 e8             	sub    -0x18(%ebp),%eax
407c3d:	db 45 f8             	fildl  -0x8(%ebp)
407c40:	89 45 fc             	mov    %eax,-0x4(%ebp)
407c43:	db 45 fc             	fildl  -0x4(%ebp)
407c46:	de f9                	fdivrp %st,%st(1)
407c48:	dc 15 30 a3 40 00    	fcoml  0x40a330
407c4e:	df e0                	fnstsw %ax
407c50:	9e                   	sahf
407c51:	76 17                	jbe    0x407c6a
407c53:	dc 15 98 a3 40 00    	fcoml  0x40a398
407c59:	df e0                	fnstsw %ax
407c5b:	9e                   	sahf
407c5c:	73 0c                	jae    0x407c6a
407c5e:	dd 5f 18             	fstpl  0x18(%edi)
407c61:	8b cf                	mov    %edi,%ecx
407c63:	e8 96 02 00 00       	call   0x407efe
407c68:	eb 02                	jmp    0x407c6c
407c6a:	dd d8                	fstp   %st(0)
407c6c:	5f                   	pop    %edi
407c6d:	c9                   	leave
407c6e:	c3                   	ret
407c6f:	55                   	push   %ebp
407c70:	8b ec                	mov    %esp,%ebp
407c72:	81 ec b0 00 00 00    	sub    $0xb0,%esp
407c78:	8b 45 08             	mov    0x8(%ebp),%eax
407c7b:	53                   	push   %ebx
407c7c:	56                   	push   %esi
407c7d:	8b f1                	mov    %ecx,%esi
407c7f:	57                   	push   %edi
407c80:	89 46 28             	mov    %eax,0x28(%esi)
407c83:	e8 a1 f0 ff ff       	call   0x406d29
407c88:	33 db                	xor    %ebx,%ebx
407c8a:	8d 45 ec             	lea    -0x14(%ebp),%eax
407c8d:	53                   	push   %ebx
407c8e:	50                   	push   %eax
407c8f:	53                   	push   %ebx
407c90:	6a 30                	push   $0x30
407c92:	ff 15 2c a2 40 00    	call   *0x40a22c
407c98:	39 1e                	cmp    %ebx,(%esi)
407c9a:	88 5d ff             	mov    %bl,-0x1(%ebp)
407c9d:	7f 44                	jg     0x407ce3
407c9f:	39 5e 04             	cmp    %ebx,0x4(%esi)
407ca2:	7f 3f                	jg     0x407ce3
407ca4:	8b 45 f4             	mov    -0xc(%ebp),%eax
407ca7:	39 46 08             	cmp    %eax,0x8(%esi)
407caa:	7c 37                	jl     0x407ce3
407cac:	8b 4d f8             	mov    -0x8(%ebp),%ecx
407caf:	39 4e 0c             	cmp    %ecx,0xc(%esi)
407cb2:	7c 2f                	jl     0x407ce3
407cb4:	2b 45 ec             	sub    -0x14(%ebp),%eax
407cb7:	bf ee 02 00 00       	mov    $0x2ee,%edi
407cbc:	89 7e 08             	mov    %edi,0x8(%esi)
407cbf:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
407cc3:	2b c7                	sub    %edi,%eax
407cc5:	99                   	cltd
407cc6:	2b c2                	sub    %edx,%eax
407cc8:	d1 f8                	sar    $1,%eax
407cca:	89 06                	mov    %eax,(%esi)
407ccc:	8b c1                	mov    %ecx,%eax
407cce:	2b 45 f0             	sub    -0x10(%ebp),%eax
407cd1:	b9 26 02 00 00       	mov    $0x226,%ecx
407cd6:	89 4e 0c             	mov    %ecx,0xc(%esi)
407cd9:	2b c1                	sub    %ecx,%eax
407cdb:	99                   	cltd
407cdc:	2b c2                	sub    %edx,%eax
407cde:	d1 f8                	sar    $1,%eax
407ce0:	89 46 04             	mov    %eax,0x4(%esi)
407ce3:	6a 0f                	push   $0xf
407ce5:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
407ce8:	c7 45 a8 30 00 00 00 	movl   $0x30,-0x58(%ebp)
407cef:	89 5d b8             	mov    %ebx,-0x48(%ebp)
407cf2:	ff 15 08 a2 40 00    	call   *0x40a208
407cf8:	68 85 7f 00 00       	push   $0x7f85
407cfd:	53                   	push   %ebx
407cfe:	89 45 c8             	mov    %eax,-0x38(%ebp)
407d01:	ff 15 0c a2 40 00    	call   *0x40a20c
407d07:	68 90 01 00 00       	push   $0x190
407d0c:	89 45 c4             	mov    %eax,-0x3c(%ebp)
407d0f:	ff 76 28             	push   0x28(%esi)
407d12:	ff 15 9c a2 40 00    	call   *0x40a29c
407d18:	89 45 c0             	mov    %eax,-0x40(%ebp)
407d1b:	89 45 d4             	mov    %eax,-0x2c(%ebp)
407d1e:	8b 45 08             	mov    0x8(%ebp),%eax
407d21:	bf 70 a3 40 00       	mov    $0x40a370,%edi
407d26:	89 45 bc             	mov    %eax,-0x44(%ebp)
407d29:	8d 45 a8             	lea    -0x58(%ebp),%eax
407d2c:	50                   	push   %eax
407d2d:	c7 45 b0 00 10 40 00 	movl   $0x401000,-0x50(%ebp)
407d34:	89 7d d0             	mov    %edi,-0x30(%ebp)
407d37:	c7 45 cc 0a 00 00 00 	movl   $0xa,-0x34(%ebp)
407d3e:	c7 45 ac 28 00 00 00 	movl   $0x28,-0x54(%ebp)
407d45:	ff 15 10 a2 40 00    	call   *0x40a210
407d4b:	66 85 c0             	test   %ax,%ax
407d4e:	74 35                	je     0x407d85
407d50:	8b 46 04             	mov    0x4(%esi),%eax
407d53:	8b 56 0c             	mov    0xc(%esi),%edx
407d56:	8b 0e                	mov    (%esi),%ecx
407d58:	53                   	push   %ebx
407d59:	ff 76 28             	push   0x28(%esi)
407d5c:	2b d0                	sub    %eax,%edx
407d5e:	53                   	push   %ebx
407d5f:	53                   	push   %ebx
407d60:	52                   	push   %edx
407d61:	8b 56 08             	mov    0x8(%esi),%edx
407d64:	2b d1                	sub    %ecx,%edx
407d66:	52                   	push   %edx
407d67:	50                   	push   %eax
407d68:	51                   	push   %ecx
407d69:	68 00 00 cf 10       	push   $0x10cf0000
407d6e:	57                   	push   %edi
407d6f:	57                   	push   %edi
407d70:	68 00 03 00 00       	push   $0x300
407d75:	ff 15 98 a2 40 00    	call   *0x40a298
407d7b:	3b c3                	cmp    %ebx,%eax
407d7d:	89 86 f0 01 00 00    	mov    %eax,0x1f0(%esi)
407d83:	75 07                	jne    0x407d8c
407d85:	33 c0                	xor    %eax,%eax
407d87:	e9 6b 01 00 00       	jmp    0x407ef7
407d8c:	53                   	push   %ebx
407d8d:	ff 76 28             	push   0x28(%esi)
407d90:	53                   	push   %ebx
407d91:	50                   	push   %eax
407d92:	53                   	push   %ebx
407d93:	53                   	push   %ebx
407d94:	53                   	push   %ebx
407d95:	53                   	push   %ebx
407d96:	68 10 00 80 50       	push   $0x50800010
407d9b:	53                   	push   %ebx
407d9c:	68 cc c2 40 00       	push   $0x40c2cc
407da1:	53                   	push   %ebx
407da2:	ff 15 98 a2 40 00    	call   *0x40a298
407da8:	83 4d e8 ff          	orl    $0xffffffff,-0x18(%ebp)
407dac:	8d 4d d8             	lea    -0x28(%ebp),%ecx
407daf:	51                   	push   %ecx
407db0:	6a 05                	push   $0x5
407db2:	68 04 04 00 00       	push   $0x404
407db7:	50                   	push   %eax
407db8:	89 86 f4 01 00 00    	mov    %eax,0x1f4(%esi)
407dbe:	c7 45 d8 4b 00 00 00 	movl   $0x4b,-0x28(%ebp)
407dc5:	c7 45 dc aa 00 00 00 	movl   $0xaa,-0x24(%ebp)
407dcc:	c7 45 e0 40 01 00 00 	movl   $0x140,-0x20(%ebp)
407dd3:	c7 45 e4 a4 01 00 00 	movl   $0x1a4,-0x1c(%ebp)
407dda:	ff 15 dc a2 40 00    	call   *0x40a2dc
407de0:	68 f0 d4 40 00       	push   $0x40d4f0
407de5:	6a 04                	push   $0x4
407de7:	68 01 04 00 00       	push   $0x401
407dec:	ff b6 f4 01 00 00    	push   0x1f4(%esi)
407df2:	ff 15 dc a2 40 00    	call   *0x40a2dc
407df8:	8b ce                	mov    %esi,%ecx
407dfa:	e8 ff 00 00 00       	call   0x407efe
407dff:	8b 86 f0 01 00 00    	mov    0x1f0(%esi),%eax
407e05:	68 90 01 00 00       	push   $0x190
407e0a:	ff 76 28             	push   0x28(%esi)
407e0d:	c7 85 50 ff ff ff 58 	movl   $0x58,-0xb0(%ebp)
407e14:	00 00 00
407e17:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
407e1d:	c7 85 58 ff ff ff 16 	movl   $0x16,-0xa8(%ebp)
407e24:	00 00 00
407e27:	c7 85 5c ff ff ff 07 	movl   $0x7,-0xa4(%ebp)
407e2e:	00 00 00
407e31:	c7 85 60 ff ff ff 0a 	movl   $0x40a,-0xa0(%ebp)
407e38:	04 00 00
407e3b:	ff 15 9c a2 40 00    	call   *0x40a29c
407e41:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
407e47:	8d 85 68 ff ff ff    	lea    -0x98(%ebp),%eax
407e4d:	57                   	push   %edi
407e4e:	50                   	push   %eax
407e4f:	e8 f4 11 00 00       	call   0x409048
407e54:	59                   	pop    %ecx
407e55:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
407e5b:	59                   	pop    %ecx
407e5c:	50                   	push   %eax
407e5d:	53                   	push   %ebx
407e5e:	ff 15 d4 a1 40 00    	call   *0x40a1d4
407e64:	85 c0                	test   %eax,%eax
407e66:	75 12                	jne    0x407e7a
407e68:	68 38 d0 40 00       	push   $0x40d038
407e6d:	ff b6 f0 01 00 00    	push   0x1f0(%esi)