406c10:	55                   	push   %ebp
406c11:	8b ec                	mov    %esp,%ebp
406c13:	83 ec 10             	sub    $0x10,%esp
406c16:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
406c1d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
406c21:	75 08                	jne    0x406c2b
406c23:	8b 45 f0             	mov    -0x10(%ebp),%eax
406c26:	e9 8e 00 00 00       	jmp    0x406cb9
406c2b:	8b 45 08             	mov    0x8(%ebp),%eax
406c2e:	50                   	push   %eax
406c2f:	e8 ec fd ff ff       	call   0x406a20
406c34:	83 c4 04             	add    $0x4,%esp
406c37:	89 45 f4             	mov    %eax,-0xc(%ebp)
406c3a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
406c3d:	51                   	push   %ecx
406c3e:	e8 9d fd ff ff       	call   0x4069e0
406c43:	83 c4 04             	add    $0x4,%esp
406c46:	89 45 f8             	mov    %eax,-0x8(%ebp)
406c49:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
406c4d:	74 67                	je     0x406cb6
406c4f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
406c56:	eb 09                	jmp    0x406c61
406c58:	8b 55 fc             	mov    -0x4(%ebp),%edx
406c5b:	83 c2 01             	add    $0x1,%edx
406c5e:	89 55 fc             	mov    %edx,-0x4(%ebp)
406c61:	8b 45 fc             	mov    -0x4(%ebp),%eax
406c64:	3b 45 f4             	cmp    -0xc(%ebp),%eax
406c67:	7d 3e                	jge    0x406ca7
406c69:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
406c6d:	74 1c                	je     0x406c8b
406c6f:	8b 4d 08             	mov    0x8(%ebp),%ecx
406c72:	03 4d fc             	add    -0x4(%ebp),%ecx
406c75:	0f b6 11             	movzbl (%ecx),%edx
406c78:	52                   	push   %edx
406c79:	e8 c2 fe ff ff       	call   0x406b40
406c7e:	83 c4 04             	add    $0x4,%esp
406c81:	8b 4d f8             	mov    -0x8(%ebp),%ecx
406c84:	03 4d fc             	add    -0x4(%ebp),%ecx
406c87:	88 01                	mov    %al,(%ecx)
406c89:	eb 1a                	jmp    0x406ca5
406c8b:	8b 55 08             	mov    0x8(%ebp),%edx
406c8e:	03 55 fc             	add    -0x4(%ebp),%edx
406c91:	0f b6 02             	movzbl (%edx),%eax
406c94:	50                   	push   %eax
406c95:	e8 16 ff ff ff       	call   0x406bb0
406c9a:	83 c4 04             	add    $0x4,%esp
406c9d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
406ca0:	03 4d fc             	add    -0x4(%ebp),%ecx
406ca3:	88 01                	mov    %al,(%ecx)
406ca5:	eb b1                	jmp    0x406c58
406ca7:	8b 55 f8             	mov    -0x8(%ebp),%edx
406caa:	03 55 f4             	add    -0xc(%ebp),%edx
406cad:	c6 02 00             	movb   $0x0,(%edx)
406cb0:	8b 45 f8             	mov    -0x8(%ebp),%eax
406cb3:	89 45 f0             	mov    %eax,-0x10(%ebp)
406cb6:	8b 45 f0             	mov    -0x10(%ebp),%eax
406cb9:	8b e5                	mov    %ebp,%esp
406cbb:	5d                   	pop    %ebp
406cbc:	c3                   	ret
406cbd:	cc                   	int3
406cbe:	cc                   	int3
406cbf:	cc                   	int3
406cc0:	55                   	push   %ebp
406cc1:	8b ec                	mov    %esp,%ebp
406cc3:	6a 01                	push   $0x1
406cc5:	8b 45 08             	mov    0x8(%ebp),%eax
406cc8:	50                   	push   %eax
406cc9:	e8 42 ff ff ff       	call   0x406c10
406cce:	83 c4 08             	add    $0x8,%esp
406cd1:	5d                   	pop    %ebp
406cd2:	c3                   	ret
406cd3:	cc                   	int3
406cd4:	cc                   	int3
406cd5:	cc                   	int3
406cd6:	cc                   	int3
406cd7:	cc                   	int3
406cd8:	cc                   	int3
406cd9:	cc                   	int3
406cda:	cc                   	int3
406cdb:	cc                   	int3
406cdc:	cc                   	int3
406cdd:	cc                   	int3
406cde:	cc                   	int3
406cdf:	cc                   	int3
406ce0:	55                   	push   %ebp
406ce1:	8b ec                	mov    %esp,%ebp
406ce3:	6a 00                	push   $0x0
406ce5:	8b 45 08             	mov    0x8(%ebp),%eax
406ce8:	50                   	push   %eax
406ce9:	e8 22 ff ff ff       	call   0x406c10
406cee:	83 c4 08             	add    $0x8,%esp
406cf1:	5d                   	pop    %ebp
406cf2:	c3                   	ret
406cf3:	cc                   	int3
406cf4:	cc                   	int3
406cf5:	cc                   	int3
406cf6:	cc                   	int3
406cf7:	cc                   	int3
406cf8:	cc                   	int3
406cf9:	cc                   	int3
406cfa:	cc                   	int3
406cfb:	cc                   	int3
406cfc:	cc                   	int3
406cfd:	cc                   	int3
406cfe:	cc                   	int3
406cff:	cc                   	int3
406d00:	55                   	push   %ebp
406d01:	8b ec                	mov    %esp,%ebp
406d03:	83 ec 10             	sub    $0x10,%esp
406d06:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
406d0d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
406d11:	75 08                	jne    0x406d1b
406d13:	8b 45 f0             	mov    -0x10(%ebp),%eax
406d16:	e9 97 00 00 00       	jmp    0x406db2
406d1b:	8b 45 08             	mov    0x8(%ebp),%eax
406d1e:	50                   	push   %eax
406d1f:	e8 3c fd ff ff       	call   0x406a60
406d24:	83 c4 04             	add    $0x4,%esp
406d27:	89 45 f4             	mov    %eax,-0xc(%ebp)
406d2a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
406d2d:	51                   	push   %ecx
406d2e:	e8 cd fc ff ff       	call   0x406a00
406d33:	83 c4 04             	add    $0x4,%esp
406d36:	89 45 f8             	mov    %eax,-0x8(%ebp)
406d39:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
406d3d:	74 70                	je     0x406daf
406d3f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
406d46:	eb 09                	jmp    0x406d51
406d48:	8b 55 fc             	mov    -0x4(%ebp),%edx
406d4b:	83 c2 01             	add    $0x1,%edx
406d4e:	89 55 fc             	mov    %edx,-0x4(%ebp)
406d51:	8b 45 fc             	mov    -0x4(%ebp),%eax
406d54:	3b 45 f4             	cmp    -0xc(%ebp),%eax
406d57:	7d 44                	jge    0x406d9d
406d59:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
406d5d:	74 1f                	je     0x406d7e
406d5f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406d62:	8b 55 08             	mov    0x8(%ebp),%edx
406d65:	0f b7 04 4a          	movzwl (%edx,%ecx,2),%eax
406d69:	50                   	push   %eax
406d6a:	e8 01 fe ff ff       	call   0x406b70
406d6f:	83 c4 04             	add    $0x4,%esp
406d72:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406d75:	8b 55 f8             	mov    -0x8(%ebp),%edx
406d78:	66 89 04 4a          	mov    %ax,(%edx,%ecx,2)
406d7c:	eb 1d                	jmp    0x406d9b
406d7e:	8b 45 fc             	mov    -0x4(%ebp),%eax
406d81:	8b 4d 08             	mov    0x8(%ebp),%ecx
406d84:	0f b7 14 41          	movzwl (%ecx,%eax,2),%edx
406d88:	52                   	push   %edx
406d89:	e8 52 fe ff ff       	call   0x406be0
406d8e:	83 c4 04             	add    $0x4,%esp
406d91:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406d94:	8b 55 f8             	mov    -0x8(%ebp),%edx
406d97:	66 89 04 4a          	mov    %ax,(%edx,%ecx,2)
406d9b:	eb ab                	jmp    0x406d48
406d9d:	33 c0                	xor    %eax,%eax
406d9f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
406da2:	8b 55 f8             	mov    -0x8(%ebp),%edx
406da5:	66 89 04 4a          	mov    %ax,(%edx,%ecx,2)
406da9:	8b 45 f8             	mov    -0x8(%ebp),%eax
406dac:	89 45 f0             	mov    %eax,-0x10(%ebp)
406daf:	8b 45 f0             	mov    -0x10(%ebp),%eax
406db2:	8b e5                	mov    %ebp,%esp
406db4:	5d                   	pop    %ebp
406db5:	c3                   	ret
406db6:	cc                   	int3
406db7:	cc                   	int3
406db8:	cc                   	int3
406db9:	cc                   	int3
406dba:	cc                   	int3
406dbb:	cc                   	int3
406dbc:	cc                   	int3
406dbd:	cc                   	int3
406dbe:	cc                   	int3
406dbf:	cc                   	int3
406dc0:	55                   	push   %ebp
406dc1:	8b ec                	mov    %esp,%ebp
406dc3:	6a 01                	push   $0x1
406dc5:	8b 45 08             	mov    0x8(%ebp),%eax
406dc8:	50                   	push   %eax
406dc9:	e8 32 ff ff ff       	call   0x406d00
406dce:	83 c4 08             	add    $0x8,%esp
406dd1:	5d                   	pop    %ebp
406dd2:	c3                   	ret
406dd3:	cc                   	int3
406dd4:	cc                   	int3
406dd5:	cc                   	int3
406dd6:	cc                   	int3
406dd7:	cc                   	int3
406dd8:	cc                   	int3
406dd9:	cc                   	int3
406dda:	cc                   	int3
406ddb:	cc                   	int3
406ddc:	cc                   	int3
406ddd:	cc                   	int3
406dde:	cc                   	int3
406ddf:	cc                   	int3
406de0:	55                   	push   %ebp
406de1:	8b ec                	mov    %esp,%ebp
406de3:	6a 00                	push   $0x0
406de5:	8b 45 08             	mov    0x8(%ebp),%eax
406de8:	50                   	push   %eax
406de9:	e8 12 ff ff ff       	call   0x406d00
406dee:	83 c4 08             	add    $0x8,%esp
406df1:	5d                   	pop    %ebp
406df2:	c3                   	ret
406df3:	cc                   	int3
406df4:	cc                   	int3
406df5:	cc                   	int3
406df6:	cc                   	int3
406df7:	cc                   	int3
406df8:	cc                   	int3
406df9:	cc                   	int3
406dfa:	cc                   	int3
406dfb:	cc                   	int3
406dfc:	cc                   	int3
406dfd:	cc                   	int3
406dfe:	cc                   	int3
406dff:	cc                   	int3
406e00:	55                   	push   %ebp
406e01:	8b ec                	mov    %esp,%ebp
406e03:	83 ec 10             	sub    $0x10,%esp
406e06:	56                   	push   %esi
406e07:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
406e0b:	74 06                	je     0x406e13
406e0d:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
406e11:	75 07                	jne    0x406e1a
406e13:	33 c0                	xor    %eax,%eax
406e15:	e9 12 02 00 00       	jmp    0x40702c
406e1a:	b8 01 00 00 00       	mov    $0x1,%eax
406e1f:	6b c8 00             	imul   $0x0,%eax,%ecx
406e22:	8b 55 08             	mov    0x8(%ebp),%edx
406e25:	0f be 04 0a          	movsbl (%edx,%ecx,1),%eax
406e29:	85 c0                	test   %eax,%eax
406e2b:	0f 84 c0 01 00 00    	je     0x406ff1
406e31:	b9 01 00 00 00       	mov    $0x1,%ecx
406e36:	6b d1 00             	imul   $0x0,%ecx,%edx
406e39:	8b 45 0c             	mov    0xc(%ebp),%eax
406e3c:	0f be 0c 10          	movsbl (%eax,%edx,1),%ecx
406e40:	85 c9                	test   %ecx,%ecx
406e42:	0f 84 a9 01 00 00    	je     0x406ff1
406e48:	ba 01 00 00 00       	mov    $0x1,%edx
406e4d:	6b c2 00             	imul   $0x0,%edx,%eax
406e50:	8b 4d 08             	mov    0x8(%ebp),%ecx
406e53:	0f be 14 01          	movsbl (%ecx,%eax,1),%edx
406e57:	83 fa 3f             	cmp    $0x3f,%edx
406e5a:	75 6b                	jne    0x406ec7
406e5c:	b8 01 00 00 00       	mov    $0x1,%eax
406e61:	6b c8 00             	imul   $0x0,%eax,%ecx
406e64:	8b 55 0c             	mov    0xc(%ebp),%edx
406e67:	0f be 04 0a          	movsbl (%edx,%ecx,1),%eax
406e6b:	85 c0                	test   %eax,%eax
406e6d:	75 07                	jne    0x406e76
406e6f:	33 c0                	xor    %eax,%eax
406e71:	e9 b6 01 00 00       	jmp    0x40702c
406e76:	b9 01 00 00 00       	mov    $0x1,%ecx
406e7b:	c1 e1 00             	shl    $0x0,%ecx
406e7e:	8b 55 08             	mov    0x8(%ebp),%edx
406e81:	0f be 04 0a          	movsbl (%edx,%ecx,1),%eax
406e85:	83 f8 3f             	cmp    $0x3f,%eax
406e88:	75 0b                	jne    0x406e95
406e8a:	8b 4d 08             	mov    0x8(%ebp),%ecx
406e8d:	83 c1 02             	add    $0x2,%ecx
406e90:	89 4d 08             	mov    %ecx,0x8(%ebp)
406e93:	eb 24                	jmp    0x406eb9
406e95:	ba 01 00 00 00       	mov    $0x1,%edx
406e9a:	6b c2 00             	imul   $0x0,%edx,%eax
406e9d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
406ea0:	0f be 14 01          	movsbl (%ecx,%eax,1),%edx
406ea4:	83 fa 2f             	cmp    $0x2f,%edx
406ea7:	75 07                	jne    0x406eb0
406ea9:	33 c0                	xor    %eax,%eax
406eab:	e9 7c 01 00 00       	jmp    0x40702c
406eb0:	8b 45 08             	mov    0x8(%ebp),%eax
406eb3:	83 c0 01             	add    $0x1,%eax
406eb6:	89 45 08             	mov    %eax,0x8(%ebp)
406eb9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
406ebc:	83 c1 01             	add    $0x1,%ecx
406ebf:	89 4d 0c             	mov    %ecx,0xc(%ebp)
406ec2:	e9 25 01 00 00       	jmp    0x406fec
406ec7:	ba 01 00 00 00       	mov    $0x1,%edx
406ecc:	6b c2 00             	imul   $0x0,%edx,%eax
406ecf:	8b 4d 08             	mov    0x8(%ebp),%ecx
406ed2:	0f be 14 01          	movsbl (%ecx,%eax,1),%edx
406ed6:	83 fa 2a             	cmp    $0x2a,%edx
406ed9:	0f 85 bd 00 00 00    	jne    0x406f9c
406edf:	b8 01 00 00 00       	mov    $0x1,%eax
406ee4:	c1 e0 00             	shl    $0x0,%eax
406ee7:	8b 4d 08             	mov    0x8(%ebp),%ecx
406eea:	0f be 14 01          	movsbl (%ecx,%eax,1),%edx
406eee:	83 fa 2a             	cmp    $0x2a,%edx
406ef1:	75 09                	jne    0x406efc
406ef3:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
406efa:	eb 07                	jmp    0x406f03
406efc:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
406f03:	8b 45 fc             	mov    -0x4(%ebp),%eax
406f06:	89 45 f8             	mov    %eax,-0x8(%ebp)
406f09:	b9 01 00 00 00       	mov    $0x1,%ecx
406f0e:	6b d1 00             	imul   $0x0,%ecx,%edx
406f11:	8b 45 08             	mov    0x8(%ebp),%eax
406f14:	0f be 0c 10          	movsbl (%eax,%edx,1),%ecx
406f18:	83 f9 2a             	cmp    $0x2a,%ecx
406f1b:	75 0b                	jne    0x406f28
406f1d:	8b 55 08             	mov    0x8(%ebp),%edx
406f20:	83 c2 01             	add    $0x1,%edx
406f23:	89 55 08             	mov    %edx,0x8(%ebp)
406f26:	eb e1                	jmp    0x406f09
406f28:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
406f2c:	74 1d                	je     0x406f4b
406f2e:	b8 01 00 00 00       	mov    $0x1,%eax
406f33:	6b c8 00             	imul   $0x0,%eax,%ecx
406f36:	8b 55 08             	mov    0x8(%ebp),%edx
406f39:	0f be 04 0a          	movsbl (%edx,%ecx,1),%eax
406f3d:	85 c0                	test   %eax,%eax
406f3f:	75 0a                	jne    0x406f4b
406f41:	b8 01 00 00 00       	mov    $0x1,%eax
406f46:	e9 e1 00 00 00       	jmp    0x40702c
406f4b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
406f4e:	51                   	push   %ecx
406f4f:	8b 55 08             	mov    0x8(%ebp),%edx
406f52:	52                   	push   %edx
406f53:	e8 a8 fe ff ff       	call   0x406e00
406f58:	83 c4 08             	add    $0x8,%esp
406f5b:	85 c0                	test   %eax,%eax
406f5d:	74 0a                	je     0x406f69
406f5f:	b8 01 00 00 00       	mov    $0x1,%eax
406f64:	e9 c3 00 00 00       	jmp    0x40702c
406f69:	b8 01 00 00 00       	mov    $0x1,%eax
406f6e:	6b c8 00             	imul   $0x0,%eax,%ecx
406f71:	8b 55 0c             	mov    0xc(%ebp),%edx
406f74:	0f be 04 0a          	movsbl (%edx,%ecx,1),%eax
406f78:	85 c0                	test   %eax,%eax
406f7a:	74 1e                	je     0x406f9a
406f7c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
406f7f:	0f be 11             	movsbl (%ecx),%edx
406f82:	89 55 f0             	mov    %edx,-0x10(%ebp)
406f85:	8b 45 0c             	mov    0xc(%ebp),%eax
406f88:	83 c0 01             	add    $0x1,%eax
406f8b:	89 45 0c             	mov    %eax,0xc(%ebp)
406f8e:	83 7d f0 2f          	cmpl   $0x2f,-0x10(%ebp)
406f92:	75 b7                	jne    0x406f4b
406f94:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
406f98:	75 b1                	jne    0x406f4b
406f9a:	eb 50                	jmp    0x406fec
406f9c:	b9 01 00 00 00       	mov    $0x1,%ecx
406fa1:	6b d1 00             	imul   $0x0,%ecx,%edx
406fa4:	8b 45 0c             	mov    0xc(%ebp),%eax
406fa7:	0f b6 0c 10          	movzbl (%eax,%edx,1),%ecx
406fab:	51                   	push   %ecx