4aa8ce:	8b 0e                	mov    (%esi),%ecx
4aa8d0:	80 e5 fb             	and    $0xfb,%ch
4aa8d3:	80 cd 08             	or     $0x8,%ch
4aa8d6:	eb 08                	jmp    0x4aa8e0
4aa8d8:	8b 0e                	mov    (%esi),%ecx
4aa8da:	80 e5 f7             	and    $0xf7,%ch
4aa8dd:	80 cd 04             	or     $0x4,%ch
4aa8e0:	89 0e                	mov    %ecx,(%esi)
4aa8e2:	eb 02                	jmp    0x4aa8e6
4aa8e4:	21 16                	and    %edx,(%esi)
4aa8e6:	8b 08                	mov    (%eax),%ecx
4aa8e8:	c1 e9 02             	shr    $0x2,%ecx
4aa8eb:	83 e1 07             	and    $0x7,%ecx
4aa8ee:	83 e9 00             	sub    $0x0,%ecx
4aa8f1:	74 13                	je     0x4aa906
4aa8f3:	49                   	dec    %ecx
4aa8f4:	74 07                	je     0x4aa8fd
4aa8f6:	49                   	dec    %ecx
4aa8f7:	75 16                	jne    0x4aa90f
4aa8f9:	21 16                	and    %edx,(%esi)
4aa8fb:	eb 12                	jmp    0x4aa90f
4aa8fd:	8b 0e                	mov    (%esi),%ecx
4aa8ff:	23 ca                	and    %edx,%ecx
4aa901:	80 cd 02             	or     $0x2,%ch
4aa904:	eb 07                	jmp    0x4aa90d
4aa906:	8b 0e                	mov    (%esi),%ecx
4aa908:	23 ca                	and    %edx,%ecx
4aa90a:	80 cd 03             	or     $0x3,%ch
4aa90d:	89 0e                	mov    %ecx,(%esi)
4aa90f:	dd 40 40             	fldl   0x40(%eax)
4aa912:	dd 1f                	fstpl  (%edi)
4aa914:	5f                   	pop    %edi
4aa915:	5e                   	pop    %esi
4aa916:	5b                   	pop    %ebx
4aa917:	5d                   	pop    %ebp
4aa918:	c3                   	ret
4aa919:	55                   	push   %ebp
4aa91a:	8b ec                	mov    %esp,%ebp
4aa91c:	83 ec 0c             	sub    $0xc,%esp
4aa91f:	8b 45 08             	mov    0x8(%ebp),%eax
4aa922:	53                   	push   %ebx
4aa923:	57                   	push   %edi
4aa924:	8b f8                	mov    %eax,%edi
4aa926:	83 e7 1f             	and    $0x1f,%edi
4aa929:	6a 01                	push   $0x1
4aa92b:	a8 08                	test   $0x8,%al
4aa92d:	5b                   	pop    %ebx
4aa92e:	74 14                	je     0x4aa944
4aa930:	84 5d 10             	test   %bl,0x10(%ebp)
4aa933:	74 0f                	je     0x4aa944
4aa935:	53                   	push   %ebx
4aa936:	e8 2e 05 00 00       	call   0x4aae69
4aa93b:	59                   	pop    %ecx
4aa93c:	83 e7 f7             	and    $0xfffffff7,%edi
4aa93f:	e9 ca 01 00 00       	jmp    0x4aab0e
4aa944:	a8 04                	test   $0x4,%al
4aa946:	74 16                	je     0x4aa95e
4aa948:	f6 45 10 04          	testb  $0x4,0x10(%ebp)
4aa94c:	74 10                	je     0x4aa95e
4aa94e:	6a 04                	push   $0x4
4aa950:	e8 14 05 00 00       	call   0x4aae69
4aa955:	59                   	pop    %ecx
4aa956:	83 e7 fb             	and    $0xfffffffb,%edi
4aa959:	e9 b0 01 00 00       	jmp    0x4aab0e
4aa95e:	84 c3                	test   %al,%bl
4aa960:	0f 84 d2 00 00 00    	je     0x4aaa38
4aa966:	f6 45 10 08          	testb  $0x8,0x10(%ebp)
4aa96a:	0f 84 c8 00 00 00    	je     0x4aaa38
4aa970:	6a 08                	push   $0x8
4aa972:	e8 f2 04 00 00       	call   0x4aae69
4aa977:	59                   	pop    %ecx
4aa978:	b8 00 0c 00 00       	mov    $0xc00,%eax
4aa97d:	8b 4d 10             	mov    0x10(%ebp),%ecx
4aa980:	23 c8                	and    %eax,%ecx
4aa982:	0f 84 88 00 00 00    	je     0x4aaa10
4aa988:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
4aa98e:	74 58                	je     0x4aa9e8
4aa990:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
4aa996:	74 28                	je     0x4aa9c0
4aa998:	3b c8                	cmp    %eax,%ecx
4aa99a:	0f 85 90 00 00 00    	jne    0x4aaa30
4aa9a0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4aa9a3:	dd 01                	fldl   (%ecx)
4aa9a5:	dc 1d 28 35 4b 00    	fcompl 0x4b3528
4aa9ab:	dd 05 90 a4 50 00    	fldl   0x50a490
4aa9b1:	df e0                	fnstsw %ax
4aa9b3:	9e                   	sahf
4aa9b4:	77 02                	ja     0x4aa9b8
4aa9b6:	d9 e0                	fchs
4aa9b8:	dd 5d f4             	fstpl  -0xc(%ebp)
4aa9bb:	dd 45 f4             	fldl   -0xc(%ebp)
4aa9be:	eb 6e                	jmp    0x4aaa2e
4aa9c0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4aa9c3:	dd 01                	fldl   (%ecx)
4aa9c5:	dc 1d 28 35 4b 00    	fcompl 0x4b3528
4aa9cb:	df e0                	fnstsw %ax
4aa9cd:	9e                   	sahf
4aa9ce:	76 08                	jbe    0x4aa9d8
4aa9d0:	dd 05 80 a4 50 00    	fldl   0x50a480
4aa9d6:	eb 08                	jmp    0x4aa9e0
4aa9d8:	dd 05 90 a4 50 00    	fldl   0x50a490
4aa9de:	d9 e0                	fchs
4aa9e0:	dd 5d f4             	fstpl  -0xc(%ebp)
4aa9e3:	dd 45 f4             	fldl   -0xc(%ebp)
4aa9e6:	eb 46                	jmp    0x4aaa2e
4aa9e8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4aa9eb:	dd 01                	fldl   (%ecx)
4aa9ed:	dc 1d 28 35 4b 00    	fcompl 0x4b3528
4aa9f3:	df e0                	fnstsw %ax
4aa9f5:	9e                   	sahf
4aa9f6:	76 08                	jbe    0x4aaa00
4aa9f8:	dd 05 90 a4 50 00    	fldl   0x50a490
4aa9fe:	eb 08                	jmp    0x4aaa08
4aaa00:	dd 05 80 a4 50 00    	fldl   0x50a480
4aaa06:	d9 e0                	fchs
4aaa08:	dd 5d f4             	fstpl  -0xc(%ebp)
4aaa0b:	dd 45 f4             	fldl   -0xc(%ebp)
4aaa0e:	eb 1e                	jmp    0x4aaa2e
4aaa10:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4aaa13:	dd 01                	fldl   (%ecx)
4aaa15:	dc 1d 28 35 4b 00    	fcompl 0x4b3528
4aaa1b:	dd 05 80 a4 50 00    	fldl   0x50a480
4aaa21:	df e0                	fnstsw %ax
4aaa23:	9e                   	sahf
4aaa24:	77 02                	ja     0x4aaa28
4aaa26:	d9 e0                	fchs
4aaa28:	dd 5d f4             	fstpl  -0xc(%ebp)
4aaa2b:	dd 45 f4             	fldl   -0xc(%ebp)
4aaa2e:	dd 19                	fstpl  (%ecx)
4aaa30:	83 e7 fe             	and    $0xfffffffe,%edi
4aaa33:	e9 d6 00 00 00       	jmp    0x4aab0e
4aaa38:	a8 02                	test   $0x2,%al
4aaa3a:	0f 84 ce 00 00 00    	je     0x4aab0e
4aaa40:	f6 45 10 10          	testb  $0x10,0x10(%ebp)
4aaa44:	0f 84 c4 00 00 00    	je     0x4aab0e
4aaa4a:	56                   	push   %esi
4aaa4b:	33 f6                	xor    %esi,%esi
4aaa4d:	a8 10                	test   $0x10,%al
4aaa4f:	74 02                	je     0x4aaa53
4aaa51:	8b f3                	mov    %ebx,%esi
4aaa53:	8b 45 0c             	mov    0xc(%ebp),%eax
4aaa56:	dd 00                	fldl   (%eax)
4aaa58:	dd 5d f4             	fstpl  -0xc(%ebp)
4aaa5b:	dd 45 f4             	fldl   -0xc(%ebp)
4aaa5e:	dc 1d 28 35 4b 00    	fcompl 0x4b3528
4aaa64:	df e0                	fnstsw %ax
4aaa66:	9e                   	sahf
4aaa67:	0f 84 8f 00 00 00    	je     0x4aaafc
4aaa6d:	dd 45 f4             	fldl   -0xc(%ebp)
4aaa70:	8d 45 fc             	lea    -0x4(%ebp),%eax
4aaa73:	50                   	push   %eax
4aaa74:	51                   	push   %ecx
4aaa75:	51                   	push   %ecx
4aaa76:	dd 1c 24             	fstpl  (%esp)
4aaa79:	e8 ea 02 00 00       	call   0x4aad68
4aaa7e:	8b 45 fc             	mov    -0x4(%ebp),%eax
4aaa81:	83 c4 0c             	add    $0xc,%esp
4aaa84:	dd 5d f4             	fstpl  -0xc(%ebp)
4aaa87:	8d 88 00 fa ff ff    	lea    -0x600(%eax),%ecx
4aaa8d:	81 f9 ce fb ff ff    	cmp    $0xfffffbce,%ecx
4aaa93:	7d 09                	jge    0x4aaa9e
4aaa95:	d9 ee                	fldz
4aaa97:	8b f3                	mov    %ebx,%esi
4aaa99:	dd 5d f4             	fstpl  -0xc(%ebp)
4aaa9c:	eb 54                	jmp    0x4aaaf2
4aaa9e:	dd 45 f4             	fldl   -0xc(%ebp)
4aaaa1:	dc 1d 28 35 4b 00    	fcompl 0x4b3528
4aaaa7:	df e0                	fnstsw %ax
4aaaa9:	9e                   	sahf
4aaaaa:	73 04                	jae    0x4aaab0
4aaaac:	8b d3                	mov    %ebx,%edx
4aaaae:	eb 02                	jmp    0x4aaab2
4aaab0:	33 d2                	xor    %edx,%edx
4aaab2:	8a 45 fa             	mov    -0x6(%ebp),%al
4aaab5:	83 e0 0f             	and    $0xf,%eax
4aaab8:	0c 10                	or     $0x10,%al
4aaaba:	66 89 45 fa          	mov    %ax,-0x6(%ebp)
4aaabe:	b8 03 fc ff ff       	mov    $0xfffffc03,%eax
4aaac3:	3b c8                	cmp    %eax,%ecx
4aaac5:	7d 1f                	jge    0x4aaae6
4aaac7:	2b c1                	sub    %ecx,%eax
4aaac9:	84 5d f4             	test   %bl,-0xc(%ebp)
4aaacc:	74 06                	je     0x4aaad4
4aaace:	85 f6                	test   %esi,%esi
4aaad0:	75 02                	jne    0x4aaad4
4aaad2:	8b f3                	mov    %ebx,%esi
4aaad4:	d1 6d f4             	shrl   $1,-0xc(%ebp)
4aaad7:	84 5d f8             	test   %bl,-0x8(%ebp)
4aaada:	74 04                	je     0x4aaae0
4aaadc:	80 4d f7 80          	orb    $0x80,-0x9(%ebp)
4aaae0:	d1 6d f8             	shrl   $1,-0x8(%ebp)
4aaae3:	48                   	dec    %eax
4aaae4:	75 e3                	jne    0x4aaac9
4aaae6:	85 d2                	test   %edx,%edx
4aaae8:	74 08                	je     0x4aaaf2
4aaaea:	dd 45 f4             	fldl   -0xc(%ebp)
4aaaed:	d9 e0                	fchs
4aaaef:	dd 5d f4             	fstpl  -0xc(%ebp)
4aaaf2:	dd 45 f4             	fldl   -0xc(%ebp)
4aaaf5:	8b 45 0c             	mov    0xc(%ebp),%eax
4aaaf8:	dd 18                	fstpl  (%eax)
4aaafa:	eb 02                	jmp    0x4aaafe
4aaafc:	8b f3                	mov    %ebx,%esi
4aaafe:	85 f6                	test   %esi,%esi
4aab00:	5e                   	pop    %esi
4aab01:	74 08                	je     0x4aab0b
4aab03:	6a 10                	push   $0x10
4aab05:	e8 5f 03 00 00       	call   0x4aae69
4aab0a:	59                   	pop    %ecx
4aab0b:	83 e7 fd             	and    $0xfffffffd,%edi
4aab0e:	f6 45 08 10          	testb  $0x10,0x8(%ebp)
4aab12:	74 11                	je     0x4aab25
4aab14:	f6 45 10 20          	testb  $0x20,0x10(%ebp)
4aab18:	74 0b                	je     0x4aab25
4aab1a:	6a 20                	push   $0x20
4aab1c:	e8 48 03 00 00       	call   0x4aae69
4aab21:	59                   	pop    %ecx
4aab22:	83 e7 ef             	and    $0xffffffef,%edi
4aab25:	33 c0                	xor    %eax,%eax
4aab27:	85 ff                	test   %edi,%edi
4aab29:	5f                   	pop    %edi
4aab2a:	5b                   	pop    %ebx
4aab2b:	0f 94 c0             	sete   %al
4aab2e:	c9                   	leave
4aab2f:	c3                   	ret
4aab30:	55                   	push   %ebp
4aab31:	8b ec                	mov    %esp,%ebp
4aab33:	83 ec 20             	sub    $0x20,%esp
4aab36:	ff 75 0c             	push   0xc(%ebp)
4aab39:	e8 a2 00 00 00       	call   0x4aabe0
4aab3e:	85 c0                	test   %eax,%eax
4aab40:	59                   	pop    %ecx
4aab41:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4aab44:	74 55                	je     0x4aab9b
4aab46:	8b 45 10             	mov    0x10(%ebp),%eax
4aab49:	56                   	push   %esi
4aab4a:	89 45 e8             	mov    %eax,-0x18(%ebp)
4aab4d:	8b 45 14             	mov    0x14(%ebp),%eax
4aab50:	89 45 ec             	mov    %eax,-0x14(%ebp)
4aab53:	8b 45 18             	mov    0x18(%ebp),%eax
4aab56:	8b 75 08             	mov    0x8(%ebp),%esi
4aab59:	89 45 f0             	mov    %eax,-0x10(%ebp)
4aab5c:	8b 45 1c             	mov    0x1c(%ebp),%eax
4aab5f:	68 ff ff 00 00       	push   $0xffff
4aab64:	ff 75 28             	push   0x28(%ebp)
4aab67:	89 45 f4             	mov    %eax,-0xc(%ebp)
4aab6a:	8b 45 20             	mov    0x20(%ebp),%eax
4aab6d:	89 75 e0             	mov    %esi,-0x20(%ebp)
4aab70:	89 45 f8             	mov    %eax,-0x8(%ebp)
4aab73:	8b 45 24             	mov    0x24(%ebp),%eax
4aab76:	89 45 fc             	mov    %eax,-0x4(%ebp)
4aab79:	e8 c8 02 00 00       	call   0x4aae46
4aab7e:	8d 45 e0             	lea    -0x20(%ebp),%eax
4aab81:	50                   	push   %eax
4aab82:	e8 b1 5c 00 00       	call   0x4b0838
4aab87:	83 c4 0c             	add    $0xc,%esp
4aab8a:	85 c0                	test   %eax,%eax
4aab8c:	75 07                	jne    0x4aab95
4aab8e:	56                   	push   %esi
4aab8f:	e8 24 00 00 00       	call   0x4aabb8
4aab94:	59                   	pop    %ecx
4aab95:	dd 45 f8             	fldl   -0x8(%ebp)
4aab98:	5e                   	pop    %esi
4aab99:	c9                   	leave
4aab9a:	c3                   	ret
4aab9b:	68 ff ff 00 00       	push   $0xffff
4aaba0:	ff 75 28             	push   0x28(%ebp)
4aaba3:	e8 9e 02 00 00       	call   0x4aae46
4aaba8:	ff 75 08             	push   0x8(%ebp)
4aabab:	e8 08 00 00 00       	call   0x4aabb8
4aabb0:	dd 45 20             	fldl   0x20(%ebp)
4aabb3:	83 c4 0c             	add    $0xc,%esp
4aabb6:	c9                   	leave
4aabb7:	c3                   	ret
4aabb8:	8b 44 24 04          	mov    0x4(%esp),%eax
4aabbc:	83 f8 01             	cmp    $0x1,%eax
4aabbf:	74 13                	je     0x4aabd4
4aabc1:	7e 1c                	jle    0x4aabdf
4aabc3:	83 f8 03             	cmp    $0x3,%eax
4aabc6:	7f 17                	jg     0x4aabdf
4aabc8:	e8 a1 45 00 00       	call   0x4af16e
4aabcd:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
4aabd3:	c3                   	ret
4aabd4:	e8 95 45 00 00       	call   0x4af16e
4aabd9:	c7 00 21 00 00 00    	movl   $0x21,(%eax)
4aabdf:	c3                   	ret
4aabe0:	33 c9                	xor    %ecx,%ecx
4aabe2:	b8 a8 a3 50 00       	mov    $0x50a3a8,%eax
4aabe7:	8b 10                	mov    (%eax),%edx
4aabe9:	3b 54 24 04          	cmp    0x4(%esp),%edx
4aabed:	74 0e                	je     0x4aabfd
4aabef:	83 c0 08             	add    $0x8,%eax
4aabf2:	41                   	inc    %ecx
4aabf3:	3d 80 a4 50 00       	cmp    $0x50a480,%eax
4aabf8:	7c ed                	jl     0x4aabe7
4aabfa:	33 c0                	xor    %eax,%eax
4aabfc:	c3                   	ret
4aabfd:	8b 04 cd ac a3 50 00 	mov    0x50a3ac(,%ecx,8),%eax
4aac04:	c3                   	ret
4aac05:	8a 44 24 04          	mov    0x4(%esp),%al
4aac09:	a8 20                	test   $0x20,%al
4aac0b:	74 04                	je     0x4aac11
4aac0d:	6a 05                	push   $0x5
4aac0f:	eb 16                	jmp    0x4aac27
4aac11:	a8 08                	test   $0x8,%al
4aac13:	74 04                	je     0x4aac19
4aac15:	6a 01                	push   $0x1
4aac17:	eb 0e                	jmp    0x4aac27
4aac19:	a8 04                	test   $0x4,%al
4aac1b:	74 04                	je     0x4aac21
4aac1d:	6a 02                	push   $0x2
4aac1f:	eb 06                	jmp    0x4aac27
4aac21:	a8 01                	test   $0x1,%al
4aac23:	74 04                	je     0x4aac29
4aac25:	6a 03                	push   $0x3
4aac27:	58                   	pop    %eax
4aac28:	c3                   	ret
4aac29:	0f b6 c0             	movzbl %al,%eax
4aac2c:	83 e0 02             	and    $0x2,%eax
4aac2f:	d1 e0                	shl    $1,%eax
4aac31:	c3                   	ret
4aac32:	55                   	push   %ebp
4aac33:	8b ec                	mov    %esp,%ebp
4aac35:	51                   	push   %ecx
4aac36:	51                   	push   %ecx
4aac37:	8b 45 08             	mov    0x8(%ebp),%eax
4aac3a:	89 45 f8             	mov    %eax,-0x8(%ebp)
4aac3d:	8b 45 14             	mov    0x14(%ebp),%eax
4aac40:	33 45 0c             	xor    0xc(%ebp),%eax
4aac43:	25 ff ff ff 7f       	and    $0x7fffffff,%eax
4aac48:	33 45 14             	xor    0x14(%ebp),%eax
4aac4b:	89 45 fc             	mov    %eax,-0x4(%ebp)
4aac4e:	dd 45 f8             	fldl   -0x8(%ebp)
4aac51:	c9                   	leave
4aac52:	c3                   	ret
4aac53:	55                   	push   %ebp
4aac54:	8b ec                	mov    %esp,%ebp
4aac56:	8b 45 0e             	mov    0xe(%ebp),%eax
4aac59:	b9 f0 7f 00 00       	mov    $0x7ff0,%ecx
4aac5e:	8b d0                	mov    %eax,%edx
4aac60:	23 d1                	and    %ecx,%edx
4aac62:	66 3b d1             	cmp    %cx,%dx
4aac65:	75 2c                	jne    0x4aac93
4aac67:	dd 45 08             	fldl   0x8(%ebp)
4aac6a:	51                   	push   %ecx
4aac6b:	51                   	push   %ecx
4aac6c:	dd 1c 24             	fstpl  (%esp)
4aac6f:	e8 9a 00 00 00       	call   0x4aad0e
4aac74:	59                   	pop    %ecx
4aac75:	48                   	dec    %eax