5ba22c:	55                   	push   %ebp
5ba22d:	8b ec                	mov    %esp,%ebp
5ba22f:	81 c4 54 f6 ff ff    	add    $0xfffff654,%esp
5ba235:	53                   	push   %ebx
5ba236:	56                   	push   %esi
5ba237:	57                   	push   %edi
5ba238:	89 55 f8             	mov    %edx,-0x8(%ebp)
5ba23b:	89 45 fc             	mov    %eax,-0x4(%ebp)
5ba23e:	dd 45 10             	fldl   0x10(%ebp)
5ba241:	d8 1d 1c a6 5b 00    	fcomps 0x5ba61c
5ba247:	df e0                	fnstsw %ax
5ba249:	9e                   	sahf
5ba24a:	0f 86 c1 03 00 00    	jbe    0x5ba611
5ba250:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba253:	8b 10                	mov    (%eax),%edx
5ba255:	ff 52 08             	call   *0x8(%edx)
5ba258:	8b d8                	mov    %eax,%ebx
5ba25a:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba25d:	8b 10                	mov    (%eax),%edx
5ba25f:	ff 52 0c             	call   *0xc(%edx)
5ba262:	03 d8                	add    %eax,%ebx
5ba264:	89 9d 54 f6 ff ff    	mov    %ebx,-0x9ac(%ebp)
5ba26a:	db 85 54 f6 ff ff    	fildl  -0x9ac(%ebp)
5ba270:	d8 3d 20 a6 5b 00    	fdivrs 0x5ba620
5ba276:	dd 5d d8             	fstpl  -0x28(%ebp)
5ba279:	9b                   	fwait
5ba27a:	ff 75 14             	push   0x14(%ebp)
5ba27d:	ff 75 10             	push   0x10(%ebp)
5ba280:	8d 85 58 f6 ff ff    	lea    -0x9a8(%ebp),%eax
5ba286:	e8 99 fc ff ff       	call   0x5b9f24
5ba28b:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba28e:	8b 10                	mov    (%eax),%edx
5ba290:	ff 52 10             	call   *0x10(%edx)
5ba293:	2c 03                	sub    $0x3,%al
5ba295:	0f 84 d7 01 00 00    	je     0x5ba472
5ba29b:	2c 02                	sub    $0x2,%al
5ba29d:	0f 85 6e 03 00 00    	jne    0x5ba611
5ba2a3:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba2a6:	8b 10                	mov    (%eax),%edx
5ba2a8:	ff 52 0c             	call   *0xc(%edx)
5ba2ab:	8b d8                	mov    %eax,%ebx
5ba2ad:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba2b0:	8b 10                	mov    (%eax),%edx
5ba2b2:	ff 52 08             	call   *0x8(%edx)
5ba2b5:	3b d8                	cmp    %eax,%ebx
5ba2b7:	7e 15                	jle    0x5ba2ce
5ba2b9:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba2bc:	8b 10                	mov    (%eax),%edx
5ba2be:	ff 52 0c             	call   *0xc(%edx)
5ba2c1:	8d 04 40             	lea    (%eax,%eax,2),%eax
5ba2c4:	e8 e3 84 e4 ff       	call   0x4027ac
5ba2c9:	89 45 f0             	mov    %eax,-0x10(%ebp)
5ba2cc:	eb 13                	jmp    0x5ba2e1
5ba2ce:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba2d1:	8b 10                	mov    (%eax),%edx
5ba2d3:	ff 52 08             	call   *0x8(%edx)
5ba2d6:	8d 04 40             	lea    (%eax,%eax,2),%eax
5ba2d9:	e8 ce 84 e4 ff       	call   0x4027ac
5ba2de:	89 45 f0             	mov    %eax,-0x10(%ebp)
5ba2e1:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba2e4:	8b 10                	mov    (%eax),%edx
5ba2e6:	ff 52 08             	call   *0x8(%edx)
5ba2e9:	48                   	dec    %eax
5ba2ea:	85 c0                	test   %eax,%eax
5ba2ec:	7c 72                	jl     0x5ba360
5ba2ee:	40                   	inc    %eax
5ba2ef:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5ba2f2:	33 db                	xor    %ebx,%ebx
5ba2f4:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba2f7:	8b 10                	mov    (%eax),%edx
5ba2f9:	ff 52 0c             	call   *0xc(%edx)
5ba2fc:	50                   	push   %eax
5ba2fd:	8b d3                	mov    %ebx,%edx
5ba2ff:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba302:	8b 08                	mov    (%eax),%ecx
5ba304:	ff 11                	call   *(%ecx)
5ba306:	8b d0                	mov    %eax,%edx
5ba308:	8d 85 58 f6 ff ff    	lea    -0x9a8(%ebp),%eax
5ba30e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5ba311:	e8 da fc ff ff       	call   0x5b9ff0
5ba316:	8b d3                	mov    %ebx,%edx
5ba318:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba31b:	8b 08                	mov    (%eax),%ecx
5ba31d:	ff 11                	call   *(%ecx)
5ba31f:	50                   	push   %eax
5ba320:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba323:	8b 10                	mov    (%eax),%edx
5ba325:	ff 52 0c             	call   *0xc(%edx)
5ba328:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5ba32b:	8b 55 f0             	mov    -0x10(%ebp),%edx
5ba32e:	58                   	pop    %eax
5ba32f:	e8 8c db e4 ff       	call   0x407ec0
5ba334:	66 83 7d 0a 00       	cmpw   $0x0,0xa(%ebp)
5ba339:	74 1f                	je     0x5ba35a
5ba33b:	89 9d 54 f6 ff ff    	mov    %ebx,-0x9ac(%ebp)
5ba341:	db 85 54 f6 ff ff    	fildl  -0x9ac(%ebp)
5ba347:	dc 4d d8             	fmull  -0x28(%ebp)
5ba34a:	e8 7d 89 e4 ff       	call   0x402ccc
5ba34f:	8b c8                	mov    %eax,%ecx
5ba351:	8b 55 f8             	mov    -0x8(%ebp),%edx
5ba354:	8b 45 0c             	mov    0xc(%ebp),%eax
5ba357:	ff 55 08             	call   *0x8(%ebp)
5ba35a:	43                   	inc    %ebx
5ba35b:	ff 4d d4             	decl   -0x2c(%ebp)
5ba35e:	75 94                	jne    0x5ba2f4
5ba360:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba363:	8b 10                	mov    (%eax),%edx
5ba365:	ff 52 08             	call   *0x8(%edx)
5ba368:	8d 04 40             	lea    (%eax,%eax,2),%eax
5ba36b:	e8 3c 84 e4 ff       	call   0x4027ac
5ba370:	89 45 ec             	mov    %eax,-0x14(%ebp)
5ba373:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba376:	8b 10                	mov    (%eax),%edx
5ba378:	ff 52 0c             	call   *0xc(%edx)
5ba37b:	48                   	dec    %eax
5ba37c:	85 c0                	test   %eax,%eax
5ba37e:	0f 8c d9 00 00 00    	jl     0x5ba45d
5ba384:	40                   	inc    %eax
5ba385:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5ba388:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
5ba38f:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba392:	8b 10                	mov    (%eax),%edx
5ba394:	ff 52 08             	call   *0x8(%edx)
5ba397:	8b f0                	mov    %eax,%esi
5ba399:	4e                   	dec    %esi
5ba39a:	85 f6                	test   %esi,%esi
5ba39c:	7c 2c                	jl     0x5ba3ca
5ba39e:	46                   	inc    %esi
5ba39f:	33 db                	xor    %ebx,%ebx
5ba3a1:	8b d3                	mov    %ebx,%edx
5ba3a3:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba3a6:	8b 08                	mov    (%eax),%ecx
5ba3a8:	ff 11                	call   *(%ecx)
5ba3aa:	8b 55 f4             	mov    -0xc(%ebp),%edx
5ba3ad:	8d 14 52             	lea    (%edx,%edx,2),%edx
5ba3b0:	8d 0c 5b             	lea    (%ebx,%ebx,2),%ecx
5ba3b3:	8b 7d f0             	mov    -0x10(%ebp),%edi
5ba3b6:	03 f9                	add    %ecx,%edi
5ba3b8:	66 8b 0c 10          	mov    (%eax,%edx,1),%cx
5ba3bc:	66 89 0f             	mov    %cx,(%edi)
5ba3bf:	8a 4c 10 02          	mov    0x2(%eax,%edx,1),%cl
5ba3c3:	88 4f 02             	mov    %cl,0x2(%edi)
5ba3c6:	43                   	inc    %ebx
5ba3c7:	4e                   	dec    %esi
5ba3c8:	75 d7                	jne    0x5ba3a1
5ba3ca:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba3cd:	8b 10                	mov    (%eax),%edx
5ba3cf:	ff 52 08             	call   *0x8(%edx)
5ba3d2:	50                   	push   %eax
5ba3d3:	8d 85 58 f6 ff ff    	lea    -0x9a8(%ebp),%eax
5ba3d9:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5ba3dc:	8b 55 f0             	mov    -0x10(%ebp),%edx
5ba3df:	e8 0c fc ff ff       	call   0x5b9ff0
5ba3e4:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba3e7:	8b 10                	mov    (%eax),%edx
5ba3e9:	ff 52 08             	call   *0x8(%edx)
5ba3ec:	8b f0                	mov    %eax,%esi
5ba3ee:	4e                   	dec    %esi
5ba3ef:	85 f6                	test   %esi,%esi
5ba3f1:	7c 2d                	jl     0x5ba420
5ba3f3:	46                   	inc    %esi
5ba3f4:	33 db                	xor    %ebx,%ebx
5ba3f6:	8b d3                	mov    %ebx,%edx
5ba3f8:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba3fb:	8b 08                	mov    (%eax),%ecx
5ba3fd:	ff 11                	call   *(%ecx)
5ba3ff:	8b 55 f4             	mov    -0xc(%ebp),%edx
5ba402:	8d 14 52             	lea    (%edx,%edx,2),%edx
5ba405:	8d 0c 5b             	lea    (%ebx,%ebx,2),%ecx
5ba408:	8b 7d ec             	mov    -0x14(%ebp),%edi
5ba40b:	8d 14 10             	lea    (%eax,%edx,1),%edx
5ba40e:	66 8b 04 0f          	mov    (%edi,%ecx,1),%ax
5ba412:	66 89 02             	mov    %ax,(%edx)
5ba415:	8a 44 0f 02          	mov    0x2(%edi,%ecx,1),%al
5ba419:	88 42 02             	mov    %al,0x2(%edx)
5ba41c:	43                   	inc    %ebx
5ba41d:	4e                   	dec    %esi
5ba41e:	75 d6                	jne    0x5ba3f6
5ba420:	66 83 7d 0a 00       	cmpw   $0x0,0xa(%ebp)
5ba425:	74 2a                	je     0x5ba451
5ba427:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba42a:	8b 10                	mov    (%eax),%edx
5ba42c:	ff 52 08             	call   *0x8(%edx)
5ba42f:	03 45 f4             	add    -0xc(%ebp),%eax
5ba432:	89 85 54 f6 ff ff    	mov    %eax,-0x9ac(%ebp)
5ba438:	db 85 54 f6 ff ff    	fildl  -0x9ac(%ebp)
5ba43e:	dc 4d d8             	fmull  -0x28(%ebp)
5ba441:	e8 86 88 e4 ff       	call   0x402ccc
5ba446:	8b c8                	mov    %eax,%ecx
5ba448:	8b 55 f8             	mov    -0x8(%ebp),%edx
5ba44b:	8b 45 0c             	mov    0xc(%ebp),%eax
5ba44e:	ff 55 08             	call   *0x8(%ebp)
5ba451:	ff 45 f4             	incl   -0xc(%ebp)
5ba454:	ff 4d d4             	decl   -0x2c(%ebp)
5ba457:	0f 85 32 ff ff ff    	jne    0x5ba38f
5ba45d:	8b 45 ec             	mov    -0x14(%ebp),%eax
5ba460:	e8 67 83 e4 ff       	call   0x4027cc
5ba465:	8b 45 f0             	mov    -0x10(%ebp),%eax
5ba468:	e8 5f 83 e4 ff       	call   0x4027cc
5ba46d:	e9 9f 01 00 00       	jmp    0x5ba611
5ba472:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba475:	8b 10                	mov    (%eax),%edx
5ba477:	ff 52 0c             	call   *0xc(%edx)
5ba47a:	8b d8                	mov    %eax,%ebx
5ba47c:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba47f:	8b 10                	mov    (%eax),%edx
5ba481:	ff 52 08             	call   *0x8(%edx)
5ba484:	3b d8                	cmp    %eax,%ebx
5ba486:	7e 12                	jle    0x5ba49a
5ba488:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba48b:	8b 10                	mov    (%eax),%edx
5ba48d:	ff 52 0c             	call   *0xc(%edx)
5ba490:	e8 17 83 e4 ff       	call   0x4027ac
5ba495:	89 45 e8             	mov    %eax,-0x18(%ebp)
5ba498:	eb 10                	jmp    0x5ba4aa
5ba49a:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba49d:	8b 10                	mov    (%eax),%edx
5ba49f:	ff 52 08             	call   *0x8(%edx)
5ba4a2:	e8 05 83 e4 ff       	call   0x4027ac
5ba4a7:	89 45 e8             	mov    %eax,-0x18(%ebp)
5ba4aa:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba4ad:	8b 10                	mov    (%eax),%edx
5ba4af:	ff 52 08             	call   *0x8(%edx)
5ba4b2:	48                   	dec    %eax
5ba4b3:	85 c0                	test   %eax,%eax
5ba4b5:	7c 71                	jl     0x5ba528
5ba4b7:	40                   	inc    %eax
5ba4b8:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5ba4bb:	33 db                	xor    %ebx,%ebx
5ba4bd:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba4c0:	8b 10                	mov    (%eax),%edx
5ba4c2:	ff 52 0c             	call   *0xc(%edx)
5ba4c5:	50                   	push   %eax
5ba4c6:	8b d3                	mov    %ebx,%edx
5ba4c8:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba4cb:	8b 08                	mov    (%eax),%ecx
5ba4cd:	ff 11                	call   *(%ecx)
5ba4cf:	8b d0                	mov    %eax,%edx
5ba4d1:	8d 85 58 f6 ff ff    	lea    -0x9a8(%ebp),%eax
5ba4d7:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5ba4da:	e8 65 fc ff ff       	call   0x5ba144
5ba4df:	8b d3                	mov    %ebx,%edx
5ba4e1:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba4e4:	8b 08                	mov    (%eax),%ecx
5ba4e6:	ff 11                	call   *(%ecx)
5ba4e8:	50                   	push   %eax
5ba4e9:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba4ec:	8b 10                	mov    (%eax),%edx
5ba4ee:	ff 52 0c             	call   *0xc(%edx)
5ba4f1:	8b c8                	mov    %eax,%ecx
5ba4f3:	8b 55 e8             	mov    -0x18(%ebp),%edx
5ba4f6:	58                   	pop    %eax
5ba4f7:	e8 c4 d9 e4 ff       	call   0x407ec0
5ba4fc:	66 83 7d 0a 00       	cmpw   $0x0,0xa(%ebp)
5ba501:	74 1f                	je     0x5ba522
5ba503:	89 9d 54 f6 ff ff    	mov    %ebx,-0x9ac(%ebp)
5ba509:	db 85 54 f6 ff ff    	fildl  -0x9ac(%ebp)
5ba50f:	dc 4d d8             	fmull  -0x28(%ebp)
5ba512:	e8 b5 87 e4 ff       	call   0x402ccc
5ba517:	8b c8                	mov    %eax,%ecx
5ba519:	8b 55 f8             	mov    -0x8(%ebp),%edx
5ba51c:	8b 45 0c             	mov    0xc(%ebp),%eax
5ba51f:	ff 55 08             	call   *0x8(%ebp)
5ba522:	43                   	inc    %ebx
5ba523:	ff 4d d4             	decl   -0x2c(%ebp)
5ba526:	75 95                	jne    0x5ba4bd
5ba528:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba52b:	8b 10                	mov    (%eax),%edx
5ba52d:	ff 52 08             	call   *0x8(%edx)
5ba530:	e8 77 82 e4 ff       	call   0x4027ac
5ba535:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5ba538:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba53b:	8b 10                	mov    (%eax),%edx
5ba53d:	ff 52 0c             	call   *0xc(%edx)
5ba540:	48                   	dec    %eax
5ba541:	85 c0                	test   %eax,%eax
5ba543:	0f 8c b8 00 00 00    	jl     0x5ba601
5ba549:	40                   	inc    %eax
5ba54a:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5ba54d:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
5ba554:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba557:	8b 10                	mov    (%eax),%edx
5ba559:	ff 52 08             	call   *0x8(%edx)
5ba55c:	8b f0                	mov    %eax,%esi
5ba55e:	4e                   	dec    %esi
5ba55f:	85 f6                	test   %esi,%esi
5ba561:	7c 1c                	jl     0x5ba57f
5ba563:	46                   	inc    %esi
5ba564:	33 db                	xor    %ebx,%ebx
5ba566:	8b d3                	mov    %ebx,%edx
5ba568:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba56b:	8b 08                	mov    (%eax),%ecx
5ba56d:	ff 11                	call   *(%ecx)
5ba56f:	8b 55 f4             	mov    -0xc(%ebp),%edx
5ba572:	8a 04 10             	mov    (%eax,%edx,1),%al
5ba575:	8b 55 e8             	mov    -0x18(%ebp),%edx
5ba578:	88 04 1a             	mov    %al,(%edx,%ebx,1)
5ba57b:	43                   	inc    %ebx
5ba57c:	4e                   	dec    %esi
5ba57d:	75 e7                	jne    0x5ba566
5ba57f:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba582:	8b 10                	mov    (%eax),%edx
5ba584:	ff 52 08             	call   *0x8(%edx)
5ba587:	50                   	push   %eax
5ba588:	8d 85 58 f6 ff ff    	lea    -0x9a8(%ebp),%eax
5ba58e:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5ba591:	8b 55 e8             	mov    -0x18(%ebp),%edx
5ba594:	e8 ab fb ff ff       	call   0x5ba144
5ba599:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba59c:	8b 10                	mov    (%eax),%edx
5ba59e:	ff 52 08             	call   *0x8(%edx)
5ba5a1:	8b f0                	mov    %eax,%esi
5ba5a3:	4e                   	dec    %esi
5ba5a4:	85 f6                	test   %esi,%esi
5ba5a6:	7c 1c                	jl     0x5ba5c4
5ba5a8:	46                   	inc    %esi
5ba5a9:	33 db                	xor    %ebx,%ebx
5ba5ab:	8b d3                	mov    %ebx,%edx
5ba5ad:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba5b0:	8b 08                	mov    (%eax),%ecx
5ba5b2:	ff 11                	call   *(%ecx)
5ba5b4:	8b 55 f4             	mov    -0xc(%ebp),%edx
5ba5b7:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5ba5ba:	8a 0c 19             	mov    (%ecx,%ebx,1),%cl
5ba5bd:	88 0c 10             	mov    %cl,(%eax,%edx,1)
5ba5c0:	43                   	inc    %ebx
5ba5c1:	4e                   	dec    %esi
5ba5c2:	75 e7                	jne    0x5ba5ab
5ba5c4:	66 83 7d 0a 00       	cmpw   $0x0,0xa(%ebp)
5ba5c9:	74 2a                	je     0x5ba5f5
5ba5cb:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ba5ce:	8b 10                	mov    (%eax),%edx
5ba5d0:	ff 52 08             	call   *0x8(%edx)
5ba5d3:	03 45 f4             	add    -0xc(%ebp),%eax
5ba5d6:	89 85 54 f6 ff ff    	mov    %eax,-0x9ac(%ebp)
5ba5dc:	db 85 54 f6 ff ff    	fildl  -0x9ac(%ebp)
5ba5e2:	dc 4d d8             	fmull  -0x28(%ebp)
5ba5e5:	e8 e2 86 e4 ff       	call   0x402ccc
5ba5ea:	8b c8                	mov    %eax,%ecx
5ba5ec:	8b 55 f8             	mov    -0x8(%ebp),%edx
5ba5ef:	8b 45 0c             	mov    0xc(%ebp),%eax
5ba5f2:	ff 55 08             	call   *0x8(%ebp)
5ba5f5:	ff 45 f4             	incl   -0xc(%ebp)
5ba5f8:	ff 4d d4             	decl   -0x2c(%ebp)
5ba5fb:	0f 85 53 ff ff ff    	jne    0x5ba554
5ba601:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5ba604:	e8 c3 81 e4 ff       	call   0x4027cc
5ba609:	8b 45 e8             	mov    -0x18(%ebp),%eax
5ba60c:	e8 bb 81 e4 ff       	call   0x4027cc
5ba611:	5f                   	pop    %edi