431472:	d0 c1                	rol    $1,%cl
431474:	8a c1                	mov    %cl,%al
431476:	24 0f                	and    $0xf,%al
431478:	d7                   	xlat   %ds:(%ebx)
431479:	d0 e4                	shl    $1,%ah
43147b:	d0 e4                	shl    $1,%ah
43147d:	0a c4                	or     %ah,%al
43147f:	0f be c0             	movsbl %al,%eax
431482:	81 e1 04 04 00 00    	and    $0x404,%ecx
431488:	8b da                	mov    %edx,%ebx
43148a:	03 d8                	add    %eax,%ebx
43148c:	83 c3 10             	add    $0x10,%ebx
43148f:	50                   	push   %eax
431490:	52                   	push   %edx
431491:	51                   	push   %ecx
431492:	8b 0b                	mov    (%ebx),%ecx
431494:	ff 15 5c e2 43 00    	call   *0x43e25c
43149a:	59                   	pop    %ecx
43149b:	5a                   	pop    %edx
43149c:	58                   	pop    %eax
43149d:	ff 23                	jmp    *(%ebx)
43149f:	e8 0f 01 00 00       	call   0x4315b3
4314a4:	d9 c9                	fxch   %st(1)
4314a6:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
4314ad:	8d 49 00             	lea    0x0(%ecx),%ecx
4314b0:	dd d8                	fstp   %st(0)
4314b2:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
4314b9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
4314c0:	c3                   	ret
4314c1:	e8 ed 00 00 00       	call   0x4315b3
4314c6:	eb e8                	jmp    0x4314b0
4314c8:	dd d8                	fstp   %st(0)
4314ca:	dd d8                	fstp   %st(0)
4314cc:	d9 ee                	fldz
4314ce:	c3                   	ret
4314cf:	90                   	nop
4314d0:	dd d8                	fstp   %st(0)
4314d2:	dd d8                	fstp   %st(0)
4314d4:	d9 ee                	fldz
4314d6:	84 ed                	test   %ch,%ch
4314d8:	74 02                	je     0x4314dc
4314da:	d9 e0                	fchs
4314dc:	c3                   	ret
4314dd:	dd d8                	fstp   %st(0)
4314df:	90                   	nop
4314e0:	dd d8                	fstp   %st(0)
4314e2:	d9 e8                	fld1
4314e4:	c3                   	ret
4314e5:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
4314ec:	8d 64 24 00          	lea    0x0(%esp),%esp
4314f0:	db bd 62 ff ff ff    	fstpt  -0x9e(%ebp)
4314f6:	db ad 62 ff ff ff    	fldt   -0x9e(%ebp)
4314fc:	f6 85 69 ff ff ff 40 	testb  $0x40,-0x97(%ebp)
431503:	74 08                	je     0x43150d
431505:	c6 85 70 ff ff ff 00 	movb   $0x0,-0x90(%ebp)
43150c:	c3                   	ret
43150d:	c6 85 70 ff ff ff 00 	movb   $0x0,-0x90(%ebp)
431514:	dc 05 2e 2a 44 00    	faddl  0x442a2e
43151a:	c3                   	ret
43151b:	eb 03                	jmp    0x431520
43151d:	cc                   	int3
43151e:	cc                   	int3
43151f:	cc                   	int3
431520:	d9 c9                	fxch   %st(1)
431522:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
431529:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
431530:	db bd 62 ff ff ff    	fstpt  -0x9e(%ebp)
431536:	db ad 62 ff ff ff    	fldt   -0x9e(%ebp)
43153c:	f6 85 69 ff ff ff 40 	testb  $0x40,-0x97(%ebp)
431543:	74 09                	je     0x43154e
431545:	c6 85 70 ff ff ff 00 	movb   $0x0,-0x90(%ebp)
43154c:	eb 07                	jmp    0x431555
43154e:	c6 85 70 ff ff ff 00 	movb   $0x0,-0x90(%ebp)
431555:	de c1                	faddp  %st,%st(1)
431557:	c3                   	ret
431558:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
43155f:	90                   	nop
431560:	db bd 62 ff ff ff    	fstpt  -0x9e(%ebp)
431566:	db ad 62 ff ff ff    	fldt   -0x9e(%ebp)
43156c:	f6 85 69 ff ff ff 40 	testb  $0x40,-0x97(%ebp)
431573:	74 20                	je     0x431595
431575:	d9 c9                	fxch   %st(1)
431577:	db bd 62 ff ff ff    	fstpt  -0x9e(%ebp)
43157d:	db ad 62 ff ff ff    	fldt   -0x9e(%ebp)
431583:	f6 85 69 ff ff ff 40 	testb  $0x40,-0x97(%ebp)
43158a:	74 09                	je     0x431595
43158c:	c6 85 70 ff ff ff 00 	movb   $0x0,-0x90(%ebp)
431593:	eb 07                	jmp    0x43159c
431595:	c6 85 70 ff ff ff 01 	movb   $0x1,-0x90(%ebp)
43159c:	de c1                	faddp  %st,%st(1)
43159e:	c3                   	ret
43159f:	90                   	nop
4315a0:	dd d8                	fstp   %st(0)
4315a2:	dd d8                	fstp   %st(0)
4315a4:	db 2d 10 2a 44 00    	fldt   0x442a10
4315aa:	80 bd 70 ff ff ff 00 	cmpb   $0x0,-0x90(%ebp)
4315b1:	7f 07                	jg     0x4315ba
4315b3:	c6 85 70 ff ff ff 01 	movb   $0x1,-0x90(%ebp)
4315ba:	0a c9                	or     %cl,%cl
4315bc:	c3                   	ret
4315bd:	8d 49 00             	lea    0x0(%ecx),%ecx
4315c0:	dd d8                	fstp   %st(0)
4315c2:	dd d8                	fstp   %st(0)
4315c4:	db 2d 24 2a 44 00    	fldt   0x442a24
4315ca:	0a ed                	or     %ch,%ch
4315cc:	74 02                	je     0x4315d0
4315ce:	d9 e0                	fchs
4315d0:	0a c9                	or     %cl,%cl
4315d2:	74 08                	je     0x4315dc
4315d4:	dd 05 36 2a 44 00    	fldl   0x442a36
4315da:	de c9                	fmulp  %st,%st(1)
4315dc:	c3                   	ret
4315dd:	0a c9                	or     %cl,%cl
4315df:	74 02                	je     0x4315e3
4315e1:	d9 e0                	fchs
4315e3:	c3                   	ret
4315e4:	cc                   	int3
4315e5:	cc                   	int3
4315e6:	cc                   	int3
4315e7:	cc                   	int3
4315e8:	cc                   	int3
4315e9:	cc                   	int3
4315ea:	cc                   	int3
4315eb:	cc                   	int3
4315ec:	cc                   	int3
4315ed:	cc                   	int3
4315ee:	cc                   	int3
4315ef:	cc                   	int3
4315f0:	55                   	push   %ebp
4315f1:	8b ec                	mov    %esp,%ebp
4315f3:	83 c4 e0             	add    $0xffffffe0,%esp
4315f6:	89 45 e0             	mov    %eax,-0x20(%ebp)
4315f9:	8b 45 18             	mov    0x18(%ebp),%eax
4315fc:	89 45 f0             	mov    %eax,-0x10(%ebp)
4315ff:	8b 45 1c             	mov    0x1c(%ebp),%eax
431602:	89 45 f4             	mov    %eax,-0xc(%ebp)
431605:	eb 09                	jmp    0x431610
431607:	55                   	push   %ebp
431608:	8b ec                	mov    %esp,%ebp
43160a:	83 c4 e0             	add    $0xffffffe0,%esp
43160d:	89 45 e0             	mov    %eax,-0x20(%ebp)
431610:	dd 5d f8             	fstpl  -0x8(%ebp)
431613:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
431616:	8b 45 10             	mov    0x10(%ebp),%eax
431619:	8b 4d 14             	mov    0x14(%ebp),%ecx
43161c:	89 45 e8             	mov    %eax,-0x18(%ebp)
43161f:	89 4d ec             	mov    %ecx,-0x14(%ebp)
431622:	8d 45 08             	lea    0x8(%ebp),%eax
431625:	8d 4d e0             	lea    -0x20(%ebp),%ecx
431628:	50                   	push   %eax
431629:	51                   	push   %ecx
43162a:	52                   	push   %edx
43162b:	e8 35 76 00 00       	call   0x438c65
431630:	83 c4 0c             	add    $0xc,%esp
431633:	dd 45 f8             	fldl   -0x8(%ebp)
431636:	66 81 7d 08 7f 02    	cmpw   $0x27f,0x8(%ebp)
43163c:	74 03                	je     0x431641
43163e:	d9 6d 08             	fldcw  0x8(%ebp)
431641:	c9                   	leave
431642:	c3                   	ret
431643:	cc                   	int3
431644:	cc                   	int3
431645:	cc                   	int3
431646:	cc                   	int3
431647:	cc                   	int3
431648:	cc                   	int3
431649:	cc                   	int3
43164a:	cc                   	int3
43164b:	cc                   	int3
43164c:	cc                   	int3
43164d:	cc                   	int3
43164e:	cc                   	int3
43164f:	cc                   	int3
431650:	d9 c0                	fld    %st(0)
431652:	d9 fc                	frndint
431654:	dc e1                	fsub   %st,%st(1)
431656:	d9 c9                	fxch   %st(1)
431658:	d9 e0                	fchs
43165a:	d9 f0                	f2xm1
43165c:	d9 e8                	fld1
43165e:	de c1                	faddp  %st,%st(1)
431660:	d9 fd                	fscale
431662:	dd d9                	fstp   %st(1)
431664:	c3                   	ret
431665:	8b 54 24 04          	mov    0x4(%esp),%edx
431669:	81 e2 00 03 00 00    	and    $0x300,%edx
43166f:	83 ca 7f             	or     $0x7f,%edx
431672:	66 89 54 24 06       	mov    %dx,0x6(%esp)
431677:	d9 6c 24 06          	fldcw  0x6(%esp)
43167b:	c3                   	ret
43167c:	a9 00 00 08 00       	test   $0x80000,%eax
431681:	74 06                	je     0x431689
431683:	b8 00 00 00 00       	mov    $0x0,%eax
431688:	c3                   	ret
431689:	dc 05 50 2a 44 00    	faddl  0x442a50
43168f:	b8 00 00 00 00       	mov    $0x0,%eax
431694:	c3                   	ret
431695:	8b 42 04             	mov    0x4(%edx),%eax
431698:	25 00 00 f0 7f       	and    $0x7ff00000,%eax
43169d:	3d 00 00 f0 7f       	cmp    $0x7ff00000,%eax
4316a2:	74 03                	je     0x4316a7
4316a4:	dd 02                	fldl   (%edx)
4316a6:	c3                   	ret
4316a7:	8b 42 04             	mov    0x4(%edx),%eax
4316aa:	83 ec 0a             	sub    $0xa,%esp
4316ad:	0d 00 00 ff 7f       	or     $0x7fff0000,%eax
4316b2:	89 44 24 06          	mov    %eax,0x6(%esp)
4316b6:	8b 42 04             	mov    0x4(%edx),%eax
4316b9:	8b 0a                	mov    (%edx),%ecx
4316bb:	0f a4 c8 0b          	shld   $0xb,%ecx,%eax
4316bf:	c1 e1 0b             	shl    $0xb,%ecx
4316c2:	89 44 24 04          	mov    %eax,0x4(%esp)
4316c6:	89 0c 24             	mov    %ecx,(%esp)
4316c9:	db 2c 24             	fldt   (%esp)
4316cc:	83 c4 0a             	add    $0xa,%esp
4316cf:	a9 00 00 00 00       	test   $0x0,%eax
4316d4:	8b 42 04             	mov    0x4(%edx),%eax
4316d7:	c3                   	ret
4316d8:	8b 44 24 08          	mov    0x8(%esp),%eax
4316dc:	25 00 00 f0 7f       	and    $0x7ff00000,%eax
4316e1:	3d 00 00 f0 7f       	cmp    $0x7ff00000,%eax
4316e6:	74 01                	je     0x4316e9
4316e8:	c3                   	ret
4316e9:	8b 44 24 08          	mov    0x8(%esp),%eax
4316ed:	c3                   	ret
4316ee:	66 81 3c 24 7f 02    	cmpw   $0x27f,(%esp)
4316f4:	74 03                	je     0x4316f9
4316f6:	d9 2c 24             	fldcw  (%esp)
4316f9:	5a                   	pop    %edx
4316fa:	c3                   	ret
4316fb:	66 8b 04 24          	mov    (%esp),%ax
4316ff:	66 3d 7f 02          	cmp    $0x27f,%ax
431703:	74 1e                	je     0x431723
431705:	66 83 e0 20          	and    $0x20,%ax
431709:	74 15                	je     0x431720
43170b:	9b df e0             	fstsw  %ax
43170e:	66 83 e0 20          	and    $0x20,%ax
431712:	74 0c                	je     0x431720
431714:	b8 08 00 00 00       	mov    $0x8,%eax
431719:	e8 e9 fe ff ff       	call   0x431607
43171e:	5a                   	pop    %edx
43171f:	c3                   	ret
431720:	d9 2c 24             	fldcw  (%esp)
431723:	5a                   	pop    %edx
431724:	c3                   	ret
431725:	83 ec 08             	sub    $0x8,%esp
431728:	dd 14 24             	fstl   (%esp)
43172b:	8b 44 24 04          	mov    0x4(%esp),%eax
43172f:	83 c4 08             	add    $0x8,%esp
431732:	25 00 00 f0 7f       	and    $0x7ff00000,%eax
431737:	eb 14                	jmp    0x43174d
431739:	83 ec 08             	sub    $0x8,%esp
43173c:	dd 14 24             	fstl   (%esp)
43173f:	8b 44 24 04          	mov    0x4(%esp),%eax
431743:	83 c4 08             	add    $0x8,%esp
431746:	25 00 00 f0 7f       	and    $0x7ff00000,%eax
43174b:	74 3d                	je     0x43178a
43174d:	3d 00 00 f0 7f       	cmp    $0x7ff00000,%eax
431752:	74 5f                	je     0x4317b3
431754:	66 8b 04 24          	mov    (%esp),%ax
431758:	66 3d 7f 02          	cmp    $0x27f,%ax
43175c:	74 2a                	je     0x431788
43175e:	66 83 e0 20          	and    $0x20,%ax
431762:	75 21                	jne    0x431785
431764:	9b df e0             	fstsw  %ax
431767:	66 83 e0 20          	and    $0x20,%ax
43176b:	74 18                	je     0x431785
43176d:	b8 08 00 00 00       	mov    $0x8,%eax
431772:	83 fa 1d             	cmp    $0x1d,%edx
431775:	74 07                	je     0x43177e
431777:	e8 8b fe ff ff       	call   0x431607
43177c:	5a                   	pop    %edx
43177d:	c3                   	ret
43177e:	e8 6d fe ff ff       	call   0x4315f0
431783:	5a                   	pop    %edx
431784:	c3                   	ret
431785:	d9 2c 24             	fldcw  (%esp)
431788:	5a                   	pop    %edx
431789:	c3                   	ret
43178a:	dd 05 7c 2a 44 00    	fldl   0x442a7c
431790:	d9 c9                	fxch   %st(1)
431792:	d9 fd                	fscale
431794:	dd d9                	fstp   %st(1)
431796:	d9 c0                	fld    %st(0)
431798:	d9 e1                	fabs
43179a:	dc 1d 6c 2a 44 00    	fcompl 0x442a6c
4317a0:	9b df e0             	fstsw  %ax
4317a3:	9e                   	sahf
4317a4:	b8 04 00 00 00       	mov    $0x4,%eax
4317a9:	73 c7                	jae    0x431772
4317ab:	dc 0d 8c 2a 44 00    	fmull  0x442a8c
4317b1:	eb bf                	jmp    0x431772
4317b3:	dd 05 74 2a 44 00    	fldl   0x442a74
4317b9:	d9 c9                	fxch   %st(1)
4317bb:	d9 fd                	fscale
4317bd:	dd d9                	fstp   %st(1)
4317bf:	d9 c0                	fld    %st(0)
4317c1:	d9 e1                	fabs
4317c3:	dc 1d 64 2a 44 00    	fcompl 0x442a64
4317c9:	9b df e0             	fstsw  %ax
4317cc:	9e                   	sahf
4317cd:	b8 03 00 00 00       	mov    $0x3,%eax
4317d2:	76 9e                	jbe    0x431772
4317d4:	dc 0d 84 2a 44 00    	fmull  0x442a84
4317da:	eb 96                	jmp    0x431772
4317dc:	8b ff                	mov    %edi,%edi
4317de:	55                   	push   %ebp
4317df:	8b ec                	mov    %esp,%ebp
4317e1:	51                   	push   %ecx
4317e2:	51                   	push   %ecx
4317e3:	dd 45 08             	fldl   0x8(%ebp)
4317e6:	51                   	push   %ecx
4317e7:	51                   	push   %ecx
4317e8:	dd 1c 24             	fstpl  (%esp)
4317eb:	e8 8b cd ff ff       	call   0x42e57b
4317f0:	59                   	pop    %ecx
4317f1:	59                   	pop    %ecx
4317f2:	a8 90                	test   $0x90,%al
4317f4:	75 4a                	jne    0x431840
4317f6:	dd 45 08             	fldl   0x8(%ebp)
4317f9:	51                   	push   %ecx
4317fa:	51                   	push   %ecx
4317fb:	dd 1c 24             	fstpl  (%esp)
4317fe:	e8 72 75 00 00       	call   0x438d75
431803:	dd 45 08             	fldl   0x8(%ebp)
431806:	dd e1                	fucom  %st(1)
431808:	df e0                	fnstsw %ax
43180a:	59                   	pop    %ecx
43180b:	59                   	pop    %ecx
43180c:	dd d9                	fstp   %st(1)
43180e:	f6 c4 44             	test   $0x44,%ah
431811:	7a 2b                	jp     0x43183e
431813:	dc 0d 98 2a 44 00    	fmull  0x442a98
431819:	51                   	push   %ecx
43181a:	51                   	push   %ecx
43181b:	dd 55 f8             	fstl   -0x8(%ebp)
43181e:	dd 1c 24             	fstpl  (%esp)
431821:	e8 4f 75 00 00       	call   0x438d75
431826:	dd 45 f8             	fldl   -0x8(%ebp)
431829:	da e9                	fucompp
43182b:	df e0                	fnstsw %ax
43182d:	59                   	pop    %ecx
43182e:	59                   	pop    %ecx
43182f:	f6 c4 44             	test   $0x44,%ah
431832:	7a 05                	jp     0x431839
431834:	6a 02                	push   $0x2
431836:	58                   	pop    %eax
431837:	c9                   	leave
431838:	c3                   	ret
431839:	33 c0                	xor    %eax,%eax