457b97:	8b cb                	mov    %ebx,%ecx
457b99:	e8 e8 56 fb ff       	call   0x40d286
457b9e:	85 c0                	test   %eax,%eax
457ba0:	75 16                	jne    0x457bb8
457ba2:	8b 75 0c             	mov    0xc(%ebp),%esi
457ba5:	8b 7d f8             	mov    -0x8(%ebp),%edi
457ba8:	8b ce                	mov    %esi,%ecx
457baa:	e8 71 b0 fb ff       	call   0x412c20
457baf:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
457bb6:	eb 21                	jmp    0x457bd9
457bb8:	8b 47 04             	mov    0x4(%edi),%eax
457bbb:	8b 08                	mov    (%eax),%ecx
457bbd:	e8 c4 56 fb ff       	call   0x40d286
457bc2:	33 db                	xor    %ebx,%ebx
457bc4:	43                   	inc    %ebx
457bc5:	3b c3                	cmp    %ebx,%eax
457bc7:	75 12                	jne    0x457bdb
457bc9:	8b 75 0c             	mov    0xc(%ebp),%esi
457bcc:	8b 7d fc             	mov    -0x4(%ebp),%edi
457bcf:	8b ce                	mov    %esi,%ecx
457bd1:	e8 4a b0 fb ff       	call   0x412c20
457bd6:	89 5e 0c             	mov    %ebx,0xc(%esi)
457bd9:	89 3e                	mov    %edi,(%esi)
457bdb:	5f                   	pop    %edi
457bdc:	5e                   	pop    %esi
457bdd:	33 c0                	xor    %eax,%eax
457bdf:	5b                   	pop    %ebx
457be0:	c9                   	leave
457be1:	c2 08 00             	ret    $0x8
457be4:	55                   	push   %ebp
457be5:	8b ec                	mov    %esp,%ebp
457be7:	56                   	push   %esi
457be8:	8b 75 08             	mov    0x8(%ebp),%esi
457beb:	83 c8 ff             	or     $0xffffffff,%eax
457bee:	83 7e 08 03          	cmpl   $0x3,0x8(%esi)
457bf2:	57                   	push   %edi
457bf3:	8b f9                	mov    %ecx,%edi
457bf5:	75 0b                	jne    0x457c02
457bf7:	8b 46 04             	mov    0x4(%esi),%eax
457bfa:	8b 48 08             	mov    0x8(%eax),%ecx
457bfd:	e8 84 56 fb ff       	call   0x40d286
457c02:	8b 56 04             	mov    0x4(%esi),%edx
457c05:	6a 00                	push   $0x0
457c07:	8b 4a 04             	mov    0x4(%edx),%ecx
457c0a:	8b 32                	mov    (%edx),%esi
457c0c:	50                   	push   %eax
457c0d:	e8 74 56 fb ff       	call   0x40d286
457c12:	50                   	push   %eax
457c13:	8b ce                	mov    %esi,%ecx
457c15:	e8 6c 56 fb ff       	call   0x40d286
457c1a:	50                   	push   %eax
457c1b:	8b cf                	mov    %edi,%ecx
457c1d:	e8 23 1f 00 00       	call   0x459b45
457c22:	5f                   	pop    %edi
457c23:	33 c0                	xor    %eax,%eax
457c25:	5e                   	pop    %esi
457c26:	5d                   	pop    %ebp
457c27:	c2 08 00             	ret    $0x8
457c2a:	55                   	push   %ebp
457c2b:	8b ec                	mov    %esp,%ebp
457c2d:	8b 45 08             	mov    0x8(%ebp),%eax
457c30:	56                   	push   %esi
457c31:	8b 40 04             	mov    0x4(%eax),%eax
457c34:	8b 30                	mov    (%eax),%esi
457c36:	8b ce                	mov    %esi,%ecx
457c38:	e8 2f 17 fb ff       	call   0x40936c
457c3d:	8b 46 08             	mov    0x8(%esi),%eax
457c40:	8b 08                	mov    (%eax),%ecx
457c42:	e8 a0 f8 fe ff       	call   0x4474e7
457c47:	84 c0                	test   %al,%al
457c49:	75 14                	jne    0x457c5f
457c4b:	8b 75 0c             	mov    0xc(%ebp),%esi
457c4e:	8b ce                	mov    %esi,%ecx
457c50:	e8 cb af fb ff       	call   0x412c20
457c55:	83 26 00             	andl   $0x0,(%esi)
457c58:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
457c5f:	33 c0                	xor    %eax,%eax
457c61:	5e                   	pop    %esi
457c62:	5d                   	pop    %ebp
457c63:	c2 08 00             	ret    $0x8
457c66:	55                   	push   %ebp
457c67:	8b ec                	mov    %esp,%ebp
457c69:	51                   	push   %ecx
457c6a:	8b 45 08             	mov    0x8(%ebp),%eax
457c6d:	57                   	push   %edi
457c6e:	33 ff                	xor    %edi,%edi
457c70:	47                   	inc    %edi
457c71:	83 78 08 02          	cmpl   $0x2,0x8(%eax)
457c75:	89 4d fc             	mov    %ecx,-0x4(%ebp)
457c78:	72 14                	jb     0x457c8e
457c7a:	8b 40 04             	mov    0x4(%eax),%eax
457c7d:	8b 48 04             	mov    0x4(%eax),%ecx
457c80:	e8 01 56 fb ff       	call   0x40d286
457c85:	8b f8                	mov    %eax,%edi
457c87:	85 ff                	test   %edi,%edi
457c89:	7e 53                	jle    0x457cde
457c8b:	8b 45 08             	mov    0x8(%ebp),%eax
457c8e:	53                   	push   %ebx
457c8f:	33 db                	xor    %ebx,%ebx
457c91:	56                   	push   %esi
457c92:	85 ff                	test   %edi,%edi
457c94:	7e 46                	jle    0x457cdc
457c96:	8b 40 04             	mov    0x4(%eax),%eax
457c99:	8b 30                	mov    (%eax),%esi
457c9b:	8b ce                	mov    %esi,%ecx
457c9d:	e8 ca 16 fb ff       	call   0x40936c
457ca2:	8b 46 08             	mov    0x8(%esi),%eax
457ca5:	8b 08                	mov    (%eax),%ecx
457ca7:	e8 67 f8 fe ff       	call   0x447513
457cac:	84 c0                	test   %al,%al
457cae:	74 18                	je     0x457cc8
457cb0:	8b 45 fc             	mov    -0x4(%ebp),%eax
457cb3:	8b 88 10 01 00 00    	mov    0x110(%eax),%ecx
457cb9:	e8 9a fd fe ff       	call   0x447a58
457cbe:	8b 45 08             	mov    0x8(%ebp),%eax
457cc1:	43                   	inc    %ebx
457cc2:	3b df                	cmp    %edi,%ebx
457cc4:	7c d0                	jl     0x457c96
457cc6:	eb 14                	jmp    0x457cdc
457cc8:	8b 75 0c             	mov    0xc(%ebp),%esi
457ccb:	8b ce                	mov    %esi,%ecx
457ccd:	e8 4e af fb ff       	call   0x412c20
457cd2:	83 26 00             	andl   $0x0,(%esi)
457cd5:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
457cdc:	5e                   	pop    %esi
457cdd:	5b                   	pop    %ebx
457cde:	33 c0                	xor    %eax,%eax
457ce0:	5f                   	pop    %edi
457ce1:	c9                   	leave
457ce2:	c2 08 00             	ret    $0x8
457ce5:	55                   	push   %ebp
457ce6:	8b ec                	mov    %esp,%ebp
457ce8:	83 ec 30             	sub    $0x30,%esp
457ceb:	53                   	push   %ebx
457cec:	56                   	push   %esi
457ced:	57                   	push   %edi
457cee:	8b 7d 08             	mov    0x8(%ebp),%edi
457cf1:	89 4d f8             	mov    %ecx,-0x8(%ebp)
457cf4:	8b 47 08             	mov    0x8(%edi),%eax
457cf7:	89 45 f0             	mov    %eax,-0x10(%ebp)
457cfa:	8b 47 04             	mov    0x4(%edi),%eax
457cfd:	8b 70 04             	mov    0x4(%eax),%esi
457d00:	8b ce                	mov    %esi,%ecx
457d02:	e8 65 16 fb ff       	call   0x40936c
457d07:	8b 4e 08             	mov    0x8(%esi),%ecx
457d0a:	8b 01                	mov    (%ecx),%eax
457d0c:	89 45 08             	mov    %eax,0x8(%ebp)
457d0f:	89 45 d0             	mov    %eax,-0x30(%ebp)
457d12:	8b 41 04             	mov    0x4(%ecx),%eax
457d15:	89 45 d4             	mov    %eax,-0x2c(%ebp)
457d18:	8b 41 08             	mov    0x8(%ecx),%eax
457d1b:	89 45 d8             	mov    %eax,-0x28(%ebp)
457d1e:	8b 41 0c             	mov    0xc(%ecx),%eax
457d21:	89 45 dc             	mov    %eax,-0x24(%ebp)
457d24:	ff 00                	incl   (%eax)
457d26:	8b 47 04             	mov    0x4(%edi),%eax
457d29:	8b 70 08             	mov    0x8(%eax),%esi
457d2c:	8b ce                	mov    %esi,%ecx
457d2e:	e8 39 16 fb ff       	call   0x40936c
457d33:	8b 4e 08             	mov    0x8(%esi),%ecx
457d36:	33 db                	xor    %ebx,%ebx
457d38:	8b 01                	mov    (%ecx),%eax
457d3a:	89 45 fc             	mov    %eax,-0x4(%ebp)
457d3d:	89 45 e0             	mov    %eax,-0x20(%ebp)
457d40:	8b 41 04             	mov    0x4(%ecx),%eax
457d43:	89 45 f4             	mov    %eax,-0xc(%ebp)
457d46:	89 45 e4             	mov    %eax,-0x1c(%ebp)
457d49:	8b 41 08             	mov    0x8(%ecx),%eax
457d4c:	89 45 e8             	mov    %eax,-0x18(%ebp)
457d4f:	8b 41 0c             	mov    0xc(%ecx),%eax
457d52:	89 45 ec             	mov    %eax,-0x14(%ebp)
457d55:	ff 00                	incl   (%eax)
457d57:	8b 47 04             	mov    0x4(%edi),%eax
457d5a:	8b 08                	mov    (%eax),%ecx
457d5c:	e8 25 55 fb ff       	call   0x40d286
457d61:	83 f8 ff             	cmp    $0xffffffff,%eax
457d64:	74 23                	je     0x457d89
457d66:	8b 47 04             	mov    0x4(%edi),%eax
457d69:	6a 29                	push   $0x29
457d6b:	8b 30                	mov    (%eax),%esi
457d6d:	8b ce                	mov    %esi,%ecx
457d6f:	e8 78 9e fa ff       	call   0x401bec
457d74:	84 c0                	test   %al,%al
457d76:	75 11                	jne    0x457d89
457d78:	8b ce                	mov    %esi,%ecx
457d7a:	e8 07 55 fb ff       	call   0x40d286
457d7f:	8b f0                	mov    %eax,%esi
457d81:	81 ce 00 00 01 00    	or     $0x10000,%esi
457d87:	eb 02                	jmp    0x457d8b
457d89:	8b f3                	mov    %ebx,%esi
457d8b:	8b 4f 04             	mov    0x4(%edi),%ecx
457d8e:	6a 29                	push   $0x29
457d90:	8b 49 04             	mov    0x4(%ecx),%ecx
457d93:	e8 54 9e fa ff       	call   0x401bec
457d98:	84 c0                	test   %al,%al
457d9a:	74 17                	je     0x457db3
457d9c:	8b 45 f8             	mov    -0x8(%ebp),%eax
457d9f:	05 b8 00 00 00       	add    $0xb8,%eax
457da4:	50                   	push   %eax
457da5:	8d 4d d0             	lea    -0x30(%ebp),%ecx
457da8:	e8 40 f1 fa ff       	call   0x406eed
457dad:	8b 45 d0             	mov    -0x30(%ebp),%eax
457db0:	89 45 08             	mov    %eax,0x8(%ebp)
457db3:	b8 00 40 00 00       	mov    $0x4000,%eax
457db8:	39 45 f4             	cmp    %eax,-0xc(%ebp)
457dbb:	76 11                	jbe    0x457dce
457dbd:	6a ff                	push   $0xffffffff
457dbf:	50                   	push   %eax
457dc0:	8d 4d e0             	lea    -0x20(%ebp),%ecx
457dc3:	e8 c3 33 fb ff       	call   0x40b18b
457dc8:	8b 45 e0             	mov    -0x20(%ebp),%eax
457dcb:	89 45 fc             	mov    %eax,-0x4(%ebp)
457dce:	83 7d f0 05          	cmpl   $0x5,-0x10(%ebp)
457dd2:	72 0d                	jb     0x457de1
457dd4:	8b 47 04             	mov    0x4(%edi),%eax
457dd7:	8b 48 10             	mov    0x10(%eax),%ecx
457dda:	e8 98 37 ff ff       	call   0x44b577
457ddf:	8b d8                	mov    %eax,%ebx
457de1:	83 7f 08 04          	cmpl   $0x4,0x8(%edi)
457de5:	72 4c                	jb     0x457e33
457de7:	8b 4f 04             	mov    0x4(%edi),%ecx
457dea:	6a 29                	push   $0x29
457dec:	8b 79 0c             	mov    0xc(%ecx),%edi
457def:	8b cf                	mov    %edi,%ecx
457df1:	e8 f6 9d fa ff       	call   0x401bec
457df6:	84 c0                	test   %al,%al
457df8:	75 39                	jne    0x457e33
457dfa:	8b cf                	mov    %edi,%ecx
457dfc:	e8 cf ae fb ff       	call   0x412cd0
457e01:	dd 05 e0 69 4b 00    	fldl   0x4b69e0
457e07:	d8 d9                	fcomp  %st(1)
457e09:	df e0                	fnstsw %ax
457e0b:	f6 c4 41             	test   $0x41,%ah
457e0e:	75 04                	jne    0x457e14
457e10:	dd d8                	fstp   %st(0)
457e12:	d9 ee                	fldz
457e14:	dc 0d 20 27 4b 00    	fmull  0x4b2720
457e1a:	e8 b1 9a 01 00       	call   0x4718d0
457e1f:	8b 55 fc             	mov    -0x4(%ebp),%edx
457e22:	50                   	push   %eax
457e23:	56                   	push   %esi
457e24:	ff 75 08             	push   0x8(%ebp)
457e27:	8b cb                	mov    %ebx,%ecx
457e29:	e8 fd f4 fe ff       	call   0x44732b
457e2e:	83 c4 0c             	add    $0xc,%esp
457e31:	eb 0e                	jmp    0x457e41
457e33:	56                   	push   %esi
457e34:	ff 75 08             	push   0x8(%ebp)
457e37:	ff 75 fc             	push   -0x4(%ebp)
457e3a:	53                   	push   %ebx
457e3b:	ff 15 e0 d6 48 00    	call   *0x48d6e0
457e41:	8b 75 0c             	mov    0xc(%ebp),%esi
457e44:	8b ce                	mov    %esi,%ecx
457e46:	8b f8                	mov    %eax,%edi
457e48:	e8 d3 ad fb ff       	call   0x412c20
457e4d:	8d 4d e0             	lea    -0x20(%ebp),%ecx
457e50:	89 3e                	mov    %edi,(%esi)
457e52:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
457e59:	e8 d9 4c fb ff       	call   0x40cb37
457e5e:	8d 4d d0             	lea    -0x30(%ebp),%ecx
457e61:	e8 d1 4c fb ff       	call   0x40cb37
457e66:	5f                   	pop    %edi
457e67:	5e                   	pop    %esi
457e68:	33 c0                	xor    %eax,%eax
457e6a:	5b                   	pop    %ebx
457e6b:	c9                   	leave
457e6c:	c2 08 00             	ret    $0x8
457e6f:	55                   	push   %ebp
457e70:	8b ec                	mov    %esp,%ebp
457e72:	83 e4 f8             	and    $0xfffffff8,%esp
457e75:	83 ec 3c             	sub    $0x3c,%esp
457e78:	83 64 24 04 00       	andl   $0x0,0x4(%esp)
457e7d:	8b 45 08             	mov    0x8(%ebp),%eax
457e80:	53                   	push   %ebx
457e81:	8b 40 04             	mov    0x4(%eax),%eax
457e84:	56                   	push   %esi
457e85:	8b 30                	mov    (%eax),%esi
457e87:	57                   	push   %edi
457e88:	8b f9                	mov    %ecx,%edi
457e8a:	6a 0e                	push   $0xe
457e8c:	8b ce                	mov    %esi,%ecx
457e8e:	e8 51 57 fb ff       	call   0x40d5e4
457e93:	8b ce                	mov    %esi,%ecx
457e95:	84 c0                	test   %al,%al
457e97:	74 11                	je     0x457eaa
457e99:	8d 44 24 38          	lea    0x38(%esp),%eax
457e9d:	33 db                	xor    %ebx,%ebx
457e9f:	50                   	push   %eax
457ea0:	43                   	inc    %ebx
457ea1:	e8 f7 27 ff ff       	call   0x44a69d
457ea6:	8b c8                	mov    %eax,%ecx
457ea8:	eb 2c                	jmp    0x457ed6
457eaa:	6a 02                	push   $0x2
457eac:	5b                   	pop    %ebx
457ead:	e8 ba 14 fb ff       	call   0x40936c
457eb2:	8b 4e 08             	mov    0x8(%esi),%ecx
457eb5:	8b 01                	mov    (%ecx),%eax
457eb7:	89 44 24 28          	mov    %eax,0x28(%esp)
457ebb:	8b 41 04             	mov    0x4(%ecx),%eax
457ebe:	89 44 24 2c          	mov    %eax,0x2c(%esp)
457ec2:	8b 41 08             	mov    0x8(%ecx),%eax
457ec5:	89 44 24 30          	mov    %eax,0x30(%esp)
457ec9:	8b 41 0c             	mov    0xc(%ecx),%eax
457ecc:	89 44 24 34          	mov    %eax,0x34(%esp)
457ed0:	ff 00                	incl   (%eax)
457ed2:	8d 4c 24 28          	lea    0x28(%esp),%ecx
457ed6:	8b 01                	mov    (%ecx),%eax
457ed8:	89 44 24 18          	mov    %eax,0x18(%esp)
457edc:	8b 41 04             	mov    0x4(%ecx),%eax
457edf:	89 44 24 1c          	mov    %eax,0x1c(%esp)
457ee3:	8b 41 08             	mov    0x8(%ecx),%eax
457ee6:	89 44 24 20          	mov    %eax,0x20(%esp)
457eea:	8b 41 0c             	mov    0xc(%ecx),%eax
457eed:	89 44 24 24          	mov    %eax,0x24(%esp)
457ef1:	ff 00                	incl   (%eax)
457ef3:	f6 c3 02             	test   $0x2,%bl
457ef6:	74 0c                	je     0x457f04
457ef8:	8d 4c 24 28          	lea    0x28(%esp),%ecx
457efc:	83 e3 fd             	and    $0xfffffffd,%ebx
457eff:	e8 33 4c fb ff       	call   0x40cb37
457f04:	f6 c3 01             	test   $0x1,%bl
457f07:	74 09                	je     0x457f12
457f09:	8d 4c 24 38          	lea    0x38(%esp),%ecx
457f0d:	e8 25 4c fb ff       	call   0x40cb37
457f12:	8d 4c 24 18          	lea    0x18(%esp),%ecx
457f16:	e8 df 3e fb ff       	call   0x40bdfa
457f1b:	ff 74 24 1c          	push   0x1c(%esp)
457f1f:	ff 74 24 1c          	push   0x1c(%esp)
457f23:	ff 15 60 d6 48 00    	call   *0x48d660
457f29:	8d 44 24 18          	lea    0x18(%esp),%eax
457f2d:	50                   	push   %eax
457f2e:	8b cf                	mov    %edi,%ecx
457f30:	e8 75 9d fa ff       	call   0x401caa
457f35:	85 c0                	test   %eax,%eax
457f37:	75 16                	jne    0x457f4f
457f39:	8b 75 0c             	mov    0xc(%ebp),%esi
457f3c:	8b ce                	mov    %esi,%ecx
457f3e:	e8 dd ac fb ff       	call   0x412c20
457f43:	83 26 00             	andl   $0x0,(%esi)
457f46:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
457f4d:	eb 60                	jmp    0x457faf
457f4f:	8d 9f 2c 01 00 00    	lea    0x12c(%edi),%ebx
457f55:	8b 33                	mov    (%ebx),%esi
457f57:	89 74 24 10          	mov    %esi,0x10(%esp)
457f5b:	51                   	push   %ecx
457f5c:	8b c4                	mov    %esp,%eax
457f5e:	8d 4c 24 14          	lea    0x14(%esp),%ecx
457f62:	83 20 00             	andl   $0x0,(%eax)
457f65:	e8 ac a9 fa ff       	call   0x402916
457f6a:	84 c0                	test   %al,%al