5e7dd0:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
5e7dd4:	85 db                	test   %ebx,%ebx
5e7dd6:	75 60                	jne    0x5e7e38
5e7dd8:	33 c0                	xor    %eax,%eax
5e7dda:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5e7ddd:	57                   	push   %edi
5e7dde:	89 45 d8             	mov    %eax,-0x28(%ebp)
5e7de1:	89 45 dc             	mov    %eax,-0x24(%ebp)
5e7de4:	89 45 e0             	mov    %eax,-0x20(%ebp)
5e7de7:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5e7dea:	89 45 e8             	mov    %eax,-0x18(%ebp)
5e7ded:	88 45 ec             	mov    %al,-0x14(%ebp)
5e7df0:	e8 dc 00 00 00       	call   0x5e7ed1
5e7df5:	8d 45 f4             	lea    -0xc(%ebp),%eax
5e7df8:	89 45 f0             	mov    %eax,-0x10(%ebp)
5e7dfb:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5e7dfe:	8d 45 f0             	lea    -0x10(%ebp),%eax
5e7e01:	50                   	push   %eax
5e7e02:	e8 69 fe ff ff       	call   0x5e7c70
5e7e07:	85 c0                	test   %eax,%eax
5e7e09:	75 1c                	jne    0x5e7e27
5e7e0b:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5e7e0e:	e8 1c 01 00 00       	call   0x5e7f2f
5e7e13:	8b f0                	mov    %eax,%esi
5e7e15:	38 5d ec             	cmp    %bl,-0x14(%ebp)
5e7e18:	74 09                	je     0x5e7e23
5e7e1a:	ff 75 e0             	push   -0x20(%ebp)
5e7e1d:	e8 0b 81 ff ff       	call   0x5dff2d
5e7e22:	59                   	pop    %ecx
5e7e23:	8b c6                	mov    %esi,%eax
5e7e25:	eb 5a                	jmp    0x5e7e81
5e7e27:	80 7d ec 00          	cmpb   $0x0,-0x14(%ebp)
5e7e2b:	74 1f                	je     0x5e7e4c
5e7e2d:	ff 75 e0             	push   -0x20(%ebp)
5e7e30:	e8 f8 80 ff ff       	call   0x5dff2d
5e7e35:	59                   	pop    %ecx
5e7e36:	eb 14                	jmp    0x5e7e4c
5e7e38:	85 ff                	test   %edi,%edi
5e7e3a:	7f 14                	jg     0x5e7e50
5e7e3c:	e8 47 2e ff ff       	call   0x5dac88
5e7e41:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5e7e47:	e8 94 e3 fe ff       	call   0x5d61e0
5e7e4c:	33 c0                	xor    %eax,%eax
5e7e4e:	eb 31                	jmp    0x5e7e81
5e7e50:	33 c0                	xor    %eax,%eax
5e7e52:	89 5d d8             	mov    %ebx,-0x28(%ebp)
5e7e55:	66 89 03             	mov    %ax,(%ebx)
5e7e58:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5e7e5b:	89 45 e8             	mov    %eax,-0x18(%ebp)
5e7e5e:	88 45 ec             	mov    %al,-0x14(%ebp)
5e7e61:	8d 45 f4             	lea    -0xc(%ebp),%eax
5e7e64:	89 45 f0             	mov    %eax,-0x10(%ebp)
5e7e67:	8d 45 f0             	lea    -0x10(%ebp),%eax
5e7e6a:	50                   	push   %eax
5e7e6b:	89 7d dc             	mov    %edi,-0x24(%ebp)
5e7e6e:	89 5d e0             	mov    %ebx,-0x20(%ebp)
5e7e71:	89 7d e4             	mov    %edi,-0x1c(%ebp)
5e7e74:	e8 5d fe ff ff       	call   0x5e7cd6
5e7e79:	f7 d8                	neg    %eax
5e7e7b:	1b c0                	sbb    %eax,%eax
5e7e7d:	f7 d0                	not    %eax
5e7e7f:	23 c3                	and    %ebx,%eax
5e7e81:	5e                   	pop    %esi
5e7e82:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5e7e85:	5f                   	pop    %edi
5e7e86:	33 cd                	xor    %ebp,%ecx
5e7e88:	5b                   	pop    %ebx
5e7e89:	e8 98 9b fe ff       	call   0x5d1a26
5e7e8e:	c9                   	leave
5e7e8f:	c3                   	ret
5e7e90:	8b ff                	mov    %edi,%edi
5e7e92:	56                   	push   %esi
5e7e93:	8b f1                	mov    %ecx,%esi
5e7e95:	80 7e 14 00          	cmpb   $0x0,0x14(%esi)
5e7e99:	74 0d                	je     0x5e7ea8
5e7e9b:	ff 76 08             	push   0x8(%esi)
5e7e9e:	e8 8a 80 ff ff       	call   0x5dff2d
5e7ea3:	59                   	pop    %ecx
5e7ea4:	c6 46 14 00          	movb   $0x0,0x14(%esi)
5e7ea8:	5e                   	pop    %esi
5e7ea9:	c3                   	ret
5e7eaa:	8b ff                	mov    %edi,%edi
5e7eac:	56                   	push   %esi
5e7ead:	8b f1                	mov    %ecx,%esi
5e7eaf:	80 7e 14 00          	cmpb   $0x0,0x14(%esi)
5e7eb3:	74 04                	je     0x5e7eb9
5e7eb5:	c6 46 14 00          	movb   $0x0,0x14(%esi)
5e7eb9:	e8 ca 2d ff ff       	call   0x5dac88
5e7ebe:	6a 22                	push   $0x22
5e7ec0:	59                   	pop    %ecx
5e7ec1:	89 08                	mov    %ecx,(%eax)
5e7ec3:	8b c1                	mov    %ecx,%eax
5e7ec5:	83 66 0c 00          	andl   $0x0,0xc(%esi)
5e7ec9:	c6 46 14 00          	movb   $0x0,0x14(%esi)
5e7ecd:	5e                   	pop    %esi
5e7ece:	c2 04 00             	ret    $0x4
5e7ed1:	8b ff                	mov    %edi,%edi
5e7ed3:	55                   	push   %ebp
5e7ed4:	8b ec                	mov    %esp,%ebp
5e7ed6:	56                   	push   %esi
5e7ed7:	57                   	push   %edi
5e7ed8:	8b f1                	mov    %ecx,%esi
5e7eda:	e8 b1 ff ff ff       	call   0x5e7e90
5e7edf:	8b 7d 08             	mov    0x8(%ebp),%edi
5e7ee2:	56                   	push   %esi
5e7ee3:	8d 04 3f             	lea    (%edi,%edi,1),%eax
5e7ee6:	50                   	push   %eax
5e7ee7:	8d 46 08             	lea    0x8(%esi),%eax
5e7eea:	50                   	push   %eax
5e7eeb:	e8 20 00 00 00       	call   0x5e7f10
5e7ef0:	83 c4 0c             	add    $0xc,%esp
5e7ef3:	85 c0                	test   %eax,%eax
5e7ef5:	74 0a                	je     0x5e7f01
5e7ef7:	83 66 0c 00          	andl   $0x0,0xc(%esi)
5e7efb:	c6 46 14 00          	movb   $0x0,0x14(%esi)
5e7eff:	eb 09                	jmp    0x5e7f0a
5e7f01:	c6 46 14 01          	movb   $0x1,0x14(%esi)
5e7f05:	33 c0                	xor    %eax,%eax
5e7f07:	89 7e 0c             	mov    %edi,0xc(%esi)
5e7f0a:	5f                   	pop    %edi
5e7f0b:	5e                   	pop    %esi
5e7f0c:	5d                   	pop    %ebp
5e7f0d:	c2 04 00             	ret    $0x4
5e7f10:	8b ff                	mov    %edi,%edi
5e7f12:	55                   	push   %ebp
5e7f13:	8b ec                	mov    %esp,%ebp
5e7f15:	ff 75 0c             	push   0xc(%ebp)
5e7f18:	e8 d2 c9 ff ff       	call   0x5e48ef
5e7f1d:	59                   	pop    %ecx
5e7f1e:	8b 4d 08             	mov    0x8(%ebp),%ecx
5e7f21:	89 01                	mov    %eax,(%ecx)
5e7f23:	f7 d8                	neg    %eax
5e7f25:	1b c0                	sbb    %eax,%eax
5e7f27:	83 e0 f4             	and    $0xfffffff4,%eax
5e7f2a:	83 c0 0c             	add    $0xc,%eax
5e7f2d:	5d                   	pop    %ebp
5e7f2e:	c3                   	ret
5e7f2f:	8b ff                	mov    %edi,%edi
5e7f31:	56                   	push   %esi
5e7f32:	8b f1                	mov    %ecx,%esi
5e7f34:	57                   	push   %edi
5e7f35:	8b 7e 08             	mov    0x8(%esi),%edi
5e7f38:	85 ff                	test   %edi,%edi
5e7f3a:	74 3c                	je     0x5e7f78
5e7f3c:	8b 46 10             	mov    0x10(%esi),%eax
5e7f3f:	85 c0                	test   %eax,%eax
5e7f41:	74 35                	je     0x5e7f78
5e7f43:	80 7e 14 00          	cmpb   $0x0,0x14(%esi)
5e7f47:	75 1c                	jne    0x5e7f65
5e7f49:	03 c0                	add    %eax,%eax
5e7f4b:	50                   	push   %eax
5e7f4c:	e8 9e c9 ff ff       	call   0x5e48ef
5e7f51:	ff 76 0c             	push   0xc(%esi)
5e7f54:	8b f8                	mov    %eax,%edi
5e7f56:	ff 76 08             	push   0x8(%esi)
5e7f59:	ff 76 10             	push   0x10(%esi)
5e7f5c:	57                   	push   %edi
5e7f5d:	e8 27 7a ff ff       	call   0x5df989
5e7f62:	83 c4 14             	add    $0x14,%esp
5e7f65:	8b 06                	mov    (%esi),%eax
5e7f67:	83 66 10 00          	andl   $0x0,0x10(%esi)
5e7f6b:	89 46 08             	mov    %eax,0x8(%esi)
5e7f6e:	8b 46 04             	mov    0x4(%esi),%eax
5e7f71:	89 46 0c             	mov    %eax,0xc(%esi)
5e7f74:	8b c7                	mov    %edi,%eax
5e7f76:	eb 02                	jmp    0x5e7f7a
5e7f78:	33 c0                	xor    %eax,%eax
5e7f7a:	5f                   	pop    %edi
5e7f7b:	5e                   	pop    %esi
5e7f7c:	c3                   	ret
5e7f7d:	8b ff                	mov    %edi,%edi
5e7f7f:	55                   	push   %ebp
5e7f80:	8b ec                	mov    %esp,%ebp
5e7f82:	83 ec 0c             	sub    $0xc,%esp
5e7f85:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5e7f8a:	33 c5                	xor    %ebp,%eax
5e7f8c:	89 45 fc             	mov    %eax,-0x4(%ebp)
5e7f8f:	8b 45 08             	mov    0x8(%ebp),%eax
5e7f92:	83 f8 1a             	cmp    $0x1a,%eax
5e7f95:	76 29                	jbe    0x5e7fc0
5e7f97:	e8 d9 2c ff ff       	call   0x5dac75
5e7f9c:	c7 00 0f 00 00 00    	movl   $0xf,(%eax)
5e7fa2:	e8 e1 2c ff ff       	call   0x5dac88
5e7fa7:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
5e7fad:	e8 2e e2 fe ff       	call   0x5d61e0
5e7fb2:	33 c0                	xor    %eax,%eax
5e7fb4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5e7fb7:	33 cd                	xor    %ebp,%ecx
5e7fb9:	e8 68 9a fe ff       	call   0x5d1a26
5e7fbe:	c9                   	leave
5e7fbf:	c3                   	ret
5e7fc0:	85 c0                	test   %eax,%eax
5e7fc2:	75 03                	jne    0x5e7fc7
5e7fc4:	40                   	inc    %eax
5e7fc5:	eb ed                	jmp    0x5e7fb4
5e7fc7:	83 c0 40             	add    $0x40,%eax
5e7fca:	6a 3a                	push   $0x3a
5e7fcc:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
5e7fd0:	58                   	pop    %eax
5e7fd1:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
5e7fd5:	6a 5c                	push   $0x5c
5e7fd7:	58                   	pop    %eax
5e7fd8:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
5e7fdc:	33 c0                	xor    %eax,%eax
5e7fde:	66 89 45 fa          	mov    %ax,-0x6(%ebp)
5e7fe2:	8d 45 f4             	lea    -0xc(%ebp),%eax
5e7fe5:	50                   	push   %eax
5e7fe6:	ff 15 88 22 60 00    	call   *0x602288
5e7fec:	8b c8                	mov    %eax,%ecx
5e7fee:	85 c9                	test   %ecx,%ecx
5e7ff0:	74 c0                	je     0x5e7fb2
5e7ff2:	33 c0                	xor    %eax,%eax
5e7ff4:	83 f9 01             	cmp    $0x1,%ecx
5e7ff7:	0f 95 c0             	setne  %al
5e7ffa:	eb b8                	jmp    0x5e7fb4
5e7ffc:	33 c0                	xor    %eax,%eax
5e7ffe:	38 41 14             	cmp    %al,0x14(%ecx)
5e8001:	74 03                	je     0x5e8006
5e8003:	88 41 14             	mov    %al,0x14(%ecx)
5e8006:	89 41 08             	mov    %eax,0x8(%ecx)
5e8009:	89 41 0c             	mov    %eax,0xc(%ecx)
5e800c:	89 41 10             	mov    %eax,0x10(%ecx)
5e800f:	c3                   	ret
5e8010:	8b ff                	mov    %edi,%edi
5e8012:	55                   	push   %ebp
5e8013:	8b ec                	mov    %esp,%ebp
5e8015:	33 c0                	xor    %eax,%eax
5e8017:	50                   	push   %eax
5e8018:	50                   	push   %eax
5e8019:	6a 01                	push   $0x1
5e801b:	ff 75 0c             	push   0xc(%ebp)
5e801e:	ff 75 08             	push   0x8(%ebp)
5e8021:	50                   	push   %eax
5e8022:	e8 15 fd ff ff       	call   0x5e7d3c
5e8027:	83 c4 18             	add    $0x18,%esp
5e802a:	5d                   	pop    %ebp
5e802b:	c3                   	ret
5e802c:	8b ff                	mov    %edi,%edi
5e802e:	55                   	push   %ebp
5e802f:	8b ec                	mov    %esp,%ebp
5e8031:	83 ec 0c             	sub    $0xc,%esp
5e8034:	8b 45 0c             	mov    0xc(%ebp),%eax
5e8037:	33 c9                	xor    %ecx,%ecx
5e8039:	53                   	push   %ebx
5e803a:	8b 5d 08             	mov    0x8(%ebp),%ebx
5e803d:	56                   	push   %esi
5e803e:	8b f0                	mov    %eax,%esi
5e8040:	89 45 f8             	mov    %eax,-0x8(%ebp)
5e8043:	57                   	push   %edi
5e8044:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5e8047:	38 4d 18             	cmp    %cl,0x18(%ebp)
5e804a:	74 0f                	je     0x5e805b
5e804c:	41                   	inc    %ecx
5e804d:	c6 00 2d             	movb   $0x2d,(%eax)
5e8050:	8d 70 01             	lea    0x1(%eax),%esi
5e8053:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5e8056:	89 75 f8             	mov    %esi,-0x8(%ebp)
5e8059:	f7 db                	neg    %ebx
5e805b:	89 75 f4             	mov    %esi,-0xc(%ebp)
5e805e:	8b 75 f8             	mov    -0x8(%ebp),%esi
5e8061:	33 d2                	xor    %edx,%edx
5e8063:	8b c3                	mov    %ebx,%eax
5e8065:	f7 75 14             	divl   0x14(%ebp)
5e8068:	8b c3                	mov    %ebx,%eax
5e806a:	8b fe                	mov    %esi,%edi
5e806c:	8b ca                	mov    %edx,%ecx
5e806e:	33 d2                	xor    %edx,%edx
5e8070:	f7 75 14             	divl   0x14(%ebp)
5e8073:	6a 09                	push   $0x9
5e8075:	8b d8                	mov    %eax,%ebx
5e8077:	8d 56 01             	lea    0x1(%esi),%edx
5e807a:	58                   	pop    %eax
5e807b:	3b c1                	cmp    %ecx,%eax
5e807d:	1a c0                	sbb    %al,%al
5e807f:	24 27                	and    $0x27,%al
5e8081:	04 30                	add    $0x30,%al
5e8083:	02 c1                	add    %cl,%al
5e8085:	8b 4d 10             	mov    0x10(%ebp),%ecx
5e8088:	88 06                	mov    %al,(%esi)
5e808a:	8b 45 fc             	mov    -0x4(%ebp),%eax
5e808d:	40                   	inc    %eax
5e808e:	89 45 fc             	mov    %eax,-0x4(%ebp)
5e8091:	85 db                	test   %ebx,%ebx
5e8093:	74 06                	je     0x5e809b
5e8095:	8b f2                	mov    %edx,%esi
5e8097:	3b c1                	cmp    %ecx,%eax
5e8099:	72 c6                	jb     0x5e8061
5e809b:	8b 75 f4             	mov    -0xc(%ebp),%esi
5e809e:	3b c1                	cmp    %ecx,%eax
5e80a0:	72 19                	jb     0x5e80bb
5e80a2:	8b 45 0c             	mov    0xc(%ebp),%eax
5e80a5:	c6 00 00             	movb   $0x0,(%eax)
5e80a8:	e8 db 2b ff ff       	call   0x5dac88
5e80ad:	6a 22                	push   $0x22
5e80af:	5e                   	pop    %esi
5e80b0:	89 30                	mov    %esi,(%eax)
5e80b2:	e8 29 e1 fe ff       	call   0x5d61e0
5e80b7:	8b c6                	mov    %esi,%eax
5e80b9:	eb 13                	jmp    0x5e80ce
5e80bb:	c6 02 00             	movb   $0x0,(%edx)
5e80be:	8a 06                	mov    (%esi),%al
5e80c0:	8a 0f                	mov    (%edi),%cl
5e80c2:	88 07                	mov    %al,(%edi)
5e80c4:	4f                   	dec    %edi
5e80c5:	88 0e                	mov    %cl,(%esi)
5e80c7:	46                   	inc    %esi
5e80c8:	3b f7                	cmp    %edi,%esi
5e80ca:	72 f2                	jb     0x5e80be
5e80cc:	33 c0                	xor    %eax,%eax
5e80ce:	5f                   	pop    %edi
5e80cf:	5e                   	pop    %esi
5e80d0:	5b                   	pop    %ebx
5e80d1:	c9                   	leave
5e80d2:	c3                   	ret
5e80d3:	8b ff                	mov    %edi,%edi
5e80d5:	55                   	push   %ebp
5e80d6:	8b ec                	mov    %esp,%ebp
5e80d8:	83 ec 18             	sub    $0x18,%esp
5e80db:	8b 4d 10             	mov    0x10(%ebp),%ecx
5e80de:	8b d1                	mov    %ecx,%edx
5e80e0:	8b 45 08             	mov    0x8(%ebp),%eax
5e80e3:	56                   	push   %esi
5e80e4:	33 f6                	xor    %esi,%esi
5e80e6:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5e80e9:	80 7d 1c 00          	cmpb   $0x0,0x1c(%ebp)
5e80ed:	57                   	push   %edi
5e80ee:	8b 7d 0c             	mov    0xc(%ebp),%edi
5e80f1:	89 75 fc             	mov    %esi,-0x4(%ebp)
5e80f4:	89 45 f4             	mov    %eax,-0xc(%ebp)
5e80f7:	74 17                	je     0x5e8110
5e80f9:	46                   	inc    %esi
5e80fa:	c6 01 2d             	movb   $0x2d,(%ecx)
5e80fd:	f7 d8                	neg    %eax
5e80ff:	89 75 fc             	mov    %esi,-0x4(%ebp)
5e8102:	8d 51 01             	lea    0x1(%ecx),%edx
5e8105:	89 45 f4             	mov    %eax,-0xc(%ebp)
5e8108:	83 d7 00             	adc    $0x0,%edi
5e810b:	89 55 f8             	mov    %edx,-0x8(%ebp)
5e810e:	f7 df                	neg    %edi
5e8110:	8b 75 f4             	mov    -0xc(%ebp),%esi
5e8113:	53                   	push   %ebx
5e8114:	8b 5d 18             	mov    0x18(%ebp),%ebx
5e8117:	89 55 ec             	mov    %edx,-0x14(%ebp)
5e811a:	89 5d f0             	mov    %ebx,-0x10(%ebp)
5e811d:	6a 00                	push   $0x0
5e811f:	53                   	push   %ebx
5e8120:	57                   	push   %edi
5e8121:	56                   	push   %esi
5e8122:	89 55 e8             	mov    %edx,-0x18(%ebp)
5e8125:	e8 86 90 fe ff       	call   0x5d11b0