52e2ba:	2b 44 ca f8          	sub    -0x8(%edx,%ecx,8),%eax
52e2be:	99                   	cltd
52e2bf:	33 c2                	xor    %edx,%eax
52e2c1:	2b c2                	sub    %edx,%eax
52e2c3:	89 44 24 28          	mov    %eax,0x28(%esp)
52e2c7:	db 44 24 28          	fildl  0x28(%esp)
52e2cb:	dc 4c 24 08          	fmull  0x8(%esp)
52e2cf:	dd 5c 24 18          	fstpl  0x18(%esp)
52e2d3:	9b                   	fwait
52e2d4:	8b 03                	mov    (%ebx),%eax
52e2d6:	8b 44 e8 04          	mov    0x4(%eax,%ebp,8),%eax
52e2da:	8b 13                	mov    (%ebx),%edx
52e2dc:	2b 44 ca fc          	sub    -0x4(%edx,%ecx,8),%eax
52e2e0:	99                   	cltd
52e2e1:	33 c2                	xor    %edx,%eax
52e2e3:	2b c2                	sub    %edx,%eax
52e2e5:	89 44 24 28          	mov    %eax,0x28(%esp)
52e2e9:	db 44 24 28          	fildl  0x28(%esp)
52e2ed:	dc 4c 24 10          	fmull  0x10(%esp)
52e2f1:	dd 5c 24 20          	fstpl  0x20(%esp)
52e2f5:	9b dd 44 24 18       	fldl   0x18(%esp)
52e2fa:	dc 4c 24 18          	fmull  0x18(%esp)
52e2fe:	dd 44 24 20          	fldl   0x20(%esp)
52e302:	dc 4c 24 20          	fmull  0x20(%esp)
52e306:	de c1                	faddp  %st,%st(1)
52e308:	d9 fa                	fsqrt
52e30a:	dc 04 24             	faddl  (%esp)
52e30d:	dd 1c 24             	fstpl  (%esp)
52e310:	9b                   	fwait
52e311:	80 bf 70 05 00 00 00 	cmpb   $0x0,0x570(%edi)
52e318:	0f 84 82 00 00 00    	je     0x52e3a0
52e31e:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
52e322:	7e 7c                	jle    0x52e3a0
52e324:	80 bf 16 04 00 00 00 	cmpb   $0x0,0x416(%edi)
52e32b:	74 73                	je     0x52e3a0
52e32d:	8b 97 20 04 00 00    	mov    0x420(%edi),%edx
52e333:	8b c7                	mov    %edi,%eax
52e335:	e8 76 ae 0a 00       	call   0x5d91b0
52e33a:	8b 13                	mov    (%ebx),%edx
52e33c:	8b 4b 04             	mov    0x4(%ebx),%ecx
52e33f:	2b 44 ca f8          	sub    -0x8(%edx,%ecx,8),%eax
52e343:	99                   	cltd
52e344:	33 c2                	xor    %edx,%eax
52e346:	2b c2                	sub    %edx,%eax
52e348:	89 44 24 28          	mov    %eax,0x28(%esp)
52e34c:	db 44 24 28          	fildl  0x28(%esp)
52e350:	dc 4c 24 08          	fmull  0x8(%esp)
52e354:	dd 5c 24 18          	fstpl  0x18(%esp)
52e358:	9b                   	fwait
52e359:	8b 97 24 04 00 00    	mov    0x424(%edi),%edx
52e35f:	8b c7                	mov    %edi,%eax
52e361:	e8 96 ae 0a 00       	call   0x5d91fc
52e366:	8b 13                	mov    (%ebx),%edx
52e368:	8b 4b 04             	mov    0x4(%ebx),%ecx
52e36b:	2b 44 ca fc          	sub    -0x4(%edx,%ecx,8),%eax
52e36f:	99                   	cltd
52e370:	33 c2                	xor    %edx,%eax
52e372:	2b c2                	sub    %edx,%eax
52e374:	89 44 24 28          	mov    %eax,0x28(%esp)
52e378:	db 44 24 28          	fildl  0x28(%esp)
52e37c:	dc 4c 24 10          	fmull  0x10(%esp)
52e380:	dd 5c 24 20          	fstpl  0x20(%esp)
52e384:	9b dd 44 24 18       	fldl   0x18(%esp)
52e389:	dc 4c 24 18          	fmull  0x18(%esp)
52e38d:	dd 44 24 20          	fldl   0x20(%esp)
52e391:	dc 4c 24 20          	fmull  0x20(%esp)
52e395:	de c1                	faddp  %st,%st(1)
52e397:	d9 fa                	fsqrt
52e399:	dc 04 24             	faddl  (%esp)
52e39c:	dd 1c 24             	fstpl  (%esp)
52e39f:	9b dd 04 24          	fldl   (%esp)
52e3a3:	83 c4 2c             	add    $0x2c,%esp
52e3a6:	5d                   	pop    %ebp
52e3a7:	5f                   	pop    %edi
52e3a8:	5e                   	pop    %esi
52e3a9:	5b                   	pop    %ebx
52e3aa:	c3                   	ret
52e3ab:	90                   	nop
52e3ac:	8b 90 2c 04 00 00    	mov    0x42c(%eax),%edx
52e3b2:	52                   	push   %edx
52e3b3:	8b 90 74 05 00 00    	mov    0x574(%eax),%edx
52e3b9:	52                   	push   %edx
52e3ba:	8b 90 78 05 00 00    	mov    0x578(%eax),%edx
52e3c0:	52                   	push   %edx
52e3c1:	8a 90 c1 06 00 00    	mov    0x6c1(%eax),%dl
52e3c7:	52                   	push   %edx
52e3c8:	8b 90 5c 06 00 00    	mov    0x65c(%eax),%edx
52e3ce:	52                   	push   %edx
52e3cf:	8b 90 64 06 00 00    	mov    0x664(%eax),%edx
52e3d5:	52                   	push   %edx
52e3d6:	8a 90 c2 06 00 00    	mov    0x6c2(%eax),%dl
52e3dc:	52                   	push   %edx
52e3dd:	ff b0 b4 03 00 00    	push   0x3b4(%eax)
52e3e3:	ff b0 b0 03 00 00    	push   0x3b0(%eax)
52e3e9:	8d 90 10 07 00 00    	lea    0x710(%eax),%edx
52e3ef:	52                   	push   %edx
52e3f0:	8b 90 8c 06 00 00    	mov    0x68c(%eax),%edx
52e3f6:	52                   	push   %edx
52e3f7:	8b 88 28 04 00 00    	mov    0x428(%eax),%ecx
52e3fd:	8b 90 08 02 00 00    	mov    0x208(%eax),%edx
52e403:	e8 70 6b 00 00       	call   0x534f78
52e408:	c3                   	ret
52e409:	8d 40 00             	lea    0x0(%eax),%eax
52e40c:	53                   	push   %ebx
52e40d:	56                   	push   %esi
52e40e:	57                   	push   %edi
52e40f:	55                   	push   %ebp
52e410:	83 c4 e0             	add    $0xffffffe0,%esp
52e413:	8b d8                	mov    %eax,%ebx
52e415:	8b 93 28 06 00 00    	mov    0x628(%ebx),%edx
52e41b:	8b c3                	mov    %ebx,%eax
52e41d:	e8 d6 0a 00 00       	call   0x52eef8
52e422:	8b e8                	mov    %eax,%ebp
52e424:	8b d4                	mov    %esp,%edx
52e426:	8d 85 b8 00 00 00    	lea    0xb8(%ebp),%eax
52e42c:	b9 18 00 00 00       	mov    $0x18,%ecx
52e431:	e8 ea 45 ed ff       	call   0x402a20
52e436:	33 f6                	xor    %esi,%esi
52e438:	8b fc                	mov    %esp,%edi
52e43a:	81 bc f5 b8 00 00 00 	cmpl   $0xfff0bdc0,0xb8(%ebp,%esi,8)
52e441:	c0 bd f0 ff
52e445:	75 34                	jne    0x52e47b
52e447:	8b 93 78 05 00 00    	mov    0x578(%ebx),%edx
52e44d:	8b c3                	mov    %ebx,%eax
52e44f:	e8 a8 ad 0a 00       	call   0x5d91fc
52e454:	50                   	push   %eax
52e455:	8b 93 74 05 00 00    	mov    0x574(%ebx),%edx
52e45b:	8b c3                	mov    %ebx,%eax
52e45d:	e8 4e ad 0a 00       	call   0x5d91b0
52e462:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
52e466:	5a                   	pop    %edx
52e467:	e8 e0 c1 ee ff       	call   0x41a64c
52e46c:	8b 44 24 18          	mov    0x18(%esp),%eax
52e470:	89 07                	mov    %eax,(%edi)
52e472:	8b 44 24 1c          	mov    0x1c(%esp),%eax
52e476:	89 47 04             	mov    %eax,0x4(%edi)
52e479:	eb 09                	jmp    0x52e484
52e47b:	46                   	inc    %esi
52e47c:	83 c7 08             	add    $0x8,%edi
52e47f:	83 fe 03             	cmp    $0x3,%esi
52e482:	75 b6                	jne    0x52e43a
52e484:	6a 02                	push   $0x2
52e486:	8b 45 2c             	mov    0x2c(%ebp),%eax
52e489:	50                   	push   %eax
52e48a:	8b 45 34             	mov    0x34(%ebp),%eax
52e48d:	50                   	push   %eax
52e48e:	8d 85 e0 00 00 00    	lea    0xe0(%ebp),%eax
52e494:	50                   	push   %eax
52e495:	6a 01                	push   $0x1
52e497:	6a 01                	push   $0x1
52e499:	d9 05 c8 e4 52 00    	flds   0x52e4c8
52e49f:	dc b3 a0 03 00 00    	fdivl  0x3a0(%ebx)
52e4a5:	83 c4 f8             	add    $0xfffffff8,%esp
52e4a8:	dd 1c 24             	fstpl  (%esp)
52e4ab:	9b                   	fwait
52e4ac:	8d 4c 24 20          	lea    0x20(%esp),%ecx
52e4b0:	8b 93 08 02 00 00    	mov    0x208(%ebx),%edx
52e4b6:	8b c3                	mov    %ebx,%eax
52e4b8:	e8 df 66 00 00       	call   0x534b9c
52e4bd:	83 c4 20             	add    $0x20,%esp
52e4c0:	5d                   	pop    %ebp
52e4c1:	5f                   	pop    %edi
52e4c2:	5e                   	pop    %esi
52e4c3:	5b                   	pop    %ebx
52e4c4:	c3                   	ret
52e4c5:	00 00                	add    %al,(%eax)
52e4c7:	00 00                	add    %al,(%eax)
52e4c9:	00 c8                	add    %cl,%al
52e4cb:	42                   	inc    %edx
52e4cc:	53                   	push   %ebx
52e4cd:	56                   	push   %esi
52e4ce:	8b d8                	mov    %eax,%ebx
52e4d0:	8b b3 08 02 00 00    	mov    0x208(%ebx),%esi
52e4d6:	b2 03                	mov    $0x3,%dl
52e4d8:	8b 46 10             	mov    0x10(%esi),%eax
52e4db:	e8 84 9b ef ff       	call   0x428064
52e4e0:	ba 01 00 00 00       	mov    $0x1,%edx
52e4e5:	8b 46 10             	mov    0x10(%esi),%eax
52e4e8:	e8 c3 9b ef ff       	call   0x4280b0
52e4ed:	33 d2                	xor    %edx,%edx
52e4ef:	8b 46 10             	mov    0x10(%esi),%eax
52e4f2:	e8 89 9b ef ff       	call   0x428080
52e4f7:	8b 8b 2c 04 00 00    	mov    0x42c(%ebx),%ecx
52e4fd:	8b 93 28 04 00 00    	mov    0x428(%ebx),%edx
52e503:	8b c6                	mov    %esi,%eax
52e505:	e8 ca a2 ef ff       	call   0x4287d4
52e50a:	8b 8b 78 05 00 00    	mov    0x578(%ebx),%ecx
52e510:	8b 93 74 05 00 00    	mov    0x574(%ebx),%edx
52e516:	8b c6                	mov    %esi,%eax
52e518:	e8 57 a2 ef ff       	call   0x428774
52e51d:	5e                   	pop    %esi
52e51e:	5b                   	pop    %ebx
52e51f:	c3                   	ret
52e520:	53                   	push   %ebx
52e521:	56                   	push   %esi
52e522:	8b d8                	mov    %eax,%ebx
52e524:	8b b3 08 02 00 00    	mov    0x208(%ebx),%esi
52e52a:	b2 03                	mov    $0x3,%dl
52e52c:	8b 46 10             	mov    0x10(%esi),%eax
52e52f:	e8 30 9b ef ff       	call   0x428064
52e534:	ba 01 00 00 00       	mov    $0x1,%edx
52e539:	8b 46 10             	mov    0x10(%esi),%eax
52e53c:	e8 6f 9b ef ff       	call   0x4280b0
52e541:	33 d2                	xor    %edx,%edx
52e543:	8b 46 10             	mov    0x10(%esi),%eax
52e546:	e8 35 9b ef ff       	call   0x428080
52e54b:	8b 8b 2c 04 00 00    	mov    0x42c(%ebx),%ecx
52e551:	8b 93 28 04 00 00    	mov    0x428(%ebx),%edx
52e557:	8b c6                	mov    %esi,%eax
52e559:	e8 76 a2 ef ff       	call   0x4287d4
52e55e:	8b 8b 2c 04 00 00    	mov    0x42c(%ebx),%ecx
52e564:	8b 93 74 05 00 00    	mov    0x574(%ebx),%edx
52e56a:	8b c6                	mov    %esi,%eax
52e56c:	e8 03 a2 ef ff       	call   0x428774
52e571:	8b 8b 78 05 00 00    	mov    0x578(%ebx),%ecx
52e577:	8b 93 74 05 00 00    	mov    0x574(%ebx),%edx
52e57d:	8b c6                	mov    %esi,%eax
52e57f:	e8 f0 a1 ef ff       	call   0x428774
52e584:	8b 8b 78 05 00 00    	mov    0x578(%ebx),%ecx
52e58a:	8b 93 28 04 00 00    	mov    0x428(%ebx),%edx
52e590:	8b c6                	mov    %esi,%eax
52e592:	e8 dd a1 ef ff       	call   0x428774
52e597:	8b 8b 2c 04 00 00    	mov    0x42c(%ebx),%ecx
52e59d:	8b 93 28 04 00 00    	mov    0x428(%ebx),%edx
52e5a3:	8b c6                	mov    %esi,%eax
52e5a5:	e8 ca a1 ef ff       	call   0x428774
52e5aa:	5e                   	pop    %esi
52e5ab:	5b                   	pop    %ebx
52e5ac:	c3                   	ret
52e5ad:	8d 40 00             	lea    0x0(%eax),%eax
52e5b0:	53                   	push   %ebx
52e5b1:	56                   	push   %esi
52e5b2:	83 c4 f0             	add    $0xfffffff0,%esp
52e5b5:	8b d8                	mov    %eax,%ebx
52e5b7:	8b b3 08 02 00 00    	mov    0x208(%ebx),%esi
52e5bd:	b2 03                	mov    $0x3,%dl
52e5bf:	8b 46 10             	mov    0x10(%esi),%eax
52e5c2:	e8 9d 9a ef ff       	call   0x428064
52e5c7:	ba 01 00 00 00       	mov    $0x1,%edx
52e5cc:	8b 46 10             	mov    0x10(%esi),%eax
52e5cf:	e8 dc 9a ef ff       	call   0x4280b0
52e5d4:	33 d2                	xor    %edx,%edx
52e5d6:	8b 46 10             	mov    0x10(%esi),%eax
52e5d9:	e8 a2 9a ef ff       	call   0x428080
52e5de:	b2 01                	mov    $0x1,%dl
52e5e0:	8b 46 14             	mov    0x14(%esi),%eax
52e5e3:	e8 b8 9d ef ff       	call   0x4283a0
52e5e8:	8b 83 28 04 00 00    	mov    0x428(%ebx),%eax
52e5ee:	89 04 24             	mov    %eax,(%esp)
52e5f1:	8b 83 2c 04 00 00    	mov    0x42c(%ebx),%eax
52e5f7:	89 44 24 04          	mov    %eax,0x4(%esp)
52e5fb:	8b 83 74 05 00 00    	mov    0x574(%ebx),%eax
52e601:	89 44 24 08          	mov    %eax,0x8(%esp)
52e605:	8b 83 78 05 00 00    	mov    0x578(%ebx),%eax
52e60b:	89 44 24 0c          	mov    %eax,0xc(%esp)
52e60f:	8d 44 24 0c          	lea    0xc(%esp),%eax
52e613:	50                   	push   %eax
52e614:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
52e618:	8d 54 24 08          	lea    0x8(%esp),%edx
52e61c:	8d 44 24 04          	lea    0x4(%esp),%eax
52e620:	e8 63 ae 07 00       	call   0x5a9488
52e625:	8b 44 24 08          	mov    0x8(%esp),%eax
52e629:	40                   	inc    %eax
52e62a:	50                   	push   %eax
52e62b:	8b 44 24 10          	mov    0x10(%esp),%eax
52e62f:	40                   	inc    %eax
52e630:	50                   	push   %eax
52e631:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
52e635:	8b 54 24 08          	mov    0x8(%esp),%edx
52e639:	8b c6                	mov    %esi,%eax
52e63b:	e8 74 a0 ef ff       	call   0x4286b4
52e640:	83 c4 10             	add    $0x10,%esp
52e643:	5e                   	pop    %esi
52e644:	5b                   	pop    %ebx
52e645:	c3                   	ret
52e646:	8b c0                	mov    %eax,%eax
52e648:	53                   	push   %ebx
52e649:	56                   	push   %esi
52e64a:	8b f2                	mov    %edx,%esi
52e64c:	8b d8                	mov    %eax,%ebx
52e64e:	8b d6                	mov    %esi,%edx
52e650:	8b c3                	mov    %ebx,%eax
52e652:	e8 a1 08 00 00       	call   0x52eef8
52e657:	8a 40 10             	mov    0x10(%eax),%al
52e65a:	5e                   	pop    %esi
52e65b:	5b                   	pop    %ebx
52e65c:	c3                   	ret
52e65d:	8d 40 00             	lea    0x0(%eax),%eax
52e660:	53                   	push   %ebx
52e661:	56                   	push   %esi
52e662:	8b f2                	mov    %edx,%esi
52e664:	8b d8                	mov    %eax,%ebx
52e666:	8b d6                	mov    %esi,%edx
52e668:	8b c3                	mov    %ebx,%eax
52e66a:	e8 89 08 00 00       	call   0x52eef8
52e66f:	8b 40 2c             	mov    0x2c(%eax),%eax
52e672:	5e                   	pop    %esi
52e673:	5b                   	pop    %ebx
52e674:	c3                   	ret
52e675:	8d 40 00             	lea    0x0(%eax),%eax
52e678:	53                   	push   %ebx
52e679:	56                   	push   %esi
52e67a:	57                   	push   %edi
52e67b:	8b f9                	mov    %ecx,%edi
52e67d:	8b f2                	mov    %edx,%esi
52e67f:	8b d8                	mov    %eax,%ebx
52e681:	8b d6                	mov    %esi,%edx
52e683:	8b c3                	mov    %ebx,%eax
52e685:	e8 6e 08 00 00       	call   0x52eef8
52e68a:	89 78 2c             	mov    %edi,0x2c(%eax)
52e68d:	46                   	inc    %esi
52e68e:	74 0a                	je     0x52e69a
52e690:	8b c3                	mov    %ebx,%eax
52e692:	8b 10                	mov    (%eax),%edx
52e694:	ff 92 88 00 00 00    	call   *0x88(%edx)
52e69a:	5f                   	pop    %edi
52e69b:	5e                   	pop    %esi
52e69c:	5b                   	pop    %ebx
52e69d:	c3                   	ret
52e69e:	8b c0                	mov    %eax,%eax
52e6a0:	53                   	push   %ebx
52e6a1:	56                   	push   %esi
52e6a2:	57                   	push   %edi
52e6a3:	8b f9                	mov    %ecx,%edi
52e6a5:	8b da                	mov    %edx,%ebx
52e6a7:	8b f0                	mov    %eax,%esi
52e6a9:	8b d3                	mov    %ebx,%edx
52e6ab:	8b c6                	mov    %esi,%eax
52e6ad:	e8 46 08 00 00       	call   0x52eef8
52e6b2:	8b d7                	mov    %edi,%edx
52e6b4:	2b 10                	sub    (%eax),%edx
52e6b6:	01 50 08             	add    %edx,0x8(%eax)
52e6b9:	2b 38                	sub    (%eax),%edi
52e6bb:	01 38                	add    %edi,(%eax)
52e6bd:	43                   	inc    %ebx
52e6be:	74 0a                	je     0x52e6ca
52e6c0:	8b c6                	mov    %esi,%eax
52e6c2:	8b 10                	mov    (%eax),%edx
52e6c4:	ff 92 88 00 00 00    	call   *0x88(%edx)
52e6ca:	5f                   	pop    %edi
52e6cb:	5e                   	pop    %esi
52e6cc:	5b                   	pop    %ebx
52e6cd:	c3                   	ret
52e6ce:	8b c0                	mov    %eax,%eax
52e6d0:	53                   	push   %ebx
52e6d1:	56                   	push   %esi
52e6d2:	8b f2                	mov    %edx,%esi
52e6d4:	8b d8                	mov    %eax,%ebx
52e6d6:	8b d6                	mov    %esi,%edx
52e6d8:	8b c3                	mov    %ebx,%eax