412c30:	83 c4 10             	add    $0x10,%esp
412c33:	8d 4c 24 28          	lea    0x28(%esp),%ecx
412c37:	e8 e4 6d ff ff       	call   0x409a20
412c3c:	df ac 24 b0 00 00 00 	fildll 0xb0(%esp)
412c43:	dd 5c 24 10          	fstpl  0x10(%esp)
412c47:	dd 44 24 10          	fldl   0x10(%esp)
412c4b:	dc 0d f8 4b 4a 00    	fmull  0x4a4bf8
412c51:	8d 44 24 48          	lea    0x48(%esp),%eax
412c55:	83 64 24 50 00       	andl   $0x0,0x50(%esp)
412c5a:	6a 05                	push   $0x5
412c5c:	53                   	push   %ebx
412c5d:	50                   	push   %eax
412c5e:	56                   	push   %esi
412c5f:	dd 5c 24 58          	fstpl  0x58(%esp)
412c63:	89 7c 24 64          	mov    %edi,0x64(%esp)
412c67:	e8 d4 63 ff ff       	call   0x409040
412c6c:	83 c4 10             	add    $0x10,%esp
412c6f:	8d 4c 24 48          	lea    0x48(%esp),%ecx
412c73:	e8 a8 6d ff ff       	call   0x409a20
412c78:	df ac 24 b8 00 00 00 	fildll 0xb8(%esp)
412c7f:	6a 06                	push   $0x6
412c81:	53                   	push   %ebx
412c82:	8d 44 24 70          	lea    0x70(%esp),%eax
412c86:	50                   	push   %eax
412c87:	dd 5c 24 1c          	fstpl  0x1c(%esp)
412c8b:	dd 44 24 1c          	fldl   0x1c(%esp)
412c8f:	dc 0d f8 4b 4a 00    	fmull  0x4a4bf8
412c95:	83 64 24 7c 00       	andl   $0x0,0x7c(%esp)
412c9a:	56                   	push   %esi
412c9b:	89 bc 24 84 00 00 00 	mov    %edi,0x84(%esp)
412ca2:	dd 5c 24 78          	fstpl  0x78(%esp)
412ca6:	e8 95 63 ff ff       	call   0x409040
412cab:	83 c4 10             	add    $0x10,%esp
412cae:	8d 4c 24 68          	lea    0x68(%esp),%ecx
412cb2:	e8 69 6d ff ff       	call   0x409a20
412cb7:	5f                   	pop    %edi
412cb8:	5e                   	pop    %esi
412cb9:	33 c0                	xor    %eax,%eax
412cbb:	5b                   	pop    %ebx
412cbc:	8b e5                	mov    %ebp,%esp
412cbe:	5d                   	pop    %ebp
412cbf:	c2 08 00             	ret    $0x8
412cc2:	55                   	push   %ebp
412cc3:	8b ec                	mov    %esp,%ebp
412cc5:	51                   	push   %ecx
412cc6:	51                   	push   %ecx
412cc7:	56                   	push   %esi
412cc8:	8b 75 08             	mov    0x8(%ebp),%esi
412ccb:	57                   	push   %edi
412ccc:	8b f9                	mov    %ecx,%edi
412cce:	83 7e 08 01          	cmpl   $0x1,0x8(%esi)
412cd2:	76 18                	jbe    0x412cec
412cd4:	8b 46 04             	mov    0x4(%esi),%eax
412cd7:	8b 48 04             	mov    0x4(%eax),%ecx
412cda:	e8 bd 6f ff ff       	call   0x409c9c
412cdf:	48                   	dec    %eax
412ce0:	74 29                	je     0x412d0b
412ce2:	48                   	dec    %eax
412ce3:	74 26                	je     0x412d0b
412ce5:	48                   	dec    %eax
412ce6:	0f 84 2a 42 03 00    	je     0x446f16
412cec:	8b 46 04             	mov    0x4(%esi),%eax
412cef:	8b 4d 0c             	mov    0xc(%ebp),%ecx
412cf2:	ff 30                	push   (%eax)
412cf4:	e8 a3 71 ff ff       	call   0x409e9c
412cf9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
412cfc:	e8 d9 67 ff ff       	call   0x4094da
412d01:	5f                   	pop    %edi
412d02:	33 c0                	xor    %eax,%eax
412d04:	5e                   	pop    %esi
412d05:	8b e5                	mov    %ebp,%esp
412d07:	5d                   	pop    %ebp
412d08:	c2 08 00             	ret    $0x8
412d0b:	ff 75 0c             	push   0xc(%ebp)
412d0e:	8b cf                	mov    %edi,%ecx
412d10:	56                   	push   %esi
412d11:	e8 63 fd ff ff       	call   0x412a79
412d16:	eb e9                	jmp    0x412d01
412d18:	55                   	push   %ebp
412d19:	8b ec                	mov    %esp,%ebp
412d1b:	83 ec 10             	sub    $0x10,%esp
412d1e:	56                   	push   %esi
412d1f:	8b 75 08             	mov    0x8(%ebp),%esi
412d22:	57                   	push   %edi
412d23:	83 7e 08 01          	cmpl   $0x1,0x8(%esi)
412d27:	0f 84 8c 00 00 00    	je     0x412db9
412d2d:	8b 46 04             	mov    0x4(%esi),%eax
412d30:	8b 48 04             	mov    0x4(%eax),%ecx
412d33:	e8 64 6f ff ff       	call   0x409c9c
412d38:	dd 05 e8 4b 4a 00    	fldl   0x4a4be8
412d3e:	51                   	push   %ecx
412d3f:	51                   	push   %ecx
412d40:	dd 1c 24             	fstpl  (%esp)
412d43:	8b c8                	mov    %eax,%ecx
412d45:	e8 58 cf 00 00       	call   0x41fca2
412d4a:	8b 46 04             	mov    0x4(%esi),%eax
412d4d:	59                   	pop    %ecx
412d4e:	59                   	pop    %ecx
412d4f:	dd 5d f8             	fstpl  -0x8(%ebp)
412d52:	8b 08                	mov    (%eax),%ecx
412d54:	e8 9f 6f ff ff       	call   0x409cf8
412d59:	dc 1d a0 4b 4a 00    	fcompl 0x4a4ba0
412d5f:	df e0                	fnstsw %ax
412d61:	f6 c4 01             	test   $0x1,%ah
412d64:	8b 46 04             	mov    0x4(%esi),%eax
412d67:	8b 08                	mov    (%eax),%ecx
412d69:	0f 85 cf 41 03 00    	jne    0x446f3e
412d6f:	e8 84 6f ff ff       	call   0x409cf8
412d74:	dc 4d f8             	fmull  -0x8(%ebp)
412d77:	51                   	push   %ecx
412d78:	51                   	push   %ecx
412d79:	dc 05 f0 4b 4a 00    	faddl  0x4a4bf0
412d7f:	dd 1c 24             	fstpl  (%esp)
412d82:	e8 f9 3c 01 00       	call   0x426a80
412d87:	dc 75 f8             	fdivl  -0x8(%ebp)
412d8a:	8b 7d 0c             	mov    0xc(%ebp),%edi
412d8d:	59                   	pop    %ecx
412d8e:	59                   	pop    %ecx
412d8f:	8b cf                	mov    %edi,%ecx
412d91:	dd 5d f8             	fstpl  -0x8(%ebp)
412d94:	e8 87 6c ff ff       	call   0x409a20
412d99:	dd 45 f8             	fldl   -0x8(%ebp)
412d9c:	dd 1f                	fstpl  (%edi)
412d9e:	c7 47 0c 03 00 00 00 	movl   $0x3,0xc(%edi)
412da5:	83 7e 08 01          	cmpl   $0x1,0x8(%esi)
412da9:	0f 84 ac 41 03 00    	je     0x446f5b
412daf:	5f                   	pop    %edi
412db0:	33 c0                	xor    %eax,%eax
412db2:	5e                   	pop    %esi
412db3:	8b e5                	mov    %ebp,%esp
412db5:	5d                   	pop    %ebp
412db6:	c2 08 00             	ret    $0x8
412db9:	33 c0                	xor    %eax,%eax
412dbb:	e9 78 ff ff ff       	jmp    0x412d38
412dc0:	55                   	push   %ebp
412dc1:	8b ec                	mov    %esp,%ebp
412dc3:	51                   	push   %ecx
412dc4:	51                   	push   %ecx
412dc5:	8b 45 08             	mov    0x8(%ebp),%eax
412dc8:	56                   	push   %esi
412dc9:	8b 40 04             	mov    0x4(%eax),%eax
412dcc:	8b 08                	mov    (%eax),%ecx
412dce:	e8 25 6f ff ff       	call   0x409cf8
412dd3:	51                   	push   %ecx
412dd4:	51                   	push   %ecx
412dd5:	dd 1c 24             	fstpl  (%esp)
412dd8:	e8 83 3a 01 00       	call   0x426860
412ddd:	8b 75 0c             	mov    0xc(%ebp),%esi
412de0:	83 c4 08             	add    $0x8,%esp
412de3:	8b ce                	mov    %esi,%ecx
412de5:	dd 5d f8             	fstpl  -0x8(%ebp)
412de8:	e8 33 6c ff ff       	call   0x409a20
412ded:	dd 45 f8             	fldl   -0x8(%ebp)
412df0:	33 c0                	xor    %eax,%eax
412df2:	dd 1e                	fstpl  (%esi)
412df4:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
412dfb:	5e                   	pop    %esi
412dfc:	8b e5                	mov    %ebp,%esp
412dfe:	5d                   	pop    %ebp
412dff:	c2 08 00             	ret    $0x8
412e02:	55                   	push   %ebp
412e03:	8b ec                	mov    %esp,%ebp
412e05:	56                   	push   %esi
412e06:	57                   	push   %edi
412e07:	8b 7d 08             	mov    0x8(%ebp),%edi
412e0a:	8b f1                	mov    %ecx,%esi
412e0c:	8b 47 04             	mov    0x4(%edi),%eax
412e0f:	8b 08                	mov    (%eax),%ecx
412e11:	e8 86 6e ff ff       	call   0x409c9c
412e16:	85 c0                	test   %eax,%eax
412e18:	7e 37                	jle    0x412e51
412e1a:	ff 15 b8 f7 48 00    	call   *0x48f7b8
412e20:	89 86 f8 02 00 00    	mov    %eax,0x2f8(%esi)
412e26:	8b 47 04             	mov    0x4(%edi),%eax
412e29:	8b 08                	mov    (%eax),%ecx
412e2b:	e8 6c 6e ff ff       	call   0x409c9c
412e30:	6a 00                	push   $0x0
412e32:	8b ce                	mov    %esi,%ecx
412e34:	89 86 f0 02 00 00    	mov    %eax,0x2f0(%esi)
412e3a:	c7 86 f8 00 00 00 02 	movl   $0x2,0xf8(%esi)
412e41:	00 00 00
412e44:	e8 e7 dc ff ff       	call   0x410b30
412e49:	5f                   	pop    %edi
412e4a:	33 c0                	xor    %eax,%eax
412e4c:	5e                   	pop    %esi
412e4d:	5d                   	pop    %ebp
412e4e:	c2 08 00             	ret    $0x8
412e51:	6a 00                	push   $0x0
412e53:	ff 15 7c f1 48 00    	call   *0x48f17c
412e59:	eb ee                	jmp    0x412e49
412e5b:	55                   	push   %ebp
412e5c:	8b ec                	mov    %esp,%ebp
412e5e:	83 e4 f8             	and    $0xfffffff8,%esp
412e61:	81 ec 8c 00 00 00    	sub    $0x8c,%esp
412e67:	53                   	push   %ebx
412e68:	8b 5d 08             	mov    0x8(%ebp),%ebx
412e6b:	8d 4c 24 14          	lea    0x14(%esp),%ecx
412e6f:	56                   	push   %esi
412e70:	57                   	push   %edi
412e71:	68 00 04 00 00       	push   $0x400
412e76:	8b 7b 08             	mov    0x8(%ebx),%edi
412e79:	e8 f8 4c ff ff       	call   0x407b76
412e7e:	be 00 00 02 00       	mov    $0x20000,%esi
412e83:	56                   	push   %esi
412e84:	e8 6d e1 00 00       	call   0x420ff6
412e89:	59                   	pop    %ecx
412e8a:	50                   	push   %eax
412e8b:	8d 4c 24 5c          	lea    0x5c(%esp),%ecx
412e8f:	e8 fa 24 ff ff       	call   0x40538e
412e94:	56                   	push   %esi
412e95:	e8 5c e1 00 00       	call   0x420ff6
412e9a:	59                   	pop    %ecx
412e9b:	50                   	push   %eax
412e9c:	8d 4c 24 40          	lea    0x40(%esp),%ecx
412ea0:	e8 e9 24 ff ff       	call   0x40538e
412ea5:	8b 43 04             	mov    0x4(%ebx),%eax
412ea8:	8b 30                	mov    (%eax),%esi
412eaa:	8b ce                	mov    %esi,%ecx
412eac:	e8 e6 6a ff ff       	call   0x409997
412eb1:	8b 5e 08             	mov    0x8(%esi),%ebx
412eb4:	8d 4c 24 44          	lea    0x44(%esp),%ecx
412eb8:	e8 0a 49 ff ff       	call   0x4077c7
412ebd:	8d 4c 24 60          	lea    0x60(%esp),%ecx
412ec1:	e8 37 2d 00 00       	call   0x415bfd
412ec6:	68 28 2b 49 00       	push   $0x492b28
412ecb:	8d 4c 24 30          	lea    0x30(%esp),%ecx
412ecf:	e8 6d 50 ff ff       	call   0x407f41
412ed4:	51                   	push   %ecx
412ed5:	8d 44 24 30          	lea    0x30(%esp),%eax
412ed9:	50                   	push   %eax
412eda:	8d 4c 24 68          	lea    0x68(%esp),%ecx
412ede:	e8 8f 2d 00 00       	call   0x415c72
412ee3:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
412ee7:	e8 78 2b ff ff       	call   0x405a64
412eec:	53                   	push   %ebx
412eed:	8d 4c 24 64          	lea    0x64(%esp),%ecx
412ef1:	e8 2e 2e 00 00       	call   0x415d24
412ef6:	33 f6                	xor    %esi,%esi
412ef8:	c7 44 24 2c c0 1c 49 	movl   $0x491cc0,0x2c(%esp)
412eff:	00
412f00:	8d 47 ff             	lea    -0x1(%edi),%eax
412f03:	8b 7c 24 58          	mov    0x58(%esp),%edi
412f07:	8b ce                	mov    %esi,%ecx
412f09:	89 74 24 14          	mov    %esi,0x14(%esp)
412f0d:	89 74 24 30          	mov    %esi,0x30(%esp)
412f11:	89 74 24 34          	mov    %esi,0x34(%esp)
412f15:	89 74 24 38          	mov    %esi,0x38(%esp)
412f19:	89 4c 24 10          	mov    %ecx,0x10(%esp)
412f1d:	89 44 24 54          	mov    %eax,0x54(%esp)
412f21:	39 73 04             	cmp    %esi,0x4(%ebx)
412f24:	0f 8e 22 01 00 00    	jle    0x41304c
412f2a:	51                   	push   %ecx
412f2b:	8d 44 24 30          	lea    0x30(%esp),%eax
412f2f:	50                   	push   %eax
412f30:	56                   	push   %esi
412f31:	8d 4c 24 6c          	lea    0x6c(%esp),%ecx
412f35:	e8 54 2c 00 00       	call   0x415b8e
412f3a:	85 c0                	test   %eax,%eax
412f3c:	0f 8e 0a 01 00 00    	jle    0x41304c
412f42:	8b 44 24 30          	mov    0x30(%esp),%eax
412f46:	8b 4c 24 14          	mov    0x14(%esp),%ecx
412f4a:	8b 00                	mov    (%eax),%eax
412f4c:	8b 30                	mov    (%eax),%esi
412f4e:	8b 40 04             	mov    0x4(%eax),%eax
412f51:	89 44 24 18          	mov    %eax,0x18(%esp)
412f55:	8b c6                	mov    %esi,%eax
412f57:	2b c1                	sub    %ecx,%eax
412f59:	50                   	push   %eax
412f5a:	51                   	push   %ecx
412f5b:	53                   	push   %ebx
412f5c:	8d 4c 24 28          	lea    0x28(%esp),%ecx
412f60:	e8 4c 4c ff ff       	call   0x407bb1
412f65:	8b 4c 24 18          	mov    0x18(%esp),%ecx
412f69:	03 ce                	add    %esi,%ecx
412f6b:	89 4c 24 14          	mov    %ecx,0x14(%esp)
412f6f:	8b cb                	mov    %ebx,%ecx
412f71:	56                   	push   %esi
412f72:	e8 a9 4b ff ff       	call   0x407b20
412f77:	6a 25                	push   $0x25
412f79:	59                   	pop    %ecx
412f7a:	66 39 08             	cmp    %cx,(%eax)
412f7d:	75 17                	jne    0x412f96
412f7f:	8d 46 01             	lea    0x1(%esi),%eax
412f82:	8b cb                	mov    %ebx,%ecx
412f84:	50                   	push   %eax
412f85:	e8 96 4b ff ff       	call   0x407b20
412f8a:	6a 25                	push   $0x25
412f8c:	59                   	pop    %ecx
412f8d:	66 39 08             	cmp    %cx,(%eax)
412f90:	0f 84 2f 01 00 00    	je     0x4130c5
412f96:	56                   	push   %esi
412f97:	8b cb                	mov    %ebx,%ecx
412f99:	e8 82 4b ff ff       	call   0x407b20
412f9e:	6a 5c                	push   $0x5c
412fa0:	59                   	pop    %ecx
412fa1:	66 39 08             	cmp    %cx,(%eax)
412fa4:	0f 84 ea 3f 03 00    	je     0x446f94
412faa:	8b 44 24 10          	mov    0x10(%esp),%eax
412fae:	3b 44 24 54          	cmp    0x54(%esp),%eax
412fb2:	0f 84 87 00 00 00    	je     0x41303f
412fb8:	ff 74 24 18          	push   0x18(%esp)
412fbc:	40                   	inc    %eax
412fbd:	8d 4c 24 48          	lea    0x48(%esp),%ecx
412fc1:	56                   	push   %esi
412fc2:	53                   	push   %ebx
412fc3:	89 44 24 1c          	mov    %eax,0x1c(%esp)
412fc7:	e8 df 49 ff ff       	call   0x4079ab
412fcc:	8b 44 24 48          	mov    0x48(%esp),%eax
412fd0:	8d 4c 24 44          	lea    0x44(%esp),%ecx
412fd4:	48                   	dec    %eax
412fd5:	50                   	push   %eax
412fd6:	e8 77 4b ff ff       	call   0x407b52
412fdb:	0f b7 00             	movzwl (%eax),%eax
412fde:	83 f8 69             	cmp    $0x69,%eax
412fe1:	0f 8f e2 3f 03 00    	jg     0x446fc9
412fe7:	0f 84 f3 3f 03 00    	je     0x446fe0
412fed:	83 f8 45             	cmp    $0x45,%eax
412ff0:	74 1f                	je     0x413011
412ff2:	83 f8 47             	cmp    $0x47,%eax
412ff5:	74 1a                	je     0x413011
412ff7:	83 f8 58             	cmp    $0x58,%eax
412ffa:	0f 84 e0 3f 03 00    	je     0x446fe0
413000:	83 f8 64             	cmp    $0x64,%eax
413003:	0f 84 d7 3f 03 00    	je     0x446fe0
413009:	83 c0 9b             	add    $0xffffff9b,%eax
41300c:	83 f8 02             	cmp    $0x2,%eax
41300f:	77 24                	ja     0x413035
413011:	8b 45 08             	mov    0x8(%ebp),%eax
413014:	8b 4c 24 10          	mov    0x10(%esp),%ecx
413018:	8b 40 04             	mov    0x4(%eax),%eax
41301b:	8b 0c 88             	mov    (%eax,%ecx,4),%ecx
41301e:	e8 d5 6c ff ff       	call   0x409cf8
413023:	51                   	push   %ecx
413024:	51                   	push   %ecx
413025:	dd 1c 24             	fstpl  (%esp)
413028:	ff 74 24 4c          	push   0x4c(%esp)
41302c:	57                   	push   %edi
41302d:	e8 a6 08 01 00       	call   0x4238d8
413032:	83 c4 10             	add    $0x10,%esp
413035:	57                   	push   %edi
413036:	8d 4c 24 20          	lea    0x20(%esp),%ecx
41303a:	e8 cc 4d ff ff       	call   0x407e0b
41303f:	8b 74 24 14          	mov    0x14(%esp),%esi
413043:	3b 73 04             	cmp    0x4(%ebx),%esi
413046:	0f 8c de fe ff ff    	jl     0x412f2a
41304c:	3b 73 04             	cmp    0x4(%ebx),%esi
41304f:	7c 7a                	jl     0x4130cb
413051:	8b 4d 0c             	mov    0xc(%ebp),%ecx
413054:	8d 44 24 1c          	lea    0x1c(%esp),%eax
413058:	50                   	push   %eax