4898d5:	eb 2f                	jmp    0x489906
4898d7:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
4898db:	33 c0                	xor    %eax,%eax
4898dd:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
4898e1:	8d 45 fc             	lea    -0x4(%ebp),%eax
4898e4:	50                   	push   %eax
4898e5:	6a 01                	push   $0x1
4898e7:	8d 45 f8             	lea    -0x8(%ebp),%eax
4898ea:	50                   	push   %eax
4898eb:	6a 01                	push   $0x1
4898ed:	e8 e6 96 00 00       	call   0x492fd8
4898f2:	83 c4 10             	add    $0x10,%esp
4898f5:	85 c0                	test   %eax,%eax
4898f7:	74 0b                	je     0x489904
4898f9:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
4898fd:	0f b7 ce             	movzwl %si,%ecx
489900:	23 c1                	and    %ecx,%eax
489902:	eb 02                	jmp    0x489906
489904:	33 c0                	xor    %eax,%eax
489906:	5e                   	pop    %esi
489907:	c9                   	leave
489908:	c3                   	ret
489909:	8b ff                	mov    %edi,%edi
48990b:	55                   	push   %ebp
48990c:	8b ec                	mov    %esp,%ebp
48990e:	83 ec 20             	sub    $0x20,%esp
489911:	a1 14 40 4c 00       	mov    0x4c4014,%eax
489916:	33 c5                	xor    %ebp,%eax
489918:	89 45 fc             	mov    %eax,-0x4(%ebp)
48991b:	ff 75 10             	push   0x10(%ebp)
48991e:	8d 4d e0             	lea    -0x20(%ebp),%ecx
489921:	e8 eb 01 ff ff       	call   0x479b11
489926:	8b 55 08             	mov    0x8(%ebp),%edx
489929:	83 fa ff             	cmp    $0xffffffff,%edx
48992c:	7c 13                	jl     0x489941
48992e:	81 fa ff 00 00 00    	cmp    $0xff,%edx
489934:	7f 0b                	jg     0x489941
489936:	8b 45 e4             	mov    -0x1c(%ebp),%eax
489939:	8b 00                	mov    (%eax),%eax
48993b:	0f b7 04 50          	movzwl (%eax,%edx,2),%eax
48993f:	eb 74                	jmp    0x4899b5
489941:	53                   	push   %ebx
489942:	56                   	push   %esi
489943:	8b 75 e4             	mov    -0x1c(%ebp),%esi
489946:	8b da                	mov    %edx,%ebx
489948:	c1 fb 08             	sar    $0x8,%ebx
48994b:	0f b6 cb             	movzbl %bl,%ecx
48994e:	57                   	push   %edi
48994f:	8b 06                	mov    (%esi),%eax
489951:	33 ff                	xor    %edi,%edi
489953:	66 39 3c 48          	cmp    %di,(%eax,%ecx,2)
489957:	7d 10                	jge    0x489969
489959:	33 c9                	xor    %ecx,%ecx
48995b:	88 5d f0             	mov    %bl,-0x10(%ebp)
48995e:	6a 02                	push   $0x2
489960:	88 55 f1             	mov    %dl,-0xf(%ebp)
489963:	88 4d f2             	mov    %cl,-0xe(%ebp)
489966:	58                   	pop    %eax
489967:	eb 0b                	jmp    0x489974
489969:	33 c9                	xor    %ecx,%ecx
48996b:	88 55 f0             	mov    %dl,-0x10(%ebp)
48996e:	33 c0                	xor    %eax,%eax
489970:	88 4d f1             	mov    %cl,-0xf(%ebp)
489973:	40                   	inc    %eax
489974:	6a 01                	push   $0x1
489976:	89 4d f4             	mov    %ecx,-0xc(%ebp)
489979:	66 89 4d f8          	mov    %cx,-0x8(%ebp)
48997d:	8d 4d f4             	lea    -0xc(%ebp),%ecx
489980:	ff 76 08             	push   0x8(%esi)
489983:	51                   	push   %ecx
489984:	50                   	push   %eax
489985:	8d 45 f0             	lea    -0x10(%ebp),%eax
489988:	50                   	push   %eax
489989:	8d 45 e4             	lea    -0x1c(%ebp),%eax
48998c:	6a 01                	push   $0x1
48998e:	50                   	push   %eax
48998f:	e8 8b 3a 00 00       	call   0x48d41f
489994:	83 c4 1c             	add    $0x1c,%esp
489997:	5f                   	pop    %edi
489998:	5e                   	pop    %esi
489999:	5b                   	pop    %ebx
48999a:	85 c0                	test   %eax,%eax
48999c:	75 13                	jne    0x4899b1
48999e:	38 45 ec             	cmp    %al,-0x14(%ebp)
4899a1:	74 0a                	je     0x4899ad
4899a3:	8b 45 e0             	mov    -0x20(%ebp),%eax
4899a6:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
4899ad:	33 c0                	xor    %eax,%eax
4899af:	eb 17                	jmp    0x4899c8
4899b1:	0f b7 45 f4          	movzwl -0xc(%ebp),%eax
4899b5:	23 45 0c             	and    0xc(%ebp),%eax
4899b8:	80 7d ec 00          	cmpb   $0x0,-0x14(%ebp)
4899bc:	74 0a                	je     0x4899c8
4899be:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4899c1:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
4899c8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4899cb:	33 cd                	xor    %ebp,%ecx
4899cd:	e8 f8 ff fd ff       	call   0x4699ca
4899d2:	c9                   	leave
4899d3:	c3                   	ret
4899d4:	e8 03 99 00 00       	call   0x4932dc
4899d9:	50                   	push   %eax
4899da:	e8 db 98 00 00       	call   0x4932ba
4899df:	59                   	pop    %ecx
4899e0:	c3                   	ret
4899e1:	8b ff                	mov    %edi,%edi
4899e3:	55                   	push   %ebp
4899e4:	8b ec                	mov    %esp,%ebp
4899e6:	dd 45 08             	fldl   0x8(%ebp)
4899e9:	d9 ee                	fldz
4899eb:	dd e1                	fucom  %st(1)
4899ed:	df e0                	fnstsw %ax
4899ef:	56                   	push   %esi
4899f0:	f6 c4 44             	test   $0x44,%ah
4899f3:	7a 09                	jp     0x4899fe
4899f5:	dd d9                	fstp   %st(1)
4899f7:	33 f6                	xor    %esi,%esi
4899f9:	e9 ad 00 00 00       	jmp    0x489aab
4899fe:	57                   	push   %edi
4899ff:	66 8b 7d 0e          	mov    0xe(%ebp),%di
489a03:	0f b7 c7             	movzwl %di,%eax
489a06:	a9 f0 7f 00 00       	test   $0x7ff0,%eax
489a0b:	75 7a                	jne    0x489a87
489a0d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
489a10:	8b 55 08             	mov    0x8(%ebp),%edx
489a13:	f7 c1 ff ff 0f 00    	test   $0xfffff,%ecx
489a19:	75 04                	jne    0x489a1f
489a1b:	85 d2                	test   %edx,%edx
489a1d:	74 68                	je     0x489a87
489a1f:	de d9                	fcompp
489a21:	be 03 fc ff ff       	mov    $0xfffffc03,%esi
489a26:	df e0                	fnstsw %ax
489a28:	53                   	push   %ebx
489a29:	33 db                	xor    %ebx,%ebx
489a2b:	f6 c4 41             	test   $0x41,%ah
489a2e:	75 01                	jne    0x489a31
489a30:	43                   	inc    %ebx
489a31:	f6 45 0e 10          	testb  $0x10,0xe(%ebp)
489a35:	75 1f                	jne    0x489a56
489a37:	03 c9                	add    %ecx,%ecx
489a39:	89 4d 0c             	mov    %ecx,0xc(%ebp)
489a3c:	85 d2                	test   %edx,%edx
489a3e:	79 06                	jns    0x489a46
489a40:	83 c9 01             	or     $0x1,%ecx
489a43:	89 4d 0c             	mov    %ecx,0xc(%ebp)
489a46:	03 d2                	add    %edx,%edx
489a48:	4e                   	dec    %esi
489a49:	f6 45 0e 10          	testb  $0x10,0xe(%ebp)
489a4d:	74 e8                	je     0x489a37
489a4f:	66 8b 7d 0e          	mov    0xe(%ebp),%di
489a53:	89 55 08             	mov    %edx,0x8(%ebp)
489a56:	b8 ef ff 00 00       	mov    $0xffef,%eax
489a5b:	66 23 f8             	and    %ax,%di
489a5e:	85 db                	test   %ebx,%ebx
489a60:	0f b7 c7             	movzwl %di,%eax
489a63:	66 89 7d 0e          	mov    %di,0xe(%ebp)
489a67:	5b                   	pop    %ebx
489a68:	74 09                	je     0x489a73
489a6a:	0d 00 80 00 00       	or     $0x8000,%eax
489a6f:	66 89 45 0e          	mov    %ax,0xe(%ebp)
489a73:	dd 45 08             	fldl   0x8(%ebp)
489a76:	6a 00                	push   $0x0
489a78:	51                   	push   %ecx
489a79:	51                   	push   %ecx
489a7a:	dd 1c 24             	fstpl  (%esp)
489a7d:	e8 31 00 00 00       	call   0x489ab3
489a82:	83 c4 0c             	add    $0xc,%esp
489a85:	eb 23                	jmp    0x489aaa
489a87:	6a 00                	push   $0x0
489a89:	51                   	push   %ecx
489a8a:	dd d8                	fstp   %st(0)
489a8c:	51                   	push   %ecx
489a8d:	dd 1c 24             	fstpl  (%esp)
489a90:	e8 1e 00 00 00       	call   0x489ab3
489a95:	0f b7 f7             	movzwl %di,%esi
489a98:	83 c4 0c             	add    $0xc,%esp
489a9b:	c1 ee 04             	shr    $0x4,%esi
489a9e:	81 e6 ff 07 00 00    	and    $0x7ff,%esi
489aa4:	81 ee fe 03 00 00    	sub    $0x3fe,%esi
489aaa:	5f                   	pop    %edi
489aab:	8b 45 10             	mov    0x10(%ebp),%eax
489aae:	89 30                	mov    %esi,(%eax)
489ab0:	5e                   	pop    %esi
489ab1:	5d                   	pop    %ebp
489ab2:	c3                   	ret
489ab3:	8b ff                	mov    %edi,%edi
489ab5:	55                   	push   %ebp
489ab6:	8b ec                	mov    %esp,%ebp
489ab8:	51                   	push   %ecx
489ab9:	51                   	push   %ecx
489aba:	8b 4d 10             	mov    0x10(%ebp),%ecx
489abd:	0f b7 45 0e          	movzwl 0xe(%ebp),%eax
489ac1:	dd 45 08             	fldl   0x8(%ebp)
489ac4:	25 0f 80 00 00       	and    $0x800f,%eax
489ac9:	dd 5d f8             	fstpl  -0x8(%ebp)
489acc:	8d 89 fe 03 00 00    	lea    0x3fe(%ecx),%ecx
489ad2:	c1 e1 04             	shl    $0x4,%ecx
489ad5:	0b c8                	or     %eax,%ecx
489ad7:	66 89 4d fe          	mov    %cx,-0x2(%ebp)
489adb:	dd 45 f8             	fldl   -0x8(%ebp)
489ade:	c9                   	leave
489adf:	c3                   	ret
489ae0:	8b ff                	mov    %edi,%edi
489ae2:	55                   	push   %ebp
489ae3:	8b ec                	mov    %esp,%ebp
489ae5:	81 7d 0c 00 00 f0 7f 	cmpl   $0x7ff00000,0xc(%ebp)
489aec:	8b 45 08             	mov    0x8(%ebp),%eax
489aef:	75 07                	jne    0x489af8
489af1:	85 c0                	test   %eax,%eax
489af3:	75 15                	jne    0x489b0a
489af5:	40                   	inc    %eax
489af6:	5d                   	pop    %ebp
489af7:	c3                   	ret
489af8:	81 7d 0c 00 00 f0 ff 	cmpl   $0xfff00000,0xc(%ebp)
489aff:	75 09                	jne    0x489b0a
489b01:	85 c0                	test   %eax,%eax
489b03:	75 05                	jne    0x489b0a
489b05:	6a 02                	push   $0x2
489b07:	58                   	pop    %eax
489b08:	5d                   	pop    %ebp
489b09:	c3                   	ret
489b0a:	66 8b 4d 0e          	mov    0xe(%ebp),%cx
489b0e:	ba f8 7f 00 00       	mov    $0x7ff8,%edx
489b13:	66 23 ca             	and    %dx,%cx
489b16:	66 3b ca             	cmp    %dx,%cx
489b19:	75 04                	jne    0x489b1f
489b1b:	6a 03                	push   $0x3
489b1d:	eb e8                	jmp    0x489b07
489b1f:	ba f0 7f 00 00       	mov    $0x7ff0,%edx
489b24:	66 3b ca             	cmp    %dx,%cx
489b27:	75 16                	jne    0x489b3f
489b29:	f7 45 0c ff ff 07 00 	testl  $0x7ffff,0xc(%ebp)
489b30:	75 09                	jne    0x489b3b
489b32:	f7 d8                	neg    %eax
489b34:	1b c0                	sbb    %eax,%eax
489b36:	83 e0 04             	and    $0x4,%eax
489b39:	5d                   	pop    %ebp
489b3a:	c3                   	ret
489b3b:	6a 04                	push   $0x4
489b3d:	eb c8                	jmp    0x489b07
489b3f:	33 c0                	xor    %eax,%eax
489b41:	5d                   	pop    %ebp
489b42:	c3                   	ret
489b43:	8b ff                	mov    %edi,%edi
489b45:	55                   	push   %ebp
489b46:	8b ec                	mov    %esp,%ebp
489b48:	8b 45 08             	mov    0x8(%ebp),%eax
489b4b:	a8 20                	test   $0x20,%al
489b4d:	74 04                	je     0x489b53
489b4f:	6a 05                	push   $0x5
489b51:	eb 17                	jmp    0x489b6a
489b53:	a8 08                	test   $0x8,%al
489b55:	74 05                	je     0x489b5c
489b57:	33 c0                	xor    %eax,%eax
489b59:	40                   	inc    %eax
489b5a:	5d                   	pop    %ebp
489b5b:	c3                   	ret
489b5c:	a8 04                	test   $0x4,%al
489b5e:	74 04                	je     0x489b64
489b60:	6a 02                	push   $0x2
489b62:	eb 06                	jmp    0x489b6a
489b64:	a8 01                	test   $0x1,%al
489b66:	74 05                	je     0x489b6d
489b68:	6a 03                	push   $0x3
489b6a:	58                   	pop    %eax
489b6b:	5d                   	pop    %ebp
489b6c:	c3                   	ret
489b6d:	0f b6 c0             	movzbl %al,%eax
489b70:	83 e0 02             	and    $0x2,%eax
489b73:	03 c0                	add    %eax,%eax
489b75:	5d                   	pop    %ebp
489b76:	c3                   	ret
489b77:	8b ff                	mov    %edi,%edi
489b79:	53                   	push   %ebx
489b7a:	8b dc                	mov    %esp,%ebx
489b7c:	51                   	push   %ecx
489b7d:	51                   	push   %ecx
489b7e:	83 e4 f0             	and    $0xfffffff0,%esp
489b81:	83 c4 04             	add    $0x4,%esp
489b84:	55                   	push   %ebp
489b85:	8b 6b 04             	mov    0x4(%ebx),%ebp
489b88:	89 6c 24 04          	mov    %ebp,0x4(%esp)
489b8c:	8b ec                	mov    %esp,%ebp
489b8e:	81 ec 88 00 00 00    	sub    $0x88,%esp
489b94:	a1 14 40 4c 00       	mov    0x4c4014,%eax
489b99:	33 c5                	xor    %ebp,%eax
489b9b:	89 45 fc             	mov    %eax,-0x4(%ebp)
489b9e:	56                   	push   %esi
489b9f:	8b 73 20             	mov    0x20(%ebx),%esi
489ba2:	8d 43 18             	lea    0x18(%ebx),%eax
489ba5:	57                   	push   %edi
489ba6:	56                   	push   %esi
489ba7:	50                   	push   %eax
489ba8:	ff 73 08             	push   0x8(%ebx)
489bab:	e8 77 01 00 00       	call   0x489d27
489bb0:	83 c4 0c             	add    $0xc,%esp
489bb3:	85 c0                	test   %eax,%eax
489bb5:	75 26                	jne    0x489bdd
489bb7:	83 65 c0 fe          	andl   $0xfffffffe,-0x40(%ebp)
489bbb:	50                   	push   %eax
489bbc:	8d 43 18             	lea    0x18(%ebx),%eax
489bbf:	50                   	push   %eax
489bc0:	8d 43 10             	lea    0x10(%ebx),%eax
489bc3:	50                   	push   %eax
489bc4:	ff 73 0c             	push   0xc(%ebx)
489bc7:	8d 43 20             	lea    0x20(%ebx),%eax
489bca:	ff 73 08             	push   0x8(%ebx)
489bcd:	50                   	push   %eax
489bce:	8d 45 80             	lea    -0x80(%ebp),%eax
489bd1:	50                   	push   %eax
489bd2:	e8 00 04 00 00       	call   0x489fd7
489bd7:	8b 73 20             	mov    0x20(%ebx),%esi
489bda:	83 c4 1c             	add    $0x1c,%esp
489bdd:	ff 73 08             	push   0x8(%ebx)
489be0:	e8 5e ff ff ff       	call   0x489b43
489be5:	59                   	pop    %ecx
489be6:	8b f8                	mov    %eax,%edi
489be8:	e8 58 92 ff ff       	call   0x482e45
489bed:	84 c0                	test   %al,%al
489bef:	74 29                	je     0x489c1a
489bf1:	85 ff                	test   %edi,%edi
489bf3:	74 25                	je     0x489c1a
489bf5:	dd 43 18             	fldl   0x18(%ebx)
489bf8:	56                   	push   %esi
489bf9:	83 ec 18             	sub    $0x18,%esp
489bfc:	dd 5c 24 10          	fstpl  0x10(%esp)
489c00:	d9 ee                	fldz
489c02:	dd 5c 24 08          	fstpl  0x8(%esp)
489c06:	dd 43 10             	fldl   0x10(%ebx)
489c09:	dd 1c 24             	fstpl  (%esp)
489c0c:	ff 73 0c             	push   0xc(%ebx)
489c0f:	57                   	push   %edi
489c10:	e8 e4 06 00 00       	call   0x48a2f9
489c15:	83 c4 24             	add    $0x24,%esp
489c18:	eb 18                	jmp    0x489c32
489c1a:	57                   	push   %edi
489c1b:	e8 a8 06 00 00       	call   0x48a2c8
489c20:	c7 04 24 ff ff 00 00 	movl   $0xffff,(%esp)
489c27:	56                   	push   %esi
489c28:	e8 fd 07 00 00       	call   0x48a42a
489c2d:	dd 43 18             	fldl   0x18(%ebx)
489c30:	59                   	pop    %ecx
489c31:	59                   	pop    %ecx
489c32:	8b 4d fc             	mov    -0x4(%ebp),%ecx
489c35:	5f                   	pop    %edi
489c36:	33 cd                	xor    %ebp,%ecx
489c38:	5e                   	pop    %esi
489c39:	e8 8c fd fd ff       	call   0x4699ca
489c3e:	8b e5                	mov    %ebp,%esp
489c40:	5d                   	pop    %ebp