50a2e7:	5f                   	pop    %edi
50a2e8:	5e                   	pop    %esi
50a2e9:	5d                   	pop    %ebp
50a2ea:	5b                   	pop    %ebx
50a2eb:	c3                   	ret
50a2ec:	89 75 00             	mov    %esi,0x0(%ebp)
50a2ef:	85 db                	test   %ebx,%ebx
50a2f1:	74 11                	je     0x50a304
50a2f3:	56                   	push   %esi
50a2f4:	53                   	push   %ebx
50a2f5:	50                   	push   %eax
50a2f6:	e8 d5 8a 0c 00       	call   0x5d2dd0
50a2fb:	8b 07                	mov    (%edi),%eax
50a2fd:	83 c4 0c             	add    $0xc,%esp
50a300:	c6 04 06 00          	movb   $0x0,(%esi,%eax,1)
50a304:	5f                   	pop    %edi
50a305:	5e                   	pop    %esi
50a306:	5d                   	pop    %ebp
50a307:	b8 01 00 00 00       	mov    $0x1,%eax
50a30c:	5b                   	pop    %ebx
50a30d:	c3                   	ret
50a30e:	cc                   	int3
50a30f:	cc                   	int3
50a310:	56                   	push   %esi
50a311:	8b 74 24 08          	mov    0x8(%esp),%esi
50a315:	68 39 01 00 00       	push   $0x139
50a31a:	68 28 ae 62 00       	push   $0x62ae28
50a31f:	ff 76 08             	push   0x8(%esi)
50a322:	e8 59 64 fd ff       	call   0x4e0780
50a327:	8b 44 24 18          	mov    0x18(%esp),%eax
50a32b:	83 c4 0c             	add    $0xc,%esp
50a32e:	89 46 08             	mov    %eax,0x8(%esi)
50a331:	8b 44 24 10          	mov    0x10(%esp),%eax
50a335:	89 06                	mov    %eax,(%esi)
50a337:	5e                   	pop    %esi
50a338:	c3                   	ret
50a339:	cc                   	int3
50a33a:	cc                   	int3
50a33b:	cc                   	int3
50a33c:	cc                   	int3
50a33d:	cc                   	int3
50a33e:	cc                   	int3
50a33f:	cc                   	int3
50a340:	68 47 01 00 00       	push   $0x147
50a345:	68 28 ae 62 00       	push   $0x62ae28
50a34a:	6a 10                	push   $0x10
50a34c:	e8 ef 66 fd ff       	call   0x4e0a40
50a351:	8b c8                	mov    %eax,%ecx
50a353:	83 c4 0c             	add    $0xc,%esp
50a356:	85 c9                	test   %ecx,%ecx
50a358:	75 1e                	jne    0x50a378
50a35a:	68 49 01 00 00       	push   $0x149
50a35f:	68 28 ae 62 00       	push   $0x62ae28
50a364:	6a 41                	push   $0x41
50a366:	68 82 00 00 00       	push   $0x82
50a36b:	6a 0d                	push   $0xd
50a36d:	e8 0e ec fc ff       	call   0x4d8f80
50a372:	83 c4 14             	add    $0x14,%esp
50a375:	33 c0                	xor    %eax,%eax
50a377:	c3                   	ret
50a378:	8b 44 24 04          	mov    0x4(%esp),%eax
50a37c:	89 41 04             	mov    %eax,0x4(%ecx)
50a37f:	8b c1                	mov    %ecx,%eax
50a381:	c3                   	ret
50a382:	cc                   	int3
50a383:	cc                   	int3
50a384:	cc                   	int3
50a385:	cc                   	int3
50a386:	cc                   	int3
50a387:	cc                   	int3
50a388:	cc                   	int3
50a389:	cc                   	int3
50a38a:	cc                   	int3
50a38b:	cc                   	int3
50a38c:	cc                   	int3
50a38d:	cc                   	int3
50a38e:	cc                   	int3
50a38f:	cc                   	int3
50a390:	b8 04 00 00 00       	mov    $0x4,%eax
50a395:	e8 16 74 0c 00       	call   0x5d17b0
50a39a:	8b 44 24 18          	mov    0x18(%esp),%eax
50a39e:	53                   	push   %ebx
50a39f:	55                   	push   %ebp
50a3a0:	56                   	push   %esi
50a3a1:	8b 74 24 14          	mov    0x14(%esp),%esi
50a3a5:	57                   	push   %edi
50a3a6:	8b 36                	mov    (%esi),%esi
50a3a8:	85 c0                	test   %eax,%eax
50a3aa:	0f 84 88 00 00 00    	je     0x50a438
50a3b0:	0f b6 0e             	movzbl (%esi),%ecx
50a3b3:	8d 58 ff             	lea    -0x1(%eax),%ebx
50a3b6:	8b d1                	mov    %ecx,%edx
50a3b8:	8b f9                	mov    %ecx,%edi
50a3ba:	83 e2 20             	and    $0x20,%edx
50a3bd:	83 e1 1f             	and    $0x1f,%ecx
50a3c0:	81 e7 c0 00 00 00    	and    $0xc0,%edi
50a3c6:	89 54 24 10          	mov    %edx,0x10(%esp)
50a3ca:	46                   	inc    %esi
50a3cb:	83 f9 1f             	cmp    $0x1f,%ecx
50a3ce:	75 3d                	jne    0x50a40d
50a3d0:	85 db                	test   %ebx,%ebx
50a3d2:	74 64                	je     0x50a438
50a3d4:	8a 06                	mov    (%esi),%al
50a3d6:	33 c9                	xor    %ecx,%ecx
50a3d8:	84 c0                	test   %al,%al
50a3da:	79 23                	jns    0x50a3ff
50a3dc:	0f 1f 40 00          	nopl   0x0(%eax)
50a3e0:	0f b6 c0             	movzbl %al,%eax
50a3e3:	46                   	inc    %esi
50a3e4:	83 e0 7f             	and    $0x7f,%eax
50a3e7:	c1 e1 07             	shl    $0x7,%ecx
50a3ea:	0b c8                	or     %eax,%ecx
50a3ec:	83 eb 01             	sub    $0x1,%ebx
50a3ef:	74 47                	je     0x50a438
50a3f1:	81 f9 ff ff ff 00    	cmp    $0xffffff,%ecx
50a3f7:	7f 3f                	jg     0x50a438
50a3f9:	8a 06                	mov    (%esi),%al
50a3fb:	84 c0                	test   %al,%al
50a3fd:	78 e1                	js     0x50a3e0
50a3ff:	c1 e1 07             	shl    $0x7,%ecx
50a402:	46                   	inc    %esi
50a403:	0f b6 c0             	movzbl %al,%eax
50a406:	0b c8                	or     %eax,%ecx
50a408:	83 eb 01             	sub    $0x1,%ebx
50a40b:	eb 02                	jmp    0x50a40f
50a40d:	85 db                	test   %ebx,%ebx
50a40f:	74 27                	je     0x50a438
50a411:	8b 44 24 20          	mov    0x20(%esp),%eax
50a415:	89 08                	mov    %ecx,(%eax)
50a417:	8b 44 24 24          	mov    0x24(%esp),%eax
50a41b:	89 38                	mov    %edi,(%eax)
50a41d:	33 ff                	xor    %edi,%edi
50a41f:	83 fb 01             	cmp    $0x1,%ebx
50a422:	7c 14                	jl     0x50a438
50a424:	8a 06                	mov    (%esi),%al
50a426:	46                   	inc    %esi
50a427:	3c 80                	cmp    $0x80,%al
50a429:	75 2d                	jne    0x50a458
50a42b:	8b 44 24 1c          	mov    0x1c(%esp),%eax
50a42f:	8d 6f 01             	lea    0x1(%edi),%ebp
50a432:	89 38                	mov    %edi,(%eax)
50a434:	85 d2                	test   %edx,%edx
50a436:	75 72                	jne    0x50a4aa
50a438:	6a 65                	push   $0x65
50a43a:	68 28 ae 62 00       	push   $0x62ae28
50a43f:	6a 7b                	push   $0x7b
50a441:	6a 72                	push   $0x72
50a443:	6a 0d                	push   $0xd
50a445:	e8 36 eb fc ff       	call   0x4d8f80
50a44a:	83 c4 14             	add    $0x14,%esp
50a44d:	b8 80 00 00 00       	mov    $0x80,%eax
50a452:	5f                   	pop    %edi
50a453:	5e                   	pop    %esi
50a454:	5d                   	pop    %ebp
50a455:	5b                   	pop    %ebx
50a456:	59                   	pop    %ecx
50a457:	c3                   	ret
50a458:	0f b6 d0             	movzbl %al,%edx
50a45b:	33 ed                	xor    %ebp,%ebp
50a45d:	83 e2 7f             	and    $0x7f,%edx
50a460:	84 c0                	test   %al,%al
50a462:	79 3a                	jns    0x50a49e
50a464:	8d 4a 01             	lea    0x1(%edx),%ecx
50a467:	8d 43 ff             	lea    -0x1(%ebx),%eax
50a46a:	3b c1                	cmp    %ecx,%eax
50a46c:	7c ca                	jl     0x50a438
50a46e:	85 d2                	test   %edx,%edx
50a470:	74 0b                	je     0x50a47d
50a472:	80 3e 00             	cmpb   $0x0,(%esi)
50a475:	75 06                	jne    0x50a47d
50a477:	4a                   	dec    %edx
50a478:	46                   	inc    %esi
50a479:	85 d2                	test   %edx,%edx
50a47b:	7f f5                	jg     0x50a472
50a47d:	83 fa 04             	cmp    $0x4,%edx
50a480:	7f b6                	jg     0x50a438
50a482:	85 d2                	test   %edx,%edx
50a484:	7e 1a                	jle    0x50a4a0
50a486:	0f b6 06             	movzbl (%esi),%eax
50a489:	4a                   	dec    %edx
50a48a:	c1 e7 08             	shl    $0x8,%edi
50a48d:	46                   	inc    %esi
50a48e:	0b f8                	or     %eax,%edi
50a490:	85 d2                	test   %edx,%edx
50a492:	7f f2                	jg     0x50a486
50a494:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
50a49a:	77 9c                	ja     0x50a438
50a49c:	eb 02                	jmp    0x50a4a0
50a49e:	8b fa                	mov    %edx,%edi
50a4a0:	8b 44 24 1c          	mov    0x1c(%esp),%eax
50a4a4:	8b 54 24 10          	mov    0x10(%esp),%edx
50a4a8:	89 38                	mov    %edi,(%eax)
50a4aa:	8b 5c 24 18          	mov    0x18(%esp),%ebx
50a4ae:	8b 03                	mov    (%ebx),%eax
50a4b0:	2b c6                	sub    %esi,%eax
50a4b2:	03 44 24 28          	add    0x28(%esp),%eax
50a4b6:	3b f8                	cmp    %eax,%edi
50a4b8:	7e 22                	jle    0x50a4dc
50a4ba:	6a 5b                	push   $0x5b
50a4bc:	68 28 ae 62 00       	push   $0x62ae28
50a4c1:	68 9b 00 00 00       	push   $0x9b
50a4c6:	6a 72                	push   $0x72
50a4c8:	6a 0d                	push   $0xd
50a4ca:	e8 b1 ea fc ff       	call   0x4d8f80
50a4cf:	8b 54 24 24          	mov    0x24(%esp),%edx
50a4d3:	83 c4 14             	add    $0x14,%esp
50a4d6:	81 ca 80 00 00 00    	or     $0x80,%edx
50a4dc:	5f                   	pop    %edi
50a4dd:	89 33                	mov    %esi,(%ebx)
50a4df:	0b ea                	or     %edx,%ebp
50a4e1:	5e                   	pop    %esi
50a4e2:	8b c5                	mov    %ebp,%eax
50a4e4:	5d                   	pop    %ebp
50a4e5:	5b                   	pop    %ebx
50a4e6:	59                   	pop    %ecx
50a4e7:	c3                   	ret
50a4e8:	cc                   	int3
50a4e9:	cc                   	int3
50a4ea:	cc                   	int3
50a4eb:	cc                   	int3
50a4ec:	cc                   	int3
50a4ed:	cc                   	int3
50a4ee:	cc                   	int3
50a4ef:	cc                   	int3
50a4f0:	8b 54 24 08          	mov    0x8(%esp),%edx
50a4f4:	b9 01 00 00 00       	mov    $0x1,%ecx
50a4f9:	85 d2                	test   %edx,%edx
50a4fb:	78 3c                	js     0x50a539
50a4fd:	8b 44 24 0c          	mov    0xc(%esp),%eax
50a501:	83 f8 1f             	cmp    $0x1f,%eax
50a504:	7c 08                	jl     0x50a50e
50a506:	c1 e8 07             	shr    $0x7,%eax
50a509:	41                   	inc    %ecx
50a50a:	85 c0                	test   %eax,%eax
50a50c:	75 f8                	jne    0x50a506
50a50e:	83 7c 24 04 02       	cmpl   $0x2,0x4(%esp)
50a513:	75 05                	jne    0x50a51a
50a515:	83 c1 03             	add    $0x3,%ecx
50a518:	eb 10                	jmp    0x50a52a
50a51a:	41                   	inc    %ecx
50a51b:	83 fa 7f             	cmp    $0x7f,%edx
50a51e:	7e 0a                	jle    0x50a52a
50a520:	8b c2                	mov    %edx,%eax
50a522:	c1 e8 08             	shr    $0x8,%eax
50a525:	41                   	inc    %ecx
50a526:	85 c0                	test   %eax,%eax
50a528:	75 f8                	jne    0x50a522
50a52a:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
50a52f:	2b c2                	sub    %edx,%eax
50a531:	3b c8                	cmp    %eax,%ecx
50a533:	7d 04                	jge    0x50a539
50a535:	8d 04 11             	lea    (%ecx,%edx,1),%eax
50a538:	c3                   	ret
50a539:	83 c8 ff             	or     $0xffffffff,%eax
50a53c:	c3                   	ret
50a53d:	cc                   	int3
50a53e:	cc                   	int3
50a53f:	cc                   	int3
50a540:	8b 4c 24 04          	mov    0x4(%esp),%ecx
50a544:	8b 01                	mov    (%ecx),%eax
50a546:	66 c7 00 00 00       	movw   $0x0,(%eax)
50a54b:	83 c0 02             	add    $0x2,%eax
50a54e:	89 01                	mov    %eax,(%ecx)
50a550:	b8 02 00 00 00       	mov    $0x2,%eax
50a555:	c3                   	ret
50a556:	cc                   	int3
50a557:	cc                   	int3
50a558:	cc                   	int3
50a559:	cc                   	int3
50a55a:	cc                   	int3
50a55b:	cc                   	int3
50a55c:	cc                   	int3
50a55d:	cc                   	int3
50a55e:	cc                   	int3
50a55f:	cc                   	int3
50a560:	8b 54 24 08          	mov    0x8(%esp),%edx
50a564:	8a 44 24 14          	mov    0x14(%esp),%al
50a568:	f7 da                	neg    %edx
50a56a:	8b 4c 24 10          	mov    0x10(%esp),%ecx
50a56e:	53                   	push   %ebx
50a56f:	8b 5c 24 08          	mov    0x8(%esp),%ebx
50a573:	1a d2                	sbb    %dl,%dl
50a575:	56                   	push   %esi
50a576:	57                   	push   %edi
50a577:	80 e2 20             	and    $0x20,%dl
50a57a:	24 c0                	and    $0xc0,%al
50a57c:	8b 3b                	mov    (%ebx),%edi
50a57e:	0a d0                	or     %al,%dl
50a580:	8d 77 01             	lea    0x1(%edi),%esi
50a583:	83 f9 1f             	cmp    $0x1f,%ecx
50a586:	7d 09                	jge    0x50a591
50a588:	80 e1 1f             	and    $0x1f,%cl
50a58b:	0a ca                	or     %dl,%cl
50a58d:	88 0f                	mov    %cl,(%edi)
50a58f:	eb 3d                	jmp    0x50a5ce
50a591:	80 ca 1f             	or     $0x1f,%dl
50a594:	8b c1                	mov    %ecx,%eax
50a596:	88 17                	mov    %dl,(%edi)
50a598:	33 ff                	xor    %edi,%edi
50a59a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
50a5a0:	8b df                	mov    %edi,%ebx
50a5a2:	c1 e8 07             	shr    $0x7,%eax
50a5a5:	47                   	inc    %edi
50a5a6:	85 c0                	test   %eax,%eax
50a5a8:	75 f6                	jne    0x50a5a0
50a5aa:	85 ff                	test   %edi,%edi
50a5ac:	7e 1a                	jle    0x50a5c8
50a5ae:	8b d7                	mov    %edi,%edx
50a5b0:	4a                   	dec    %edx
50a5b1:	8a c1                	mov    %cl,%al
50a5b3:	24 7f                	and    $0x7f,%al
50a5b5:	88 04 32             	mov    %al,(%edx,%esi,1)
50a5b8:	3b d3                	cmp    %ebx,%edx
50a5ba:	74 05                	je     0x50a5c1
50a5bc:	0c 80                	or     $0x80,%al
50a5be:	88 04 32             	mov    %al,(%edx,%esi,1)
50a5c1:	c1 f9 07             	sar    $0x7,%ecx
50a5c4:	85 d2                	test   %edx,%edx
50a5c6:	7f e8                	jg     0x50a5b0
50a5c8:	8b 5c 24 10          	mov    0x10(%esp),%ebx
50a5cc:	03 f7                	add    %edi,%esi
50a5ce:	83 7c 24 14 02       	cmpl   $0x2,0x14(%esp)
50a5d3:	75 0a                	jne    0x50a5df
50a5d5:	c6 06 80             	movb   $0x80,(%esi)
50a5d8:	46                   	inc    %esi
50a5d9:	5f                   	pop    %edi
50a5da:	89 33                	mov    %esi,(%ebx)
50a5dc:	5e                   	pop    %esi
50a5dd:	5b                   	pop    %ebx
50a5de:	c3                   	ret
50a5df:	8b 4c 24 18          	mov    0x18(%esp),%ecx
50a5e3:	83 f9 7f             	cmp    $0x7f,%ecx
50a5e6:	7f 09                	jg     0x50a5f1
50a5e8:	88 0e                	mov    %cl,(%esi)
50a5ea:	46                   	inc    %esi
50a5eb:	5f                   	pop    %edi
50a5ec:	89 33                	mov    %esi,(%ebx)
50a5ee:	5e                   	pop    %esi
50a5ef:	5b                   	pop    %ebx
50a5f0:	c3                   	ret
50a5f1:	8b c1                	mov    %ecx,%eax
50a5f3:	33 d2                	xor    %edx,%edx
50a5f5:	c1 e8 08             	shr    $0x8,%eax
50a5f8:	42                   	inc    %edx
50a5f9:	85 c0                	test   %eax,%eax
50a5fb:	75 f8                	jne    0x50a5f5
50a5fd:	8a c2                	mov    %dl,%al
50a5ff:	0c 80                	or     $0x80,%al
50a601:	88 06                	mov    %al,(%esi)
50a603:	46                   	inc    %esi