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)
458f58:	5b                   	pop    %ebx
458f59:	83 c1 30             	add    $0x30,%ecx
458f5c:	8b d8                	mov    %eax,%ebx
458f5e:	0f b7 c9             	movzwl %cx,%ecx
458f61:	83 f9 39             	cmp    $0x39,%ecx
458f64:	76 16                	jbe    0x458f7c
458f66:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
458f6a:	0f 94 c0             	sete   %al
458f6d:	fe c8                	dec    %al
458f6f:	24 e0                	and    $0xe0,%al
458f71:	04 61                	add    $0x61,%al
458f73:	2c 3a                	sub    $0x3a,%al
458f75:	02 c1                	add    %cl,%al
458f77:	66 98                	cbtw
458f79:	0f b7 c8             	movzwl %ax,%ecx
458f7c:	8b 46 34             	mov    0x34(%esi),%eax
458f7f:	66 0f be c9          	movsbw %cl,%cx
458f83:	66 89 08             	mov    %cx,(%eax)
458f86:	83 46 34 fe          	addl   $0xfffffffe,0x34(%esi)
458f8a:	eb a9                	jmp    0x458f35
458f8c:	2b 7e 34             	sub    0x34(%esi),%edi
458f8f:	d1 ff                	sar    $1,%edi
458f91:	89 7e 38             	mov    %edi,0x38(%esi)
458f94:	83 46 34 02          	addl   $0x2,0x34(%esi)
458f98:	5f                   	pop    %edi
458f99:	5e                   	pop    %esi
458f9a:	5b                   	pop    %ebx
458f9b:	8b e5                	mov    %ebp,%esp
458f9d:	5d                   	pop    %ebp
458f9e:	c2 10 00             	ret    $0x10
458fa1:	8b ff                	mov    %edi,%edi
458fa3:	55                   	push   %ebp
458fa4:	8b ec                	mov    %esp,%ebp
458fa6:	56                   	push   %esi
458fa7:	33 f6                	xor    %esi,%esi
458fa9:	39 75 10             	cmp    %esi,0x10(%ebp)
458fac:	7e 1c                	jle    0x458fca
458fae:	57                   	push   %edi
458faf:	8b 7d 14             	mov    0x14(%ebp),%edi
458fb2:	8b 4d 08             	mov    0x8(%ebp),%ecx
458fb5:	57                   	push   %edi
458fb6:	ff 75 0c             	push   0xc(%ebp)
458fb9:	e8 f0 be 00 00       	call   0x464eae
458fbe:	83 3f ff             	cmpl   $0xffffffff,(%edi)
458fc1:	74 06                	je     0x458fc9
458fc3:	46                   	inc    %esi
458fc4:	3b 75 10             	cmp    0x10(%ebp),%esi
458fc7:	7c e9                	jl     0x458fb2
458fc9:	5f                   	pop    %edi
458fca:	5e                   	pop    %esi
458fcb:	5d                   	pop    %ebp
458fcc:	c3                   	ret
458fcd:	8b ff                	mov    %edi,%edi
458fcf:	55                   	push   %ebp
458fd0:	8b ec                	mov    %esp,%ebp
458fd2:	56                   	push   %esi
458fd3:	33 f6                	xor    %esi,%esi
458fd5:	39 75 10             	cmp    %esi,0x10(%ebp)
458fd8:	7e 21                	jle    0x458ffb
458fda:	53                   	push   %ebx
458fdb:	66 0f be 5d 0c       	movsbw 0xc(%ebp),%bx
458fe0:	57                   	push   %edi
458fe1:	8b 7d 14             	mov    0x14(%ebp),%edi
458fe4:	8b 4d 08             	mov    0x8(%ebp),%ecx
458fe7:	57                   	push   %edi
458fe8:	53                   	push   %ebx
458fe9:	e8 fd be 00 00       	call   0x464eeb
458fee:	83 3f ff             	cmpl   $0xffffffff,(%edi)
458ff1:	74 06                	je     0x458ff9
458ff3:	46                   	inc    %esi
458ff4:	3b 75 10             	cmp    0x10(%ebp),%esi
458ff7:	7c eb                	jl     0x458fe4
458ff9:	5f                   	pop    %edi
458ffa:	5b                   	pop    %ebx
458ffb:	5e                   	pop    %esi
458ffc:	5d                   	pop    %ebp
458ffd:	c3                   	ret
458ffe:	8b ff                	mov    %edi,%edi
459000:	55                   	push   %ebp
459001:	8b ec                	mov    %esp,%ebp
459003:	56                   	push   %esi
459004:	33 f6                	xor    %esi,%esi
459006:	39 75 10             	cmp    %esi,0x10(%ebp)
459009:	7e 1c                	jle    0x459027
45900b:	57                   	push   %edi
45900c:	8b 7d 14             	mov    0x14(%ebp),%edi
45900f:	8b 4d 08             	mov    0x8(%ebp),%ecx
459012:	57                   	push   %edi
459013:	ff 75 0c             	push   0xc(%ebp)
459016:	e8 10 bf 00 00       	call   0x464f2b
45901b:	83 3f ff             	cmpl   $0xffffffff,(%edi)
45901e:	74 06                	je     0x459026
459020:	46                   	inc    %esi
459021:	3b 75 10             	cmp    0x10(%ebp),%esi
459024:	7c e9                	jl     0x45900f
459026:	5f                   	pop    %edi
459027:	5e                   	pop    %esi
459028:	5d                   	pop    %ebp
459029:	c3                   	ret
45902a:	8b ff                	mov    %edi,%edi
45902c:	55                   	push   %ebp
45902d:	8b ec                	mov    %esp,%ebp
45902f:	56                   	push   %esi
459030:	33 f6                	xor    %esi,%esi
459032:	39 75 10             	cmp    %esi,0x10(%ebp)
459035:	7e 21                	jle    0x459058
459037:	53                   	push   %ebx
459038:	66 0f be 5d 0c       	movsbw 0xc(%ebp),%bx
45903d:	57                   	push   %edi
45903e:	8b 7d 14             	mov    0x14(%ebp),%edi
459041:	8b 4d 08             	mov    0x8(%ebp),%ecx
459044:	57                   	push   %edi
459045:	53                   	push   %ebx
459046:	e8 22 bf 00 00       	call   0x464f6d
45904b:	83 3f ff             	cmpl   $0xffffffff,(%edi)
45904e:	74 06                	je     0x459056
459050:	46                   	inc    %esi
459051:	3b 75 10             	cmp    0x10(%ebp),%esi
459054:	7c eb                	jl     0x459041
459056:	5f                   	pop    %edi
459057:	5b                   	pop    %ebx
459058:	5e                   	pop    %esi
459059:	5d                   	pop    %ebp
45905a:	c3                   	ret
45905b:	8b ff                	mov    %edi,%edi
45905d:	55                   	push   %ebp
45905e:	8b ec                	mov    %esp,%ebp
459060:	8b 45 08             	mov    0x8(%ebp),%eax
459063:	8b 00                	mov    (%eax),%eax
459065:	89 01                	mov    %eax,(%ecx)
459067:	8b c1                	mov    %ecx,%eax
459069:	5d                   	pop    %ebp
45906a:	c2 04 00             	ret    $0x4
45906d:	8b ff                	mov    %edi,%edi
45906f:	55                   	push   %ebp
459070:	8b ec                	mov    %esp,%ebp
459072:	8b 45 08             	mov    0x8(%ebp),%eax
459075:	8b 00                	mov    (%eax),%eax
459077:	89 01                	mov    %eax,(%ecx)
459079:	8b c1                	mov    %ecx,%eax
45907b:	5d                   	pop    %ebp
45907c:	c2 04 00             	ret    $0x4
45907f:	8b ff                	mov    %edi,%edi
459081:	55                   	push   %ebp
459082:	8b ec                	mov    %esp,%ebp
459084:	8b 45 08             	mov    0x8(%ebp),%eax
459087:	8b 00                	mov    (%eax),%eax
459089:	89 01                	mov    %eax,(%ecx)
45908b:	8b c1                	mov    %ecx,%eax
45908d:	5d                   	pop    %ebp
45908e:	c2 04 00             	ret    $0x4
459091:	8b ff                	mov    %edi,%edi
459093:	55                   	push   %ebp
459094:	8b ec                	mov    %esp,%ebp
459096:	8b 45 08             	mov    0x8(%ebp),%eax
459099:	8b 00                	mov    (%eax),%eax
45909b:	89 01                	mov    %eax,(%ecx)
45909d:	8b c1                	mov    %ecx,%eax
45909f:	5d                   	pop    %ebp
4590a0:	c2 04 00             	ret    $0x4
4590a3:	8b ff                	mov    %edi,%edi
4590a5:	55                   	push   %ebp
4590a6:	8b ec                	mov    %esp,%ebp
4590a8:	8b 45 08             	mov    0x8(%ebp),%eax
4590ab:	8b 00                	mov    (%eax),%eax
4590ad:	89 01                	mov    %eax,(%ecx)
4590af:	8b c1                	mov    %ecx,%eax
4590b1:	5d                   	pop    %ebp
4590b2:	c2 04 00             	ret    $0x4
4590b5:	8b ff                	mov    %edi,%edi
4590b7:	55                   	push   %ebp
4590b8:	8b ec                	mov    %esp,%ebp
4590ba:	8b 45 08             	mov    0x8(%ebp),%eax
4590bd:	89 01                	mov    %eax,(%ecx)
4590bf:	8b 45 0c             	mov    0xc(%ebp),%eax