586227:	5d                   	pop    %ebp
586228:	c2 08 00             	ret    $0x8
58622b:	00 47 73             	add    %al,0x73(%edi)
58622e:	64 e5 97             	fs in  $0x97,%eax
586231:	c1 18 91             	rcrl   $0x91,(%eax)
586234:	f8                   	clc
586235:	3f                   	aas
586236:	00 00                	add    %al,(%eax)
586238:	84 f6                	test   %dh,%dh
58623a:	12 da                	adc    %dl,%bl
58623c:	4b                   	dec    %ebx
58623d:	68 2f f9 01 40       	push   $0x4001f92f
586242:	00 00                	add    %al,(%eax)
586244:	8d b0 dc d3 08 cb    	lea    -0x34f72c24(%eax),%esi
58624a:	3d 8d fc 3f 00       	cmp    $0x3ffc8d,%eax
58624f:	00 53 56             	add    %dl,0x56(%ebx)
586252:	57                   	push   %edi
586253:	83 c4 e8             	add    $0xffffffe8,%esp
586256:	8b d9                	mov    %ecx,%ebx
586258:	8b f2                	mov    %edx,%esi
58625a:	8b f8                	mov    %eax,%edi
58625c:	dd 03                	fldl   (%ebx)
58625e:	d8 1d 2c 63 58 00    	fcomps 0x58632c
586264:	df e0                	fnstsw %ax
586266:	9e                   	sahf
586267:	75 38                	jne    0x5862a1
586269:	dd 43 08             	fldl   0x8(%ebx)
58626c:	d8 1d 2c 63 58 00    	fcomps 0x58632c
586272:	df e0                	fnstsw %ax
586274:	9e                   	sahf
586275:	75 2a                	jne    0x5862a1
586277:	dd 43 10             	fldl   0x10(%ebx)
58627a:	d8 1d 2c 63 58 00    	fcomps 0x58632c
586280:	df e0                	fnstsw %ax
586282:	9e                   	sahf
586283:	75 1c                	jne    0x5862a1
586285:	33 c0                	xor    %eax,%eax
586287:	89 06                	mov    %eax,(%esi)
586289:	89 46 04             	mov    %eax,0x4(%esi)
58628c:	33 c0                	xor    %eax,%eax
58628e:	89 46 08             	mov    %eax,0x8(%esi)
586291:	89 46 0c             	mov    %eax,0xc(%esi)
586294:	33 c0                	xor    %eax,%eax
586296:	89 46 10             	mov    %eax,0x10(%esi)
586299:	89 46 14             	mov    %eax,0x14(%esi)
58629c:	e9 83 00 00 00       	jmp    0x586324
5862a1:	85 ff                	test   %edi,%edi
5862a3:	75 07                	jne    0x5862ac
5862a5:	e8 c2 58 ff ff       	call   0x57bb6c
5862aa:	8b f8                	mov    %eax,%edi
5862ac:	dd 03                	fldl   (%ebx)
5862ae:	dc 37                	fdivl  (%edi)
5862b0:	83 c4 f8             	add    $0xfffffff8,%esp
5862b3:	dd 1c 24             	fstpl  (%esp)
5862b6:	9b                   	fwait
5862b7:	e8 2c ff ff ff       	call   0x5861e8
5862bc:	dd 1c 24             	fstpl  (%esp)
5862bf:	9b dd 43 08          	fldl   0x8(%ebx)
5862c3:	dc 77 08             	fdivl  0x8(%edi)
5862c6:	83 c4 f8             	add    $0xfffffff8,%esp
5862c9:	dd 1c 24             	fstpl  (%esp)
5862cc:	9b                   	fwait
5862cd:	e8 16 ff ff ff       	call   0x5861e8
5862d2:	dd 5c 24 08          	fstpl  0x8(%esp)
5862d6:	9b dd 43 10          	fldl   0x10(%ebx)
5862da:	dc 77 10             	fdivl  0x10(%edi)
5862dd:	83 c4 f8             	add    $0xfffffff8,%esp
5862e0:	dd 1c 24             	fstpl  (%esp)
5862e3:	9b                   	fwait
5862e4:	e8 ff fe ff ff       	call   0x5861e8
5862e9:	dd 5c 24 10          	fstpl  0x10(%esp)
5862ed:	9b d9 05 30 63 58 00 	flds   0x586330
5862f4:	dc 4c 24 08          	fmull  0x8(%esp)
5862f8:	d8 25 34 63 58 00    	fsubs  0x586334
5862fe:	dd 1e                	fstpl  (%esi)
586300:	9b dd 04 24          	fldl   (%esp)
586304:	dc 64 24 08          	fsubl  0x8(%esp)
586308:	d8 0d 38 63 58 00    	fmuls  0x586338
58630e:	dd 5e 08             	fstpl  0x8(%esi)
586311:	9b dd 44 24 08       	fldl   0x8(%esp)
586316:	dc 64 24 10          	fsubl  0x10(%esp)
58631a:	d8 0d 3c 63 58 00    	fmuls  0x58633c
586320:	dd 5e 10             	fstpl  0x10(%esi)
586323:	9b                   	fwait
586324:	83 c4 18             	add    $0x18,%esp
586327:	5f                   	pop    %edi
586328:	5e                   	pop    %esi
586329:	5b                   	pop    %ebx
58632a:	c3                   	ret
58632b:	00 00                	add    %al,(%eax)
58632d:	00 00                	add    %al,(%eax)
58632f:	00 00                	add    %al,(%eax)
586331:	00 e8                	add    %ch,%al
586333:	42                   	inc    %edx
586334:	00 00                	add    %al,(%eax)
586336:	80 41 00 00          	addb   $0x0,0x0(%ecx)
58633a:	fa                   	cli
58633b:	43                   	inc    %ebx
58633c:	00 00                	add    %al,(%eax)
58633e:	48                   	dec    %eax
58633f:	43                   	inc    %ebx
586340:	55                   	push   %ebp
586341:	8b ec                	mov    %esp,%ebp
586343:	83 c4 f0             	add    $0xfffffff0,%esp
586346:	db 2d a8 63 58 00    	fldt   0x5863a8
58634c:	dc 5d 08             	fcompl 0x8(%ebp)
58634f:	df e0                	fnstsw %ax
586351:	9e                   	sahf
586352:	72 3b                	jb     0x58638f
586354:	db 2d b4 63 58 00    	fldt   0x5863b4
58635a:	dc 6d 08             	fsubrl 0x8(%ebp)
58635d:	db 2d c0 63 58 00    	fldt   0x5863c0
586363:	de f9                	fdivrp %st,%st(1)
586365:	dd 5d f0             	fstpl  -0x10(%ebp)
586368:	9b dd 45 f0          	fldl   -0x10(%ebp)
58636c:	d8 1d cc 63 58 00    	fcomps 0x5863cc
586372:	df e0                	fnstsw %ax
586374:	9e                   	sahf
586375:	77 0a                	ja     0x586381
586377:	33 c0                	xor    %eax,%eax
586379:	89 45 f8             	mov    %eax,-0x8(%ebp)
58637c:	89 45 fc             	mov    %eax,-0x4(%ebp)
58637f:	eb 1b                	jmp    0x58639c
586381:	8b 45 f0             	mov    -0x10(%ebp),%eax
586384:	89 45 f8             	mov    %eax,-0x8(%ebp)
586387:	8b 45 f4             	mov    -0xc(%ebp),%eax
58638a:	89 45 fc             	mov    %eax,-0x4(%ebp)
58638d:	eb 0d                	jmp    0x58639c
58638f:	dd 45 08             	fldl   0x8(%ebp)
586392:	dc 4d 08             	fmull  0x8(%ebp)
586395:	dc 4d 08             	fmull  0x8(%ebp)
586398:	dd 5d f8             	fstpl  -0x8(%ebp)
58639b:	9b dd 45 f8          	fldl   -0x8(%ebp)
58639f:	8b e5                	mov    %ebp,%esp
5863a1:	5d                   	pop    %ebp
5863a2:	c2 08 00             	ret    $0x8
5863a5:	00 00                	add    %al,(%eax)
5863a7:	00 14 48             	add    %dl,(%eax,%ecx,2)
5863aa:	5c                   	pop    %esp
5863ab:	7f 80                	jg     0x58632d
5863ad:	ae                   	scas   %es:(%edi),%al
5863ae:	db d3                	fcmovnbe %st(3),%st
5863b0:	fc                   	cld
5863b1:	3f                   	aas
5863b2:	00 00                	add    %al,(%eax)
5863b4:	8d b0 dc d3 08 cb    	lea    -0x34f72c24(%eax),%esi
5863ba:	3d 8d fc 3f 00       	cmp    $0x3ffc8d,%eax
5863bf:	00 84 f6 12 da 4b 68 	add    %al,0x684bda12(%esi,%esi,8)
5863c6:	2f                   	das
5863c7:	f9                   	stc
5863c8:	01 40 00             	add    %eax,0x0(%eax)
5863cb:	00 00                	add    %al,(%eax)
5863cd:	00 00                	add    %al,(%eax)
5863cf:	00 53 56             	add    %dl,0x56(%ebx)
5863d2:	57                   	push   %edi
5863d3:	83 c4 e8             	add    $0xffffffe8,%esp
5863d6:	8b f9                	mov    %ecx,%edi
5863d8:	8b da                	mov    %edx,%ebx
5863da:	8b f0                	mov    %eax,%esi
5863dc:	dd 07                	fldl   (%edi)
5863de:	d8 1d 84 64 58 00    	fcomps 0x586484
5863e4:	df e0                	fnstsw %ax
5863e6:	9e                   	sahf
5863e7:	77 19                	ja     0x586402
5863e9:	33 c0                	xor    %eax,%eax
5863eb:	89 03                	mov    %eax,(%ebx)
5863ed:	89 43 04             	mov    %eax,0x4(%ebx)
5863f0:	33 c0                	xor    %eax,%eax
5863f2:	89 43 08             	mov    %eax,0x8(%ebx)
5863f5:	89 43 0c             	mov    %eax,0xc(%ebx)
5863f8:	33 c0                	xor    %eax,%eax
5863fa:	89 43 10             	mov    %eax,0x10(%ebx)
5863fd:	89 43 14             	mov    %eax,0x14(%ebx)
586400:	eb 7b                	jmp    0x58647d
586402:	85 f6                	test   %esi,%esi
586404:	75 07                	jne    0x58640d
586406:	e8 61 57 ff ff       	call   0x57bb6c
58640b:	8b f0                	mov    %eax,%esi
58640d:	dd 07                	fldl   (%edi)
58640f:	d8 05 88 64 58 00    	fadds  0x586488
586415:	d8 35 8c 64 58 00    	fdivs  0x58648c
58641b:	dd 5c 24 08          	fstpl  0x8(%esp)
58641f:	9b db 2d 90 64 58 00 	fldt   0x586490
586426:	dc 4f 08             	fmull  0x8(%edi)
586429:	dc 44 24 08          	faddl  0x8(%esp)
58642d:	dd 1c 24             	fstpl  (%esp)
586430:	9b db 2d 9c 64 58 00 	fldt   0x58649c
586437:	dc 4f 10             	fmull  0x10(%edi)
58643a:	dc 6c 24 08          	fsubrl 0x8(%esp)
58643e:	dd 5c 24 10          	fstpl  0x10(%esp)
586442:	9b                   	fwait
586443:	ff 74 24 04          	push   0x4(%esp)
586447:	ff 74 24 04          	push   0x4(%esp)
58644b:	e8 f0 fe ff ff       	call   0x586340
586450:	dc 0e                	fmull  (%esi)
586452:	dd 1b                	fstpl  (%ebx)
586454:	9b                   	fwait
586455:	ff 74 24 0c          	push   0xc(%esp)
586459:	ff 74 24 0c          	push   0xc(%esp)
58645d:	e8 de fe ff ff       	call   0x586340
586462:	dc 4e 08             	fmull  0x8(%esi)
586465:	dd 5b 08             	fstpl  0x8(%ebx)
586468:	9b                   	fwait
586469:	ff 74 24 14          	push   0x14(%esp)
58646d:	ff 74 24 14          	push   0x14(%esp)
586471:	e8 ca fe ff ff       	call   0x586340
586476:	dc 4e 10             	fmull  0x10(%esi)
586479:	dd 5b 10             	fstpl  0x10(%ebx)
58647c:	9b                   	fwait
58647d:	83 c4 18             	add    $0x18,%esp
586480:	5f                   	pop    %edi
586481:	5e                   	pop    %esi
586482:	5b                   	pop    %ebx
586483:	c3                   	ret
586484:	00 00                	add    %al,(%eax)
586486:	00 00                	add    %al,(%eax)
586488:	00 00                	add    %al,(%eax)
58648a:	80 41 00 00          	addb   $0x0,0x0(%ecx)
58648e:	e8 42 3b df 4f       	call   0x50379fd5
586493:	8d 97 6e 12 83 f6    	lea    -0x97ced92(%edi),%edx
586499:	3f                   	aas
58649a:	00 00                	add    %al,(%eax)
58649c:	0a d7                	or     %bh,%dl
58649e:	a3 70 3d 0a d7       	mov    %eax,0xd70a3d70
5864a3:	a3 f7 3f 00 00       	mov    %eax,0x3ff7
5864a8:	8b 40 10             	mov    0x10(%eax),%eax
5864ab:	c3                   	ret
5864ac:	53                   	push   %ebx
5864ad:	56                   	push   %esi
5864ae:	57                   	push   %edi
5864af:	8b f9                	mov    %ecx,%edi
5864b1:	8b f2                	mov    %edx,%esi
5864b3:	8b d8                	mov    %eax,%ebx
5864b5:	8b c3                	mov    %ebx,%eax
5864b7:	e8 30 6a ff ff       	call   0x57ceec
5864bc:	3d 6b 6e 69 6c       	cmp    $0x6c696e6b,%eax
5864c1:	74 37                	je     0x5864fa
5864c3:	83 ef 01             	sub    $0x1,%edi
5864c6:	72 07                	jb     0x5864cf
5864c8:	74 0c                	je     0x5864d6
5864ca:	4f                   	dec    %edi
5864cb:	74 10                	je     0x5864dd
5864cd:	eb 15                	jmp    0x5864e4
5864cf:	b8 6c 33 6a 00       	mov    $0x6a336c,%eax
5864d4:	eb 12                	jmp    0x5864e8
5864d6:	b8 7c 33 6a 00       	mov    $0x6a337c,%eax
5864db:	eb 0b                	jmp    0x5864e8
5864dd:	b8 8c 33 6a 00       	mov    $0x6a338c,%eax
5864e2:	eb 04                	jmp    0x5864e8
5864e4:	33 c0                	xor    %eax,%eax
5864e6:	eb 22                	jmp    0x58650a
5864e8:	8b d6                	mov    %esi,%edx
5864ea:	c1 e2 02             	shl    $0x2,%edx
5864ed:	03 c2                	add    %edx,%eax
5864ef:	8b 10                	mov    (%eax),%edx
5864f1:	8b c3                	mov    %ebx,%eax
5864f3:	e8 fc c0 ff ff       	call   0x5825f4
5864f8:	eb 10                	jmp    0x58650a
5864fa:	8b c3                	mov    %ebx,%eax
5864fc:	e8 a7 ff ff ff       	call   0x5864a8
586501:	3b f0                	cmp    %eax,%esi
586503:	0f 94 c0             	sete   %al
586506:	f6 d8                	neg    %al
586508:	1b c0                	sbb    %eax,%eax
58650a:	5f                   	pop    %edi
58650b:	5e                   	pop    %esi
58650c:	5b                   	pop    %ebx
58650d:	c3                   	ret
58650e:	8b c0                	mov    %eax,%eax
586510:	53                   	push   %ebx
586511:	56                   	push   %esi
586512:	57                   	push   %edi
586513:	55                   	push   %ebp
586514:	81 c4 78 ff ff ff    	add    $0xffffff78,%esp
58651a:	89 0c 24             	mov    %ecx,(%esp)
58651d:	8b fa                	mov    %edx,%edi
58651f:	8b f0                	mov    %eax,%esi
586521:	33 c9                	xor    %ecx,%ecx
586523:	33 d2                	xor    %edx,%edx
586525:	8b c7                	mov    %edi,%eax
586527:	e8 80 ff ff ff       	call   0x5864ac
58652c:	85 c0                	test   %eax,%eax
58652e:	75 26                	jne    0x586556
586530:	33 c0                	xor    %eax,%eax
586532:	89 46 10             	mov    %eax,0x10(%esi)
586535:	89 46 14             	mov    %eax,0x14(%esi)
586538:	8b 46 10             	mov    0x10(%esi),%eax
58653b:	89 46 08             	mov    %eax,0x8(%esi)
58653e:	8b 46 14             	mov    0x14(%esi),%eax
586541:	89 46 0c             	mov    %eax,0xc(%esi)
586544:	8b 46 08             	mov    0x8(%esi),%eax
586547:	89 06                	mov    %eax,(%esi)
586549:	8b 46 0c             	mov    0xc(%esi),%eax
58654c:	89 46 04             	mov    %eax,0x4(%esi)
58654f:	33 c0                	xor    %eax,%eax
586551:	e9 2a 01 00 00       	jmp    0x586680
586556:	33 c0                	xor    %eax,%eax
586558:	e8 eb dc ff ff       	call   0x584248
58655d:	8b d8                	mov    %eax,%ebx
58655f:	68 22 00 06 00       	push   $0x60022
586564:	6a 00                	push   $0x0
586566:	68 00 01 00 00       	push   $0x100
58656b:	8b cf                	mov    %edi,%ecx
58656d:	ba 18 00 0a 00       	mov    $0xa0018,%edx
586572:	8b c3                	mov    %ebx,%eax
586574:	e8 a7 20 00 00       	call   0x588620
586579:	8b e8                	mov    %eax,%ebp
58657b:	68 18 00 0a 00       	push   $0xa0018
586580:	6a 01                	push   $0x1
586582:	68 00 01 00 00       	push   $0x100
586587:	8b cb                	mov    %ebx,%ecx
586589:	ba 22 00 06 00       	mov    $0x60022,%edx
58658e:	8b c7                	mov    %edi,%eax
586590:	e8 8b 20 00 00       	call   0x588620
586595:	89 44 24 04          	mov    %eax,0x4(%esp)
586599:	33 c0                	xor    %eax,%eax
58659b:	89 44 24 18          	mov    %eax,0x18(%esp)
58659f:	89 44 24 1c          	mov    %eax,0x1c(%esp)
5865a3:	8b 44 24 18          	mov    0x18(%esp),%eax
5865a7:	89 44 24 10          	mov    %eax,0x10(%esp)
5865ab:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5865af:	89 44 24 14          	mov    %eax,0x14(%esp)
5865b3:	8b 44 24 10          	mov    0x10(%esp),%eax
5865b7:	89 44 24 08          	mov    %eax,0x8(%esp)
5865bb:	8b 44 24 14          	mov    0x14(%esp),%eax
5865bf:	89 44 24 0c          	mov    %eax,0xc(%esp)
5865c3:	6a 01                	push   $0x1
5865c5:	8d 4c 24 3c          	lea    0x3c(%esp),%ecx
5865c9:	8d 54 24 0c          	lea    0xc(%esp),%edx
5865cd:	8b c5                	mov    %ebp,%eax
5865cf:	e8 d8 e1 ff ff       	call   0x5847ac
5865d4:	6a 01                	push   $0x1
5865d6:	8d 4c 24 24          	lea    0x24(%esp),%ecx
5865da:	8d 54 24 3c          	lea    0x3c(%esp),%edx
5865de:	8b 44 24 08          	mov    0x8(%esp),%eax
5865e2:	e8 c5 e1 ff ff       	call   0x5847ac
5865e7:	dd 44 24 20          	fldl   0x20(%esp)
5865eb:	d8 1d 8c 66 58 00    	fcomps 0x58668c
5865f1:	df e0                	fnstsw %ax
5865f3:	9e                   	sahf
5865f4:	76 0e                	jbe    0x586604
5865f6:	33 c0                	xor    %eax,%eax
5865f8:	89 44 24 20          	mov    %eax,0x20(%esp)
5865fc:	c7 44 24 24 00 00 49 	movl   $0x40490000,0x24(%esp)
586603:	40
586604:	33 c0                	xor    %eax,%eax
586606:	89 44 24 30          	mov    %eax,0x30(%esp)
58660a:	89 44 24 34          	mov    %eax,0x34(%esp)
58660e:	8b 44 24 30          	mov    0x30(%esp),%eax
586612:	89 44 24 28          	mov    %eax,0x28(%esp)