415334:	75 02                	jne    0x415338
415336:	d9 e0                	fchs
415338:	83 3d d4 9f 83 02 00 	cmpl   $0x0,0x2839fd4
41533f:	0f 85 39 5f 00 00    	jne    0x41b27e
415345:	8d 0d f0 c4 42 00    	lea    0x42c4f0,%ecx
41534b:	ba 1d 00 00 00       	mov    $0x1d,%edx
415350:	e9 74 5f 00 00       	jmp    0x41b2c9
415355:	83 3d d4 9f 83 02 00 	cmpl   $0x0,0x2839fd4
41535c:	0f 85 1c 5f 00 00    	jne    0x41b27e
415362:	8d 0d f0 c4 42 00    	lea    0x42c4f0,%ecx
415368:	ba 1d 00 00 00       	mov    $0x1d,%edx
41536d:	e8 0e 5e 00 00       	call   0x41b180
415372:	5a                   	pop    %edx
415373:	c3                   	ret
415374:	8d 54 24 08          	lea    0x8(%esp),%edx
415378:	e8 a8 5e 00 00       	call   0x41b225
41537d:	d9 e8                	fld1
41537f:	df e9                	fucomip %st(1),%st
415381:	7a 05                	jp     0x415388
415383:	74 0e                	je     0x415393
415385:	41                   	inc    %ecx
415386:	eb 31                	jmp    0x4153b9
415388:	d9 c9                	fxch   %st(1)
41538a:	d9 e5                	fxam
41538c:	9b df e0             	fstsw  %ax
41538f:	9b                   	fwait
415390:	9e                   	sahf
415391:	75 08                	jne    0x41539b
415393:	dd d8                	fstp   %st(0)
415395:	dd d8                	fstp   %st(0)
415397:	d9 e8                	fld1
415399:	5a                   	pop    %edx
41539a:	c3                   	ret
41539b:	de c1                	faddp  %st,%st(1)
41539d:	5a                   	pop    %edx
41539e:	c3                   	ret
41539f:	33 c9                	xor    %ecx,%ecx
4153a1:	eb 16                	jmp    0x4153b9
4153a3:	33 c9                	xor    %ecx,%ecx
4153a5:	25 ff ff 0f 00       	and    $0xfffff,%eax
4153aa:	0b 44 24 10          	or     0x10(%esp),%eax
4153ae:	75 c4                	jne    0x415374
4153b0:	8d 54 24 08          	lea    0x8(%esp),%edx
4153b4:	e8 6c 5e 00 00       	call   0x41b225
4153b9:	8b 44 24 0c          	mov    0xc(%esp),%eax
4153bd:	8b d0                	mov    %eax,%edx
4153bf:	25 00 00 f0 7f       	and    $0x7ff00000,%eax
4153c4:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
4153ca:	3d 00 00 f0 7f       	cmp    $0x7ff00000,%eax
4153cf:	75 06                	jne    0x4153d7
4153d1:	0b 54 24 08          	or     0x8(%esp),%edx
4153d5:	75 b1                	jne    0x415388
4153d7:	85 c9                	test   %ecx,%ecx
4153d9:	75 c0                	jne    0x41539b
4153db:	83 ec 74             	sub    $0x74,%esp
4153de:	8b cc                	mov    %esp,%ecx
4153e0:	51                   	push   %ecx
4153e1:	83 ec 10             	sub    $0x10,%esp
4153e4:	dd 1c 24             	fstpl  (%esp)
4153e7:	dd 5c 24 08          	fstpl  0x8(%esp)
4153eb:	9b dd 71 08          	fsave  0x8(%ecx)
4153ef:	e8 9d 91 00 00       	call   0x41e591
4153f4:	83 c4 10             	add    $0x10,%esp
4153f7:	59                   	pop    %ecx
4153f8:	dd 61 08             	frstor 0x8(%ecx)
4153fb:	dd 01                	fldl   (%ecx)
4153fd:	83 c4 74             	add    $0x74,%esp
415400:	85 c0                	test   %eax,%eax
415402:	0f 84 76 5e 00 00    	je     0x41b27e
415408:	b8 01 00 00 00       	mov    $0x1,%eax
41540d:	e9 43 ff ff ff       	jmp    0x415355
415412:	8b 44 24 0c          	mov    0xc(%esp),%eax
415416:	25 ff ff 0f 00       	and    $0xfffff,%eax
41541b:	0b 44 24 08          	or     0x8(%esp),%eax
41541f:	0f 85 f8 fe ff ff    	jne    0x41531d
415425:	dd d8                	fstp   %st(0)
415427:	8b 44 24 14          	mov    0x14(%esp),%eax
41542b:	25 ff ff ff 7f       	and    $0x7fffffff,%eax
415430:	0b 44 24 10          	or     0x10(%esp),%eax
415434:	74 3d                	je     0x415473
415436:	e8 66 00 00 00       	call   0x4154a1
41543b:	8a 6c 24 0f          	mov    0xf(%esp),%ch
41543f:	c0 ed 07             	shr    $0x7,%ch
415442:	f7 44 24 17 80 00 00 	testl  $0x80,0x17(%esp)
415449:	00
41544a:	74 16                	je     0x415462
41544c:	db 2d b0 d8 42 00    	fldt   0x42d8b0
415452:	84 cd                	test   %cl,%ch
415454:	74 02                	je     0x415458
415456:	d9 e0                	fchs
415458:	b8 02 00 00 00       	mov    $0x2,%eax
41545d:	e9 f3 fe ff ff       	jmp    0x415355
415462:	d9 ee                	fldz
415464:	84 cd                	test   %cl,%ch
415466:	0f 84 12 5e 00 00    	je     0x41b27e
41546c:	d9 e0                	fchs
41546e:	e9 0b 5e 00 00       	jmp    0x41b27e
415473:	dd d8                	fstp   %st(0)
415475:	d9 e8                	fld1
415477:	e9 02 5e 00 00       	jmp    0x41b27e
41547c:	d9 c1                	fld    %st(1)
41547e:	e8 1e 00 00 00       	call   0x4154a1
415483:	d9 e0                	fchs
415485:	84 c9                	test   %cl,%cl
415487:	0f 85 9d fe ff ff    	jne    0x41532a
41548d:	dd d8                	fstp   %st(0)
41548f:	dd d8                	fstp   %st(0)
415491:	db 2d 50 d3 42 00    	fldt   0x42d350
415497:	b8 01 00 00 00       	mov    $0x1,%eax
41549c:	e9 b4 fe ff ff       	jmp    0x415355
4154a1:	d9 c0                	fld    %st(0)
4154a3:	d9 fc                	frndint
4154a5:	d8 d9                	fcomp  %st(1)
4154a7:	b1 00                	mov    $0x0,%cl
4154a9:	9b df e0             	fstsw  %ax
4154ac:	9e                   	sahf
4154ad:	75 17                	jne    0x4154c6
4154af:	dc 0d f4 c4 42 00    	fmull  0x42c4f4
4154b5:	fe c1                	inc    %cl
4154b7:	d9 c0                	fld    %st(0)
4154b9:	d9 fc                	frndint
4154bb:	de d9                	fcompp
4154bd:	9b df e0             	fstsw  %ax
4154c0:	9e                   	sahf
4154c1:	75 02                	jne    0x4154c5
4154c3:	fe c1                	inc    %cl
4154c5:	c3                   	ret
4154c6:	dd d8                	fstp   %st(0)
4154c8:	c3                   	ret
4154c9:	8b ff                	mov    %edi,%edi
4154cb:	55                   	push   %ebp
4154cc:	8b ec                	mov    %esp,%ebp
4154ce:	8b 55 08             	mov    0x8(%ebp),%edx
4154d1:	56                   	push   %esi
4154d2:	85 d2                	test   %edx,%edx
4154d4:	74 13                	je     0x4154e9
4154d6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4154d9:	85 c9                	test   %ecx,%ecx
4154db:	74 0c                	je     0x4154e9
4154dd:	8b 75 10             	mov    0x10(%ebp),%esi
4154e0:	85 f6                	test   %esi,%esi
4154e2:	75 19                	jne    0x4154fd
4154e4:	33 c0                	xor    %eax,%eax
4154e6:	66 89 02             	mov    %ax,(%edx)
4154e9:	e8 7d f5 ff ff       	call   0x414a6b
4154ee:	6a 16                	push   $0x16
4154f0:	5e                   	pop    %esi
4154f1:	89 30                	mov    %esi,(%eax)
4154f3:	e8 ea 67 ff ff       	call   0x40bce2
4154f8:	8b c6                	mov    %esi,%eax
4154fa:	5e                   	pop    %esi
4154fb:	5d                   	pop    %ebp
4154fc:	c3                   	ret
4154fd:	57                   	push   %edi
4154fe:	8b fa                	mov    %edx,%edi
415500:	2b f2                	sub    %edx,%esi
415502:	0f b7 04 3e          	movzwl (%esi,%edi,1),%eax
415506:	66 89 07             	mov    %ax,(%edi)
415509:	8d 7f 02             	lea    0x2(%edi),%edi
41550c:	66 85 c0             	test   %ax,%ax
41550f:	74 05                	je     0x415516
415511:	83 e9 01             	sub    $0x1,%ecx
415514:	75 ec                	jne    0x415502
415516:	5f                   	pop    %edi
415517:	85 c9                	test   %ecx,%ecx
415519:	75 0e                	jne    0x415529
41551b:	33 c0                	xor    %eax,%eax
41551d:	66 89 02             	mov    %ax,(%edx)
415520:	e8 46 f5 ff ff       	call   0x414a6b
415525:	6a 22                	push   $0x22
415527:	eb c7                	jmp    0x4154f0
415529:	33 f6                	xor    %esi,%esi
41552b:	eb cb                	jmp    0x4154f8
41552d:	8b ff                	mov    %edi,%edi
41552f:	55                   	push   %ebp
415530:	8b ec                	mov    %esp,%ebp
415532:	83 ec 1c             	sub    $0x1c,%esp
415535:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
415538:	53                   	push   %ebx
415539:	ff 75 10             	push   0x10(%ebp)
41553c:	e8 87 72 ff ff       	call   0x40c7c8
415541:	8b 5d 08             	mov    0x8(%ebp),%ebx
415544:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
41554a:	73 4b                	jae    0x415597
41554c:	8d 45 e8             	lea    -0x18(%ebp),%eax
41554f:	50                   	push   %eax
415550:	53                   	push   %ebx
415551:	e8 21 01 00 00       	call   0x415677
415556:	59                   	pop    %ecx
415557:	59                   	pop    %ecx
415558:	84 c0                	test   %al,%al
41555a:	74 24                	je     0x415580
41555c:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
415560:	8b 45 e8             	mov    -0x18(%ebp),%eax
415563:	8b 80 94 00 00 00    	mov    0x94(%eax),%eax
415569:	0f b6 0c 18          	movzbl (%eax,%ebx,1),%ecx
41556d:	74 0a                	je     0x415579
41556f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
415572:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
415579:	8b c1                	mov    %ecx,%eax
41557b:	e9 f2 00 00 00       	jmp    0x415672
415580:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
415584:	74 0a                	je     0x415590
415586:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
415589:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
415590:	8b c3                	mov    %ebx,%eax
415592:	e9 db 00 00 00       	jmp    0x415672
415597:	33 c0                	xor    %eax,%eax
415599:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
41559d:	88 45 fe             	mov    %al,-0x2(%ebp)
4155a0:	8b 45 e8             	mov    -0x18(%ebp),%eax
4155a3:	83 78 04 01          	cmpl   $0x1,0x4(%eax)
4155a7:	7e 2e                	jle    0x4155d7
4155a9:	8b c3                	mov    %ebx,%eax
4155ab:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4155ae:	c1 f8 08             	sar    $0x8,%eax
4155b1:	89 45 f4             	mov    %eax,-0xc(%ebp)
4155b4:	51                   	push   %ecx
4155b5:	0f b6 c0             	movzbl %al,%eax
4155b8:	50                   	push   %eax
4155b9:	e8 0c 93 00 00       	call   0x41e8ca
4155be:	59                   	pop    %ecx
4155bf:	59                   	pop    %ecx
4155c0:	85 c0                	test   %eax,%eax
4155c2:	74 13                	je     0x4155d7
4155c4:	8b 45 f4             	mov    -0xc(%ebp),%eax
4155c7:	88 45 fc             	mov    %al,-0x4(%ebp)
4155ca:	33 c0                	xor    %eax,%eax
4155cc:	6a 02                	push   $0x2
4155ce:	88 5d fd             	mov    %bl,-0x3(%ebp)
4155d1:	88 45 fe             	mov    %al,-0x2(%ebp)
4155d4:	59                   	pop    %ecx
4155d5:	eb 16                	jmp    0x4155ed
4155d7:	e8 8f f4 ff ff       	call   0x414a6b
4155dc:	33 c9                	xor    %ecx,%ecx
4155de:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
4155e4:	33 c0                	xor    %eax,%eax
4155e6:	88 5d fc             	mov    %bl,-0x4(%ebp)
4155e9:	41                   	inc    %ecx
4155ea:	88 45 fd             	mov    %al,-0x3(%ebp)
4155ed:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
4155f1:	8d 55 f8             	lea    -0x8(%ebp),%edx
4155f4:	88 45 fa             	mov    %al,-0x6(%ebp)
4155f7:	8b 45 e8             	mov    -0x18(%ebp),%eax
4155fa:	6a 01                	push   $0x1
4155fc:	ff 70 08             	push   0x8(%eax)
4155ff:	6a 03                	push   $0x3
415601:	52                   	push   %edx
415602:	51                   	push   %ecx
415603:	8d 4d fc             	lea    -0x4(%ebp),%ecx
415606:	51                   	push   %ecx
415607:	ff 75 0c             	push   0xc(%ebp)
41560a:	ff b0 a8 00 00 00    	push   0xa8(%eax)
415610:	8d 45 e8             	lea    -0x18(%ebp),%eax
415613:	50                   	push   %eax
415614:	e8 72 6e 00 00       	call   0x41c48b
415619:	83 c4 24             	add    $0x24,%esp
41561c:	85 c0                	test   %eax,%eax
41561e:	75 18                	jne    0x415638
415620:	38 45 f0             	cmp    %al,-0x10(%ebp)
415623:	0f 84 67 ff ff ff    	je     0x415590
415629:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41562c:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
415633:	e9 58 ff ff ff       	jmp    0x415590
415638:	83 f8 01             	cmp    $0x1,%eax
41563b:	75 16                	jne    0x415653
41563d:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
415641:	0f b6 45 f8          	movzbl -0x8(%ebp),%eax
415645:	74 2b                	je     0x415672
415647:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
41564a:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
415651:	eb 1f                	jmp    0x415672
415653:	0f b6 55 f8          	movzbl -0x8(%ebp),%edx
415657:	0f b6 45 f9          	movzbl -0x7(%ebp),%eax
41565b:	c1 e2 08             	shl    $0x8,%edx
41565e:	0b d0                	or     %eax,%edx
415660:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
415664:	74 0a                	je     0x415670
415666:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
415669:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
415670:	8b c2                	mov    %edx,%eax
415672:	5b                   	pop    %ebx
415673:	8b e5                	mov    %ebp,%esp
415675:	5d                   	pop    %ebp
415676:	c3                   	ret
415677:	8b ff                	mov    %edi,%edi
415679:	55                   	push   %ebp
41567a:	8b ec                	mov    %esp,%ebp
41567c:	ff 75 0c             	push   0xc(%ebp)
41567f:	6a 01                	push   $0x1
415681:	ff 75 08             	push   0x8(%ebp)
415684:	e8 56 e7 ff ff       	call   0x413ddf
415689:	83 c4 0c             	add    $0xc,%esp
41568c:	f7 d8                	neg    %eax
41568e:	1b c0                	sbb    %eax,%eax
415690:	f7 d8                	neg    %eax
415692:	5d                   	pop    %ebp
415693:	c3                   	ret
415694:	8b ff                	mov    %edi,%edi
415696:	55                   	push   %ebp
415697:	8b ec                	mov    %esp,%ebp
415699:	ff 75 0c             	push   0xc(%ebp)
41569c:	68 00 01 00 00       	push   $0x100
4156a1:	ff 75 08             	push   0x8(%ebp)
4156a4:	e8 84 fe ff ff       	call   0x41552d
4156a9:	83 c4 0c             	add    $0xc,%esp
4156ac:	5d                   	pop    %ebp
4156ad:	c3                   	ret
4156ae:	8b ff                	mov    %edi,%edi
4156b0:	55                   	push   %ebp
4156b1:	8b ec                	mov    %esp,%ebp
4156b3:	a1 dc 9c 83 02       	mov    0x2839cdc,%eax
4156b8:	85 c0                	test   %eax,%eax
4156ba:	74 10                	je     0x4156cc
4156bc:	6a 00                	push   $0x0
4156be:	ff 75 08             	push   0x8(%ebp)
4156c1:	e8 ce ff ff ff       	call   0x415694
4156c6:	59                   	pop    %ecx
4156c7:	59                   	pop    %ecx
4156c8:	8b c8                	mov    %eax,%ecx
4156ca:	eb 0e                	jmp    0x4156da
4156cc:	8b 4d 08             	mov    0x8(%ebp),%ecx
4156cf:	8d 41 bf             	lea    -0x41(%ecx),%eax
4156d2:	83 f8 19             	cmp    $0x19,%eax
4156d5:	77 03                	ja     0x4156da
4156d7:	83 c1 20             	add    $0x20,%ecx
4156da:	8b c1                	mov    %ecx,%eax
4156dc:	5d                   	pop    %ebp
4156dd:	c3                   	ret
4156de:	8b ff                	mov    %edi,%edi
4156e0:	55                   	push   %ebp
4156e1:	8b ec                	mov    %esp,%ebp
4156e3:	8d 41 04             	lea    0x4(%ecx),%eax
4156e6:	8b d0                	mov    %eax,%edx
4156e8:	2b d1                	sub    %ecx,%edx
4156ea:	83 c2 03             	add    $0x3,%edx
4156ed:	56                   	push   %esi
4156ee:	33 f6                	xor    %esi,%esi
4156f0:	c1 ea 02             	shr    $0x2,%edx
4156f3:	3b c1                	cmp    %ecx,%eax
4156f5:	1b c0                	sbb    %eax,%eax
4156f7:	f7 d0                	not    %eax
4156f9:	23 c2                	and    %edx,%eax
4156fb:	74 0d                	je     0x41570a
4156fd:	8b 55 08             	mov    0x8(%ebp),%edx
415700:	46                   	inc    %esi
415701:	89 11                	mov    %edx,(%ecx)
415703:	8d 49 04             	lea    0x4(%ecx),%ecx
415706:	3b f0                	cmp    %eax,%esi
415708:	75 f6                	jne    0x415700