439c76:	6a 28                	push   $0x28
439c78:	50                   	push   %eax
439c79:	e8 96 29 ff ff       	call   0x42c614
439c7e:	83 c4 14             	add    $0x14,%esp
439c81:	89 45 a8             	mov    %eax,-0x58(%ebp)
439c84:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
439c87:	ff 76 30             	push   0x30(%esi)
439c8a:	e8 ad f1 fe ff       	call   0x428e3c
439c8f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
439c93:	8d 45 94             	lea    -0x6c(%ebp),%eax
439c96:	50                   	push   %eax
439c97:	e8 c6 f0 fc ff       	call   0x408d62
439c9c:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
439ca0:	8b f0                	mov    %eax,%esi
439ca2:	59                   	pop    %ecx
439ca3:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
439ca6:	89 75 ac             	mov    %esi,-0x54(%ebp)
439ca9:	e8 39 57 fd ff       	call   0x40f3e7
439cae:	8b 06                	mov    (%esi),%eax
439cb0:	6a 30                	push   $0x30
439cb2:	8b 70 30             	mov    0x30(%eax),%esi
439cb5:	8b ce                	mov    %esi,%ecx
439cb7:	ff 15 54 43 49 00    	call   *0x494354
439cbd:	8b 4d ac             	mov    -0x54(%ebp),%ecx
439cc0:	ff d6                	call   *%esi
439cc2:	83 65 c0 00          	andl   $0x0,-0x40(%ebp)
439cc6:	8d 4d b0             	lea    -0x50(%ebp),%ecx
439cc9:	0f b7 f0             	movzwl %ax,%esi
439ccc:	33 c0                	xor    %eax,%eax
439cce:	50                   	push   %eax
439ccf:	ff 75 a8             	push   -0x58(%ebp)
439cd2:	c7 45 c4 07 00 00 00 	movl   $0x7,-0x3c(%ebp)
439cd9:	66 89 45 b0          	mov    %ax,-0x50(%ebp)
439cdd:	e8 4f 5b fe ff       	call   0x41f831
439ce2:	83 7d c4 08          	cmpl   $0x8,-0x3c(%ebp)
439ce6:	8d 45 b0             	lea    -0x50(%ebp),%eax
439ce9:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
439cf0:	72 03                	jb     0x439cf5
439cf2:	8b 45 b0             	mov    -0x50(%ebp),%eax
439cf5:	50                   	push   %eax
439cf6:	8b 45 a8             	mov    -0x58(%ebp),%eax
439cf9:	8d 4d c8             	lea    -0x38(%ebp),%ecx
439cfc:	03 c1                	add    %ecx,%eax
439cfe:	50                   	push   %eax
439cff:	8b c1                	mov    %ecx,%eax
439d01:	8b 4d ac             	mov    -0x54(%ebp),%ecx
439d04:	50                   	push   %eax
439d05:	e8 32 19 00 00       	call   0x43b63c
439d0a:	56                   	push   %esi
439d0b:	57                   	push   %edi
439d0c:	8d 4d b0             	lea    -0x50(%ebp),%ecx
439d0f:	e8 0d 59 fe ff       	call   0x41f621
439d14:	56                   	push   %esi
439d15:	83 ec 18             	sub    $0x18,%esp
439d18:	8d 45 b0             	lea    -0x50(%ebp),%eax
439d1b:	8b cc                	mov    %esp,%ecx
439d1d:	50                   	push   %eax
439d1e:	83 61 10 00          	andl   $0x0,0x10(%ecx)
439d22:	83 61 14 00          	andl   $0x0,0x14(%ecx)
439d26:	e8 26 df fd ff       	call   0x417c51
439d2b:	ff 75 a4             	push   -0x5c(%ebp)
439d2e:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
439d31:	ff 75 1c             	push   0x1c(%ebp)
439d34:	ff 75 a0             	push   -0x60(%ebp)
439d37:	ff 75 14             	push   0x14(%ebp)
439d3a:	ff 75 10             	push   0x10(%ebp)
439d3d:	ff 75 0c             	push   0xc(%ebp)
439d40:	53                   	push   %ebx
439d41:	e8 82 c8 ff ff       	call   0x4365c8
439d46:	8d 4d b0             	lea    -0x50(%ebp),%ecx
439d49:	e8 ac 35 fe ff       	call   0x41d2fa
439d4e:	8b c3                	mov    %ebx,%eax
439d50:	e8 d3 5c 00 00       	call   0x43fa28
439d55:	c2 20 00             	ret    $0x20
439d58:	dd d9                	fstp   %st(1)
439d5a:	e9 08 ff ff ff       	jmp    0x439c67
439d5f:	55                   	push   %ebp
439d60:	8b ec                	mov    %esp,%ebp
439d62:	83 ec 4c             	sub    $0x4c,%esp
439d65:	a1 94 80 4b 00       	mov    0x4b8094,%eax
439d6a:	33 c5                	xor    %ebp,%eax
439d6c:	89 45 fc             	mov    %eax,-0x4(%ebp)
439d6f:	53                   	push   %ebx
439d70:	8b 5d 08             	mov    0x8(%ebp),%ebx
439d73:	8d 45 f4             	lea    -0xc(%ebp),%eax
439d76:	56                   	push   %esi
439d77:	8b 75 14             	mov    0x14(%ebp),%esi
439d7a:	57                   	push   %edi
439d7b:	ff 75 1c             	push   0x1c(%ebp)
439d7e:	8b f9                	mov    %ecx,%edi
439d80:	ff 76 14             	push   0x14(%esi)
439d83:	68 78 7e 49 00       	push   $0x497e78
439d88:	50                   	push   %eax
439d89:	57                   	push   %edi
439d8a:	e8 c8 ab ff ff       	call   0x434957
439d8f:	83 c4 10             	add    $0x10,%esp
439d92:	50                   	push   %eax
439d93:	8d 45 b4             	lea    -0x4c(%ebp),%eax
439d96:	6a 40                	push   $0x40
439d98:	50                   	push   %eax
439d99:	e8 76 28 ff ff       	call   0x42c614
439d9e:	50                   	push   %eax
439d9f:	8d 45 b4             	lea    -0x4c(%ebp),%eax
439da2:	50                   	push   %eax
439da3:	ff 75 18             	push   0x18(%ebp)
439da6:	56                   	push   %esi
439da7:	ff 75 10             	push   0x10(%ebp)
439daa:	ff 75 0c             	push   0xc(%ebp)
439dad:	53                   	push   %ebx
439dae:	57                   	push   %edi
439daf:	e8 dd b0 ff ff       	call   0x434e91
439db4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
439db7:	83 c4 30             	add    $0x30,%esp
439dba:	8b c3                	mov    %ebx,%eax
439dbc:	33 cd                	xor    %ebp,%ecx
439dbe:	5f                   	pop    %edi
439dbf:	5e                   	pop    %esi
439dc0:	5b                   	pop    %ebx
439dc1:	e8 3c 5c 00 00       	call   0x43fa02
439dc6:	c9                   	leave
439dc7:	c2 18 00             	ret    $0x18
439dca:	55                   	push   %ebp
439dcb:	8b ec                	mov    %esp,%ebp
439dcd:	83 ec 4c             	sub    $0x4c,%esp
439dd0:	a1 94 80 4b 00       	mov    0x4b8094,%eax
439dd5:	33 c5                	xor    %ebp,%eax
439dd7:	89 45 fc             	mov    %eax,-0x4(%ebp)
439dda:	53                   	push   %ebx
439ddb:	8b 5d 08             	mov    0x8(%ebp),%ebx
439dde:	8d 45 f4             	lea    -0xc(%ebp),%eax
439de1:	56                   	push   %esi
439de2:	8b 75 14             	mov    0x14(%ebp),%esi
439de5:	57                   	push   %edi
439de6:	ff 75 1c             	push   0x1c(%ebp)
439de9:	8b f9                	mov    %ecx,%edi
439deb:	ff 76 14             	push   0x14(%esi)
439dee:	68 74 7e 49 00       	push   $0x497e74
439df3:	50                   	push   %eax
439df4:	57                   	push   %edi
439df5:	e8 5d ab ff ff       	call   0x434957
439dfa:	83 c4 10             	add    $0x10,%esp
439dfd:	50                   	push   %eax
439dfe:	8d 45 b4             	lea    -0x4c(%ebp),%eax
439e01:	6a 40                	push   $0x40
439e03:	50                   	push   %eax
439e04:	e8 0b 28 ff ff       	call   0x42c614
439e09:	50                   	push   %eax
439e0a:	8d 45 b4             	lea    -0x4c(%ebp),%eax
439e0d:	50                   	push   %eax
439e0e:	ff 75 18             	push   0x18(%ebp)
439e11:	56                   	push   %esi
439e12:	ff 75 10             	push   0x10(%ebp)
439e15:	ff 75 0c             	push   0xc(%ebp)
439e18:	53                   	push   %ebx
439e19:	57                   	push   %edi
439e1a:	e8 72 b0 ff ff       	call   0x434e91
439e1f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
439e22:	83 c4 30             	add    $0x30,%esp
439e25:	8b c3                	mov    %ebx,%eax
439e27:	33 cd                	xor    %ebp,%ecx
439e29:	5f                   	pop    %edi
439e2a:	5e                   	pop    %esi
439e2b:	5b                   	pop    %ebx
439e2c:	e8 d1 5b 00 00       	call   0x43fa02
439e31:	c9                   	leave
439e32:	c2 18 00             	ret    $0x18
439e35:	6a 34                	push   $0x34
439e37:	b8 34 27 49 00       	mov    $0x492734,%eax
439e3c:	e8 3d 5c 00 00       	call   0x43fa7e
439e41:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
439e44:	8b 45 08             	mov    0x8(%ebp),%eax
439e47:	8b 75 14             	mov    0x14(%ebp),%esi
439e4a:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
439e4e:	89 45 c0             	mov    %eax,-0x40(%ebp)
439e51:	c7 45 e4 0f 00 00 00 	movl   $0xf,-0x1c(%ebp)
439e58:	c6 45 d0 00          	movb   $0x0,-0x30(%ebp)
439e5c:	8b 46 14             	mov    0x14(%esi),%eax
439e5f:	ba 00 20 00 00       	mov    $0x2000,%edx
439e64:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
439e68:	25 00 30 00 00       	and    $0x3000,%eax
439e6d:	8b 4e 1c             	mov    0x1c(%esi),%ecx
439e70:	8b 7e 18             	mov    0x18(%esi),%edi
439e73:	85 c9                	test   %ecx,%ecx
439e75:	7f 0f                	jg     0x439e86
439e77:	7c 04                	jl     0x439e7d
439e79:	85 ff                	test   %edi,%edi
439e7b:	75 09                	jne    0x439e86
439e7d:	3b c2                	cmp    %edx,%eax
439e7f:	74 05                	je     0x439e86
439e81:	6a 06                	push   $0x6
439e83:	5f                   	pop    %edi
439e84:	33 c9                	xor    %ecx,%ecx
439e86:	dd 45 1c             	fldl   0x1c(%ebp)
439e89:	8b df                	mov    %edi,%ebx
439e8b:	89 4d cc             	mov    %ecx,-0x34(%ebp)
439e8e:	3b c2                	cmp    %edx,%eax
439e90:	75 3a                	jne    0x439ecc
439e92:	d9 c0                	fld    %st(0)
439e94:	d9 e1                	fabs
439e96:	dc 1d e0 7e 49 00    	fcompl 0x497ee0
439e9c:	df e0                	fnstsw %ax
439e9e:	f6 c4 41             	test   $0x41,%ah
439ea1:	75 29                	jne    0x439ecc
439ea3:	8d 45 cc             	lea    -0x34(%ebp),%eax
439ea6:	50                   	push   %eax
439ea7:	51                   	push   %ecx
439ea8:	51                   	push   %ecx
439ea9:	dd 1c 24             	fstpl  (%esp)
439eac:	e8 05 fa 02 00       	call   0x4698b6
439eb1:	8b 45 cc             	mov    -0x34(%ebp),%eax
439eb4:	b9 a0 86 01 00       	mov    $0x186a0,%ecx
439eb9:	99                   	cltd
439eba:	83 c4 0c             	add    $0xc,%esp
439ebd:	33 c2                	xor    %edx,%eax
439ebf:	2b c2                	sub    %edx,%eax
439ec1:	69 c0 97 75 00 00    	imul   $0x7597,%eax,%eax
439ec7:	99                   	cltd
439ec8:	f7 f9                	idiv   %ecx
439eca:	03 d8                	add    %eax,%ebx
439ecc:	6a 00                	push   $0x0
439ece:	8d 43 32             	lea    0x32(%ebx),%eax
439ed1:	dd d8                	fstp   %st(0)
439ed3:	50                   	push   %eax
439ed4:	8d 4d d0             	lea    -0x30(%ebp),%ecx
439ed7:	e8 a7 89 fe ff       	call   0x422883
439edc:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
439ee0:	8d 5d d0             	lea    -0x30(%ebp),%ebx
439ee3:	8b 45 e0             	mov    -0x20(%ebp),%eax
439ee6:	89 45 cc             	mov    %eax,-0x34(%ebp)
439ee9:	72 03                	jb     0x439eee
439eeb:	8b 5d d0             	mov    -0x30(%ebp),%ebx
439eee:	dd 45 1c             	fldl   0x1c(%ebp)
439ef1:	8d 45 e8             	lea    -0x18(%ebp),%eax
439ef4:	51                   	push   %ecx
439ef5:	51                   	push   %ecx
439ef6:	dd 1c 24             	fstpl  (%esp)
439ef9:	57                   	push   %edi
439efa:	ff 76 14             	push   0x14(%esi)
439efd:	8b 7d c4             	mov    -0x3c(%ebp),%edi
439f00:	6a 00                	push   $0x0
439f02:	50                   	push   %eax
439f03:	57                   	push   %edi
439f04:	e8 c6 6b ff ff       	call   0x430acf
439f09:	83 c4 10             	add    $0x10,%esp
439f0c:	50                   	push   %eax
439f0d:	ff 75 cc             	push   -0x34(%ebp)
439f10:	53                   	push   %ebx
439f11:	e8 fe 26 ff ff       	call   0x42c614
439f16:	83 c4 18             	add    $0x18,%esp
439f19:	8d 4d d0             	lea    -0x30(%ebp),%ecx
439f1c:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
439f20:	72 03                	jb     0x439f25
439f22:	8b 4d d0             	mov    -0x30(%ebp),%ecx
439f25:	50                   	push   %eax
439f26:	51                   	push   %ecx
439f27:	ff 75 18             	push   0x18(%ebp)
439f2a:	56                   	push   %esi
439f2b:	ff 75 10             	push   0x10(%ebp)
439f2e:	8b 75 c0             	mov    -0x40(%ebp),%esi
439f31:	ff 75 0c             	push   0xc(%ebp)
439f34:	56                   	push   %esi
439f35:	57                   	push   %edi
439f36:	e8 be 6c ff ff       	call   0x430bf9
439f3b:	83 c4 20             	add    $0x20,%esp
439f3e:	8d 4d d0             	lea    -0x30(%ebp),%ecx
439f41:	e8 8e 33 fe ff       	call   0x41d2d4
439f46:	8b c6                	mov    %esi,%eax
439f48:	e8 db 5a 00 00       	call   0x43fa28
439f4d:	c2 1c 00             	ret    $0x1c
439f50:	6a 34                	push   $0x34
439f52:	b8 61 27 49 00       	mov    $0x492761,%eax
439f57:	e8 22 5b 00 00       	call   0x43fa7e
439f5c:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
439f5f:	8b 45 08             	mov    0x8(%ebp),%eax
439f62:	8b 75 14             	mov    0x14(%ebp),%esi
439f65:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
439f69:	89 45 c0             	mov    %eax,-0x40(%ebp)
439f6c:	c7 45 e4 0f 00 00 00 	movl   $0xf,-0x1c(%ebp)
439f73:	c6 45 d0 00          	movb   $0x0,-0x30(%ebp)
439f77:	8b 46 14             	mov    0x14(%esi),%eax
439f7a:	ba 00 20 00 00       	mov    $0x2000,%edx
439f7f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
439f83:	25 00 30 00 00       	and    $0x3000,%eax
439f88:	8b 4e 1c             	mov    0x1c(%esi),%ecx
439f8b:	8b 7e 18             	mov    0x18(%esi),%edi
439f8e:	85 c9                	test   %ecx,%ecx
439f90:	7f 0f                	jg     0x439fa1
439f92:	7c 04                	jl     0x439f98
439f94:	85 ff                	test   %edi,%edi
439f96:	75 09                	jne    0x439fa1
439f98:	3b c2                	cmp    %edx,%eax
439f9a:	74 05                	je     0x439fa1
439f9c:	6a 06                	push   $0x6
439f9e:	5f                   	pop    %edi
439f9f:	33 c9                	xor    %ecx,%ecx
439fa1:	dd 45 1c             	fldl   0x1c(%ebp)
439fa4:	8b df                	mov    %edi,%ebx
439fa6:	89 4d cc             	mov    %ecx,-0x34(%ebp)
439fa9:	3b c2                	cmp    %edx,%eax
439fab:	75 3a                	jne    0x439fe7
439fad:	d9 c0                	fld    %st(0)
439faf:	d9 e1                	fabs
439fb1:	dc 1d e0 7e 49 00    	fcompl 0x497ee0
439fb7:	df e0                	fnstsw %ax
439fb9:	f6 c4 41             	test   $0x41,%ah
439fbc:	75 29                	jne    0x439fe7
439fbe:	8d 45 cc             	lea    -0x34(%ebp),%eax
439fc1:	50                   	push   %eax
439fc2:	51                   	push   %ecx
439fc3:	51                   	push   %ecx
439fc4:	dd 1c 24             	fstpl  (%esp)
439fc7:	e8 ea f8 02 00       	call   0x4698b6
439fcc:	8b 45 cc             	mov    -0x34(%ebp),%eax
439fcf:	b9 a0 86 01 00       	mov    $0x186a0,%ecx
439fd4:	99                   	cltd
439fd5:	83 c4 0c             	add    $0xc,%esp
439fd8:	33 c2                	xor    %edx,%eax
439fda:	2b c2                	sub    %edx,%eax
439fdc:	69 c0 97 75 00 00    	imul   $0x7597,%eax,%eax
439fe2:	99                   	cltd
439fe3:	f7 f9                	idiv   %ecx
439fe5:	03 d8                	add    %eax,%ebx
439fe7:	6a 00                	push   $0x0
439fe9:	8d 43 32             	lea    0x32(%ebx),%eax
439fec:	dd d8                	fstp   %st(0)
439fee:	50                   	push   %eax
439fef:	8d 4d d0             	lea    -0x30(%ebp),%ecx
439ff2:	e8 8c 88 fe ff       	call   0x422883
439ff7:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
439ffb:	8d 5d d0             	lea    -0x30(%ebp),%ebx
439ffe:	8b 45 e0             	mov    -0x20(%ebp),%eax
43a001:	89 45 cc             	mov    %eax,-0x34(%ebp)
43a004:	72 03                	jb     0x43a009
43a006:	8b 5d d0             	mov    -0x30(%ebp),%ebx
43a009:	dd 45 1c             	fldl   0x1c(%ebp)
43a00c:	8d 45 e8             	lea    -0x18(%ebp),%eax
43a00f:	51                   	push   %ecx
43a010:	51                   	push   %ecx
43a011:	dd 1c 24             	fstpl  (%esp)
43a014:	57                   	push   %edi
43a015:	ff 76 14             	push   0x14(%esi)
43a018:	8b 7d c4             	mov    -0x3c(%ebp),%edi
43a01b:	6a 4c                	push   $0x4c
43a01d:	50                   	push   %eax
43a01e:	57                   	push   %edi
43a01f:	e8 ab 6a ff ff       	call   0x430acf
43a024:	83 c4 10             	add    $0x10,%esp
43a027:	50                   	push   %eax
43a028:	ff 75 cc             	push   -0x34(%ebp)
43a02b:	53                   	push   %ebx