48e13f:	5e                   	pop    %esi
48e140:	5b                   	pop    %ebx
48e141:	c9                   	leave
48e142:	c3                   	ret
48e143:	8b 45 18             	mov    0x18(%ebp),%eax
48e146:	85 c0                	test   %eax,%eax
48e148:	75 13                	jne    0x48e15d
48e14a:	ff 15 54 80 4a 00    	call   *0x4a8054
48e150:	8b 78 08             	mov    0x8(%eax),%edi
48e153:	ff 15 50 80 4a 00    	call   *0x4a8050
48e159:	8b d8                	mov    %eax,%ebx
48e15b:	eb 05                	jmp    0x48e162
48e15d:	8b 38                	mov    (%eax),%edi
48e15f:	8b 58 04             	mov    0x4(%eax),%ebx
48e162:	85 ff                	test   %edi,%edi
48e164:	75 16                	jne    0x48e17c
48e166:	8b 4d 08             	mov    0x8(%ebp),%ecx
48e169:	85 c9                	test   %ecx,%ecx
48e16b:	0f 84 dc 00 00 00    	je     0x48e24d
48e171:	0f b6 06             	movzbl (%esi),%eax
48e174:	66 89 01             	mov    %ax,(%ecx)
48e177:	e9 d1 00 00 00       	jmp    0x48e24d
48e17c:	8b 7d 14             	mov    0x14(%ebp),%edi
48e17f:	33 c0                	xor    %eax,%eax
48e181:	39 07                	cmp    %eax,(%edi)
48e183:	8a 06                	mov    (%esi),%al
48e185:	74 4e                	je     0x48e1d5
48e187:	88 47 01             	mov    %al,0x1(%edi)
48e18a:	a1 48 80 4a 00       	mov    0x4a8048,%eax
48e18f:	83 38 01             	cmpl   $0x1,(%eax)
48e192:	7e 29                	jle    0x48e1bd
48e194:	33 c0                	xor    %eax,%eax
48e196:	39 45 08             	cmp    %eax,0x8(%ebp)
48e199:	0f 95 c0             	setne  %al
48e19c:	50                   	push   %eax
48e19d:	ff 75 08             	push   0x8(%ebp)
48e1a0:	6a 02                	push   $0x2
48e1a2:	57                   	push   %edi
48e1a3:	6a 09                	push   $0x9
48e1a5:	53                   	push   %ebx
48e1a6:	ff 15 24 7f 4a 00    	call   *0x4a7f24
48e1ac:	85 c0                	test   %eax,%eax
48e1ae:	74 0d                	je     0x48e1bd
48e1b0:	33 c0                	xor    %eax,%eax
48e1b2:	89 07                	mov    %eax,(%edi)
48e1b4:	a1 48 80 4a 00       	mov    0x4a8048,%eax
48e1b9:	8b 00                	mov    (%eax),%eax
48e1bb:	eb 81                	jmp    0x48e13e
48e1bd:	33 c0                	xor    %eax,%eax
48e1bf:	89 07                	mov    %eax,(%edi)
48e1c1:	ff 15 58 80 4a 00    	call   *0x4a8058
48e1c7:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
48e1cd:	83 c8 ff             	or     $0xffffffff,%eax
48e1d0:	e9 69 ff ff ff       	jmp    0x48e13e
48e1d5:	88 45 ff             	mov    %al,-0x1(%ebp)
48e1d8:	ff 15 4c 80 4a 00    	call   *0x4a804c
48e1de:	8a 55 ff             	mov    -0x1(%ebp),%dl
48e1e1:	33 ff                	xor    %edi,%edi
48e1e3:	0f b6 ca             	movzbl %dl,%ecx
48e1e6:	66 39 3c 48          	cmp    %di,(%eax,%ecx,2)
48e1ea:	8b 7d 14             	mov    0x14(%ebp),%edi
48e1ed:	7d 3e                	jge    0x48e22d
48e1ef:	a1 48 80 4a 00       	mov    0x4a8048,%eax
48e1f4:	8b 08                	mov    (%eax),%ecx
48e1f6:	39 4d 10             	cmp    %ecx,0x10(%ebp)
48e1f9:	73 0a                	jae    0x48e205
48e1fb:	6a fe                	push   $0xfffffffe
48e1fd:	88 17                	mov    %dl,(%edi)
48e1ff:	58                   	pop    %eax
48e200:	e9 39 ff ff ff       	jmp    0x48e13e
48e205:	83 f9 01             	cmp    $0x1,%ecx
48e208:	7e 1b                	jle    0x48e225
48e20a:	33 c0                	xor    %eax,%eax
48e20c:	39 45 08             	cmp    %eax,0x8(%ebp)
48e20f:	0f 95 c0             	setne  %al
48e212:	50                   	push   %eax
48e213:	ff 75 08             	push   0x8(%ebp)
48e216:	51                   	push   %ecx
48e217:	56                   	push   %esi
48e218:	6a 09                	push   $0x9
48e21a:	53                   	push   %ebx
48e21b:	ff 15 24 7f 4a 00    	call   *0x4a7f24
48e221:	85 c0                	test   %eax,%eax
48e223:	75 8f                	jne    0x48e1b4
48e225:	80 7e 01 00          	cmpb   $0x0,0x1(%esi)
48e229:	75 89                	jne    0x48e1b4
48e22b:	eb 90                	jmp    0x48e1bd
48e22d:	33 c0                	xor    %eax,%eax
48e22f:	39 45 08             	cmp    %eax,0x8(%ebp)
48e232:	0f 95 c0             	setne  %al
48e235:	50                   	push   %eax
48e236:	ff 75 08             	push   0x8(%ebp)
48e239:	6a 01                	push   $0x1
48e23b:	56                   	push   %esi
48e23c:	6a 09                	push   $0x9
48e23e:	53                   	push   %ebx
48e23f:	ff 15 24 7f 4a 00    	call   *0x4a7f24
48e245:	85 c0                	test   %eax,%eax
48e247:	0f 84 74 ff ff ff    	je     0x48e1c1
48e24d:	33 c0                	xor    %eax,%eax
48e24f:	40                   	inc    %eax
48e250:	e9 e9 fe ff ff       	jmp    0x48e13e
48e255:	8b ff                	mov    %edi,%edi
48e257:	55                   	push   %ebp
48e258:	8b ec                	mov    %esp,%ebp
48e25a:	5d                   	pop    %ebp
48e25b:	e9 00 00 00 00       	jmp    0x48e260
48e260:	8b ff                	mov    %edi,%edi
48e262:	55                   	push   %ebp
48e263:	8b ec                	mov    %esp,%ebp
48e265:	51                   	push   %ecx
48e266:	66 8b 4d 08          	mov    0x8(%ebp),%cx
48e26a:	b8 ff ff 00 00       	mov    $0xffff,%eax
48e26f:	66 89 4d fc          	mov    %cx,-0x4(%ebp)
48e273:	66 3b c8             	cmp    %ax,%cx
48e276:	74 4d                	je     0x48e2c5
48e278:	8b 45 0c             	mov    0xc(%ebp),%eax
48e27b:	83 38 00             	cmpl   $0x0,(%eax)
48e27e:	75 19                	jne    0x48e299
48e280:	ba 00 01 00 00       	mov    $0x100,%edx
48e285:	66 3b ca             	cmp    %dx,%cx
48e288:	73 0f                	jae    0x48e299
48e28a:	8d 41 9f             	lea    -0x61(%ecx),%eax
48e28d:	66 83 f8 19          	cmp    $0x19,%ax
48e291:	77 32                	ja     0x48e2c5
48e293:	66 83 e9 20          	sub    $0x20,%cx
48e297:	eb 2c                	jmp    0x48e2c5
48e299:	ff 70 04             	push   0x4(%eax)
48e29c:	8d 4d fc             	lea    -0x4(%ebp),%ecx
48e29f:	6a 01                	push   $0x1
48e2a1:	51                   	push   %ecx
48e2a2:	6a 01                	push   $0x1
48e2a4:	8d 4d 08             	lea    0x8(%ebp),%ecx
48e2a7:	51                   	push   %ecx
48e2a8:	68 00 02 00 00       	push   $0x200
48e2ad:	ff 30                	push   (%eax)
48e2af:	6a 00                	push   $0x0
48e2b1:	e8 f5 22 00 00       	call   0x4905ab
48e2b6:	66 8b 4d 08          	mov    0x8(%ebp),%cx
48e2ba:	83 c4 20             	add    $0x20,%esp
48e2bd:	85 c0                	test   %eax,%eax
48e2bf:	74 04                	je     0x48e2c5
48e2c1:	66 8b 4d fc          	mov    -0x4(%ebp),%cx
48e2c5:	66 8b c1             	mov    %cx,%ax
48e2c8:	c9                   	leave
48e2c9:	c3                   	ret
48e2ca:	8b ff                	mov    %edi,%edi
48e2cc:	55                   	push   %ebp
48e2cd:	8b ec                	mov    %esp,%ebp
48e2cf:	5d                   	pop    %ebp
48e2d0:	e9 00 00 00 00       	jmp    0x48e2d5
48e2d5:	8b ff                	mov    %edi,%edi
48e2d7:	55                   	push   %ebp
48e2d8:	8b ec                	mov    %esp,%ebp
48e2da:	51                   	push   %ecx
48e2db:	66 8b 4d 08          	mov    0x8(%ebp),%cx
48e2df:	b8 ff ff 00 00       	mov    $0xffff,%eax
48e2e4:	66 89 4d fc          	mov    %cx,-0x4(%ebp)
48e2e8:	66 3b c8             	cmp    %ax,%cx
48e2eb:	74 49                	je     0x48e336
48e2ed:	8b 45 0c             	mov    0xc(%ebp),%eax
48e2f0:	ba 00 01 00 00       	mov    $0x100,%edx
48e2f5:	83 38 00             	cmpl   $0x0,(%eax)
48e2f8:	75 14                	jne    0x48e30e
48e2fa:	66 3b ca             	cmp    %dx,%cx
48e2fd:	73 0f                	jae    0x48e30e
48e2ff:	8d 41 bf             	lea    -0x41(%ecx),%eax
48e302:	66 83 f8 19          	cmp    $0x19,%ax
48e306:	77 2e                	ja     0x48e336
48e308:	66 83 c1 20          	add    $0x20,%cx
48e30c:	eb 28                	jmp    0x48e336
48e30e:	ff 70 04             	push   0x4(%eax)
48e311:	8d 4d fc             	lea    -0x4(%ebp),%ecx
48e314:	6a 01                	push   $0x1
48e316:	51                   	push   %ecx
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)