409ab8:	68 74 67 40 00       	push   $0x406774
409abd:	ff d6                	call   *%esi
409abf:	8b d0                	mov    %eax,%edx
409ac1:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
409ac4:	ff d7                	call   *%edi
409ac6:	50                   	push   %eax
409ac7:	68 a4 63 40 00       	push   $0x4063a4
409acc:	ff d6                	call   *%esi
409ace:	8b d0                	mov    %eax,%edx
409ad0:	8d 4d d0             	lea    -0x30(%ebp),%ecx
409ad3:	ff d7                	call   *%edi
409ad5:	50                   	push   %eax
409ad6:	68 84 62 40 00       	push   $0x406284
409adb:	ff d6                	call   *%esi
409add:	89 45 c4             	mov    %eax,-0x3c(%ebp)
409ae0:	8d 45 bc             	lea    -0x44(%ebp),%eax
409ae3:	50                   	push   %eax
409ae4:	8d 4d ac             	lea    -0x54(%ebp),%ecx
409ae7:	51                   	push   %ecx
409ae8:	c7 45 bc 08 00 00 00 	movl   $0x8,-0x44(%ebp)
409aef:	ff 15 c0 11 40 00    	call   *0x4011c0
409af5:	8d 55 ac             	lea    -0x54(%ebp),%edx
409af8:	52                   	push   %edx
409af9:	8d 85 4c ff ff ff    	lea    -0xb4(%ebp),%eax
409aff:	50                   	push   %eax
409b00:	c7 85 54 ff ff ff 0c 	movl   $0xc,-0xac(%ebp)
409b07:	00 00 00
409b0a:	c7 85 4c ff ff ff 02 	movl   $0x8002,-0xb4(%ebp)
409b11:	80 00 00
409b14:	ff 15 88 11 40 00    	call   *0x401188
409b1a:	8d 4d d0             	lea    -0x30(%ebp),%ecx
409b1d:	51                   	push   %ecx
409b1e:	8d 55 d4             	lea    -0x2c(%ebp),%edx
409b21:	52                   	push   %edx
409b22:	66 89 85 e8 fe ff ff 	mov    %ax,-0x118(%ebp)
409b29:	8d 45 d8             	lea    -0x28(%ebp),%eax
409b2c:	50                   	push   %eax
409b2d:	8d 4d dc             	lea    -0x24(%ebp),%ecx
409b30:	51                   	push   %ecx
409b31:	6a 04                	push   $0x4
409b33:	ff 15 78 11 40 00    	call   *0x401178
409b39:	8d 55 ac             	lea    -0x54(%ebp),%edx
409b3c:	52                   	push   %edx
409b3d:	8d 45 bc             	lea    -0x44(%ebp),%eax
409b40:	50                   	push   %eax
409b41:	6a 02                	push   $0x2
409b43:	ff 15 28 10 40 00    	call   *0x401028
409b49:	83 c4 20             	add    $0x20,%esp
409b4c:	66 83 bd e8 fe ff ff 	cmpw   $0x0,-0x118(%ebp)
409b53:	00
409b54:	0f 84 93 00 00 00    	je     0x409bed
409b5a:	a1 38 b3 40 00       	mov    0x40b338,%eax
409b5f:	85 c0                	test   %eax,%eax
409b61:	75 10                	jne    0x409b73
409b63:	68 38 b3 40 00       	push   $0x40b338
409b68:	68 c4 60 40 00       	push   $0x4060c4
409b6d:	ff 15 4c 11 40 00    	call   *0x40114c
409b73:	a1 38 b3 40 00       	mov    0x40b338,%eax
409b78:	8b 08                	mov    (%eax),%ecx
409b7a:	8d 55 cc             	lea    -0x34(%ebp),%edx
409b7d:	52                   	push   %edx
409b7e:	50                   	push   %eax
409b7f:	89 85 e8 fe ff ff    	mov    %eax,-0x118(%ebp)
409b85:	ff 51 4c             	call   *0x4c(%ecx)
409b88:	db e2                	fnclex
409b8a:	85 c0                	test   %eax,%eax
409b8c:	7d 15                	jge    0x409ba3
409b8e:	8b 8d e8 fe ff ff    	mov    -0x118(%ebp),%ecx
409b94:	6a 4c                	push   $0x4c
409b96:	68 b4 60 40 00       	push   $0x4060b4
409b9b:	51                   	push   %ecx
409b9c:	50                   	push   %eax
409b9d:	ff 15 58 10 40 00    	call   *0x401058
409ba3:	8b 45 cc             	mov    -0x34(%ebp),%eax
409ba6:	8b 10                	mov    (%eax),%edx
409ba8:	8d 4d dc             	lea    -0x24(%ebp),%ecx
409bab:	51                   	push   %ecx
409bac:	68 98 67 40 00       	push   $0x406798
409bb1:	68 7c 67 40 00       	push   $0x40677c
409bb6:	50                   	push   %eax
409bb7:	89 85 e0 fe ff ff    	mov    %eax,-0x120(%ebp)
409bbd:	ff 52 24             	call   *0x24(%edx)
409bc0:	db e2                	fnclex
409bc2:	85 c0                	test   %eax,%eax
409bc4:	7d 15                	jge    0x409bdb
409bc6:	8b 95 e0 fe ff ff    	mov    -0x120(%ebp),%edx
409bcc:	6a 24                	push   $0x24
409bce:	68 4c 65 40 00       	push   $0x40654c
409bd3:	52                   	push   %edx
409bd4:	50                   	push   %eax
409bd5:	ff 15 58 10 40 00    	call   *0x401058
409bdb:	8d 4d dc             	lea    -0x24(%ebp),%ecx
409bde:	ff 15 cc 11 40 00    	call   *0x4011cc
409be4:	8d 4d cc             	lea    -0x34(%ebp),%ecx
409be7:	ff 15 d0 11 40 00    	call   *0x4011d0
409bed:	68 84 62 40 00       	push   $0x406284
409bf2:	ff 15 9c 10 40 00    	call   *0x40109c
409bf8:	dd 05 38 12 40 00    	fldl   0x401238
409bfe:	52                   	push   %edx
409bff:	50                   	push   %eax
409c00:	ff 15 28 11 40 00    	call   *0x401128
409c06:	85 c0                	test   %eax,%eax
409c08:	74 0d                	je     0x409c17
409c0a:	6a 01                	push   $0x1
409c0c:	68 bc 67 40 00       	push   $0x4067bc
409c11:	ff 15 d4 11 40 00    	call   *0x4011d4
409c17:	68 d4 67 40 00       	push   $0x4067d4
409c1c:	68 74 67 40 00       	push   $0x406774
409c21:	ff d6                	call   *%esi
409c23:	8b d0                	mov    %eax,%edx
409c25:	8d 4d dc             	lea    -0x24(%ebp),%ecx
409c28:	ff d7                	call   *%edi
409c2a:	50                   	push   %eax
409c2b:	68 e0 67 40 00       	push   $0x4067e0
409c30:	ff d6                	call   *%esi
409c32:	89 45 c4             	mov    %eax,-0x3c(%ebp)
409c35:	8d 45 bc             	lea    -0x44(%ebp),%eax
409c38:	50                   	push   %eax
409c39:	c7 45 bc 08 00 00 00 	movl   $0x8,-0x44(%ebp)
409c40:	ff 15 5c 10 40 00    	call   *0x40105c
409c46:	33 c9                	xor    %ecx,%ecx
409c48:	66 3d ff ff          	cmp    $0xffff,%ax
409c4c:	0f 95 c1             	setne  %cl
409c4f:	f7 d9                	neg    %ecx
409c51:	66 8b f9             	mov    %cx,%di
409c54:	8d 4d dc             	lea    -0x24(%ebp),%ecx
409c57:	ff 15 cc 11 40 00    	call   *0x4011cc
409c5d:	8d 4d bc             	lea    -0x44(%ebp),%ecx
409c60:	ff 15 1c 10 40 00    	call   *0x40101c
409c66:	66 85 ff             	test   %di,%di
409c69:	74 7b                	je     0x409ce6
409c6b:	8b 13                	mov    (%ebx),%edx
409c6d:	83 ec 10             	sub    $0x10,%esp
409c70:	8b fc                	mov    %esp,%edi
409c72:	b9 0a 00 00 00       	mov    $0xa,%ecx
409c77:	89 0f                	mov    %ecx,(%edi)
409c79:	89 8d 4c ff ff ff    	mov    %ecx,-0xb4(%ebp)
409c7f:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
409c85:	89 4f 04             	mov    %ecx,0x4(%edi)
409c88:	b8 04 00 02 80       	mov    $0x80020004,%eax
409c8d:	89 47 08             	mov    %eax,0x8(%edi)
409c90:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
409c96:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
409c9c:	89 47 0c             	mov    %eax,0xc(%edi)
409c9f:	8b 85 4c ff ff ff    	mov    -0xb4(%ebp),%eax
409ca5:	83 ec 10             	sub    $0x10,%esp
409ca8:	8b cc                	mov    %esp,%ecx
409caa:	89 01                	mov    %eax,(%ecx)
409cac:	8b 85 50 ff ff ff    	mov    -0xb0(%ebp),%eax
409cb2:	89 41 04             	mov    %eax,0x4(%ecx)
409cb5:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
409cbb:	89 41 08             	mov    %eax,0x8(%ecx)
409cbe:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
409cc4:	53                   	push   %ebx
409cc5:	89 41 0c             	mov    %eax,0xc(%ecx)
409cc8:	ff 92 b0 02 00 00    	call   *0x2b0(%edx)
409cce:	db e2                	fnclex
409cd0:	85 c0                	test   %eax,%eax
409cd2:	7d 12                	jge    0x409ce6
409cd4:	68 b0 02 00 00       	push   $0x2b0
409cd9:	68 ec 5e 40 00       	push   $0x405eec
409cde:	53                   	push   %ebx
409cdf:	50                   	push   %eax
409ce0:	ff 15 58 10 40 00    	call   *0x401058
409ce6:	8d 4d bc             	lea    -0x44(%ebp),%ecx
409ce9:	51                   	push   %ecx
409cea:	ff 15 f0 10 40 00    	call   *0x4010f0
409cf0:	8d 55 bc             	lea    -0x44(%ebp),%edx
409cf3:	52                   	push   %edx
409cf4:	8d 85 4c ff ff ff    	lea    -0xb4(%ebp),%eax
409cfa:	50                   	push   %eax
409cfb:	c7 85 54 ff ff ff e8 	movl   $0x4067e8,-0xac(%ebp)
409d02:	67 40 00
409d05:	c7 85 4c ff ff ff 08 	movl   $0x8008,-0xb4(%ebp)
409d0c:	80 00 00
409d0f:	ff 15 dc 10 40 00    	call   *0x4010dc
409d15:	8d 4d bc             	lea    -0x44(%ebp),%ecx
409d18:	66 8b f8             	mov    %ax,%di
409d1b:	ff 15 1c 10 40 00    	call   *0x40101c
409d21:	66 85 ff             	test   %di,%di
409d24:	74 28                	je     0x409d4e
409d26:	dd 05 b0 12 40 00    	fldl   0x4012b0
409d2c:	8b 3b                	mov    (%ebx),%edi
409d2e:	ff 15 a0 11 40 00    	call   *0x4011a0
409d34:	50                   	push   %eax
409d35:	53                   	push   %ebx
409d36:	ff 57 64             	call   *0x64(%edi)
409d39:	db e2                	fnclex
409d3b:	85 c0                	test   %eax,%eax
409d3d:	7d 0f                	jge    0x409d4e
409d3f:	6a 64                	push   $0x64
409d41:	68 ec 5e 40 00       	push   $0x405eec
409d46:	53                   	push   %ebx
409d47:	50                   	push   %eax
409d48:	ff 15 58 10 40 00    	call   *0x401058
409d4e:	68 fc 67 40 00       	push   $0x4067fc
409d53:	68 10 68 40 00       	push   $0x406810
409d58:	ff d6                	call   *%esi
409d5a:	8b 0b                	mov    (%ebx),%ecx
409d5c:	8d 55 cc             	lea    -0x34(%ebp),%edx
409d5f:	52                   	push   %edx
409d60:	bf 08 00 00 00       	mov    $0x8,%edi
409d65:	53                   	push   %ebx
409d66:	89 45 c4             	mov    %eax,-0x3c(%ebp)
409d69:	89 7d bc             	mov    %edi,-0x44(%ebp)
409d6c:	be 20 68 40 00       	mov    $0x406820,%esi
409d71:	ff 91 18 02 00 00    	call   *0x218(%ecx)
409d77:	db e2                	fnclex
409d79:	85 c0                	test   %eax,%eax
409d7b:	7d 12                	jge    0x409d8f
409d7d:	68 18 02 00 00       	push   $0x218
409d82:	68 ec 5e 40 00       	push   $0x405eec
409d87:	53                   	push   %ebx
409d88:	50                   	push   %eax
409d89:	ff 15 58 10 40 00    	call   *0x401058
409d8f:	8b 4d bc             	mov    -0x44(%ebp),%ecx
409d92:	8b 55 c0             	mov    -0x40(%ebp),%edx
409d95:	83 ec 10             	sub    $0x10,%esp
409d98:	8b c4                	mov    %esp,%eax
409d9a:	89 08                	mov    %ecx,(%eax)
409d9c:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
409d9f:	89 50 04             	mov    %edx,0x4(%eax)
409da2:	8b 55 c8             	mov    -0x38(%ebp),%edx
409da5:	89 48 08             	mov    %ecx,0x8(%eax)
409da8:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
409dae:	89 50 0c             	mov    %edx,0xc(%eax)
409db1:	8b 95 48 ff ff ff    	mov    -0xb8(%ebp),%edx
409db7:	83 ec 10             	sub    $0x10,%esp
409dba:	8b c4                	mov    %esp,%eax
409dbc:	89 38                	mov    %edi,(%eax)
409dbe:	8b 3d a8 11 40 00    	mov    0x4011a8,%edi
409dc4:	89 48 04             	mov    %ecx,0x4(%eax)
409dc7:	89 70 08             	mov    %esi,0x8(%eax)
409dca:	6a 02                	push   $0x2
409dcc:	89 50 0c             	mov    %edx,0xc(%eax)
409dcf:	8b 45 cc             	mov    -0x34(%ebp),%eax
409dd2:	68 fc 65 40 00       	push   $0x4065fc
409dd7:	50                   	push   %eax
409dd8:	8d 4d ac             	lea    -0x54(%ebp),%ecx
409ddb:	51                   	push   %ecx
409ddc:	ff d7                	call   *%edi
409dde:	83 c4 30             	add    $0x30,%esp
409de1:	50                   	push   %eax
409de2:	ff 15 e4 10 40 00    	call   *0x4010e4
409de8:	50                   	push   %eax
409de9:	8d 55 e4             	lea    -0x1c(%ebp),%edx
409dec:	52                   	push   %edx
409ded:	ff 15 90 10 40 00    	call   *0x401090
409df3:	8d 4d cc             	lea    -0x34(%ebp),%ecx
409df6:	ff 15 d0 11 40 00    	call   *0x4011d0
409dfc:	8d 45 ac             	lea    -0x54(%ebp),%eax
409dff:	50                   	push   %eax
409e00:	8d 4d bc             	lea    -0x44(%ebp),%ecx
409e03:	51                   	push   %ecx
409e04:	6a 02                	push   $0x2
409e06:	ff 15 28 10 40 00    	call   *0x401028
409e0c:	8b 35 7c 10 40 00    	mov    0x40107c,%esi
409e12:	b9 08 00 00 00       	mov    $0x8,%ecx
409e17:	51                   	push   %ecx
409e18:	8b d4                	mov    %esp,%edx
409e1a:	89 0a                	mov    %ecx,(%edx)
409e1c:	89 8d 4c ff ff ff    	mov    %ecx,-0xb4(%ebp)
409e22:	8b 8d 50 ff ff ff    	mov    -0xb0(%ebp),%ecx
409e28:	89 4a 04             	mov    %ecx,0x4(%edx)
409e2b:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
409e2e:	b8 3c 68 40 00       	mov    $0x40683c,%eax
409e33:	89 42 08             	mov    %eax,0x8(%edx)
409e36:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
409e3c:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
409e42:	68 50 68 40 00       	push   $0x406850
409e47:	51                   	push   %ecx
409e48:	89 42 0c             	mov    %eax,0xc(%edx)
409e4b:	ff d6                	call   *%esi
409e4d:	83 ec 10             	sub    $0x10,%esp
409e50:	8b d4                	mov    %esp,%edx
409e52:	b9 02 00 00 00       	mov    $0x2,%ecx
409e57:	89 0a                	mov    %ecx,(%edx)
409e59:	89 8d 4c ff ff ff    	mov    %ecx,-0xb4(%ebp)
409e5f:	8b 8d 50 ff ff ff    	mov    -0xb0(%ebp),%ecx
409e65:	89 4a 04             	mov    %ecx,0x4(%edx)
409e68:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
409e6b:	b8 64 1b 00 00       	mov    $0x1b64,%eax
409e70:	89 42 08             	mov    %eax,0x8(%edx)
409e73:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
409e79:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
409e7f:	68 38 66 40 00       	push   $0x406638
409e84:	51                   	push   %ecx
409e85:	89 42 0c             	mov    %eax,0xc(%edx)
409e88:	ff d6                	call   *%esi
409e8a:	83 ec 10             	sub    $0x10,%esp
409e8d:	b9 02 00 00 00       	mov    $0x2,%ecx
409e92:	b8 19 24 00 00       	mov    $0x2419,%eax
409e97:	8b d4                	mov    %esp,%edx
409e99:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
409e9f:	89 8d 4c ff ff ff    	mov    %ecx,-0xb4(%ebp)
409ea5:	89 0a                	mov    %ecx,(%edx)
409ea7:	8b 8d 50 ff ff ff    	mov    -0xb0(%ebp),%ecx
409ead:	89 4a 04             	mov    %ecx,0x4(%edx)
409eb0:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
409eb3:	89 42 08             	mov    %eax,0x8(%edx)
409eb6:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
409ebc:	68 44 66 40 00       	push   $0x406644
409ec1:	51                   	push   %ecx
409ec2:	89 42 0c             	mov    %eax,0xc(%edx)
409ec5:	ff d6                	call   *%esi
409ec7:	83 ec 10             	sub    $0x10,%esp
409eca:	8b d4                	mov    %esp,%edx
409ecc:	b9 0b 00 00 00       	mov    $0xb,%ecx
409ed1:	89 0a                	mov    %ecx,(%edx)
409ed3:	89 8d 4c ff ff ff    	mov    %ecx,-0xb4(%ebp)
409ed9:	8b 8d 50 ff ff ff    	mov    -0xb0(%ebp),%ecx
409edf:	83 c8 ff             	or     $0xffffffff,%eax
409ee2:	89 4a 04             	mov    %ecx,0x4(%edx)
409ee5:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
409ee8:	89 42 08             	mov    %eax,0x8(%edx)
409eeb:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
409ef1:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
409ef7:	68 4c 66 40 00       	push   $0x40664c
409efc:	51                   	push   %ecx
409efd:	89 42 0c             	mov    %eax,0xc(%edx)
409f00:	ff d6                	call   *%esi
409f02:	8b 55 e4             	mov    -0x1c(%ebp),%edx
409f05:	6a 00                	push   $0x0
409f07:	68 50 68 40 00       	push   $0x406850
409f0c:	52                   	push   %edx
409f0d:	8d 45 bc             	lea    -0x44(%ebp),%eax
409f10:	50                   	push   %eax
409f11:	c7 85 54 ff ff ff 00 	movl   $0x0,-0xac(%ebp)
409f18:	00 00 00
409f1b:	c7 85 4c ff ff ff 08 	movl   $0x8008,-0xb4(%ebp)
409f22:	80 00 00
409f25:	ff d7                	call   *%edi
409f27:	83 c4 10             	add    $0x10,%esp
409f2a:	50                   	push   %eax
409f2b:	8d 8d 4c ff ff ff    	lea    -0xb4(%ebp),%ecx
409f31:	51                   	push   %ecx
409f32:	ff 15 dc 10 40 00    	call   *0x4010dc
409f38:	8d 4d bc             	lea    -0x44(%ebp),%ecx
409f3b:	66 8b f0             	mov    %ax,%si
409f3e:	ff 15 1c 10 40 00    	call   *0x40101c
409f44:	66 85 f6             	test   %si,%si
409f47:	74 41                	je     0x409f8a
409f49:	dd 05 a8 12 40 00    	fldl   0x4012a8
409f4f:	8b 13                	mov    (%ebx),%edx
409f51:	df e0                	fnstsw %ax
409f53:	a8 0d                	test   $0xd,%al
409f55:	0f 85 c8 00 00 00    	jne    0x40a023
409f5b:	d9 9d d0 fe ff ff    	fstps  -0x130(%ebp)
409f61:	d9 85 d0 fe ff ff    	flds   -0x130(%ebp)
409f67:	51                   	push   %ecx