4113bb:	d0 e4                	shl    $1,%ah
4113bd:	d0 e4                	shl    $1,%ah
4113bf:	0a c4                	or     %ah,%al
4113c1:	0f be c0             	movsbl %al,%eax
4113c4:	81 e1 04 04 00 00    	and    $0x404,%ecx
4113ca:	8b da                	mov    %edx,%ebx
4113cc:	03 d8                	add    %eax,%ebx
4113ce:	83 c3 10             	add    $0x10,%ebx
4113d1:	ff 23                	jmp    *(%ebx)
4113d3:	e8 c1 00 00 00       	call   0x411499
4113d8:	d9 c9                	fxch   %st(1)
4113da:	dd d8                	fstp   %st(0)
4113dc:	c3                   	ret
4113dd:	e8 b7 00 00 00       	call   0x411499
4113e2:	eb f6                	jmp    0x4113da
4113e4:	dd d8                	fstp   %st(0)
4113e6:	dd d8                	fstp   %st(0)
4113e8:	d9 ee                	fldz
4113ea:	c3                   	ret
4113eb:	dd d8                	fstp   %st(0)
4113ed:	dd d8                	fstp   %st(0)
4113ef:	d9 e8                	fld1
4113f1:	c3                   	ret
4113f2:	db bd 62 ff ff ff    	fstpt  -0x9e(%ebp)
4113f8:	db ad 62 ff ff ff    	fldt   -0x9e(%ebp)
4113fe:	f6 85 69 ff ff ff 40 	testb  $0x40,-0x97(%ebp)
411405:	74 08                	je     0x41140f
411407:	c6 85 70 ff ff ff 07 	movb   $0x7,-0x90(%ebp)
41140e:	c3                   	ret
41140f:	c6 85 70 ff ff ff 01 	movb   $0x1,-0x90(%ebp)
411416:	dc 05 64 bd 41 00    	faddl  0x41bd64
41141c:	c3                   	ret
41141d:	d9 c9                	fxch   %st(1)
41141f:	db bd 62 ff ff ff    	fstpt  -0x9e(%ebp)
411425:	db ad 62 ff ff ff    	fldt   -0x9e(%ebp)
41142b:	f6 85 69 ff ff ff 40 	testb  $0x40,-0x97(%ebp)
411432:	74 09                	je     0x41143d
411434:	c6 85 70 ff ff ff 07 	movb   $0x7,-0x90(%ebp)
41143b:	eb 07                	jmp    0x411444
41143d:	c6 85 70 ff ff ff 01 	movb   $0x1,-0x90(%ebp)
411444:	de c1                	faddp  %st,%st(1)
411446:	c3                   	ret
411447:	db bd 62 ff ff ff    	fstpt  -0x9e(%ebp)
41144d:	db ad 62 ff ff ff    	fldt   -0x9e(%ebp)
411453:	f6 85 69 ff ff ff 40 	testb  $0x40,-0x97(%ebp)
41145a:	74 20                	je     0x41147c
41145c:	d9 c9                	fxch   %st(1)
41145e:	db bd 62 ff ff ff    	fstpt  -0x9e(%ebp)
411464:	db ad 62 ff ff ff    	fldt   -0x9e(%ebp)
41146a:	f6 85 69 ff ff ff 40 	testb  $0x40,-0x97(%ebp)
411471:	74 09                	je     0x41147c
411473:	c6 85 70 ff ff ff 07 	movb   $0x7,-0x90(%ebp)
41147a:	eb 07                	jmp    0x411483
41147c:	c6 85 70 ff ff ff 01 	movb   $0x1,-0x90(%ebp)
411483:	de c1                	faddp  %st,%st(1)
411485:	c3                   	ret
411486:	dd d8                	fstp   %st(0)
411488:	dd d8                	fstp   %st(0)
41148a:	db 2d 50 bd 41 00    	fldt   0x41bd50
411490:	80 bd 70 ff ff ff 00 	cmpb   $0x0,-0x90(%ebp)
411497:	7f 07                	jg     0x4114a0
411499:	c6 85 70 ff ff ff 01 	movb   $0x1,-0x90(%ebp)
4114a0:	0a c9                	or     %cl,%cl
4114a2:	c3                   	ret
4114a3:	0a c9                	or     %cl,%cl
4114a5:	74 02                	je     0x4114a9
4114a7:	d9 e0                	fchs
4114a9:	c3                   	ret
4114aa:	cc                   	int3
4114ab:	cc                   	int3
4114ac:	cc                   	int3
4114ad:	cc                   	int3
4114ae:	cc                   	int3
4114af:	cc                   	int3
4114b0:	55                   	push   %ebp
4114b1:	8b ec                	mov    %esp,%ebp
4114b3:	83 c4 e0             	add    $0xffffffe0,%esp
4114b6:	89 45 e0             	mov    %eax,-0x20(%ebp)
4114b9:	8b 45 18             	mov    0x18(%ebp),%eax
4114bc:	89 45 f0             	mov    %eax,-0x10(%ebp)
4114bf:	8b 45 1c             	mov    0x1c(%ebp),%eax
4114c2:	89 45 f4             	mov    %eax,-0xc(%ebp)
4114c5:	eb 09                	jmp    0x4114d0
4114c7:	55                   	push   %ebp
4114c8:	8b ec                	mov    %esp,%ebp
4114ca:	83 c4 e0             	add    $0xffffffe0,%esp
4114cd:	89 45 e0             	mov    %eax,-0x20(%ebp)
4114d0:	dd 5d f8             	fstpl  -0x8(%ebp)
4114d3:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4114d6:	8b 45 10             	mov    0x10(%ebp),%eax
4114d9:	8b 4d 14             	mov    0x14(%ebp),%ecx
4114dc:	89 45 e8             	mov    %eax,-0x18(%ebp)
4114df:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4114e2:	8d 45 08             	lea    0x8(%ebp),%eax
4114e5:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4114e8:	50                   	push   %eax
4114e9:	51                   	push   %ecx
4114ea:	52                   	push   %edx
4114eb:	e8 49 39 00 00       	call   0x414e39
4114f0:	83 c4 0c             	add    $0xc,%esp
4114f3:	dd 45 f8             	fldl   -0x8(%ebp)
4114f6:	66 81 7d 08 7f 02    	cmpw   $0x27f,0x8(%ebp)
4114fc:	74 03                	je     0x411501
4114fe:	d9 6d 08             	fldcw  0x8(%ebp)
411501:	c9                   	leave
411502:	c3                   	ret
411503:	cc                   	int3
411504:	cc                   	int3
411505:	cc                   	int3
411506:	cc                   	int3
411507:	cc                   	int3
411508:	cc                   	int3
411509:	cc                   	int3
41150a:	cc                   	int3
41150b:	cc                   	int3
41150c:	cc                   	int3
41150d:	cc                   	int3
41150e:	cc                   	int3
41150f:	cc                   	int3
411510:	d9 c0                	fld    %st(0)
411512:	d9 fc                	frndint
411514:	dc e1                	fsub   %st,%st(1)
411516:	d9 c9                	fxch   %st(1)
411518:	d9 e0                	fchs
41151a:	d9 f0                	f2xm1
41151c:	d9 e8                	fld1
41151e:	de c1                	faddp  %st,%st(1)
411520:	d9 fd                	fscale
411522:	dd d9                	fstp   %st(1)
411524:	c3                   	ret
411525:	8b 54 24 04          	mov    0x4(%esp),%edx
411529:	81 e2 00 03 00 00    	and    $0x300,%edx
41152f:	83 ca 7f             	or     $0x7f,%edx
411532:	66 89 54 24 06       	mov    %dx,0x6(%esp)
411537:	d9 6c 24 06          	fldcw  0x6(%esp)
41153b:	c3                   	ret
41153c:	a9 00 00 08 00       	test   $0x80000,%eax
411541:	74 06                	je     0x411549
411543:	b8 07 00 00 00       	mov    $0x7,%eax
411548:	c3                   	ret
411549:	dc 05 80 bd 41 00    	faddl  0x41bd80
41154f:	b8 01 00 00 00       	mov    $0x1,%eax
411554:	c3                   	ret
411555:	8b 42 04             	mov    0x4(%edx),%eax
411558:	25 00 00 f0 7f       	and    $0x7ff00000,%eax
41155d:	3d 00 00 f0 7f       	cmp    $0x7ff00000,%eax
411562:	74 03                	je     0x411567
411564:	dd 02                	fldl   (%edx)
411566:	c3                   	ret
411567:	8b 42 04             	mov    0x4(%edx),%eax
41156a:	83 ec 0a             	sub    $0xa,%esp
41156d:	0d 00 00 ff 7f       	or     $0x7fff0000,%eax
411572:	89 44 24 06          	mov    %eax,0x6(%esp)
411576:	8b 42 04             	mov    0x4(%edx),%eax
411579:	8b 0a                	mov    (%edx),%ecx
41157b:	0f a4 c8 0b          	shld   $0xb,%ecx,%eax
41157f:	c1 e1 0b             	shl    $0xb,%ecx
411582:	89 44 24 04          	mov    %eax,0x4(%esp)
411586:	89 0c 24             	mov    %ecx,(%esp)
411589:	db 2c 24             	fldt   (%esp)
41158c:	83 c4 0a             	add    $0xa,%esp
41158f:	a9 00 00 00 00       	test   $0x0,%eax
411594:	8b 42 04             	mov    0x4(%edx),%eax
411597:	c3                   	ret
411598:	8b 44 24 08          	mov    0x8(%esp),%eax
41159c:	25 00 00 f0 7f       	and    $0x7ff00000,%eax
4115a1:	3d 00 00 f0 7f       	cmp    $0x7ff00000,%eax
4115a6:	74 01                	je     0x4115a9
4115a8:	c3                   	ret
4115a9:	8b 44 24 08          	mov    0x8(%esp),%eax
4115ad:	c3                   	ret
4115ae:	66 81 3c 24 7f 02    	cmpw   $0x27f,(%esp)
4115b4:	74 03                	je     0x4115b9
4115b6:	d9 2c 24             	fldcw  (%esp)
4115b9:	5a                   	pop    %edx
4115ba:	c3                   	ret
4115bb:	66 8b 04 24          	mov    (%esp),%ax
4115bf:	66 3d 7f 02          	cmp    $0x27f,%ax
4115c3:	74 1e                	je     0x4115e3
4115c5:	66 83 e0 20          	and    $0x20,%ax
4115c9:	74 15                	je     0x4115e0
4115cb:	9b df e0             	fstsw  %ax
4115ce:	66 83 e0 20          	and    $0x20,%ax
4115d2:	74 0c                	je     0x4115e0
4115d4:	b8 08 00 00 00       	mov    $0x8,%eax
4115d9:	e8 e9 fe ff ff       	call   0x4114c7
4115de:	5a                   	pop    %edx
4115df:	c3                   	ret
4115e0:	d9 2c 24             	fldcw  (%esp)
4115e3:	5a                   	pop    %edx
4115e4:	c3                   	ret
4115e5:	83 ec 08             	sub    $0x8,%esp
4115e8:	dd 14 24             	fstl   (%esp)
4115eb:	8b 44 24 04          	mov    0x4(%esp),%eax
4115ef:	83 c4 08             	add    $0x8,%esp
4115f2:	25 00 00 f0 7f       	and    $0x7ff00000,%eax
4115f7:	eb 14                	jmp    0x41160d
4115f9:	83 ec 08             	sub    $0x8,%esp
4115fc:	dd 14 24             	fstl   (%esp)
4115ff:	8b 44 24 04          	mov    0x4(%esp),%eax
411603:	83 c4 08             	add    $0x8,%esp
411606:	25 00 00 f0 7f       	and    $0x7ff00000,%eax
41160b:	74 3d                	je     0x41164a
41160d:	3d 00 00 f0 7f       	cmp    $0x7ff00000,%eax
411612:	74 5f                	je     0x411673
411614:	66 8b 04 24          	mov    (%esp),%ax
411618:	66 3d 7f 02          	cmp    $0x27f,%ax
41161c:	74 2a                	je     0x411648
41161e:	66 83 e0 20          	and    $0x20,%ax
411622:	75 21                	jne    0x411645
411624:	9b df e0             	fstsw  %ax
411627:	66 83 e0 20          	and    $0x20,%ax
41162b:	74 18                	je     0x411645
41162d:	b8 08 00 00 00       	mov    $0x8,%eax
411632:	83 fa 1d             	cmp    $0x1d,%edx
411635:	74 07                	je     0x41163e
411637:	e8 8b fe ff ff       	call   0x4114c7
41163c:	5a                   	pop    %edx
41163d:	c3                   	ret
41163e:	e8 6d fe ff ff       	call   0x4114b0
411643:	5a                   	pop    %edx
411644:	c3                   	ret
411645:	d9 2c 24             	fldcw  (%esp)
411648:	5a                   	pop    %edx
411649:	c3                   	ret
41164a:	dd 05 ac bd 41 00    	fldl   0x41bdac
411650:	d9 c9                	fxch   %st(1)
411652:	d9 fd                	fscale
411654:	dd d9                	fstp   %st(1)
411656:	d9 c0                	fld    %st(0)
411658:	d9 e1                	fabs
41165a:	dc 1d 9c bd 41 00    	fcompl 0x41bd9c
411660:	9b df e0             	fstsw  %ax
411663:	9e                   	sahf
411664:	b8 04 00 00 00       	mov    $0x4,%eax
411669:	73 c7                	jae    0x411632
41166b:	dc 0d bc bd 41 00    	fmull  0x41bdbc
411671:	eb bf                	jmp    0x411632
411673:	dd 05 a4 bd 41 00    	fldl   0x41bda4
411679:	d9 c9                	fxch   %st(1)
41167b:	d9 fd                	fscale
41167d:	dd d9                	fstp   %st(1)
41167f:	d9 c0                	fld    %st(0)
411681:	d9 e1                	fabs
411683:	dc 1d 94 bd 41 00    	fcompl 0x41bd94
411689:	9b df e0             	fstsw  %ax
41168c:	9e                   	sahf
41168d:	b8 03 00 00 00       	mov    $0x3,%eax
411692:	76 9e                	jbe    0x411632
411694:	dc 0d b4 bd 41 00    	fmull  0x41bdb4
41169a:	eb 96                	jmp    0x411632
41169c:	83 25 10 2a 42 00 00 	andl   $0x0,0x422a10
4116a3:	c3                   	ret
4116a4:	cc                   	int3
4116a5:	cc                   	int3
4116a6:	cc                   	int3
4116a7:	cc                   	int3
4116a8:	cc                   	int3
4116a9:	cc                   	int3
4116aa:	cc                   	int3
4116ab:	cc                   	int3
4116ac:	cc                   	int3
4116ad:	cc                   	int3
4116ae:	cc                   	int3
4116af:	cc                   	int3
4116b0:	55                   	push   %ebp
4116b1:	8b ec                	mov    %esp,%ebp
4116b3:	8b 45 08             	mov    0x8(%ebp),%eax
4116b6:	53                   	push   %ebx
4116b7:	8b 48 3c             	mov    0x3c(%eax),%ecx
4116ba:	03 c8                	add    %eax,%ecx
4116bc:	56                   	push   %esi
4116bd:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
4116c1:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
4116c5:	83 c0 18             	add    $0x18,%eax
4116c8:	33 d2                	xor    %edx,%edx
4116ca:	03 c1                	add    %ecx,%eax
4116cc:	57                   	push   %edi
4116cd:	85 db                	test   %ebx,%ebx
4116cf:	74 1b                	je     0x4116ec
4116d1:	8b 7d 0c             	mov    0xc(%ebp),%edi
4116d4:	8b 70 0c             	mov    0xc(%eax),%esi
4116d7:	3b fe                	cmp    %esi,%edi
4116d9:	72 09                	jb     0x4116e4
4116db:	8b 48 08             	mov    0x8(%eax),%ecx
4116de:	03 ce                	add    %esi,%ecx
4116e0:	3b f9                	cmp    %ecx,%edi
4116e2:	72 0a                	jb     0x4116ee
4116e4:	42                   	inc    %edx
4116e5:	83 c0 28             	add    $0x28,%eax
4116e8:	3b d3                	cmp    %ebx,%edx
4116ea:	72 e8                	jb     0x4116d4
4116ec:	33 c0                	xor    %eax,%eax
4116ee:	5f                   	pop    %edi
4116ef:	5e                   	pop    %esi
4116f0:	5b                   	pop    %ebx
4116f1:	5d                   	pop    %ebp
4116f2:	c3                   	ret
4116f3:	cc                   	int3
4116f4:	cc                   	int3
4116f5:	cc                   	int3
4116f6:	cc                   	int3
4116f7:	cc                   	int3
4116f8:	cc                   	int3
4116f9:	cc                   	int3
4116fa:	cc                   	int3
4116fb:	cc                   	int3
4116fc:	cc                   	int3
4116fd:	cc                   	int3
4116fe:	cc                   	int3
4116ff:	cc                   	int3
411700:	55                   	push   %ebp
411701:	8b ec                	mov    %esp,%ebp
411703:	6a fe                	push   $0xfffffffe
411705:	68 58 e7 41 00       	push   $0x41e758
41170a:	68 10 ae 40 00       	push   $0x40ae10
41170f:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
411715:	50                   	push   %eax
411716:	83 ec 08             	sub    $0x8,%esp
411719:	53                   	push   %ebx
41171a:	56                   	push   %esi
41171b:	57                   	push   %edi
41171c:	a1 90 08 42 00       	mov    0x420890,%eax
411721:	31 45 f8             	xor    %eax,-0x8(%ebp)
411724:	33 c5                	xor    %ebp,%eax
411726:	50                   	push   %eax
411727:	8d 45 f0             	lea    -0x10(%ebp),%eax
41172a:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
411730:	89 65 e8             	mov    %esp,-0x18(%ebp)
411733:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
41173a:	68 00 00 40 00       	push   $0x400000
41173f:	e8 7c 00 00 00       	call   0x4117c0
411744:	83 c4 04             	add    $0x4,%esp
411747:	85 c0                	test   %eax,%eax
411749:	74 54                	je     0x41179f
41174b:	8b 45 08             	mov    0x8(%ebp),%eax
41174e:	2d 00 00 40 00       	sub    $0x400000,%eax
411753:	50                   	push   %eax
411754:	68 00 00 40 00       	push   $0x400000
411759:	e8 52 ff ff ff       	call   0x4116b0
41175e:	83 c4 08             	add    $0x8,%esp
411761:	85 c0                	test   %eax,%eax
411763:	74 3a                	je     0x41179f
411765:	8b 40 24             	mov    0x24(%eax),%eax
411768:	c1 e8 1f             	shr    $0x1f,%eax
41176b:	f7 d0                	not    %eax
41176d:	83 e0 01             	and    $0x1,%eax
411770:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
411777:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41177a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0