50d54f:	89 44 24 04          	mov    %eax,0x4(%esp)
50d553:	33 c0                	xor    %eax,%eax
50d555:	bf 01 00 00 00       	mov    $0x1,%edi
50d55a:	8b 14 24             	mov    (%esp),%edx
50d55d:	8d 6a 01             	lea    0x1(%edx),%ebp
50d560:	b9 01 00 00 00       	mov    $0x1,%ecx
50d565:	8d 54 04 0c          	lea    0xc(%esp,%eax,1),%edx
50d569:	8b f5                	mov    %ebp,%esi
50d56b:	eb 07                	jmp    0x50d574
50d56d:	8b df                	mov    %edi,%ebx
50d56f:	40                   	inc    %eax
50d570:	88 1a                	mov    %bl,(%edx)
50d572:	42                   	inc    %edx
50d573:	41                   	inc    %ecx
50d574:	33 db                	xor    %ebx,%ebx
50d576:	8a 1e                	mov    (%esi),%bl
50d578:	3b cb                	cmp    %ebx,%ecx
50d57a:	7e f1                	jle    0x50d56d
50d57c:	47                   	inc    %edi
50d57d:	45                   	inc    %ebp
50d57e:	83 ff 10             	cmp    $0x10,%edi
50d581:	7e dd                	jle    0x50d560
50d583:	c6 44 04 0c 00       	movb   $0x0,0xc(%esp,%eax,1)
50d588:	89 44 24 08          	mov    %eax,0x8(%esp)
50d58c:	33 db                	xor    %ebx,%ebx
50d58e:	0f be 74 24 0c       	movsbl 0xc(%esp),%esi
50d593:	33 c0                	xor    %eax,%eax
50d595:	eb 1f                	jmp    0x50d5b6
50d597:	8d 8c 84 10 01 00 00 	lea    0x110(%esp,%eax,4),%ecx
50d59e:	8d 54 04 0c          	lea    0xc(%esp,%eax,1),%edx
50d5a2:	eb 08                	jmp    0x50d5ac
50d5a4:	89 19                	mov    %ebx,(%ecx)
50d5a6:	40                   	inc    %eax
50d5a7:	83 c1 04             	add    $0x4,%ecx
50d5aa:	42                   	inc    %edx
50d5ab:	43                   	inc    %ebx
50d5ac:	0f be 3a             	movsbl (%edx),%edi
50d5af:	3b f7                	cmp    %edi,%esi
50d5b1:	74 f1                	je     0x50d5a4
50d5b3:	03 db                	add    %ebx,%ebx
50d5b5:	46                   	inc    %esi
50d5b6:	80 7c 04 0c 00       	cmpb   $0x0,0xc(%esp,%eax,1)
50d5bb:	75 da                	jne    0x50d597
50d5bd:	68 00 01 00 00       	push   $0x100
50d5c2:	6a 00                	push   $0x0
50d5c4:	8b 44 24 0c          	mov    0xc(%esp),%eax
50d5c8:	05 00 04 00 00       	add    $0x400,%eax
50d5cd:	50                   	push   %eax
50d5ce:	e8 e1 dc fe ff       	call   0x4fb2b4
50d5d3:	83 c4 0c             	add    $0xc,%esp
50d5d6:	33 c0                	xor    %eax,%eax
50d5d8:	8d 74 24 0c          	lea    0xc(%esp),%esi
50d5dc:	8b 14 24             	mov    (%esp),%edx
50d5df:	83 c2 11             	add    $0x11,%edx
50d5e2:	8d 8c 24 10 01 00 00 	lea    0x110(%esp),%ecx
50d5e9:	3b 44 24 08          	cmp    0x8(%esp),%eax
50d5ed:	7d 2c                	jge    0x50d61b
50d5ef:	33 db                	xor    %ebx,%ebx
50d5f1:	8b 7c 24 04          	mov    0x4(%esp),%edi
50d5f5:	8a 1a                	mov    (%edx),%bl
50d5f7:	8b 29                	mov    (%ecx),%ebp
50d5f9:	83 c1 04             	add    $0x4,%ecx
50d5fc:	40                   	inc    %eax
50d5fd:	89 2c 9f             	mov    %ebp,(%edi,%ebx,4)
50d600:	33 db                	xor    %ebx,%ebx
50d602:	8a 1a                	mov    (%edx),%bl
50d604:	8b 7c 24 04          	mov    0x4(%esp),%edi
50d608:	42                   	inc    %edx
50d609:	8d bc 1f 00 04 00 00 	lea    0x400(%edi,%ebx,1),%edi
50d610:	8a 1e                	mov    (%esi),%bl
50d612:	46                   	inc    %esi
50d613:	88 1f                	mov    %bl,(%edi)
50d615:	3b 44 24 08          	cmp    0x8(%esp),%eax
50d619:	7c d4                	jl     0x50d5ef
50d61b:	81 c4 14 05 00 00    	add    $0x514,%esp
50d621:	5d                   	pop    %ebp
50d622:	5f                   	pop    %edi
50d623:	5e                   	pop    %esi
50d624:	5b                   	pop    %ebx
50d625:	c3                   	ret
50d626:	90                   	nop
50d627:	90                   	nop
50d628:	53                   	push   %ebx
50d629:	8b d8                	mov    %eax,%ebx
50d62b:	56                   	push   %esi
50d62c:	8b 43 20             	mov    0x20(%ebx),%eax
50d62f:	8b 70 14             	mov    0x14(%eax),%esi
50d632:	ff 56 0c             	call   *0xc(%esi)
50d635:	85 c0                	test   %eax,%eax
50d637:	75 05                	jne    0x50d63e
50d639:	33 c0                	xor    %eax,%eax
50d63b:	5e                   	pop    %esi
50d63c:	5b                   	pop    %ebx
50d63d:	c3                   	ret
50d63e:	8b 16                	mov    (%esi),%edx
50d640:	b8 01 00 00 00       	mov    $0x1,%eax
50d645:	89 13                	mov    %edx,(%ebx)
50d647:	8b 4e 04             	mov    0x4(%esi),%ecx
50d64a:	89 4b 04             	mov    %ecx,0x4(%ebx)
50d64d:	5e                   	pop    %esi
50d64e:	5b                   	pop    %ebx
50d64f:	c3                   	ret
50d650:	53                   	push   %ebx
50d651:	8b d8                	mov    %eax,%ebx
50d653:	56                   	push   %esi
50d654:	57                   	push   %edi
50d655:	55                   	push   %ebp
50d656:	8b f9                	mov    %ecx,%edi
50d658:	85 ff                	test   %edi,%edi
50d65a:	8b 6b 0c             	mov    0xc(%ebx),%ebp
50d65d:	8b f2                	mov    %edx,%esi
50d65f:	75 10                	jne    0x50d671
50d661:	8b 43 20             	mov    0x20(%ebx),%eax
50d664:	8b 10                	mov    (%eax),%edx
50d666:	c7 42 14 27 00 00 00 	movl   $0x27,0x14(%edx)
50d66d:	8b 10                	mov    (%eax),%edx
50d66f:	ff 12                	call   *(%edx)
50d671:	8b cf                	mov    %edi,%ecx
50d673:	b8 01 00 00 00       	mov    $0x1,%eax
50d678:	d3 e0                	shl    %cl,%eax
50d67a:	48                   	dec    %eax
50d67b:	03 ef                	add    %edi,%ebp
50d67d:	b9 18 00 00 00       	mov    $0x18,%ecx
50d682:	23 f0                	and    %eax,%esi
50d684:	2b cd                	sub    %ebp,%ecx
50d686:	d3 e6                	shl    %cl,%esi
50d688:	0b 73 08             	or     0x8(%ebx),%esi
50d68b:	83 fd 08             	cmp    $0x8,%ebp
50d68e:	7c 55                	jl     0x50d6e5
50d690:	8b fe                	mov    %esi,%edi
50d692:	8b 13                	mov    (%ebx),%edx
50d694:	c1 ff 10             	sar    $0x10,%edi
50d697:	ff 03                	incl   (%ebx)
50d699:	81 e7 ff 00 00 00    	and    $0xff,%edi
50d69f:	8b c7                	mov    %edi,%eax
50d6a1:	88 02                	mov    %al,(%edx)
50d6a3:	ff 4b 04             	decl   0x4(%ebx)
50d6a6:	75 0f                	jne    0x50d6b7
50d6a8:	8b c3                	mov    %ebx,%eax
50d6aa:	e8 79 ff ff ff       	call   0x50d628
50d6af:	85 c0                	test   %eax,%eax
50d6b1:	75 04                	jne    0x50d6b7
50d6b3:	33 c0                	xor    %eax,%eax
50d6b5:	eb 39                	jmp    0x50d6f0
50d6b7:	81 ff ff 00 00 00    	cmp    $0xff,%edi
50d6bd:	75 1b                	jne    0x50d6da
50d6bf:	8b 13                	mov    (%ebx),%edx
50d6c1:	ff 03                	incl   (%ebx)
50d6c3:	c6 02 00             	movb   $0x0,(%edx)
50d6c6:	ff 4b 04             	decl   0x4(%ebx)
50d6c9:	75 0f                	jne    0x50d6da
50d6cb:	8b c3                	mov    %ebx,%eax
50d6cd:	e8 56 ff ff ff       	call   0x50d628
50d6d2:	85 c0                	test   %eax,%eax
50d6d4:	75 04                	jne    0x50d6da
50d6d6:	33 c0                	xor    %eax,%eax
50d6d8:	eb 16                	jmp    0x50d6f0
50d6da:	c1 e6 08             	shl    $0x8,%esi
50d6dd:	83 ed 08             	sub    $0x8,%ebp
50d6e0:	83 fd 08             	cmp    $0x8,%ebp
50d6e3:	7d ab                	jge    0x50d690
50d6e5:	89 73 08             	mov    %esi,0x8(%ebx)
50d6e8:	89 6b 0c             	mov    %ebp,0xc(%ebx)
50d6eb:	b8 01 00 00 00       	mov    $0x1,%eax
50d6f0:	5d                   	pop    %ebp
50d6f1:	5f                   	pop    %edi
50d6f2:	5e                   	pop    %esi
50d6f3:	5b                   	pop    %ebx
50d6f4:	c3                   	ret
50d6f5:	90                   	nop
50d6f6:	90                   	nop
50d6f7:	90                   	nop
50d6f8:	53                   	push   %ebx
50d6f9:	8b d8                	mov    %eax,%ebx
50d6fb:	b9 07 00 00 00       	mov    $0x7,%ecx
50d700:	ba 7f 00 00 00       	mov    $0x7f,%edx
50d705:	8b c3                	mov    %ebx,%eax
50d707:	e8 44 ff ff ff       	call   0x50d650
50d70c:	85 c0                	test   %eax,%eax
50d70e:	75 04                	jne    0x50d714
50d710:	33 c0                	xor    %eax,%eax
50d712:	5b                   	pop    %ebx
50d713:	c3                   	ret
50d714:	33 d2                	xor    %edx,%edx
50d716:	33 c9                	xor    %ecx,%ecx
50d718:	89 53 08             	mov    %edx,0x8(%ebx)
50d71b:	89 4b 0c             	mov    %ecx,0xc(%ebx)
50d71e:	b8 01 00 00 00       	mov    $0x1,%eax
50d723:	5b                   	pop    %ebx
50d724:	c3                   	ret
50d725:	90                   	nop
50d726:	90                   	nop
50d727:	90                   	nop
50d728:	55                   	push   %ebp
50d729:	8b ec                	mov    %esp,%ebp
50d72b:	83 c4 e4             	add    $0xffffffe4,%esp
50d72e:	53                   	push   %ebx
50d72f:	56                   	push   %esi
50d730:	57                   	push   %edi
50d731:	89 4d f4             	mov    %ecx,-0xc(%ebp)
50d734:	89 55 f8             	mov    %edx,-0x8(%ebp)
50d737:	89 45 fc             	mov    %eax,-0x4(%ebp)
50d73a:	8b 55 f8             	mov    -0x8(%ebp),%edx
50d73d:	8b 45 0c             	mov    0xc(%ebp),%eax
50d740:	8b 7d 08             	mov    0x8(%ebp),%edi
50d743:	0f bf 0a             	movswl (%edx),%ecx
50d746:	2b 4d f4             	sub    -0xc(%ebp),%ecx
50d749:	8b f1                	mov    %ecx,%esi
50d74b:	89 4d f0             	mov    %ecx,-0x10(%ebp)
50d74e:	85 f6                	test   %esi,%esi
50d750:	7d 05                	jge    0x50d757
50d752:	f7 de                	neg    %esi
50d754:	ff 4d f0             	decl   -0x10(%ebp)
50d757:	33 d2                	xor    %edx,%edx
50d759:	85 f6                	test   %esi,%esi
50d75b:	89 55 ec             	mov    %edx,-0x14(%ebp)
50d75e:	74 09                	je     0x50d769
50d760:	ff 45 ec             	incl   -0x14(%ebp)
50d763:	d1 fe                	sar    $1,%esi
50d765:	85 f6                	test   %esi,%esi
50d767:	75 f7                	jne    0x50d760
50d769:	8b 4d ec             	mov    -0x14(%ebp),%ecx
50d76c:	8b 55 ec             	mov    -0x14(%ebp),%edx
50d76f:	0f be 8c 08 00 04 00 	movsbl 0x400(%eax,%ecx,1),%ecx
50d776:	00
50d777:	8b 14 90             	mov    (%eax,%edx,4),%edx
50d77a:	8b 45 fc             	mov    -0x4(%ebp),%eax
50d77d:	e8 ce fe ff ff       	call   0x50d650
50d782:	85 c0                	test   %eax,%eax
50d784:	75 07                	jne    0x50d78d
50d786:	33 c0                	xor    %eax,%eax
50d788:	e9 fc 00 00 00       	jmp    0x50d889
50d78d:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
50d791:	74 19                	je     0x50d7ac
50d793:	8b 4d ec             	mov    -0x14(%ebp),%ecx
50d796:	8b 55 f0             	mov    -0x10(%ebp),%edx
50d799:	8b 45 fc             	mov    -0x4(%ebp),%eax
50d79c:	e8 af fe ff ff       	call   0x50d650
50d7a1:	85 c0                	test   %eax,%eax
50d7a3:	75 07                	jne    0x50d7ac
50d7a5:	33 c0                	xor    %eax,%eax
50d7a7:	e9 dd 00 00 00       	jmp    0x50d889
50d7ac:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
50d7b3:	c7 45 e4 68 d9 68 00 	movl   $0x68d968,-0x1c(%ebp)
50d7ba:	33 db                	xor    %ebx,%ebx
50d7bc:	8b 45 e4             	mov    -0x1c(%ebp),%eax
50d7bf:	8b 10                	mov    (%eax),%edx
50d7c1:	8b 4d f8             	mov    -0x8(%ebp),%ecx
50d7c4:	0f bf 34 51          	movswl (%ecx,%edx,2),%esi
50d7c8:	85 f6                	test   %esi,%esi
50d7ca:	75 06                	jne    0x50d7d2
50d7cc:	43                   	inc    %ebx
50d7cd:	e9 84 00 00 00       	jmp    0x50d856
50d7d2:	83 fb 0f             	cmp    $0xf,%ebx
50d7d5:	7e 28                	jle    0x50d7ff
50d7d7:	0f be 8f f0 04 00 00 	movsbl 0x4f0(%edi),%ecx
50d7de:	8b 97 c0 03 00 00    	mov    0x3c0(%edi),%edx
50d7e4:	8b 45 fc             	mov    -0x4(%ebp),%eax
50d7e7:	e8 64 fe ff ff       	call   0x50d650
50d7ec:	85 c0                	test   %eax,%eax
50d7ee:	75 07                	jne    0x50d7f7
50d7f0:	33 c0                	xor    %eax,%eax
50d7f2:	e9 92 00 00 00       	jmp    0x50d889
50d7f7:	83 eb 10             	sub    $0x10,%ebx
50d7fa:	83 fb 0f             	cmp    $0xf,%ebx
50d7fd:	7f d8                	jg     0x50d7d7
50d7ff:	89 75 f0             	mov    %esi,-0x10(%ebp)
50d802:	85 f6                	test   %esi,%esi
50d804:	7d 05                	jge    0x50d80b
50d806:	f7 de                	neg    %esi
50d808:	ff 4d f0             	decl   -0x10(%ebp)
50d80b:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
50d812:	eb 03                	jmp    0x50d817
50d814:	ff 45 ec             	incl   -0x14(%ebp)
50d817:	d1 fe                	sar    $1,%esi
50d819:	75 f9                	jne    0x50d814
50d81b:	8b c3                	mov    %ebx,%eax
50d81d:	c1 e0 04             	shl    $0x4,%eax
50d820:	03 45 ec             	add    -0x14(%ebp),%eax
50d823:	0f be 8c 07 00 04 00 	movsbl 0x400(%edi,%eax,1),%ecx
50d82a:	00
50d82b:	8b 14 87             	mov    (%edi,%eax,4),%edx
50d82e:	8b 45 fc             	mov    -0x4(%ebp),%eax
50d831:	e8 1a fe ff ff       	call   0x50d650
50d836:	85 c0                	test   %eax,%eax
50d838:	75 04                	jne    0x50d83e
50d83a:	33 c0                	xor    %eax,%eax
50d83c:	eb 4b                	jmp    0x50d889
50d83e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
50d841:	8b 55 f0             	mov    -0x10(%ebp),%edx
50d844:	8b 45 fc             	mov    -0x4(%ebp),%eax
50d847:	e8 04 fe ff ff       	call   0x50d650
50d84c:	85 c0                	test   %eax,%eax
50d84e:	75 04                	jne    0x50d854
50d850:	33 c0                	xor    %eax,%eax
50d852:	eb 35                	jmp    0x50d889
50d854:	33 db                	xor    %ebx,%ebx
50d856:	ff 45 e8             	incl   -0x18(%ebp)
50d859:	83 45 e4 04          	addl   $0x4,-0x1c(%ebp)
50d85d:	83 7d e8 40          	cmpl   $0x40,-0x18(%ebp)
50d861:	0f 8c 55 ff ff ff    	jl     0x50d7bc
50d867:	85 db                	test   %ebx,%ebx
50d869:	7e 19                	jle    0x50d884
50d86b:	0f be 8f 00 04 00 00 	movsbl 0x400(%edi),%ecx
50d872:	8b 17                	mov    (%edi),%edx
50d874:	8b 45 fc             	mov    -0x4(%ebp),%eax
50d877:	e8 d4 fd ff ff       	call   0x50d650
50d87c:	85 c0                	test   %eax,%eax
50d87e:	75 04                	jne    0x50d884
50d880:	33 c0                	xor    %eax,%eax
50d882:	eb 05                	jmp    0x50d889
50d884:	b8 01 00 00 00       	mov    $0x1,%eax
50d889:	5f                   	pop    %edi
50d88a:	5e                   	pop    %esi
50d88b:	5b                   	pop    %ebx
50d88c:	8b e5                	mov    %ebp,%esp
50d88e:	5d                   	pop    %ebp
50d88f:	c2 08 00             	ret    $0x8
50d892:	90                   	nop
50d893:	90                   	nop
50d894:	53                   	push   %ebx
50d895:	56                   	push   %esi
50d896:	8b f2                	mov    %edx,%esi
50d898:	8b d8                	mov    %eax,%ebx
50d89a:	8b c3                	mov    %ebx,%eax
50d89c:	e8 57 fe ff ff       	call   0x50d6f8
50d8a1:	85 c0                	test   %eax,%eax
50d8a3:	75 05                	jne    0x50d8aa
50d8a5:	33 c0                	xor    %eax,%eax
50d8a7:	5e                   	pop    %esi
50d8a8:	5b                   	pop    %ebx
50d8a9:	c3                   	ret
50d8aa:	8b 13                	mov    (%ebx),%edx
50d8ac:	ff 03                	incl   (%ebx)
50d8ae:	c6 02 ff             	movb   $0xff,(%edx)
50d8b1:	ff 4b 04             	decl   0x4(%ebx)
50d8b4:	75 10                	jne    0x50d8c6
50d8b6:	8b c3                	mov    %ebx,%eax
50d8b8:	e8 6b fd ff ff       	call   0x50d628
50d8bd:	85 c0                	test   %eax,%eax
50d8bf:	75 05                	jne    0x50d8c6
50d8c1:	33 c0                	xor    %eax,%eax
50d8c3:	5e                   	pop    %esi
50d8c4:	5b                   	pop    %ebx
50d8c5:	c3                   	ret
50d8c6:	8b 0b                	mov    (%ebx),%ecx
50d8c8:	8b d6                	mov    %esi,%edx
50d8ca:	ff 03                	incl   (%ebx)
50d8cc:	80 c2 d0             	add    $0xd0,%dl
50d8cf:	88 11                	mov    %dl,(%ecx)