418838:	df e0                	fnstsw %ax
41883a:	f6 c4 41             	test   $0x41,%ah
41883d:	75 09                	jne    0x418848
41883f:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
418846:	eb 04                	jmp    0x41884c
418848:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41884c:	8b 45 f6             	mov    -0xa(%ebp),%eax
41884f:	b9 03 fc ff ff       	mov    $0xfffffc03,%ecx
418854:	83 e0 0f             	and    $0xf,%eax
418857:	83 c8 10             	or     $0x10,%eax
41885a:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
41885e:	3b d1                	cmp    %ecx,%edx
418860:	7d 30                	jge    0x418892
418862:	8b 45 f0             	mov    -0x10(%ebp),%eax
418865:	2b ca                	sub    %edx,%ecx
418867:	8b 55 f4             	mov    -0xc(%ebp),%edx
41886a:	f6 45 f0 01          	testb  $0x1,-0x10(%ebp)
41886e:	74 05                	je     0x418875
418870:	85 ff                	test   %edi,%edi
418872:	75 01                	jne    0x418875
418874:	47                   	inc    %edi
418875:	d1 e8                	shr    $1,%eax
418877:	f6 45 f4 01          	testb  $0x1,-0xc(%ebp)
41887b:	89 45 f0             	mov    %eax,-0x10(%ebp)
41887e:	74 08                	je     0x418888
418880:	0d 00 00 00 80       	or     $0x80000000,%eax
418885:	89 45 f0             	mov    %eax,-0x10(%ebp)
418888:	d1 ea                	shr    $1,%edx
41888a:	89 55 f4             	mov    %edx,-0xc(%ebp)
41888d:	83 e9 01             	sub    $0x1,%ecx
418890:	75 d8                	jne    0x41886a
418892:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
418896:	dd 45 f0             	fldl   -0x10(%ebp)
418899:	74 02                	je     0x41889d
41889b:	d9 e0                	fchs
41889d:	8b 45 0c             	mov    0xc(%ebp),%eax
4188a0:	dd 18                	fstpl  (%eax)
4188a2:	eb 05                	jmp    0x4188a9
4188a4:	33 ff                	xor    %edi,%edi
4188a6:	dd d8                	fstp   %st(0)
4188a8:	47                   	inc    %edi
4188a9:	85 ff                	test   %edi,%edi
4188ab:	5f                   	pop    %edi
4188ac:	74 08                	je     0x4188b6
4188ae:	6a 10                	push   $0x10
4188b0:	e8 83 c1 ff ff       	call   0x414a38
4188b5:	59                   	pop    %ecx
4188b6:	83 e6 fd             	and    $0xfffffffd,%esi
4188b9:	f6 c3 10             	test   $0x10,%bl
4188bc:	74 11                	je     0x4188cf
4188be:	f6 45 10 20          	testb  $0x20,0x10(%ebp)
4188c2:	74 0b                	je     0x4188cf
4188c4:	6a 20                	push   $0x20
4188c6:	e8 6d c1 ff ff       	call   0x414a38
4188cb:	59                   	pop    %ecx
4188cc:	83 e6 ef             	and    $0xffffffef,%esi
4188cf:	33 c0                	xor    %eax,%eax
4188d1:	85 f6                	test   %esi,%esi
4188d3:	5e                   	pop    %esi
4188d4:	0f 94 c0             	sete   %al
4188d7:	5b                   	pop    %ebx
4188d8:	c9                   	leave
4188d9:	c3                   	ret
4188da:	8b ff                	mov    %edi,%edi
4188dc:	55                   	push   %ebp
4188dd:	8b ec                	mov    %esp,%ebp
4188df:	6a 00                	push   $0x0
4188e1:	ff 75 1c             	push   0x1c(%ebp)
4188e4:	ff 75 18             	push   0x18(%ebp)
4188e7:	ff 75 14             	push   0x14(%ebp)
4188ea:	ff 75 10             	push   0x10(%ebp)
4188ed:	ff 75 0c             	push   0xc(%ebp)
4188f0:	ff 75 08             	push   0x8(%ebp)
4188f3:	e8 05 00 00 00       	call   0x4188fd
4188f8:	83 c4 1c             	add    $0x1c,%esp
4188fb:	5d                   	pop    %ebp
4188fc:	c3                   	ret
4188fd:	8b ff                	mov    %edi,%edi
4188ff:	55                   	push   %ebp
418900:	8b ec                	mov    %esp,%ebp
418902:	8b 45 08             	mov    0x8(%ebp),%eax
418905:	33 c9                	xor    %ecx,%ecx
418907:	53                   	push   %ebx
418908:	33 db                	xor    %ebx,%ebx
41890a:	43                   	inc    %ebx
41890b:	89 48 04             	mov    %ecx,0x4(%eax)
41890e:	8b 45 08             	mov    0x8(%ebp),%eax
418911:	57                   	push   %edi
418912:	bf 0d 00 00 c0       	mov    $0xc000000d,%edi
418917:	89 48 08             	mov    %ecx,0x8(%eax)
41891a:	8b 45 08             	mov    0x8(%ebp),%eax
41891d:	89 48 0c             	mov    %ecx,0xc(%eax)
418920:	8b 4d 10             	mov    0x10(%ebp),%ecx
418923:	f6 c1 10             	test   $0x10,%cl
418926:	74 0b                	je     0x418933
418928:	8b 45 08             	mov    0x8(%ebp),%eax
41892b:	bf 8f 00 00 c0       	mov    $0xc000008f,%edi
418930:	09 58 04             	or     %ebx,0x4(%eax)
418933:	f6 c1 02             	test   $0x2,%cl
418936:	74 0c                	je     0x418944
418938:	8b 45 08             	mov    0x8(%ebp),%eax
41893b:	bf 93 00 00 c0       	mov    $0xc0000093,%edi
418940:	83 48 04 02          	orl    $0x2,0x4(%eax)
418944:	f6 c1 01             	test   $0x1,%cl
418947:	74 0c                	je     0x418955
418949:	8b 45 08             	mov    0x8(%ebp),%eax
41894c:	bf 91 00 00 c0       	mov    $0xc0000091,%edi
418951:	83 48 04 04          	orl    $0x4,0x4(%eax)
418955:	f6 c1 04             	test   $0x4,%cl
418958:	74 0c                	je     0x418966
41895a:	8b 45 08             	mov    0x8(%ebp),%eax
41895d:	bf 8e 00 00 c0       	mov    $0xc000008e,%edi
418962:	83 48 04 08          	orl    $0x8,0x4(%eax)
418966:	f6 c1 08             	test   $0x8,%cl
418969:	74 0c                	je     0x418977
41896b:	8b 45 08             	mov    0x8(%ebp),%eax
41896e:	bf 90 00 00 c0       	mov    $0xc0000090,%edi
418973:	83 48 04 10          	orl    $0x10,0x4(%eax)
418977:	8b 4d 08             	mov    0x8(%ebp),%ecx
41897a:	56                   	push   %esi
41897b:	8b 75 0c             	mov    0xc(%ebp),%esi
41897e:	8b 06                	mov    (%esi),%eax
418980:	c1 e0 04             	shl    $0x4,%eax
418983:	f7 d0                	not    %eax
418985:	33 41 08             	xor    0x8(%ecx),%eax
418988:	83 e0 10             	and    $0x10,%eax
41898b:	31 41 08             	xor    %eax,0x8(%ecx)
41898e:	8b 4d 08             	mov    0x8(%ebp),%ecx
418991:	8b 06                	mov    (%esi),%eax
418993:	03 c0                	add    %eax,%eax
418995:	f7 d0                	not    %eax
418997:	33 41 08             	xor    0x8(%ecx),%eax
41899a:	83 e0 08             	and    $0x8,%eax
41899d:	31 41 08             	xor    %eax,0x8(%ecx)
4189a0:	8b 4d 08             	mov    0x8(%ebp),%ecx
4189a3:	8b 06                	mov    (%esi),%eax
4189a5:	d1 e8                	shr    $1,%eax
4189a7:	f7 d0                	not    %eax
4189a9:	33 41 08             	xor    0x8(%ecx),%eax
4189ac:	83 e0 04             	and    $0x4,%eax
4189af:	31 41 08             	xor    %eax,0x8(%ecx)
4189b2:	8b 4d 08             	mov    0x8(%ebp),%ecx
4189b5:	8b 06                	mov    (%esi),%eax
4189b7:	c1 e8 03             	shr    $0x3,%eax
4189ba:	f7 d0                	not    %eax
4189bc:	33 41 08             	xor    0x8(%ecx),%eax
4189bf:	83 e0 02             	and    $0x2,%eax
4189c2:	31 41 08             	xor    %eax,0x8(%ecx)
4189c5:	8b 06                	mov    (%esi),%eax
4189c7:	8b 4d 08             	mov    0x8(%ebp),%ecx
4189ca:	c1 e8 05             	shr    $0x5,%eax
4189cd:	f7 d0                	not    %eax
4189cf:	33 41 08             	xor    0x8(%ecx),%eax
4189d2:	23 c3                	and    %ebx,%eax
4189d4:	31 41 08             	xor    %eax,0x8(%ecx)
4189d7:	e8 b5 c0 ff ff       	call   0x414a91
4189dc:	8b d0                	mov    %eax,%edx
4189de:	f6 c2 01             	test   $0x1,%dl
4189e1:	74 07                	je     0x4189ea
4189e3:	8b 4d 08             	mov    0x8(%ebp),%ecx
4189e6:	83 49 0c 10          	orl    $0x10,0xc(%ecx)
4189ea:	f6 c2 04             	test   $0x4,%dl
4189ed:	74 07                	je     0x4189f6
4189ef:	8b 45 08             	mov    0x8(%ebp),%eax
4189f2:	83 48 0c 08          	orl    $0x8,0xc(%eax)
4189f6:	f6 c2 08             	test   $0x8,%dl
4189f9:	74 07                	je     0x418a02
4189fb:	8b 45 08             	mov    0x8(%ebp),%eax
4189fe:	83 48 0c 04          	orl    $0x4,0xc(%eax)
418a02:	f6 c2 10             	test   $0x10,%dl
418a05:	74 07                	je     0x418a0e
418a07:	8b 45 08             	mov    0x8(%ebp),%eax
418a0a:	83 48 0c 02          	orl    $0x2,0xc(%eax)
418a0e:	f6 c2 20             	test   $0x20,%dl
418a11:	74 06                	je     0x418a19
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