585373:	46                   	inc    %esi
585374:	33 db                	xor    %ebx,%ebx
585376:	8b c3                	mov    %ebx,%eax
585378:	c1 e0 10             	shl    $0x10,%eax
58537b:	2b c3                	sub    %ebx,%eax
58537d:	89 44 24 40          	mov    %eax,0x40(%esp)
585381:	db 44 24 40          	fildl  0x40(%esp)
585385:	8b 04 24             	mov    (%esp),%eax
585388:	48                   	dec    %eax
585389:	89 44 24 44          	mov    %eax,0x44(%esp)
58538d:	db 44 24 44          	fildl  0x44(%esp)
585391:	de f9                	fdivrp %st,%st(1)
585393:	d8 05 c4 53 58 00    	fadds  0x5853c4
585399:	83 c4 f4             	add    $0xfffffff4,%esp
58539c:	db 3c 24             	fstpt  (%esp)
58539f:	9b                   	fwait
5853a0:	e8 5b d3 06 00       	call   0x5f2700
5853a5:	8d 4c 24 08          	lea    0x8(%esp),%ecx
5853a9:	8b 54 24 04          	mov    0x4(%esp),%edx
5853ad:	e8 da ef ff ff       	call   0x58438c
5853b2:	66 89 44 5f 04       	mov    %ax,0x4(%edi,%ebx,2)
5853b7:	43                   	inc    %ebx
5853b8:	4e                   	dec    %esi
5853b9:	75 bb                	jne    0x585376
5853bb:	8b c7                	mov    %edi,%eax
5853bd:	83 c4 48             	add    $0x48,%esp
5853c0:	5f                   	pop    %edi
5853c1:	5e                   	pop    %esi
5853c2:	5b                   	pop    %ebx
5853c3:	c3                   	ret
5853c4:	00 00                	add    %al,(%eax)
5853c6:	00 3f                	add    %bh,(%edi)
5853c8:	53                   	push   %ebx
5853c9:	56                   	push   %esi
5853ca:	57                   	push   %edi
5853cb:	83 c4 90             	add    $0xffffff90,%esp
5853ce:	8b d8                	mov    %eax,%ebx
5853d0:	8b 03                	mov    (%ebx),%eax
5853d2:	50                   	push   %eax
5853d3:	8d 44 24 04          	lea    0x4(%esp),%eax
5853d7:	b9 08 00 00 00       	mov    $0x8,%ecx
5853dc:	ba 01 00 00 00       	mov    $0x1,%edx
5853e1:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
5853e7:	8b c4                	mov    %esp,%eax
5853e9:	e8 c6 63 ff ff       	call   0x57b7b4
5853ee:	8b 04 24             	mov    (%esp),%eax
5853f1:	2d 00 ee 78 94       	sub    $0x9478ee00,%eax
5853f6:	74 17                	je     0x58540f
5853f8:	2d 76 84 fc ce       	sub    $0xcefc8476,%eax
5853fd:	74 10                	je     0x58540f
5853ff:	2d eb ff eb 0c       	sub    $0xcebffeb,%eax
585404:	0f 84 f7 00 00 00    	je     0x585501
58540a:	e9 a0 01 00 00       	jmp    0x5855af
58540f:	8b 03                	mov    (%ebx),%eax
585411:	50                   	push   %eax
585412:	8d 44 24 0c          	lea    0xc(%esp),%eax
585416:	b9 01 00 00 00       	mov    $0x1,%ecx
58541b:	ba 04 00 00 00       	mov    $0x4,%edx
585420:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
585426:	8d 44 24 08          	lea    0x8(%esp),%eax
58542a:	e8 85 63 ff ff       	call   0x57b7b4
58542f:	8b 44 24 08          	mov    0x8(%esp),%eax
585433:	83 e8 01             	sub    $0x1,%eax
585436:	72 04                	jb     0x58543c
585438:	74 2f                	je     0x585469
58543a:	eb 73                	jmp    0x5854af
58543c:	b8 02 00 00 00       	mov    $0x2,%eax
585441:	e8 c2 ba ff ff       	call   0x580f08
585446:	8b f0                	mov    %eax,%esi
585448:	85 f6                	test   %esi,%esi
58544a:	75 07                	jne    0x585453
58544c:	33 c0                	xor    %eax,%eax
58544e:	e9 5e 01 00 00       	jmp    0x5855b1
585453:	66 c7 46 04 00 00    	movw   $0x0,0x4(%esi)
585459:	8d 46 04             	lea    0x4(%esi),%eax
58545c:	66 c7 40 02 ff ff    	movw   $0xffff,0x2(%eax)
585462:	8b c6                	mov    %esi,%eax
585464:	e9 48 01 00 00       	jmp    0x5855b1
585469:	8b 03                	mov    (%ebx),%eax
58546b:	50                   	push   %eax
58546c:	8d 44 24 10          	lea    0x10(%esp),%eax
585470:	b9 01 00 00 00       	mov    $0x1,%ecx
585475:	ba 02 00 00 00       	mov    $0x2,%edx
58547a:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
585480:	8d 44 24 0c          	lea    0xc(%esp),%eax
585484:	e8 1f 63 ff ff       	call   0x57b7a8
585489:	66 8b 44 24 0c       	mov    0xc(%esp),%ax
58548e:	e8 dd bb ff ff       	call   0x581070
585493:	d8 3d b8 55 58 00    	fdivrs 0x5855b8
585499:	83 c4 f8             	add    $0xfffffff8,%esp
58549c:	dd 1c 24             	fstpl  (%esp)
58549f:	9b                   	fwait
5854a0:	b8 00 10 00 00       	mov    $0x1000,%eax
5854a5:	e8 ba ba ff ff       	call   0x580f64
5854aa:	e9 02 01 00 00       	jmp    0x5855b1
5854af:	8b 44 24 08          	mov    0x8(%esp),%eax
5854b3:	e8 50 ba ff ff       	call   0x580f08
5854b8:	8b f0                	mov    %eax,%esi
5854ba:	85 f6                	test   %esi,%esi
5854bc:	75 07                	jne    0x5854c5
5854be:	33 c0                	xor    %eax,%eax
5854c0:	e9 ec 00 00 00       	jmp    0x5855b1
5854c5:	8b 03                	mov    (%ebx),%eax
5854c7:	50                   	push   %eax
5854c8:	8d 46 04             	lea    0x4(%esi),%eax
5854cb:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
5854cf:	ba 02 00 00 00       	mov    $0x2,%edx
5854d4:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
5854da:	8d 46 04             	lea    0x4(%esi),%eax
5854dd:	8b 54 24 08          	mov    0x8(%esp),%edx
5854e1:	e8 92 b7 ff ff       	call   0x580c78
5854e6:	8b d6                	mov    %esi,%edx
5854e8:	8b 44 24 08          	mov    0x8(%esp),%eax
5854ec:	e8 4b fe ff ff       	call   0x58533c
5854f1:	8b d8                	mov    %eax,%ebx
5854f3:	8b c6                	mov    %esi,%eax
5854f5:	e8 b6 bb ff ff       	call   0x5810b0
5854fa:	8b c3                	mov    %ebx,%eax
5854fc:	e9 b0 00 00 00       	jmp    0x5855b1
585501:	8b 03                	mov    (%ebx),%eax
585503:	50                   	push   %eax
585504:	8d 44 24 1c          	lea    0x1c(%esp),%eax
585508:	b9 01 00 00 00       	mov    $0x1,%ecx
58550d:	ba 02 00 00 00       	mov    $0x2,%edx
585512:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
585518:	8b 03                	mov    (%ebx),%eax
58551a:	50                   	push   %eax
58551b:	8d 44 24 18          	lea    0x18(%esp),%eax
58551f:	b9 01 00 00 00       	mov    $0x1,%ecx
585524:	ba 02 00 00 00       	mov    $0x2,%edx
585529:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
58552f:	8d 44 24 18          	lea    0x18(%esp),%eax
585533:	e8 70 62 ff ff       	call   0x57b7a8
585538:	66 83 7c 24 18 05    	cmpw   $0x5,0x18(%esp)
58553e:	76 04                	jbe    0x585544
585540:	33 c0                	xor    %eax,%eax
585542:	eb 6d                	jmp    0x5855b1
585544:	8d 44 24 20          	lea    0x20(%esp),%eax
585548:	ba 50 00 00 00       	mov    $0x50,%edx
58554d:	e8 82 29 e8 ff       	call   0x407ed4
585552:	0f b7 44 24 18       	movzwl 0x18(%esp),%eax
585557:	8b 04 85 ec 34 6a 00 	mov    0x6a34ec(,%eax,4),%eax
58555e:	8b f8                	mov    %eax,%edi
585560:	4f                   	dec    %edi
585561:	85 ff                	test   %edi,%edi
585563:	7c 2e                	jl     0x585593
585565:	47                   	inc    %edi
585566:	8d 74 24 20          	lea    0x20(%esp),%esi
58556a:	8b 03                	mov    (%ebx),%eax
58556c:	50                   	push   %eax
58556d:	8d 44 24 14          	lea    0x14(%esp),%eax
585571:	b9 01 00 00 00       	mov    $0x1,%ecx
585576:	ba 04 00 00 00       	mov    $0x4,%edx
58557b:	ff 93 ec 03 00 00    	call   *0x3ec(%ebx)
585581:	8b 44 24 10          	mov    0x10(%esp),%eax
585585:	e8 aa 64 ff ff       	call   0x57ba34
58558a:	dd 1e                	fstpl  (%esi)
58558c:	9b                   	fwait
58558d:	83 c6 08             	add    $0x8,%esi
585590:	4f                   	dec    %edi
585591:	75 d7                	jne    0x58556a
585593:	8d 4c 24 20          	lea    0x20(%esp),%ecx
585597:	0f b7 54 24 18       	movzwl 0x18(%esp),%edx
58559c:	42                   	inc    %edx
58559d:	f7 da                	neg    %edx
58559f:	b8 00 10 00 00       	mov    $0x1000,%eax
5855a4:	e8 13 bb ff ff       	call   0x5810bc
5855a9:	8b f0                	mov    %eax,%esi
5855ab:	8b c6                	mov    %esi,%eax
5855ad:	eb 02                	jmp    0x5855b1
5855af:	33 c0                	xor    %eax,%eax
5855b1:	83 c4 70             	add    $0x70,%esp
5855b4:	5f                   	pop    %edi
5855b5:	5e                   	pop    %esi
5855b6:	5b                   	pop    %ebx
5855b7:	c3                   	ret
5855b8:	00 00                	add    %al,(%eax)
5855ba:	80 3f 53             	cmpb   $0x53,(%edi)
5855bd:	56                   	push   %esi
5855be:	8b d8                	mov    %eax,%ebx
5855c0:	8b c3                	mov    %ebx,%eax
5855c2:	e8 51 68 ff ff       	call   0x57be18
5855c7:	85 c0                	test   %eax,%eax
5855c9:	7d 05                	jge    0x5855d0
5855cb:	33 c0                	xor    %eax,%eax
5855cd:	5e                   	pop    %esi
5855ce:	5b                   	pop    %ebx
5855cf:	c3                   	ret
5855d0:	83 3b 00             	cmpl   $0x0,(%ebx)
5855d3:	75 14                	jne    0x5855e9
5855d5:	8b 94 83 18 03 00 00 	mov    0x318(%ebx,%eax,4),%edx
5855dc:	b8 00 01 00 00       	mov    $0x100,%eax
5855e1:	e8 56 fd ff ff       	call   0x58533c
5855e6:	5e                   	pop    %esi
5855e7:	5b                   	pop    %ebx
5855e8:	c3                   	ret
5855e9:	8b b4 83 50 02 00 00 	mov    0x250(%ebx,%eax,4),%esi
5855f0:	8b c6                	mov    %esi,%eax
5855f2:	99                   	cltd
5855f3:	52                   	push   %edx
5855f4:	50                   	push   %eax
5855f5:	8b 03                	mov    (%ebx),%eax
5855f7:	ff 93 f0 03 00 00    	call   *0x3f0(%ebx)
5855fd:	85 c0                	test   %eax,%eax
5855ff:	74 05                	je     0x585606
585601:	33 c0                	xor    %eax,%eax
585603:	5e                   	pop    %esi
585604:	5b                   	pop    %ebx
585605:	c3                   	ret
585606:	8b c3                	mov    %ebx,%eax
585608:	e8 bb fd ff ff       	call   0x5853c8
58560d:	5e                   	pop    %esi
58560e:	5b                   	pop    %ebx
58560f:	c3                   	ret
585610:	53                   	push   %ebx
585611:	56                   	push   %esi
585612:	57                   	push   %edi
585613:	55                   	push   %ebp
585614:	83 c4 f8             	add    $0xfffffff8,%esp
585617:	8b e9                	mov    %ecx,%ebp
585619:	89 14 24             	mov    %edx,(%esp)
58561c:	8b f8                	mov    %eax,%edi
58561e:	8b 07                	mov    (%edi),%eax
585620:	8b 00                	mov    (%eax),%eax
585622:	8b d5                	mov    %ebp,%edx
585624:	e8 23 a2 ff ff       	call   0x57f84c
585629:	33 c0                	xor    %eax,%eax
58562b:	89 44 24 04          	mov    %eax,0x4(%esp)
58562f:	33 db                	xor    %ebx,%ebx
585631:	8b 45 00             	mov    0x0(%ebp),%eax
585634:	03 c0                	add    %eax,%eax
585636:	e8 71 d1 e7 ff       	call   0x4027ac
58563b:	8b f0                	mov    %eax,%esi
58563d:	85 f6                	test   %esi,%esi
58563f:	75 05                	jne    0x585646
585641:	83 c8 ff             	or     $0xffffffff,%eax
585644:	eb 3b                	jmp    0x585681
585646:	8b 04 9f             	mov    (%edi,%ebx,4),%eax
585649:	8b 08                	mov    (%eax),%ecx
58564b:	03 c9                	add    %ecx,%ecx
58564d:	8d 50 04             	lea    0x4(%eax),%edx
585650:	8b c6                	mov    %esi,%eax
585652:	e8 69 28 e8 ff       	call   0x407ec0
585657:	8b 04 24             	mov    (%esp),%eax
58565a:	89 34 98             	mov    %esi,(%eax,%ebx,4)
58565d:	8b 55 00             	mov    0x0(%ebp),%edx
585660:	8b c6                	mov    %esi,%eax
585662:	e8 65 a1 ff ff       	call   0x57f7cc
585667:	01 44 24 04          	add    %eax,0x4(%esp)
58566b:	43                   	inc    %ebx
58566c:	83 fb 03             	cmp    $0x3,%ebx
58566f:	75 c0                	jne    0x585631
585671:	83 7c 24 04 03       	cmpl   $0x3,0x4(%esp)
585676:	74 07                	je     0x58567f
585678:	b8 01 00 00 00       	mov    $0x1,%eax
58567d:	eb 02                	jmp    0x585681
58567f:	33 c0                	xor    %eax,%eax
585681:	59                   	pop    %ecx
585682:	5a                   	pop    %edx
585683:	5d                   	pop    %ebp
585684:	5f                   	pop    %edi
585685:	5e                   	pop    %esi
585686:	5b                   	pop    %ebx
585687:	c3                   	ret
585688:	55                   	push   %ebp
585689:	8b ec                	mov    %esp,%ebp
58568b:	51                   	push   %ecx
58568c:	53                   	push   %ebx
58568d:	56                   	push   %esi
58568e:	57                   	push   %edi
58568f:	8b f9                	mov    %ecx,%edi
585691:	8b f2                	mov    %edx,%esi
585693:	89 45 fc             	mov    %eax,-0x4(%ebp)
585696:	b8 ac 00 00 00       	mov    $0xac,%eax
58569b:	e8 0c d1 e7 ff       	call   0x4027ac
5856a0:	8b d8                	mov    %eax,%ebx
5856a2:	85 db                	test   %ebx,%ebx
5856a4:	74 0c                	je     0x5856b2
5856a6:	ba ac 00 00 00       	mov    $0xac,%edx
5856ab:	8b c3                	mov    %ebx,%eax
5856ad:	e8 22 28 e8 ff       	call   0x407ed4
5856b2:	8b 45 08             	mov    0x8(%ebp),%eax
5856b5:	83 e0 0c             	and    $0xc,%eax
5856b8:	89 03                	mov    %eax,(%ebx)
5856ba:	8d 43 04             	lea    0x4(%ebx),%eax
5856bd:	8b 55 fc             	mov    -0x4(%ebp),%edx
5856c0:	e8 af 9f ff ff       	call   0x57f674
5856c5:	68 b5 f8 e4 3e       	push   $0x3ee4f8b5
5856ca:	68 f1 68 e3 88       	push   $0x88e368f1
5856cf:	8d 43 04             	lea    0x4(%ebx),%eax
5856d2:	e8 59 a0 ff ff       	call   0x57f730
5856d7:	85 c0                	test   %eax,%eax
5856d9:	75 03                	jne    0x5856de
5856db:	83 0b 01             	orl    $0x1,(%ebx)
5856de:	85 ff                	test   %edi,%edi
5856e0:	74 22                	je     0x585704
5856e2:	8d 4b 28             	lea    0x28(%ebx),%ecx
5856e5:	8d 53 5e             	lea    0x5e(%ebx),%edx
5856e8:	8b c7                	mov    %edi,%eax
5856ea:	e8 21 ff ff ff       	call   0x585610
5856ef:	85 c0                	test   %eax,%eax
5856f1:	7d 0b                	jge    0x5856fe
5856f3:	8b c3                	mov    %ebx,%eax
5856f5:	e8 7a 9c ff ff       	call   0x57f374
5856fa:	33 c0                	xor    %eax,%eax
5856fc:	eb 31                	jmp    0x58572f
5856fe:	48                   	dec    %eax
5856ff:	75 03                	jne    0x585704
585701:	83 0b 02             	orl    $0x2,(%ebx)
585704:	85 f6                	test   %esi,%esi
585706:	74 25                	je     0x58572d
585708:	8d 4b 6a             	lea    0x6a(%ebx),%ecx
58570b:	8d 93 a0 00 00 00    	lea    0xa0(%ebx),%edx
585711:	8b c6                	mov    %esi,%eax
585713:	e8 f8 fe ff ff       	call   0x585610
585718:	85 c0                	test   %eax,%eax
58571a:	7d 0b                	jge    0x585727
58571c:	8b c3                	mov    %ebx,%eax
58571e:	e8 51 9c ff ff       	call   0x57f374
585723:	33 c0                	xor    %eax,%eax
585725:	eb 08                	jmp    0x58572f
585727:	48                   	dec    %eax
585728:	75 03                	jne    0x58572d
58572a:	83 0b 10             	orl    $0x10,(%ebx)
58572d:	8b c3                	mov    %ebx,%eax
58572f:	5f                   	pop    %edi
585730:	5e                   	pop    %esi
585731:	5b                   	pop    %ebx
585732:	59                   	pop    %ecx
585733:	5d                   	pop    %ebp
585734:	c2 04 00             	ret    $0x4
585737:	90                   	nop
585738:	53                   	push   %ebx
585739:	8b d8                	mov    %eax,%ebx
58573b:	8b 03                	mov    (%ebx),%eax
58573d:	e8 6e b9 ff ff       	call   0x5810b0
585742:	8b 43 04             	mov    0x4(%ebx),%eax
585745:	e8 66 b9 ff ff       	call   0x5810b0
58574a:	8b 43 08             	mov    0x8(%ebx),%eax
58574d:	e8 5e b9 ff ff       	call   0x5810b0
585752:	33 c0                	xor    %eax,%eax
585754:	89 43 08             	mov    %eax,0x8(%ebx)
585757:	8b d0                	mov    %eax,%edx
585759:	89 53 04             	mov    %edx,0x4(%ebx)
58575c:	89 13                	mov    %edx,(%ebx)
58575e:	5b                   	pop    %ebx
58575f:	c3                   	ret
585760:	53                   	push   %ebx
585761:	81 c4 c8 fe ff ff    	add    $0xfffffec8,%esp
585767:	8b d8                	mov    %eax,%ebx