583e1e:	3c 09                	cmp    $0x9,%al
583e20:	77 08                	ja     0x583e2a
583e22:	0f be c2             	movsbl %dl,%eax
583e25:	83 c0 d0             	add    $0xffffffd0,%eax
583e28:	eb 1e                	jmp    0x583e48
583e2a:	8a c2                	mov    %dl,%al
583e2c:	2c 61                	sub    $0x61,%al
583e2e:	3c 05                	cmp    $0x5,%al
583e30:	77 08                	ja     0x583e3a
583e32:	0f be c2             	movsbl %dl,%eax
583e35:	83 c0 a9             	add    $0xffffffa9,%eax
583e38:	eb 0e                	jmp    0x583e48
583e3a:	8a c2                	mov    %dl,%al
583e3c:	2c 41                	sub    $0x41,%al
583e3e:	3c 05                	cmp    $0x5,%al
583e40:	77 14                	ja     0x583e56
583e42:	0f be c2             	movsbl %dl,%eax
583e45:	83 c0 c9             	add    $0xffffffc9,%eax
583e48:	46                   	inc    %esi
583e49:	03 c8                	add    %eax,%ecx
583e4b:	83 fe 04             	cmp    $0x4,%esi
583e4e:	7c c0                	jl     0x583e10
583e50:	89 0b                	mov    %ecx,(%ebx)
583e52:	b0 01                	mov    $0x1,%al
583e54:	eb 94                	jmp    0x583dea
583e56:	6a 42                	push   $0x42
583e58:	68 f8 36 6c 00       	push   $0x6c36f8
583e5d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
583e60:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
583e67:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
583e6e:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
583e72:	e8 c9 13 ec ff       	call   0x445240
583e77:	ff 37                	push   (%edi)
583e79:	8b 4d d0             	mov    -0x30(%ebp),%ecx
583e7c:	8d 45 d8             	lea    -0x28(%ebp),%eax
583e7f:	ff 75 d4             	push   -0x2c(%ebp)
583e82:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
583e89:	50                   	push   %eax
583e8a:	e8 01 f1 ff ff       	call   0x582f90
583e8f:	8b 55 ec             	mov    -0x14(%ebp),%edx
583e92:	8a d8                	mov    %al,%bl
583e94:	83 fa 10             	cmp    $0x10,%edx
583e97:	0f 82 4b ff ff ff    	jb     0x583de8
583e9d:	8b 4d d8             	mov    -0x28(%ebp),%ecx
583ea0:	42                   	inc    %edx
583ea1:	8b c1                	mov    %ecx,%eax
583ea3:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
583ea9:	0f 82 2f ff ff ff    	jb     0x583dde
583eaf:	8b 49 fc             	mov    -0x4(%ecx),%ecx
583eb2:	83 c2 23             	add    $0x23,%edx
583eb5:	2b c1                	sub    %ecx,%eax
583eb7:	83 c0 fc             	add    $0xfffffffc,%eax
583eba:	83 f8 1f             	cmp    $0x1f,%eax
583ebd:	0f 86 1b ff ff ff    	jbe    0x583dde
583ec3:	e8 67 90 06 00       	call   0x5ecf2f
583ec8:	cc                   	int3
583ec9:	cc                   	int3
583eca:	cc                   	int3
583ecb:	cc                   	int3
583ecc:	cc                   	int3
583ecd:	cc                   	int3
583ece:	cc                   	int3
583ecf:	cc                   	int3
583ed0:	55                   	push   %ebp
583ed1:	8b ec                	mov    %esp,%ebp
583ed3:	53                   	push   %ebx
583ed4:	8b d9                	mov    %ecx,%ebx
583ed6:	56                   	push   %esi
583ed7:	8b 75 0c             	mov    0xc(%ebp),%esi
583eda:	57                   	push   %edi
583edb:	8b 43 44             	mov    0x44(%ebx),%eax
583ede:	8b 7b 48             	mov    0x48(%ebx),%edi
583ee1:	2b c7                	sub    %edi,%eax
583ee3:	3b c6                	cmp    %esi,%eax
583ee5:	7c 30                	jl     0x583f17
583ee7:	8b d6                	mov    %esi,%edx
583ee9:	85 f6                	test   %esi,%esi
583eeb:	74 1b                	je     0x583f08
583eed:	8b 45 08             	mov    0x8(%ebp),%eax
583ef0:	2b f8                	sub    %eax,%edi
583ef2:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
583ef5:	8a 44 0f ff          	mov    -0x1(%edi,%ecx,1),%al
583ef9:	8d 49 ff             	lea    -0x1(%ecx),%ecx
583efc:	4a                   	dec    %edx
583efd:	3a 01                	cmp    (%ecx),%al
583eff:	75 16                	jne    0x583f17
583f01:	85 d2                	test   %edx,%edx
583f03:	75 f0                	jne    0x583ef5
583f05:	8b 7b 48             	mov    0x48(%ebx),%edi
583f08:	8d 04 37             	lea    (%edi,%esi,1),%eax
583f0b:	5f                   	pop    %edi
583f0c:	89 43 48             	mov    %eax,0x48(%ebx)
583f0f:	b0 01                	mov    $0x1,%al
583f11:	5e                   	pop    %esi
583f12:	5b                   	pop    %ebx
583f13:	5d                   	pop    %ebp
583f14:	c2 08 00             	ret    $0x8
583f17:	5f                   	pop    %edi
583f18:	5e                   	pop    %esi
583f19:	32 c0                	xor    %al,%al
583f1b:	5b                   	pop    %ebx
583f1c:	5d                   	pop    %ebp
583f1d:	c2 08 00             	ret    $0x8
583f20:	55                   	push   %ebp
583f21:	8b ec                	mov    %esp,%ebp
583f23:	6a ff                	push   $0xffffffff
583f25:	68 d9 d1 65 00       	push   $0x65d1d9
583f2a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
583f30:	50                   	push   %eax
583f31:	83 ec 10             	sub    $0x10,%esp
583f34:	53                   	push   %ebx
583f35:	56                   	push   %esi
583f36:	57                   	push   %edi
583f37:	a1 d4 89 72 00       	mov    0x7289d4,%eax
583f3c:	33 c5                	xor    %ebp,%eax
583f3e:	50                   	push   %eax
583f3f:	8d 45 f4             	lea    -0xc(%ebp),%eax
583f42:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
583f48:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
583f4f:	8b 75 08             	mov    0x8(%ebp),%esi
583f52:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
583f59:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
583f60:	c6 06 00             	movb   $0x0,(%esi)
583f63:	8b 7d 10             	mov    0x10(%ebp),%edi
583f66:	8b ce                	mov    %esi,%ecx
583f68:	8b c7                	mov    %edi,%eax
583f6a:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
583f71:	2b 45 0c             	sub    0xc(%ebp),%eax
583f74:	50                   	push   %eax
583f75:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
583f7c:	e8 ef f9 ec ff       	call   0x453970
583f81:	8b 45 0c             	mov    0xc(%ebp),%eax
583f84:	3b c7                	cmp    %edi,%eax
583f86:	0f 84 7a 02 00 00    	je     0x584206
583f8c:	0f 1f 40 00          	nopl   0x0(%eax)
583f90:	8a 10                	mov    (%eax),%dl
583f92:	40                   	inc    %eax
583f93:	88 55 f3             	mov    %dl,-0xd(%ebp)
583f96:	89 45 0c             	mov    %eax,0xc(%ebp)
583f99:	80 fa 0d             	cmp    $0xd,%dl
583f9c:	0f 85 30 01 00 00    	jne    0x5840d2
583fa2:	3b c7                	cmp    %edi,%eax
583fa4:	74 09                	je     0x583faf
583fa6:	80 38 0a             	cmpb   $0xa,(%eax)
583fa9:	75 04                	jne    0x583faf
583fab:	40                   	inc    %eax
583fac:	89 45 0c             	mov    %eax,0xc(%ebp)
583faf:	8b 4e 10             	mov    0x10(%esi),%ecx
583fb2:	8b 7e 14             	mov    0x14(%esi),%edi
583fb5:	89 4d ec             	mov    %ecx,-0x14(%ebp)
583fb8:	89 7d e8             	mov    %edi,-0x18(%ebp)
583fbb:	3b cf                	cmp    %edi,%ecx
583fbd:	73 1a                	jae    0x583fd9
583fbf:	8d 41 01             	lea    0x1(%ecx),%eax
583fc2:	89 46 10             	mov    %eax,0x10(%esi)
583fc5:	8b c6                	mov    %esi,%eax
583fc7:	83 ff 10             	cmp    $0x10,%edi
583fca:	72 02                	jb     0x583fce
583fcc:	8b 06                	mov    (%esi),%eax
583fce:	66 c7 04 08 0a 00    	movw   $0xa,(%eax,%ecx,1)
583fd4:	e9 1f 02 00 00       	jmp    0x5841f8
583fd9:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
583fde:	2b c1                	sub    %ecx,%eax
583fe0:	83 f8 01             	cmp    $0x1,%eax
583fe3:	0f 82 31 02 00 00    	jb     0x58421a
583fe9:	8d 59 01             	lea    0x1(%ecx),%ebx
583fec:	83 cb 0f             	or     $0xf,%ebx
583fef:	81 fb ff ff ff 7f    	cmp    $0x7fffffff,%ebx
583ff5:	76 07                	jbe    0x583ffe
583ff7:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
583ffc:	eb 1e                	jmp    0x58401c
583ffe:	8b d7                	mov    %edi,%edx
584000:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
584005:	d1 ea                	shr    $1,%edx
584007:	2b c2                	sub    %edx,%eax
584009:	3b f8                	cmp    %eax,%edi
58400b:	76 07                	jbe    0x584014
58400d:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
584012:	eb 08                	jmp    0x58401c
584014:	8d 04 3a             	lea    (%edx,%edi,1),%eax
584017:	3b d8                	cmp    %eax,%ebx
584019:	0f 42 d8             	cmovb  %eax,%ebx
58401c:	8d 43 01             	lea    0x1(%ebx),%eax
58401f:	3d 00 10 00 00       	cmp    $0x1000,%eax
584024:	72 2a                	jb     0x584050
584026:	8d 48 23             	lea    0x23(%eax),%ecx
584029:	3b c8                	cmp    %eax,%ecx
58402b:	0f 86 ee 01 00 00    	jbe    0x58421f
584031:	51                   	push   %ecx
584032:	e8 0b d0 05 00       	call   0x5e1042
584037:	83 c4 04             	add    $0x4,%esp
58403a:	85 c0                	test   %eax,%eax
58403c:	0f 84 e2 01 00 00    	je     0x584224
584042:	8b 4d ec             	mov    -0x14(%ebp),%ecx
584045:	8d 78 23             	lea    0x23(%eax),%edi
584048:	83 e7 e0             	and    $0xffffffe0,%edi
58404b:	89 47 fc             	mov    %eax,-0x4(%edi)
58404e:	eb 16                	jmp    0x584066
584050:	85 c0                	test   %eax,%eax
584052:	74 10                	je     0x584064
584054:	50                   	push   %eax
584055:	e8 e8 cf 05 00       	call   0x5e1042
58405a:	8b 4d ec             	mov    -0x14(%ebp),%ecx
58405d:	83 c4 04             	add    $0x4,%esp
584060:	8b f8                	mov    %eax,%edi
584062:	eb 02                	jmp    0x584066
584064:	33 ff                	xor    %edi,%edi
584066:	83 7d e8 10          	cmpl   $0x10,-0x18(%ebp)
58406a:	8d 41 01             	lea    0x1(%ecx),%eax
58406d:	89 5e 14             	mov    %ebx,0x14(%esi)
584070:	8d 1c 0f             	lea    (%edi,%ecx,1),%ebx
584073:	89 46 10             	mov    %eax,0x10(%esi)
584076:	89 5d ec             	mov    %ebx,-0x14(%ebp)
584079:	51                   	push   %ecx
58407a:	72 45                	jb     0x5840c1
58407c:	8b 1e                	mov    (%esi),%ebx
58407e:	53                   	push   %ebx
58407f:	57                   	push   %edi
584080:	e8 7b ee 05 00       	call   0x5e2f00
584085:	8b 45 ec             	mov    -0x14(%ebp),%eax
584088:	83 c4 0c             	add    $0xc,%esp
58408b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
58408e:	41                   	inc    %ecx
58408f:	66 c7 00 0a 00       	movw   $0xa,(%eax)
584094:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
58409a:	72 16                	jb     0x5840b2
58409c:	8b 53 fc             	mov    -0x4(%ebx),%edx
58409f:	83 c1 23             	add    $0x23,%ecx
5840a2:	2b da                	sub    %edx,%ebx
5840a4:	8d 43 fc             	lea    -0x4(%ebx),%eax
5840a7:	83 f8 1f             	cmp    $0x1f,%eax
5840aa:	0f 87 74 01 00 00    	ja     0x584224
5840b0:	8b da                	mov    %edx,%ebx
5840b2:	51                   	push   %ecx
5840b3:	53                   	push   %ebx
5840b4:	e8 b9 cf 05 00       	call   0x5e1072
5840b9:	83 c4 08             	add    $0x8,%esp
5840bc:	e9 35 01 00 00       	jmp    0x5841f6
5840c1:	56                   	push   %esi
5840c2:	57                   	push   %edi
5840c3:	e8 38 ee 05 00       	call   0x5e2f00
5840c8:	66 c7 03 0a 00       	movw   $0xa,(%ebx)
5840cd:	e9 21 01 00 00       	jmp    0x5841f3
5840d2:	8b 4e 10             	mov    0x10(%esi),%ecx
5840d5:	8b 7e 14             	mov    0x14(%esi),%edi
5840d8:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5840db:	89 7d ec             	mov    %edi,-0x14(%ebp)
5840de:	3b cf                	cmp    %edi,%ecx
5840e0:	73 1c                	jae    0x5840fe
5840e2:	8d 41 01             	lea    0x1(%ecx),%eax
5840e5:	89 46 10             	mov    %eax,0x10(%esi)
5840e8:	8b c6                	mov    %esi,%eax
5840ea:	83 ff 10             	cmp    $0x10,%edi
5840ed:	72 02                	jb     0x5840f1
5840ef:	8b 06                	mov    (%esi),%eax
5840f1:	88 14 08             	mov    %dl,(%eax,%ecx,1)
5840f4:	c6 44 08 01 00       	movb   $0x0,0x1(%eax,%ecx,1)
5840f9:	e9 fa 00 00 00       	jmp    0x5841f8
5840fe:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
584103:	2b c1                	sub    %ecx,%eax
584105:	83 f8 01             	cmp    $0x1,%eax
584108:	0f 82 0c 01 00 00    	jb     0x58421a
58410e:	8d 59 01             	lea    0x1(%ecx),%ebx
584111:	83 cb 0f             	or     $0xf,%ebx
584114:	81 fb ff ff ff 7f    	cmp    $0x7fffffff,%ebx
58411a:	76 07                	jbe    0x584123
58411c:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
584121:	eb 1e                	jmp    0x584141
584123:	8b d7                	mov    %edi,%edx
584125:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
58412a:	d1 ea                	shr    $1,%edx
58412c:	2b c2                	sub    %edx,%eax
58412e:	3b f8                	cmp    %eax,%edi
584130:	76 07                	jbe    0x584139
584132:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
584137:	eb 08                	jmp    0x584141
584139:	8d 04 3a             	lea    (%edx,%edi,1),%eax
58413c:	3b d8                	cmp    %eax,%ebx
58413e:	0f 42 d8             	cmovb  %eax,%ebx
584141:	8d 43 01             	lea    0x1(%ebx),%eax
584144:	3d 00 10 00 00       	cmp    $0x1000,%eax
584149:	72 2a                	jb     0x584175
58414b:	8d 48 23             	lea    0x23(%eax),%ecx
58414e:	3b c8                	cmp    %eax,%ecx
584150:	0f 86 c9 00 00 00    	jbe    0x58421f
584156:	51                   	push   %ecx
584157:	e8 e6 ce 05 00       	call   0x5e1042
58415c:	83 c4 04             	add    $0x4,%esp
58415f:	85 c0                	test   %eax,%eax
584161:	0f 84 bd 00 00 00    	je     0x584224
584167:	8b 4d e8             	mov    -0x18(%ebp),%ecx
58416a:	8d 78 23             	lea    0x23(%eax),%edi
58416d:	83 e7 e0             	and    $0xffffffe0,%edi
584170:	89 47 fc             	mov    %eax,-0x4(%edi)
584173:	eb 16                	jmp    0x58418b
584175:	85 c0                	test   %eax,%eax
584177:	74 10                	je     0x584189
584179:	50                   	push   %eax
58417a:	e8 c3 ce 05 00       	call   0x5e1042
58417f:	8b 4d e8             	mov    -0x18(%ebp),%ecx
584182:	83 c4 04             	add    $0x4,%esp
584185:	8b f8                	mov    %eax,%edi
584187:	eb 02                	jmp    0x58418b
584189:	33 ff                	xor    %edi,%edi
58418b:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
58418f:	8d 41 01             	lea    0x1(%ecx),%eax
584192:	89 5e 14             	mov    %ebx,0x14(%esi)
584195:	8d 1c 0f             	lea    (%edi,%ecx,1),%ebx
584198:	89 46 10             	mov    %eax,0x10(%esi)
58419b:	89 5d e8             	mov    %ebx,-0x18(%ebp)
58419e:	51                   	push   %ecx
58419f:	72 42                	jb     0x5841e3
5841a1:	8b 1e                	mov    (%esi),%ebx
5841a3:	53                   	push   %ebx
5841a4:	57                   	push   %edi
5841a5:	e8 56 ed 05 00       	call   0x5e2f00
5841aa:	8b 45 e8             	mov    -0x18(%ebp),%eax
5841ad:	83 c4 0c             	add    $0xc,%esp
5841b0:	8a 4d f3             	mov    -0xd(%ebp),%cl
5841b3:	88 08                	mov    %cl,(%eax)
5841b5:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5841b8:	41                   	inc    %ecx
5841b9:	c6 40 01 00          	movb   $0x0,0x1(%eax)
5841bd:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5841c3:	72 12                	jb     0x5841d7
5841c5:	8b 53 fc             	mov    -0x4(%ebx),%edx
5841c8:	83 c1 23             	add    $0x23,%ecx
5841cb:	2b da                	sub    %edx,%ebx
5841cd:	8d 43 fc             	lea    -0x4(%ebx),%eax
5841d0:	83 f8 1f             	cmp    $0x1f,%eax
5841d3:	77 4f                	ja     0x584224
5841d5:	8b da                	mov    %edx,%ebx
5841d7:	51                   	push   %ecx
5841d8:	53                   	push   %ebx
5841d9:	e8 94 ce 05 00       	call   0x5e1072
5841de:	83 c4 08             	add    $0x8,%esp
5841e1:	eb 13                	jmp    0x5841f6
5841e3:	56                   	push   %esi
5841e4:	57                   	push   %edi
5841e5:	e8 16 ed 05 00       	call   0x5e2f00
5841ea:	8a 4d f3             	mov    -0xd(%ebp),%cl
5841ed:	88 0b                	mov    %cl,(%ebx)
5841ef:	c6 43 01 00          	movb   $0x0,0x1(%ebx)
5841f3:	83 c4 0c             	add    $0xc,%esp
5841f6:	89 3e                	mov    %edi,(%esi)
5841f8:	8b 45 0c             	mov    0xc(%ebp),%eax
5841fb:	8b 7d 10             	mov    0x10(%ebp),%edi
5841fe:	3b c7                	cmp    %edi,%eax
584200:	0f 85 8a fd ff ff    	jne    0x583f90
584206:	8b c6                	mov    %esi,%eax