406924:	5d                   	pop    %ebp
406925:	c3                   	ret
406926:	cc                   	int3
406927:	cc                   	int3
406928:	cc                   	int3
406929:	cc                   	int3
40692a:	cc                   	int3
40692b:	cc                   	int3
40692c:	cc                   	int3
40692d:	cc                   	int3
40692e:	cc                   	int3
40692f:	cc                   	int3
406930:	55                   	push   %ebp
406931:	8b ec                	mov    %esp,%ebp
406933:	51                   	push   %ecx
406934:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40693b:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40693f:	75 05                	jne    0x406946
406941:	8b 45 fc             	mov    -0x4(%ebp),%eax
406944:	eb 29                	jmp    0x40696f
406946:	8b 45 0c             	mov    0xc(%ebp),%eax
406949:	50                   	push   %eax
40694a:	8b 4d 08             	mov    0x8(%ebp),%ecx
40694d:	8b 11                	mov    (%ecx),%edx
40694f:	52                   	push   %edx
406950:	e8 8b ff ff ff       	call   0x4068e0
406955:	83 c4 08             	add    $0x8,%esp
406958:	8b 4d 08             	mov    0x8(%ebp),%ecx
40695b:	89 01                	mov    %eax,(%ecx)
40695d:	8b 55 08             	mov    0x8(%ebp),%edx
406960:	83 3a 00             	cmpl   $0x0,(%edx)
406963:	74 07                	je     0x40696c
406965:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40696c:	8b 45 fc             	mov    -0x4(%ebp),%eax
40696f:	8b e5                	mov    %ebp,%esp
406971:	5d                   	pop    %ebp
406972:	c3                   	ret
406973:	cc                   	int3
406974:	cc                   	int3
406975:	cc                   	int3
406976:	cc                   	int3
406977:	cc                   	int3
406978:	cc                   	int3
406979:	cc                   	int3
40697a:	cc                   	int3
40697b:	cc                   	int3
40697c:	cc                   	int3
40697d:	cc                   	int3
40697e:	cc                   	int3
40697f:	cc                   	int3
406980:	55                   	push   %ebp
406981:	8b ec                	mov    %esp,%ebp
406983:	8b 45 10             	mov    0x10(%ebp),%eax
406986:	50                   	push   %eax
406987:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40698a:	51                   	push   %ecx
40698b:	8b 55 08             	mov    0x8(%ebp),%edx
40698e:	52                   	push   %edx
40698f:	e8 2c bc ff ff       	call   0x4025c0
406994:	8b 40 0c             	mov    0xc(%eax),%eax
406997:	ff d0                	call   *%eax
406999:	83 c4 0c             	add    $0xc,%esp
40699c:	5d                   	pop    %ebp
40699d:	c3                   	ret
40699e:	cc                   	int3
40699f:	cc                   	int3
4069a0:	55                   	push   %ebp
4069a1:	8b ec                	mov    %esp,%ebp
4069a3:	8b 45 10             	mov    0x10(%ebp),%eax
4069a6:	50                   	push   %eax
4069a7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4069aa:	51                   	push   %ecx
4069ab:	8b 55 08             	mov    0x8(%ebp),%edx
4069ae:	52                   	push   %edx
4069af:	e8 0c bc ff ff       	call   0x4025c0
4069b4:	8b 40 10             	mov    0x10(%eax),%eax
4069b7:	ff d0                	call   *%eax
4069b9:	83 c4 0c             	add    $0xc,%esp
4069bc:	5d                   	pop    %ebp
4069bd:	c3                   	ret
4069be:	cc                   	int3
4069bf:	cc                   	int3
4069c0:	55                   	push   %ebp
4069c1:	8b ec                	mov    %esp,%ebp
4069c3:	8b 45 10             	mov    0x10(%ebp),%eax
4069c6:	50                   	push   %eax
4069c7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4069ca:	51                   	push   %ecx
4069cb:	8b 55 08             	mov    0x8(%ebp),%edx
4069ce:	52                   	push   %edx
4069cf:	e8 ec bb ff ff       	call   0x4025c0
4069d4:	8b 40 14             	mov    0x14(%eax),%eax
4069d7:	ff d0                	call   *%eax
4069d9:	83 c4 0c             	add    $0xc,%esp
4069dc:	5d                   	pop    %ebp
4069dd:	c3                   	ret
4069de:	cc                   	int3
4069df:	cc                   	int3
4069e0:	55                   	push   %ebp
4069e1:	8b ec                	mov    %esp,%ebp
4069e3:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4069e7:	75 04                	jne    0x4069ed
4069e9:	33 c0                	xor    %eax,%eax
4069eb:	eb 0f                	jmp    0x4069fc
4069ed:	8b 45 08             	mov    0x8(%ebp),%eax
4069f0:	83 c0 01             	add    $0x1,%eax
4069f3:	50                   	push   %eax
4069f4:	e8 87 fe ff ff       	call   0x406880
4069f9:	83 c4 04             	add    $0x4,%esp
4069fc:	5d                   	pop    %ebp
4069fd:	c3                   	ret
4069fe:	cc                   	int3
4069ff:	cc                   	int3
406a00:	55                   	push   %ebp
406a01:	8b ec                	mov    %esp,%ebp
406a03:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
406a07:	75 04                	jne    0x406a0d
406a09:	33 c0                	xor    %eax,%eax
406a0b:	eb 10                	jmp    0x406a1d
406a0d:	8b 45 08             	mov    0x8(%ebp),%eax
406a10:	8d 4c 00 02          	lea    0x2(%eax,%eax,1),%ecx
406a14:	51                   	push   %ecx
406a15:	e8 66 fe ff ff       	call   0x406880
406a1a:	83 c4 04             	add    $0x4,%esp
406a1d:	5d                   	pop    %ebp
406a1e:	c3                   	ret
406a1f:	cc                   	int3
406a20:	55                   	push   %ebp
406a21:	8b ec                	mov    %esp,%ebp
406a23:	51                   	push   %ecx
406a24:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
406a28:	75 04                	jne    0x406a2e
406a2a:	33 c0                	xor    %eax,%eax
406a2c:	eb 21                	jmp    0x406a4f
406a2e:	8b 45 08             	mov    0x8(%ebp),%eax
406a31:	89 45 fc             	mov    %eax,-0x4(%ebp)
406a34:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406a37:	0f be 11             	movsbl (%ecx),%edx
406a3a:	85 d2                	test   %edx,%edx
406a3c:	74 0b                	je     0x406a49
406a3e:	8b 45 fc             	mov    -0x4(%ebp),%eax
406a41:	83 c0 01             	add    $0x1,%eax
406a44:	89 45 fc             	mov    %eax,-0x4(%ebp)
406a47:	eb eb                	jmp    0x406a34
406a49:	8b 45 fc             	mov    -0x4(%ebp),%eax
406a4c:	2b 45 08             	sub    0x8(%ebp),%eax
406a4f:	8b e5                	mov    %ebp,%esp
406a51:	5d                   	pop    %ebp
406a52:	c3                   	ret
406a53:	cc                   	int3
406a54:	cc                   	int3
406a55:	cc                   	int3
406a56:	cc                   	int3
406a57:	cc                   	int3
406a58:	cc                   	int3
406a59:	cc                   	int3
406a5a:	cc                   	int3
406a5b:	cc                   	int3
406a5c:	cc                   	int3
406a5d:	cc                   	int3
406a5e:	cc                   	int3
406a5f:	cc                   	int3
406a60:	55                   	push   %ebp
406a61:	8b ec                	mov    %esp,%ebp
406a63:	51                   	push   %ecx
406a64:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
406a68:	75 04                	jne    0x406a6e
406a6a:	33 c0                	xor    %eax,%eax
406a6c:	eb 23                	jmp    0x406a91
406a6e:	8b 45 08             	mov    0x8(%ebp),%eax
406a71:	89 45 fc             	mov    %eax,-0x4(%ebp)
406a74:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406a77:	0f b7 11             	movzwl (%ecx),%edx
406a7a:	85 d2                	test   %edx,%edx
406a7c:	74 0b                	je     0x406a89
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