458a8a:	8b 55 0c             	mov    0xc(%ebp),%edx
458a8d:	48                   	dec    %eax
458a8e:	8b 5d 08             	mov    0x8(%ebp),%ebx
458a91:	03 f8                	add    %eax,%edi
458a93:	89 7e 34             	mov    %edi,0x34(%esi)
458a96:	8b 4e 28             	mov    0x28(%esi),%ecx
458a99:	85 c9                	test   %ecx,%ecx
458a9b:	7f 06                	jg     0x458aa3
458a9d:	8b c3                	mov    %ebx,%eax
458a9f:	0b c2                	or     %edx,%eax
458aa1:	74 3c                	je     0x458adf
458aa3:	53                   	push   %ebx
458aa4:	6a 00                	push   $0x0
458aa6:	ff 75 10             	push   0x10(%ebp)
458aa9:	8d 41 ff             	lea    -0x1(%ecx),%eax
458aac:	52                   	push   %edx
458aad:	53                   	push   %ebx
458aae:	89 46 28             	mov    %eax,0x28(%esi)
458ab1:	e8 6a 72 fe ff       	call   0x43fd20
458ab6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
458ab9:	5b                   	pop    %ebx
458aba:	80 c1 30             	add    $0x30,%cl
458abd:	8b d8                	mov    %eax,%ebx
458abf:	80 f9 39             	cmp    $0x39,%cl
458ac2:	7e 11                	jle    0x458ad5
458ac4:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
458ac8:	0f 94 c0             	sete   %al
458acb:	fe c8                	dec    %al
458acd:	24 e0                	and    $0xe0,%al
458acf:	04 61                	add    $0x61,%al
458ad1:	2c 3a                	sub    $0x3a,%al
458ad3:	02 c8                	add    %al,%cl
458ad5:	8b 46 34             	mov    0x34(%esi),%eax
458ad8:	88 08                	mov    %cl,(%eax)
458ada:	ff 4e 34             	decl   0x34(%esi)
458add:	eb b7                	jmp    0x458a96
458adf:	2b 7e 34             	sub    0x34(%esi),%edi
458ae2:	89 7e 38             	mov    %edi,0x38(%esi)
458ae5:	ff 46 34             	incl   0x34(%esi)
458ae8:	5f                   	pop    %edi
458ae9:	5e                   	pop    %esi
458aea:	5b                   	pop    %ebx
458aeb:	8b e5                	mov    %ebp,%esp
458aed:	5d                   	pop    %ebp
458aee:	c2 10 00             	ret    $0x10
458af1:	8b ff                	mov    %edi,%edi
458af3:	55                   	push   %ebp
458af4:	8b ec                	mov    %esp,%ebp
458af6:	51                   	push   %ecx
458af7:	51                   	push   %ecx
458af8:	53                   	push   %ebx
458af9:	56                   	push   %esi
458afa:	8b f1                	mov    %ecx,%esi
458afc:	57                   	push   %edi
458afd:	8d 4e 40             	lea    0x40(%esi),%ecx
458b00:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
458b06:	85 ff                	test   %edi,%edi
458b08:	75 02                	jne    0x458b0c
458b0a:	8b f9                	mov    %ecx,%edi
458b0c:	e8 89 ce ff ff       	call   0x45599a
458b11:	8b 55 0c             	mov    0xc(%ebp),%edx
458b14:	48                   	dec    %eax
458b15:	8b 5d 08             	mov    0x8(%ebp),%ebx
458b18:	03 f8                	add    %eax,%edi
458b1a:	89 7e 34             	mov    %edi,0x34(%esi)
458b1d:	8b 4e 28             	mov    0x28(%esi),%ecx
458b20:	85 c9                	test   %ecx,%ecx
458b22:	7f 06                	jg     0x458b2a
458b24:	8b c3                	mov    %ebx,%eax
458b26:	0b c2                	or     %edx,%eax
458b28:	74 3c                	je     0x458b66
458b2a:	53                   	push   %ebx
458b2b:	6a 00                	push   $0x0
458b2d:	ff 75 10             	push   0x10(%ebp)
458b30:	8d 41 ff             	lea    -0x1(%ecx),%eax
458b33:	52                   	push   %edx
458b34:	53                   	push   %ebx
458b35:	89 46 28             	mov    %eax,0x28(%esi)
458b38:	e8 e3 71 fe ff       	call   0x43fd20
458b3d:	89 5d fc             	mov    %ebx,-0x4(%ebp)
458b40:	5b                   	pop    %ebx
458b41:	80 c1 30             	add    $0x30,%cl
458b44:	8b d8                	mov    %eax,%ebx
458b46:	80 f9 39             	cmp    $0x39,%cl
458b49:	7e 11                	jle    0x458b5c
458b4b:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
458b4f:	0f 94 c0             	sete   %al
458b52:	fe c8                	dec    %al
458b54:	24 e0                	and    $0xe0,%al
458b56:	04 61                	add    $0x61,%al
458b58:	2c 3a                	sub    $0x3a,%al
458b5a:	02 c8                	add    %al,%cl
458b5c:	8b 46 34             	mov    0x34(%esi),%eax
458b5f:	88 08                	mov    %cl,(%eax)
458b61:	ff 4e 34             	decl   0x34(%esi)
458b64:	eb b7                	jmp    0x458b1d
458b66:	2b 7e 34             	sub    0x34(%esi),%edi
458b69:	89 7e 38             	mov    %edi,0x38(%esi)
458b6c:	ff 46 34             	incl   0x34(%esi)
458b6f:	5f                   	pop    %edi
458b70:	5e                   	pop    %esi
458b71:	5b                   	pop    %ebx
458b72:	8b e5                	mov    %ebp,%esp
458b74:	5d                   	pop    %ebp
458b75:	c2 10 00             	ret    $0x10
458b78:	8b ff                	mov    %edi,%edi
458b7a:	55                   	push   %ebp
458b7b:	8b ec                	mov    %esp,%ebp
458b7d:	51                   	push   %ecx
458b7e:	51                   	push   %ecx
458b7f:	53                   	push   %ebx
458b80:	56                   	push   %esi
458b81:	8b f1                	mov    %ecx,%esi
458b83:	57                   	push   %edi
458b84:	8d 4e 40             	lea    0x40(%esi),%ecx
458b87:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
458b8d:	85 ff                	test   %edi,%edi
458b8f:	75 02                	jne    0x458b93
458b91:	8b f9                	mov    %ecx,%edi
458b93:	e8 02 ce ff ff       	call   0x45599a
458b98:	8b 55 0c             	mov    0xc(%ebp),%edx
458b9b:	48                   	dec    %eax
458b9c:	8b 5d 08             	mov    0x8(%ebp),%ebx
458b9f:	03 f8                	add    %eax,%edi
458ba1:	89 7e 34             	mov    %edi,0x34(%esi)
458ba4:	8b 4e 28             	mov    0x28(%esi),%ecx
458ba7:	85 c9                	test   %ecx,%ecx
458ba9:	7f 06                	jg     0x458bb1
458bab:	8b c3                	mov    %ebx,%eax
458bad:	0b c2                	or     %edx,%eax
458baf:	74 3c                	je     0x458bed
458bb1:	53                   	push   %ebx
458bb2:	6a 00                	push   $0x0
458bb4:	ff 75 10             	push   0x10(%ebp)
458bb7:	8d 41 ff             	lea    -0x1(%ecx),%eax
458bba:	52                   	push   %edx
458bbb:	53                   	push   %ebx
458bbc:	89 46 28             	mov    %eax,0x28(%esi)
458bbf:	e8 5c 71 fe ff       	call   0x43fd20
458bc4:	89 5d fc             	mov    %ebx,-0x4(%ebp)
458bc7:	5b                   	pop    %ebx
458bc8:	80 c1 30             	add    $0x30,%cl
458bcb:	8b d8                	mov    %eax,%ebx
458bcd:	80 f9 39             	cmp    $0x39,%cl
458bd0:	7e 11                	jle    0x458be3
458bd2:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
458bd6:	0f 94 c0             	sete   %al
458bd9:	fe c8                	dec    %al
458bdb:	24 e0                	and    $0xe0,%al
458bdd:	04 61                	add    $0x61,%al
458bdf:	2c 3a                	sub    $0x3a,%al
458be1:	02 c8                	add    %al,%cl
458be3:	8b 46 34             	mov    0x34(%esi),%eax
458be6:	88 08                	mov    %cl,(%eax)
458be8:	ff 4e 34             	decl   0x34(%esi)
458beb:	eb b7                	jmp    0x458ba4
458bed:	2b 7e 34             	sub    0x34(%esi),%edi
458bf0:	89 7e 38             	mov    %edi,0x38(%esi)
458bf3:	ff 46 34             	incl   0x34(%esi)
458bf6:	5f                   	pop    %edi
458bf7:	5e                   	pop    %esi
458bf8:	5b                   	pop    %ebx
458bf9:	8b e5                	mov    %ebp,%esp
458bfb:	5d                   	pop    %ebp
458bfc:	c2 10 00             	ret    $0x10
458bff:	8b ff                	mov    %edi,%edi
458c01:	55                   	push   %ebp
458c02:	8b ec                	mov    %esp,%ebp
458c04:	51                   	push   %ecx
458c05:	51                   	push   %ecx
458c06:	53                   	push   %ebx
458c07:	56                   	push   %esi
458c08:	8b f1                	mov    %ecx,%esi
458c0a:	57                   	push   %edi
458c0b:	8d 4e 40             	lea    0x40(%esi),%ecx
458c0e:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
458c14:	85 ff                	test   %edi,%edi
458c16:	75 02                	jne    0x458c1a
458c18:	8b f9                	mov    %ecx,%edi
458c1a:	e8 93 cd ff ff       	call   0x4559b2
458c1f:	8b 55 0c             	mov    0xc(%ebp),%edx
458c22:	8b 5d 08             	mov    0x8(%ebp),%ebx
458c25:	8d 3c 47             	lea    (%edi,%eax,2),%edi
458c28:	83 c7 fe             	add    $0xfffffffe,%edi
458c2b:	89 7e 34             	mov    %edi,0x34(%esi)
458c2e:	8b 4e 28             	mov    0x28(%esi),%ecx
458c31:	85 c9                	test   %ecx,%ecx
458c33:	7f 06                	jg     0x458c3b
458c35:	8b c3                	mov    %ebx,%eax
458c37:	0b c2                	or     %edx,%eax
458c39:	74 4a                	je     0x458c85
458c3b:	53                   	push   %ebx
458c3c:	6a 00                	push   $0x0
458c3e:	ff 75 10             	push   0x10(%ebp)
458c41:	8d 41 ff             	lea    -0x1(%ecx),%eax
458c44:	52                   	push   %edx
458c45:	53                   	push   %ebx
458c46:	89 46 28             	mov    %eax,0x28(%esi)
458c49:	e8 d2 70 fe ff       	call   0x43fd20
458c4e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
458c51:	5b                   	pop    %ebx
458c52:	83 c1 30             	add    $0x30,%ecx
458c55:	8b d8                	mov    %eax,%ebx
458c57:	0f b7 c9             	movzwl %cx,%ecx
458c5a:	83 f9 39             	cmp    $0x39,%ecx
458c5d:	76 16                	jbe    0x458c75
458c5f:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
458c63:	0f 94 c0             	sete   %al
458c66:	fe c8                	dec    %al
458c68:	24 e0                	and    $0xe0,%al
458c6a:	04 61                	add    $0x61,%al
458c6c:	2c 3a                	sub    $0x3a,%al
458c6e:	02 c1                	add    %cl,%al
458c70:	66 98                	cbtw
458c72:	0f b7 c8             	movzwl %ax,%ecx
458c75:	8b 46 34             	mov    0x34(%esi),%eax
458c78:	66 0f be c9          	movsbw %cl,%cx
458c7c:	66 89 08             	mov    %cx,(%eax)
458c7f:	83 46 34 fe          	addl   $0xfffffffe,0x34(%esi)
458c83:	eb a9                	jmp    0x458c2e
458c85:	2b 7e 34             	sub    0x34(%esi),%edi
458c88:	d1 ff                	sar    $1,%edi
458c8a:	89 7e 38             	mov    %edi,0x38(%esi)
458c8d:	83 46 34 02          	addl   $0x2,0x34(%esi)
458c91:	5f                   	pop    %edi
458c92:	5e                   	pop    %esi
458c93:	5b                   	pop    %ebx
458c94:	8b e5                	mov    %ebp,%esp
458c96:	5d                   	pop    %ebp
458c97:	c2 10 00             	ret    $0x10
458c9a:	8b ff                	mov    %edi,%edi
458c9c:	55                   	push   %ebp
458c9d:	8b ec                	mov    %esp,%ebp
458c9f:	51                   	push   %ecx
458ca0:	51                   	push   %ecx
458ca1:	53                   	push   %ebx
458ca2:	56                   	push   %esi
458ca3:	8b f1                	mov    %ecx,%esi
458ca5:	57                   	push   %edi
458ca6:	8d 4e 40             	lea    0x40(%esi),%ecx
458ca9:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
458caf:	85 ff                	test   %edi,%edi
458cb1:	75 02                	jne    0x458cb5
458cb3:	8b f9                	mov    %ecx,%edi
458cb5:	e8 f8 cc ff ff       	call   0x4559b2
458cba:	8b 55 0c             	mov    0xc(%ebp),%edx
458cbd:	8b 5d 08             	mov    0x8(%ebp),%ebx
458cc0:	8d 3c 47             	lea    (%edi,%eax,2),%edi
458cc3:	83 c7 fe             	add    $0xfffffffe,%edi
458cc6:	89 7e 34             	mov    %edi,0x34(%esi)
458cc9:	8b 4e 28             	mov    0x28(%esi),%ecx
458ccc:	85 c9                	test   %ecx,%ecx
458cce:	7f 06                	jg     0x458cd6
458cd0:	8b c3                	mov    %ebx,%eax
458cd2:	0b c2                	or     %edx,%eax
458cd4:	74 4a                	je     0x458d20
458cd6:	53                   	push   %ebx
458cd7:	6a 00                	push   $0x0
458cd9:	ff 75 10             	push   0x10(%ebp)
458cdc:	8d 41 ff             	lea    -0x1(%ecx),%eax
458cdf:	52                   	push   %edx
458ce0:	53                   	push   %ebx
458ce1:	89 46 28             	mov    %eax,0x28(%esi)
458ce4:	e8 37 70 fe ff       	call   0x43fd20
458ce9:	89 5d fc             	mov    %ebx,-0x4(%ebp)
458cec:	5b                   	pop    %ebx
458ced:	83 c1 30             	add    $0x30,%ecx
458cf0:	8b d8                	mov    %eax,%ebx
458cf2:	0f b7 c9             	movzwl %cx,%ecx
458cf5:	83 f9 39             	cmp    $0x39,%ecx
458cf8:	76 16                	jbe    0x458d10
458cfa:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
458cfe:	0f 94 c0             	sete   %al
458d01:	fe c8                	dec    %al
458d03:	24 e0                	and    $0xe0,%al
458d05:	04 61                	add    $0x61,%al
458d07:	2c 3a                	sub    $0x3a,%al
458d09:	02 c1                	add    %cl,%al
458d0b:	66 98                	cbtw
458d0d:	0f b7 c8             	movzwl %ax,%ecx
458d10:	8b 46 34             	mov    0x34(%esi),%eax
458d13:	66 0f be c9          	movsbw %cl,%cx
458d17:	66 89 08             	mov    %cx,(%eax)
458d1a:	83 46 34 fe          	addl   $0xfffffffe,0x34(%esi)
458d1e:	eb a9                	jmp    0x458cc9
458d20:	2b 7e 34             	sub    0x34(%esi),%edi
458d23:	d1 ff                	sar    $1,%edi
458d25:	89 7e 38             	mov    %edi,0x38(%esi)
458d28:	83 46 34 02          	addl   $0x2,0x34(%esi)
458d2c:	5f                   	pop    %edi
458d2d:	5e                   	pop    %esi
458d2e:	5b                   	pop    %ebx
458d2f:	8b e5                	mov    %ebp,%esp
458d31:	5d                   	pop    %ebp
458d32:	c2 10 00             	ret    $0x10
458d35:	8b ff                	mov    %edi,%edi
458d37:	55                   	push   %ebp
458d38:	8b ec                	mov    %esp,%ebp
458d3a:	51                   	push   %ecx
458d3b:	51                   	push   %ecx
458d3c:	53                   	push   %ebx
458d3d:	56                   	push   %esi
458d3e:	8b f1                	mov    %ecx,%esi
458d40:	57                   	push   %edi
458d41:	8d 4e 40             	lea    0x40(%esi),%ecx
458d44:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
458d4a:	85 ff                	test   %edi,%edi
458d4c:	75 02                	jne    0x458d50
458d4e:	8b f9                	mov    %ecx,%edi
458d50:	e8 5d cc ff ff       	call   0x4559b2
458d55:	8b 55 0c             	mov    0xc(%ebp),%edx
458d58:	8b 5d 08             	mov    0x8(%ebp),%ebx
458d5b:	8d 3c 47             	lea    (%edi,%eax,2),%edi
458d5e:	83 c7 fe             	add    $0xfffffffe,%edi
458d61:	89 7e 34             	mov    %edi,0x34(%esi)
458d64:	8b 4e 28             	mov    0x28(%esi),%ecx
458d67:	85 c9                	test   %ecx,%ecx
458d69:	7f 06                	jg     0x458d71
458d6b:	8b c3                	mov    %ebx,%eax
458d6d:	0b c2                	or     %edx,%eax
458d6f:	74 4a                	je     0x458dbb
458d71:	53                   	push   %ebx
458d72:	6a 00                	push   $0x0
458d74:	ff 75 10             	push   0x10(%ebp)
458d77:	8d 41 ff             	lea    -0x1(%ecx),%eax
458d7a:	52                   	push   %edx
458d7b:	53                   	push   %ebx
458d7c:	89 46 28             	mov    %eax,0x28(%esi)
458d7f:	e8 9c 6f fe ff       	call   0x43fd20
458d84:	89 5d fc             	mov    %ebx,-0x4(%ebp)
458d87:	5b                   	pop    %ebx
458d88:	83 c1 30             	add    $0x30,%ecx
458d8b:	8b d8                	mov    %eax,%ebx
458d8d:	0f b7 c9             	movzwl %cx,%ecx
458d90:	83 f9 39             	cmp    $0x39,%ecx
458d93:	76 16                	jbe    0x458dab
458d95:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
458d99:	0f 94 c0             	sete   %al
458d9c:	fe c8                	dec    %al
458d9e:	24 e0                	and    $0xe0,%al
458da0:	04 61                	add    $0x61,%al
458da2:	2c 3a                	sub    $0x3a,%al
458da4:	02 c1                	add    %cl,%al
458da6:	66 98                	cbtw
458da8:	0f b7 c8             	movzwl %ax,%ecx
458dab:	8b 46 34             	mov    0x34(%esi),%eax
458dae:	66 0f be c9          	movsbw %cl,%cx
458db2:	66 89 08             	mov    %cx,(%eax)
458db5:	83 46 34 fe          	addl   $0xfffffffe,0x34(%esi)
458db9:	eb a9                	jmp    0x458d64