487b2f:	8b e5                	mov    %ebp,%esp
487b31:	5d                   	pop    %ebp
487b32:	c3                   	ret
487b33:	8b ff                	mov    %edi,%edi
487b35:	55                   	push   %ebp
487b36:	8b ec                	mov    %esp,%ebp
487b38:	83 ec 10             	sub    $0x10,%esp
487b3b:	53                   	push   %ebx
487b3c:	8b 5d 10             	mov    0x10(%ebp),%ebx
487b3f:	85 db                	test   %ebx,%ebx
487b41:	75 07                	jne    0x487b4a
487b43:	33 c0                	xor    %eax,%eax
487b45:	e9 11 01 00 00       	jmp    0x487c5b
487b4a:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
487b4e:	75 1a                	jne    0x487b6a
487b50:	e8 da 52 fc ff       	call   0x44ce2f
487b55:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
487b5b:	e8 76 51 fc ff       	call   0x44ccd6
487b60:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
487b65:	e9 f1 00 00 00       	jmp    0x487c5b
487b6a:	57                   	push   %edi
487b6b:	8b 7d 0c             	mov    0xc(%ebp),%edi
487b6e:	85 ff                	test   %edi,%edi
487b70:	75 1a                	jne    0x487b8c
487b72:	e8 b8 52 fc ff       	call   0x44ce2f
487b77:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
487b7d:	e8 54 51 fc ff       	call   0x44ccd6
487b82:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
487b87:	e9 ce 00 00 00       	jmp    0x487c5a
487b8c:	56                   	push   %esi
487b8d:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
487b92:	3b de                	cmp    %esi,%ebx
487b94:	76 15                	jbe    0x487bab
487b96:	e8 94 52 fc ff       	call   0x44ce2f
487b9b:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
487ba1:	e8 30 51 fc ff       	call   0x44ccd6
487ba6:	e9 ac 00 00 00       	jmp    0x487c57
487bab:	ff 75 14             	push   0x14(%ebp)
487bae:	8d 4d f0             	lea    -0x10(%ebp),%ecx
487bb1:	e8 52 74 fc ff       	call   0x44f008
487bb6:	8b 45 f4             	mov    -0xc(%ebp),%eax
487bb9:	8b 80 a4 00 00 00    	mov    0xa4(%eax),%eax
487bbf:	85 c0                	test   %eax,%eax
487bc1:	75 5c                	jne    0x487c1f
487bc3:	8b 45 08             	mov    0x8(%ebp),%eax
487bc6:	2b c7                	sub    %edi,%eax
487bc8:	6a 41                	push   $0x41
487bca:	89 45 08             	mov    %eax,0x8(%ebp)
487bcd:	5e                   	pop    %esi
487bce:	0f b7 04 38          	movzwl (%eax,%edi,1),%eax
487bd2:	6a 5a                	push   $0x5a
487bd4:	5a                   	pop    %edx
487bd5:	66 3b c6             	cmp    %si,%ax
487bd8:	72 0d                	jb     0x487be7
487bda:	66 3b c2             	cmp    %dx,%ax
487bdd:	77 08                	ja     0x487be7
487bdf:	83 c0 20             	add    $0x20,%eax
487be2:	0f b7 c8             	movzwl %ax,%ecx
487be5:	eb 02                	jmp    0x487be9
487be7:	8b c8                	mov    %eax,%ecx
487be9:	0f b7 07             	movzwl (%edi),%eax
487bec:	66 3b c6             	cmp    %si,%ax
487bef:	72 0d                	jb     0x487bfe
487bf1:	66 3b c2             	cmp    %dx,%ax
487bf4:	77 08                	ja     0x487bfe
487bf6:	83 c0 20             	add    $0x20,%eax
487bf9:	0f b7 d0             	movzwl %ax,%edx
487bfc:	eb 02                	jmp    0x487c00
487bfe:	8b d0                	mov    %eax,%edx
487c00:	83 c7 02             	add    $0x2,%edi
487c03:	83 eb 01             	sub    $0x1,%ebx
487c06:	74 0d                	je     0x487c15
487c08:	66 85 c9             	test   %cx,%cx
487c0b:	74 08                	je     0x487c15
487c0d:	8b 45 08             	mov    0x8(%ebp),%eax
487c10:	66 3b ca             	cmp    %dx,%cx
487c13:	74 b9                	je     0x487bce
487c15:	0f b7 c2             	movzwl %dx,%eax
487c18:	0f b7 f1             	movzwl %cx,%esi
487c1b:	2b f0                	sub    %eax,%esi
487c1d:	eb 28                	jmp    0x487c47
487c1f:	53                   	push   %ebx
487c20:	57                   	push   %edi
487c21:	53                   	push   %ebx
487c22:	ff 75 08             	push   0x8(%ebp)
487c25:	68 01 10 00 00       	push   $0x1001
487c2a:	50                   	push   %eax
487c2b:	e8 43 13 00 00       	call   0x488f73
487c30:	83 c4 18             	add    $0x18,%esp
487c33:	85 c0                	test   %eax,%eax
487c35:	75 0d                	jne    0x487c44
487c37:	e8 f3 51 fc ff       	call   0x44ce2f
487c3c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
487c42:	eb 03                	jmp    0x487c47
487c44:	8d 70 fe             	lea    -0x2(%eax),%esi
487c47:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
487c4b:	74 0a                	je     0x487c57
487c4d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
487c50:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
487c57:	8b c6                	mov    %esi,%eax
487c59:	5e                   	pop    %esi
487c5a:	5f                   	pop    %edi
487c5b:	5b                   	pop    %ebx
487c5c:	8b e5                	mov    %ebp,%esp
487c5e:	5d                   	pop    %ebp
487c5f:	c3                   	ret
487c60:	8b ff                	mov    %edi,%edi
487c62:	55                   	push   %ebp
487c63:	8b ec                	mov    %esp,%ebp
487c65:	83 3d 08 bf 4b 00 00 	cmpl   $0x0,0x4bbf08
487c6c:	75 06                	jne    0x487c74
487c6e:	5d                   	pop    %ebp
487c6f:	e9 93 b6 ff ff       	jmp    0x483307
487c74:	6a 00                	push   $0x0
487c76:	ff 75 10             	push   0x10(%ebp)
487c79:	ff 75 0c             	push   0xc(%ebp)
487c7c:	ff 75 08             	push   0x8(%ebp)
487c7f:	e8 05 00 00 00       	call   0x487c89
487c84:	83 c4 10             	add    $0x10,%esp
487c87:	5d                   	pop    %ebp
487c88:	c3                   	ret
487c89:	8b ff                	mov    %edi,%edi
487c8b:	55                   	push   %ebp
487c8c:	8b ec                	mov    %esp,%ebp
487c8e:	83 ec 10             	sub    $0x10,%esp
487c91:	8d 4d f0             	lea    -0x10(%ebp),%ecx
487c94:	53                   	push   %ebx
487c95:	56                   	push   %esi
487c96:	57                   	push   %edi
487c97:	ff 75 14             	push   0x14(%ebp)
487c9a:	e8 69 73 fc ff       	call   0x44f008
487c9f:	8b 45 10             	mov    0x10(%ebp),%eax
487ca2:	85 c0                	test   %eax,%eax
487ca4:	75 07                	jne    0x487cad
487ca6:	33 f6                	xor    %esi,%esi
487ca8:	e9 8d 00 00 00       	jmp    0x487d3a
487cad:	8b 4d 08             	mov    0x8(%ebp),%ecx
487cb0:	85 c9                	test   %ecx,%ecx
487cb2:	74 07                	je     0x487cbb
487cb4:	8b 55 0c             	mov    0xc(%ebp),%edx
487cb7:	85 d2                	test   %edx,%edx
487cb9:	75 17                	jne    0x487cd2
487cbb:	e8 6f 51 fc ff       	call   0x44ce2f
487cc0:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
487cc6:	e8 0b 50 fc ff       	call   0x44ccd6
487ccb:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
487cd0:	eb 68                	jmp    0x487d3a
487cd2:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
487cd7:	3b c6                	cmp    %esi,%eax
487cd9:	76 12                	jbe    0x487ced
487cdb:	e8 4f 51 fc ff       	call   0x44ce2f
487ce0:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
487ce6:	e8 eb 4f fc ff       	call   0x44ccd6
487ceb:	eb 4d                	jmp    0x487d3a
487ced:	8b 7d f4             	mov    -0xc(%ebp),%edi
487cf0:	8b 9f a4 00 00 00    	mov    0xa4(%edi),%ebx
487cf6:	85 db                	test   %ebx,%ebx
487cf8:	75 13                	jne    0x487d0d
487cfa:	8d 75 f4             	lea    -0xc(%ebp),%esi
487cfd:	56                   	push   %esi
487cfe:	50                   	push   %eax
487cff:	52                   	push   %edx
487d00:	51                   	push   %ecx
487d01:	e8 6e b6 ff ff       	call   0x483374
487d06:	83 c4 10             	add    $0x10,%esp
487d09:	8b f0                	mov    %eax,%esi
487d0b:	eb 2d                	jmp    0x487d3a
487d0d:	ff 77 10             	push   0x10(%edi)
487d10:	50                   	push   %eax
487d11:	52                   	push   %edx
487d12:	50                   	push   %eax
487d13:	51                   	push   %ecx
487d14:	68 01 10 00 00       	push   $0x1001
487d19:	8d 45 f4             	lea    -0xc(%ebp),%eax
487d1c:	53                   	push   %ebx
487d1d:	50                   	push   %eax
487d1e:	e8 60 15 00 00       	call   0x489283
487d23:	83 c4 20             	add    $0x20,%esp
487d26:	85 c0                	test   %eax,%eax
487d28:	75 0d                	jne    0x487d37
487d2a:	e8 00 51 fc ff       	call   0x44ce2f
487d2f:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
487d35:	eb 03                	jmp    0x487d3a
487d37:	8d 70 fe             	lea    -0x2(%eax),%esi
487d3a:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
487d3e:	74 0a                	je     0x487d4a
487d40:	8b 4d f0             	mov    -0x10(%ebp),%ecx
487d43:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
487d4a:	5f                   	pop    %edi
487d4b:	8b c6                	mov    %esi,%eax
487d4d:	5e                   	pop    %esi
487d4e:	5b                   	pop    %ebx
487d4f:	8b e5                	mov    %ebp,%esp
487d51:	5d                   	pop    %ebp
487d52:	c3                   	ret
487d53:	8b ff                	mov    %edi,%edi
487d55:	55                   	push   %ebp
487d56:	8b ec                	mov    %esp,%ebp
487d58:	8b 45 08             	mov    0x8(%ebp),%eax
487d5b:	33 c9                	xor    %ecx,%ecx
487d5d:	53                   	push   %ebx
487d5e:	8b 5d 0c             	mov    0xc(%ebp),%ebx
487d61:	56                   	push   %esi
487d62:	8b f3                	mov    %ebx,%esi
487d64:	57                   	push   %edi
487d65:	38 4d 18             	cmp    %cl,0x18(%ebp)
487d68:	74 09                	je     0x487d73
487d6a:	41                   	inc    %ecx
487d6b:	c6 03 2d             	movb   $0x2d,(%ebx)
487d6e:	8d 73 01             	lea    0x1(%ebx),%esi
487d71:	f7 d8                	neg    %eax
487d73:	8b fe                	mov    %esi,%edi
487d75:	33 d2                	xor    %edx,%edx
487d77:	f7 75 14             	divl   0x14(%ebp)
487d7a:	83 fa 09             	cmp    $0x9,%edx
487d7d:	76 05                	jbe    0x487d84
487d7f:	80 c2 57             	add    $0x57,%dl
487d82:	eb 03                	jmp    0x487d87
487d84:	80 c2 30             	add    $0x30,%dl
487d87:	88 16                	mov    %dl,(%esi)
487d89:	46                   	inc    %esi
487d8a:	41                   	inc    %ecx
487d8b:	85 c0                	test   %eax,%eax
487d8d:	74 05                	je     0x487d94
487d8f:	3b 4d 10             	cmp    0x10(%ebp),%ecx
487d92:	72 e1                	jb     0x487d75
487d94:	3b 4d 10             	cmp    0x10(%ebp),%ecx
487d97:	72 16                	jb     0x487daf
487d99:	c6 03 00             	movb   $0x0,(%ebx)
487d9c:	e8 8e 50 fc ff       	call   0x44ce2f
487da1:	6a 22                	push   $0x22
487da3:	5e                   	pop    %esi
487da4:	89 30                	mov    %esi,(%eax)
487da6:	e8 2b 4f fc ff       	call   0x44ccd6
487dab:	8b c6                	mov    %esi,%eax
487dad:	eb 14                	jmp    0x487dc3
487daf:	c6 06 00             	movb   $0x0,(%esi)
487db2:	4e                   	dec    %esi
487db3:	8a 07                	mov    (%edi),%al
487db5:	8a 0e                	mov    (%esi),%cl
487db7:	88 06                	mov    %al,(%esi)
487db9:	4e                   	dec    %esi
487dba:	88 0f                	mov    %cl,(%edi)
487dbc:	47                   	inc    %edi
487dbd:	3b fe                	cmp    %esi,%edi
487dbf:	72 f2                	jb     0x487db3
487dc1:	33 c0                	xor    %eax,%eax
487dc3:	5f                   	pop    %edi
487dc4:	5e                   	pop    %esi
487dc5:	5b                   	pop    %ebx
487dc6:	5d                   	pop    %ebp
487dc7:	c3                   	ret
487dc8:	8b ff                	mov    %edi,%edi
487dca:	55                   	push   %ebp
487dcb:	8b ec                	mov    %esp,%ebp
487dcd:	8b 45 0c             	mov    0xc(%ebp),%eax
487dd0:	8b 4d 08             	mov    0x8(%ebp),%ecx
487dd3:	53                   	push   %ebx
487dd4:	56                   	push   %esi
487dd5:	33 db                	xor    %ebx,%ebx
487dd7:	8b f0                	mov    %eax,%esi
487dd9:	57                   	push   %edi
487dda:	38 5d 18             	cmp    %bl,0x18(%ebp)
487ddd:	74 0c                	je     0x487deb
487ddf:	6a 2d                	push   $0x2d
487de1:	5a                   	pop    %edx
487de2:	43                   	inc    %ebx
487de3:	66 89 10             	mov    %dx,(%eax)
487de6:	8d 70 02             	lea    0x2(%eax),%esi
487de9:	f7 d9                	neg    %ecx
487deb:	8b fe                	mov    %esi,%edi
487ded:	8b c1                	mov    %ecx,%eax
487def:	33 d2                	xor    %edx,%edx
487df1:	f7 75 14             	divl   0x14(%ebp)
487df4:	8b c8                	mov    %eax,%ecx
487df6:	8d 42 57             	lea    0x57(%edx),%eax
487df9:	83 fa 09             	cmp    $0x9,%edx
487dfc:	77 03                	ja     0x487e01
487dfe:	8d 42 30             	lea    0x30(%edx),%eax
487e01:	66 89 06             	mov    %ax,(%esi)
487e04:	83 c6 02             	add    $0x2,%esi
487e07:	43                   	inc    %ebx
487e08:	85 c9                	test   %ecx,%ecx
487e0a:	74 05                	je     0x487e11
487e0c:	3b 5d 10             	cmp    0x10(%ebp),%ebx
487e0f:	72 dc                	jb     0x487ded
487e11:	3b 5d 10             	cmp    0x10(%ebp),%ebx
487e14:	72 1b                	jb     0x487e31
487e16:	8b 45 0c             	mov    0xc(%ebp),%eax
487e19:	33 c9                	xor    %ecx,%ecx
487e1b:	66 89 08             	mov    %cx,(%eax)
487e1e:	e8 0c 50 fc ff       	call   0x44ce2f
487e23:	6a 22                	push   $0x22
487e25:	5e                   	pop    %esi
487e26:	89 30                	mov    %esi,(%eax)
487e28:	e8 a9 4e fc ff       	call   0x44ccd6
487e2d:	8b c6                	mov    %esi,%eax
487e2f:	eb 20                	jmp    0x487e51
487e31:	33 c0                	xor    %eax,%eax
487e33:	66 89 06             	mov    %ax,(%esi)
487e36:	83 ee 02             	sub    $0x2,%esi
487e39:	66 8b 07             	mov    (%edi),%ax
487e3c:	0f b7 0e             	movzwl (%esi),%ecx
487e3f:	66 89 06             	mov    %ax,(%esi)
487e42:	83 ee 02             	sub    $0x2,%esi
487e45:	66 89 0f             	mov    %cx,(%edi)
487e48:	83 c7 02             	add    $0x2,%edi
487e4b:	3b fe                	cmp    %esi,%edi
487e4d:	72 ea                	jb     0x487e39
487e4f:	33 c0                	xor    %eax,%eax
487e51:	5f                   	pop    %edi
487e52:	5e                   	pop    %esi
487e53:	5b                   	pop    %ebx
487e54:	5d                   	pop    %ebp
487e55:	c3                   	ret
487e56:	8b ff                	mov    %edi,%edi
487e58:	55                   	push   %ebp
487e59:	8b ec                	mov    %esp,%ebp
487e5b:	83 ec 0c             	sub    $0xc,%esp
487e5e:	8b 4d 10             	mov    0x10(%ebp),%ecx
487e61:	33 c0                	xor    %eax,%eax
487e63:	8b 55 0c             	mov    0xc(%ebp),%edx
487e66:	53                   	push   %ebx
487e67:	8b 5d 08             	mov    0x8(%ebp),%ebx
487e6a:	56                   	push   %esi
487e6b:	8b f1                	mov    %ecx,%esi
487e6d:	89 45 fc             	mov    %eax,-0x4(%ebp)
487e70:	57                   	push   %edi
487e71:	38 45 1c             	cmp    %al,0x1c(%ebp)
487e74:	74 11                	je     0x487e87
487e76:	40                   	inc    %eax
487e77:	c6 01 2d             	movb   $0x2d,(%ecx)
487e7a:	f7 db                	neg    %ebx
487e7c:	89 45 fc             	mov    %eax,-0x4(%ebp)
487e7f:	8d 71 01             	lea    0x1(%ecx),%esi
487e82:	83 d2 00             	adc    $0x0,%edx
487e85:	f7 da                	neg    %edx
487e87:	8b 7d fc             	mov    -0x4(%ebp),%edi
487e8a:	89 75 f4             	mov    %esi,-0xc(%ebp)
487e8d:	53                   	push   %ebx
487e8e:	6a 00                	push   $0x0
487e90:	ff 75 18             	push   0x18(%ebp)
487e93:	52                   	push   %edx
487e94:	53                   	push   %ebx
487e95:	e8 86 7e fb ff       	call   0x43fd20
487e9a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
487e9d:	5b                   	pop    %ebx
487e9e:	8b d8                	mov    %eax,%ebx
487ea0:	83 f9 09             	cmp    $0x9,%ecx
487ea3:	76 05                	jbe    0x487eaa