583a49:	8a d8                	mov    %al,%bl
583a4b:	83 fa 10             	cmp    $0x10,%edx
583a4e:	72 28                	jb     0x583a78
583a50:	8b 4d d8             	mov    -0x28(%ebp),%ecx
583a53:	42                   	inc    %edx
583a54:	8b c1                	mov    %ecx,%eax
583a56:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
583a5c:	72 10                	jb     0x583a6e
583a5e:	8b 49 fc             	mov    -0x4(%ecx),%ecx
583a61:	83 c2 23             	add    $0x23,%edx
583a64:	2b c1                	sub    %ecx,%eax
583a66:	83 c0 fc             	add    $0xfffffffc,%eax
583a69:	83 f8 1f             	cmp    $0x1f,%eax
583a6c:	77 71                	ja     0x583adf
583a6e:	52                   	push   %edx
583a6f:	51                   	push   %ecx
583a70:	e8 fd d5 05 00       	call   0x5e1072
583a75:	83 c4 08             	add    $0x8,%esp
583a78:	8a c3                	mov    %bl,%al
583a7a:	e9 6d ff ff ff       	jmp    0x5839ec
583a7f:	6a 1f                	push   $0x1f
583a81:	68 dc 35 6c 00       	push   $0x6c35dc
583a86:	8d 4d d8             	lea    -0x28(%ebp),%ecx
583a89:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
583a90:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
583a97:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
583a9b:	e8 a0 17 ec ff       	call   0x445240
583aa0:	8b 4d cc             	mov    -0x34(%ebp),%ecx
583aa3:	8d 45 d8             	lea    -0x28(%ebp),%eax
583aa6:	56                   	push   %esi
583aa7:	ff 75 d0             	push   -0x30(%ebp)
583aaa:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
583ab1:	50                   	push   %eax
583ab2:	e8 d9 f4 ff ff       	call   0x582f90
583ab7:	8b 55 ec             	mov    -0x14(%ebp),%edx
583aba:	8a d8                	mov    %al,%bl
583abc:	83 fa 10             	cmp    $0x10,%edx
583abf:	72 b7                	jb     0x583a78
583ac1:	8b 4d d8             	mov    -0x28(%ebp),%ecx
583ac4:	42                   	inc    %edx
583ac5:	8b c1                	mov    %ecx,%eax
583ac7:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
583acd:	72 9f                	jb     0x583a6e
583acf:	8b 49 fc             	mov    -0x4(%ecx),%ecx
583ad2:	83 c2 23             	add    $0x23,%edx
583ad5:	2b c1                	sub    %ecx,%eax
583ad7:	83 c0 fc             	add    $0xfffffffc,%eax
583ada:	83 f8 1f             	cmp    $0x1f,%eax
583add:	76 8f                	jbe    0x583a6e
583adf:	e8 4b 94 06 00       	call   0x5ecf2f
583ae4:	19 39                	sbb    %edi,(%ecx)
583ae6:	58                   	pop    %eax
583ae7:	00 20                	add    %ah,(%eax)
583ae9:	39 58 00             	cmp    %ebx,0x0(%eax)
583aec:	27                   	daa
583aed:	39 58 00             	cmp    %ebx,0x0(%eax)
583af0:	2e 39 58 00          	cmp    %ebx,%cs:0x0(%eax)
583af4:	35 39 58 00 3c       	xor    $0x3c005839,%eax
583af9:	39 58 00             	cmp    %ebx,0x0(%eax)
583afc:	43                   	inc    %ebx
583afd:	39 58 00             	cmp    %ebx,0x0(%eax)
583b00:	4a                   	dec    %edx
583b01:	39 58 00             	cmp    %ebx,0x0(%eax)
583b04:	51                   	push   %ecx
583b05:	39 58 00             	cmp    %ebx,0x0(%eax)
583b08:	0e                   	push   %cs
583b09:	3a 58 00             	cmp    0x0(%eax),%bl
583b0c:	00 09                	add    %cl,(%ecx)
583b0e:	09 09                	or     %ecx,(%ecx)
583b10:	09 09                	or     %ecx,(%ecx)
583b12:	09 09                	or     %ecx,(%ecx)
583b14:	09 09                	or     %ecx,(%ecx)
583b16:	09 09                	or     %ecx,(%ecx)
583b18:	09 01                	or     %eax,(%ecx)
583b1a:	09 09                	or     %ecx,(%ecx)
583b1c:	09 09                	or     %ecx,(%ecx)
583b1e:	09 09                	or     %ecx,(%ecx)
583b20:	09 09                	or     %ecx,(%ecx)
583b22:	09 09                	or     %ecx,(%ecx)
583b24:	09 09                	or     %ecx,(%ecx)
583b26:	09 09                	or     %ecx,(%ecx)
583b28:	09 09                	or     %ecx,(%ecx)
583b2a:	09 09                	or     %ecx,(%ecx)
583b2c:	09 09                	or     %ecx,(%ecx)
583b2e:	09 09                	or     %ecx,(%ecx)
583b30:	09 09                	or     %ecx,(%ecx)
583b32:	09 09                	or     %ecx,(%ecx)
583b34:	09 09                	or     %ecx,(%ecx)
583b36:	09 09                	or     %ecx,(%ecx)
583b38:	09 09                	or     %ecx,(%ecx)
583b3a:	09 09                	or     %ecx,(%ecx)
583b3c:	09 09                	or     %ecx,(%ecx)
583b3e:	09 09                	or     %ecx,(%ecx)
583b40:	09 09                	or     %ecx,(%ecx)
583b42:	09 09                	or     %ecx,(%ecx)
583b44:	09 09                	or     %ecx,(%ecx)
583b46:	02 09                	add    (%ecx),%cl
583b48:	09 09                	or     %ecx,(%ecx)
583b4a:	09 09                	or     %ecx,(%ecx)
583b4c:	03 09                	add    (%ecx),%ecx
583b4e:	09 09                	or     %ecx,(%ecx)
583b50:	04 09                	add    $0x9,%al
583b52:	09 09                	or     %ecx,(%ecx)
583b54:	09 09                	or     %ecx,(%ecx)
583b56:	09 09                	or     %ecx,(%ecx)
583b58:	05 09 09 09 06       	add    $0x6090909,%eax
583b5d:	09 07                	or     %eax,(%edi)
583b5f:	08 55 8b             	or     %dl,-0x75(%ebp)
583b62:	ec                   	in     (%dx),%al
583b63:	6a ff                	push   $0xffffffff
583b65:	68 90 d1 65 00       	push   $0x65d190
583b6a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
583b70:	50                   	push   %eax
583b71:	83 ec 24             	sub    $0x24,%esp
583b74:	a1 d4 89 72 00       	mov    0x7289d4,%eax
583b79:	33 c5                	xor    %ebp,%eax
583b7b:	89 45 f0             	mov    %eax,-0x10(%ebp)
583b7e:	53                   	push   %ebx
583b7f:	56                   	push   %esi
583b80:	57                   	push   %edi
583b81:	50                   	push   %eax
583b82:	8d 45 f4             	lea    -0xc(%ebp),%eax
583b85:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
583b8b:	8b d9                	mov    %ecx,%ebx
583b8d:	8b 7d 14             	mov    0x14(%ebp),%edi
583b90:	8b 45 08             	mov    0x8(%ebp),%eax
583b93:	8b 75 0c             	mov    0xc(%ebp),%esi
583b96:	57                   	push   %edi
583b97:	ff 75 10             	push   0x10(%ebp)
583b9a:	89 45 d4             	mov    %eax,-0x2c(%ebp)
583b9d:	56                   	push   %esi
583b9e:	50                   	push   %eax
583b9f:	e8 8c 01 00 00       	call   0x583d30
583ba4:	84 c0                	test   %al,%al
583ba6:	0f 84 4f 01 00 00    	je     0x583cfb
583bac:	8b 07                	mov    (%edi),%eax
583bae:	2d 00 d8 00 00       	sub    $0xd800,%eax
583bb3:	3d ff 03 00 00       	cmp    $0x3ff,%eax
583bb8:	0f 87 cc 00 00 00    	ja     0x583c8a
583bbe:	8b 45 10             	mov    0x10(%ebp),%eax
583bc1:	8b 0e                	mov    (%esi),%ecx
583bc3:	2b c1                	sub    %ecx,%eax
583bc5:	83 f8 06             	cmp    $0x6,%eax
583bc8:	7d 75                	jge    0x583c3f
583bca:	6a 43                	push   $0x43
583bcc:	68 20 36 6c 00       	push   $0x6c3620
583bd1:	8d 4d d8             	lea    -0x28(%ebp),%ecx
583bd4:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
583bdb:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
583be2:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
583be6:	e8 55 16 ec ff       	call   0x445240
583beb:	ff 36                	push   (%esi)
583bed:	8d 45 d8             	lea    -0x28(%ebp),%eax
583bf0:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
583bf7:	ff 75 d4             	push   -0x2c(%ebp)
583bfa:	8b cb                	mov    %ebx,%ecx
583bfc:	50                   	push   %eax
583bfd:	e8 8e f3 ff ff       	call   0x582f90
583c02:	8b 55 ec             	mov    -0x14(%ebp),%edx
583c05:	8a d8                	mov    %al,%bl
583c07:	83 fa 10             	cmp    $0x10,%edx
583c0a:	72 2c                	jb     0x583c38
583c0c:	8b 4d d8             	mov    -0x28(%ebp),%ecx
583c0f:	42                   	inc    %edx
583c10:	8b c1                	mov    %ecx,%eax
583c12:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
583c18:	72 14                	jb     0x583c2e
583c1a:	8b 49 fc             	mov    -0x4(%ecx),%ecx
583c1d:	83 c2 23             	add    $0x23,%edx
583c20:	2b c1                	sub    %ecx,%eax
583c22:	83 c0 fc             	add    $0xfffffffc,%eax
583c25:	83 f8 1f             	cmp    $0x1f,%eax
583c28:	0f 87 ed 00 00 00    	ja     0x583d1b
583c2e:	52                   	push   %edx
583c2f:	51                   	push   %ecx
583c30:	e8 3d d4 05 00       	call   0x5e1072
583c35:	83 c4 08             	add    $0x8,%esp
583c38:	8a c3                	mov    %bl,%al
583c3a:	e9 be 00 00 00       	jmp    0x583cfd
583c3f:	8a 01                	mov    (%ecx),%al
583c41:	8d 51 01             	lea    0x1(%ecx),%edx
583c44:	89 16                	mov    %edx,(%esi)
583c46:	3c 5c                	cmp    $0x5c,%al
583c48:	75 44                	jne    0x583c8e
583c4a:	8a 0a                	mov    (%edx),%cl
583c4c:	8d 42 01             	lea    0x1(%edx),%eax
583c4f:	89 06                	mov    %eax,(%esi)
583c51:	80 f9 75             	cmp    $0x75,%cl
583c54:	75 38                	jne    0x583c8e
583c56:	8d 45 d0             	lea    -0x30(%ebp),%eax
583c59:	8b cb                	mov    %ebx,%ecx
583c5b:	50                   	push   %eax
583c5c:	ff 75 10             	push   0x10(%ebp)
583c5f:	56                   	push   %esi
583c60:	ff 75 d4             	push   -0x2c(%ebp)
583c63:	e8 c8 00 00 00       	call   0x583d30
583c68:	84 c0                	test   %al,%al
583c6a:	0f 84 8b 00 00 00    	je     0x583cfb
583c70:	8b 0f                	mov    (%edi),%ecx
583c72:	8b 45 d0             	mov    -0x30(%ebp),%eax
583c75:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
583c7b:	83 c1 40             	add    $0x40,%ecx
583c7e:	25 ff 03 00 00       	and    $0x3ff,%eax
583c83:	c1 e1 0a             	shl    $0xa,%ecx
583c86:	03 c8                	add    %eax,%ecx
583c88:	89 0f                	mov    %ecx,(%edi)
583c8a:	b0 01                	mov    $0x1,%al
583c8c:	eb 6f                	jmp    0x583cfd
583c8e:	6a 4f                	push   $0x4f
583c90:	68 68 36 6c 00       	push   $0x6c3668
583c95:	8d 4d d8             	lea    -0x28(%ebp),%ecx
583c98:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
583c9f:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
583ca6:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
583caa:	e8 91 15 ec ff       	call   0x445240
583caf:	ff 36                	push   (%esi)
583cb1:	8d 45 d8             	lea    -0x28(%ebp),%eax
583cb4:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
583cbb:	ff 75 d4             	push   -0x2c(%ebp)
583cbe:	8b cb                	mov    %ebx,%ecx
583cc0:	50                   	push   %eax
583cc1:	e8 ca f2 ff ff       	call   0x582f90
583cc6:	8b 55 ec             	mov    -0x14(%ebp),%edx
583cc9:	8a d8                	mov    %al,%bl
583ccb:	83 fa 10             	cmp    $0x10,%edx
583cce:	0f 82 64 ff ff ff    	jb     0x583c38
583cd4:	8b 4d d8             	mov    -0x28(%ebp),%ecx
583cd7:	42                   	inc    %edx
583cd8:	8b c1                	mov    %ecx,%eax
583cda:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
583ce0:	0f 82 48 ff ff ff    	jb     0x583c2e
583ce6:	8b 49 fc             	mov    -0x4(%ecx),%ecx
583ce9:	83 c2 23             	add    $0x23,%edx
583cec:	2b c1                	sub    %ecx,%eax
583cee:	83 c0 fc             	add    $0xfffffffc,%eax
583cf1:	83 f8 1f             	cmp    $0x1f,%eax
583cf4:	77 25                	ja     0x583d1b
583cf6:	e9 33 ff ff ff       	jmp    0x583c2e
583cfb:	32 c0                	xor    %al,%al
583cfd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
583d00:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
583d07:	59                   	pop    %ecx
583d08:	5f                   	pop    %edi
583d09:	5e                   	pop    %esi
583d0a:	5b                   	pop    %ebx
583d0b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
583d0e:	33 cd                	xor    %ebp,%ecx
583d10:	e8 c5 d7 05 00       	call   0x5e14da
583d15:	8b e5                	mov    %ebp,%esp
583d17:	5d                   	pop    %ebp
583d18:	c2 10 00             	ret    $0x10
583d1b:	e8 0f 92 06 00       	call   0x5ecf2f
583d20:	cc                   	int3
583d21:	cc                   	int3
583d22:	cc                   	int3
583d23:	cc                   	int3
583d24:	cc                   	int3
583d25:	cc                   	int3
583d26:	cc                   	int3
583d27:	cc                   	int3
583d28:	cc                   	int3
583d29:	cc                   	int3
583d2a:	cc                   	int3
583d2b:	cc                   	int3
583d2c:	cc                   	int3
583d2d:	cc                   	int3
583d2e:	cc                   	int3
583d2f:	cc                   	int3
583d30:	55                   	push   %ebp
583d31:	8b ec                	mov    %esp,%ebp
583d33:	6a ff                	push   $0xffffffff
583d35:	68 90 d1 65 00       	push   $0x65d190
583d3a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
583d40:	50                   	push   %eax
583d41:	83 ec 24             	sub    $0x24,%esp
583d44:	a1 d4 89 72 00       	mov    0x7289d4,%eax
583d49:	33 c5                	xor    %ebp,%eax
583d4b:	89 45 f0             	mov    %eax,-0x10(%ebp)
583d4e:	53                   	push   %ebx
583d4f:	56                   	push   %esi
583d50:	57                   	push   %edi
583d51:	50                   	push   %eax
583d52:	8d 45 f4             	lea    -0xc(%ebp),%eax
583d55:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
583d5b:	8b f1                	mov    %ecx,%esi
583d5d:	89 75 d0             	mov    %esi,-0x30(%ebp)
583d60:	8b 45 08             	mov    0x8(%ebp),%eax
583d63:	8b 7d 0c             	mov    0xc(%ebp),%edi
583d66:	8b 5d 14             	mov    0x14(%ebp),%ebx
583d69:	89 45 d4             	mov    %eax,-0x2c(%ebp)
583d6c:	8b 45 10             	mov    0x10(%ebp),%eax
583d6f:	2b 07                	sub    (%edi),%eax
583d71:	83 f8 04             	cmp    $0x4,%eax
583d74:	0f 8d 8e 00 00 00    	jge    0x583e08
583d7a:	6a 3c                	push   $0x3c
583d7c:	68 b8 36 6c 00       	push   $0x6c36b8
583d81:	8d 4d d8             	lea    -0x28(%ebp),%ecx
583d84:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
583d8b:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
583d92:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
583d96:	e8 a5 14 ec ff       	call   0x445240
583d9b:	ff 37                	push   (%edi)
583d9d:	8d 45 d8             	lea    -0x28(%ebp),%eax
583da0:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
583da7:	ff 75 d4             	push   -0x2c(%ebp)
583daa:	8b ce                	mov    %esi,%ecx
583dac:	50                   	push   %eax
583dad:	e8 de f1 ff ff       	call   0x582f90
583db2:	8b 55 ec             	mov    -0x14(%ebp),%edx
583db5:	8a d8                	mov    %al,%bl
583db7:	83 fa 10             	cmp    $0x10,%edx
583dba:	72 2c                	jb     0x583de8
583dbc:	8b 4d d8             	mov    -0x28(%ebp),%ecx
583dbf:	42                   	inc    %edx
583dc0:	8b c1                	mov    %ecx,%eax
583dc2:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
583dc8:	72 14                	jb     0x583dde
583dca:	8b 49 fc             	mov    -0x4(%ecx),%ecx
583dcd:	83 c2 23             	add    $0x23,%edx
583dd0:	2b c1                	sub    %ecx,%eax
583dd2:	83 c0 fc             	add    $0xfffffffc,%eax
583dd5:	83 f8 1f             	cmp    $0x1f,%eax
583dd8:	0f 87 e5 00 00 00    	ja     0x583ec3
583dde:	52                   	push   %edx
583ddf:	51                   	push   %ecx
583de0:	e8 8d d2 05 00       	call   0x5e1072
583de5:	83 c4 08             	add    $0x8,%esp
583de8:	8a c3                	mov    %bl,%al
583dea:	8b 4d f4             	mov    -0xc(%ebp),%ecx
583ded:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
583df4:	59                   	pop    %ecx
583df5:	5f                   	pop    %edi
583df6:	5e                   	pop    %esi
583df7:	5b                   	pop    %ebx
583df8:	8b 4d f0             	mov    -0x10(%ebp),%ecx
583dfb:	33 cd                	xor    %ebp,%ecx
583dfd:	e8 d8 d6 05 00       	call   0x5e14da
583e02:	8b e5                	mov    %ebp,%esp
583e04:	5d                   	pop    %ebp
583e05:	c2 10 00             	ret    $0x10
583e08:	33 c9                	xor    %ecx,%ecx
583e0a:	33 f6                	xor    %esi,%esi
583e0c:	0f 1f 40 00          	nopl   0x0(%eax)
583e10:	8b 07                	mov    (%edi),%eax
583e12:	c1 e1 04             	shl    $0x4,%ecx
583e15:	8a 10                	mov    (%eax),%dl
583e17:	40                   	inc    %eax
583e18:	89 07                	mov    %eax,(%edi)
583e1a:	8a c2                	mov    %dl,%al
583e1c:	2c 30                	sub    $0x30,%al