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
487ea5:	80 c1 57             	add    $0x57,%cl
487ea8:	eb 03                	jmp    0x487ead
487eaa:	80 c1 30             	add    $0x30,%cl
487ead:	88 0e                	mov    %cl,(%esi)
487eaf:	46                   	inc    %esi
487eb0:	47                   	inc    %edi
487eb1:	85 d2                	test   %edx,%edx
487eb3:	75 04                	jne    0x487eb9
487eb5:	85 db                	test   %ebx,%ebx
487eb7:	74 05                	je     0x487ebe
487eb9:	3b 7d 14             	cmp    0x14(%ebp),%edi
487ebc:	72 cf                	jb     0x487e8d
487ebe:	3b 7d 14             	cmp    0x14(%ebp),%edi
487ec1:	8b 7d f4             	mov    -0xc(%ebp),%edi
487ec4:	72 19                	jb     0x487edf
487ec6:	8b 45 10             	mov    0x10(%ebp),%eax
487ec9:	c6 00 00             	movb   $0x0,(%eax)
487ecc:	e8 5e 4f fc ff       	call   0x44ce2f
487ed1:	6a 22                	push   $0x22
487ed3:	5e                   	pop    %esi
487ed4:	89 30                	mov    %esi,(%eax)
487ed6:	e8 fb 4d fc ff       	call   0x44ccd6
487edb:	8b c6                	mov    %esi,%eax
487edd:	eb 14                	jmp    0x487ef3
487edf:	c6 06 00             	movb   $0x0,(%esi)
487ee2:	4e                   	dec    %esi
487ee3:	8a 07                	mov    (%edi),%al
487ee5:	8a 0e                	mov    (%esi),%cl
487ee7:	88 06                	mov    %al,(%esi)
487ee9:	4e                   	dec    %esi
487eea:	88 0f                	mov    %cl,(%edi)
487eec:	47                   	inc    %edi
487eed:	3b fe                	cmp    %esi,%edi
487eef:	72 f2                	jb     0x487ee3
487ef1:	33 c0                	xor    %eax,%eax
487ef3:	5f                   	pop    %edi
487ef4:	5e                   	pop    %esi
487ef5:	5b                   	pop    %ebx
487ef6:	8b e5                	mov    %ebp,%esp
487ef8:	5d                   	pop    %ebp
487ef9:	c3                   	ret
487efa:	8b ff                	mov    %edi,%edi
487efc:	55                   	push   %ebp
487efd:	8b ec                	mov    %esp,%ebp
487eff:	83 ec 0c             	sub    $0xc,%esp
487f02:	8b 4d 08             	mov    0x8(%ebp),%ecx
487f05:	33 c0                	xor    %eax,%eax
487f07:	8b 55 0c             	mov    0xc(%ebp),%edx
487f0a:	53                   	push   %ebx
487f0b:	8b 5d 10             	mov    0x10(%ebp),%ebx
487f0e:	56                   	push   %esi
487f0f:	8b f3                	mov    %ebx,%esi
487f11:	89 45 fc             	mov    %eax,-0x4(%ebp)
487f14:	57                   	push   %edi
487f15:	38 45 1c             	cmp    %al,0x1c(%ebp)
487f18:	74 16                	je     0x487f30
487f1a:	6a 2d                	push   $0x2d
487f1c:	58                   	pop    %eax
487f1d:	66 89 03             	mov    %ax,(%ebx)
487f20:	8d 73 02             	lea    0x2(%ebx),%esi
487f23:	33 c0                	xor    %eax,%eax
487f25:	40                   	inc    %eax
487f26:	f7 d9                	neg    %ecx
487f28:	89 45 fc             	mov    %eax,-0x4(%ebp)
487f2b:	83 d2 00             	adc    $0x0,%edx
487f2e:	f7 da                	neg    %edx
487f30:	8b 7d fc             	mov    -0x4(%ebp),%edi
487f33:	89 75 f4             	mov    %esi,-0xc(%ebp)
487f36:	53                   	push   %ebx
487f37:	6a 00                	push   $0x0
487f39:	ff 75 18             	push   0x18(%ebp)
487f3c:	52                   	push   %edx
487f3d:	51                   	push   %ecx
487f3e:	e8 dd 7d fb ff       	call   0x43fd20
487f43:	89 5d fc             	mov    %ebx,-0x4(%ebp)
487f46:	5b                   	pop    %ebx
487f47:	8b d9                	mov    %ecx,%ebx
487f49:	8b c8                	mov    %eax,%ecx
487f4b:	8d 43 57             	lea    0x57(%ebx),%eax
487f4e:	83 fb 09             	cmp    $0x9,%ebx
487f51:	77 03                	ja     0x487f56
487f53:	8d 43 30             	lea    0x30(%ebx),%eax
487f56:	66 89 06             	mov    %ax,(%esi)
487f59:	83 c6 02             	add    $0x2,%esi
487f5c:	47                   	inc    %edi
487f5d:	85 d2                	test   %edx,%edx
487f5f:	75 04                	jne    0x487f65
487f61:	85 c9                	test   %ecx,%ecx
487f63:	74 05                	je     0x487f6a
487f65:	3b 7d 14             	cmp    0x14(%ebp),%edi
487f68:	72 cc                	jb     0x487f36
487f6a:	3b 7d 14             	cmp    0x14(%ebp),%edi
487f6d:	8b 7d f4             	mov    -0xc(%ebp),%edi
487f70:	72 1b                	jb     0x487f8d
487f72:	8b 45 10             	mov    0x10(%ebp),%eax
487f75:	33 c9                	xor    %ecx,%ecx
487f77:	66 89 08             	mov    %cx,(%eax)
487f7a:	e8 b0 4e fc ff       	call   0x44ce2f
487f7f:	6a 22                	push   $0x22
487f81:	5e                   	pop    %esi
487f82:	89 30                	mov    %esi,(%eax)
487f84:	e8 4d 4d fc ff       	call   0x44ccd6
487f89:	8b c6                	mov    %esi,%eax
487f8b:	eb 20                	jmp    0x487fad
487f8d:	33 c0                	xor    %eax,%eax
487f8f:	66 89 06             	mov    %ax,(%esi)
487f92:	83 ee 02             	sub    $0x2,%esi
487f95:	66 8b 07             	mov    (%edi),%ax
487f98:	0f b7 0e             	movzwl (%esi),%ecx
487f9b:	66 89 06             	mov    %ax,(%esi)
487f9e:	83 ee 02             	sub    $0x2,%esi
487fa1:	66 89 0f             	mov    %cx,(%edi)
487fa4:	83 c7 02             	add    $0x2,%edi
487fa7:	3b fe                	cmp    %esi,%edi
487fa9:	72 ea                	jb     0x487f95
487fab:	33 c0                	xor    %eax,%eax
487fad:	5f                   	pop    %edi
487fae:	5e                   	pop    %esi
487faf:	5b                   	pop    %ebx
487fb0:	8b e5                	mov    %ebp,%esp
487fb2:	5d                   	pop    %ebp
487fb3:	c3                   	ret
487fb4:	8b ff                	mov    %edi,%edi
487fb6:	55                   	push   %ebp
487fb7:	8b ec                	mov    %esp,%ebp
487fb9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
487fbc:	56                   	push   %esi
487fbd:	85 c9                	test   %ecx,%ecx
487fbf:	75 13                	jne    0x487fd4
487fc1:	e8 69 4e fc ff       	call   0x44ce2f
487fc6:	6a 16                	push   $0x16
487fc8:	5e                   	pop    %esi
487fc9:	89 30                	mov    %esi,(%eax)
487fcb:	e8 06 4d fc ff       	call   0x44ccd6
487fd0:	8b c6                	mov    %esi,%eax
487fd2:	eb 3c                	jmp    0x488010
487fd4:	8b 55 10             	mov    0x10(%ebp),%edx
487fd7:	85 d2                	test   %edx,%edx
487fd9:	74 e6                	je     0x487fc1
487fdb:	33 c0                	xor    %eax,%eax
487fdd:	c6 01 00             	movb   $0x0,(%ecx)
487fe0:	38 45 18             	cmp    %al,0x18(%ebp)
487fe3:	0f 95 c0             	setne  %al
487fe6:	40                   	inc    %eax
487fe7:	3b d0                	cmp    %eax,%edx
487fe9:	77 09                	ja     0x487ff4
487feb:	e8 3f 4e fc ff       	call   0x44ce2f
487ff0:	6a 22                	push   $0x22
487ff2:	eb d4                	jmp    0x487fc8
487ff4:	8b 75 14             	mov    0x14(%ebp),%esi
487ff7:	8d 46 fe             	lea    -0x2(%esi),%eax
487ffa:	83 f8 22             	cmp    $0x22,%eax
487ffd:	77 c2                	ja     0x487fc1
487fff:	ff 75 18             	push   0x18(%ebp)
488002:	56                   	push   %esi
488003:	52                   	push   %edx
488004:	51                   	push   %ecx
488005:	ff 75 08             	push   0x8(%ebp)
488008:	e8 46 fd ff ff       	call   0x487d53
48800d:	83 c4 14             	add    $0x14,%esp
488010:	5e                   	pop    %esi
488011:	5d                   	pop    %ebp
488012:	c3                   	ret
488013:	8b ff                	mov    %edi,%edi
488015:	55                   	push   %ebp
488016:	8b ec                	mov    %esp,%ebp
488018:	8b 4d 0c             	mov    0xc(%ebp),%ecx
48801b:	56                   	push   %esi
48801c:	85 c9                	test   %ecx,%ecx
48801e:	75 13                	jne    0x488033
488020:	e8 0a 4e fc ff       	call   0x44ce2f
488025:	6a 16                	push   $0x16
488027:	5e                   	pop    %esi
488028:	89 30                	mov    %esi,(%eax)
48802a:	e8 a7 4c fc ff       	call   0x44ccd6