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)
50d8d1:	ff 4b 04             	decl   0x4(%ebx)
50d8d4:	75 10                	jne    0x50d8e6
50d8d6:	8b c3                	mov    %ebx,%eax
50d8d8:	e8 4b fd ff ff       	call   0x50d628
50d8dd:	85 c0                	test   %eax,%eax
50d8df:	75 05                	jne    0x50d8e6
50d8e1:	33 c0                	xor    %eax,%eax
50d8e3:	5e                   	pop    %esi
50d8e4:	5b                   	pop    %ebx
50d8e5:	c3                   	ret
50d8e6:	33 d2                	xor    %edx,%edx
50d8e8:	8d 43 10             	lea    0x10(%ebx),%eax
50d8eb:	eb 08                	jmp    0x50d8f5
50d8ed:	33 c9                	xor    %ecx,%ecx
50d8ef:	42                   	inc    %edx
50d8f0:	89 08                	mov    %ecx,(%eax)
50d8f2:	83 c0 04             	add    $0x4,%eax
50d8f5:	8b 4b 20             	mov    0x20(%ebx),%ecx
50d8f8:	3b 91 ec 00 00 00    	cmp    0xec(%ecx),%edx
50d8fe:	7c ed                	jl     0x50d8ed
50d900:	b8 01 00 00 00       	mov    $0x1,%eax
50d905:	5e                   	pop    %esi
50d906:	5b                   	pop    %ebx
50d907:	c3                   	ret
50d908:	53                   	push   %ebx
50d909:	56                   	push   %esi
50d90a:	8b f0                	mov    %eax,%esi
50d90c:	57                   	push   %edi
50d90d:	55                   	push   %ebp
50d90e:	83 c4 d4             	add    $0xffffffd4,%esp
50d911:	8b 46 14             	mov    0x14(%esi),%eax
50d914:	8b da                	mov    %edx,%ebx
50d916:	8b ae 64 01 00 00    	mov    0x164(%esi),%ebp
50d91c:	8b 10                	mov    (%eax),%edx
50d91e:	89 54 24 08          	mov    %edx,0x8(%esp)
50d922:	8b 48 04             	mov    0x4(%eax),%ecx
50d925:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
50d929:	56                   	push   %esi
50d92a:	8d 7c 24 14          	lea    0x14(%esp),%edi
50d92e:	8d 75 0c             	lea    0xc(%ebp),%esi
50d931:	b9 06 00 00 00       	mov    $0x6,%ecx
50d936:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
50d938:	5e                   	pop    %esi
50d939:	89 74 24 28          	mov    %esi,0x28(%esp)
50d93d:	83 be c0 00 00 00 00 	cmpl   $0x0,0xc0(%esi)
50d944:	74 1d                	je     0x50d963
50d946:	83 7d 24 00          	cmpl   $0x0,0x24(%ebp)
50d94a:	75 17                	jne    0x50d963
50d94c:	8b 55 28             	mov    0x28(%ebp),%edx
50d94f:	8d 44 24 08          	lea    0x8(%esp),%eax
50d953:	e8 3c ff ff ff       	call   0x50d894
50d958:	85 c0                	test   %eax,%eax
50d95a:	75 07                	jne    0x50d963
50d95c:	33 c0                	xor    %eax,%eax
50d95e:	e9 aa 00 00 00       	jmp    0x50da0d
50d963:	33 d2                	xor    %edx,%edx
50d965:	89 14 24             	mov    %edx,(%esp)
50d968:	8b cb                	mov    %ebx,%ecx
50d96a:	8b d9                	mov    %ecx,%ebx
50d96c:	8d 86 0c 01 00 00    	lea    0x10c(%esi),%eax
50d972:	89 44 24 04          	mov    %eax,0x4(%esp)
50d976:	eb 48                	jmp    0x50d9c0
50d978:	8b 54 24 04          	mov    0x4(%esp),%edx
50d97c:	8b 3a                	mov    (%edx),%edi
50d97e:	8b 84 be f0 00 00 00 	mov    0xf0(%esi,%edi,4),%eax
50d985:	8b 50 14             	mov    0x14(%eax),%edx
50d988:	8b 4c 95 2c          	mov    0x2c(%ebp,%edx,4),%ecx
50d98c:	51                   	push   %ecx
50d98d:	8b 40 18             	mov    0x18(%eax),%eax
50d990:	8b 54 85 3c          	mov    0x3c(%ebp,%eax,4),%edx
50d994:	52                   	push   %edx
50d995:	8b 4c bc 20          	mov    0x20(%esp,%edi,4),%ecx
50d999:	8d 44 24 10          	lea    0x10(%esp),%eax
50d99d:	8b 13                	mov    (%ebx),%edx
50d99f:	e8 84 fd ff ff       	call   0x50d728
50d9a4:	85 c0                	test   %eax,%eax
50d9a6:	75 04                	jne    0x50d9ac
50d9a8:	33 c0                	xor    %eax,%eax
50d9aa:	eb 61                	jmp    0x50da0d
50d9ac:	8b 13                	mov    (%ebx),%edx
50d9ae:	0f bf 0a             	movswl (%edx),%ecx
50d9b1:	89 4c bc 18          	mov    %ecx,0x18(%esp,%edi,4)
50d9b5:	ff 04 24             	incl   (%esp)
50d9b8:	83 c3 04             	add    $0x4,%ebx
50d9bb:	83 44 24 04 04       	addl   $0x4,0x4(%esp)
50d9c0:	8b 04 24             	mov    (%esp),%eax
50d9c3:	3b 86 08 01 00 00    	cmp    0x108(%esi),%eax
50d9c9:	7c ad                	jl     0x50d978
50d9cb:	8b 46 14             	mov    0x14(%esi),%eax
50d9ce:	8b 54 24 08          	mov    0x8(%esp),%edx
50d9d2:	8d 7d 0c             	lea    0xc(%ebp),%edi
50d9d5:	89 10                	mov    %edx,(%eax)
50d9d7:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
50d9db:	89 48 04             	mov    %ecx,0x4(%eax)
50d9de:	56                   	push   %esi
50d9df:	8d 74 24 14          	lea    0x14(%esp),%esi
50d9e3:	b9 06 00 00 00       	mov    $0x6,%ecx
50d9e8:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
50d9ea:	5e                   	pop    %esi
50d9eb:	8b 86 c0 00 00 00    	mov    0xc0(%esi),%eax
50d9f1:	85 c0                	test   %eax,%eax
50d9f3:	74 13                	je     0x50da08
50d9f5:	83 7d 24 00          	cmpl   $0x0,0x24(%ebp)
50d9f9:	75 0a                	jne    0x50da05
50d9fb:	89 45 24             	mov    %eax,0x24(%ebp)
50d9fe:	ff 45 28             	incl   0x28(%ebp)
50da01:	83 65 28 07          	andl   $0x7,0x28(%ebp)
50da05:	ff 4d 24             	decl   0x24(%ebp)
50da08:	b8 01 00 00 00       	mov    $0x1,%eax
50da0d:	83 c4 2c             	add    $0x2c,%esp
50da10:	5d                   	pop    %ebp
50da11:	5f                   	pop    %edi
50da12:	5e                   	pop    %esi
50da13:	5b                   	pop    %ebx
50da14:	c3                   	ret
50da15:	90                   	nop
50da16:	90                   	nop
50da17:	90                   	nop
50da18:	53                   	push   %ebx
50da19:	8b d8                	mov    %eax,%ebx
50da1b:	56                   	push   %esi
50da1c:	57                   	push   %edi
50da1d:	8b 43 14             	mov    0x14(%ebx),%eax
50da20:	83 c4 dc             	add    $0xffffffdc,%esp
50da23:	8b b3 64 01 00 00    	mov    0x164(%ebx),%esi
50da29:	8b 10                	mov    (%eax),%edx
50da2b:	89 14 24             	mov    %edx,(%esp)
50da2e:	8b 48 04             	mov    0x4(%eax),%ecx
50da31:	89 4c 24 04          	mov    %ecx,0x4(%esp)
50da35:	56                   	push   %esi
50da36:	8d 7c 24 0c          	lea    0xc(%esp),%edi
50da3a:	83 c6 0c             	add    $0xc,%esi
50da3d:	b9 06 00 00 00       	mov    $0x6,%ecx
50da42:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
50da44:	5e                   	pop    %esi
50da45:	89 5c 24 20          	mov    %ebx,0x20(%esp)
50da49:	8b c4                	mov    %esp,%eax
50da4b:	e8 a8 fc ff ff       	call   0x50d6f8
50da50:	85 c0                	test   %eax,%eax
50da52:	75 0f                	jne    0x50da63
50da54:	8b 13                	mov    (%ebx),%edx
50da56:	8b c3                	mov    %ebx,%eax
50da58:	c7 42 14 16 00 00 00 	movl   $0x16,0x14(%edx)
50da5f:	8b 10                	mov    (%eax),%edx
50da61:	ff 12                	call   *(%edx)
50da63:	8b 43 14             	mov    0x14(%ebx),%eax
50da66:	8b 14 24             	mov    (%esp),%edx
50da69:	8d 7e 0c             	lea    0xc(%esi),%edi
50da6c:	89 10                	mov    %edx,(%eax)
50da6e:	8b 4c 24 04          	mov    0x4(%esp),%ecx
50da72:	89 48 04             	mov    %ecx,0x4(%eax)
50da75:	56                   	push   %esi
50da76:	8d 74 24 0c          	lea    0xc(%esp),%esi
50da7a:	b9 06 00 00 00       	mov    $0x6,%ecx
50da7f:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
50da81:	5e                   	pop    %esi
50da82:	83 c4 24             	add    $0x24,%esp
50da85:	5f                   	pop    %edi
50da86:	5e                   	pop    %esi
50da87:	5b                   	pop    %ebx
50da88:	c3                   	ret
50da89:	90                   	nop
50da8a:	90                   	nop
50da8b:	90                   	nop
50da8c:	55                   	push   %ebp
50da8d:	8b ec                	mov    %esp,%ebp
50da8f:	83 c4 f0             	add    $0xfffffff0,%esp
50da92:	53                   	push   %ebx
50da93:	89 4d f8             	mov    %ecx,-0x8(%ebp)
50da96:	89 45 fc             	mov    %eax,-0x4(%ebp)
50da99:	8b 45 08             	mov    0x8(%ebp),%eax
50da9c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50da9f:	0f bf 19             	movswl (%ecx),%ebx
50daa2:	2b da                	sub    %edx,%ebx
50daa4:	85 db                	test   %ebx,%ebx