4069eb:	6a ff                	push   $0xffffffff
4069ed:	68 80 24 40 00       	push   $0x402480
4069f2:	6a ff                	push   $0xffffffff
4069f4:	50                   	push   %eax
4069f5:	6a 01                	push   $0x1
4069f7:	6a 7f                	push   $0x7f
4069f9:	ff 15 f4 20 41 00    	call   *0x4120f4
4069ff:	83 f8 02             	cmp    $0x2,%eax
406a02:	74 25                	je     0x406a29
406a04:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
406a08:	72 02                	jb     0x406a0c
406a0a:	8b 36                	mov    (%esi),%esi
406a0c:	6a ff                	push   $0xffffffff
406a0e:	68 8c 24 40 00       	push   $0x40248c
406a13:	6a ff                	push   $0xffffffff
406a15:	56                   	push   %esi
406a16:	6a 01                	push   $0x1
406a18:	6a 7f                	push   $0x7f
406a1a:	ff 15 f4 20 41 00    	call   *0x4120f4
406a20:	83 f8 02             	cmp    $0x2,%eax
406a23:	75 11                	jne    0x406a36
406a25:	32 c0                	xor    %al,%al
406a27:	eb 02                	jmp    0x406a2b
406a29:	b0 01                	mov    $0x1,%al
406a2b:	8b 4d 14             	mov    0x14(%ebp),%ecx
406a2e:	c6 01 01             	movb   $0x1,(%ecx)
406a31:	5e                   	pop    %esi
406a32:	c9                   	leave
406a33:	c2 10 00             	ret    $0x10
406a36:	8d 4d fc             	lea    -0x4(%ebp),%ecx
406a39:	e8 a7 f4 ff ff       	call   0x405ee5
406a3e:	8b c8                	mov    %eax,%ecx
406a40:	e8 96 fa ff ff       	call   0x4064db
406a45:	50                   	push   %eax
406a46:	6a 1b                	push   $0x1b
406a48:	6a 57                	push   $0x57
406a4a:	e8 c6 0b 00 00       	call   0x407615
406a4f:	cc                   	int3
406a50:	8b ff                	mov    %edi,%edi
406a52:	55                   	push   %ebp
406a53:	8b ec                	mov    %esp,%ebp
406a55:	51                   	push   %ecx
406a56:	56                   	push   %esi
406a57:	8b 75 08             	mov    0x8(%ebp),%esi
406a5a:	57                   	push   %edi
406a5b:	85 f6                	test   %esi,%esi
406a5d:	78 25                	js     0x406a84
406a5f:	8b 41 14             	mov    0x14(%ecx),%eax
406a62:	2b 41 10             	sub    0x10(%ecx),%eax
406a65:	6a 18                	push   $0x18
406a67:	99                   	cltd
406a68:	5f                   	pop    %edi
406a69:	f7 ff                	idiv   %edi
406a6b:	3b f0                	cmp    %eax,%esi
406a6d:	7d 15                	jge    0x406a84
406a6f:	6b c6 18             	imul   $0x18,%esi,%eax
406a72:	03 41 10             	add    0x10(%ecx),%eax
406a75:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
406a79:	72 02                	jb     0x406a7d
406a7b:	8b 00                	mov    (%eax),%eax
406a7d:	5f                   	pop    %edi
406a7e:	5e                   	pop    %esi
406a7f:	59                   	pop    %ecx
406a80:	5d                   	pop    %ebp
406a81:	c2 04 00             	ret    $0x4
406a84:	6a 1f                	push   $0x1f
406a86:	5a                   	pop    %edx
406a87:	6a 57                	push   $0x57
406a89:	59                   	pop    %ecx
406a8a:	e8 54 0b 00 00       	call   0x4075e3
406a8f:	cc                   	int3
406a90:	8b ff                	mov    %edi,%edi
406a92:	55                   	push   %ebp
406a93:	8b ec                	mov    %esp,%ebp
406a95:	51                   	push   %ecx
406a96:	51                   	push   %ecx
406a97:	57                   	push   %edi
406a98:	8b f9                	mov    %ecx,%edi
406a9a:	8b 4d 08             	mov    0x8(%ebp),%ecx
406a9d:	85 c9                	test   %ecx,%ecx
406a9f:	75 0e                	jne    0x406aaf
406aa1:	39 4f 0c             	cmp    %ecx,0xc(%edi)
406aa4:	0f 87 f2 00 00 00    	ja     0x406b9c
406aaa:	e9 e8 00 00 00       	jmp    0x406b97
406aaf:	8b 47 08             	mov    0x8(%edi),%eax
406ab2:	56                   	push   %esi
406ab3:	8b 30                	mov    (%eax),%esi
406ab5:	89 75 fc             	mov    %esi,-0x4(%ebp)
406ab8:	3b f0                	cmp    %eax,%esi
406aba:	0f 84 d6 00 00 00    	je     0x406b96
406ac0:	53                   	push   %ebx
406ac1:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
406ac5:	32 db                	xor    %bl,%bl
406ac7:	83 39 00             	cmpl   $0x0,(%ecx)
406aca:	74 3a                	je     0x406b06
406acc:	8d 46 10             	lea    0x10(%esi),%eax
406acf:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
406ad3:	72 02                	jb     0x406ad7
406ad5:	8b 00                	mov    (%eax),%eax
406ad7:	6a ff                	push   $0xffffffff
406ad9:	50                   	push   %eax
406ada:	6a ff                	push   $0xffffffff
406adc:	ff 31                	push   (%ecx)
406ade:	6a 01                	push   $0x1
406ae0:	6a 7f                	push   $0x7f
406ae2:	ff 15 f4 20 41 00    	call   *0x4120f4
406ae8:	83 f8 02             	cmp    $0x2,%eax
406aeb:	74 17                	je     0x406b04
406aed:	8b 55 f8             	mov    -0x8(%ebp),%edx
406af0:	8b 45 08             	mov    0x8(%ebp),%eax
406af3:	42                   	inc    %edx
406af4:	89 55 f8             	mov    %edx,-0x8(%ebp)
406af7:	8d 0c 90             	lea    (%eax,%edx,4),%ecx
406afa:	83 39 00             	cmpl   $0x0,(%ecx)
406afd:	8d 46 10             	lea    0x10(%esi),%eax
406b00:	75 cd                	jne    0x406acf
406b02:	eb 02                	jmp    0x406b06
406b04:	b3 01                	mov    $0x1,%bl
406b06:	83 c6 10             	add    $0x10,%esi
406b09:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
406b0d:	72 04                	jb     0x406b13
406b0f:	8b 06                	mov    (%esi),%eax
406b11:	eb 02                	jmp    0x406b15
406b13:	8b c6                	mov    %esi,%eax
406b15:	6a ff                	push   $0xffffffff
406b17:	50                   	push   %eax
406b18:	6a ff                	push   $0xffffffff
406b1a:	68 74 24 40 00       	push   $0x402474
406b1f:	6a 01                	push   $0x1
406b21:	6a 7f                	push   $0x7f
406b23:	ff 15 f4 20 41 00    	call   *0x4120f4
406b29:	83 f8 02             	cmp    $0x2,%eax
406b2c:	75 02                	jne    0x406b30
406b2e:	b3 01                	mov    $0x1,%bl
406b30:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
406b34:	72 04                	jb     0x406b3a
406b36:	8b 06                	mov    (%esi),%eax
406b38:	eb 02                	jmp    0x406b3c
406b3a:	8b c6                	mov    %esi,%eax
406b3c:	6a ff                	push   $0xffffffff
406b3e:	50                   	push   %eax
406b3f:	6a ff                	push   $0xffffffff
406b41:	68 60 24 40 00       	push   $0x402460
406b46:	6a 01                	push   $0x1
406b48:	6a 7f                	push   $0x7f
406b4a:	ff 15 f4 20 41 00    	call   *0x4120f4
406b50:	83 f8 02             	cmp    $0x2,%eax
406b53:	75 02                	jne    0x406b57
406b55:	b3 01                	mov    $0x1,%bl
406b57:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
406b5b:	72 02                	jb     0x406b5f
406b5d:	8b 36                	mov    (%esi),%esi
406b5f:	6a ff                	push   $0xffffffff
406b61:	56                   	push   %esi
406b62:	6a ff                	push   $0xffffffff
406b64:	68 64 24 40 00       	push   $0x402464
406b69:	6a 01                	push   $0x1
406b6b:	6a 7f                	push   $0x7f
406b6d:	ff 15 f4 20 41 00    	call   *0x4120f4
406b73:	83 f8 02             	cmp    $0x2,%eax
406b76:	75 02                	jne    0x406b7a
406b78:	b3 01                	mov    $0x1,%bl
406b7a:	8d 4d fc             	lea    -0x4(%ebp),%ecx
406b7d:	84 db                	test   %bl,%bl
406b7f:	74 29                	je     0x406baa
406b81:	e8 0d f4 ff ff       	call   0x405f93
406b86:	8b 75 fc             	mov    -0x4(%ebp),%esi
406b89:	8b 4d 08             	mov    0x8(%ebp),%ecx
406b8c:	3b 77 08             	cmp    0x8(%edi),%esi
406b8f:	0f 85 2c ff ff ff    	jne    0x406ac1
406b95:	5b                   	pop    %ebx
406b96:	5e                   	pop    %esi
406b97:	5f                   	pop    %edi
406b98:	c9                   	leave
406b99:	c2 04 00             	ret    $0x4
406b9c:	8d 45 f8             	lea    -0x8(%ebp),%eax
406b9f:	50                   	push   %eax
406ba0:	8d 4f 08             	lea    0x8(%edi),%ecx
406ba3:	e8 d9 f3 ff ff       	call   0x405f81
406ba8:	8b c8                	mov    %eax,%ecx
406baa:	e8 36 f3 ff ff       	call   0x405ee5
406baf:	8b c8                	mov    %eax,%ecx
406bb1:	e8 25 f9 ff ff       	call   0x4064db
406bb6:	50                   	push   %eax
406bb7:	6a 1c                	push   $0x1c
406bb9:	6a 57                	push   $0x57
406bbb:	e8 55 0a 00 00       	call   0x407615
406bc0:	cc                   	int3
406bc1:	8b ff                	mov    %edi,%edi
406bc3:	55                   	push   %ebp
406bc4:	8b ec                	mov    %esp,%ebp
406bc6:	8b 41 14             	mov    0x14(%ecx),%eax
406bc9:	2b 41 10             	sub    0x10(%ecx),%eax
406bcc:	6a 18                	push   $0x18
406bce:	99                   	cltd
406bcf:	59                   	pop    %ecx
406bd0:	f7 f9                	idiv   %ecx
406bd2:	3b 45 08             	cmp    0x8(%ebp),%eax
406bd5:	7c 0d                	jl     0x406be4
406bd7:	3b 45 0c             	cmp    0xc(%ebp),%eax
406bda:	7e 04                	jle    0x406be0
406bdc:	6a 1d                	push   $0x1d
406bde:	eb 06                	jmp    0x406be6
406be0:	5d                   	pop    %ebp
406be1:	c2 08 00             	ret    $0x8
406be4:	6a 1e                	push   $0x1e
406be6:	5a                   	pop    %edx
406be7:	6a 57                	push   $0x57
406be9:	59                   	pop    %ecx
406bea:	e8 f4 09 00 00       	call   0x4075e3
406bef:	cc                   	int3
406bf0:	6a 5c                	push   $0x5c
406bf2:	b8 d5 ed 40 00       	mov    $0x40edd5,%eax
406bf7:	e8 85 7a 00 00       	call   0x40e681
406bfc:	8b d9                	mov    %ecx,%ebx
406bfe:	8b 7d 08             	mov    0x8(%ebp),%edi
406c01:	8d 45 98             	lea    -0x68(%ebp),%eax
406c04:	57                   	push   %edi
406c05:	50                   	push   %eax
406c06:	89 7d 9c             	mov    %edi,-0x64(%ebp)
406c09:	e8 28 f3 ff ff       	call   0x405f36
406c0e:	8b 75 98             	mov    -0x68(%ebp),%esi
406c11:	3b 33                	cmp    (%ebx),%esi
406c13:	74 12                	je     0x406c27
406c15:	8d 46 10             	lea    0x10(%esi),%eax
406c18:	50                   	push   %eax
406c19:	57                   	push   %edi
406c1a:	e8 3c e7 ff ff       	call   0x40535b
406c1f:	84 c0                	test   %al,%al
406c21:	0f 84 89 00 00 00    	je     0x406cb0
406c27:	6a 07                	push   $0x7
406c29:	5a                   	pop    %edx
406c2a:	33 c0                	xor    %eax,%eax
406c2c:	8d 7d d4             	lea    -0x2c(%ebp),%edi
406c2f:	8b ca                	mov    %edx,%ecx
406c31:	f3 ab                	rep stos %eax,%es:(%edi)
406c33:	33 ff                	xor    %edi,%edi
406c35:	89 55 ec             	mov    %edx,-0x14(%ebp)
406c38:	89 7d e8             	mov    %edi,-0x18(%ebp)
406c3b:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
406c3f:	6a ff                	push   $0xffffffff
406c41:	89 7d fc             	mov    %edi,-0x4(%ebp)
406c44:	8d 4d a0             	lea    -0x60(%ebp),%ecx
406c47:	57                   	push   %edi
406c48:	ff 75 9c             	push   -0x64(%ebp)
406c4b:	89 55 b4             	mov    %edx,-0x4c(%ebp)
406c4e:	89 7d b0             	mov    %edi,-0x50(%ebp)
406c51:	66 89 45 a0          	mov    %ax,-0x60(%ebp)
406c55:	e8 bc f5 ff ff       	call   0x406216
406c5a:	8a 45 d4             	mov    -0x2c(%ebp),%al
406c5d:	8d 4d bc             	lea    -0x44(%ebp),%ecx
406c60:	88 45 b8             	mov    %al,-0x48(%ebp)
406c63:	8d 45 d8             	lea    -0x28(%ebp),%eax
406c66:	50                   	push   %eax
406c67:	e8 11 06 00 00       	call   0x40727d
406c6c:	8d 45 a0             	lea    -0x60(%ebp),%eax
406c6f:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
406c73:	50                   	push   %eax
406c74:	8b cb                	mov    %ebx,%ecx
406c76:	e8 9d 01 00 00       	call   0x406e18
406c7b:	50                   	push   %eax
406c7c:	83 c0 10             	add    $0x10,%eax
406c7f:	8b cb                	mov    %ebx,%ecx
406c81:	50                   	push   %eax
406c82:	56                   	push   %esi
406c83:	8d 45 9c             	lea    -0x64(%ebp),%eax
406c86:	50                   	push   %eax
406c87:	e8 c8 01 00 00       	call   0x406e54
406c8c:	8b 75 9c             	mov    -0x64(%ebp),%esi
406c8f:	8d 4d bc             	lea    -0x44(%ebp),%ecx
406c92:	57                   	push   %edi
406c93:	6a 01                	push   $0x1
406c95:	e8 56 f8 ff ff       	call   0x4064f0
406c9a:	57                   	push   %edi
406c9b:	6a 01                	push   $0x1
406c9d:	8d 4d a0             	lea    -0x60(%ebp),%ecx
406ca0:	e8 4b f8 ff ff       	call   0x4064f0
406ca5:	57                   	push   %edi
406ca6:	6a 01                	push   $0x1
406ca8:	8d 4d d8             	lea    -0x28(%ebp),%ecx
406cab:	e8 40 f8 ff ff       	call   0x4064f0
406cb0:	8d 46 28             	lea    0x28(%esi),%eax
406cb3:	e8 78 79 00 00       	call   0x40e630
406cb8:	c2 04 00             	ret    $0x4
406cbb:	8b ff                	mov    %edi,%edi
406cbd:	56                   	push   %esi
406cbe:	8b f1                	mov    %ecx,%esi
406cc0:	6a 00                	push   $0x0
406cc2:	6a 01                	push   $0x1
406cc4:	8d 4e 1c             	lea    0x1c(%esi),%ecx
406cc7:	e8 24 f8 ff ff       	call   0x4064f0
406ccc:	6a 00                	push   $0x0
406cce:	6a 01                	push   $0x1
406cd0:	8b ce                	mov    %esi,%ecx
406cd2:	e8 19 f8 ff ff       	call   0x4064f0
406cd7:	5e                   	pop    %esi
406cd8:	c3                   	ret
406cd9:	8b ff                	mov    %edi,%edi
406cdb:	55                   	push   %ebp
406cdc:	8b ec                	mov    %esp,%ebp
406cde:	51                   	push   %ecx
406cdf:	53                   	push   %ebx
406ce0:	56                   	push   %esi
406ce1:	8b f1                	mov    %ecx,%esi
406ce3:	57                   	push   %edi
406ce4:	6a 18                	push   $0x18
406ce6:	5b                   	pop    %ebx
406ce7:	8b 7e 08             	mov    0x8(%esi),%edi
406cea:	8b c7                	mov    %edi,%eax
406cec:	8b 4e 04             	mov    0x4(%esi),%ecx
406cef:	2b c1                	sub    %ecx,%eax
406cf1:	99                   	cltd
406cf2:	f7 fb                	idiv   %ebx
406cf4:	83 f8 01             	cmp    $0x1,%eax
406cf7:	73 44                	jae    0x406d3d
406cf9:	2b 0e                	sub    (%esi),%ecx
406cfb:	8b c1                	mov    %ecx,%eax
406cfd:	99                   	cltd
406cfe:	f7 fb                	idiv   %ebx
406d00:	bb aa aa aa 0a       	mov    $0xaaaaaaa,%ebx
406d05:	8b cb                	mov    %ebx,%ecx
406d07:	89 45 fc             	mov    %eax,-0x4(%ebp)
406d0a:	2b c8                	sub    %eax,%ecx
406d0c:	83 f9 01             	cmp    $0x1,%ecx
406d0f:	72 33                	jb     0x406d44
406d11:	2b 3e                	sub    (%esi),%edi
406d13:	8b c7                	mov    %edi,%eax
406d15:	99                   	cltd
406d16:	6a 18                	push   $0x18
406d18:	59                   	pop    %ecx
406d19:	f7 f9                	idiv   %ecx
406d1b:	8b c8                	mov    %eax,%ecx
406d1d:	d1 e9                	shr    $1,%ecx
406d1f:	2b d9                	sub    %ecx,%ebx
406d21:	03 c8                	add    %eax,%ecx
406d23:	3b d8                	cmp    %eax,%ebx
406d25:	1b c0                	sbb    %eax,%eax
406d27:	f7 d0                	not    %eax
406d29:	23 c1                	and    %ecx,%eax
406d2b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406d2e:	41                   	inc    %ecx
406d2f:	3b c1                	cmp    %ecx,%eax
406d31:	73 02                	jae    0x406d35
406d33:	8b c1                	mov    %ecx,%eax
406d35:	50                   	push   %eax
406d36:	8b ce                	mov    %esi,%ecx
406d38:	e8 18 00 00 00       	call   0x406d55
406d3d:	5f                   	pop    %edi
406d3e:	5e                   	pop    %esi
406d3f:	5b                   	pop    %ebx