584db4:	8d 45 b4             	lea    -0x4c(%ebp),%eax
584db7:	8b cf                	mov    %edi,%ecx
584db9:	50                   	push   %eax
584dba:	e8 d1 01 00 00       	call   0x584f90
584dbf:	8a c8                	mov    %al,%cl
584dc1:	8b 45 b4             	mov    -0x4c(%ebp),%eax
584dc4:	83 f8 0c             	cmp    $0xc,%eax
584dc7:	74 e7                	je     0x584db0
584dc9:	83 f8 02             	cmp    $0x2,%eax
584dcc:	0f 84 d1 00 00 00    	je     0x584ea3
584dd2:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
584dd8:	8b cf                	mov    %edi,%ecx
584dda:	50                   	push   %eax
584ddb:	e8 b0 01 00 00       	call   0x584f90
584de0:	84 c0                	test   %al,%al
584de2:	0f 85 48 fd ff ff    	jne    0x584b30
584de8:	6a 21                	push   $0x21
584dea:	68 7c 35 6c 00       	push   $0x6c357c
584def:	8d 4d d8             	lea    -0x28(%ebp),%ecx
584df2:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
584df9:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
584e00:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
584e04:	e8 37 04 ec ff       	call   0x445240
584e09:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
584e0d:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
584e13:	6a 00                	push   $0x0
584e15:	50                   	push   %eax
584e16:	8d 45 d8             	lea    -0x28(%ebp),%eax
584e19:	8b cf                	mov    %edi,%ecx
584e1b:	50                   	push   %eax
584e1c:	e8 6f e1 ff ff       	call   0x582f90
584e21:	6a 02                	push   $0x2
584e23:	8b cf                	mov    %edi,%ecx
584e25:	e8 a6 08 00 00       	call   0x5856d0
584e2a:	8b 55 ec             	mov    -0x14(%ebp),%edx
584e2d:	88 45 8f             	mov    %al,-0x71(%ebp)
584e30:	83 fa 10             	cmp    $0x10,%edx
584e33:	72 2c                	jb     0x584e61
584e35:	8b 4d d8             	mov    -0x28(%ebp),%ecx
584e38:	42                   	inc    %edx
584e39:	8b c1                	mov    %ecx,%eax
584e3b:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
584e41:	72 14                	jb     0x584e57
584e43:	8b 49 fc             	mov    -0x4(%ecx),%ecx
584e46:	83 c2 23             	add    $0x23,%edx
584e49:	2b c1                	sub    %ecx,%eax
584e4b:	83 c0 fc             	add    $0xfffffffc,%eax
584e4e:	83 f8 1f             	cmp    $0x1f,%eax
584e51:	0f 87 2a 01 00 00    	ja     0x584f81
584e57:	52                   	push   %edx
584e58:	51                   	push   %ecx
584e59:	e8 14 c2 05 00       	call   0x5e1072
584e5e:	83 c4 08             	add    $0x8,%esp
584e61:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
584e67:	e8 14 b2 ff ff       	call   0x580080
584e6c:	8b 55 d4             	mov    -0x2c(%ebp),%edx
584e6f:	83 fa 10             	cmp    $0x10,%edx
584e72:	0f 82 e9 00 00 00    	jb     0x584f61
584e78:	8b 4d c0             	mov    -0x40(%ebp),%ecx
584e7b:	42                   	inc    %edx
584e7c:	8b c1                	mov    %ecx,%eax
584e7e:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
584e84:	0f 82 cd 00 00 00    	jb     0x584f57
584e8a:	8b 49 fc             	mov    -0x4(%ecx),%ecx
584e8d:	83 c2 23             	add    $0x23,%edx
584e90:	2b c1                	sub    %ecx,%eax
584e92:	83 c0 fc             	add    $0xfffffffc,%eax
584e95:	83 f8 1f             	cmp    $0x1f,%eax
584e98:	0f 87 e3 00 00 00    	ja     0x584f81
584e9e:	e9 b4 00 00 00       	jmp    0x584f57
584ea3:	c6 45 8f 01          	movb   $0x1,-0x71(%ebp)
584ea7:	eb b8                	jmp    0x584e61
584ea9:	6a 28                	push   $0x28
584eab:	68 50 35 6c 00       	push   $0x6c3550
584eb0:	8d 4d d8             	lea    -0x28(%ebp),%ecx
584eb3:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
584eba:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
584ec1:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
584ec5:	e8 76 03 ec ff       	call   0x445240
584eca:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
584ece:	8d 45 b4             	lea    -0x4c(%ebp),%eax
584ed1:	e9 3d ff ff ff       	jmp    0x584e13
584ed6:	6a 02                	push   $0x2
584ed8:	e8 f3 07 00 00       	call   0x5856d0
584edd:	88 45 8f             	mov    %al,-0x71(%ebp)
584ee0:	e9 7c ff ff ff       	jmp    0x584e61
584ee5:	6a 24                	push   $0x24
584ee7:	68 28 35 6c 00       	push   $0x6c3528
584eec:	8d 4d a8             	lea    -0x58(%ebp),%ecx
584eef:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
584ef6:	c7 45 bc 0f 00 00 00 	movl   $0xf,-0x44(%ebp)
584efd:	c6 45 a8 00          	movb   $0x0,-0x58(%ebp)
584f01:	e8 3a 03 ec ff       	call   0x445240
584f06:	6a 00                	push   $0x0
584f08:	8d 45 e4             	lea    -0x1c(%ebp),%eax
584f0b:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
584f0f:	50                   	push   %eax
584f10:	8d 45 a8             	lea    -0x58(%ebp),%eax
584f13:	8b cf                	mov    %edi,%ecx
584f15:	50                   	push   %eax
584f16:	e8 75 e0 ff ff       	call   0x582f90
584f1b:	6a 02                	push   $0x2
584f1d:	8b cf                	mov    %edi,%ecx
584f1f:	e8 ac 07 00 00       	call   0x5856d0
584f24:	8b 55 bc             	mov    -0x44(%ebp),%edx
584f27:	88 45 8f             	mov    %al,-0x71(%ebp)
584f2a:	83 fa 10             	cmp    $0x10,%edx
584f2d:	0f 82 2e ff ff ff    	jb     0x584e61
584f33:	8b 4d a8             	mov    -0x58(%ebp),%ecx
584f36:	e9 fd fe ff ff       	jmp    0x584e38
584f3b:	6a 02                	push   $0x2
584f3d:	8b cf                	mov    %edi,%ecx
584f3f:	e8 8c 07 00 00       	call   0x5856d0
584f44:	8d 8d 5c ff ff ff    	lea    -0xa4(%ebp),%ecx
584f4a:	88 45 8f             	mov    %al,-0x71(%ebp)
584f4d:	e8 2e b1 ff ff       	call   0x580080
584f52:	e9 0a ff ff ff       	jmp    0x584e61
584f57:	52                   	push   %edx
584f58:	51                   	push   %ecx
584f59:	e8 14 c1 05 00       	call   0x5e1072
584f5e:	83 c4 08             	add    $0x8,%esp
584f61:	8a 45 8f             	mov    -0x71(%ebp),%al
584f64:	8b 4d f4             	mov    -0xc(%ebp),%ecx
584f67:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
584f6e:	59                   	pop    %ecx
584f6f:	5f                   	pop    %edi
584f70:	5e                   	pop    %esi
584f71:	8b 4d f0             	mov    -0x10(%ebp),%ecx
584f74:	33 cd                	xor    %ebp,%ecx
584f76:	e8 5f c5 05 00       	call   0x5e14da
584f7b:	8b e5                	mov    %ebp,%esp
584f7d:	5d                   	pop    %ebp
584f7e:	c2 04 00             	ret    $0x4
584f81:	e8 a9 7f 06 00       	call   0x5ecf2f
584f86:	cc                   	int3
584f87:	cc                   	int3
584f88:	cc                   	int3
584f89:	cc                   	int3
584f8a:	cc                   	int3
584f8b:	cc                   	int3
584f8c:	cc                   	int3
584f8d:	cc                   	int3
584f8e:	cc                   	int3
584f8f:	cc                   	int3
584f90:	55                   	push   %ebp
584f91:	8b ec                	mov    %esp,%ebp
584f93:	53                   	push   %ebx
584f94:	56                   	push   %esi
584f95:	8b f1                	mov    %ecx,%esi
584f97:	57                   	push   %edi
584f98:	8b 46 48             	mov    0x48(%esi),%eax
584f9b:	8b 7e 44             	mov    0x44(%esi),%edi
584f9e:	3b c7                	cmp    %edi,%eax
584fa0:	74 24                	je     0x584fc6
584fa2:	8b d0                	mov    %eax,%edx
584fa4:	8a 0a                	mov    (%edx),%cl
584fa6:	80 f9 20             	cmp    $0x20,%cl
584fa9:	74 0f                	je     0x584fba
584fab:	80 f9 09             	cmp    $0x9,%cl
584fae:	74 0a                	je     0x584fba
584fb0:	80 f9 0d             	cmp    $0xd,%cl
584fb3:	74 05                	je     0x584fba
584fb5:	80 f9 0a             	cmp    $0xa,%cl
584fb8:	75 0c                	jne    0x584fc6
584fba:	8d 42 01             	lea    0x1(%edx),%eax
584fbd:	89 46 48             	mov    %eax,0x48(%esi)
584fc0:	8b d0                	mov    %eax,%edx
584fc2:	3b c7                	cmp    %edi,%eax
584fc4:	75 de                	jne    0x584fa4
584fc6:	8b 4d 08             	mov    0x8(%ebp),%ecx
584fc9:	89 41 04             	mov    %eax,0x4(%ecx)
584fcc:	8b 46 48             	mov    0x48(%esi),%eax
584fcf:	3b 46 44             	cmp    0x44(%esi),%eax
584fd2:	75 04                	jne    0x584fd8
584fd4:	32 d2                	xor    %dl,%dl
584fd6:	eb 06                	jmp    0x584fde
584fd8:	8a 10                	mov    (%eax),%dl
584fda:	40                   	inc    %eax
584fdb:	89 46 48             	mov    %eax,0x48(%esi)
584fde:	0f be c2             	movsbl %dl,%eax
584fe1:	83 f8 7d             	cmp    $0x7d,%eax
584fe4:	0f 87 e2 01 00 00    	ja     0x5851cc
584fea:	0f b6 80 64 52 58 00 	movzbl 0x585264(%eax),%eax
584ff1:	ff 24 85 2c 52 58 00 	jmp    *0x58522c(,%eax,4)
584ff8:	c7 01 01 00 00 00    	movl   $0x1,(%ecx)
584ffe:	8b 4d 08             	mov    0x8(%ebp),%ecx
585001:	8b 46 48             	mov    0x48(%esi),%eax
585004:	5f                   	pop    %edi
585005:	5e                   	pop    %esi
585006:	89 41 08             	mov    %eax,0x8(%ecx)
585009:	b0 01                	mov    $0x1,%al
58500b:	5b                   	pop    %ebx
58500c:	5d                   	pop    %ebp
58500d:	c2 04 00             	ret    $0x4
585010:	c7 01 02 00 00 00    	movl   $0x2,(%ecx)
585016:	8b 4d 08             	mov    0x8(%ebp),%ecx
585019:	8b 46 48             	mov    0x48(%esi),%eax
58501c:	5f                   	pop    %edi
58501d:	5e                   	pop    %esi
58501e:	89 41 08             	mov    %eax,0x8(%ecx)
585021:	b0 01                	mov    $0x1,%al
585023:	5b                   	pop    %ebx
585024:	5d                   	pop    %ebp
585025:	c2 04 00             	ret    $0x4
585028:	c7 01 03 00 00 00    	movl   $0x3,(%ecx)
58502e:	8b 4d 08             	mov    0x8(%ebp),%ecx
585031:	8b 46 48             	mov    0x48(%esi),%eax
585034:	5f                   	pop    %edi
585035:	5e                   	pop    %esi
585036:	89 41 08             	mov    %eax,0x8(%ecx)
585039:	b0 01                	mov    $0x1,%al
58503b:	5b                   	pop    %ebx
58503c:	5d                   	pop    %ebp
58503d:	c2 04 00             	ret    $0x4
585040:	c7 01 04 00 00 00    	movl   $0x4,(%ecx)
585046:	8b 4d 08             	mov    0x8(%ebp),%ecx
585049:	8b 46 48             	mov    0x48(%esi),%eax
58504c:	5f                   	pop    %edi
58504d:	5e                   	pop    %esi
58504e:	89 41 08             	mov    %eax,0x8(%ecx)
585051:	b0 01                	mov    $0x1,%al
585053:	5b                   	pop    %ebx
585054:	5d                   	pop    %ebp
585055:	c2 04 00             	ret    $0x4
585058:	c7 01 05 00 00 00    	movl   $0x5,(%ecx)
58505e:	32 d2                	xor    %dl,%dl
585060:	8b 46 48             	mov    0x48(%esi),%eax
585063:	8b 7e 44             	mov    0x44(%esi),%edi
585066:	3b c7                	cmp    %edi,%eax
585068:	74 24                	je     0x58508e
58506a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
585070:	8a 10                	mov    (%eax),%dl
585072:	40                   	inc    %eax
585073:	89 46 48             	mov    %eax,0x48(%esi)
585076:	80 fa 5c             	cmp    $0x5c,%dl
585079:	75 0a                	jne    0x585085
58507b:	3b c7                	cmp    %edi,%eax
58507d:	74 0f                	je     0x58508e
58507f:	40                   	inc    %eax
585080:	89 46 48             	mov    %eax,0x48(%esi)
585083:	eb 05                	jmp    0x58508a
585085:	80 fa 22             	cmp    $0x22,%dl
585088:	74 07                	je     0x585091
58508a:	3b c7                	cmp    %edi,%eax
58508c:	75 e2                	jne    0x585070
58508e:	80 fa 22             	cmp    $0x22,%dl
585091:	0f 94 c0             	sete   %al
585094:	e9 2f 01 00 00       	jmp    0x5851c8
585099:	c7 01 0c 00 00 00    	movl   $0xc,(%ecx)
58509f:	8b ce                	mov    %esi,%ecx
5850a1:	e8 0a f8 ff ff       	call   0x5848b0
5850a6:	e9 1a 01 00 00       	jmp    0x5851c5
5850ab:	c7 01 06 00 00 00    	movl   $0x6,(%ecx)
5850b1:	b2 30                	mov    $0x30,%dl
5850b3:	8b 4e 48             	mov    0x48(%esi),%ecx
5850b6:	80 fa 39             	cmp    $0x39,%dl
5850b9:	77 1f                	ja     0x5850da
5850bb:	8b 7e 44             	mov    0x44(%esi),%edi
5850be:	89 4e 48             	mov    %ecx,0x48(%esi)
5850c1:	3b cf                	cmp    %edi,%ecx
5850c3:	73 04                	jae    0x5850c9
5850c5:	8a 11                	mov    (%ecx),%dl
5850c7:	eb 02                	jmp    0x5850cb
5850c9:	32 d2                	xor    %dl,%dl
5850cb:	3b cf                	cmp    %edi,%ecx
5850cd:	8d 41 01             	lea    0x1(%ecx),%eax
5850d0:	0f 43 c1             	cmovae %ecx,%eax
5850d3:	8b c8                	mov    %eax,%ecx
5850d5:	80 fa 30             	cmp    $0x30,%dl
5850d8:	7d dc                	jge    0x5850b6
5850da:	80 fa 2e             	cmp    $0x2e,%dl
5850dd:	75 42                	jne    0x585121
5850df:	8b 7e 44             	mov    0x44(%esi),%edi
5850e2:	89 4e 48             	mov    %ecx,0x48(%esi)
5850e5:	3b cf                	cmp    %edi,%ecx
5850e7:	73 04                	jae    0x5850ed
5850e9:	8a 11                	mov    (%ecx),%dl
5850eb:	eb 02                	jmp    0x5850ef
5850ed:	32 d2                	xor    %dl,%dl
5850ef:	3b cf                	cmp    %edi,%ecx
5850f1:	8d 41 01             	lea    0x1(%ecx),%eax
5850f4:	0f 43 c1             	cmovae %ecx,%eax
5850f7:	8b c8                	mov    %eax,%ecx
5850f9:	80 fa 30             	cmp    $0x30,%dl
5850fc:	7c 23                	jl     0x585121
5850fe:	66 90                	xchg   %ax,%ax
585100:	80 fa 39             	cmp    $0x39,%dl
585103:	77 1c                	ja     0x585121
585105:	89 4e 48             	mov    %ecx,0x48(%esi)
585108:	3b cf                	cmp    %edi,%ecx
58510a:	73 04                	jae    0x585110
58510c:	8a 11                	mov    (%ecx),%dl
58510e:	eb 02                	jmp    0x585112
585110:	32 d2                	xor    %dl,%dl
585112:	3b cf                	cmp    %edi,%ecx
585114:	8d 41 01             	lea    0x1(%ecx),%eax
585117:	0f 43 c1             	cmovae %ecx,%eax
58511a:	8b c8                	mov    %eax,%ecx
58511c:	80 fa 30             	cmp    $0x30,%dl
58511f:	7d df                	jge    0x585100
585121:	80 fa 65             	cmp    $0x65,%dl
585124:	74 09                	je     0x58512f
585126:	80 fa 45             	cmp    $0x45,%dl
585129:	0f 85 a3 00 00 00    	jne    0x5851d2
58512f:	8b 7e 44             	mov    0x44(%esi),%edi
585132:	89 4e 48             	mov    %ecx,0x48(%esi)
585135:	3b cf                	cmp    %edi,%ecx
585137:	73 04                	jae    0x58513d
585139:	8a 19                	mov    (%ecx),%bl
58513b:	eb 02                	jmp    0x58513f
58513d:	32 db                	xor    %bl,%bl
58513f:	3b cf                	cmp    %edi,%ecx
585141:	8d 51 01             	lea    0x1(%ecx),%edx
585144:	0f 43 d1             	cmovae %ecx,%edx
585147:	80 fb 2b             	cmp    $0x2b,%bl
58514a:	74 05                	je     0x585151
58514c:	80 fb 2d             	cmp    $0x2d,%bl
58514f:	75 0a                	jne    0x58515b
585151:	89 56 48             	mov    %edx,0x48(%esi)
585154:	3b d7                	cmp    %edi,%edx
585156:	73 7a                	jae    0x5851d2
585158:	8a 1a                	mov    (%edx),%bl
58515a:	42                   	inc    %edx
58515b:	80 fb 30             	cmp    $0x30,%bl
58515e:	7c 72                	jl     0x5851d2
585160:	80 fb 39             	cmp    $0x39,%bl
585163:	77 6d                	ja     0x5851d2
585165:	89 56 48             	mov    %edx,0x48(%esi)
585168:	3b d7                	cmp    %edi,%edx
58516a:	73 04                	jae    0x585170
58516c:	8a 1a                	mov    (%edx),%bl
58516e:	eb 02                	jmp    0x585172
585170:	32 db                	xor    %bl,%bl
585172:	3b d7                	cmp    %edi,%edx
585174:	8d 42 01             	lea    0x1(%edx),%eax
585177:	0f 43 c2             	cmovae %edx,%eax
58517a:	8b d0                	mov    %eax,%edx
58517c:	80 fb 30             	cmp    $0x30,%bl
58517f:	7d df                	jge    0x585160
585181:	8b 4d 08             	mov    0x8(%ebp),%ecx
585184:	8b 46 48             	mov    0x48(%esi),%eax
585187:	5f                   	pop    %edi
585188:	5e                   	pop    %esi
585189:	89 41 08             	mov    %eax,0x8(%ecx)
58518c:	b0 01                	mov    $0x1,%al
58518e:	5b                   	pop    %ebx
58518f:	5d                   	pop    %ebp
585190:	c2 04 00             	ret    $0x4
585193:	6a 03                	push   $0x3
585195:	c7 01 07 00 00 00    	movl   $0x7,(%ecx)