4aa6f4:	83 e2 ef             	and    $0xffffffef,%edx
4aa6f7:	c1 e1 04             	shl    $0x4,%ecx
4aa6fa:	0b ca                	or     %edx,%ecx
4aa6fc:	5f                   	pop    %edi
4aa6fd:	89 48 08             	mov    %ecx,0x8(%eax)
4aa700:	8b 0e                	mov    (%esi),%ecx
4aa702:	8b 45 08             	mov    0x8(%ebp),%eax
4aa705:	f7 d1                	not    %ecx
4aa707:	8b 50 08             	mov    0x8(%eax),%edx
4aa70a:	83 e1 04             	and    $0x4,%ecx
4aa70d:	d1 e1                	shl    $1,%ecx
4aa70f:	83 e2 f7             	and    $0xfffffff7,%edx
4aa712:	0b ca                	or     %edx,%ecx
4aa714:	89 48 08             	mov    %ecx,0x8(%eax)
4aa717:	8b 0e                	mov    (%esi),%ecx
4aa719:	8b 45 08             	mov    0x8(%ebp),%eax
4aa71c:	f7 d1                	not    %ecx
4aa71e:	8b 50 08             	mov    0x8(%eax),%edx
4aa721:	d1 e9                	shr    $1,%ecx
4aa723:	83 e1 04             	and    $0x4,%ecx
4aa726:	83 e2 fb             	and    $0xfffffffb,%edx
4aa729:	0b ca                	or     %edx,%ecx
4aa72b:	89 48 08             	mov    %ecx,0x8(%eax)
4aa72e:	8b 0e                	mov    (%esi),%ecx
4aa730:	8b 45 08             	mov    0x8(%ebp),%eax
4aa733:	f7 d1                	not    %ecx
4aa735:	8b 50 08             	mov    0x8(%eax),%edx
4aa738:	c1 e9 03             	shr    $0x3,%ecx
4aa73b:	23 cf                	and    %edi,%ecx
4aa73d:	83 e2 fd             	and    $0xfffffffd,%edx
4aa740:	0b ca                	or     %edx,%ecx
4aa742:	89 48 08             	mov    %ecx,0x8(%eax)
4aa745:	8b 0e                	mov    (%esi),%ecx
4aa747:	8b 45 08             	mov    0x8(%ebp),%eax
4aa74a:	f7 d1                	not    %ecx
4aa74c:	8b 50 08             	mov    0x8(%eax),%edx
4aa74f:	c1 e9 05             	shr    $0x5,%ecx
4aa752:	23 cb                	and    %ebx,%ecx
4aa754:	83 e2 fe             	and    $0xfffffffe,%edx
4aa757:	0b ca                	or     %edx,%ecx
4aa759:	89 48 08             	mov    %ecx,0x8(%eax)
4aa75c:	e8 c8 06 00 00       	call   0x4aae29
4aa761:	84 c3                	test   %al,%bl
4aa763:	74 07                	je     0x4aa76c
4aa765:	8b 4d 08             	mov    0x8(%ebp),%ecx
4aa768:	83 49 0c 10          	orl    $0x10,0xc(%ecx)
4aa76c:	a8 04                	test   $0x4,%al
4aa76e:	74 07                	je     0x4aa777
4aa770:	8b 4d 08             	mov    0x8(%ebp),%ecx
4aa773:	83 49 0c 08          	orl    $0x8,0xc(%ecx)
4aa777:	a8 08                	test   $0x8,%al
4aa779:	74 07                	je     0x4aa782
4aa77b:	8b 4d 08             	mov    0x8(%ebp),%ecx
4aa77e:	83 49 0c 04          	orl    $0x4,0xc(%ecx)
4aa782:	a8 10                	test   $0x10,%al
4aa784:	74 06                	je     0x4aa78c
4aa786:	8b 4d 08             	mov    0x8(%ebp),%ecx
4aa789:	09 79 0c             	or     %edi,0xc(%ecx)
4aa78c:	a8 20                	test   $0x20,%al
4aa78e:	74 06                	je     0x4aa796
4aa790:	8b 45 08             	mov    0x8(%ebp),%eax
4aa793:	09 58 0c             	or     %ebx,0xc(%eax)
4aa796:	8b 06                	mov    (%esi),%eax
4aa798:	b9 00 0c 00 00       	mov    $0xc00,%ecx
4aa79d:	23 c1                	and    %ecx,%eax
4aa79f:	74 34                	je     0x4aa7d5
4aa7a1:	3d 00 04 00 00       	cmp    $0x400,%eax
4aa7a6:	74 1f                	je     0x4aa7c7
4aa7a8:	3d 00 08 00 00       	cmp    $0x800,%eax
4aa7ad:	74 0c                	je     0x4aa7bb
4aa7af:	3b c1                	cmp    %ecx,%eax
4aa7b1:	75 28                	jne    0x4aa7db
4aa7b3:	8b 45 08             	mov    0x8(%ebp),%eax
4aa7b6:	83 08 03             	orl    $0x3,(%eax)
4aa7b9:	eb 20                	jmp    0x4aa7db
4aa7bb:	8b 45 08             	mov    0x8(%ebp),%eax
4aa7be:	8b 08                	mov    (%eax),%ecx
4aa7c0:	83 e1 fe             	and    $0xfffffffe,%ecx
4aa7c3:	0b cf                	or     %edi,%ecx
4aa7c5:	eb 0a                	jmp    0x4aa7d1
4aa7c7:	8b 45 08             	mov    0x8(%ebp),%eax
4aa7ca:	8b 08                	mov    (%eax),%ecx
4aa7cc:	83 e1 fd             	and    $0xfffffffd,%ecx
4aa7cf:	0b cb                	or     %ebx,%ecx
4aa7d1:	89 08                	mov    %ecx,(%eax)
4aa7d3:	eb 06                	jmp    0x4aa7db
4aa7d5:	8b 45 08             	mov    0x8(%ebp),%eax
4aa7d8:	83 20 fc             	andl   $0xfffffffc,(%eax)
4aa7db:	8b 06                	mov    (%esi),%eax
4aa7dd:	b9 00 03 00 00       	mov    $0x300,%ecx
4aa7e2:	23 c1                	and    %ecx,%eax
4aa7e4:	74 20                	je     0x4aa806
4aa7e6:	3d 00 02 00 00       	cmp    $0x200,%eax
4aa7eb:	74 0c                	je     0x4aa7f9
4aa7ed:	3b c1                	cmp    %ecx,%eax
4aa7ef:	75 22                	jne    0x4aa813
4aa7f1:	8b 45 08             	mov    0x8(%ebp),%eax
4aa7f4:	83 20 e3             	andl   $0xffffffe3,(%eax)
4aa7f7:	eb 1a                	jmp    0x4aa813
4aa7f9:	8b 45 08             	mov    0x8(%ebp),%eax
4aa7fc:	8b 08                	mov    (%eax),%ecx
4aa7fe:	83 e1 e7             	and    $0xffffffe7,%ecx
4aa801:	83 c9 04             	or     $0x4,%ecx
4aa804:	eb 0b                	jmp    0x4aa811
4aa806:	8b 45 08             	mov    0x8(%ebp),%eax
4aa809:	8b 08                	mov    (%eax),%ecx
4aa80b:	83 e1 eb             	and    $0xffffffeb,%ecx
4aa80e:	83 c9 08             	or     $0x8,%ecx
4aa811:	89 08                	mov    %ecx,(%eax)
4aa813:	8b 45 08             	mov    0x8(%ebp),%eax
4aa816:	8b 4d 14             	mov    0x14(%ebp),%ecx
4aa819:	81 e1 ff 0f 00 00    	and    $0xfff,%ecx
4aa81f:	8b 10                	mov    (%eax),%edx
4aa821:	c1 e1 05             	shl    $0x5,%ecx
4aa824:	81 e2 1f 00 fe ff    	and    $0xfffe001f,%edx
4aa82a:	0b ca                	or     %edx,%ecx
4aa82c:	89 08                	mov    %ecx,(%eax)
4aa82e:	8b 45 08             	mov    0x8(%ebp),%eax
4aa831:	09 58 20             	or     %ebx,0x20(%eax)
4aa834:	8b 45 08             	mov    0x8(%ebp),%eax
4aa837:	8b 48 20             	mov    0x20(%eax),%ecx
4aa83a:	83 e1 e3             	and    $0xffffffe3,%ecx
4aa83d:	0b cf                	or     %edi,%ecx
4aa83f:	89 48 20             	mov    %ecx,0x20(%eax)
4aa842:	8b 45 18             	mov    0x18(%ebp),%eax
4aa845:	dd 00                	fldl   (%eax)
4aa847:	8b 45 08             	mov    0x8(%ebp),%eax
4aa84a:	dd 58 10             	fstpl  0x10(%eax)
4aa84d:	8b 45 08             	mov    0x8(%ebp),%eax
4aa850:	09 58 50             	or     %ebx,0x50(%eax)
4aa853:	8b 45 08             	mov    0x8(%ebp),%eax
4aa856:	8b 48 50             	mov    0x50(%eax),%ecx
4aa859:	83 e1 e3             	and    $0xffffffe3,%ecx
4aa85c:	0b cf                	or     %edi,%ecx
4aa85e:	8b 7d 1c             	mov    0x1c(%ebp),%edi
4aa861:	89 48 50             	mov    %ecx,0x50(%eax)
4aa864:	8b 45 08             	mov    0x8(%ebp),%eax
4aa867:	dd 07                	fldl   (%edi)
4aa869:	dd 58 40             	fstpl  0x40(%eax)
4aa86c:	e8 c6 05 00 00       	call   0x4aae37
4aa871:	8d 45 08             	lea    0x8(%ebp),%eax
4aa874:	50                   	push   %eax
4aa875:	53                   	push   %ebx
4aa876:	6a 00                	push   $0x0
4aa878:	ff 75 10             	push   0x10(%ebp)
4aa87b:	ff 15 04 31 4b 00    	call   *0x4b3104
4aa881:	8b 45 08             	mov    0x8(%ebp),%eax
4aa884:	f6 40 08 10          	testb  $0x10,0x8(%eax)
4aa888:	74 03                	je     0x4aa88d
4aa88a:	83 26 fe             	andl   $0xfffffffe,(%esi)
4aa88d:	f6 40 08 08          	testb  $0x8,0x8(%eax)
4aa891:	74 03                	je     0x4aa896
4aa893:	83 26 fb             	andl   $0xfffffffb,(%esi)
4aa896:	f6 40 08 04          	testb  $0x4,0x8(%eax)
4aa89a:	74 03                	je     0x4aa89f
4aa89c:	83 26 f7             	andl   $0xfffffff7,(%esi)
4aa89f:	f6 40 08 02          	testb  $0x2,0x8(%eax)
4aa8a3:	74 03                	je     0x4aa8a8
4aa8a5:	83 26 ef             	andl   $0xffffffef,(%esi)
4aa8a8:	84 58 08             	test   %bl,0x8(%eax)
4aa8ab:	74 03                	je     0x4aa8b0
4aa8ad:	83 26 df             	andl   $0xffffffdf,(%esi)
4aa8b0:	8b 08                	mov    (%eax),%ecx
4aa8b2:	ba ff f3 ff ff       	mov    $0xfffff3ff,%edx
4aa8b7:	83 e1 03             	and    $0x3,%ecx
4aa8ba:	83 e9 00             	sub    $0x0,%ecx
4aa8bd:	74 25                	je     0x4aa8e4
4aa8bf:	49                   	dec    %ecx
4aa8c0:	74 16                	je     0x4aa8d8
4aa8c2:	49                   	dec    %ecx
4aa8c3:	74 09                	je     0x4aa8ce
4aa8c5:	49                   	dec    %ecx
4aa8c6:	75 1e                	jne    0x4aa8e6
4aa8c8:	80 4e 01 0c          	orb    $0xc,0x1(%esi)
4aa8cc:	eb 18                	jmp    0x4aa8e6
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