4179eb:	8b 06                	mov    (%esi),%eax
4179ed:	b9 00 0c 00 00       	mov    $0xc00,%ecx
4179f2:	23 c1                	and    %ecx,%eax
4179f4:	74 35                	je     0x417a2b
4179f6:	3d 00 04 00 00       	cmp    $0x400,%eax
4179fb:	74 22                	je     0x417a1f
4179fd:	3d 00 08 00 00       	cmp    $0x800,%eax
417a02:	74 0c                	je     0x417a10
417a04:	3b c1                	cmp    %ecx,%eax
417a06:	75 29                	jne    0x417a31
417a08:	8b 45 08             	mov    0x8(%ebp),%eax
417a0b:	83 08 03             	orl    $0x3,(%eax)
417a0e:	eb 21                	jmp    0x417a31
417a10:	8b 4d 08             	mov    0x8(%ebp),%ecx
417a13:	8b 01                	mov    (%ecx),%eax
417a15:	83 e0 fe             	and    $0xfffffffe,%eax
417a18:	83 c8 02             	or     $0x2,%eax
417a1b:	89 01                	mov    %eax,(%ecx)
417a1d:	eb 12                	jmp    0x417a31
417a1f:	8b 4d 08             	mov    0x8(%ebp),%ecx
417a22:	8b 01                	mov    (%ecx),%eax
417a24:	83 e0 fd             	and    $0xfffffffd,%eax
417a27:	0b c3                	or     %ebx,%eax
417a29:	eb f0                	jmp    0x417a1b
417a2b:	8b 45 08             	mov    0x8(%ebp),%eax
417a2e:	83 20 fc             	andl   $0xfffffffc,(%eax)
417a31:	8b 06                	mov    (%esi),%eax
417a33:	b9 00 03 00 00       	mov    $0x300,%ecx
417a38:	23 c1                	and    %ecx,%eax
417a3a:	74 20                	je     0x417a5c
417a3c:	3d 00 02 00 00       	cmp    $0x200,%eax
417a41:	74 0c                	je     0x417a4f
417a43:	3b c1                	cmp    %ecx,%eax
417a45:	75 22                	jne    0x417a69
417a47:	8b 45 08             	mov    0x8(%ebp),%eax
417a4a:	83 20 e3             	andl   $0xffffffe3,(%eax)
417a4d:	eb 1a                	jmp    0x417a69
417a4f:	8b 4d 08             	mov    0x8(%ebp),%ecx
417a52:	8b 01                	mov    (%ecx),%eax
417a54:	83 e0 e7             	and    $0xffffffe7,%eax
417a57:	83 c8 04             	or     $0x4,%eax
417a5a:	eb 0b                	jmp    0x417a67
417a5c:	8b 4d 08             	mov    0x8(%ebp),%ecx
417a5f:	8b 01                	mov    (%ecx),%eax
417a61:	83 e0 eb             	and    $0xffffffeb,%eax
417a64:	83 c8 08             	or     $0x8,%eax
417a67:	89 01                	mov    %eax,(%ecx)
417a69:	8b 45 08             	mov    0x8(%ebp),%eax
417a6c:	8b 4d 14             	mov    0x14(%ebp),%ecx
417a6f:	c1 e1 05             	shl    $0x5,%ecx
417a72:	33 08                	xor    (%eax),%ecx
417a74:	81 e1 e0 ff 01 00    	and    $0x1ffe0,%ecx
417a7a:	31 08                	xor    %ecx,(%eax)
417a7c:	8b 45 08             	mov    0x8(%ebp),%eax
417a7f:	09 58 20             	or     %ebx,0x20(%eax)
417a82:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
417a86:	74 2c                	je     0x417ab4
417a88:	8b 45 08             	mov    0x8(%ebp),%eax
417a8b:	83 60 20 e1          	andl   $0xffffffe1,0x20(%eax)
417a8f:	8b 45 18             	mov    0x18(%ebp),%eax
417a92:	d9 00                	flds   (%eax)
417a94:	8b 45 08             	mov    0x8(%ebp),%eax
417a97:	d9 58 10             	fstps  0x10(%eax)
417a9a:	8b 45 08             	mov    0x8(%ebp),%eax
417a9d:	09 58 60             	or     %ebx,0x60(%eax)
417aa0:	8b 45 08             	mov    0x8(%ebp),%eax
417aa3:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
417aa6:	83 60 60 e1          	andl   $0xffffffe1,0x60(%eax)
417aaa:	8b 45 08             	mov    0x8(%ebp),%eax
417aad:	d9 03                	flds   (%ebx)
417aaf:	d9 58 50             	fstps  0x50(%eax)
417ab2:	eb 3a                	jmp    0x417aee
417ab4:	8b 4d 08             	mov    0x8(%ebp),%ecx
417ab7:	8b 41 20             	mov    0x20(%ecx),%eax
417aba:	83 e0 e3             	and    $0xffffffe3,%eax
417abd:	83 c8 02             	or     $0x2,%eax
417ac0:	89 41 20             	mov    %eax,0x20(%ecx)
417ac3:	8b 45 18             	mov    0x18(%ebp),%eax
417ac6:	dd 00                	fldl   (%eax)
417ac8:	8b 45 08             	mov    0x8(%ebp),%eax
417acb:	dd 58 10             	fstpl  0x10(%eax)
417ace:	8b 45 08             	mov    0x8(%ebp),%eax
417ad1:	09 58 60             	or     %ebx,0x60(%eax)
417ad4:	8b 4d 08             	mov    0x8(%ebp),%ecx
417ad7:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
417ada:	8b 41 60             	mov    0x60(%ecx),%eax
417add:	83 e0 e3             	and    $0xffffffe3,%eax
417ae0:	83 c8 02             	or     $0x2,%eax
417ae3:	89 41 60             	mov    %eax,0x60(%ecx)
417ae6:	8b 45 08             	mov    0x8(%ebp),%eax
417ae9:	dd 03                	fldl   (%ebx)
417aeb:	dd 58 50             	fstpl  0x50(%eax)
417aee:	e8 c2 de ff ff       	call   0x4159b5
417af3:	8d 45 08             	lea    0x8(%ebp),%eax
417af6:	50                   	push   %eax
417af7:	6a 01                	push   $0x1
417af9:	6a 00                	push   $0x0
417afb:	57                   	push   %edi
417afc:	ff 15 44 b0 41 00    	call   *0x41b044
417b02:	8b 4d 08             	mov    0x8(%ebp),%ecx
417b05:	f6 41 08 10          	testb  $0x10,0x8(%ecx)
417b09:	74 03                	je     0x417b0e
417b0b:	83 26 fe             	andl   $0xfffffffe,(%esi)
417b0e:	f6 41 08 08          	testb  $0x8,0x8(%ecx)
417b12:	74 03                	je     0x417b17
417b14:	83 26 fb             	andl   $0xfffffffb,(%esi)
417b17:	f6 41 08 04          	testb  $0x4,0x8(%ecx)
417b1b:	74 03                	je     0x417b20
417b1d:	83 26 f7             	andl   $0xfffffff7,(%esi)
417b20:	f6 41 08 02          	testb  $0x2,0x8(%ecx)
417b24:	74 03                	je     0x417b29
417b26:	83 26 ef             	andl   $0xffffffef,(%esi)
417b29:	f6 41 08 01          	testb  $0x1,0x8(%ecx)
417b2d:	74 03                	je     0x417b32
417b2f:	83 26 df             	andl   $0xffffffdf,(%esi)
417b32:	8b 01                	mov    (%ecx),%eax
417b34:	ba ff f3 ff ff       	mov    $0xfffff3ff,%edx
417b39:	83 e0 03             	and    $0x3,%eax
417b3c:	83 e8 00             	sub    $0x0,%eax
417b3f:	74 35                	je     0x417b76
417b41:	83 e8 01             	sub    $0x1,%eax
417b44:	74 22                	je     0x417b68
417b46:	83 e8 01             	sub    $0x1,%eax
417b49:	74 0d                	je     0x417b58
417b4b:	83 e8 01             	sub    $0x1,%eax
417b4e:	75 28                	jne    0x417b78
417b50:	81 0e 00 0c 00 00    	orl    $0xc00,(%esi)
417b56:	eb 20                	jmp    0x417b78
417b58:	8b 06                	mov    (%esi),%eax
417b5a:	25 ff fb ff ff       	and    $0xfffffbff,%eax
417b5f:	0d 00 08 00 00       	or     $0x800,%eax
417b64:	89 06                	mov    %eax,(%esi)
417b66:	eb 10                	jmp    0x417b78
417b68:	8b 06                	mov    (%esi),%eax
417b6a:	25 ff f7 ff ff       	and    $0xfffff7ff,%eax
417b6f:	0d 00 04 00 00       	or     $0x400,%eax
417b74:	eb ee                	jmp    0x417b64
417b76:	21 16                	and    %edx,(%esi)
417b78:	8b 01                	mov    (%ecx),%eax
417b7a:	c1 e8 02             	shr    $0x2,%eax
417b7d:	83 e0 07             	and    $0x7,%eax
417b80:	83 e8 00             	sub    $0x0,%eax
417b83:	74 19                	je     0x417b9e
417b85:	83 e8 01             	sub    $0x1,%eax
417b88:	74 09                	je     0x417b93
417b8a:	83 e8 01             	sub    $0x1,%eax
417b8d:	75 1a                	jne    0x417ba9
417b8f:	21 16                	and    %edx,(%esi)
417b91:	eb 16                	jmp    0x417ba9
417b93:	8b 06                	mov    (%esi),%eax
417b95:	23 c2                	and    %edx,%eax
417b97:	0d 00 02 00 00       	or     $0x200,%eax
417b9c:	eb 09                	jmp    0x417ba7
417b9e:	8b 06                	mov    (%esi),%eax
417ba0:	23 c2                	and    %edx,%eax
417ba2:	0d 00 03 00 00       	or     $0x300,%eax
417ba7:	89 06                	mov    %eax,(%esi)
417ba9:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
417bad:	5e                   	pop    %esi
417bae:	74 07                	je     0x417bb7
417bb0:	d9 41 50             	flds   0x50(%ecx)
417bb3:	d9 1b                	fstps  (%ebx)
417bb5:	eb 05                	jmp    0x417bbc
417bb7:	dd 41 50             	fldl   0x50(%ecx)
417bba:	dd 1b                	fstpl  (%ebx)
417bbc:	5f                   	pop    %edi
417bbd:	5b                   	pop    %ebx
417bbe:	5d                   	pop    %ebp
417bbf:	c3                   	ret
417bc0:	8b ff                	mov    %edi,%edi
417bc2:	55                   	push   %ebp
417bc3:	8b ec                	mov    %esp,%ebp
417bc5:	8b 45 08             	mov    0x8(%ebp),%eax
417bc8:	83 f8 01             	cmp    $0x1,%eax
417bcb:	74 15                	je     0x417be2
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