48e317:	6a 01                	push   $0x1
48e319:	8d 4d 08             	lea    0x8(%ebp),%ecx
48e31c:	51                   	push   %ecx
48e31d:	52                   	push   %edx
48e31e:	ff 30                	push   (%eax)
48e320:	6a 00                	push   $0x0
48e322:	e8 84 22 00 00       	call   0x4905ab
48e327:	66 8b 4d 08          	mov    0x8(%ebp),%cx
48e32b:	83 c4 20             	add    $0x20,%esp
48e32e:	85 c0                	test   %eax,%eax
48e330:	74 04                	je     0x48e336
48e332:	66 8b 4d fc          	mov    -0x4(%ebp),%cx
48e336:	66 8b c1             	mov    %cx,%ax
48e339:	c9                   	leave
48e33a:	c3                   	ret
48e33b:	8b ff                	mov    %edi,%edi
48e33d:	55                   	push   %ebp
48e33e:	8b ec                	mov    %esp,%ebp
48e340:	5d                   	pop    %ebp
48e341:	e9 00 00 00 00       	jmp    0x48e346
48e346:	8b ff                	mov    %edi,%edi
48e348:	55                   	push   %ebp
48e349:	8b ec                	mov    %esp,%ebp
48e34b:	51                   	push   %ecx
48e34c:	8b 45 0c             	mov    0xc(%ebp),%eax
48e34f:	ff 30                	push   (%eax)
48e351:	ff 70 04             	push   0x4(%eax)
48e354:	8d 45 fc             	lea    -0x4(%ebp),%eax
48e357:	50                   	push   %eax
48e358:	6a 01                	push   $0x1
48e35a:	8d 45 08             	lea    0x8(%ebp),%eax
48e35d:	50                   	push   %eax
48e35e:	6a 01                	push   $0x1
48e360:	6a 00                	push   $0x0
48e362:	e8 4a 22 00 00       	call   0x4905b1
48e367:	83 c4 1c             	add    $0x1c,%esp
48e36a:	f7 d8                	neg    %eax
48e36c:	1b c0                	sbb    %eax,%eax
48e36e:	66 23 45 fc          	and    -0x4(%ebp),%ax
48e372:	c9                   	leave
48e373:	c3                   	ret
48e374:	8b ff                	mov    %edi,%edi
48e376:	55                   	push   %ebp
48e377:	8b ec                	mov    %esp,%ebp
48e379:	5d                   	pop    %ebp
48e37a:	e9 00 00 00 00       	jmp    0x48e37f
48e37f:	8b ff                	mov    %edi,%edi
48e381:	55                   	push   %ebp
48e382:	8b ec                	mov    %esp,%ebp
48e384:	8b 45 14             	mov    0x14(%ebp),%eax
48e387:	8b 4d 0c             	mov    0xc(%ebp),%ecx
48e38a:	2b 4d 08             	sub    0x8(%ebp),%ecx
48e38d:	d1 f9                	sar    $1,%ecx
48e38f:	ff 30                	push   (%eax)
48e391:	ff 70 04             	push   0x4(%eax)
48e394:	ff 75 10             	push   0x10(%ebp)
48e397:	51                   	push   %ecx
48e398:	ff 75 08             	push   0x8(%ebp)
48e39b:	6a 01                	push   $0x1
48e39d:	6a 00                	push   $0x0
48e39f:	e8 0d 22 00 00       	call   0x4905b1
48e3a4:	8b 45 0c             	mov    0xc(%ebp),%eax
48e3a7:	83 c4 1c             	add    $0x1c,%esp
48e3aa:	5d                   	pop    %ebp
48e3ab:	c3                   	ret
48e3ac:	8b ff                	mov    %edi,%edi
48e3ae:	55                   	push   %ebp
48e3af:	8b ec                	mov    %esp,%ebp
48e3b1:	8b 45 14             	mov    0x14(%ebp),%eax
48e3b4:	83 ec 10             	sub    $0x10,%esp
48e3b7:	53                   	push   %ebx
48e3b8:	56                   	push   %esi
48e3b9:	33 db                	xor    %ebx,%ebx
48e3bb:	57                   	push   %edi
48e3bc:	85 c0                	test   %eax,%eax
48e3be:	74 02                	je     0x48e3c2
48e3c0:	89 18                	mov    %ebx,(%eax)
48e3c2:	8b 45 08             	mov    0x8(%ebp),%eax
48e3c5:	8b f0                	mov    %eax,%esi
48e3c7:	0f b6 00             	movzbl (%eax),%eax
48e3ca:	eb 04                	jmp    0x48e3d0
48e3cc:	46                   	inc    %esi
48e3cd:	0f b6 06             	movzbl (%esi),%eax
48e3d0:	50                   	push   %eax
48e3d1:	ff 15 3c 80 4a 00    	call   *0x4a803c
48e3d7:	59                   	pop    %ecx
48e3d8:	85 c0                	test   %eax,%eax
48e3da:	75 f0                	jne    0x48e3cc
48e3dc:	8a 06                	mov    (%esi),%al
48e3de:	88 45 ff             	mov    %al,-0x1(%ebp)
48e3e1:	3c 2d                	cmp    $0x2d,%al
48e3e3:	74 0a                	je     0x48e3ef
48e3e5:	3c 2b                	cmp    $0x2b,%al
48e3e7:	74 06                	je     0x48e3ef
48e3e9:	c6 45 ff 2b          	movb   $0x2b,-0x1(%ebp)
48e3ed:	eb 01                	jmp    0x48e3f0
48e3ef:	46                   	inc    %esi
48e3f0:	8b 7d 10             	mov    0x10(%ebp),%edi
48e3f3:	85 ff                	test   %edi,%edi
48e3f5:	0f 88 23 01 00 00    	js     0x48e51e
48e3fb:	83 ff 01             	cmp    $0x1,%edi
48e3fe:	0f 84 1a 01 00 00    	je     0x48e51e
48e404:	83 ff 24             	cmp    $0x24,%edi
48e407:	0f 8f 11 01 00 00    	jg     0x48e51e
48e40d:	85 ff                	test   %edi,%edi
48e40f:	7e 17                	jle    0x48e428
48e411:	83 ff 10             	cmp    $0x10,%edi
48e414:	75 31                	jne    0x48e447
48e416:	80 3e 30             	cmpb   $0x30,(%esi)
48e419:	75 2c                	jne    0x48e447
48e41b:	8a 46 01             	mov    0x1(%esi),%al
48e41e:	3c 78                	cmp    $0x78,%al
48e420:	74 22                	je     0x48e444
48e422:	3c 58                	cmp    $0x58,%al
48e424:	75 21                	jne    0x48e447
48e426:	eb 1c                	jmp    0x48e444
48e428:	80 3e 30             	cmpb   $0x30,(%esi)
48e42b:	74 05                	je     0x48e432
48e42d:	6a 0a                	push   $0xa
48e42f:	5f                   	pop    %edi
48e430:	eb 15                	jmp    0x48e447
48e432:	8a 46 01             	mov    0x1(%esi),%al
48e435:	3c 78                	cmp    $0x78,%al
48e437:	74 08                	je     0x48e441
48e439:	3c 58                	cmp    $0x58,%al
48e43b:	74 04                	je     0x48e441
48e43d:	6a 08                	push   $0x8
48e43f:	eb ee                	jmp    0x48e42f
48e441:	6a 10                	push   $0x10
48e443:	5f                   	pop    %edi
48e444:	83 c6 02             	add    $0x2,%esi
48e447:	8b c6                	mov    %esi,%eax
48e449:	89 75 f4             	mov    %esi,-0xc(%ebp)
48e44c:	8a 00                	mov    (%eax),%al
48e44e:	eb 03                	jmp    0x48e453
48e450:	46                   	inc    %esi
48e451:	8a 06                	mov    (%esi),%al
48e453:	3c 30                	cmp    $0x30,%al
48e455:	74 f9                	je     0x48e450
48e457:	0f be c0             	movsbl %al,%eax
48e45a:	57                   	push   %edi
48e45b:	50                   	push   %eax
48e45c:	89 75 f0             	mov    %esi,-0x10(%ebp)
48e45f:	ff 15 38 80 4a 00    	call   *0x4a8038
48e465:	59                   	pop    %ecx
48e466:	50                   	push   %eax
48e467:	b8 3c ef 40 00       	mov    $0x40ef3c,%eax
48e46c:	50                   	push   %eax
48e46d:	e8 45 21 00 00       	call   0x4905b7
48e472:	83 c4 0c             	add    $0xc,%esp
48e475:	85 c0                	test   %eax,%eax
48e477:	74 37                	je     0x48e4b0
48e479:	89 5d f8             	mov    %ebx,-0x8(%ebp)
48e47c:	b9 3c ef 40 00       	mov    $0x40ef3c,%ecx
48e481:	2a c1                	sub    %cl,%al
48e483:	0f af df             	imul   %edi,%ebx
48e486:	88 45 fe             	mov    %al,-0x2(%ebp)
48e489:	0f be c0             	movsbl %al,%eax
48e48c:	57                   	push   %edi
48e48d:	03 d8                	add    %eax,%ebx
48e48f:	46                   	inc    %esi
48e490:	0f be 06             	movsbl (%esi),%eax
48e493:	50                   	push   %eax
48e494:	ff 15 38 80 4a 00    	call   *0x4a8038
48e49a:	59                   	pop    %ecx
48e49b:	50                   	push   %eax
48e49c:	b8 3c ef 40 00       	mov    $0x40ef3c,%eax
48e4a1:	50                   	push   %eax
48e4a2:	e8 10 21 00 00       	call   0x4905b7
48e4a7:	83 c4 0c             	add    $0xc,%esp
48e4aa:	85 c0                	test   %eax,%eax
48e4ac:	75 cb                	jne    0x48e479
48e4ae:	eb 06                	jmp    0x48e4b6
48e4b0:	8b 45 f0             	mov    -0x10(%ebp),%eax
48e4b3:	89 45 f8             	mov    %eax,-0x8(%ebp)
48e4b6:	8a 55 fe             	mov    -0x2(%ebp),%dl
48e4b9:	39 75 f4             	cmp    %esi,-0xc(%ebp)
48e4bc:	74 60                	je     0x48e51e
48e4be:	0f be 87 64 ef 40 00 	movsbl 0x40ef64(%edi),%eax
48e4c5:	8b ce                	mov    %esi,%ecx
48e4c7:	2b c8                	sub    %eax,%ecx
48e4c9:	2b 4d f0             	sub    -0x10(%ebp),%ecx
48e4cc:	78 3a                	js     0x48e508
48e4ce:	85 c9                	test   %ecx,%ecx
48e4d0:	7f 16                	jg     0x48e4e8
48e4d2:	0f be c2             	movsbl %dl,%eax
48e4d5:	8b cb                	mov    %ebx,%ecx
48e4d7:	2b c8                	sub    %eax,%ecx
48e4d9:	3b d9                	cmp    %ecx,%ebx
48e4db:	72 0b                	jb     0x48e4e8
48e4dd:	33 d2                	xor    %edx,%edx
48e4df:	8b c1                	mov    %ecx,%eax
48e4e1:	f7 f7                	div    %edi
48e4e3:	3b 45 f8             	cmp    -0x8(%ebp),%eax
48e4e6:	74 20                	je     0x48e508
48e4e8:	ff 15 58 80 4a 00    	call   *0x4a8058
48e4ee:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
48e4f4:	8b 45 14             	mov    0x14(%ebp),%eax
48e4f7:	85 c0                	test   %eax,%eax
48e4f9:	74 06                	je     0x48e501
48e4fb:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
48e501:	83 cb ff             	or     $0xffffffff,%ebx
48e504:	b0 2b                	mov    $0x2b,%al
48e506:	eb 03                	jmp    0x48e50b
48e508:	8a 45 ff             	mov    -0x1(%ebp),%al
48e50b:	3c 2d                	cmp    $0x2d,%al
48e50d:	75 02                	jne    0x48e511
48e50f:	f7 db                	neg    %ebx
48e511:	8b 4d 0c             	mov    0xc(%ebp),%ecx
48e514:	85 c9                	test   %ecx,%ecx
48e516:	74 02                	je     0x48e51a
48e518:	89 31                	mov    %esi,(%ecx)
48e51a:	8b c3                	mov    %ebx,%eax
48e51c:	eb 0e                	jmp    0x48e52c
48e51e:	8b 45 0c             	mov    0xc(%ebp),%eax
48e521:	85 c0                	test   %eax,%eax
48e523:	74 05                	je     0x48e52a
48e525:	8b 4d 08             	mov    0x8(%ebp),%ecx
48e528:	89 08                	mov    %ecx,(%eax)
48e52a:	33 c0                	xor    %eax,%eax
48e52c:	5f                   	pop    %edi
48e52d:	5e                   	pop    %esi
48e52e:	5b                   	pop    %ebx
48e52f:	c9                   	leave
48e530:	c3                   	ret
48e531:	8b ff                	mov    %edi,%edi
48e533:	55                   	push   %ebp
48e534:	8b ec                	mov    %esp,%ebp
48e536:	83 ec 2c             	sub    $0x2c,%esp
48e539:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
48e53e:	33 c5                	xor    %ebp,%eax
48e540:	89 45 fc             	mov    %eax,-0x4(%ebp)
48e543:	53                   	push   %ebx
48e544:	8b 5d 0c             	mov    0xc(%ebp),%ebx
48e547:	8d 45 e4             	lea    -0x1c(%ebp),%eax
48e54a:	56                   	push   %esi
48e54b:	8b 75 14             	mov    0x14(%ebp),%esi
48e54e:	57                   	push   %edi
48e54f:	8b 7d 08             	mov    0x8(%ebp),%edi
48e552:	53                   	push   %ebx
48e553:	50                   	push   %eax
48e554:	89 7d e4             	mov    %edi,-0x1c(%ebp)
48e557:	89 75 e0             	mov    %esi,-0x20(%ebp)
48e55a:	e8 e0 04 00 00       	call   0x48ea3f
48e55f:	59                   	pop    %ecx
48e560:	59                   	pop    %ecx
48e561:	8b c8                	mov    %eax,%ecx
48e563:	83 e1 08             	and    $0x8,%ecx
48e566:	89 4d dc             	mov    %ecx,-0x24(%ebp)
48e569:	85 f6                	test   %esi,%esi
48e56b:	74 03                	je     0x48e570
48e56d:	83 26 00             	andl   $0x0,(%esi)
48e570:	33 f6                	xor    %esi,%esi
48e572:	83 e0 f7             	and    $0xfffffff7,%eax
48e575:	46                   	inc    %esi
48e576:	3b c6                	cmp    %esi,%eax
48e578:	75 62                	jne    0x48e5dc
48e57a:	6a 02                	push   $0x2
48e57c:	8d 45 f0             	lea    -0x10(%ebp),%eax
48e57f:	50                   	push   %eax
48e580:	53                   	push   %ebx
48e581:	ff 75 e4             	push   -0x1c(%ebp)
48e584:	57                   	push   %edi
48e585:	e8 bf 05 00 00       	call   0x48eb49
48e58a:	83 c4 14             	add    $0x14,%esp
48e58d:	85 c0                	test   %eax,%eax
48e58f:	74 38                	je     0x48e5c9
48e591:	83 f8 02             	cmp    $0x2,%eax
48e594:	7f 33                	jg     0x48e5c9
48e596:	db 45 f4             	fildl  -0xc(%ebp)
48e599:	dd 55 e8             	fstl   -0x18(%ebp)
48e59c:	3b c6                	cmp    %esi,%eax
48e59e:	7e 2e                	jle    0x48e5ce
48e5a0:	dd d8                	fstp   %st(0)
48e5a2:	dd 05 98 ef 40 00    	fldl   0x40ef98
48e5a8:	eb 02                	jmp    0x48e5ac
48e5aa:	dd d8                	fstp   %st(0)
48e5ac:	db 44 b5 f4          	fildl  -0xc(%ebp,%esi,4)
48e5b0:	46                   	inc    %esi
48e5b1:	dd 5d d4             	fstpl  -0x2c(%ebp)
48e5b4:	dd 45 d4             	fldl   -0x2c(%ebp)
48e5b7:	dd 45 e8             	fldl   -0x18(%ebp)
48e5ba:	d8 ca                	fmul   %st(2),%st
48e5bc:	de c1                	faddp  %st,%st(1)
48e5be:	dd 55 e8             	fstl   -0x18(%ebp)
48e5c1:	3b f0                	cmp    %eax,%esi
48e5c3:	7c e5                	jl     0x48e5aa
48e5c5:	dd d9                	fstp   %st(1)
48e5c7:	eb 05                	jmp    0x48e5ce
48e5c9:	d9 ee                	fldz
48e5cb:	dd 55 e8             	fstl   -0x18(%ebp)
48e5ce:	8b 45 f0             	mov    -0x10(%ebp),%eax
48e5d1:	ff 75 e0             	push   -0x20(%ebp)
48e5d4:	8b 4d 10             	mov    0x10(%ebp),%ecx
48e5d7:	03 c1                	add    %ecx,%eax
48e5d9:	50                   	push   %eax
48e5da:	eb 69                	jmp    0x48e645
48e5dc:	83 f8 02             	cmp    $0x2,%eax
48e5df:	75 76                	jne    0x48e657
48e5e1:	50                   	push   %eax
48e5e2:	8d 45 f0             	lea    -0x10(%ebp),%eax
48e5e5:	50                   	push   %eax
48e5e6:	53                   	push   %ebx
48e5e7:	ff 75 e4             	push   -0x1c(%ebp)
48e5ea:	57                   	push   %edi
48e5eb:	e8 99 07 00 00       	call   0x48ed89
48e5f0:	83 c4 14             	add    $0x14,%esp
48e5f3:	85 c0                	test   %eax,%eax
48e5f5:	74 32                	je     0x48e629
48e5f7:	83 f8 02             	cmp    $0x2,%eax
48e5fa:	7f 2d                	jg     0x48e629
48e5fc:	db 45 f4             	fildl  -0xc(%ebp)
48e5ff:	dd 5d e8             	fstpl  -0x18(%ebp)
48e602:	3b c6                	cmp    %esi,%eax
48e604:	7e 28                	jle    0x48e62e
48e606:	dd 05 90 ef 40 00    	fldl   0x40ef90
48e60c:	db 44 b5 f4          	fildl  -0xc(%ebp,%esi,4)
48e610:	46                   	inc    %esi
48e611:	dd 5d d4             	fstpl  -0x2c(%ebp)
48e614:	dd 45 d4             	fldl   -0x2c(%ebp)
48e617:	dd 45 e8             	fldl   -0x18(%ebp)
48e61a:	d8 ca                	fmul   %st(2),%st
48e61c:	de c1                	faddp  %st,%st(1)
48e61e:	dd 5d e8             	fstpl  -0x18(%ebp)
48e621:	3b f0                	cmp    %eax,%esi
48e623:	7c e7                	jl     0x48e60c
48e625:	dd d8                	fstp   %st(0)
48e627:	eb 05                	jmp    0x48e62e
48e629:	d9 ee                	fldz
48e62b:	dd 5d e8             	fstpl  -0x18(%ebp)
48e62e:	ff 75 f0             	push   -0x10(%ebp)
48e631:	8d 45 e8             	lea    -0x18(%ebp),%eax
48e634:	50                   	push   %eax
48e635:	e8 bf 09 00 00       	call   0x48eff9
48e63a:	dd 45 e8             	fldl   -0x18(%ebp)
48e63d:	59                   	pop    %ecx
48e63e:	59                   	pop    %ecx
48e63f:	ff 75 e0             	push   -0x20(%ebp)
48e642:	ff 75 10             	push   0x10(%ebp)
48e645:	51                   	push   %ecx
48e646:	51                   	push   %ecx
48e647:	dd 1c 24             	fstpl  (%esp)
48e64a:	e8 e1 09 00 00       	call   0x48f030
48e64f:	8b 4d dc             	mov    -0x24(%ebp),%ecx
48e652:	83 c4 10             	add    $0x10,%esp
48e655:	eb 1c                	jmp    0x48e673
48e657:	83 f8 03             	cmp    $0x3,%eax
48e65a:	75 08                	jne    0x48e664
48e65c:	dd 05 78 38 4a 00    	fldl   0x4a3878
48e662:	eb 0f                	jmp    0x48e673