4854e7:	53                   	push   %ebx
4854e8:	89 44 24 24          	mov    %eax,0x24(%esp)
4854ec:	8d 44 24 24          	lea    0x24(%esp),%eax
4854f0:	53                   	push   %ebx
4854f1:	50                   	push   %eax
4854f2:	56                   	push   %esi
4854f3:	89 7c 24 38          	mov    %edi,0x38(%esp)
4854f7:	89 5c 24 3c          	mov    %ebx,0x3c(%esp)
4854fb:	e8 40 3b f8 ff       	call   0x409040
485500:	83 c4 10             	add    $0x10,%esp
485503:	8d 4c 24 20          	lea    0x20(%esp),%ecx
485507:	e8 14 45 f8 ff       	call   0x409a20
48550c:	8b 44 24 18          	mov    0x18(%esp),%eax
485510:	2b 44 24 10          	sub    0x10(%esp),%eax
485514:	6a 02                	push   $0x2
485516:	89 44 24 24          	mov    %eax,0x24(%esp)
48551a:	8d 44 24 24          	lea    0x24(%esp),%eax
48551e:	53                   	push   %ebx
48551f:	50                   	push   %eax
485520:	56                   	push   %esi
485521:	89 7c 24 38          	mov    %edi,0x38(%esp)
485525:	89 5c 24 3c          	mov    %ebx,0x3c(%esp)
485529:	e8 12 3b f8 ff       	call   0x409040
48552e:	83 c4 10             	add    $0x10,%esp
485531:	8d 4c 24 20          	lea    0x20(%esp),%ecx
485535:	e8 e6 44 f8 ff       	call   0x409a20
48553a:	8b 44 24 1c          	mov    0x1c(%esp),%eax
48553e:	2b 44 24 14          	sub    0x14(%esp),%eax
485542:	6a 03                	push   $0x3
485544:	89 44 24 24          	mov    %eax,0x24(%esp)
485548:	8d 44 24 24          	lea    0x24(%esp),%eax
48554c:	53                   	push   %ebx
48554d:	50                   	push   %eax
48554e:	56                   	push   %esi
48554f:	89 7c 24 38          	mov    %edi,0x38(%esp)
485553:	89 5c 24 3c          	mov    %ebx,0x3c(%esp)
485557:	e8 e4 3a f8 ff       	call   0x409040
48555c:	83 c4 10             	add    $0x10,%esp
48555f:	8d 4c 24 20          	lea    0x20(%esp),%ecx
485563:	e8 b8 44 f8 ff       	call   0x409a20
485568:	5f                   	pop    %edi
485569:	5e                   	pop    %esi
48556a:	33 c0                	xor    %eax,%eax
48556c:	5b                   	pop    %ebx
48556d:	8b e5                	mov    %ebp,%esp
48556f:	5d                   	pop    %ebp
485570:	c2 08 00             	ret    $0x8
485573:	55                   	push   %ebp
485574:	8b ec                	mov    %esp,%ebp
485576:	51                   	push   %ecx
485577:	51                   	push   %ecx
485578:	56                   	push   %esi
485579:	ff 75 08             	push   0x8(%ebp)
48557c:	8b f1                	mov    %ecx,%esi
48557e:	e8 2a 64 f8 ff       	call   0x40b9ad
485583:	6a 01                	push   $0x1
485585:	8b ce                	mov    %esi,%ecx
485587:	e8 b1 63 f8 ff       	call   0x40b93d
48558c:	85 c0                	test   %eax,%eax
48558e:	7f 29                	jg     0x4855b9
485590:	79 11                	jns    0x4855a3
485592:	f7 d8                	neg    %eax
485594:	6a 00                	push   $0x0
485596:	50                   	push   %eax
485597:	8b 06                	mov    (%esi),%eax
485599:	8b 48 04             	mov    0x4(%eax),%ecx
48559c:	03 ce                	add    %esi,%ecx
48559e:	e8 00 15 fd ff       	call   0x456aa3
4855a3:	8b 75 0c             	mov    0xc(%ebp),%esi
4855a6:	8b ce                	mov    %esi,%ecx
4855a8:	e8 73 44 f8 ff       	call   0x409a20
4855ad:	83 0e ff             	orl    $0xffffffff,(%esi)
4855b0:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4855b7:	eb 3b                	jmp    0x4855f4
4855b9:	8d 45 08             	lea    0x8(%ebp),%eax
4855bc:	50                   	push   %eax
4855bd:	8b 86 f0 01 00 00    	mov    0x1f0(%esi),%eax
4855c3:	ff 30                	push   (%eax)
4855c5:	ff 15 60 f6 48 00    	call   *0x48f660
4855cb:	8b 45 08             	mov    0x8(%ebp),%eax
4855ce:	db 45 08             	fildl  0x8(%ebp)
4855d1:	85 c0                	test   %eax,%eax
4855d3:	79 06                	jns    0x4855db
4855d5:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
4855db:	8b 75 0c             	mov    0xc(%ebp),%esi
4855de:	8b ce                	mov    %esi,%ecx
4855e0:	dd 5d f8             	fstpl  -0x8(%ebp)
4855e3:	e8 38 44 f8 ff       	call   0x409a20
4855e8:	dd 45 f8             	fldl   -0x8(%ebp)
4855eb:	dd 1e                	fstpl  (%esi)
4855ed:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
4855f4:	33 c0                	xor    %eax,%eax
4855f6:	5e                   	pop    %esi
4855f7:	8b e5                	mov    %ebp,%esp
4855f9:	5d                   	pop    %ebp
4855fa:	c2 08 00             	ret    $0x8
4855fd:	55                   	push   %ebp
4855fe:	8b ec                	mov    %esp,%ebp
485600:	53                   	push   %ebx
485601:	56                   	push   %esi
485602:	57                   	push   %edi
485603:	ff 75 08             	push   0x8(%ebp)
485606:	33 db                	xor    %ebx,%ebx
485608:	8b f1                	mov    %ecx,%esi
48560a:	43                   	inc    %ebx
48560b:	8b fb                	mov    %ebx,%edi
48560d:	e8 9b 63 f8 ff       	call   0x40b9ad
485612:	53                   	push   %ebx
485613:	8b ce                	mov    %esi,%ecx
485615:	e8 23 63 f8 ff       	call   0x40b93d
48561a:	85 c0                	test   %eax,%eax
48561c:	7f 25                	jg     0x485643
48561e:	6a 00                	push   $0x0
485620:	79 05                	jns    0x485627
485622:	f7 d8                	neg    %eax
485624:	50                   	push   %eax
485625:	eb 01                	jmp    0x485628
485627:	53                   	push   %ebx
485628:	8b 06                	mov    (%esi),%eax
48562a:	8b 48 04             	mov    0x4(%eax),%ecx
48562d:	03 ce                	add    %esi,%ecx
48562f:	e8 6f 14 fd ff       	call   0x456aa3
485634:	8b 75 0c             	mov    0xc(%ebp),%esi
485637:	8b ce                	mov    %esi,%ecx
485639:	e8 e2 43 f8 ff       	call   0x409a20
48563e:	83 26 00             	andl   $0x0,(%esi)
485641:	eb 59                	jmp    0x48569c
485643:	8b 86 f0 01 00 00    	mov    0x1f0(%esi),%eax
485649:	8b 30                	mov    (%eax),%esi
48564b:	56                   	push   %esi
48564c:	ff 15 50 f6 48 00    	call   *0x48f650
485652:	85 c0                	test   %eax,%eax
485654:	74 03                	je     0x485659
485656:	6a 03                	push   $0x3
485658:	5f                   	pop    %edi
485659:	56                   	push   %esi
48565a:	ff 15 4c f6 48 00    	call   *0x48f64c
485660:	85 c0                	test   %eax,%eax
485662:	74 03                	je     0x485667
485664:	83 cf 04             	or     $0x4,%edi
485667:	ff 15 34 f7 48 00    	call   *0x48f734
48566d:	3b c6                	cmp    %esi,%eax
48566f:	75 03                	jne    0x485674
485671:	83 cf 08             	or     $0x8,%edi
485674:	56                   	push   %esi
485675:	ff 15 dc f5 48 00    	call   *0x48f5dc
48567b:	85 c0                	test   %eax,%eax
48567d:	74 03                	je     0x485682
48567f:	83 cf 10             	or     $0x10,%edi
485682:	56                   	push   %esi
485683:	ff 15 04 f5 48 00    	call   *0x48f504
485689:	85 c0                	test   %eax,%eax
48568b:	74 03                	je     0x485690
48568d:	83 cf 20             	or     $0x20,%edi
485690:	8b 75 0c             	mov    0xc(%ebp),%esi
485693:	8b ce                	mov    %esi,%ecx
485695:	e8 86 43 f8 ff       	call   0x409a20
48569a:	89 3e                	mov    %edi,(%esi)
48569c:	5f                   	pop    %edi
48569d:	89 5e 0c             	mov    %ebx,0xc(%esi)
4856a0:	33 c0                	xor    %eax,%eax
4856a2:	5e                   	pop    %esi
4856a3:	5b                   	pop    %ebx
4856a4:	5d                   	pop    %ebp
4856a5:	c2 08 00             	ret    $0x8
4856a8:	55                   	push   %ebp
4856a9:	8b ec                	mov    %esp,%ebp
4856ab:	83 e4 f8             	and    $0xfffffff8,%esp
4856ae:	83 ec 14             	sub    $0x14,%esp
4856b1:	56                   	push   %esi
4856b2:	ff 75 08             	push   0x8(%ebp)
4856b5:	8b f1                	mov    %ecx,%esi
4856b7:	e8 f1 62 f8 ff       	call   0x40b9ad
4856bc:	6a 01                	push   $0x1
4856be:	8b ce                	mov    %esi,%ecx
4856c0:	e8 78 62 f8 ff       	call   0x40b93d
4856c5:	85 c0                	test   %eax,%eax
4856c7:	7f 22                	jg     0x4856eb
4856c9:	79 11                	jns    0x4856dc
4856cb:	f7 d8                	neg    %eax
4856cd:	6a 00                	push   $0x0
4856cf:	50                   	push   %eax
4856d0:	8b 06                	mov    (%esi),%eax
4856d2:	8b 48 04             	mov    0x4(%eax),%ecx
4856d5:	03 ce                	add    %esi,%ecx
4856d7:	e8 c7 13 fd ff       	call   0x456aa3
4856dc:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4856df:	68 10 f9 48 00       	push   $0x48f910
4856e4:	e8 0f 45 f8 ff       	call   0x409bf8
4856e9:	eb 49                	jmp    0x485734
4856eb:	8b 86 f0 01 00 00    	mov    0x1f0(%esi),%eax
4856f1:	ff 30                	push   (%eax)
4856f3:	e8 a2 0a f9 ff       	call   0x41619a
4856f8:	84 c0                	test   %al,%al
4856fa:	75 38                	jne    0x485734
4856fc:	8d 4c 24 08          	lea    0x8(%esp),%ecx
485700:	e8 c2 20 f8 ff       	call   0x4077c7
485705:	8b 8e f0 01 00 00    	mov    0x1f0(%esi),%ecx
48570b:	8d 44 24 08          	lea    0x8(%esp),%eax
48570f:	8a 96 dc 02 00 00    	mov    0x2dc(%esi),%dl
485715:	50                   	push   %eax
485716:	8b 09                	mov    (%ecx),%ecx
485718:	e8 25 f4 fd ff       	call   0x464b42
48571d:	59                   	pop    %ecx
48571e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
485721:	8d 44 24 08          	lea    0x8(%esp),%eax
485725:	50                   	push   %eax
485726:	e8 71 44 f8 ff       	call   0x409b9c
48572b:	8d 4c 24 08          	lea    0x8(%esp),%ecx
48572f:	e8 30 03 f8 ff       	call   0x405a64
485734:	33 c0                	xor    %eax,%eax
485736:	5e                   	pop    %esi
485737:	8b e5                	mov    %ebp,%esp
485739:	5d                   	pop    %ebp
48573a:	c2 08 00             	ret    $0x8
48573d:	55                   	push   %ebp
48573e:	8b ec                	mov    %esp,%ebp
485740:	83 e4 f8             	and    $0xfffffff8,%esp
485743:	83 ec 14             	sub    $0x14,%esp
485746:	56                   	push   %esi
485747:	ff 75 08             	push   0x8(%ebp)
48574a:	8b f1                	mov    %ecx,%esi
48574c:	e8 5c 62 f8 ff       	call   0x40b9ad
485751:	6a 01                	push   $0x1
485753:	8b ce                	mov    %esi,%ecx
485755:	e8 e3 61 f8 ff       	call   0x40b93d
48575a:	85 c0                	test   %eax,%eax
48575c:	7f 22                	jg     0x485780
48575e:	79 11                	jns    0x485771
485760:	f7 d8                	neg    %eax
485762:	6a 00                	push   $0x0
485764:	50                   	push   %eax
485765:	8b 06                	mov    (%esi),%eax
485767:	8b 48 04             	mov    0x4(%eax),%ecx
48576a:	03 ce                	add    %esi,%ecx
48576c:	e8 32 13 fd ff       	call   0x456aa3
485771:	8b 4d 0c             	mov    0xc(%ebp),%ecx
485774:	68 10 f9 48 00       	push   $0x48f910
485779:	e8 7a 44 f8 ff       	call   0x409bf8
48577e:	eb 2f                	jmp    0x4857af
485780:	8d 4c 24 08          	lea    0x8(%esp),%ecx
485784:	e8 3e 20 f8 ff       	call   0x4077c7
485789:	8b 8e f0 01 00 00    	mov    0x1f0(%esi),%ecx
48578f:	8d 44 24 08          	lea    0x8(%esp),%eax
485793:	50                   	push   %eax
485794:	e8 43 58 fd ff       	call   0x45afdc
485799:	8b 4d 0c             	mov    0xc(%ebp),%ecx
48579c:	8d 44 24 08          	lea    0x8(%esp),%eax
4857a0:	50                   	push   %eax
4857a1:	e8 f6 43 f8 ff       	call   0x409b9c
4857a6:	8d 4c 24 08          	lea    0x8(%esp),%ecx
4857aa:	e8 b5 02 f8 ff       	call   0x405a64
4857af:	33 c0                	xor    %eax,%eax
4857b1:	5e                   	pop    %esi
4857b2:	8b e5                	mov    %ebp,%esp
4857b4:	5d                   	pop    %ebp
4857b5:	c2 08 00             	ret    $0x8
4857b8:	55                   	push   %ebp
4857b9:	8b ec                	mov    %esp,%ebp
4857bb:	56                   	push   %esi
4857bc:	ff 75 08             	push   0x8(%ebp)
4857bf:	8b f1                	mov    %ecx,%esi
4857c1:	e8 e7 61 f8 ff       	call   0x40b9ad
4857c6:	6a 01                	push   $0x1
4857c8:	8b ce                	mov    %esi,%ecx
4857ca:	e8 6e 61 f8 ff       	call   0x40b93d
4857cf:	85 c0                	test   %eax,%eax
4857d1:	7f 29                	jg     0x4857fc
4857d3:	79 11                	jns    0x4857e6
4857d5:	f7 d8                	neg    %eax
4857d7:	6a 00                	push   $0x0
4857d9:	50                   	push   %eax
4857da:	8b 06                	mov    (%esi),%eax
4857dc:	8b 48 04             	mov    0x4(%eax),%ecx
4857df:	03 ce                	add    %esi,%ecx
4857e1:	e8 bd 12 fd ff       	call   0x456aa3
4857e6:	8b 75 0c             	mov    0xc(%ebp),%esi
4857e9:	8b ce                	mov    %esi,%ecx
4857eb:	e8 30 42 f8 ff       	call   0x409a20
4857f0:	83 26 00             	andl   $0x0,(%esi)
4857f3:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4857fa:	eb 18                	jmp    0x485814
4857fc:	8b 8e f0 01 00 00    	mov    0x1f0(%esi),%ecx
485802:	8b 09                	mov    (%ecx),%ecx
485804:	e8 82 fe fd ff       	call   0x46568b
485809:	8b 8e f4 02 00 00    	mov    0x2f4(%esi),%ecx
48580f:	e8 d2 fc fd ff       	call   0x4654e6
485814:	33 c0                	xor    %eax,%eax
485816:	5e                   	pop    %esi
485817:	5d                   	pop    %ebp
485818:	c2 08 00             	ret    $0x8
48581b:	55                   	push   %ebp
48581c:	8b ec                	mov    %esp,%ebp
48581e:	83 e4 f8             	and    $0xfffffff8,%esp
485821:	83 ec 2c             	sub    $0x2c,%esp
485824:	53                   	push   %ebx
485825:	56                   	push   %esi
485826:	57                   	push   %edi
485827:	68 00 00 01 00       	push   $0x10000
48582c:	8b f9                	mov    %ecx,%edi
48582e:	e8 c3 b7 f9 ff       	call   0x420ff6
485833:	59                   	pop    %ecx
485834:	50                   	push   %eax
485835:	8d 4c 24 14          	lea    0x14(%esp),%ecx
485839:	e8 50 fb f7 ff       	call   0x40538e
48583e:	8b 87 d4 02 00 00    	mov    0x2d4(%edi),%eax
485844:	8d 8f d0 01 00 00    	lea    0x1d0(%edi),%ecx
48584a:	68 b0 a5 4b 00       	push   $0x4ba5b0
48584f:	89 44 24 10          	mov    %eax,0x10(%esp)
485853:	e8 a0 43 f8 ff       	call   0x409bf8
485858:	8d 8f e0 01 00 00    	lea    0x1e0(%edi),%ecx
48585e:	68 10 f9 48 00       	push   $0x48f910
485863:	e8 c4 24 f8 ff       	call   0x407d2c
485868:	8b 5d 08             	mov    0x8(%ebp),%ebx
48586b:	8b 43 08             	mov    0x8(%ebx),%eax
48586e:	85 c0                	test   %eax,%eax
485870:	75 0c                	jne    0x48587e
485872:	c7 87 d4 02 00 00 04 	movl   $0x4,0x2d4(%edi)
485879:	00 00 00
48587c:	eb 3b                	jmp    0x4858b9
48587e:	8b 43 04             	mov    0x4(%ebx),%eax
485881:	8b 30                	mov    (%eax),%esi
485883:	8b ce                	mov    %esi,%ecx
485885:	e8 0d 41 f8 ff       	call   0x409997
48588a:	ff 76 08             	push   0x8(%esi)
48588d:	8d 8f d0 01 00 00    	lea    0x1d0(%edi),%ecx
485893:	e8 04 43 f8 ff       	call   0x409b9c
485898:	83 7b 08 01          	cmpl   $0x1,0x8(%ebx)
48589c:	76 1b                	jbe    0x4858b9
48589e:	8b 43 04             	mov    0x4(%ebx),%eax
4858a1:	8b 70 04             	mov    0x4(%eax),%esi
4858a4:	8b ce                	mov    %esi,%ecx
4858a6:	e8 ec 40 f8 ff       	call   0x409997
4858ab:	ff 76 08             	push   0x8(%esi)
4858ae:	8d 8f e0 01 00 00    	lea    0x1e0(%edi),%ecx
4858b4:	e8 ee 28 f8 ff       	call   0x4081a7
4858b9:	33 db                	xor    %ebx,%ebx
4858bb:	8b cf                	mov    %edi,%ecx
4858bd:	53                   	push   %ebx
4858be:	e8 7a 60 f8 ff       	call   0x40b93d
4858c3:	85 c0                	test   %eax,%eax
4858c5:	79 28                	jns    0x4858ef
4858c7:	f7 d8                	neg    %eax
4858c9:	53                   	push   %ebx
4858ca:	50                   	push   %eax
4858cb:	8b 07                	mov    (%edi),%eax
4858cd:	8b 48 04             	mov    0x4(%eax),%ecx
4858d0:	03 cf                	add    %edi,%ecx
4858d2:	e8 cc 11 fd ff       	call   0x456aa3
4858d7:	8b 75 0c             	mov    0xc(%ebp),%esi