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
458dbb:	2b 7e 34             	sub    0x34(%esi),%edi
458dbe:	d1 ff                	sar    $1,%edi
458dc0:	89 7e 38             	mov    %edi,0x38(%esi)
458dc3:	83 46 34 02          	addl   $0x2,0x34(%esi)
458dc7:	5f                   	pop    %edi
458dc8:	5e                   	pop    %esi
458dc9:	5b                   	pop    %ebx
458dca:	8b e5                	mov    %ebp,%esp
458dcc:	5d                   	pop    %ebp
458dcd:	c2 10 00             	ret    $0x10
458dd0:	8b ff                	mov    %edi,%edi
458dd2:	55                   	push   %ebp
458dd3:	8b ec                	mov    %esp,%ebp
458dd5:	51                   	push   %ecx
458dd6:	51                   	push   %ecx
458dd7:	53                   	push   %ebx
458dd8:	56                   	push   %esi
458dd9:	8b f1                	mov    %ecx,%esi
458ddb:	57                   	push   %edi
458ddc:	8d 4e 40             	lea    0x40(%esi),%ecx
458ddf:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
458de5:	85 ff                	test   %edi,%edi
458de7:	75 02                	jne    0x458deb
458de9:	8b f9                	mov    %ecx,%edi
458deb:	e8 c2 cb ff ff       	call   0x4559b2
458df0:	8b 55 0c             	mov    0xc(%ebp),%edx
458df3:	8b 5d 08             	mov    0x8(%ebp),%ebx
458df6:	8d 3c 47             	lea    (%edi,%eax,2),%edi
458df9:	83 c7 fe             	add    $0xfffffffe,%edi
458dfc:	89 7e 34             	mov    %edi,0x34(%esi)
458dff:	8b 4e 28             	mov    0x28(%esi),%ecx
458e02:	85 c9                	test   %ecx,%ecx
458e04:	7f 06                	jg     0x458e0c
458e06:	8b c3                	mov    %ebx,%eax
458e08:	0b c2                	or     %edx,%eax
458e0a:	74 4a                	je     0x458e56
458e0c:	53                   	push   %ebx
458e0d:	6a 00                	push   $0x0
458e0f:	ff 75 10             	push   0x10(%ebp)
458e12:	8d 41 ff             	lea    -0x1(%ecx),%eax
458e15:	52                   	push   %edx
458e16:	53                   	push   %ebx
458e17:	89 46 28             	mov    %eax,0x28(%esi)
458e1a:	e8 01 6f fe ff       	call   0x43fd20
458e1f:	89 5d fc             	mov    %ebx,-0x4(%ebp)
458e22:	5b                   	pop    %ebx
458e23:	83 c1 30             	add    $0x30,%ecx
458e26:	8b d8                	mov    %eax,%ebx
458e28:	0f b7 c9             	movzwl %cx,%ecx
458e2b:	83 f9 39             	cmp    $0x39,%ecx
458e2e:	76 16                	jbe    0x458e46
458e30:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
458e34:	0f 94 c0             	sete   %al
458e37:	fe c8                	dec    %al
458e39:	24 e0                	and    $0xe0,%al
458e3b:	04 61                	add    $0x61,%al
458e3d:	2c 3a                	sub    $0x3a,%al
458e3f:	02 c1                	add    %cl,%al
458e41:	66 98                	cbtw
458e43:	0f b7 c8             	movzwl %ax,%ecx
458e46:	8b 46 34             	mov    0x34(%esi),%eax
458e49:	66 0f be c9          	movsbw %cl,%cx
458e4d:	66 89 08             	mov    %cx,(%eax)
458e50:	83 46 34 fe          	addl   $0xfffffffe,0x34(%esi)
458e54:	eb a9                	jmp    0x458dff
458e56:	2b 7e 34             	sub    0x34(%esi),%edi
458e59:	d1 ff                	sar    $1,%edi
458e5b:	89 7e 38             	mov    %edi,0x38(%esi)
458e5e:	83 46 34 02          	addl   $0x2,0x34(%esi)
458e62:	5f                   	pop    %edi
458e63:	5e                   	pop    %esi
458e64:	5b                   	pop    %ebx
458e65:	8b e5                	mov    %ebp,%esp
458e67:	5d                   	pop    %ebp
458e68:	c2 10 00             	ret    $0x10
458e6b:	8b ff                	mov    %edi,%edi
458e6d:	55                   	push   %ebp
458e6e:	8b ec                	mov    %esp,%ebp
458e70:	51                   	push   %ecx
458e71:	51                   	push   %ecx
458e72:	53                   	push   %ebx
458e73:	56                   	push   %esi
458e74:	8b f1                	mov    %ecx,%esi
458e76:	57                   	push   %edi
458e77:	8d 4e 40             	lea    0x40(%esi),%ecx
458e7a:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
458e80:	85 ff                	test   %edi,%edi
458e82:	75 02                	jne    0x458e86
458e84:	8b f9                	mov    %ecx,%edi
458e86:	e8 27 cb ff ff       	call   0x4559b2
458e8b:	8b 55 0c             	mov    0xc(%ebp),%edx
458e8e:	8b 5d 08             	mov    0x8(%ebp),%ebx
458e91:	8d 3c 47             	lea    (%edi,%eax,2),%edi
458e94:	83 c7 fe             	add    $0xfffffffe,%edi
458e97:	89 7e 34             	mov    %edi,0x34(%esi)
458e9a:	8b 4e 28             	mov    0x28(%esi),%ecx
458e9d:	85 c9                	test   %ecx,%ecx
458e9f:	7f 06                	jg     0x458ea7
458ea1:	8b c3                	mov    %ebx,%eax
458ea3:	0b c2                	or     %edx,%eax
458ea5:	74 4a                	je     0x458ef1
458ea7:	53                   	push   %ebx
458ea8:	6a 00                	push   $0x0
458eaa:	ff 75 10             	push   0x10(%ebp)
458ead:	8d 41 ff             	lea    -0x1(%ecx),%eax
458eb0:	52                   	push   %edx
458eb1:	53                   	push   %ebx
458eb2:	89 46 28             	mov    %eax,0x28(%esi)
458eb5:	e8 66 6e fe ff       	call   0x43fd20
458eba:	89 5d fc             	mov    %ebx,-0x4(%ebp)
458ebd:	5b                   	pop    %ebx
458ebe:	83 c1 30             	add    $0x30,%ecx
458ec1:	8b d8                	mov    %eax,%ebx
458ec3:	0f b7 c9             	movzwl %cx,%ecx
458ec6:	83 f9 39             	cmp    $0x39,%ecx
458ec9:	76 16                	jbe    0x458ee1
458ecb:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
458ecf:	0f 94 c0             	sete   %al
458ed2:	fe c8                	dec    %al
458ed4:	24 e0                	and    $0xe0,%al
458ed6:	04 61                	add    $0x61,%al
458ed8:	2c 3a                	sub    $0x3a,%al
458eda:	02 c1                	add    %cl,%al
458edc:	66 98                	cbtw
458ede:	0f b7 c8             	movzwl %ax,%ecx
458ee1:	8b 46 34             	mov    0x34(%esi),%eax
458ee4:	66 0f be c9          	movsbw %cl,%cx
458ee8:	66 89 08             	mov    %cx,(%eax)
458eeb:	83 46 34 fe          	addl   $0xfffffffe,0x34(%esi)
458eef:	eb a9                	jmp    0x458e9a
458ef1:	2b 7e 34             	sub    0x34(%esi),%edi
458ef4:	d1 ff                	sar    $1,%edi
458ef6:	89 7e 38             	mov    %edi,0x38(%esi)
458ef9:	83 46 34 02          	addl   $0x2,0x34(%esi)
458efd:	5f                   	pop    %edi
458efe:	5e                   	pop    %esi
458eff:	5b                   	pop    %ebx
458f00:	8b e5                	mov    %ebp,%esp
458f02:	5d                   	pop    %ebp
458f03:	c2 10 00             	ret    $0x10
458f06:	8b ff                	mov    %edi,%edi
458f08:	55                   	push   %ebp
458f09:	8b ec                	mov    %esp,%ebp
458f0b:	51                   	push   %ecx
458f0c:	51                   	push   %ecx
458f0d:	53                   	push   %ebx
458f0e:	56                   	push   %esi
458f0f:	8b f1                	mov    %ecx,%esi
458f11:	57                   	push   %edi
458f12:	8d 4e 40             	lea    0x40(%esi),%ecx
458f15:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
458f1b:	85 ff                	test   %edi,%edi
458f1d:	75 02                	jne    0x458f21
458f1f:	8b f9                	mov    %ecx,%edi
458f21:	e8 8c ca ff ff       	call   0x4559b2
458f26:	8b 55 0c             	mov    0xc(%ebp),%edx
458f29:	8b 5d 08             	mov    0x8(%ebp),%ebx
458f2c:	8d 3c 47             	lea    (%edi,%eax,2),%edi
458f2f:	83 c7 fe             	add    $0xfffffffe,%edi
458f32:	89 7e 34             	mov    %edi,0x34(%esi)
458f35:	8b 4e 28             	mov    0x28(%esi),%ecx
458f38:	85 c9                	test   %ecx,%ecx
458f3a:	7f 06                	jg     0x458f42
458f3c:	8b c3                	mov    %ebx,%eax
458f3e:	0b c2                	or     %edx,%eax
458f40:	74 4a                	je     0x458f8c
458f42:	53                   	push   %ebx
458f43:	6a 00                	push   $0x0
458f45:	ff 75 10             	push   0x10(%ebp)
458f48:	8d 41 ff             	lea    -0x1(%ecx),%eax
458f4b:	52                   	push   %edx
458f4c:	53                   	push   %ebx
458f4d:	89 46 28             	mov    %eax,0x28(%esi)
458f50:	e8 cb 6d fe ff       	call   0x43fd20
458f55:	89 5d fc             	mov    %ebx,-0x4(%ebp)