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)
586616:	8b 44 24 34          	mov    0x34(%esp),%eax
58661a:	89 44 24 2c          	mov    %eax,0x2c(%esp)
58661e:	8b c5                	mov    %ebp,%eax
586620:	e8 93 8d ff ff       	call   0x57f3b8
586625:	8b 44 24 04          	mov    0x4(%esp),%eax
586629:	e8 8a 8d ff ff       	call   0x57f3b8
58662e:	8b c3                	mov    %ebx,%eax
586630:	e8 5b d8 ff ff       	call   0x583e90
586635:	8d 4c 24 20          	lea    0x20(%esp),%ecx
586639:	8d 54 24 58          	lea    0x58(%esp),%edx
58663d:	33 c0                	xor    %eax,%eax
58663f:	e8 8c fd ff ff       	call   0x5863d0
586644:	f6 04 24 01          	testb  $0x1,(%esp)
586648:	75 24                	jne    0x58666e
58664a:	8d 44 24 70          	lea    0x70(%esp),%eax
58664e:	8b d7                	mov    %edi,%edx
586650:	e8 43 f8 ff ff       	call   0x585e98
586655:	8d 44 24 58          	lea    0x58(%esp),%eax
586659:	50                   	push   %eax
58665a:	e8 0d 55 ff ff       	call   0x57bb6c
58665f:	8b d0                	mov    %eax,%edx
586661:	8d 4c 24 74          	lea    0x74(%esp),%ecx
586665:	8b c6                	mov    %esi,%eax
586667:	e8 b4 f8 ff ff       	call   0x585f20
58666c:	eb 0d                	jmp    0x58667b
58666e:	8b fe                	mov    %esi,%edi
586670:	8d 74 24 58          	lea    0x58(%esp),%esi
586674:	b9 06 00 00 00       	mov    $0x6,%ecx
586679:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
58667b:	b8 01 00 00 00       	mov    $0x1,%eax
586680:	81 c4 88 00 00 00    	add    $0x88,%esp
586686:	5d                   	pop    %ebp
586687:	5f                   	pop    %edi
586688:	5e                   	pop    %esi
586689:	5b                   	pop    %ebx
58668a:	c3                   	ret
58668b:	00 00                	add    %al,(%eax)
58668d:	00 48 42             	add    %cl,0x42(%eax)
586690:	55                   	push   %ebp
586691:	8b ec                	mov    %esp,%ebp
586693:	83 c4 9c             	add    $0xffffff9c,%esp
586696:	53                   	push   %ebx
586697:	56                   	push   %esi
586698:	57                   	push   %edi
586699:	8b d9                	mov    %ecx,%ebx
58669b:	8b fa                	mov    %edx,%edi
58669d:	8b f0                	mov    %eax,%esi
58669f:	33 c9                	xor    %ecx,%ecx
5866a1:	8b d7                	mov    %edi,%edx
5866a3:	8b c6                	mov    %esi,%eax
5866a5:	e8 02 fe ff ff       	call   0x5864ac
5866aa:	85 c0                	test   %eax,%eax
5866ac:	75 26                	jne    0x5866d4
5866ae:	33 c0                	xor    %eax,%eax
5866b0:	89 43 10             	mov    %eax,0x10(%ebx)
5866b3:	89 43 14             	mov    %eax,0x14(%ebx)
5866b6:	8b 43 10             	mov    0x10(%ebx),%eax
5866b9:	89 43 08             	mov    %eax,0x8(%ebx)
5866bc:	8b 43 14             	mov    0x14(%ebx),%eax
5866bf:	89 43 0c             	mov    %eax,0xc(%ebx)
5866c2:	8b 43 08             	mov    0x8(%ebx),%eax
5866c5:	89 03                	mov    %eax,(%ebx)
5866c7:	8b 43 0c             	mov    0xc(%ebx),%eax
5866ca:	89 43 04             	mov    %eax,0x4(%ebx)
5866cd:	33 c0                	xor    %eax,%eax
5866cf:	e9 1d 01 00 00       	jmp    0x5867f1
5866d4:	8b c6                	mov    %esi,%eax
5866d6:	e8 e9 5f ff ff       	call   0x57c6c4
5866db:	89 45 f0             	mov    %eax,-0x10(%ebp)
5866de:	8d 45 ec             	lea    -0x14(%ebp),%eax
5866e1:	50                   	push   %eax
5866e2:	8d 4d f8             	lea    -0x8(%ebp),%ecx
5866e5:	8d 55 fc             	lea    -0x4(%ebp),%edx
5866e8:	8b 45 f0             	mov    -0x10(%ebp),%eax
5866eb:	e8 08 5f ff ff       	call   0x57c5f8
5866f0:	85 c0                	test   %eax,%eax
5866f2:	75 26                	jne    0x58671a
5866f4:	33 c0                	xor    %eax,%eax
5866f6:	89 43 10             	mov    %eax,0x10(%ebx)
5866f9:	89 43 14             	mov    %eax,0x14(%ebx)
5866fc:	8b 43 10             	mov    0x10(%ebx),%eax
5866ff:	89 43 08             	mov    %eax,0x8(%ebx)
586702:	8b 43 14             	mov    0x14(%ebx),%eax
586705:	89 43 0c             	mov    %eax,0xc(%ebx)
586708:	8b 43 08             	mov    0x8(%ebx),%eax
58670b:	89 03                	mov    %eax,(%ebx)
58670d:	8b 43 0c             	mov    0xc(%ebx),%eax
586710:	89 43 04             	mov    %eax,0x4(%ebx)
586713:	33 c0                	xor    %eax,%eax
586715:	e9 d7 00 00 00       	jmp    0x5867f1
58671a:	8b 45 ec             	mov    -0x14(%ebp),%eax
58671d:	c1 e0 03             	shl    $0x3,%eax
586720:	83 c8 02             	or     $0x2,%eax
586723:	89 45 e8             	mov    %eax,-0x18(%ebp)
586726:	33 c0                	xor    %eax,%eax
586728:	e8 1b db ff ff       	call   0x584248
58672d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
586730:	68 18 00 0a 00       	push   $0xa0018
586735:	57                   	push   %edi
586736:	68 00 01 00 00       	push   $0x100
58673b:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
58673e:	8b 55 e8             	mov    -0x18(%ebp),%edx
586741:	8b c6                	mov    %esi,%eax
586743:	e8 d8 1e 00 00       	call   0x588620
586748:	89 45 f4             	mov    %eax,-0xc(%ebp)
58674b:	6a 01                	push   $0x1
58674d:	8d 4d cc             	lea    -0x34(%ebp),%ecx
586750:	8b 55 f8             	mov    -0x8(%ebp),%edx
586753:	8b 45 f4             	mov    -0xc(%ebp),%eax
586756:	e8 51 e0 ff ff       	call   0x5847ac
58675b:	33 c0                	xor    %eax,%eax
58675d:	89 45 dc             	mov    %eax,-0x24(%ebp)
586760:	89 45 e0             	mov    %eax,-0x20(%ebp)
586763:	8b 45 dc             	mov    -0x24(%ebp),%eax
586766:	89 45 d4             	mov    %eax,-0x2c(%ebp)
586769:	8b 45 e0             	mov    -0x20(%ebp),%eax
58676c:	89 45 d8             	mov    %eax,-0x28(%ebp)
58676f:	dd 45 cc             	fldl   -0x34(%ebp)
586772:	d8 1d fc 67 58 00    	fcomps 0x5867fc
586778:	df e0                	fnstsw %ax
58677a:	9e                   	sahf
58677b:	76 0c                	jbe    0x586789
58677d:	33 c0                	xor    %eax,%eax
58677f:	89 45 cc             	mov    %eax,-0x34(%ebp)
586782:	c7 45 d0 00 00 49 40 	movl   $0x40490000,-0x30(%ebp)
586789:	8b 45 e4             	mov    -0x1c(%ebp),%eax
58678c:	e8 ff d6 ff ff       	call   0x583e90
586791:	8b 45 f4             	mov    -0xc(%ebp),%eax
586794:	e8 1f 8c ff ff       	call   0x57f3b8
586799:	8d 4d cc             	lea    -0x34(%ebp),%ecx
58679c:	8d 55 b4             	lea    -0x4c(%ebp),%edx
58679f:	33 c0                	xor    %eax,%eax
5867a1:	e8 2a fc ff ff       	call   0x5863d0
5867a6:	83 ff 03             	cmp    $0x3,%edi
5867a9:	75 0e                	jne    0x5867b9
5867ab:	8d 75 b4             	lea    -0x4c(%ebp),%esi
5867ae:	8b fb                	mov    %ebx,%edi
5867b0:	b9 06 00 00 00       	mov    $0x6,%ecx
5867b5:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
5867b7:	eb 33                	jmp    0x5867ec
5867b9:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
5867bd:	75 21                	jne    0x5867e0
5867bf:	8d 45 9c             	lea    -0x64(%ebp),%eax
5867c2:	8b d6                	mov    %esi,%edx
5867c4:	e8 cf f6 ff ff       	call   0x585e98
5867c9:	8d 45 b4             	lea    -0x4c(%ebp),%eax
5867cc:	50                   	push   %eax
5867cd:	e8 9a 53 ff ff       	call   0x57bb6c
5867d2:	8b d0                	mov    %eax,%edx
5867d4:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
5867d7:	8b c3                	mov    %ebx,%eax
5867d9:	e8 42 f7 ff ff       	call   0x585f20
5867de:	eb 0c                	jmp    0x5867ec
5867e0:	8d 75 b4             	lea    -0x4c(%ebp),%esi
5867e3:	8b fb                	mov    %ebx,%edi
5867e5:	b9 06 00 00 00       	mov    $0x6,%ecx
5867ea:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
5867ec:	b8 01 00 00 00       	mov    $0x1,%eax
5867f1:	5f                   	pop    %edi
5867f2:	5e                   	pop    %esi
5867f3:	5b                   	pop    %ebx
5867f4:	8b e5                	mov    %ebp,%esp
5867f6:	5d                   	pop    %ebp
5867f7:	c2 04 00             	ret    $0x4
5867fa:	00 00                	add    %al,(%eax)
5867fc:	00 00                	add    %al,(%eax)
5867fe:	48                   	dec    %eax
5867ff:	42                   	inc    %edx
586800:	55                   	push   %ebp
586801:	8b ec                	mov    %esp,%ebp
586803:	83 c4 88             	add    $0xffffff88,%esp
586806:	53                   	push   %ebx
586807:	56                   	push   %esi
586808:	57                   	push   %edi
586809:	8b f1                	mov    %ecx,%esi