418a13:	8b 45 08             	mov    0x8(%ebp),%eax
418a16:	09 58 0c             	or     %ebx,0xc(%eax)
418a19:	8b 06                	mov    (%esi),%eax
418a1b:	b9 00 0c 00 00       	mov    $0xc00,%ecx
418a20:	23 c1                	and    %ecx,%eax
418a22:	74 35                	je     0x418a59
418a24:	3d 00 04 00 00       	cmp    $0x400,%eax
418a29:	74 22                	je     0x418a4d
418a2b:	3d 00 08 00 00       	cmp    $0x800,%eax
418a30:	74 0c                	je     0x418a3e
418a32:	3b c1                	cmp    %ecx,%eax
418a34:	75 29                	jne    0x418a5f
418a36:	8b 45 08             	mov    0x8(%ebp),%eax
418a39:	83 08 03             	orl    $0x3,(%eax)
418a3c:	eb 21                	jmp    0x418a5f
418a3e:	8b 4d 08             	mov    0x8(%ebp),%ecx
418a41:	8b 01                	mov    (%ecx),%eax
418a43:	83 e0 fe             	and    $0xfffffffe,%eax
418a46:	83 c8 02             	or     $0x2,%eax
418a49:	89 01                	mov    %eax,(%ecx)
418a4b:	eb 12                	jmp    0x418a5f
418a4d:	8b 4d 08             	mov    0x8(%ebp),%ecx
418a50:	8b 01                	mov    (%ecx),%eax
418a52:	83 e0 fd             	and    $0xfffffffd,%eax
418a55:	0b c3                	or     %ebx,%eax
418a57:	eb f0                	jmp    0x418a49
418a59:	8b 45 08             	mov    0x8(%ebp),%eax
418a5c:	83 20 fc             	andl   $0xfffffffc,(%eax)
418a5f:	8b 06                	mov    (%esi),%eax
418a61:	b9 00 03 00 00       	mov    $0x300,%ecx
418a66:	23 c1                	and    %ecx,%eax
418a68:	74 20                	je     0x418a8a
418a6a:	3d 00 02 00 00       	cmp    $0x200,%eax
418a6f:	74 0c                	je     0x418a7d
418a71:	3b c1                	cmp    %ecx,%eax
418a73:	75 22                	jne    0x418a97
418a75:	8b 45 08             	mov    0x8(%ebp),%eax
418a78:	83 20 e3             	andl   $0xffffffe3,(%eax)
418a7b:	eb 1a                	jmp    0x418a97
418a7d:	8b 4d 08             	mov    0x8(%ebp),%ecx
418a80:	8b 01                	mov    (%ecx),%eax
418a82:	83 e0 e7             	and    $0xffffffe7,%eax
418a85:	83 c8 04             	or     $0x4,%eax
418a88:	eb 0b                	jmp    0x418a95
418a8a:	8b 4d 08             	mov    0x8(%ebp),%ecx
418a8d:	8b 01                	mov    (%ecx),%eax
418a8f:	83 e0 eb             	and    $0xffffffeb,%eax
418a92:	83 c8 08             	or     $0x8,%eax
418a95:	89 01                	mov    %eax,(%ecx)
418a97:	8b 45 08             	mov    0x8(%ebp),%eax
418a9a:	8b 4d 14             	mov    0x14(%ebp),%ecx
418a9d:	c1 e1 05             	shl    $0x5,%ecx
418aa0:	33 08                	xor    (%eax),%ecx
418aa2:	81 e1 e0 ff 01 00    	and    $0x1ffe0,%ecx
418aa8:	31 08                	xor    %ecx,(%eax)
418aaa:	8b 45 08             	mov    0x8(%ebp),%eax
418aad:	09 58 20             	or     %ebx,0x20(%eax)
418ab0:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
418ab4:	74 2c                	je     0x418ae2
418ab6:	8b 45 08             	mov    0x8(%ebp),%eax
418ab9:	83 60 20 e1          	andl   $0xffffffe1,0x20(%eax)
418abd:	8b 45 18             	mov    0x18(%ebp),%eax
418ac0:	d9 00                	flds   (%eax)
418ac2:	8b 45 08             	mov    0x8(%ebp),%eax
418ac5:	d9 58 10             	fstps  0x10(%eax)
418ac8:	8b 45 08             	mov    0x8(%ebp),%eax
418acb:	09 58 60             	or     %ebx,0x60(%eax)
418ace:	8b 45 08             	mov    0x8(%ebp),%eax
418ad1:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
418ad4:	83 60 60 e1          	andl   $0xffffffe1,0x60(%eax)
418ad8:	8b 45 08             	mov    0x8(%ebp),%eax
418adb:	d9 03                	flds   (%ebx)
418add:	d9 58 50             	fstps  0x50(%eax)
418ae0:	eb 3a                	jmp    0x418b1c
418ae2:	8b 4d 08             	mov    0x8(%ebp),%ecx
418ae5:	8b 41 20             	mov    0x20(%ecx),%eax
418ae8:	83 e0 e3             	and    $0xffffffe3,%eax
418aeb:	83 c8 02             	or     $0x2,%eax
418aee:	89 41 20             	mov    %eax,0x20(%ecx)
418af1:	8b 45 18             	mov    0x18(%ebp),%eax
418af4:	dd 00                	fldl   (%eax)
418af6:	8b 45 08             	mov    0x8(%ebp),%eax
418af9:	dd 58 10             	fstpl  0x10(%eax)
418afc:	8b 45 08             	mov    0x8(%ebp),%eax
418aff:	09 58 60             	or     %ebx,0x60(%eax)
418b02:	8b 4d 08             	mov    0x8(%ebp),%ecx
418b05:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
418b08:	8b 41 60             	mov    0x60(%ecx),%eax
418b0b:	83 e0 e3             	and    $0xffffffe3,%eax
418b0e:	83 c8 02             	or     $0x2,%eax
418b11:	89 41 60             	mov    %eax,0x60(%ecx)
418b14:	8b 45 08             	mov    0x8(%ebp),%eax
418b17:	dd 03                	fldl   (%ebx)
418b19:	dd 58 50             	fstpl  0x50(%eax)
418b1c:	e8 dc be ff ff       	call   0x4149fd
418b21:	8d 45 08             	lea    0x8(%ebp),%eax
418b24:	50                   	push   %eax
418b25:	6a 01                	push   $0x1
418b27:	6a 00                	push   $0x0
418b29:	57                   	push   %edi
418b2a:	ff 15 d8 c0 41 00    	call   *0x41c0d8
418b30:	8b 4d 08             	mov    0x8(%ebp),%ecx
418b33:	8b 41 08             	mov    0x8(%ecx),%eax
418b36:	a8 10                	test   $0x10,%al
418b38:	74 06                	je     0x418b40
418b3a:	83 26 fe             	andl   $0xfffffffe,(%esi)
418b3d:	8b 41 08             	mov    0x8(%ecx),%eax
418b40:	a8 08                	test   $0x8,%al
418b42:	74 06                	je     0x418b4a
418b44:	83 26 fb             	andl   $0xfffffffb,(%esi)
418b47:	8b 41 08             	mov    0x8(%ecx),%eax
418b4a:	a8 04                	test   $0x4,%al
418b4c:	74 06                	je     0x418b54
418b4e:	83 26 f7             	andl   $0xfffffff7,(%esi)
418b51:	8b 41 08             	mov    0x8(%ecx),%eax
418b54:	a8 02                	test   $0x2,%al
418b56:	74 06                	je     0x418b5e
418b58:	83 26 ef             	andl   $0xffffffef,(%esi)
418b5b:	8b 41 08             	mov    0x8(%ecx),%eax
418b5e:	a8 01                	test   $0x1,%al
418b60:	74 03                	je     0x418b65
418b62:	83 26 df             	andl   $0xffffffdf,(%esi)
418b65:	8b 01                	mov    (%ecx),%eax
418b67:	ba ff f3 ff ff       	mov    $0xfffff3ff,%edx
418b6c:	83 e0 03             	and    $0x3,%eax
418b6f:	83 e8 00             	sub    $0x0,%eax
418b72:	74 35                	je     0x418ba9
418b74:	83 e8 01             	sub    $0x1,%eax
418b77:	74 22                	je     0x418b9b
418b79:	83 e8 01             	sub    $0x1,%eax
418b7c:	74 0d                	je     0x418b8b
418b7e:	83 e8 01             	sub    $0x1,%eax
418b81:	75 28                	jne    0x418bab
418b83:	81 0e 00 0c 00 00    	orl    $0xc00,(%esi)
418b89:	eb 20                	jmp    0x418bab
418b8b:	8b 06                	mov    (%esi),%eax
418b8d:	25 ff fb ff ff       	and    $0xfffffbff,%eax
418b92:	0d 00 08 00 00       	or     $0x800,%eax
418b97:	89 06                	mov    %eax,(%esi)
418b99:	eb 10                	jmp    0x418bab
418b9b:	8b 06                	mov    (%esi),%eax
418b9d:	25 ff f7 ff ff       	and    $0xfffff7ff,%eax
418ba2:	0d 00 04 00 00       	or     $0x400,%eax
418ba7:	eb ee                	jmp    0x418b97
418ba9:	21 16                	and    %edx,(%esi)
418bab:	8b 01                	mov    (%ecx),%eax
418bad:	c1 e8 02             	shr    $0x2,%eax
418bb0:	83 e0 07             	and    $0x7,%eax
418bb3:	83 e8 00             	sub    $0x0,%eax
418bb6:	74 19                	je     0x418bd1
418bb8:	83 e8 01             	sub    $0x1,%eax
418bbb:	74 09                	je     0x418bc6
418bbd:	83 e8 01             	sub    $0x1,%eax
418bc0:	75 1a                	jne    0x418bdc
418bc2:	21 16                	and    %edx,(%esi)
418bc4:	eb 16                	jmp    0x418bdc
418bc6:	8b 06                	mov    (%esi),%eax
418bc8:	23 c2                	and    %edx,%eax
418bca:	0d 00 02 00 00       	or     $0x200,%eax
418bcf:	eb 09                	jmp    0x418bda
418bd1:	8b 06                	mov    (%esi),%eax
418bd3:	23 c2                	and    %edx,%eax
418bd5:	0d 00 03 00 00       	or     $0x300,%eax
418bda:	89 06                	mov    %eax,(%esi)
418bdc:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
418be0:	5e                   	pop    %esi
418be1:	74 07                	je     0x418bea
418be3:	d9 41 50             	flds   0x50(%ecx)
418be6:	d9 1b                	fstps  (%ebx)
418be8:	eb 05                	jmp    0x418bef
418bea:	dd 41 50             	fldl   0x50(%ecx)
418bed:	dd 1b                	fstpl  (%ebx)
418bef:	5f                   	pop    %edi
418bf0:	5b                   	pop    %ebx
418bf1:	5d                   	pop    %ebp
418bf2:	c3                   	ret
418bf3:	8b ff                	mov    %edi,%edi
418bf5:	55                   	push   %ebp
418bf6:	8b ec                	mov    %esp,%ebp
418bf8:	8b 45 08             	mov    0x8(%ebp),%eax
418bfb:	83 f8 01             	cmp    $0x1,%eax
418bfe:	74 15                	je     0x418c15
418c00:	83 c0 fe             	add    $0xfffffffe,%eax
418c03:	83 f8 01             	cmp    $0x1,%eax
418c06:	77 18                	ja     0x418c20
418c08:	e8 c6 60 ff ff       	call   0x40ecd3
418c0d:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
418c13:	5d                   	pop    %ebp
418c14:	c3                   	ret
418c15:	e8 b9 60 ff ff       	call   0x40ecd3
418c1a:	c7 00 21 00 00 00    	movl   $0x21,(%eax)
418c20:	5d                   	pop    %ebp
418c21:	c3                   	ret
418c22:	8b ff                	mov    %edi,%edi
418c24:	55                   	push   %ebp
418c25:	8b ec                	mov    %esp,%ebp
418c27:	8b 55 0c             	mov    0xc(%ebp),%edx
418c2a:	83 ec 20             	sub    $0x20,%esp
418c2d:	33 c9                	xor    %ecx,%ecx
418c2f:	8b c1                	mov    %ecx,%eax
418c31:	39 14 c5 18 10 42 00 	cmp    %edx,0x421018(,%eax,8)
418c38:	74 08                	je     0x418c42
418c3a:	40                   	inc    %eax
418c3b:	83 f8 1d             	cmp    $0x1d,%eax
418c3e:	7c f1                	jl     0x418c31
418c40:	eb 07                	jmp    0x418c49
418c42:	8b 0c c5 1c 10 42 00 	mov    0x42101c(,%eax,8),%ecx
418c49:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
418c4c:	85 c9                	test   %ecx,%ecx
418c4e:	74 55                	je     0x418ca5
418c50:	8b 45 10             	mov    0x10(%ebp),%eax
418c53:	89 45 e8             	mov    %eax,-0x18(%ebp)
418c56:	8b 45 14             	mov    0x14(%ebp),%eax
418c59:	89 45 ec             	mov    %eax,-0x14(%ebp)
418c5c:	8b 45 18             	mov    0x18(%ebp),%eax
418c5f:	89 45 f0             	mov    %eax,-0x10(%ebp)
418c62:	8b 45 1c             	mov    0x1c(%ebp),%eax
418c65:	56                   	push   %esi
418c66:	8b 75 08             	mov    0x8(%ebp),%esi
418c69:	89 45 f4             	mov    %eax,-0xc(%ebp)
418c6c:	8b 45 20             	mov    0x20(%ebp),%eax
418c6f:	68 ff ff 00 00       	push   $0xffff
418c74:	ff 75 28             	push   0x28(%ebp)
418c77:	89 45 f8             	mov    %eax,-0x8(%ebp)
418c7a:	8b 45 24             	mov    0x24(%ebp),%eax
418c7d:	89 75 e0             	mov    %esi,-0x20(%ebp)
418c80:	89 45 fc             	mov    %eax,-0x4(%ebp)
418c83:	e8 86 bd ff ff       	call   0x414a0e
418c88:	8d 45 e0             	lea    -0x20(%ebp),%eax
418c8b:	50                   	push   %eax
418c8c:	e8 ef 25 ff ff       	call   0x40b280
418c91:	83 c4 0c             	add    $0xc,%esp
418c94:	85 c0                	test   %eax,%eax
418c96:	75 07                	jne    0x418c9f
418c98:	56                   	push   %esi
418c99:	e8 55 ff ff ff       	call   0x418bf3
418c9e:	59                   	pop    %ecx
418c9f:	dd 45 f8             	fldl   -0x8(%ebp)
418ca2:	5e                   	pop    %esi
418ca3:	c9                   	leave
418ca4:	c3                   	ret
418ca5:	68 ff ff 00 00       	push   $0xffff
418caa:	ff 75 28             	push   0x28(%ebp)
418cad:	e8 5c bd ff ff       	call   0x414a0e
418cb2:	ff 75 08             	push   0x8(%ebp)
418cb5:	e8 39 ff ff ff       	call   0x418bf3
418cba:	dd 45 20             	fldl   0x20(%ebp)
418cbd:	83 c4 0c             	add    $0xc,%esp
418cc0:	c9                   	leave
418cc1:	c3                   	ret
418cc2:	8b ff                	mov    %edi,%edi
418cc4:	55                   	push   %ebp
418cc5:	8b ec                	mov    %esp,%ebp
418cc7:	dd 45 08             	fldl   0x8(%ebp)
418cca:	d9 ee                	fldz
418ccc:	dd e1                	fucom  %st(1)
418cce:	df e0                	fnstsw %ax
418cd0:	56                   	push   %esi
418cd1:	f6 c4 44             	test   $0x44,%ah
418cd4:	7a 09                	jp     0x418cdf
418cd6:	dd d9                	fstp   %st(1)
418cd8:	33 f6                	xor    %esi,%esi
418cda:	e9 ad 00 00 00       	jmp    0x418d8c
418cdf:	57                   	push   %edi
418ce0:	66 8b 7d 0e          	mov    0xe(%ebp),%di
418ce4:	0f b7 c7             	movzwl %di,%eax
418ce7:	a9 f0 7f 00 00       	test   $0x7ff0,%eax
418cec:	75 7a                	jne    0x418d68
418cee:	8b 4d 0c             	mov    0xc(%ebp),%ecx
418cf1:	8b 55 08             	mov    0x8(%ebp),%edx
418cf4:	f7 c1 ff ff 0f 00    	test   $0xfffff,%ecx
418cfa:	75 04                	jne    0x418d00
418cfc:	85 d2                	test   %edx,%edx
418cfe:	74 68                	je     0x418d68
418d00:	de d9                	fcompp
418d02:	be 03 fc ff ff       	mov    $0xfffffc03,%esi
418d07:	df e0                	fnstsw %ax
418d09:	53                   	push   %ebx
418d0a:	33 db                	xor    %ebx,%ebx
418d0c:	f6 c4 41             	test   $0x41,%ah
418d0f:	75 01                	jne    0x418d12
418d11:	43                   	inc    %ebx
418d12:	f6 45 0e 10          	testb  $0x10,0xe(%ebp)
418d16:	75 1f                	jne    0x418d37
418d18:	03 c9                	add    %ecx,%ecx
418d1a:	89 4d 0c             	mov    %ecx,0xc(%ebp)
418d1d:	85 d2                	test   %edx,%edx
418d1f:	79 06                	jns    0x418d27
418d21:	83 c9 01             	or     $0x1,%ecx
418d24:	89 4d 0c             	mov    %ecx,0xc(%ebp)
418d27:	03 d2                	add    %edx,%edx
418d29:	4e                   	dec    %esi
418d2a:	f6 45 0e 10          	testb  $0x10,0xe(%ebp)
418d2e:	74 e8                	je     0x418d18
418d30:	66 8b 7d 0e          	mov    0xe(%ebp),%di
418d34:	89 55 08             	mov    %edx,0x8(%ebp)
418d37:	b8 ef ff 00 00       	mov    $0xffef,%eax
418d3c:	66 23 f8             	and    %ax,%di
418d3f:	85 db                	test   %ebx,%ebx
418d41:	0f b7 c7             	movzwl %di,%eax
418d44:	66 89 7d 0e          	mov    %di,0xe(%ebp)
418d48:	5b                   	pop    %ebx
418d49:	74 09                	je     0x418d54
418d4b:	0d 00 80 00 00       	or     $0x8000,%eax
418d50:	66 89 45 0e          	mov    %ax,0xe(%ebp)
418d54:	dd 45 08             	fldl   0x8(%ebp)
418d57:	6a 00                	push   $0x0
418d59:	51                   	push   %ecx
418d5a:	51                   	push   %ecx
418d5b:	dd 1c 24             	fstpl  (%esp)
418d5e:	e8 31 00 00 00       	call   0x418d94
418d63:	83 c4 0c             	add    $0xc,%esp
418d66:	eb 23                	jmp    0x418d8b
418d68:	6a 00                	push   $0x0
418d6a:	51                   	push   %ecx
418d6b:	dd d8                	fstp   %st(0)
418d6d:	51                   	push   %ecx
418d6e:	dd 1c 24             	fstpl  (%esp)
418d71:	e8 1e 00 00 00       	call   0x418d94
418d76:	0f b7 f7             	movzwl %di,%esi
418d79:	83 c4 0c             	add    $0xc,%esp
418d7c:	c1 ee 04             	shr    $0x4,%esi
418d7f:	81 e6 ff 07 00 00    	and    $0x7ff,%esi
418d85:	81 ee fe 03 00 00    	sub    $0x3fe,%esi
418d8b:	5f                   	pop    %edi
418d8c:	8b 45 10             	mov    0x10(%ebp),%eax
418d8f:	89 30                	mov    %esi,(%eax)
418d91:	5e                   	pop    %esi
418d92:	5d                   	pop    %ebp
418d93:	c3                   	ret
418d94:	8b ff                	mov    %edi,%edi
418d96:	55                   	push   %ebp
418d97:	8b ec                	mov    %esp,%ebp
418d99:	51                   	push   %ecx
418d9a:	51                   	push   %ecx
418d9b:	8b 4d 10             	mov    0x10(%ebp),%ecx
418d9e:	0f b7 45 0e          	movzwl 0xe(%ebp),%eax
418da2:	dd 45 08             	fldl   0x8(%ebp)
418da5:	25 0f 80 00 00       	and    $0x800f,%eax
418daa:	dd 5d f8             	fstpl  -0x8(%ebp)
418dad:	8d 89 fe 03 00 00    	lea    0x3fe(%ecx),%ecx
418db3:	c1 e1 04             	shl    $0x4,%ecx
418db6:	0b c8                	or     %eax,%ecx
418db8:	66 89 4d fe          	mov    %cx,-0x2(%ebp)
418dbc:	dd 45 f8             	fldl   -0x8(%ebp)
418dbf:	c9                   	leave
418dc0:	c3                   	ret
418dc1:	8b ff                	mov    %edi,%edi
418dc3:	55                   	push   %ebp
418dc4:	8b ec                	mov    %esp,%ebp