422819:	50                   	push   %eax
42281a:	8b 71 0c             	mov    0xc(%ecx),%esi
42281d:	8b ce                	mov    %esi,%ecx
42281f:	ff 15 2c 81 4a 00    	call   *0x4a812c
422825:	8b 4d a0             	mov    -0x60(%ebp),%ecx
422828:	ff d6                	call   *%esi
42282a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42282e:	8d 47 08             	lea    0x8(%edi),%eax
422831:	50                   	push   %eax
422832:	b1 30                	mov    $0x30,%cl
422834:	89 45 98             	mov    %eax,-0x68(%ebp)
422837:	e8 cf 1f 00 00       	call   0x42480b
42283c:	8b 75 b0             	mov    -0x50(%ebp),%esi
42283f:	8b d6                	mov    %esi,%edx
422841:	8b 7d 94             	mov    -0x6c(%ebp),%edi
422844:	59                   	pop    %ecx
422845:	0f b7 c0             	movzwl %ax,%eax
422848:	8b cb                	mov    %ebx,%ecx
42284a:	89 45 ac             	mov    %eax,-0x54(%ebp)
42284d:	89 7d a4             	mov    %edi,-0x5c(%ebp)
422850:	c6 45 b6 00          	movb   $0x0,-0x4a(%ebp)
422854:	e8 05 1a 00 00       	call   0x42425e
422859:	84 c0                	test   %al,%al
42285b:	75 5d                	jne    0x4228ba
42285d:	38 43 04             	cmp    %al,0x4(%ebx)
422860:	75 07                	jne    0x422869
422862:	8b cb                	mov    %ebx,%ecx
422864:	e8 5d 16 00 00       	call   0x423ec6
422869:	ff 75 98             	push   -0x68(%ebp)
42286c:	0f b7 73 06          	movzwl 0x6(%ebx),%esi
422870:	b1 2b                	mov    $0x2b,%cl
422872:	e8 94 1f 00 00       	call   0x42480b
422877:	59                   	pop    %ecx
422878:	66 3b f0             	cmp    %ax,%si
42287b:	75 07                	jne    0x422884
42287d:	8b c7                	mov    %edi,%eax
42287f:	c6 00 2b             	movb   $0x2b,(%eax)
422882:	eb 26                	jmp    0x4228aa
422884:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
422888:	75 07                	jne    0x422891
42288a:	8b cb                	mov    %ebx,%ecx
42288c:	e8 35 16 00 00       	call   0x423ec6
422891:	ff 75 98             	push   -0x68(%ebp)
422894:	0f b7 73 06          	movzwl 0x6(%ebx),%esi
422898:	b1 2d                	mov    $0x2d,%cl
42289a:	e8 6c 1f 00 00       	call   0x42480b
42289f:	59                   	pop    %ecx
4228a0:	66 3b f0             	cmp    %ax,%si
4228a3:	75 12                	jne    0x4228b7
4228a5:	8b c7                	mov    %edi,%eax
4228a7:	c6 00 2d             	movb   $0x2d,(%eax)
4228aa:	8d 78 01             	lea    0x1(%eax),%edi
4228ad:	8b cb                	mov    %ebx,%ecx
4228af:	89 7d a4             	mov    %edi,-0x5c(%ebp)
4228b2:	e8 9b 12 00 00       	call   0x423b52
4228b7:	8b 75 b0             	mov    -0x50(%ebp),%esi
4228ba:	33 c0                	xor    %eax,%eax
4228bc:	83 7d d0 10          	cmpl   $0x10,-0x30(%ebp)
4228c0:	88 45 b7             	mov    %al,-0x49(%ebp)
4228c3:	89 45 a8             	mov    %eax,-0x58(%ebp)
4228c6:	89 45 9c             	mov    %eax,-0x64(%ebp)
4228c9:	8b 45 bc             	mov    -0x44(%ebp),%eax
4228cc:	8b c8                	mov    %eax,%ecx
4228ce:	73 03                	jae    0x4228d3
4228d0:	8d 4d bc             	lea    -0x44(%ebp),%ecx
4228d3:	80 39 7f             	cmpb   $0x7f,(%ecx)
4228d6:	0f 84 0f 02 00 00    	je     0x422aeb
4228dc:	83 7d d0 10          	cmpl   $0x10,-0x30(%ebp)
4228e0:	73 03                	jae    0x4228e5
4228e2:	8d 45 bc             	lea    -0x44(%ebp),%eax
4228e5:	80 38 00             	cmpb   $0x0,(%eax)
4228e8:	0f 8e fd 01 00 00    	jle    0x422aeb
4228ee:	8b 45 a0             	mov    -0x60(%ebp),%eax
4228f1:	8b 00                	mov    (%eax),%eax
4228f3:	8b 70 08             	mov    0x8(%eax),%esi
4228f6:	8b ce                	mov    %esi,%ecx
4228f8:	ff 15 2c 81 4a 00    	call   *0x4a812c
4228fe:	8b 4d a0             	mov    -0x60(%ebp),%ecx
422901:	ff d6                	call   *%esi
422903:	6a 00                	push   $0x0
422905:	0f b7 c0             	movzwl %ax,%eax
422908:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
42290b:	6a 01                	push   $0x1
42290d:	89 45 90             	mov    %eax,-0x70(%ebp)
422910:	e8 5f 15 00 00       	call   0x423e74
422915:	8b 55 b0             	mov    -0x50(%ebp),%edx
422918:	8b cb                	mov    %ebx,%ecx
42291a:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
42291e:	33 f6                	xor    %esi,%esi
422920:	e8 39 19 00 00       	call   0x42425e
422925:	84 c0                	test   %al,%al
422927:	0f 85 4d 01 00 00    	jne    0x422a7a
42292d:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
422931:	75 07                	jne    0x42293a
422933:	8b cb                	mov    %ebx,%ecx
422935:	e8 8c 15 00 00       	call   0x423ec6
42293a:	0f b7 43 06          	movzwl 0x6(%ebx),%eax
42293e:	8b c8                	mov    %eax,%ecx
422940:	8b d0                	mov    %eax,%edx
422942:	66 39 45 ac          	cmp    %ax,-0x54(%ebp)
422946:	0f 87 b7 00 00 00    	ja     0x422a03
42294c:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
422950:	75 0d                	jne    0x42295f
422952:	8b cb                	mov    %ebx,%ecx
422954:	e8 6d 15 00 00       	call   0x423ec6
422959:	0f b7 43 06          	movzwl 0x6(%ebx),%eax
42295d:	8b d0                	mov    %eax,%edx
42295f:	0f b7 c0             	movzwl %ax,%eax
422962:	89 45 8c             	mov    %eax,-0x74(%ebp)
422965:	0f b7 c2             	movzwl %dx,%eax
422968:	89 45 88             	mov    %eax,-0x78(%ebp)
42296b:	8b 45 ac             	mov    -0x54(%ebp),%eax
42296e:	0f b7 c8             	movzwl %ax,%ecx
422971:	83 c1 09             	add    $0x9,%ecx
422974:	0f b7 c2             	movzwl %dx,%eax
422977:	3b c1                	cmp    %ecx,%eax
422979:	0f 87 81 00 00 00    	ja     0x422a00
42297f:	8b 4d a8             	mov    -0x58(%ebp),%ecx
422982:	c6 45 b7 01          	movb   $0x1,-0x49(%ebp)
422986:	83 f9 24             	cmp    $0x24,%ecx
422989:	7c 05                	jl     0x422990
42298b:	ff 45 9c             	incl   -0x64(%ebp)
42298e:	eb 4e                	jmp    0x4229de
422990:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
422994:	8b 45 8c             	mov    -0x74(%ebp),%eax
422997:	0f b7 c0             	movzwl %ax,%eax
42299a:	75 0e                	jne    0x4229aa
42299c:	8b cb                	mov    %ebx,%ecx
42299e:	e8 23 15 00 00       	call   0x423ec6
4229a3:	0f b7 43 06          	movzwl 0x6(%ebx),%eax
4229a7:	8b 4d a8             	mov    -0x58(%ebp),%ecx
4229aa:	8b 55 ac             	mov    -0x54(%ebp),%edx
4229ad:	66 3b c2             	cmp    %dx,%ax
4229b0:	75 04                	jne    0x4229b6
4229b2:	85 c9                	test   %ecx,%ecx
4229b4:	74 28                	je     0x4229de
4229b6:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
4229ba:	0f b7 c0             	movzwl %ax,%eax
4229bd:	75 11                	jne    0x4229d0
4229bf:	8b cb                	mov    %ebx,%ecx
4229c1:	e8 00 15 00 00       	call   0x423ec6
4229c6:	0f b7 43 06          	movzwl 0x6(%ebx),%eax
4229ca:	8b 4d a8             	mov    -0x58(%ebp),%ecx
4229cd:	8b 55 ac             	mov    -0x54(%ebp),%edx
4229d0:	2a c2                	sub    %dl,%al
4229d2:	04 30                	add    $0x30,%al
4229d4:	88 07                	mov    %al,(%edi)
4229d6:	47                   	inc    %edi
4229d7:	41                   	inc    %ecx
4229d8:	89 7d a4             	mov    %edi,-0x5c(%ebp)
4229db:	89 4d a8             	mov    %ecx,-0x58(%ebp)
4229de:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
4229e2:	8b 45 d8             	mov    -0x28(%ebp),%eax
4229e5:	8b c8                	mov    %eax,%ecx
4229e7:	73 03                	jae    0x4229ec
4229e9:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4229ec:	80 3c 31 7f          	cmpb   $0x7f,(%ecx,%esi,1)
4229f0:	74 56                	je     0x422a48
4229f2:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
4229f6:	73 03                	jae    0x4229fb
4229f8:	8d 45 d8             	lea    -0x28(%ebp),%eax
4229fb:	fe 04 30             	incb   (%eax,%esi,1)
4229fe:	eb 48                	jmp    0x422a48
422a00:	8b 55 88             	mov    -0x78(%ebp),%edx
422a03:	8b 4d ec             	mov    -0x14(%ebp),%ecx
422a06:	8b 45 d8             	mov    -0x28(%ebp),%eax
422a09:	83 f9 10             	cmp    $0x10,%ecx
422a0c:	73 03                	jae    0x422a11
422a0e:	8d 45 d8             	lea    -0x28(%ebp),%eax
422a11:	80 3c 30 00          	cmpb   $0x0,(%eax,%esi,1)
422a15:	74 4d                	je     0x422a64
422a17:	66 83 7d 90 00       	cmpw   $0x0,-0x70(%ebp)
422a1c:	74 46                	je     0x422a64
422a1e:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
422a22:	0f b7 c2             	movzwl %dx,%eax
422a25:	75 0e                	jne    0x422a35
422a27:	8b cb                	mov    %ebx,%ecx
422a29:	e8 98 14 00 00       	call   0x423ec6
422a2e:	0f b7 43 06          	movzwl 0x6(%ebx),%eax
422a32:	8b 4d ec             	mov    -0x14(%ebp),%ecx
422a35:	66 3b 45 90          	cmp    -0x70(%ebp),%ax
422a39:	75 29                	jne    0x422a64
422a3b:	6a 00                	push   $0x0
422a3d:	6a 01                	push   $0x1
422a3f:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
422a42:	e8 4a 13 00 00       	call   0x423d91
422a47:	46                   	inc    %esi
422a48:	8b cb                	mov    %ebx,%ecx
422a4a:	e8 03 11 00 00       	call   0x423b52
422a4f:	8b 55 b0             	mov    -0x50(%ebp),%edx
422a52:	8b cb                	mov    %ebx,%ecx
422a54:	e8 05 18 00 00       	call   0x42425e
422a59:	84 c0                	test   %al,%al
422a5b:	0f 84 cc fe ff ff    	je     0x42292d
422a61:	8b 4d ec             	mov    -0x14(%ebp),%ecx
422a64:	85 f6                	test   %esi,%esi
422a66:	74 12                	je     0x422a7a
422a68:	8b 45 d8             	mov    -0x28(%ebp),%eax
422a6b:	83 f9 10             	cmp    $0x10,%ecx
422a6e:	73 03                	jae    0x422a73
422a70:	8d 45 d8             	lea    -0x28(%ebp),%eax
422a73:	80 3c 30 00          	cmpb   $0x0,(%eax,%esi,1)
422a77:	7e 52                	jle    0x422acb
422a79:	46                   	inc    %esi
422a7a:	8a 45 b6             	mov    -0x4a(%ebp),%al
422a7d:	83 7d d0 10          	cmpl   $0x10,-0x30(%ebp)
422a81:	8b 4d bc             	mov    -0x44(%ebp),%ecx
422a84:	73 03                	jae    0x422a89
422a86:	8d 4d bc             	lea    -0x44(%ebp),%ecx
422a89:	84 c0                	test   %al,%al
422a8b:	75 49                	jne    0x422ad6
422a8d:	85 f6                	test   %esi,%esi
422a8f:	74 45                	je     0x422ad6
422a91:	8a 11                	mov    (%ecx),%dl
422a93:	80 fa 7f             	cmp    $0x7f,%dl
422a96:	74 3e                	je     0x422ad6
422a98:	83 ee 01             	sub    $0x1,%esi
422a9b:	74 11                	je     0x422aae
422a9d:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
422aa1:	8b 45 d8             	mov    -0x28(%ebp),%eax
422aa4:	73 03                	jae    0x422aa9
422aa6:	8d 45 d8             	lea    -0x28(%ebp),%eax
422aa9:	3a 14 30             	cmp    (%eax,%esi,1),%dl
422aac:	75 24                	jne    0x422ad2
422aae:	85 f6                	test   %esi,%esi
422ab0:	75 10                	jne    0x422ac2
422ab2:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
422ab6:	8b 45 d8             	mov    -0x28(%ebp),%eax
422ab9:	73 03                	jae    0x422abe
422abb:	8d 45 d8             	lea    -0x28(%ebp),%eax
422abe:	3a 10                	cmp    (%eax),%dl
422ac0:	7c 10                	jl     0x422ad2
422ac2:	80 79 01 00          	cmpb   $0x0,0x1(%ecx)
422ac6:	7e c5                	jle    0x422a8d
422ac8:	41                   	inc    %ecx
422ac9:	eb c2                	jmp    0x422a8d
422acb:	b0 01                	mov    $0x1,%al
422acd:	88 45 b6             	mov    %al,-0x4a(%ebp)
422ad0:	eb ab                	jmp    0x422a7d
422ad2:	c6 45 b6 01          	movb   $0x1,-0x4a(%ebp)
422ad6:	6a 00                	push   $0x0
422ad8:	6a 01                	push   $0x1
422ada:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
422add:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
422ae1:	e8 d3 97 ff ff       	call   0x41c2b9
422ae6:	e9 c1 00 00 00       	jmp    0x422bac
422aeb:	8b d6                	mov    %esi,%edx
422aed:	8b cb                	mov    %ebx,%ecx
422aef:	e8 6a 17 00 00       	call   0x42425e
422af4:	84 c0                	test   %al,%al
422af6:	0f 85 c3 00 00 00    	jne    0x422bbf
422afc:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
422b00:	75 07                	jne    0x422b09
422b02:	8b cb                	mov    %ebx,%ecx
422b04:	e8 bd 13 00 00       	call   0x423ec6
422b09:	0f b7 43 06          	movzwl 0x6(%ebx),%eax
422b0d:	8b c8                	mov    %eax,%ecx
422b0f:	66 39 45 ac          	cmp    %ax,-0x54(%ebp)
422b13:	0f 87 90 00 00 00    	ja     0x422ba9
422b19:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
422b1d:	8b d0                	mov    %eax,%edx
422b1f:	75 0d                	jne    0x422b2e
422b21:	8b cb                	mov    %ebx,%ecx
422b23:	e8 9e 13 00 00       	call   0x423ec6
422b28:	0f b7 43 06          	movzwl 0x6(%ebx),%eax
422b2c:	8b d0                	mov    %eax,%edx
422b2e:	0f b7 f0             	movzwl %ax,%esi
422b31:	8b 45 ac             	mov    -0x54(%ebp),%eax
422b34:	0f b7 c8             	movzwl %ax,%ecx
422b37:	83 c1 09             	add    $0x9,%ecx
422b3a:	0f b7 c2             	movzwl %dx,%eax
422b3d:	3b c1                	cmp    %ecx,%eax
422b3f:	77 68                	ja     0x422ba9
422b41:	83 7d a8 24          	cmpl   $0x24,-0x58(%ebp)
422b45:	7c 05                	jl     0x422b4c
422b47:	ff 45 9c             	incl   -0x64(%ebp)
422b4a:	eb 40                	jmp    0x422b8c
422b4c:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
422b50:	8b c6                	mov    %esi,%eax
422b52:	75 0b                	jne    0x422b5f
422b54:	8b cb                	mov    %ebx,%ecx
422b56:	e8 6b 13 00 00       	call   0x423ec6
422b5b:	0f b7 43 06          	movzwl 0x6(%ebx),%eax
422b5f:	8b 4d ac             	mov    -0x54(%ebp),%ecx
422b62:	8b 75 a8             	mov    -0x58(%ebp),%esi
422b65:	66 3b c1             	cmp    %cx,%ax
422b68:	75 04                	jne    0x422b6e
422b6a:	85 f6                	test   %esi,%esi
422b6c:	74 1e                	je     0x422b8c
422b6e:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
422b72:	75 0a                	jne    0x422b7e
422b74:	8b cb                	mov    %ebx,%ecx
422b76:	e8 4b 13 00 00       	call   0x423ec6
422b7b:	8b 4d ac             	mov    -0x54(%ebp),%ecx
422b7e:	8a 43 06             	mov    0x6(%ebx),%al
422b81:	2a c1                	sub    %cl,%al
422b83:	04 30                	add    $0x30,%al
422b85:	88 07                	mov    %al,(%edi)
422b87:	47                   	inc    %edi
422b88:	46                   	inc    %esi
422b89:	89 75 a8             	mov    %esi,-0x58(%ebp)
422b8c:	8b cb                	mov    %ebx,%ecx
422b8e:	c6 45 b7 01          	movb   $0x1,-0x49(%ebp)
422b92:	e8 bb 0f 00 00       	call   0x423b52
422b97:	8b 55 b0             	mov    -0x50(%ebp),%edx
422b9a:	8b cb                	mov    %ebx,%ecx
422b9c:	e8 bd 16 00 00       	call   0x42425e
422ba1:	84 c0                	test   %al,%al
422ba3:	0f 84 53 ff ff ff    	je     0x422afc
422ba9:	89 7d a4             	mov    %edi,-0x5c(%ebp)
422bac:	80 7d b7 00          	cmpb   $0x0,-0x49(%ebp)
422bb0:	74 0d                	je     0x422bbf
422bb2:	83 7d a8 00          	cmpl   $0x0,-0x58(%ebp)
422bb6:	75 07                	jne    0x422bbf
422bb8:	c6 07 30             	movb   $0x30,(%edi)
422bbb:	47                   	inc    %edi
422bbc:	89 7d a4             	mov    %edi,-0x5c(%ebp)
422bbf:	8b 55 b0             	mov    -0x50(%ebp),%edx
422bc2:	8b cb                	mov    %ebx,%ecx
422bc4:	e8 95 16 00 00       	call   0x42425e
422bc9:	84 c0                	test   %al,%al
422bcb:	75 46                	jne    0x422c13
422bcd:	38 43 04             	cmp    %al,0x4(%ebx)
422bd0:	75 07                	jne    0x422bd9
422bd2:	8b cb                	mov    %ebx,%ecx
422bd4:	e8 ed 12 00 00       	call   0x423ec6
422bd9:	8b 45 a0             	mov    -0x60(%ebp),%eax
422bdc:	0f b7 7b 06          	movzwl 0x6(%ebx),%edi
422be0:	8b 00                	mov    (%eax),%eax
422be2:	8b 70 04             	mov    0x4(%eax),%esi
422be5:	8b ce                	mov    %esi,%ecx
422be7:	ff 15 2c 81 4a 00    	call   *0x4a812c
422bed:	8b 4d a0             	mov    -0x60(%ebp),%ecx
422bf0:	ff d6                	call   *%esi
422bf2:	66 3b f8             	cmp    %ax,%di
422bf5:	75 1c                	jne    0x422c13
422bf7:	ff 15 a4 80 4a 00    	call   *0x4a80a4
422bfd:	8b 7d a4             	mov    -0x5c(%ebp),%edi
422c00:	8b cb                	mov    %ebx,%ecx
422c02:	8b 00                	mov    (%eax),%eax
422c04:	8a 00                	mov    (%eax),%al
422c06:	88 07                	mov    %al,(%edi)
422c08:	47                   	inc    %edi
422c09:	89 7d a4             	mov    %edi,-0x5c(%ebp)
422c0c:	e8 41 0f 00 00       	call   0x423b52
422c11:	eb 03                	jmp    0x422c16
422c13:	8b 7d a4             	mov    -0x5c(%ebp),%edi
422c16:	8b 75 a8             	mov    -0x58(%ebp),%esi
422c19:	85 f6                	test   %esi,%esi
422c1b:	0f 85 c0 00 00 00    	jne    0x422ce1