5af307:	e8 80 39 e5 ff       	call   0x402c8c
5af30c:	db bd 04 ff ff ff    	fstpt  -0xfc(%ebp)
5af312:	9b dd 45 e8          	fldl   -0x18(%ebp)
5af316:	d8 35 98 fa 5a 00    	fdivs  0x5afa98
5af31c:	e8 23 39 e5 ff       	call   0x402c44
5af321:	db ad 04 ff ff ff    	fldt   -0xfc(%ebp)
5af327:	de f1                	fdivp  %st,%st(1)
5af329:	d9 e1                	fabs
5af32b:	dd 5d d8             	fstpl  -0x28(%ebp)
5af32e:	9b dd 45 e8          	fldl   -0x18(%ebp)
5af332:	e8 55 39 e5 ff       	call   0x402c8c
5af337:	d9 e1                	fabs
5af339:	dd 5d d0             	fstpl  -0x30(%ebp)
5af33c:	9b db 45 c0          	fildl  -0x40(%ebp)
5af340:	dc 4d d8             	fmull  -0x28(%ebp)
5af343:	db 45 c4             	fildl  -0x3c(%ebp)
5af346:	de c1                	faddp  %st,%st(1)
5af348:	d8 05 9c fa 5a 00    	fadds  0x5afa9c
5af34e:	e8 6d 39 e5 ff       	call   0x402cc0
5af353:	89 45 bc             	mov    %eax,-0x44(%ebp)
5af356:	8b 45 bc             	mov    -0x44(%ebp),%eax
5af359:	2b 45 c4             	sub    -0x3c(%ebp),%eax
5af35c:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
5af362:	db 85 00 ff ff ff    	fildl  -0x100(%ebp)
5af368:	dc 4d d0             	fmull  -0x30(%ebp)
5af36b:	e8 50 39 e5 ff       	call   0x402cc0
5af370:	89 45 b8             	mov    %eax,-0x48(%ebp)
5af373:	db 45 bc             	fildl  -0x44(%ebp)
5af376:	dc 4d d0             	fmull  -0x30(%ebp)
5af379:	db 45 c0             	fildl  -0x40(%ebp)
5af37c:	de c1                	faddp  %st,%st(1)
5af37e:	d8 05 9c fa 5a 00    	fadds  0x5afa9c
5af384:	e8 37 39 e5 ff       	call   0x402cc0
5af389:	89 45 b4             	mov    %eax,-0x4c(%ebp)
5af38c:	8b 45 b4             	mov    -0x4c(%ebp),%eax
5af38f:	2b 45 c0             	sub    -0x40(%ebp),%eax
5af392:	2b 45 b8             	sub    -0x48(%ebp),%eax
5af395:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
5af39b:	db 85 00 ff ff ff    	fildl  -0x100(%ebp)
5af3a1:	dc 4d d8             	fmull  -0x28(%ebp)
5af3a4:	e8 17 39 e5 ff       	call   0x402cc0
5af3a9:	89 45 b0             	mov    %eax,-0x50(%ebp)
5af3ac:	8b 45 b8             	mov    -0x48(%ebp),%eax
5af3af:	03 c0                	add    %eax,%eax
5af3b1:	8b 55 b4             	mov    -0x4c(%ebp),%edx
5af3b4:	2b d0                	sub    %eax,%edx
5af3b6:	89 95 00 ff ff ff    	mov    %edx,-0x100(%ebp)
5af3bc:	db 85 00 ff ff ff    	fildl  -0x100(%ebp)
5af3c2:	e8 f9 38 e5 ff       	call   0x402cc0
5af3c7:	89 45 b4             	mov    %eax,-0x4c(%ebp)
5af3ca:	db 45 b4             	fildl  -0x4c(%ebp)
5af3cd:	dc 4d d8             	fmull  -0x28(%ebp)
5af3d0:	db 45 bc             	fildl  -0x44(%ebp)
5af3d3:	de c1                	faddp  %st,%st(1)
5af3d5:	d8 05 9c fa 5a 00    	fadds  0x5afa9c
5af3db:	8b 45 b0             	mov    -0x50(%ebp),%eax
5af3de:	03 c0                	add    %eax,%eax
5af3e0:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
5af3e6:	db 85 00 ff ff ff    	fildl  -0x100(%ebp)
5af3ec:	de e9                	fsubrp %st,%st(1)
5af3ee:	e8 cd 38 e5 ff       	call   0x402cc0
5af3f3:	89 45 ac             	mov    %eax,-0x54(%ebp)
5af3f6:	8b 45 c0             	mov    -0x40(%ebp),%eax
5af3f9:	03 45 bc             	add    -0x44(%ebp),%eax
5af3fc:	03 45 b4             	add    -0x4c(%ebp),%eax
5af3ff:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
5af405:	db 85 00 ff ff ff    	fildl  -0x100(%ebp)
5af40b:	d8 3d a0 fa 5a 00    	fdivrs 0x5afaa0
5af411:	dd 9d 78 ff ff ff    	fstpl  -0x88(%ebp)
5af417:	9b                   	fwait
5af418:	8a 45 f4             	mov    -0xc(%ebp),%al
5af41b:	88 45 9b             	mov    %al,-0x65(%ebp)
5af41e:	8b 45 bc             	mov    -0x44(%ebp),%eax
5af421:	f7 6d c0             	imull  -0x40(%ebp)
5af424:	e8 83 33 e5 ff       	call   0x4027ac
5af429:	89 45 94             	mov    %eax,-0x6c(%ebp)
5af42c:	8b 45 c0             	mov    -0x40(%ebp),%eax
5af42f:	48                   	dec    %eax
5af430:	85 c0                	test   %eax,%eax
5af432:	0f 8c e9 01 00 00    	jl     0x5af621
5af438:	40                   	inc    %eax
5af439:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
5af43f:	33 f6                	xor    %esi,%esi
5af441:	dd 45 e8             	fldl   -0x18(%ebp)
5af444:	d8 1d 74 fa 5a 00    	fcomps 0x5afa74
5af44a:	df e0                	fnstsw %ax
5af44c:	9e                   	sahf
5af44d:	76 15                	jbe    0x5af464
5af44f:	89 b5 00 ff ff ff    	mov    %esi,-0x100(%ebp)
5af455:	db 85 00 ff ff ff    	fildl  -0x100(%ebp)
5af45b:	dc 4d d8             	fmull  -0x28(%ebp)
5af45e:	dd 5d c8             	fstpl  -0x38(%ebp)
5af461:	9b                   	fwait
5af462:	eb 18                	jmp    0x5af47c
5af464:	8b 45 c0             	mov    -0x40(%ebp),%eax
5af467:	2b c6                	sub    %esi,%eax
5af469:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
5af46f:	db 85 00 ff ff ff    	fildl  -0x100(%ebp)
5af475:	dc 4d d8             	fmull  -0x28(%ebp)
5af478:	dd 5d c8             	fstpl  -0x38(%ebp)
5af47b:	9b dd 45 c8          	fldl   -0x38(%ebp)
5af47f:	e8 3c 38 e5 ff       	call   0x402cc0
5af484:	89 45 a8             	mov    %eax,-0x58(%ebp)
5af487:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
5af48b:	0f 84 0d 01 00 00    	je     0x5af59e
5af491:	db 45 a8             	fildl  -0x58(%ebp)
5af494:	dc 6d c8             	fsubrl -0x38(%ebp)
5af497:	d8 0d a4 fa 5a 00    	fmuls  0x5afaa4
5af49d:	e8 2a 38 e5 ff       	call   0x402ccc
5af4a2:	89 45 a0             	mov    %eax,-0x60(%ebp)
5af4a5:	b8 00 10 00 00       	mov    $0x1000,%eax
5af4aa:	2b 45 a0             	sub    -0x60(%ebp),%eax
5af4ad:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
5af4b3:	db 85 00 ff ff ff    	fildl  -0x100(%ebp)
5af4b9:	e8 0e 38 e5 ff       	call   0x402ccc
5af4be:	89 45 9c             	mov    %eax,-0x64(%ebp)
5af4c1:	8b c6                	mov    %esi,%eax
5af4c3:	f7 6d bc             	imull  -0x44(%ebp)
5af4c6:	8b 55 94             	mov    -0x6c(%ebp),%edx
5af4c9:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
5af4cc:	8b 7d bc             	mov    -0x44(%ebp),%edi
5af4cf:	4f                   	dec    %edi
5af4d0:	85 ff                	test   %edi,%edi
5af4d2:	7c 0a                	jl     0x5af4de
5af4d4:	47                   	inc    %edi
5af4d5:	8a 45 9b             	mov    -0x65(%ebp),%al
5af4d8:	88 03                	mov    %al,(%ebx)
5af4da:	43                   	inc    %ebx
5af4db:	4f                   	dec    %edi
5af4dc:	75 f7                	jne    0x5af4d5
5af4de:	8a 45 9b             	mov    -0x65(%ebp),%al
5af4e1:	88 45 9a             	mov    %al,-0x66(%ebp)
5af4e4:	8b c6                	mov    %esi,%eax
5af4e6:	f7 6d bc             	imull  -0x44(%ebp)
5af4e9:	03 45 a8             	add    -0x58(%ebp),%eax
5af4ec:	8b 55 94             	mov    -0x6c(%ebp),%edx
5af4ef:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
5af4f2:	8b d6                	mov    %esi,%edx
5af4f4:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5af4f7:	8b 08                	mov    (%eax),%ecx
5af4f9:	ff 11                	call   *(%ecx)
5af4fb:	89 45 8c             	mov    %eax,-0x74(%ebp)
5af4fe:	8b 7d c4             	mov    -0x3c(%ebp),%edi
5af501:	4f                   	dec    %edi
5af502:	85 ff                	test   %edi,%edi
5af504:	7c 47                	jl     0x5af54d
5af506:	47                   	inc    %edi
5af507:	33 c0                	xor    %eax,%eax
5af509:	8a 45 9a             	mov    -0x66(%ebp),%al
5af50c:	f7 6d a0             	imull  -0x60(%ebp)
5af50f:	8b 55 8c             	mov    -0x74(%ebp),%edx
5af512:	0f b6 12             	movzbl (%edx),%edx
5af515:	0f af 55 9c          	imul   -0x64(%ebp),%edx
5af519:	03 c2                	add    %edx,%eax
5af51b:	05 00 08 00 00       	add    $0x800,%eax
5af520:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
5af526:	db 85 00 ff ff ff    	fildl  -0x100(%ebp)
5af52c:	d8 35 a4 fa 5a 00    	fdivs  0x5afaa4
5af532:	e8 89 37 e5 ff       	call   0x402cc0
5af537:	e8 f8 9e ff ff       	call   0x5a9434
5af53c:	88 03                	mov    %al,(%ebx)
5af53e:	8b 45 8c             	mov    -0x74(%ebp),%eax
5af541:	8a 00                	mov    (%eax),%al
5af543:	88 45 9a             	mov    %al,-0x66(%ebp)
5af546:	43                   	inc    %ebx
5af547:	ff 45 8c             	incl   -0x74(%ebp)
5af54a:	4f                   	dec    %edi
5af54b:	75 ba                	jne    0x5af507
5af54d:	83 7d a0 00          	cmpl   $0x0,-0x60(%ebp)
5af551:	0f 8e 94 00 00 00    	jle    0x5af5eb
5af557:	8b 45 a8             	mov    -0x58(%ebp),%eax
5af55a:	03 45 c4             	add    -0x3c(%ebp),%eax
5af55d:	3b 45 bc             	cmp    -0x44(%ebp),%eax
5af560:	0f 8d 85 00 00 00    	jge    0x5af5eb
5af566:	33 c0                	xor    %eax,%eax
5af568:	8a 45 9a             	mov    -0x66(%ebp),%al
5af56b:	f7 6d a0             	imull  -0x60(%ebp)
5af56e:	33 d2                	xor    %edx,%edx
5af570:	8a 55 9b             	mov    -0x65(%ebp),%dl
5af573:	0f af 55 9c          	imul   -0x64(%ebp),%edx
5af577:	03 c2                	add    %edx,%eax
5af579:	05 00 08 00 00       	add    $0x800,%eax
5af57e:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
5af584:	db 85 00 ff ff ff    	fildl  -0x100(%ebp)
5af58a:	d8 35 a4 fa 5a 00    	fdivs  0x5afaa4
5af590:	e8 2b 37 e5 ff       	call   0x402cc0
5af595:	e8 9a 9e ff ff       	call   0x5a9434
5af59a:	88 03                	mov    %al,(%ebx)
5af59c:	eb 4d                	jmp    0x5af5eb
5af59e:	8b c6                	mov    %esi,%eax
5af5a0:	f7 6d bc             	imull  -0x44(%ebp)
5af5a3:	8b 55 94             	mov    -0x6c(%ebp),%edx
5af5a6:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
5af5a9:	8b 7d a8             	mov    -0x58(%ebp),%edi
5af5ac:	4f                   	dec    %edi
5af5ad:	85 ff                	test   %edi,%edi
5af5af:	7c 0a                	jl     0x5af5bb
5af5b1:	47                   	inc    %edi
5af5b2:	8a 45 9b             	mov    -0x65(%ebp),%al
5af5b5:	88 03                	mov    %al,(%ebx)
5af5b7:	43                   	inc    %ebx
5af5b8:	4f                   	dec    %edi
5af5b9:	75 f7                	jne    0x5af5b2
5af5bb:	8b d6                	mov    %esi,%edx
5af5bd:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5af5c0:	8b 08                	mov    (%eax),%ecx
5af5c2:	ff 11                	call   *(%ecx)
5af5c4:	8b d0                	mov    %eax,%edx
5af5c6:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
5af5c9:	8b c3                	mov    %ebx,%eax
5af5cb:	e8 f0 88 e5 ff       	call   0x407ec0
5af5d0:	03 5d c4             	add    -0x3c(%ebp),%ebx
5af5d3:	8b 45 a8             	mov    -0x58(%ebp),%eax
5af5d6:	03 45 c4             	add    -0x3c(%ebp),%eax
5af5d9:	8b 7d bc             	mov    -0x44(%ebp),%edi
5af5dc:	4f                   	dec    %edi
5af5dd:	2b f8                	sub    %eax,%edi
5af5df:	7c 0a                	jl     0x5af5eb
5af5e1:	47                   	inc    %edi
5af5e2:	8a 45 9b             	mov    -0x65(%ebp),%al
5af5e5:	88 03                	mov    %al,(%ebx)
5af5e7:	43                   	inc    %ebx
5af5e8:	4f                   	dec    %edi
5af5e9:	75 f7                	jne    0x5af5e2
5af5eb:	66 83 7d 0e 00       	cmpw   $0x0,0xe(%ebp)
5af5f0:	74 22                	je     0x5af614
5af5f2:	89 b5 00 ff ff ff    	mov    %esi,-0x100(%ebp)
5af5f8:	db 85 00 ff ff ff    	fildl  -0x100(%ebp)
5af5fe:	dc 8d 78 ff ff ff    	fmull  -0x88(%ebp)
5af604:	e8 c3 36 e5 ff       	call   0x402ccc
5af609:	8b c8                	mov    %eax,%ecx
5af60b:	8b 55 08             	mov    0x8(%ebp),%edx
5af60e:	8b 45 10             	mov    0x10(%ebp),%eax
5af611:	ff 55 0c             	call   *0xc(%ebp)
5af614:	46                   	inc    %esi
5af615:	ff 8d 74 ff ff ff    	decl   -0x8c(%ebp)
5af61b:	0f 85 20 fe ff ff    	jne    0x5af441
5af621:	8b 45 bc             	mov    -0x44(%ebp),%eax
5af624:	f7 6d b4             	imull  -0x4c(%ebp)
5af627:	e8 80 31 e5 ff       	call   0x4027ac
5af62c:	89 45 90             	mov    %eax,-0x70(%ebp)
5af62f:	8b 45 bc             	mov    -0x44(%ebp),%eax
5af632:	48                   	dec    %eax
5af633:	85 c0                	test   %eax,%eax
5af635:	0f 8c f1 01 00 00    	jl     0x5af82c
5af63b:	40                   	inc    %eax
5af63c:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
5af642:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
5af649:	dd 45 e8             	fldl   -0x18(%ebp)
5af64c:	d8 1d 74 fa 5a 00    	fcomps 0x5afa74
5af652:	df e0                	fnstsw %ax
5af654:	9e                   	sahf
5af655:	76 1b                	jbe    0x5af672
5af657:	8b 45 bc             	mov    -0x44(%ebp),%eax
5af65a:	2b 45 a4             	sub    -0x5c(%ebp),%eax
5af65d:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
5af663:	db 85 00 ff ff ff    	fildl  -0x100(%ebp)
5af669:	dc 4d d0             	fmull  -0x30(%ebp)
5af66c:	dd 5d c8             	fstpl  -0x38(%ebp)
5af66f:	9b                   	fwait
5af670:	eb 0a                	jmp    0x5af67c
5af672:	db 45 a4             	fildl  -0x5c(%ebp)
5af675:	dc 4d d0             	fmull  -0x30(%ebp)
5af678:	dd 5d c8             	fstpl  -0x38(%ebp)
5af67b:	9b dd 45 c8          	fldl   -0x38(%ebp)
5af67f:	e8 3c 36 e5 ff       	call   0x402cc0
5af684:	89 45 a8             	mov    %eax,-0x58(%ebp)
5af687:	db 45 a8             	fildl  -0x58(%ebp)
5af68a:	dc 6d c8             	fsubrl -0x38(%ebp)
5af68d:	d8 0d a4 fa 5a 00    	fmuls  0x5afaa4
5af693:	e8 28 36 e5 ff       	call   0x402cc0
5af698:	89 45 a0             	mov    %eax,-0x60(%ebp)
5af69b:	b8 00 10 00 00       	mov    $0x1000,%eax
5af6a0:	2b 45 a0             	sub    -0x60(%ebp),%eax
5af6a3:	89 45 9c             	mov    %eax,-0x64(%ebp)
5af6a6:	8b 45 b8             	mov    -0x48(%ebp),%eax
5af6a9:	29 45 a8             	sub    %eax,-0x58(%ebp)
5af6ac:	8b 7d b4             	mov    -0x4c(%ebp),%edi
5af6af:	4f                   	dec    %edi
5af6b0:	85 ff                	test   %edi,%edi
5af6b2:	7c 18                	jl     0x5af6cc
5af6b4:	47                   	inc    %edi
5af6b5:	33 f6                	xor    %esi,%esi
5af6b7:	8b c6                	mov    %esi,%eax
5af6b9:	f7 6d bc             	imull  -0x44(%ebp)
5af6bc:	03 45 a4             	add    -0x5c(%ebp),%eax
5af6bf:	8b 55 90             	mov    -0x70(%ebp),%edx
5af6c2:	8a 4d 9b             	mov    -0x65(%ebp),%cl
5af6c5:	88 0c 02             	mov    %cl,(%edx,%eax,1)
5af6c8:	46                   	inc    %esi
5af6c9:	4f                   	dec    %edi
5af6ca:	75 eb                	jne    0x5af6b7
5af6cc:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
5af6d0:	0f 84 df 00 00 00    	je     0x5af7b5
5af6d6:	8a 45 9b             	mov    -0x65(%ebp),%al
5af6d9:	88 45 9a             	mov    %al,-0x66(%ebp)
5af6dc:	8b 7d c0             	mov    -0x40(%ebp),%edi
5af6df:	4f                   	dec    %edi
5af6e0:	85 ff                	test   %edi,%edi
5af6e2:	7c 6e                	jl     0x5af752
5af6e4:	47                   	inc    %edi
5af6e5:	33 f6                	xor    %esi,%esi
5af6e7:	8b 45 a8             	mov    -0x58(%ebp),%eax
5af6ea:	03 c6                	add    %esi,%eax
5af6ec:	85 c0                	test   %eax,%eax
5af6ee:	7c 5e                	jl     0x5af74e
5af6f0:	3b 45 b4             	cmp    -0x4c(%ebp),%eax
5af6f3:	7d 59                	jge    0x5af74e
5af6f5:	f7 6d bc             	imull  -0x44(%ebp)
5af6f8:	03 45 a4             	add    -0x5c(%ebp),%eax
5af6fb:	8b 55 90             	mov    -0x70(%ebp),%edx
5af6fe:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
5af701:	8b c6                	mov    %esi,%eax
5af703:	f7 6d bc             	imull  -0x44(%ebp)
5af706:	03 45 a4             	add    -0x5c(%ebp),%eax
5af709:	8b 55 94             	mov    -0x6c(%ebp),%edx
5af70c:	8a 04 02             	mov    (%edx,%eax,1),%al
5af70f:	88 45 99             	mov    %al,-0x67(%ebp)
5af712:	33 c0                	xor    %eax,%eax
5af714:	8a 45 9a             	mov    -0x66(%ebp),%al
5af717:	f7 6d a0             	imull  -0x60(%ebp)
5af71a:	33 d2                	xor    %edx,%edx
5af71c:	8a 55 99             	mov    -0x67(%ebp),%dl
5af71f:	0f af 55 9c          	imul   -0x64(%ebp),%edx
5af723:	03 c2                	add    %edx,%eax
5af725:	05 00 08 00 00       	add    $0x800,%eax
5af72a:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
5af730:	db 85 00 ff ff ff    	fildl  -0x100(%ebp)
5af736:	d8 35 a4 fa 5a 00    	fdivs  0x5afaa4
5af73c:	e8 7f 35 e5 ff       	call   0x402cc0
5af741:	e8 ee 9c ff ff       	call   0x5a9434
5af746:	88 03                	mov    %al,(%ebx)
5af748:	8a 45 99             	mov    -0x67(%ebp),%al
5af74b:	88 45 9a             	mov    %al,-0x66(%ebp)
5af74e:	46                   	inc    %esi
5af74f:	4f                   	dec    %edi
5af750:	75 95                	jne    0x5af6e7
5af752:	83 7d a0 00          	cmpl   $0x0,-0x60(%ebp)
5af756:	0f 8e 92 00 00 00    	jle    0x5af7ee
5af75c:	8b 45 a8             	mov    -0x58(%ebp),%eax
5af75f:	03 45 c0             	add    -0x40(%ebp),%eax
5af762:	3b 45 b4             	cmp    -0x4c(%ebp),%eax
5af765:	0f 8d 83 00 00 00    	jge    0x5af7ee
5af76b:	8b 45 a8             	mov    -0x58(%ebp),%eax
5af76e:	03 45 c0             	add    -0x40(%ebp),%eax
5af771:	f7 6d bc             	imull  -0x44(%ebp)
5af774:	03 45 a4             	add    -0x5c(%ebp),%eax
5af777:	8b 55 90             	mov    -0x70(%ebp),%edx
5af77a:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
5af77d:	33 c0                	xor    %eax,%eax