406a7e:	8b 45 fc             	mov    -0x4(%ebp),%eax
406a81:	83 c0 02             	add    $0x2,%eax
406a84:	89 45 fc             	mov    %eax,-0x4(%ebp)
406a87:	eb eb                	jmp    0x406a74
406a89:	8b 45 fc             	mov    -0x4(%ebp),%eax
406a8c:	2b 45 08             	sub    0x8(%ebp),%eax
406a8f:	d1 f8                	sar    $1,%eax
406a91:	8b e5                	mov    %ebp,%esp
406a93:	5d                   	pop    %ebp
406a94:	c3                   	ret
406a95:	cc                   	int3
406a96:	cc                   	int3
406a97:	cc                   	int3
406a98:	cc                   	int3
406a99:	cc                   	int3
406a9a:	cc                   	int3
406a9b:	cc                   	int3
406a9c:	cc                   	int3
406a9d:	cc                   	int3
406a9e:	cc                   	int3
406a9f:	cc                   	int3
406aa0:	55                   	push   %ebp
406aa1:	8b ec                	mov    %esp,%ebp
406aa3:	51                   	push   %ecx
406aa4:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
406aab:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
406aaf:	75 05                	jne    0x406ab6
406ab1:	8b 45 fc             	mov    -0x4(%ebp),%eax
406ab4:	eb 36                	jmp    0x406aec
406ab6:	8b 45 08             	mov    0x8(%ebp),%eax
406ab9:	50                   	push   %eax
406aba:	e8 61 ff ff ff       	call   0x406a20
406abf:	83 c4 04             	add    $0x4,%esp
406ac2:	50                   	push   %eax
406ac3:	e8 18 ff ff ff       	call   0x4069e0
406ac8:	83 c4 04             	add    $0x4,%esp
406acb:	89 45 fc             	mov    %eax,-0x4(%ebp)
406ace:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
406ad2:	74 15                	je     0x406ae9
406ad4:	8b 4d 08             	mov    0x8(%ebp),%ecx
406ad7:	51                   	push   %ecx
406ad8:	8b 55 fc             	mov    -0x4(%ebp),%edx
406adb:	52                   	push   %edx
406adc:	e8 df ba ff ff       	call   0x4025c0
406ae1:	8b 40 24             	mov    0x24(%eax),%eax
406ae4:	ff d0                	call   *%eax
406ae6:	83 c4 08             	add    $0x8,%esp
406ae9:	8b 45 fc             	mov    -0x4(%ebp),%eax
406aec:	8b e5                	mov    %ebp,%esp
406aee:	5d                   	pop    %ebp
406aef:	c3                   	ret
406af0:	55                   	push   %ebp
406af1:	8b ec                	mov    %esp,%ebp
406af3:	51                   	push   %ecx
406af4:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
406afb:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
406aff:	75 05                	jne    0x406b06
406b01:	8b 45 fc             	mov    -0x4(%ebp),%eax
406b04:	eb 36                	jmp    0x406b3c
406b06:	8b 45 08             	mov    0x8(%ebp),%eax
406b09:	50                   	push   %eax
406b0a:	e8 51 ff ff ff       	call   0x406a60
406b0f:	83 c4 04             	add    $0x4,%esp
406b12:	50                   	push   %eax
406b13:	e8 e8 fe ff ff       	call   0x406a00
406b18:	83 c4 04             	add    $0x4,%esp
406b1b:	89 45 fc             	mov    %eax,-0x4(%ebp)
406b1e:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
406b22:	74 15                	je     0x406b39
406b24:	8b 4d 08             	mov    0x8(%ebp),%ecx
406b27:	51                   	push   %ecx
406b28:	8b 55 fc             	mov    -0x4(%ebp),%edx
406b2b:	52                   	push   %edx
406b2c:	e8 8f ba ff ff       	call   0x4025c0
406b31:	8b 40 2c             	mov    0x2c(%eax),%eax
406b34:	ff d0                	call   *%eax
406b36:	83 c4 08             	add    $0x8,%esp
406b39:	8b 45 fc             	mov    -0x4(%ebp),%eax
406b3c:	8b e5                	mov    %ebp,%esp
406b3e:	5d                   	pop    %ebp
406b3f:	c3                   	ret
406b40:	55                   	push   %ebp
406b41:	8b ec                	mov    %esp,%ebp
406b43:	51                   	push   %ecx
406b44:	8a 45 08             	mov    0x8(%ebp),%al
406b47:	88 45 ff             	mov    %al,-0x1(%ebp)
406b4a:	0f be 4d 08          	movsbl 0x8(%ebp),%ecx
406b4e:	83 f9 41             	cmp    $0x41,%ecx
406b51:	7c 13                	jl     0x406b66
406b53:	0f be 55 08          	movsbl 0x8(%ebp),%edx
406b57:	83 fa 5a             	cmp    $0x5a,%edx
406b5a:	7f 0a                	jg     0x406b66
406b5c:	0f be 45 08          	movsbl 0x8(%ebp),%eax
406b60:	83 c0 20             	add    $0x20,%eax
406b63:	88 45 ff             	mov    %al,-0x1(%ebp)
406b66:	8a 45 ff             	mov    -0x1(%ebp),%al
406b69:	8b e5                	mov    %ebp,%esp
406b6b:	5d                   	pop    %ebp
406b6c:	c3                   	ret
406b6d:	cc                   	int3
406b6e:	cc                   	int3
406b6f:	cc                   	int3
406b70:	55                   	push   %ebp
406b71:	8b ec                	mov    %esp,%ebp
406b73:	51                   	push   %ecx
406b74:	66 8b 45 08          	mov    0x8(%ebp),%ax
406b78:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
406b7c:	0f b7 4d 08          	movzwl 0x8(%ebp),%ecx
406b80:	83 f9 41             	cmp    $0x41,%ecx
406b83:	7c 14                	jl     0x406b99
406b85:	0f b7 55 08          	movzwl 0x8(%ebp),%edx
406b89:	83 fa 5a             	cmp    $0x5a,%edx
406b8c:	7f 0b                	jg     0x406b99
406b8e:	0f b7 45 08          	movzwl 0x8(%ebp),%eax
406b92:	83 c0 20             	add    $0x20,%eax
406b95:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
406b99:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
406b9d:	8b e5                	mov    %ebp,%esp
406b9f:	5d                   	pop    %ebp
406ba0:	c3                   	ret
406ba1:	cc                   	int3
406ba2:	cc                   	int3
406ba3:	cc                   	int3
406ba4:	cc                   	int3
406ba5:	cc                   	int3
406ba6:	cc                   	int3
406ba7:	cc                   	int3
406ba8:	cc                   	int3
406ba9:	cc                   	int3
406baa:	cc                   	int3
406bab:	cc                   	int3
406bac:	cc                   	int3
406bad:	cc                   	int3
406bae:	cc                   	int3
406baf:	cc                   	int3
406bb0:	55                   	push   %ebp
406bb1:	8b ec                	mov    %esp,%ebp
406bb3:	51                   	push   %ecx
406bb4:	8a 45 08             	mov    0x8(%ebp),%al
406bb7:	88 45 ff             	mov    %al,-0x1(%ebp)
406bba:	0f be 4d 08          	movsbl 0x8(%ebp),%ecx
406bbe:	83 f9 61             	cmp    $0x61,%ecx
406bc1:	7c 13                	jl     0x406bd6
406bc3:	0f be 55 08          	movsbl 0x8(%ebp),%edx
406bc7:	83 fa 7a             	cmp    $0x7a,%edx
406bca:	7f 0a                	jg     0x406bd6
406bcc:	0f be 45 08          	movsbl 0x8(%ebp),%eax
406bd0:	83 e8 20             	sub    $0x20,%eax
406bd3:	88 45 ff             	mov    %al,-0x1(%ebp)
406bd6:	8a 45 ff             	mov    -0x1(%ebp),%al
406bd9:	8b e5                	mov    %ebp,%esp
406bdb:	5d                   	pop    %ebp
406bdc:	c3                   	ret
406bdd:	cc                   	int3
406bde:	cc                   	int3
406bdf:	cc                   	int3
406be0:	55                   	push   %ebp
406be1:	8b ec                	mov    %esp,%ebp
406be3:	51                   	push   %ecx
406be4:	8a 45 08             	mov    0x8(%ebp),%al
406be7:	88 45 ff             	mov    %al,-0x1(%ebp)
406bea:	0f b7 4d 08          	movzwl 0x8(%ebp),%ecx
406bee:	83 f9 61             	cmp    $0x61,%ecx
406bf1:	7c 13                	jl     0x406c06
406bf3:	0f b7 55 08          	movzwl 0x8(%ebp),%edx
406bf7:	83 fa 7a             	cmp    $0x7a,%edx
406bfa:	7f 0a                	jg     0x406c06
406bfc:	0f b7 45 08          	movzwl 0x8(%ebp),%eax
406c00:	83 e8 20             	sub    $0x20,%eax
406c03:	88 45 ff             	mov    %al,-0x1(%ebp)
406c06:	66 0f be 45 ff       	movsbw -0x1(%ebp),%ax
406c0b:	8b e5                	mov    %ebp,%esp
406c0d:	5d                   	pop    %ebp
406c0e:	c3                   	ret
406c0f:	cc                   	int3
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