423408:	0f 85 9c fe ff ff    	jne    0x4232aa
42340e:	dd d8                	fstp   %st(0)
423410:	dd d8                	fstp   %st(0)
423412:	db 2d e0 28 49 00    	fldt   0x4928e0
423418:	b8 01 00 00 00       	mov    $0x1,%eax
42341d:	e9 b3 fe ff ff       	jmp    0x4232d5
423422:	d9 c0                	fld    %st(0)
423424:	d9 fc                	frndint
423426:	d8 d9                	fcomp  %st(1)
423428:	b1 00                	mov    $0x0,%cl
42342a:	9b df e0             	fstsw  %ax
42342d:	9e                   	sahf
42342e:	75 17                	jne    0x423447
423430:	dc 0d 60 a0 4b 00    	fmull  0x4ba060
423436:	fe c1                	inc    %cl
423438:	d9 c0                	fld    %st(0)
42343a:	d9 fc                	frndint
42343c:	de d9                	fcompp
42343e:	9b df e0             	fstsw  %ax
423441:	9e                   	sahf
423442:	75 02                	jne    0x423446
423444:	fe c1                	inc    %cl
423446:	c3                   	ret
423447:	dd d8                	fstp   %st(0)
423449:	c3                   	ret
42344a:	55                   	push   %ebp
42344b:	8b ec                	mov    %esp,%ebp
42344d:	51                   	push   %ecx
42344e:	51                   	push   %ecx
42344f:	8d 45 f8             	lea    -0x8(%ebp),%eax
423452:	50                   	push   %eax
423453:	ff 15 54 d3 48 00    	call   *0x48d354
423459:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42345c:	8b 45 fc             	mov    -0x4(%ebp),%eax
42345f:	6a 00                	push   $0x0
423461:	81 c1 00 80 c1 2a    	add    $0x2ac18000,%ecx
423467:	68 80 96 98 00       	push   $0x989680
42346c:	15 21 4e 62 fe       	adc    $0xfe624e21,%eax
423471:	50                   	push   %eax
423472:	51                   	push   %ecx
423473:	e8 e8 af 00 00       	call   0x42e460
423478:	83 fa 07             	cmp    $0x7,%edx
42347b:	7c 0e                	jl     0x42348b
42347d:	7f 07                	jg     0x423486
42347f:	3d ff 6f 40 93       	cmp    $0x93406fff,%eax
423484:	76 05                	jbe    0x42348b
423486:	83 c8 ff             	or     $0xffffffff,%eax
423489:	8b d0                	mov    %eax,%edx
42348b:	8b 4d 08             	mov    0x8(%ebp),%ecx
42348e:	85 c9                	test   %ecx,%ecx
423490:	74 05                	je     0x423497
423492:	89 01                	mov    %eax,(%ecx)
423494:	89 51 04             	mov    %edx,0x4(%ecx)
423497:	c9                   	leave
423498:	c3                   	ret
423499:	55                   	push   %ebp
42349a:	8b ec                	mov    %esp,%ebp
42349c:	6a 40                	push   $0x40
42349e:	ff 75 0c             	push   0xc(%ebp)
4234a1:	ff 75 08             	push   0x8(%ebp)
4234a4:	e8 05 00 00 00       	call   0x4234ae
4234a9:	83 c4 0c             	add    $0xc,%esp
4234ac:	5d                   	pop    %ebp
4234ad:	c3                   	ret
4234ae:	6a 0c                	push   $0xc
4234b0:	68 b0 6b 4b 00       	push   $0x4b6bb0
4234b5:	e8 06 36 00 00       	call   0x426ac0
4234ba:	33 c9                	xor    %ecx,%ecx
4234bc:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4234bf:	33 c0                	xor    %eax,%eax
4234c1:	8b 7d 08             	mov    0x8(%ebp),%edi
4234c4:	85 ff                	test   %edi,%edi
4234c6:	0f 95 c0             	setne  %al
4234c9:	85 c0                	test   %eax,%eax
4234cb:	75 17                	jne    0x4234e4
4234cd:	e8 3c 47 00 00       	call   0x427c0e
4234d2:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4234d8:	e8 33 39 00 00       	call   0x426e10
4234dd:	33 c0                	xor    %eax,%eax
4234df:	e9 80 00 00 00       	jmp    0x423564
4234e4:	33 c0                	xor    %eax,%eax
4234e6:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4234e9:	85 db                	test   %ebx,%ebx
4234eb:	0f 95 c0             	setne  %al
4234ee:	85 c0                	test   %eax,%eax
4234f0:	74 db                	je     0x4234cd
4234f2:	33 c0                	xor    %eax,%eax
4234f4:	66 39 0b             	cmp    %cx,(%ebx)
4234f7:	0f 95 c0             	setne  %al
4234fa:	85 c0                	test   %eax,%eax
4234fc:	74 cf                	je     0x4234cd
4234fe:	e8 c5 af 00 00       	call   0x42e4c8
423503:	8b f0                	mov    %eax,%esi
423505:	89 75 08             	mov    %esi,0x8(%ebp)
423508:	85 f6                	test   %esi,%esi
42350a:	75 0d                	jne    0x423519
42350c:	e8 fd 46 00 00       	call   0x427c0e
423511:	c7 00 18 00 00 00    	movl   $0x18,(%eax)
423517:	eb c4                	jmp    0x4234dd
423519:	33 c0                	xor    %eax,%eax
42351b:	89 45 fc             	mov    %eax,-0x4(%ebp)
42351e:	66 39 07             	cmp    %ax,(%edi)
423521:	75 20                	jne    0x423543
423523:	e8 e6 46 00 00       	call   0x427c0e
423528:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42352e:	6a fe                	push   $0xfffffffe
423530:	8d 45 f0             	lea    -0x10(%ebp),%eax
423533:	50                   	push   %eax
423534:	68 c0 ad 4b 00       	push   $0x4badc0
423539:	e8 42 b3 00 00       	call   0x42e880
42353e:	83 c4 0c             	add    $0xc,%esp
423541:	eb 9a                	jmp    0x4234dd
423543:	56                   	push   %esi
423544:	ff 75 10             	push   0x10(%ebp)
423547:	53                   	push   %ebx
423548:	57                   	push   %edi
423549:	e8 92 b0 00 00       	call   0x42e5e0
42354e:	83 c4 10             	add    $0x10,%esp
423551:	8b f8                	mov    %eax,%edi
423553:	89 7d e4             	mov    %edi,-0x1c(%ebp)
423556:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
42355d:	e8 0e 00 00 00       	call   0x423570
423562:	8b c7                	mov    %edi,%eax
423564:	e8 9c 35 00 00       	call   0x426b05
423569:	c3                   	ret
42356a:	8b 75 08             	mov    0x8(%ebp),%esi
42356d:	8b 7d e4             	mov    -0x1c(%ebp),%edi
423570:	56                   	push   %esi
423571:	e8 15 19 00 00       	call   0x424e8b
423576:	59                   	pop    %ecx
423577:	c3                   	ret
423578:	55                   	push   %ebp
423579:	8b ec                	mov    %esp,%ebp
42357b:	56                   	push   %esi
42357c:	8b 75 08             	mov    0x8(%ebp),%esi
42357f:	57                   	push   %edi
423580:	83 cf ff             	or     $0xffffffff,%edi
423583:	85 f6                	test   %esi,%esi
423585:	75 14                	jne    0x42359b
423587:	e8 82 46 00 00       	call   0x427c0e
42358c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
423592:	e8 79 38 00 00       	call   0x426e10
423597:	0b c7                	or     %edi,%eax
423599:	eb 45                	jmp    0x4235e0
42359b:	f6 46 0c 83          	testb  $0x83,0xc(%esi)
42359f:	74 39                	je     0x4235da
4235a1:	56                   	push   %esi
4235a2:	e8 dd f6 ff ff       	call   0x422c84
4235a7:	56                   	push   %esi
4235a8:	8b f8                	mov    %eax,%edi
4235aa:	e8 87 b5 00 00       	call   0x42eb36
4235af:	56                   	push   %esi
4235b0:	e8 7e f3 ff ff       	call   0x422933
4235b5:	50                   	push   %eax
4235b6:	e8 17 b4 00 00       	call   0x42e9d2
4235bb:	83 c4 10             	add    $0x10,%esp
4235be:	85 c0                	test   %eax,%eax
4235c0:	79 05                	jns    0x4235c7
4235c2:	83 cf ff             	or     $0xffffffff,%edi
4235c5:	eb 13                	jmp    0x4235da
4235c7:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
4235cb:	74 0d                	je     0x4235da
4235cd:	ff 76 1c             	push   0x1c(%esi)
4235d0:	e8 c8 e6 ff ff       	call   0x421c9d
4235d5:	83 66 1c 00          	andl   $0x0,0x1c(%esi)
4235d9:	59                   	pop    %ecx
4235da:	83 66 0c 00          	andl   $0x0,0xc(%esi)
4235de:	8b c7                	mov    %edi,%eax
4235e0:	5f                   	pop    %edi
4235e1:	5e                   	pop    %esi
4235e2:	5d                   	pop    %ebp
4235e3:	c3                   	ret
4235e4:	6a 0c                	push   $0xc
4235e6:	68 d0 6b 4b 00       	push   $0x4b6bd0
4235eb:	e8 d0 34 00 00       	call   0x426ac0
4235f0:	83 cf ff             	or     $0xffffffff,%edi
4235f3:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4235f6:	33 c0                	xor    %eax,%eax
4235f8:	8b 75 08             	mov    0x8(%ebp),%esi
4235fb:	85 f6                	test   %esi,%esi
4235fd:	0f 95 c0             	setne  %al
423600:	85 c0                	test   %eax,%eax
423602:	75 18                	jne    0x42361c
423604:	e8 05 46 00 00       	call   0x427c0e
423609:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42360f:	e8 fc 37 00 00       	call   0x426e10
423614:	8b c7                	mov    %edi,%eax
423616:	e8 ea 34 00 00       	call   0x426b05
42361b:	c3                   	ret
42361c:	f6 46 0c 40          	testb  $0x40,0xc(%esi)
423620:	74 06                	je     0x423628
423622:	83 66 0c 00          	andl   $0x0,0xc(%esi)
423626:	eb ec                	jmp    0x423614
423628:	56                   	push   %esi
423629:	e8 ee 17 00 00       	call   0x424e1c
42362e:	59                   	pop    %ecx
42362f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
423633:	56                   	push   %esi
423634:	e8 3f ff ff ff       	call   0x423578
423639:	59                   	pop    %ecx
42363a:	8b f8                	mov    %eax,%edi
42363c:	89 7d e4             	mov    %edi,-0x1c(%ebp)
42363f:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
423646:	e8 08 00 00 00       	call   0x423653
42364b:	eb c7                	jmp    0x423614
42364d:	8b 75 08             	mov    0x8(%ebp),%esi
423650:	8b 7d e4             	mov    -0x1c(%ebp),%edi
423653:	56                   	push   %esi
423654:	e8 32 18 00 00       	call   0x424e8b
423659:	59                   	pop    %ecx
42365a:	c3                   	ret
42365b:	55                   	push   %ebp
42365c:	8b ec                	mov    %esp,%ebp
42365e:	83 ec 10             	sub    $0x10,%esp
423661:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
423665:	8b 4d 08             	mov    0x8(%ebp),%ecx
423668:	8b 45 0c             	mov    0xc(%ebp),%eax
42366b:	53                   	push   %ebx
42366c:	56                   	push   %esi
42366d:	57                   	push   %edi
42366e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
423671:	89 45 f8             	mov    %eax,-0x8(%ebp)
423674:	74 1b                	je     0x423691
423676:	8b 5d 14             	mov    0x14(%ebp),%ebx
423679:	85 db                	test   %ebx,%ebx
42367b:	74 14                	je     0x423691
42367d:	85 c9                	test   %ecx,%ecx
42367f:	75 17                	jne    0x423698
423681:	e8 88 45 00 00       	call   0x427c0e
423686:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42368c:	e8 7f 37 00 00       	call   0x426e10
423691:	33 c0                	xor    %eax,%eax
423693:	5f                   	pop    %edi
423694:	5e                   	pop    %esi
423695:	5b                   	pop    %ebx
423696:	c9                   	leave
423697:	c3                   	ret
423698:	8b 75 18             	mov    0x18(%ebp),%esi
42369b:	85 f6                	test   %esi,%esi
42369d:	74 0c                	je     0x4236ab
42369f:	83 c8 ff             	or     $0xffffffff,%eax
4236a2:	33 d2                	xor    %edx,%edx
4236a4:	f7 75 10             	divl   0x10(%ebp)
4236a7:	3b d8                	cmp    %eax,%ebx
4236a9:	76 24                	jbe    0x4236cf
4236ab:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
4236af:	74 0e                	je     0x4236bf
4236b1:	ff 75 0c             	push   0xc(%ebp)
4236b4:	6a 00                	push   $0x0
4236b6:	51                   	push   %ecx
4236b7:	e8 94 d6 ff ff       	call   0x420d50
4236bc:	83 c4 0c             	add    $0xc,%esp
4236bf:	85 f6                	test   %esi,%esi
4236c1:	74 be                	je     0x423681
4236c3:	83 c8 ff             	or     $0xffffffff,%eax
4236c6:	33 d2                	xor    %edx,%edx
4236c8:	f7 75 10             	divl   0x10(%ebp)
4236cb:	3b d8                	cmp    %eax,%ebx
4236cd:	77 b2                	ja     0x423681
4236cf:	8b 7d 10             	mov    0x10(%ebp),%edi
4236d2:	0f af fb             	imul   %ebx,%edi
4236d5:	f7 46 0c 0c 01 00 00 	testl  $0x10c,0xc(%esi)
4236dc:	8b df                	mov    %edi,%ebx
4236de:	74 05                	je     0x4236e5
4236e0:	8b 4e 18             	mov    0x18(%esi),%ecx
4236e3:	eb 05                	jmp    0x4236ea
4236e5:	b9 00 10 00 00       	mov    $0x1000,%ecx
4236ea:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4236ed:	85 ff                	test   %edi,%edi
4236ef:	0f 84 e3 00 00 00    	je     0x4237d8
4236f5:	f7 46 0c 0c 01 00 00 	testl  $0x10c,0xc(%esi)
4236fc:	74 3f                	je     0x42373d
4236fe:	8b 46 04             	mov    0x4(%esi),%eax
423701:	89 45 f0             	mov    %eax,-0x10(%ebp)
423704:	85 c0                	test   %eax,%eax
423706:	74 35                	je     0x42373d
423708:	0f 88 f8 00 00 00    	js     0x423806
42370e:	3b d8                	cmp    %eax,%ebx
423710:	73 05                	jae    0x423717
423712:	8b c3                	mov    %ebx,%eax
423714:	89 5d f0             	mov    %ebx,-0x10(%ebp)
423717:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42371a:	3b c1                	cmp    %ecx,%eax
42371c:	0f 87 be 00 00 00    	ja     0x4237e0
423722:	50                   	push   %eax
423723:	ff 36                	push   (%esi)
423725:	51                   	push   %ecx
423726:	ff 75 fc             	push   -0x4(%ebp)
423729:	e8 59 b5 00 00       	call   0x42ec87
42372e:	8b 45 f0             	mov    -0x10(%ebp),%eax
423731:	29 46 04             	sub    %eax,0x4(%esi)
423734:	83 c4 10             	add    $0x10,%esp
423737:	2b d8                	sub    %eax,%ebx
423739:	01 06                	add    %eax,(%esi)
42373b:	eb 61                	jmp    0x42379e
42373d:	3b d9                	cmp    %ecx,%ebx
42373f:	72 68                	jb     0x4237a9
423741:	85 c9                	test   %ecx,%ecx
423743:	74 22                	je     0x423767
423745:	33 d2                	xor    %edx,%edx
423747:	81 fb ff ff ff 7f    	cmp    $0x7fffffff,%ebx
42374d:	76 0e                	jbe    0x42375d
42374f:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
423754:	f7 f1                	div    %ecx
423756:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
42375b:	eb 06                	jmp    0x423763
42375d:	8b c3                	mov    %ebx,%eax
42375f:	f7 f1                	div    %ecx
423761:	8b c3                	mov    %ebx,%eax
423763:	2b c2                	sub    %edx,%eax
423765:	eb 0f                	jmp    0x423776
423767:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
42376c:	81 fb ff ff ff 7f    	cmp    $0x7fffffff,%ebx
423772:	77 02                	ja     0x423776
423774:	8b c3                	mov    %ebx,%eax
423776:	3b 45 f8             	cmp    -0x8(%ebp),%eax
423779:	77 65                	ja     0x4237e0
42377b:	50                   	push   %eax
42377c:	ff 75 fc             	push   -0x4(%ebp)
42377f:	56                   	push   %esi
423780:	e8 ae f1 ff ff       	call   0x422933
423785:	59                   	pop    %ecx
423786:	50                   	push   %eax
423787:	e8 82 b6 00 00       	call   0x42ee0e
42378c:	83 c4 0c             	add    $0xc,%esp
42378f:	85 c0                	test   %eax,%eax
423791:	0f 84 81 00 00 00    	je     0x423818
423797:	83 f8 ff             	cmp    $0xffffffff,%eax
42379a:	74 6a                	je     0x423806
42379c:	2b d8                	sub    %eax,%ebx
42379e:	01 45 fc             	add    %eax,-0x4(%ebp)
4237a1:	29 45 f8             	sub    %eax,-0x8(%ebp)
4237a4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4237a7:	eb 27                	jmp    0x4237d0
4237a9:	56                   	push   %esi
4237aa:	e8 b7 b3 00 00       	call   0x42eb66
4237af:	59                   	pop    %ecx
4237b0:	83 f8 ff             	cmp    $0xffffffff,%eax
4237b3:	74 55                	je     0x42380a
4237b5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4237b8:	85 c9                	test   %ecx,%ecx
4237ba:	74 24                	je     0x4237e0
4237bc:	8b 55 fc             	mov    -0x4(%ebp),%edx
4237bf:	88 02                	mov    %al,(%edx)
4237c1:	42                   	inc    %edx
4237c2:	4b                   	dec    %ebx
4237c3:	49                   	dec    %ecx
4237c4:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4237c7:	8b 4e 18             	mov    0x18(%esi),%ecx
4237ca:	89 55 fc             	mov    %edx,-0x4(%ebp)