421863:	b7 41                	mov    $0x41,%bh
421865:	b3 5a                	mov    $0x5a,%bl
421867:	b6 20                	mov    $0x20,%dh
421869:	8d 49 00             	lea    0x0(%ecx),%ecx
42186c:	8a 26                	mov    (%esi),%ah
42186e:	0a e4                	or     %ah,%ah
421870:	8a 07                	mov    (%edi),%al
421872:	74 27                	je     0x42189b
421874:	0a c0                	or     %al,%al
421876:	74 23                	je     0x42189b
421878:	83 c6 01             	add    $0x1,%esi
42187b:	83 c7 01             	add    $0x1,%edi
42187e:	3a e7                	cmp    %bh,%ah
421880:	72 06                	jb     0x421888
421882:	3a e3                	cmp    %bl,%ah
421884:	77 02                	ja     0x421888
421886:	02 e6                	add    %dh,%ah
421888:	3a c7                	cmp    %bh,%al
42188a:	72 06                	jb     0x421892
42188c:	3a c3                	cmp    %bl,%al
42188e:	77 02                	ja     0x421892
421890:	02 c6                	add    %dh,%al
421892:	3a e0                	cmp    %al,%ah
421894:	75 0b                	jne    0x4218a1
421896:	83 e9 01             	sub    $0x1,%ecx
421899:	75 d1                	jne    0x42186c
42189b:	33 c9                	xor    %ecx,%ecx
42189d:	3a e0                	cmp    %al,%ah
42189f:	74 09                	je     0x4218aa
4218a1:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
4218a6:	72 02                	jb     0x4218aa
4218a8:	f7 d9                	neg    %ecx
4218aa:	8b c1                	mov    %ecx,%eax
4218ac:	5b                   	pop    %ebx
4218ad:	5e                   	pop    %esi
4218ae:	5f                   	pop    %edi
4218af:	c9                   	leave
4218b0:	c3                   	ret
4218b1:	8b ff                	mov    %edi,%edi
4218b3:	55                   	push   %ebp
4218b4:	8b ec                	mov    %esp,%ebp
4218b6:	53                   	push   %ebx
4218b7:	56                   	push   %esi
4218b8:	8b 75 08             	mov    0x8(%ebp),%esi
4218bb:	33 db                	xor    %ebx,%ebx
4218bd:	57                   	push   %edi
4218be:	6a 01                	push   $0x1
4218c0:	53                   	push   %ebx
4218c1:	53                   	push   %ebx
4218c2:	56                   	push   %esi
4218c3:	8b f9                	mov    %ecx,%edi
4218c5:	e8 83 64 ff ff       	call   0x417d4d
4218ca:	6a 02                	push   $0x2
4218cc:	53                   	push   %ebx
4218cd:	53                   	push   %ebx
4218ce:	56                   	push   %esi
4218cf:	89 07                	mov    %eax,(%edi)
4218d1:	89 57 04             	mov    %edx,0x4(%edi)
4218d4:	e8 74 64 ff ff       	call   0x417d4d
4218d9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4218dc:	83 c4 20             	add    $0x20,%esp
4218df:	89 47 08             	mov    %eax,0x8(%edi)
4218e2:	2b c8                	sub    %eax,%ecx
4218e4:	8b 45 10             	mov    0x10(%ebp),%eax
4218e7:	1b c2                	sbb    %edx,%eax
4218e9:	89 77 18             	mov    %esi,0x18(%edi)
4218ec:	89 47 14             	mov    %eax,0x14(%edi)
4218ef:	8b c7                	mov    %edi,%eax
4218f1:	89 57 0c             	mov    %edx,0xc(%edi)
4218f4:	89 4f 10             	mov    %ecx,0x10(%edi)
4218f7:	5f                   	pop    %edi
4218f8:	5e                   	pop    %esi
4218f9:	5b                   	pop    %ebx
4218fa:	5d                   	pop    %ebp
4218fb:	c2 0c 00             	ret    $0xc
4218fe:	8b ff                	mov    %edi,%edi
421900:	55                   	push   %ebp
421901:	8b ec                	mov    %esp,%ebp
421903:	83 ec 28             	sub    $0x28,%esp
421906:	53                   	push   %ebx
421907:	8b 5d 08             	mov    0x8(%ebp),%ebx
42190a:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42190d:	56                   	push   %esi
42190e:	57                   	push   %edi
42190f:	ff 75 10             	push   0x10(%ebp)
421912:	ff 75 0c             	push   0xc(%ebp)
421915:	53                   	push   %ebx
421916:	e8 96 ff ff ff       	call   0x4218b1
42191b:	8b 45 d8             	mov    -0x28(%ebp),%eax
42191e:	23 45 dc             	and    -0x24(%ebp),%eax
421921:	83 f8 ff             	cmp    $0xffffffff,%eax
421924:	0f 84 23 01 00 00    	je     0x421a4d
42192a:	8b 45 e0             	mov    -0x20(%ebp),%eax
42192d:	23 45 e4             	and    -0x1c(%ebp),%eax
421930:	83 f8 ff             	cmp    $0xffffffff,%eax
421933:	0f 84 14 01 00 00    	je     0x421a4d
421939:	8b 45 ec             	mov    -0x14(%ebp),%eax
42193c:	8b 7d e8             	mov    -0x18(%ebp),%edi
42193f:	89 45 fc             	mov    %eax,-0x4(%ebp)
421942:	85 c0                	test   %eax,%eax
421944:	0f 8c bf 00 00 00    	jl     0x421a09
42194a:	7f 08                	jg     0x421954
42194c:	85 ff                	test   %edi,%edi
42194e:	0f 84 ab 00 00 00    	je     0x4219ff
421954:	6a 01                	push   $0x1
421956:	68 00 10 00 00       	push   $0x1000
42195b:	e8 4e 17 ff ff       	call   0x4130ae
421960:	8b f0                	mov    %eax,%esi
421962:	59                   	pop    %ecx
421963:	59                   	pop    %ecx
421964:	85 f6                	test   %esi,%esi
421966:	75 0d                	jne    0x421975
421968:	e8 8e d4 fe ff       	call   0x40edfb
42196d:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
421973:	eb 7a                	jmp    0x4219ef
421975:	68 00 80 00 00       	push   $0x8000
42197a:	53                   	push   %ebx
42197b:	e8 6b ec fe ff       	call   0x4105eb
421980:	59                   	pop    %ecx
421981:	89 45 f8             	mov    %eax,-0x8(%ebp)
421984:	8b 45 ec             	mov    -0x14(%ebp),%eax
421987:	59                   	pop    %ecx
421988:	85 c0                	test   %eax,%eax
42198a:	7c 11                	jl     0x42199d
42198c:	7f 08                	jg     0x421996
42198e:	81 ff 00 10 00 00    	cmp    $0x1000,%edi
421994:	72 07                	jb     0x42199d
421996:	b8 00 10 00 00       	mov    $0x1000,%eax
42199b:	eb 02                	jmp    0x42199f
42199d:	8b c7                	mov    %edi,%eax
42199f:	50                   	push   %eax
4219a0:	56                   	push   %esi
4219a1:	53                   	push   %ebx
4219a2:	e8 c8 4c ff ff       	call   0x41666f
4219a7:	83 c4 0c             	add    $0xc,%esp
4219aa:	83 f8 ff             	cmp    $0xffffffff,%eax
4219ad:	74 2b                	je     0x4219da
4219af:	99                   	cltd
4219b0:	2b f8                	sub    %eax,%edi
4219b2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4219b5:	1b c2                	sbb    %edx,%eax
4219b7:	89 45 fc             	mov    %eax,-0x4(%ebp)
4219ba:	85 c0                	test   %eax,%eax
4219bc:	7f d8                	jg     0x421996
4219be:	7c 04                	jl     0x4219c4
4219c0:	85 ff                	test   %edi,%edi
4219c2:	75 c4                	jne    0x421988
4219c4:	ff 75 f8             	push   -0x8(%ebp)
4219c7:	53                   	push   %ebx
4219c8:	e8 1e ec fe ff       	call   0x4105eb
4219cd:	56                   	push   %esi
4219ce:	e8 38 17 ff ff       	call   0x41310b
4219d3:	83 c4 0c             	add    $0xc,%esp
4219d6:	33 ff                	xor    %edi,%edi
4219d8:	eb 7a                	jmp    0x421a54
4219da:	e8 09 d4 fe ff       	call   0x40ede8
4219df:	83 38 05             	cmpl   $0x5,(%eax)
4219e2:	75 0b                	jne    0x4219ef
4219e4:	e8 12 d4 fe ff       	call   0x40edfb
4219e9:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
4219ef:	e8 07 d4 fe ff       	call   0x40edfb
4219f4:	56                   	push   %esi
4219f5:	8b 38                	mov    (%eax),%edi
4219f7:	e8 0f 17 ff ff       	call   0x41310b
4219fc:	59                   	pop    %ecx
4219fd:	eb 55                	jmp    0x421a54
4219ff:	85 c0                	test   %eax,%eax
421a01:	7f d3                	jg     0x4219d6
421a03:	7c 04                	jl     0x421a09
421a05:	85 ff                	test   %edi,%edi
421a07:	73 cd                	jae    0x4219d6
421a09:	6a 00                	push   $0x0
421a0b:	ff 75 10             	push   0x10(%ebp)
421a0e:	ff 75 0c             	push   0xc(%ebp)
421a11:	53                   	push   %ebx
421a12:	e8 36 63 ff ff       	call   0x417d4d
421a17:	23 c2                	and    %edx,%eax
421a19:	83 c4 10             	add    $0x10,%esp
421a1c:	83 f8 ff             	cmp    $0xffffffff,%eax
421a1f:	74 2c                	je     0x421a4d
421a21:	53                   	push   %ebx
421a22:	e8 cf 9d ff ff       	call   0x41b7f6
421a27:	59                   	pop    %ecx
421a28:	50                   	push   %eax
421a29:	ff 15 0c 40 42 00    	call   *0x42400c
421a2f:	85 c0                	test   %eax,%eax
421a31:	75 a3                	jne    0x4219d6
421a33:	e8 c3 d3 fe ff       	call   0x40edfb
421a38:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
421a3e:	e8 a5 d3 fe ff       	call   0x40ede8
421a43:	8b f0                	mov    %eax,%esi
421a45:	ff 15 98 40 42 00    	call   *0x424098
421a4b:	89 06                	mov    %eax,(%esi)
421a4d:	e8 a9 d3 fe ff       	call   0x40edfb
421a52:	8b 38                	mov    (%eax),%edi
421a54:	6a 00                	push   $0x0
421a56:	ff 75 dc             	push   -0x24(%ebp)
421a59:	ff 75 d8             	push   -0x28(%ebp)
421a5c:	ff 75 f0             	push   -0x10(%ebp)
421a5f:	e8 e9 62 ff ff       	call   0x417d4d
421a64:	83 c4 10             	add    $0x10,%esp
421a67:	8b c7                	mov    %edi,%eax
421a69:	5f                   	pop    %edi
421a6a:	5e                   	pop    %esi
421a6b:	5b                   	pop    %ebx
421a6c:	c9                   	leave
421a6d:	c3                   	ret
421a6e:	8b ff                	mov    %edi,%edi
421a70:	55                   	push   %ebp
421a71:	8b ec                	mov    %esp,%ebp
421a73:	83 ec 24             	sub    $0x24,%esp
421a76:	a1 14 30 43 00       	mov    0x433014,%eax
421a7b:	33 c5                	xor    %ebp,%eax
421a7d:	89 45 fc             	mov    %eax,-0x4(%ebp)
421a80:	8b 4d 08             	mov    0x8(%ebp),%ecx
421a83:	53                   	push   %ebx
421a84:	8b 5d 0c             	mov    0xc(%ebp),%ebx
421a87:	56                   	push   %esi
421a88:	8b 75 14             	mov    0x14(%ebp),%esi
421a8b:	89 5d dc             	mov    %ebx,-0x24(%ebp)
421a8e:	57                   	push   %edi
421a8f:	8b fb                	mov    %ebx,%edi
421a91:	85 f6                	test   %esi,%esi
421a93:	75 05                	jne    0x421a9a
421a95:	be f8 4d 43 00       	mov    $0x434df8,%esi
421a9a:	33 d2                	xor    %edx,%edx
421a9c:	42                   	inc    %edx
421a9d:	85 db                	test   %ebx,%ebx
421a9f:	75 09                	jne    0x421aaa
421aa1:	bb db f6 42 00       	mov    $0x42f6db,%ebx
421aa6:	8b c2                	mov    %edx,%eax
421aa8:	eb 03                	jmp    0x421aad
421aaa:	8b 45 10             	mov    0x10(%ebp),%eax
421aad:	f7 df                	neg    %edi
421aaf:	89 45 e4             	mov    %eax,-0x1c(%ebp)
421ab2:	1b ff                	sbb    %edi,%edi
421ab4:	23 f9                	and    %ecx,%edi
421ab6:	85 c0                	test   %eax,%eax
421ab8:	75 08                	jne    0x421ac2
421aba:	6a fe                	push   $0xfffffffe
421abc:	58                   	pop    %eax
421abd:	e9 44 01 00 00       	jmp    0x421c06
421ac2:	33 c0                	xor    %eax,%eax
421ac4:	66 39 46 06          	cmp    %ax,0x6(%esi)
421ac8:	75 64                	jne    0x421b2e
421aca:	8a 0b                	mov    (%ebx),%cl
421acc:	43                   	inc    %ebx
421acd:	88 4d ee             	mov    %cl,-0x12(%ebp)
421ad0:	84 c9                	test   %cl,%cl
421ad2:	78 15                	js     0x421ae9
421ad4:	85 ff                	test   %edi,%edi
421ad6:	74 05                	je     0x421add
421ad8:	0f b6 c1             	movzbl %cl,%eax
421adb:	89 07                	mov    %eax,(%edi)
421add:	33 c0                	xor    %eax,%eax
421adf:	84 c9                	test   %cl,%cl
421ae1:	0f 95 c0             	setne  %al
421ae4:	e9 1d 01 00 00       	jmp    0x421c06
421ae9:	8a c1                	mov    %cl,%al
421aeb:	24 e0                	and    $0xe0,%al
421aed:	3c c0                	cmp    $0xc0,%al
421aef:	75 04                	jne    0x421af5
421af1:	b0 02                	mov    $0x2,%al
421af3:	eb 1a                	jmp    0x421b0f
421af5:	8a c1                	mov    %cl,%al
421af7:	24 f0                	and    $0xf0,%al
421af9:	3c e0                	cmp    $0xe0,%al
421afb:	75 04                	jne    0x421b01
421afd:	b0 03                	mov    $0x3,%al
421aff:	eb 0e                	jmp    0x421b0f
421b01:	8a c1                	mov    %cl,%al
421b03:	24 f8                	and    $0xf8,%al
421b05:	3c f0                	cmp    $0xf0,%al
421b07:	0f 85 f2 00 00 00    	jne    0x421bff
421b0d:	b0 04                	mov    $0x4,%al
421b0f:	88 45 ef             	mov    %al,-0x11(%ebp)
421b12:	88 45 ed             	mov    %al,-0x13(%ebp)
421b15:	6a 07                	push   $0x7
421b17:	0f b6 c0             	movzbl %al,%eax
421b1a:	59                   	pop    %ecx
421b1b:	2b c8                	sub    %eax,%ecx
421b1d:	0f b6 45 ee          	movzbl -0x12(%ebp),%eax
421b21:	8a 6d ed             	mov    -0x13(%ebp),%ch
421b24:	d3 e2                	shl    %cl,%edx
421b26:	8a 4d ef             	mov    -0x11(%ebp),%cl
421b29:	4a                   	dec    %edx
421b2a:	23 d0                	and    %eax,%edx
421b2c:	eb 25                	jmp    0x421b53
421b2e:	8a 4e 04             	mov    0x4(%esi),%cl
421b31:	8b 16                	mov    (%esi),%edx
421b33:	8a c1                	mov    %cl,%al
421b35:	8a 6e 06             	mov    0x6(%esi),%ch
421b38:	2c 02                	sub    $0x2,%al
421b3a:	3c 02                	cmp    $0x2,%al
421b3c:	0f 87 bd 00 00 00    	ja     0x421bff
421b42:	80 fd 01             	cmp    $0x1,%ch
421b45:	0f 82 b4 00 00 00    	jb     0x421bff
421b4b:	3a e9                	cmp    %cl,%ch
421b4d:	0f 83 ac 00 00 00    	jae    0x421bff
421b53:	0f b6 c5             	movzbl %ch,%eax
421b56:	89 45 e0             	mov    %eax,-0x20(%ebp)
421b59:	8b 45 e4             	mov    -0x1c(%ebp),%eax
421b5c:	39 45 e0             	cmp    %eax,-0x20(%ebp)
421b5f:	73 06                	jae    0x421b67
421b61:	8b 45 e0             	mov    -0x20(%ebp),%eax
421b64:	89 45 e4             	mov    %eax,-0x1c(%ebp)
421b67:	8b 45 dc             	mov    -0x24(%ebp),%eax
421b6a:	89 5d e8             	mov    %ebx,-0x18(%ebp)
421b6d:	29 45 e8             	sub    %eax,-0x18(%ebp)
421b70:	eb 19                	jmp    0x421b8b
421b72:	8a 23                	mov    (%ebx),%ah
421b74:	43                   	inc    %ebx
421b75:	ff 45 e8             	incl   -0x18(%ebp)
421b78:	8a c4                	mov    %ah,%al
421b7a:	24 c0                	and    $0xc0,%al
421b7c:	3c 80                	cmp    $0x80,%al
421b7e:	75 7f                	jne    0x421bff
421b80:	0f b6 c4             	movzbl %ah,%eax
421b83:	83 e0 3f             	and    $0x3f,%eax
421b86:	c1 e2 06             	shl    $0x6,%edx
421b89:	0b d0                	or     %eax,%edx
421b8b:	8b 45 e4             	mov    -0x1c(%ebp),%eax
421b8e:	39 45 e8             	cmp    %eax,-0x18(%ebp)
421b91:	72 df                	jb     0x421b72
421b93:	8b 5d e0             	mov    -0x20(%ebp),%ebx
421b96:	3b c3                	cmp    %ebx,%eax
421b98:	73 18                	jae    0x421bb2
421b9a:	2a 6d e4             	sub    -0x1c(%ebp),%ch
421b9d:	0f b6 c1             	movzbl %cl,%eax
421ba0:	66 89 46 04          	mov    %ax,0x4(%esi)
421ba4:	0f b6 c5             	movzbl %ch,%eax
421ba7:	89 16                	mov    %edx,(%esi)
421ba9:	66 89 46 06          	mov    %ax,0x6(%esi)
421bad:	e9 08 ff ff ff       	jmp    0x421aba
421bb2:	81 fa 00 d8 00 00    	cmp    $0xd800,%edx
421bb8:	72 08                	jb     0x421bc2
421bba:	81 fa ff df 00 00    	cmp    $0xdfff,%edx
421bc0:	76 3d                	jbe    0x421bff
421bc2:	81 fa ff ff 10 00    	cmp    $0x10ffff,%edx
421bc8:	77 35                	ja     0x421bff
421bca:	0f b6 c1             	movzbl %cl,%eax
421bcd:	c7 45 f0 80 00 00 00 	movl   $0x80,-0x10(%ebp)
421bd4:	c7 45 f4 00 08 00 00 	movl   $0x800,-0xc(%ebp)
421bdb:	c7 45 f8 00 00 01 00 	movl   $0x10000,-0x8(%ebp)
421be2:	3b 54 85 e8          	cmp    -0x18(%ebp,%eax,4),%edx
421be6:	72 17                	jb     0x421bff
421be8:	85 ff                	test   %edi,%edi
421bea:	74 02                	je     0x421bee
421bec:	89 17                	mov    %edx,(%edi)
421bee:	83 26 00             	andl   $0x0,(%esi)