424489:	8b 45 08             	mov    0x8(%ebp),%eax
42448c:	09 58 0c             	or     %ebx,0xc(%eax)
42448f:	8b 06                	mov    (%esi),%eax
424491:	b9 00 0c 00 00       	mov    $0xc00,%ecx
424496:	23 c1                	and    %ecx,%eax
424498:	74 34                	je     0x4244ce
42449a:	3d 00 04 00 00       	cmp    $0x400,%eax
42449f:	74 1f                	je     0x4244c0
4244a1:	3d 00 08 00 00       	cmp    $0x800,%eax
4244a6:	74 0c                	je     0x4244b4
4244a8:	3b c1                	cmp    %ecx,%eax
4244aa:	75 28                	jne    0x4244d4
4244ac:	8b 45 08             	mov    0x8(%ebp),%eax
4244af:	83 08 03             	orl    $0x3,(%eax)
4244b2:	eb 20                	jmp    0x4244d4
4244b4:	8b 45 08             	mov    0x8(%ebp),%eax
4244b7:	8b 08                	mov    (%eax),%ecx
4244b9:	83 e1 fe             	and    $0xfffffffe,%ecx
4244bc:	0b cf                	or     %edi,%ecx
4244be:	eb 0a                	jmp    0x4244ca
4244c0:	8b 45 08             	mov    0x8(%ebp),%eax
4244c3:	8b 08                	mov    (%eax),%ecx
4244c5:	83 e1 fd             	and    $0xfffffffd,%ecx
4244c8:	0b cb                	or     %ebx,%ecx
4244ca:	89 08                	mov    %ecx,(%eax)
4244cc:	eb 06                	jmp    0x4244d4
4244ce:	8b 45 08             	mov    0x8(%ebp),%eax
4244d1:	83 20 fc             	andl   $0xfffffffc,(%eax)
4244d4:	8b 06                	mov    (%esi),%eax
4244d6:	b9 00 03 00 00       	mov    $0x300,%ecx
4244db:	23 c1                	and    %ecx,%eax
4244dd:	74 20                	je     0x4244ff
4244df:	3d 00 02 00 00       	cmp    $0x200,%eax
4244e4:	74 0c                	je     0x4244f2
4244e6:	3b c1                	cmp    %ecx,%eax
4244e8:	75 22                	jne    0x42450c
4244ea:	8b 45 08             	mov    0x8(%ebp),%eax
4244ed:	83 20 e3             	andl   $0xffffffe3,(%eax)
4244f0:	eb 1a                	jmp    0x42450c
4244f2:	8b 45 08             	mov    0x8(%ebp),%eax
4244f5:	8b 08                	mov    (%eax),%ecx
4244f7:	83 e1 e7             	and    $0xffffffe7,%ecx
4244fa:	83 c9 04             	or     $0x4,%ecx
4244fd:	eb 0b                	jmp    0x42450a
4244ff:	8b 45 08             	mov    0x8(%ebp),%eax
424502:	8b 08                	mov    (%eax),%ecx
424504:	83 e1 eb             	and    $0xffffffeb,%ecx
424507:	83 c9 08             	or     $0x8,%ecx
42450a:	89 08                	mov    %ecx,(%eax)
42450c:	8b 45 08             	mov    0x8(%ebp),%eax
42450f:	8b 4d 14             	mov    0x14(%ebp),%ecx
424512:	c1 e1 05             	shl    $0x5,%ecx
424515:	33 08                	xor    (%eax),%ecx
424517:	81 e1 e0 ff 01 00    	and    $0x1ffe0,%ecx
42451d:	31 08                	xor    %ecx,(%eax)
42451f:	8b 45 08             	mov    0x8(%ebp),%eax
424522:	09 58 20             	or     %ebx,0x20(%eax)
424525:	8b 45 08             	mov    0x8(%ebp),%eax
424528:	8b 48 20             	mov    0x20(%eax),%ecx
42452b:	83 e1 e3             	and    $0xffffffe3,%ecx
42452e:	0b cf                	or     %edi,%ecx
424530:	89 48 20             	mov    %ecx,0x20(%eax)
424533:	8b 45 18             	mov    0x18(%ebp),%eax
424536:	dd 00                	fldl   (%eax)
424538:	8b 45 08             	mov    0x8(%ebp),%eax
42453b:	dd 58 10             	fstpl  0x10(%eax)
42453e:	8b 45 08             	mov    0x8(%ebp),%eax
424541:	09 58 60             	or     %ebx,0x60(%eax)
424544:	8b 45 08             	mov    0x8(%ebp),%eax
424547:	8b 48 60             	mov    0x60(%eax),%ecx
42454a:	83 e1 e3             	and    $0xffffffe3,%ecx
42454d:	0b cf                	or     %edi,%ecx
42454f:	8b 7d 1c             	mov    0x1c(%ebp),%edi
424552:	89 48 60             	mov    %ecx,0x60(%eax)
424555:	dd 07                	fldl   (%edi)
424557:	8b 45 08             	mov    0x8(%ebp),%eax
42455a:	dd 58 50             	fstpl  0x50(%eax)
42455d:	e8 e5 07 00 00       	call   0x424d47
424562:	8d 45 08             	lea    0x8(%ebp),%eax
424565:	50                   	push   %eax
424566:	53                   	push   %ebx
424567:	6a 00                	push   $0x0
424569:	ff 75 10             	push   0x10(%ebp)
42456c:	ff 15 08 03 4b 00    	call   *0x4b0308
424572:	8b 45 08             	mov    0x8(%ebp),%eax
424575:	f6 40 08 10          	testb  $0x10,0x8(%eax)
424579:	74 03                	je     0x42457e
42457b:	83 26 fe             	andl   $0xfffffffe,(%esi)
42457e:	f6 40 08 08          	testb  $0x8,0x8(%eax)
424582:	74 03                	je     0x424587
424584:	83 26 fb             	andl   $0xfffffffb,(%esi)
424587:	f6 40 08 04          	testb  $0x4,0x8(%eax)
42458b:	74 03                	je     0x424590
42458d:	83 26 f7             	andl   $0xfffffff7,(%esi)
424590:	f6 40 08 02          	testb  $0x2,0x8(%eax)
424594:	74 03                	je     0x424599
424596:	83 26 ef             	andl   $0xffffffef,(%esi)
424599:	84 58 08             	test   %bl,0x8(%eax)
42459c:	74 03                	je     0x4245a1
42459e:	83 26 df             	andl   $0xffffffdf,(%esi)
4245a1:	8b 08                	mov    (%eax),%ecx
4245a3:	83 e1 03             	and    $0x3,%ecx
4245a6:	83 e9 00             	sub    $0x0,%ecx
4245a9:	ba ff f3 ff ff       	mov    $0xfffff3ff,%edx
4245ae:	74 31                	je     0x4245e1
4245b0:	49                   	dec    %ecx
4245b1:	74 1c                	je     0x4245cf
4245b3:	49                   	dec    %ecx
4245b4:	74 09                	je     0x4245bf
4245b6:	49                   	dec    %ecx
4245b7:	75 2a                	jne    0x4245e3
4245b9:	80 4e 01 0c          	orb    $0xc,0x1(%esi)
4245bd:	eb 24                	jmp    0x4245e3
4245bf:	8b 0e                	mov    (%esi),%ecx
4245c1:	81 e1 ff fb ff ff    	and    $0xfffffbff,%ecx
4245c7:	81 c9 00 08 00 00    	or     $0x800,%ecx
4245cd:	eb 0e                	jmp    0x4245dd
4245cf:	8b 0e                	mov    (%esi),%ecx
4245d1:	81 e1 ff f7 ff ff    	and    $0xfffff7ff,%ecx
4245d7:	81 c9 00 04 00 00    	or     $0x400,%ecx
4245dd:	89 0e                	mov    %ecx,(%esi)
4245df:	eb 02                	jmp    0x4245e3
4245e1:	21 16                	and    %edx,(%esi)
4245e3:	8b 08                	mov    (%eax),%ecx
4245e5:	c1 e9 02             	shr    $0x2,%ecx
4245e8:	83 e1 07             	and    $0x7,%ecx
4245eb:	83 e9 00             	sub    $0x0,%ecx
4245ee:	74 16                	je     0x424606
4245f0:	49                   	dec    %ecx
4245f1:	74 07                	je     0x4245fa
4245f3:	49                   	dec    %ecx
4245f4:	75 1c                	jne    0x424612
4245f6:	21 16                	and    %edx,(%esi)
4245f8:	eb 18                	jmp    0x424612
4245fa:	8b 0e                	mov    (%esi),%ecx
4245fc:	23 ca                	and    %edx,%ecx
4245fe:	81 c9 00 02 00 00    	or     $0x200,%ecx
424604:	eb 0a                	jmp    0x424610
424606:	8b 0e                	mov    (%esi),%ecx
424608:	23 ca                	and    %edx,%ecx
42460a:	81 c9 00 03 00 00    	or     $0x300,%ecx
424610:	89 0e                	mov    %ecx,(%esi)
424612:	dd 40 50             	fldl   0x50(%eax)
424615:	dd 1f                	fstpl  (%edi)
424617:	5f                   	pop    %edi
424618:	5e                   	pop    %esi
424619:	5b                   	pop    %ebx
42461a:	5d                   	pop    %ebp
42461b:	c3                   	ret
42461c:	55                   	push   %ebp
42461d:	8b ec                	mov    %esp,%ebp
42461f:	83 ec 10             	sub    $0x10,%esp
424622:	8b 45 08             	mov    0x8(%ebp),%eax
424625:	53                   	push   %ebx
424626:	56                   	push   %esi
424627:	33 db                	xor    %ebx,%ebx
424629:	8b f0                	mov    %eax,%esi
42462b:	83 e6 1f             	and    $0x1f,%esi
42462e:	43                   	inc    %ebx
42462f:	a8 08                	test   $0x8,%al
424631:	89 75 fc             	mov    %esi,-0x4(%ebp)
424634:	74 14                	je     0x42464a
424636:	84 5d 10             	test   %bl,0x10(%ebp)
424639:	74 0f                	je     0x42464a
42463b:	53                   	push   %ebx
42463c:	e8 36 07 00 00       	call   0x424d77
424641:	59                   	pop    %ecx
424642:	83 e6 f7             	and    $0xfffffff7,%esi
424645:	e9 d4 01 00 00       	jmp    0x42481e
42464a:	a8 04                	test   $0x4,%al
42464c:	74 16                	je     0x424664
42464e:	f6 45 10 04          	testb  $0x4,0x10(%ebp)
424652:	74 10                	je     0x424664
424654:	6a 04                	push   $0x4
424656:	e8 1c 07 00 00       	call   0x424d77
42465b:	59                   	pop    %ecx
42465c:	83 e6 fb             	and    $0xfffffffb,%esi
42465f:	e9 ba 01 00 00       	jmp    0x42481e
424664:	84 c3                	test   %al,%bl
424666:	0f 84 d8 00 00 00    	je     0x424744
42466c:	f6 45 10 08          	testb  $0x8,0x10(%ebp)
424670:	0f 84 ce 00 00 00    	je     0x424744
424676:	6a 08                	push   $0x8
424678:	e8 fa 06 00 00       	call   0x424d77
42467d:	8b 45 10             	mov    0x10(%ebp),%eax
424680:	59                   	pop    %ecx
424681:	b9 00 0c 00 00       	mov    $0xc00,%ecx
424686:	23 c1                	and    %ecx,%eax
424688:	0f 84 8c 00 00 00    	je     0x42471a
42468e:	3d 00 04 00 00       	cmp    $0x400,%eax
424693:	74 5b                	je     0x4246f0
424695:	3d 00 08 00 00       	cmp    $0x800,%eax
42469a:	74 2a                	je     0x4246c6
42469c:	3b c1                	cmp    %ecx,%eax
42469e:	0f 85 98 00 00 00    	jne    0x42473c
4246a4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4246a7:	dd 01                	fldl   (%ecx)
4246a9:	dc 1d d0 91 48 00    	fcompl 0x4891d0
4246af:	dd 05 50 97 4a 00    	fldl   0x4a9750
4246b5:	df e0                	fnstsw %ax
4246b7:	f6 c4 41             	test   $0x41,%ah
4246ba:	74 02                	je     0x4246be
4246bc:	d9 e0                	fchs
4246be:	dd 5d f0             	fstpl  -0x10(%ebp)
4246c1:	dd 45 f0             	fldl   -0x10(%ebp)
4246c4:	eb 74                	jmp    0x42473a
4246c6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4246c9:	dd 01                	fldl   (%ecx)
4246cb:	dc 1d d0 91 48 00    	fcompl 0x4891d0
4246d1:	df e0                	fnstsw %ax
4246d3:	f6 c4 41             	test   $0x41,%ah
4246d6:	75 08                	jne    0x4246e0
4246d8:	dd 05 40 97 4a 00    	fldl   0x4a9740
4246de:	eb 08                	jmp    0x4246e8
4246e0:	dd 05 50 97 4a 00    	fldl   0x4a9750
4246e6:	d9 e0                	fchs
4246e8:	dd 5d f0             	fstpl  -0x10(%ebp)
4246eb:	dd 45 f0             	fldl   -0x10(%ebp)
4246ee:	eb 4a                	jmp    0x42473a
4246f0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4246f3:	dd 01                	fldl   (%ecx)
4246f5:	dc 1d d0 91 48 00    	fcompl 0x4891d0
4246fb:	df e0                	fnstsw %ax
4246fd:	f6 c4 41             	test   $0x41,%ah
424700:	75 08                	jne    0x42470a
424702:	dd 05 50 97 4a 00    	fldl   0x4a9750
424708:	eb 08                	jmp    0x424712
42470a:	dd 05 40 97 4a 00    	fldl   0x4a9740
424710:	d9 e0                	fchs
424712:	dd 5d f0             	fstpl  -0x10(%ebp)
424715:	dd 45 f0             	fldl   -0x10(%ebp)
424718:	eb 20                	jmp    0x42473a
42471a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42471d:	dd 01                	fldl   (%ecx)
42471f:	dc 1d d0 91 48 00    	fcompl 0x4891d0
424725:	dd 05 40 97 4a 00    	fldl   0x4a9740
42472b:	df e0                	fnstsw %ax
42472d:	f6 c4 41             	test   $0x41,%ah
424730:	74 02                	je     0x424734
424732:	d9 e0                	fchs
424734:	dd 5d f0             	fstpl  -0x10(%ebp)
424737:	dd 45 f0             	fldl   -0x10(%ebp)
42473a:	dd 19                	fstpl  (%ecx)
42473c:	83 e6 fe             	and    $0xfffffffe,%esi
42473f:	e9 da 00 00 00       	jmp    0x42481e
424744:	a8 02                	test   $0x2,%al
424746:	0f 84 d2 00 00 00    	je     0x42481e
42474c:	f6 45 10 10          	testb  $0x10,0x10(%ebp)
424750:	0f 84 c8 00 00 00    	je     0x42481e
424756:	33 f6                	xor    %esi,%esi
424758:	a8 10                	test   $0x10,%al
42475a:	74 02                	je     0x42475e
42475c:	8b f3                	mov    %ebx,%esi
42475e:	dd 05 d0 91 48 00    	fldl   0x4891d0
424764:	57                   	push   %edi
424765:	8b 7d 0c             	mov    0xc(%ebp),%edi
424768:	dd 07                	fldl   (%edi)
42476a:	da e9                	fucompp
42476c:	df e0                	fnstsw %ax
42476e:	f6 c4 44             	test   $0x44,%ah
424771:	0f 8b 91 00 00 00    	jnp    0x424808
424777:	dd 07                	fldl   (%edi)
424779:	8d 45 f8             	lea    -0x8(%ebp),%eax
42477c:	50                   	push   %eax
42477d:	51                   	push   %ecx
42477e:	51                   	push   %ecx
42477f:	dd 1c 24             	fstpl  (%esp)
424782:	e8 f9 04 00 00       	call   0x424c80
424787:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42478a:	dd 5d f0             	fstpl  -0x10(%ebp)
42478d:	dd 45 f0             	fldl   -0x10(%ebp)
424790:	81 c1 00 fa ff ff    	add    $0xfffffa00,%ecx
424796:	83 c4 0c             	add    $0xc,%esp
424799:	81 f9 ce fb ff ff    	cmp    $0xfffffbce,%ecx
42479f:	7d 0a                	jge    0x4247ab
4247a1:	dc 0d d0 91 48 00    	fmull  0x4891d0
4247a7:	8b f3                	mov    %ebx,%esi
4247a9:	eb 53                	jmp    0x4247fe
4247ab:	dc 1d d0 91 48 00    	fcompl 0x4891d0
4247b1:	df e0                	fnstsw %ax
4247b3:	f6 c4 05             	test   $0x5,%ah
4247b6:	7a 04                	jp     0x4247bc
4247b8:	8b d3                	mov    %ebx,%edx
4247ba:	eb 02                	jmp    0x4247be
4247bc:	33 d2                	xor    %edx,%edx
4247be:	33 c0                	xor    %eax,%eax
4247c0:	8a 45 f6             	mov    -0xa(%ebp),%al
4247c3:	83 e0 0f             	and    $0xf,%eax
4247c6:	83 c8 10             	or     $0x10,%eax
4247c9:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
4247cd:	b8 03 fc ff ff       	mov    $0xfffffc03,%eax
4247d2:	3b c8                	cmp    %eax,%ecx
4247d4:	7d 1f                	jge    0x4247f5
4247d6:	2b c1                	sub    %ecx,%eax
4247d8:	84 5d f0             	test   %bl,-0x10(%ebp)
4247db:	74 06                	je     0x4247e3
4247dd:	85 f6                	test   %esi,%esi
4247df:	75 02                	jne    0x4247e3
4247e1:	8b f3                	mov    %ebx,%esi
4247e3:	d1 6d f0             	shrl   $1,-0x10(%ebp)
4247e6:	84 5d f4             	test   %bl,-0xc(%ebp)
4247e9:	74 04                	je     0x4247ef
4247eb:	80 4d f3 80          	orb    $0x80,-0xd(%ebp)
4247ef:	d1 6d f4             	shrl   $1,-0xc(%ebp)
4247f2:	48                   	dec    %eax
4247f3:	75 e3                	jne    0x4247d8
4247f5:	85 d2                	test   %edx,%edx
4247f7:	74 08                	je     0x424801
4247f9:	dd 45 f0             	fldl   -0x10(%ebp)
4247fc:	d9 e0                	fchs
4247fe:	dd 5d f0             	fstpl  -0x10(%ebp)
424801:	dd 45 f0             	fldl   -0x10(%ebp)
424804:	dd 1f                	fstpl  (%edi)
424806:	eb 02                	jmp    0x42480a
424808:	8b f3                	mov    %ebx,%esi
42480a:	85 f6                	test   %esi,%esi
42480c:	5f                   	pop    %edi
42480d:	74 08                	je     0x424817
42480f:	6a 10                	push   $0x10
424811:	e8 61 05 00 00       	call   0x424d77
424816:	59                   	pop    %ecx
424817:	83 65 fc fd          	andl   $0xfffffffd,-0x4(%ebp)
42481b:	8b 75 fc             	mov    -0x4(%ebp),%esi
42481e:	f6 45 08 10          	testb  $0x10,0x8(%ebp)
424822:	74 11                	je     0x424835
424824:	f6 45 10 20          	testb  $0x20,0x10(%ebp)
424828:	74 0b                	je     0x424835
42482a:	6a 20                	push   $0x20
42482c:	e8 46 05 00 00       	call   0x424d77
424831:	59                   	pop    %ecx
424832:	83 e6 ef             	and    $0xffffffef,%esi
424835:	33 c0                	xor    %eax,%eax
424837:	85 f6                	test   %esi,%esi
424839:	5e                   	pop    %esi
42483a:	0f 94 c0             	sete   %al
42483d:	5b                   	pop    %ebx
42483e:	c9                   	leave
42483f:	c3                   	ret
424840:	8b 44 24 04          	mov    0x4(%esp),%eax
424844:	83 f8 01             	cmp    $0x1,%eax
424847:	74 13                	je     0x42485c
424849:	7e 1c                	jle    0x424867
42484b:	83 f8 03             	cmp    $0x3,%eax
42484e:	7f 17                	jg     0x424867
424850:	e8 d1 49 ff ff       	call   0x419226
424855:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
42485b:	c3                   	ret
42485c:	e8 c5 49 ff ff       	call   0x419226
424861:	c7 00 21 00 00 00    	movl   $0x21,(%eax)
424867:	c3                   	ret