5a734e:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a7351:	50                   	push   %eax
5a7352:	6a 00                	push   $0x0
5a7354:	8d 45 d8             	lea    -0x28(%ebp),%eax
5a7357:	50                   	push   %eax
5a7358:	e8 1b 09 e6 ff       	call   0x407c78
5a735d:	8b 45 dc             	mov    -0x24(%ebp),%eax
5a7360:	3b 45 f4             	cmp    -0xc(%ebp),%eax
5a7363:	7c c6                	jl     0x5a732b
5a7365:	53                   	push   %ebx
5a7366:	8b c7                	mov    %edi,%eax
5a7368:	e8 53 19 e8 ff       	call   0x428cc0
5a736d:	50                   	push   %eax
5a736e:	e8 85 03 e6 ff       	call   0x4076f8
5a7373:	53                   	push   %ebx
5a7374:	e8 97 01 e6 ff       	call   0x407510
5a7379:	8b 45 fc             	mov    -0x4(%ebp),%eax
5a737c:	50                   	push   %eax
5a737d:	33 c9                	xor    %ecx,%ecx
5a737f:	33 d2                	xor    %edx,%edx
5a7381:	8b c7                	mov    %edi,%eax
5a7383:	e8 4c 12 e8 ff       	call   0x4285d4
5a7388:	6a 00                	push   $0x0
5a738a:	8b c7                	mov    %edi,%eax
5a738c:	e8 2f 19 e8 ff       	call   0x428cc0
5a7391:	50                   	push   %eax
5a7392:	e8 61 03 e6 ff       	call   0x4076f8
5a7397:	5f                   	pop    %edi
5a7398:	5e                   	pop    %esi
5a7399:	5b                   	pop    %ebx
5a739a:	8b e5                	mov    %ebp,%esp
5a739c:	5d                   	pop    %ebp
5a739d:	c2 0c 00             	ret    $0xc
5a73a0:	55                   	push   %ebp
5a73a1:	8b ec                	mov    %esp,%ebp
5a73a3:	83 c4 d8             	add    $0xffffffd8,%esp
5a73a6:	53                   	push   %ebx
5a73a7:	56                   	push   %esi
5a73a8:	57                   	push   %edi
5a73a9:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5a73ac:	8b f8                	mov    %eax,%edi
5a73ae:	8b 75 10             	mov    0x10(%ebp),%esi
5a73b1:	8d 45 f8             	lea    -0x8(%ebp),%eax
5a73b4:	50                   	push   %eax
5a73b5:	8d 45 f4             	lea    -0xc(%ebp),%eax
5a73b8:	50                   	push   %eax
5a73b9:	8d 45 f0             	lea    -0x10(%ebp),%eax
5a73bc:	50                   	push   %eax
5a73bd:	8d 45 ec             	lea    -0x14(%ebp),%eax
5a73c0:	50                   	push   %eax
5a73c1:	8d 45 e8             	lea    -0x18(%ebp),%eax
5a73c4:	50                   	push   %eax
5a73c5:	8b c6                	mov    %esi,%eax
5a73c7:	8b 4d 08             	mov    0x8(%ebp),%ecx
5a73ca:	8b 55 0c             	mov    0xc(%ebp),%edx
5a73cd:	e8 22 b3 ff ff       	call   0x5a26f4
5a73d2:	33 db                	xor    %ebx,%ebx
5a73d4:	8b 45 ec             	mov    -0x14(%ebp),%eax
5a73d7:	89 45 e8             	mov    %eax,-0x18(%ebp)
5a73da:	83 7d e8 01          	cmpl   $0x1,-0x18(%ebp)
5a73de:	7d 07                	jge    0x5a73e7
5a73e0:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
5a73e7:	56                   	push   %esi
5a73e8:	57                   	push   %edi
5a73e9:	8d 7d d8             	lea    -0x28(%ebp),%edi
5a73ec:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5a73ed:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5a73ee:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5a73ef:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5a73f0:	5f                   	pop    %edi
5a73f1:	5e                   	pop    %esi
5a73f2:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a73f5:	f7 6d 08             	imull  0x8(%ebp)
5a73f8:	b9 64 00 00 00       	mov    $0x64,%ecx
5a73fd:	99                   	cltd
5a73fe:	f7 f9                	idiv   %ecx
5a7400:	8b 56 0c             	mov    0xc(%esi),%edx
5a7403:	2b d0                	sub    %eax,%edx
5a7405:	89 55 dc             	mov    %edx,-0x24(%ebp)
5a7408:	eb 34                	jmp    0x5a743e
5a740a:	8d 45 d8             	lea    -0x28(%ebp),%eax
5a740d:	50                   	push   %eax
5a740e:	e8 d5 00 e6 ff       	call   0x4074e8
5a7413:	8b f0                	mov    %eax,%esi
5a7415:	85 db                	test   %ebx,%ebx
5a7417:	74 12                	je     0x5a742b
5a7419:	6a 02                	push   $0x2
5a741b:	56                   	push   %esi
5a741c:	53                   	push   %ebx
5a741d:	53                   	push   %ebx
5a741e:	e8 25 00 e6 ff       	call   0x407448
5a7423:	56                   	push   %esi
5a7424:	e8 e7 00 e6 ff       	call   0x407510
5a7429:	eb 02                	jmp    0x5a742d
5a742b:	8b de                	mov    %esi,%ebx
5a742d:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a7430:	f7 d8                	neg    %eax
5a7432:	50                   	push   %eax
5a7433:	6a 00                	push   $0x0
5a7435:	8d 45 d8             	lea    -0x28(%ebp),%eax
5a7438:	50                   	push   %eax
5a7439:	e8 3a 08 e6 ff       	call   0x407c78
5a743e:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
5a7442:	7d c6                	jge    0x5a740a
5a7444:	53                   	push   %ebx
5a7445:	8b c7                	mov    %edi,%eax
5a7447:	e8 74 18 e8 ff       	call   0x428cc0
5a744c:	50                   	push   %eax
5a744d:	e8 a6 02 e6 ff       	call   0x4076f8
5a7452:	53                   	push   %ebx
5a7453:	e8 b8 00 e6 ff       	call   0x407510
5a7458:	8b 45 fc             	mov    -0x4(%ebp),%eax
5a745b:	50                   	push   %eax
5a745c:	33 c9                	xor    %ecx,%ecx
5a745e:	33 d2                	xor    %edx,%edx
5a7460:	8b c7                	mov    %edi,%eax
5a7462:	e8 6d 11 e8 ff       	call   0x4285d4
5a7467:	6a 00                	push   $0x0
5a7469:	8b c7                	mov    %edi,%eax
5a746b:	e8 50 18 e8 ff       	call   0x428cc0
5a7470:	50                   	push   %eax
5a7471:	e8 82 02 e6 ff       	call   0x4076f8
5a7476:	5f                   	pop    %edi
5a7477:	5e                   	pop    %esi
5a7478:	5b                   	pop    %ebx
5a7479:	8b e5                	mov    %ebp,%esp
5a747b:	5d                   	pop    %ebp
5a747c:	c2 0c 00             	ret    $0xc
5a747f:	90                   	nop
5a7480:	55                   	push   %ebp
5a7481:	8b ec                	mov    %esp,%ebp
5a7483:	83 c4 e0             	add    $0xffffffe0,%esp
5a7486:	53                   	push   %ebx
5a7487:	56                   	push   %esi
5a7488:	57                   	push   %edi
5a7489:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5a748c:	89 45 fc             	mov    %eax,-0x4(%ebp)
5a748f:	8d 45 f4             	lea    -0xc(%ebp),%eax
5a7492:	50                   	push   %eax
5a7493:	8d 45 f0             	lea    -0x10(%ebp),%eax
5a7496:	50                   	push   %eax
5a7497:	8d 45 ec             	lea    -0x14(%ebp),%eax
5a749a:	50                   	push   %eax
5a749b:	8d 45 e8             	lea    -0x18(%ebp),%eax
5a749e:	50                   	push   %eax
5a749f:	8d 45 e4             	lea    -0x1c(%ebp),%eax
5a74a2:	50                   	push   %eax
5a74a3:	8b 45 10             	mov    0x10(%ebp),%eax
5a74a6:	8b 4d 08             	mov    0x8(%ebp),%ecx
5a74a9:	8b 55 0c             	mov    0xc(%ebp),%edx
5a74ac:	e8 43 b2 ff ff       	call   0x5a26f4
5a74b1:	33 f6                	xor    %esi,%esi
5a74b3:	8b 45 ec             	mov    -0x14(%ebp),%eax
5a74b6:	99                   	cltd
5a74b7:	f7 7d e4             	idivl  -0x1c(%ebp)
5a74ba:	89 45 ec             	mov    %eax,-0x14(%ebp)
5a74bd:	8b 45 e8             	mov    -0x18(%ebp),%eax
5a74c0:	99                   	cltd
5a74c1:	f7 7d e4             	idivl  -0x1c(%ebp)
5a74c4:	89 45 e8             	mov    %eax,-0x18(%ebp)
5a74c7:	83 7d e4 01          	cmpl   $0x1,-0x1c(%ebp)
5a74cb:	7e 0d                	jle    0x5a74da
5a74cd:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5a74d0:	d1 f8                	sar    $1,%eax
5a74d2:	79 03                	jns    0x5a74d7
5a74d4:	83 d0 00             	adc    $0x0,%eax
5a74d7:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5a74da:	8b 45 f4             	mov    -0xc(%ebp),%eax
5a74dd:	99                   	cltd
5a74de:	f7 7d e4             	idivl  -0x1c(%ebp)
5a74e1:	89 45 f4             	mov    %eax,-0xc(%ebp)
5a74e4:	8b 45 f0             	mov    -0x10(%ebp),%eax
5a74e7:	99                   	cltd
5a74e8:	f7 7d e4             	idivl  -0x1c(%ebp)
5a74eb:	89 45 f0             	mov    %eax,-0x10(%ebp)
5a74ee:	8b 7d e4             	mov    -0x1c(%ebp),%edi
5a74f1:	83 ff 00             	cmp    $0x0,%edi
5a74f4:	7c 5b                	jl     0x5a7551
5a74f6:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
5a74f9:	83 fb 00             	cmp    $0x0,%ebx
5a74fc:	7c 4d                	jl     0x5a754b
5a74fe:	8b d7                	mov    %edi,%edx
5a7500:	0f af 55 f0          	imul   -0x10(%ebp),%edx
5a7504:	8b ca                	mov    %edx,%ecx
5a7506:	03 4d e8             	add    -0x18(%ebp),%ecx
5a7509:	51                   	push   %ecx
5a750a:	8b c3                	mov    %ebx,%eax
5a750c:	0f af 45 f4          	imul   -0xc(%ebp),%eax
5a7510:	8b c8                	mov    %eax,%ecx
5a7512:	03 4d ec             	add    -0x14(%ebp),%ecx
5a7515:	51                   	push   %ecx
5a7516:	2b 55 e8             	sub    -0x18(%ebp),%edx
5a7519:	52                   	push   %edx
5a751a:	2b 45 ec             	sub    -0x14(%ebp),%eax
5a751d:	50                   	push   %eax
5a751e:	e8 bd ff e5 ff       	call   0x4074e0
5a7523:	89 45 e0             	mov    %eax,-0x20(%ebp)
5a7526:	85 f6                	test   %esi,%esi
5a7528:	74 18                	je     0x5a7542
5a752a:	6a 02                	push   $0x2
5a752c:	8b 45 e0             	mov    -0x20(%ebp),%eax
5a752f:	50                   	push   %eax
5a7530:	56                   	push   %esi
5a7531:	56                   	push   %esi
5a7532:	e8 11 ff e5 ff       	call   0x407448
5a7537:	8b 45 e0             	mov    -0x20(%ebp),%eax
5a753a:	50                   	push   %eax
5a753b:	e8 d0 ff e5 ff       	call   0x407510
5a7540:	eb 03                	jmp    0x5a7545
5a7542:	8b 75 e0             	mov    -0x20(%ebp),%esi
5a7545:	4b                   	dec    %ebx
5a7546:	83 fb ff             	cmp    $0xffffffff,%ebx
5a7549:	75 b3                	jne    0x5a74fe
5a754b:	4f                   	dec    %edi
5a754c:	83 ff ff             	cmp    $0xffffffff,%edi
5a754f:	75 a5                	jne    0x5a74f6
5a7551:	56                   	push   %esi
5a7552:	8b 45 fc             	mov    -0x4(%ebp),%eax
5a7555:	e8 66 17 e8 ff       	call   0x428cc0
5a755a:	50                   	push   %eax
5a755b:	e8 98 01 e6 ff       	call   0x4076f8
5a7560:	56                   	push   %esi
5a7561:	e8 aa ff e5 ff       	call   0x407510
5a7566:	8b 45 f8             	mov    -0x8(%ebp),%eax
5a7569:	50                   	push   %eax
5a756a:	33 c9                	xor    %ecx,%ecx
5a756c:	33 d2                	xor    %edx,%edx
5a756e:	8b 45 fc             	mov    -0x4(%ebp),%eax
5a7571:	e8 5e 10 e8 ff       	call   0x4285d4
5a7576:	6a 00                	push   $0x0
5a7578:	8b 45 fc             	mov    -0x4(%ebp),%eax
5a757b:	e8 40 17 e8 ff       	call   0x428cc0
5a7580:	50                   	push   %eax
5a7581:	e8 72 01 e6 ff       	call   0x4076f8
5a7586:	5f                   	pop    %edi
5a7587:	5e                   	pop    %esi
5a7588:	5b                   	pop    %ebx
5a7589:	8b e5                	mov    %ebp,%esp
5a758b:	5d                   	pop    %ebp
5a758c:	c2 0c 00             	ret    $0xc
5a758f:	90                   	nop
5a7590:	55                   	push   %ebp
5a7591:	8b ec                	mov    %esp,%ebp
5a7593:	83 c4 d0             	add    $0xffffffd0,%esp
5a7596:	53                   	push   %ebx
5a7597:	56                   	push   %esi
5a7598:	57                   	push   %edi
5a7599:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5a759c:	8b f0                	mov    %eax,%esi
5a759e:	8b 5d 08             	mov    0x8(%ebp),%ebx
5a75a1:	85 db                	test   %ebx,%ebx
5a75a3:	0f 84 da 00 00 00    	je     0x5a7683
5a75a9:	8d 45 f8             	lea    -0x8(%ebp),%eax
5a75ac:	50                   	push   %eax
5a75ad:	8d 45 f4             	lea    -0xc(%ebp),%eax
5a75b0:	50                   	push   %eax
5a75b1:	8d 45 f0             	lea    -0x10(%ebp),%eax
5a75b4:	50                   	push   %eax
5a75b5:	8d 45 ec             	lea    -0x14(%ebp),%eax
5a75b8:	50                   	push   %eax
5a75b9:	8d 45 e8             	lea    -0x18(%ebp),%eax
5a75bc:	50                   	push   %eax
5a75bd:	8b 45 10             	mov    0x10(%ebp),%eax
5a75c0:	8b cb                	mov    %ebx,%ecx
5a75c2:	8b 55 0c             	mov    0xc(%ebp),%edx
5a75c5:	e8 2a b1 ff ff       	call   0x5a26f4
5a75ca:	8b 7d f8             	mov    -0x8(%ebp),%edi
5a75cd:	d1 ff                	sar    $1,%edi
5a75cf:	79 03                	jns    0x5a75d4
5a75d1:	83 d7 00             	adc    $0x0,%edi
5a75d4:	8b 45 f4             	mov    -0xc(%ebp),%eax
5a75d7:	d1 f8                	sar    $1,%eax
5a75d9:	79 03                	jns    0x5a75de
5a75db:	83 d0 00             	adc    $0x0,%eax
5a75de:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5a75e1:	c7 45 d8 35 c2 68 21 	movl   $0x2168c235,-0x28(%ebp)
5a75e8:	c7 45 dc a2 da 0f c9 	movl   $0xc90fdaa2,-0x24(%ebp)
5a75ef:	66 c7 45 e0 ff 3f    	movw   $0x3fff,-0x20(%ebp)
5a75f5:	db 6d d8             	fldt   -0x28(%ebp)
5a75f8:	d9 e0                	fchs
5a75fa:	83 c4 f4             	add    $0xfffffff4,%esp
5a75fd:	db 3c 24             	fstpt  (%esp)
5a7600:	9b                   	fwait
5a7601:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
5a7604:	db 45 d4             	fildl  -0x2c(%ebp)
5a7607:	db 2d 8c 76 5a 00    	fldt   0x5a768c
5a760d:	de c9                	fmulp  %st,%st(1)
5a760f:	d8 35 98 76 5a 00    	fdivs  0x5a7698
5a7615:	db 6d d8             	fldt   -0x28(%ebp)
5a7618:	de e9                	fsubrp %st,%st(1)
5a761a:	83 c4 f4             	add    $0xfffffff4,%esp
5a761d:	db 3c 24             	fstpt  (%esp)
5a7620:	9b                   	fwait
5a7621:	53                   	push   %ebx
5a7622:	8b c7                	mov    %edi,%eax
5a7624:	f7 e8                	imul   %eax
5a7626:	8b c8                	mov    %eax,%ecx
5a7628:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5a762b:	f7 e8                	imul   %eax
5a762d:	03 c8                	add    %eax,%ecx
5a762f:	89 4d d0             	mov    %ecx,-0x30(%ebp)
5a7632:	db 45 d0             	fildl  -0x30(%ebp)
5a7635:	d9 fa                	fsqrt
5a7637:	83 c4 f4             	add    $0xfffffff4,%esp
5a763a:	db 3c 24             	fstpt  (%esp)
5a763d:	9b                   	fwait
5a763e:	e8 6d 1c 00 00       	call   0x5a92b0
5a7643:	8b c8                	mov    %eax,%ecx
5a7645:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5a7648:	8b c7                	mov    %edi,%eax
5a764a:	e8 b1 af ff ff       	call   0x5a2600
5a764f:	8b d8                	mov    %eax,%ebx
5a7651:	53                   	push   %ebx
5a7652:	8b c6                	mov    %esi,%eax
5a7654:	e8 67 16 e8 ff       	call   0x428cc0
5a7659:	50                   	push   %eax
5a765a:	e8 99 00 e6 ff       	call   0x4076f8
5a765f:	53                   	push   %ebx
5a7660:	e8 ab fe e5 ff       	call   0x407510
5a7665:	8b 45 fc             	mov    -0x4(%ebp),%eax
5a7668:	50                   	push   %eax
5a7669:	33 c9                	xor    %ecx,%ecx
5a766b:	33 d2                	xor    %edx,%edx
5a766d:	8b c6                	mov    %esi,%eax
5a766f:	e8 60 0f e8 ff       	call   0x4285d4
5a7674:	6a 00                	push   $0x0
5a7676:	8b c6                	mov    %esi,%eax
5a7678:	e8 43 16 e8 ff       	call   0x428cc0
5a767d:	50                   	push   %eax
5a767e:	e8 75 00 e6 ff       	call   0x4076f8
5a7683:	5f                   	pop    %edi
5a7684:	5e                   	pop    %esi
5a7685:	5b                   	pop    %ebx
5a7686:	8b e5                	mov    %ebp,%esp
5a7688:	5d                   	pop    %ebp
5a7689:	c2 0c 00             	ret    $0xc
5a768c:	35 c2 68 21 a2       	xor    $0xa22168c2,%eax
5a7691:	da 0f                	fimull (%edi)
5a7693:	c9                   	leave
5a7694:	00 40 00             	add    %al,0x0(%eax)
5a7697:	00 00                	add    %al,(%eax)
5a7699:	00 48 42             	add    %cl,0x42(%eax)
5a769c:	55                   	push   %ebp
5a769d:	8b ec                	mov    %esp,%ebp
5a769f:	83 c4 d0             	add    $0xffffffd0,%esp
5a76a2:	53                   	push   %ebx
5a76a3:	56                   	push   %esi
5a76a4:	57                   	push   %edi
5a76a5:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5a76a8:	8b f0                	mov    %eax,%esi