417bcd:	83 c0 fe             	add    $0xfffffffe,%eax
417bd0:	83 f8 01             	cmp    $0x1,%eax
417bd3:	77 18                	ja     0x417bed
417bd5:	e8 2d 01 ff ff       	call   0x407d07
417bda:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
417be0:	5d                   	pop    %ebp
417be1:	c3                   	ret
417be2:	e8 20 01 ff ff       	call   0x407d07
417be7:	c7 00 21 00 00 00    	movl   $0x21,(%eax)
417bed:	5d                   	pop    %ebp
417bee:	c3                   	ret
417bef:	8b ff                	mov    %edi,%edi
417bf1:	55                   	push   %ebp
417bf2:	8b ec                	mov    %esp,%ebp
417bf4:	8b 55 0c             	mov    0xc(%ebp),%edx
417bf7:	83 ec 20             	sub    $0x20,%esp
417bfa:	33 c9                	xor    %ecx,%ecx
417bfc:	8b c1                	mov    %ecx,%eax
417bfe:	39 14 c5 18 09 42 00 	cmp    %edx,0x420918(,%eax,8)
417c05:	74 08                	je     0x417c0f
417c07:	40                   	inc    %eax
417c08:	83 f8 1d             	cmp    $0x1d,%eax
417c0b:	7c f1                	jl     0x417bfe
417c0d:	eb 07                	jmp    0x417c16
417c0f:	8b 0c c5 1c 09 42 00 	mov    0x42091c(,%eax,8),%ecx
417c16:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
417c19:	85 c9                	test   %ecx,%ecx
417c1b:	74 55                	je     0x417c72
417c1d:	8b 45 10             	mov    0x10(%ebp),%eax
417c20:	89 45 e8             	mov    %eax,-0x18(%ebp)
417c23:	8b 45 14             	mov    0x14(%ebp),%eax
417c26:	89 45 ec             	mov    %eax,-0x14(%ebp)
417c29:	8b 45 18             	mov    0x18(%ebp),%eax
417c2c:	89 45 f0             	mov    %eax,-0x10(%ebp)
417c2f:	8b 45 1c             	mov    0x1c(%ebp),%eax
417c32:	56                   	push   %esi
417c33:	8b 75 08             	mov    0x8(%ebp),%esi
417c36:	89 45 f4             	mov    %eax,-0xc(%ebp)
417c39:	8b 45 20             	mov    0x20(%ebp),%eax
417c3c:	68 ff ff 00 00       	push   $0xffff
417c41:	ff 75 28             	push   0x28(%ebp)
417c44:	89 45 f8             	mov    %eax,-0x8(%ebp)
417c47:	8b 45 24             	mov    0x24(%ebp),%eax
417c4a:	89 75 e0             	mov    %esi,-0x20(%ebp)
417c4d:	89 45 fc             	mov    %eax,-0x4(%ebp)
417c50:	e8 73 dd ff ff       	call   0x4159c8
417c55:	8d 45 e0             	lea    -0x20(%ebp),%eax
417c58:	50                   	push   %eax
417c59:	e8 be 16 ff ff       	call   0x40931c
417c5e:	83 c4 0c             	add    $0xc,%esp
417c61:	85 c0                	test   %eax,%eax
417c63:	75 07                	jne    0x417c6c
417c65:	56                   	push   %esi
417c66:	e8 55 ff ff ff       	call   0x417bc0
417c6b:	59                   	pop    %ecx
417c6c:	dd 45 f8             	fldl   -0x8(%ebp)
417c6f:	5e                   	pop    %esi
417c70:	eb 1b                	jmp    0x417c8d
417c72:	68 ff ff 00 00       	push   $0xffff
417c77:	ff 75 28             	push   0x28(%ebp)
417c7a:	e8 49 dd ff ff       	call   0x4159c8
417c7f:	ff 75 08             	push   0x8(%ebp)
417c82:	e8 39 ff ff ff       	call   0x417bc0
417c87:	dd 45 20             	fldl   0x20(%ebp)
417c8a:	83 c4 0c             	add    $0xc,%esp
417c8d:	8b e5                	mov    %ebp,%esp
417c8f:	5d                   	pop    %ebp
417c90:	c3                   	ret
417c91:	8b ff                	mov    %edi,%edi
417c93:	55                   	push   %ebp
417c94:	8b ec                	mov    %esp,%ebp
417c96:	dd 45 08             	fldl   0x8(%ebp)
417c99:	d9 ee                	fldz
417c9b:	dd e1                	fucom  %st(1)
417c9d:	df e0                	fnstsw %ax
417c9f:	57                   	push   %edi
417ca0:	f6 c4 44             	test   $0x44,%ah
417ca3:	7a 09                	jp     0x417cae
417ca5:	dd d9                	fstp   %st(1)
417ca7:	33 ff                	xor    %edi,%edi
417ca9:	e9 af 00 00 00       	jmp    0x417d5d
417cae:	56                   	push   %esi
417caf:	66 8b 75 0e          	mov    0xe(%ebp),%si
417cb3:	0f b7 c6             	movzwl %si,%eax
417cb6:	a9 f0 7f 00 00       	test   $0x7ff0,%eax
417cbb:	75 7c                	jne    0x417d39
417cbd:	8b 4d 0c             	mov    0xc(%ebp),%ecx
417cc0:	8b 55 08             	mov    0x8(%ebp),%edx
417cc3:	f7 c1 ff ff 0f 00    	test   $0xfffff,%ecx
417cc9:	75 04                	jne    0x417ccf
417ccb:	85 d2                	test   %edx,%edx
417ccd:	74 6a                	je     0x417d39
417ccf:	de d9                	fcompp
417cd1:	bf 03 fc ff ff       	mov    $0xfffffc03,%edi
417cd6:	df e0                	fnstsw %ax
417cd8:	f6 c4 41             	test   $0x41,%ah
417cdb:	75 05                	jne    0x417ce2
417cdd:	33 c0                	xor    %eax,%eax
417cdf:	40                   	inc    %eax
417ce0:	eb 02                	jmp    0x417ce4
417ce2:	33 c0                	xor    %eax,%eax
417ce4:	f6 45 0e 10          	testb  $0x10,0xe(%ebp)
417ce8:	75 1f                	jne    0x417d09
417cea:	03 c9                	add    %ecx,%ecx
417cec:	89 4d 0c             	mov    %ecx,0xc(%ebp)
417cef:	85 d2                	test   %edx,%edx
417cf1:	79 06                	jns    0x417cf9
417cf3:	83 c9 01             	or     $0x1,%ecx
417cf6:	89 4d 0c             	mov    %ecx,0xc(%ebp)
417cf9:	03 d2                	add    %edx,%edx
417cfb:	4f                   	dec    %edi
417cfc:	f6 45 0e 10          	testb  $0x10,0xe(%ebp)
417d00:	74 e8                	je     0x417cea
417d02:	66 8b 75 0e          	mov    0xe(%ebp),%si
417d06:	89 55 08             	mov    %edx,0x8(%ebp)
417d09:	b9 ef ff 00 00       	mov    $0xffef,%ecx
417d0e:	66 23 f1             	and    %cx,%si
417d11:	66 89 75 0e          	mov    %si,0xe(%ebp)
417d15:	85 c0                	test   %eax,%eax
417d17:	74 0c                	je     0x417d25
417d19:	b8 00 80 00 00       	mov    $0x8000,%eax
417d1e:	66 0b f0             	or     %ax,%si
417d21:	66 89 75 0e          	mov    %si,0xe(%ebp)
417d25:	dd 45 08             	fldl   0x8(%ebp)
417d28:	6a 00                	push   $0x0
417d2a:	51                   	push   %ecx
417d2b:	51                   	push   %ecx
417d2c:	dd 1c 24             	fstpl  (%esp)
417d2f:	e8 31 00 00 00       	call   0x417d65
417d34:	83 c4 0c             	add    $0xc,%esp
417d37:	eb 23                	jmp    0x417d5c
417d39:	6a 00                	push   $0x0
417d3b:	51                   	push   %ecx
417d3c:	dd d8                	fstp   %st(0)
417d3e:	51                   	push   %ecx
417d3f:	dd 1c 24             	fstpl  (%esp)
417d42:	e8 1e 00 00 00       	call   0x417d65
417d47:	0f b7 fe             	movzwl %si,%edi
417d4a:	83 c4 0c             	add    $0xc,%esp
417d4d:	c1 ef 04             	shr    $0x4,%edi
417d50:	81 e7 ff 07 00 00    	and    $0x7ff,%edi
417d56:	81 ef fe 03 00 00    	sub    $0x3fe,%edi
417d5c:	5e                   	pop    %esi
417d5d:	8b 45 10             	mov    0x10(%ebp),%eax
417d60:	89 38                	mov    %edi,(%eax)
417d62:	5f                   	pop    %edi
417d63:	5d                   	pop    %ebp
417d64:	c3                   	ret
417d65:	8b ff                	mov    %edi,%edi
417d67:	55                   	push   %ebp
417d68:	8b ec                	mov    %esp,%ebp
417d6a:	51                   	push   %ecx
417d6b:	51                   	push   %ecx
417d6c:	8b 4d 10             	mov    0x10(%ebp),%ecx
417d6f:	0f b7 45 0e          	movzwl 0xe(%ebp),%eax
417d73:	dd 45 08             	fldl   0x8(%ebp)
417d76:	25 0f 80 00 00       	and    $0x800f,%eax
417d7b:	dd 5d f8             	fstpl  -0x8(%ebp)
417d7e:	8d 89 fe 03 00 00    	lea    0x3fe(%ecx),%ecx
417d84:	c1 e1 04             	shl    $0x4,%ecx
417d87:	0b c8                	or     %eax,%ecx
417d89:	66 89 4d fe          	mov    %cx,-0x2(%ebp)
417d8d:	dd 45 f8             	fldl   -0x8(%ebp)
417d90:	8b e5                	mov    %ebp,%esp
417d92:	5d                   	pop    %ebp
417d93:	c3                   	ret
417d94:	8b ff                	mov    %edi,%edi
417d96:	55                   	push   %ebp
417d97:	8b ec                	mov    %esp,%ebp
417d99:	81 7d 0c 00 00 f0 7f 	cmpl   $0x7ff00000,0xc(%ebp)
417da0:	8b 45 08             	mov    0x8(%ebp),%eax
417da3:	75 07                	jne    0x417dac
417da5:	85 c0                	test   %eax,%eax
417da7:	75 15                	jne    0x417dbe
417da9:	40                   	inc    %eax
417daa:	5d                   	pop    %ebp
417dab:	c3                   	ret
417dac:	81 7d 0c 00 00 f0 ff 	cmpl   $0xfff00000,0xc(%ebp)
417db3:	75 09                	jne    0x417dbe
417db5:	85 c0                	test   %eax,%eax
417db7:	75 05                	jne    0x417dbe
417db9:	6a 02                	push   $0x2
417dbb:	58                   	pop    %eax
417dbc:	5d                   	pop    %ebp
417dbd:	c3                   	ret
417dbe:	66 8b 4d 0e          	mov    0xe(%ebp),%cx
417dc2:	ba f8 7f 00 00       	mov    $0x7ff8,%edx
417dc7:	66 23 ca             	and    %dx,%cx
417dca:	66 3b ca             	cmp    %dx,%cx
417dcd:	75 04                	jne    0x417dd3
417dcf:	6a 03                	push   $0x3
417dd1:	eb e8                	jmp    0x417dbb
417dd3:	ba f0 7f 00 00       	mov    $0x7ff0,%edx
417dd8:	66 3b ca             	cmp    %dx,%cx
417ddb:	75 11                	jne    0x417dee
417ddd:	f7 45 0c ff ff 07 00 	testl  $0x7ffff,0xc(%ebp)
417de4:	75 04                	jne    0x417dea
417de6:	85 c0                	test   %eax,%eax
417de8:	74 04                	je     0x417dee
417dea:	6a 04                	push   $0x4
417dec:	eb cd                	jmp    0x417dbb
417dee:	33 c0                	xor    %eax,%eax
417df0:	5d                   	pop    %ebp
417df1:	c3                   	ret
417df2:	8b ff                	mov    %edi,%edi
417df4:	55                   	push   %ebp
417df5:	8b ec                	mov    %esp,%ebp
417df7:	66 8b 4d 0e          	mov    0xe(%ebp),%cx
417dfb:	ba f0 7f 00 00       	mov    $0x7ff0,%edx
417e00:	66 8b c1             	mov    %cx,%ax
417e03:	66 23 c2             	and    %dx,%ax
417e06:	66 3b c2             	cmp    %dx,%ax
417e09:	75 33                	jne    0x417e3e
417e0b:	dd 45 08             	fldl   0x8(%ebp)
417e0e:	51                   	push   %ecx
417e0f:	51                   	push   %ecx
417e10:	dd 1c 24             	fstpl  (%esp)
417e13:	e8 7c ff ff ff       	call   0x417d94
417e18:	59                   	pop    %ecx
417e19:	59                   	pop    %ecx
417e1a:	83 e8 01             	sub    $0x1,%eax
417e1d:	74 18                	je     0x417e37
417e1f:	83 e8 01             	sub    $0x1,%eax
417e22:	74 0e                	je     0x417e32
417e24:	83 e8 01             	sub    $0x1,%eax
417e27:	74 05                	je     0x417e2e
417e29:	33 c0                	xor    %eax,%eax
417e2b:	40                   	inc    %eax
417e2c:	5d                   	pop    %ebp
417e2d:	c3                   	ret
417e2e:	6a 02                	push   $0x2
417e30:	eb 02                	jmp    0x417e34
417e32:	6a 04                	push   $0x4
417e34:	58                   	pop    %eax
417e35:	5d                   	pop    %ebp
417e36:	c3                   	ret
417e37:	b8 00 02 00 00       	mov    $0x200,%eax
417e3c:	5d                   	pop    %ebp
417e3d:	c3                   	ret
417e3e:	0f b7 c9             	movzwl %cx,%ecx
417e41:	81 e1 00 80 00 00    	and    $0x8000,%ecx
417e47:	66 85 c0             	test   %ax,%ax
417e4a:	75 1e                	jne    0x417e6a
417e4c:	f7 45 0c ff ff 0f 00 	testl  $0xfffff,0xc(%ebp)
417e53:	75 06                	jne    0x417e5b
417e55:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
417e59:	74 0f                	je     0x417e6a
417e5b:	f7 d9                	neg    %ecx
417e5d:	1b c9                	sbb    %ecx,%ecx
417e5f:	83 e1 90             	and    $0xffffff90,%ecx
417e62:	8d 81 80 00 00 00    	lea    0x80(%ecx),%eax
417e68:	5d                   	pop    %ebp
417e69:	c3                   	ret
417e6a:	dd 45 08             	fldl   0x8(%ebp)
417e6d:	d9 ee                	fldz
417e6f:	da e9                	fucompp
417e71:	df e0                	fnstsw %ax
417e73:	f6 c4 44             	test   $0x44,%ah
417e76:	7a 0c                	jp     0x417e84
417e78:	f7 d9                	neg    %ecx
417e7a:	1b c9                	sbb    %ecx,%ecx
417e7c:	83 e1 e0             	and    $0xffffffe0,%ecx
417e7f:	8d 41 40             	lea    0x40(%ecx),%eax
417e82:	5d                   	pop    %ebp
417e83:	c3                   	ret
417e84:	f7 d9                	neg    %ecx
417e86:	1b c9                	sbb    %ecx,%ecx
417e88:	81 e1 08 ff ff ff    	and    $0xffffff08,%ecx
417e8e:	8d 81 00 01 00 00    	lea    0x100(%ecx),%eax
417e94:	5d                   	pop    %ebp
417e95:	c3                   	ret
417e96:	cc                   	int3
417e97:	cc                   	int3
417e98:	cc                   	int3
417e99:	cc                   	int3
417e9a:	cc                   	int3
417e9b:	cc                   	int3
417e9c:	cc                   	int3
417e9d:	cc                   	int3
417e9e:	cc                   	int3
417e9f:	cc                   	int3
417ea0:	55                   	push   %ebp
417ea1:	8b ec                	mov    %esp,%ebp
417ea3:	8b 45 08             	mov    0x8(%ebp),%eax
417ea6:	33 d2                	xor    %edx,%edx
417ea8:	53                   	push   %ebx
417ea9:	56                   	push   %esi
417eaa:	57                   	push   %edi
417eab:	8b 48 3c             	mov    0x3c(%eax),%ecx
417eae:	03 c8                	add    %eax,%ecx
417eb0:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
417eb4:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
417eb8:	83 c0 18             	add    $0x18,%eax
417ebb:	03 c1                	add    %ecx,%eax
417ebd:	85 db                	test   %ebx,%ebx
417ebf:	74 1b                	je     0x417edc
417ec1:	8b 7d 0c             	mov    0xc(%ebp),%edi
417ec4:	8b 70 0c             	mov    0xc(%eax),%esi
417ec7:	3b fe                	cmp    %esi,%edi
417ec9:	72 09                	jb     0x417ed4
417ecb:	8b 48 08             	mov    0x8(%eax),%ecx
417ece:	03 ce                	add    %esi,%ecx
417ed0:	3b f9                	cmp    %ecx,%edi
417ed2:	72 0a                	jb     0x417ede
417ed4:	42                   	inc    %edx
417ed5:	83 c0 28             	add    $0x28,%eax
417ed8:	3b d3                	cmp    %ebx,%edx
417eda:	72 e8                	jb     0x417ec4
417edc:	33 c0                	xor    %eax,%eax
417ede:	5f                   	pop    %edi
417edf:	5e                   	pop    %esi
417ee0:	5b                   	pop    %ebx
417ee1:	5d                   	pop    %ebp
417ee2:	c3                   	ret
417ee3:	cc                   	int3
417ee4:	cc                   	int3
417ee5:	cc                   	int3
417ee6:	cc                   	int3
417ee7:	cc                   	int3
417ee8:	cc                   	int3
417ee9:	cc                   	int3
417eea:	cc                   	int3
417eeb:	cc                   	int3
417eec:	cc                   	int3
417eed:	cc                   	int3
417eee:	cc                   	int3
417eef:	cc                   	int3
417ef0:	55                   	push   %ebp
417ef1:	8b ec                	mov    %esp,%ebp
417ef3:	6a fe                	push   $0xfffffffe
417ef5:	68 a8 1f 42 00       	push   $0x421fa8
417efa:	68 30 46 40 00       	push   $0x404630
417eff:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
417f05:	50                   	push   %eax
417f06:	83 ec 08             	sub    $0x8,%esp
417f09:	53                   	push   %ebx
417f0a:	56                   	push   %esi
417f0b:	57                   	push   %edi
417f0c:	a1 0c 30 42 00       	mov    0x42300c,%eax
417f11:	31 45 f8             	xor    %eax,-0x8(%ebp)
417f14:	33 c5                	xor    %ebp,%eax
417f16:	50                   	push   %eax
417f17:	8d 45 f0             	lea    -0x10(%ebp),%eax
417f1a:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
417f20:	89 65 e8             	mov    %esp,-0x18(%ebp)
417f23:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
417f2a:	68 00 00 40 00       	push   $0x400000
417f2f:	e8 7c 00 00 00       	call   0x417fb0
417f34:	83 c4 04             	add    $0x4,%esp
417f37:	85 c0                	test   %eax,%eax