4068e9:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
4068ef:	e8 d3 ef ff ff       	call   0x4058c7
4068f4:	68 04 27 40 00       	push   $0x402704
4068f9:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
4068ff:	e8 e8 ee ff ff       	call   0x4057ec
406904:	81 e7 ff ff ff 7f    	and    $0x7fffffff,%edi
40690a:	76 04                	jbe    0x406910
40690c:	8b c7                	mov    %edi,%eax
40690e:	eb 03                	jmp    0x406913
406910:	33 c0                	xor    %eax,%eax
406912:	40                   	inc    %eax
406913:	68 03 00 1f 00       	push   $0x1f0003
406918:	33 f6                	xor    %esi,%esi
40691a:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
406920:	56                   	push   %esi
406921:	51                   	push   %ecx
406922:	50                   	push   %eax
406923:	57                   	push   %edi
406924:	56                   	push   %esi
406925:	ff 15 24 b1 41 00    	call   *0x41b124
40692b:	85 c0                	test   %eax,%eax
40692d:	74 0a                	je     0x406939
40692f:	50                   	push   %eax
406930:	8b cb                	mov    %ebx,%ecx
406932:	e8 7b 07 00 00       	call   0x4070b2
406937:	eb 07                	jmp    0x406940
406939:	e8 75 f5 ff ff       	call   0x405eb3
40693e:	8b f0                	mov    %eax,%esi
406940:	85 f6                	test   %esi,%esi
406942:	79 13                	jns    0x406957
406944:	56                   	push   %esi
406945:	51                   	push   %ecx
406946:	8b 4d 04             	mov    0x4(%ebp),%ecx
406949:	ba 85 00 00 00       	mov    $0x85,%edx
40694e:	e8 f3 fd ff ff       	call   0x406746
406953:	8b c6                	mov    %esi,%eax
406955:	eb 02                	jmp    0x406959
406957:	33 c0                	xor    %eax,%eax
406959:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40695c:	5f                   	pop    %edi
40695d:	5e                   	pop    %esi
40695e:	33 cd                	xor    %ebp,%ecx
406960:	5b                   	pop    %ebx
406961:	e8 7a cf 00 00       	call   0x4138e0
406966:	c9                   	leave
406967:	c2 10 00             	ret    $0x10
40696a:	e8 48 fe ff ff       	call   0x4067b7
40696f:	cc                   	int3
406970:	8b ff                	mov    %edi,%edi
406972:	55                   	push   %ebp
406973:	8b ec                	mov    %esp,%ebp
406975:	83 ec 0c             	sub    $0xc,%esp
406978:	53                   	push   %ebx
406979:	56                   	push   %esi
40697a:	57                   	push   %edi
40697b:	33 db                	xor    %ebx,%ebx
40697d:	8b f1                	mov    %ecx,%esi
40697f:	53                   	push   %ebx
406980:	56                   	push   %esi
406981:	8b fa                	mov    %edx,%edi
406983:	ff 15 34 b1 41 00    	call   *0x41b134
406989:	83 f8 ff             	cmp    $0xffffffff,%eax
40698c:	75 13                	jne    0x4069a1
40698e:	ba 95 00 00 00       	mov    $0x95,%edx
406993:	51                   	push   %ecx
406994:	8b 4d 04             	mov    0x4(%ebp),%ecx
406997:	e8 c9 fd ff ff       	call   0x406765
40699c:	e9 df 00 00 00       	jmp    0x406a80
4069a1:	85 c0                	test   %eax,%eax
4069a3:	74 11                	je     0x4069b6
4069a5:	3d 02 01 00 00       	cmp    $0x102,%eax
4069aa:	74 0a                	je     0x4069b6
4069ac:	ba 96 00 00 00       	mov    $0x96,%edx
4069b1:	e9 b9 00 00 00       	jmp    0x406a6f
4069b6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4069b9:	85 c0                	test   %eax,%eax
4069bb:	75 3d                	jne    0x4069fa
4069bd:	8d 45 fc             	lea    -0x4(%ebp),%eax
4069c0:	50                   	push   %eax
4069c1:	6a 01                	push   $0x1
4069c3:	56                   	push   %esi
4069c4:	ff 15 30 b1 41 00    	call   *0x41b130
4069ca:	85 c0                	test   %eax,%eax
4069cc:	75 07                	jne    0x4069d5
4069ce:	ba 9e 00 00 00       	mov    $0x9e,%edx
4069d3:	eb be                	jmp    0x406993
4069d5:	ff 45 fc             	incl   -0x4(%ebp)
4069d8:	53                   	push   %ebx
4069d9:	6a 01                	push   $0x1
4069db:	56                   	push   %esi
4069dc:	ff 15 30 b1 41 00    	call   *0x41b130
4069e2:	85 c0                	test   %eax,%eax
4069e4:	75 0d                	jne    0x4069f3
4069e6:	ff 15 44 b1 41 00    	call   *0x41b144
4069ec:	3d 2a 01 00 00       	cmp    $0x12a,%eax
4069f1:	74 6e                	je     0x406a61
4069f3:	ba a3 00 00 00       	mov    $0xa3,%edx
4069f8:	eb 75                	jmp    0x406a6f
4069fa:	8d 45 f8             	lea    -0x8(%ebp),%eax
4069fd:	89 5d f8             	mov    %ebx,-0x8(%ebp)
406a00:	50                   	push   %eax
406a01:	6a 01                	push   $0x1
406a03:	56                   	push   %esi
406a04:	ff 15 30 b1 41 00    	call   *0x41b130
406a0a:	85 c0                	test   %eax,%eax
406a0c:	75 0a                	jne    0x406a18
406a0e:	ba ad 00 00 00       	mov    $0xad,%edx
406a13:	e9 7b ff ff ff       	jmp    0x406993
406a18:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
406a1b:	74 07                	je     0x406a24
406a1d:	ba ae 00 00 00       	mov    $0xae,%edx
406a22:	eb 4b                	jmp    0x406a6f
406a24:	53                   	push   %ebx
406a25:	6a 01                	push   $0x1
406a27:	56                   	push   %esi
406a28:	ff 15 30 b1 41 00    	call   *0x41b130
406a2e:	85 c0                	test   %eax,%eax
406a30:	75 38                	jne    0x406a6a
406a32:	ff 15 44 b1 41 00    	call   *0x41b144
406a38:	3d 2a 01 00 00       	cmp    $0x12a,%eax
406a3d:	75 2b                	jne    0x406a6a
406a3f:	53                   	push   %ebx
406a40:	56                   	push   %esi
406a41:	ff 15 34 b1 41 00    	call   *0x41b134
406a47:	83 f8 ff             	cmp    $0xffffffff,%eax
406a4a:	75 0a                	jne    0x406a56
406a4c:	ba b4 00 00 00       	mov    $0xb4,%edx
406a51:	e9 3d ff ff ff       	jmp    0x406993
406a56:	85 c0                	test   %eax,%eax
406a58:	74 07                	je     0x406a61
406a5a:	ba b5 00 00 00       	mov    $0xb5,%edx
406a5f:	eb 0e                	jmp    0x406a6f
406a61:	8b 45 fc             	mov    -0x4(%ebp),%eax
406a64:	89 07                	mov    %eax,(%edi)
406a66:	33 c0                	xor    %eax,%eax
406a68:	eb 16                	jmp    0x406a80
406a6a:	ba b1 00 00 00       	mov    $0xb1,%edx
406a6f:	be ff ff 00 80       	mov    $0x8000ffff,%esi
406a74:	56                   	push   %esi
406a75:	51                   	push   %ecx
406a76:	8b 4d 04             	mov    0x4(%ebp),%ecx
406a79:	e8 c8 fc ff ff       	call   0x406746
406a7e:	8b c6                	mov    %esi,%eax
406a80:	5f                   	pop    %edi
406a81:	5e                   	pop    %esi
406a82:	5b                   	pop    %ebx
406a83:	c9                   	leave
406a84:	c3                   	ret
406a85:	8b ff                	mov    %edi,%edi
406a87:	55                   	push   %ebp
406a88:	8b ec                	mov    %esp,%ebp
406a8a:	83 e4 f8             	and    $0xfffffff8,%esp
406a8d:	81 ec 1c 02 00 00    	sub    $0x21c,%esp
406a93:	a1 18 51 41 00       	mov    0x415118,%eax
406a98:	33 c4                	xor    %esp,%eax
406a9a:	89 84 24 18 02 00 00 	mov    %eax,0x218(%esp)
406aa1:	8b 45 08             	mov    0x8(%ebp),%eax
406aa4:	ba 04 01 00 00       	mov    $0x104,%edx
406aa9:	53                   	push   %ebx
406aaa:	56                   	push   %esi
406aab:	57                   	push   %edi
406aac:	51                   	push   %ecx
406aad:	51                   	push   %ecx
406aae:	33 ff                	xor    %edi,%edi
406ab0:	89 44 24 1c          	mov    %eax,0x1c(%esp)
406ab4:	51                   	push   %ecx
406ab5:	8d 4c 24 24          	lea    0x24(%esp),%ecx
406ab9:	89 38                	mov    %edi,(%eax)
406abb:	89 78 04             	mov    %edi,0x4(%eax)
406abe:	e8 04 ee ff ff       	call   0x4058c7
406ac3:	68 04 27 40 00       	push   $0x402704
406ac8:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
406acc:	e8 1b ed ff ff       	call   0x4057ec
406ad1:	8d 44 24 18          	lea    0x18(%esp),%eax
406ad5:	50                   	push   %eax
406ad6:	57                   	push   %edi
406ad7:	68 03 00 1f 00       	push   $0x1f0003
406adc:	ff 15 50 b1 41 00    	call   *0x41b150
406ae2:	8b f0                	mov    %eax,%esi
406ae4:	85 f6                	test   %esi,%esi
406ae6:	75 1d                	jne    0x406b05
406ae8:	ff 15 44 b1 41 00    	call   *0x41b144
406aee:	83 f8 02             	cmp    $0x2,%eax
406af1:	74 48                	je     0x406b3b
406af3:	51                   	push   %ecx
406af4:	8b 4d 04             	mov    0x4(%ebp),%ecx
406af7:	ba c9 00 00 00       	mov    $0xc9,%edx
406afc:	e8 64 fc ff ff       	call   0x406765
406b01:	8b f8                	mov    %eax,%edi
406b03:	eb 36                	jmp    0x406b3b
406b05:	8d 54 24 10          	lea    0x10(%esp),%edx
406b09:	89 7c 24 10          	mov    %edi,0x10(%esp)
406b0d:	8b ce                	mov    %esi,%ecx
406b0f:	e8 5c fe ff ff       	call   0x406970
406b14:	8b d8                	mov    %eax,%ebx
406b16:	85 db                	test   %ebx,%ebx
406b18:	79 13                	jns    0x406b2d
406b1a:	53                   	push   %ebx
406b1b:	51                   	push   %ecx
406b1c:	8b 4d 04             	mov    0x4(%ebp),%ecx
406b1f:	ba cf 00 00 00       	mov    $0xcf,%edx
406b24:	e8 1d fc ff ff       	call   0x406746
406b29:	8b fb                	mov    %ebx,%edi
406b2b:	eb 0e                	jmp    0x406b3b
406b2d:	8b 4c 24 14          	mov    0x14(%esp),%ecx
406b31:	8b 44 24 10          	mov    0x10(%esp),%eax
406b35:	99                   	cltd
406b36:	89 01                	mov    %eax,(%ecx)
406b38:	89 51 04             	mov    %edx,0x4(%ecx)
406b3b:	85 f6                	test   %esi,%esi
406b3d:	74 06                	je     0x406b45
406b3f:	56                   	push   %esi
406b40:	e8 87 fc ff ff       	call   0x4067cc
406b45:	8b 8c 24 24 02 00 00 	mov    0x224(%esp),%ecx
406b4c:	8b c7                	mov    %edi,%eax
406b4e:	5f                   	pop    %edi
406b4f:	5e                   	pop    %esi
406b50:	5b                   	pop    %ebx
406b51:	33 cc                	xor    %esp,%ecx
406b53:	e8 88 cd 00 00       	call   0x4138e0
406b58:	8b e5                	mov    %ebp,%esp
406b5a:	5d                   	pop    %ebp
406b5b:	c2 08 00             	ret    $0x8
406b5e:	8b ff                	mov    %edi,%edi
406b60:	55                   	push   %ebp
406b61:	8b ec                	mov    %esp,%ebp
406b63:	83 ec 0c             	sub    $0xc,%esp
406b66:	8b 45 0c             	mov    0xc(%ebp),%eax
406b69:	53                   	push   %ebx
406b6a:	8b 5d 08             	mov    0x8(%ebp),%ebx
406b6d:	56                   	push   %esi
406b6e:	8b f1                	mov    %ecx,%esi
406b70:	33 c9                	xor    %ecx,%ecx
406b72:	57                   	push   %edi
406b73:	89 46 04             	mov    %eax,0x4(%esi)
406b76:	8b 43 04             	mov    0x4(%ebx),%eax
406b79:	89 46 08             	mov    %eax,0x8(%esi)
406b7c:	8d 46 0c             	lea    0xc(%esi),%eax
406b7f:	89 08                	mov    %ecx,(%eax)
406b81:	89 45 fc             	mov    %eax,-0x4(%ebp)
406b84:	66 8b 43 20          	mov    0x20(%ebx),%ax
406b88:	66 89 46 10          	mov    %ax,0x10(%esi)
406b8c:	8a 03                	mov    (%ebx),%al
406b8e:	88 46 12             	mov    %al,0x12(%esi)
406b91:	8d 46 14             	lea    0x14(%esi),%eax
406b94:	89 08                	mov    %ecx,(%eax)
406b96:	89 45 f8             	mov    %eax,-0x8(%ebp)
406b99:	8b 43 48             	mov    0x48(%ebx),%eax
406b9c:	89 46 18             	mov    %eax,0x18(%esi)
406b9f:	8b 43 4c             	mov    0x4c(%ebx),%eax
406ba2:	89 46 1c             	mov    %eax,0x1c(%esi)
406ba5:	8d 46 20             	lea    0x20(%esi),%eax
406ba8:	89 08                	mov    %ecx,(%eax)
406baa:	8b 4b 0c             	mov    0xc(%ebx),%ecx
406bad:	89 45 f4             	mov    %eax,-0xc(%ebp)
406bb0:	e8 9d f3 ff ff       	call   0x405f52
406bb5:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
406bb8:	8b f8                	mov    %eax,%edi
406bba:	e8 7b f3 ff ff       	call   0x405f3a
406bbf:	8b 4b 44             	mov    0x44(%ebx),%ecx
406bc2:	03 f8                	add    %eax,%edi
406bc4:	e8 71 f3 ff ff       	call   0x405f3a
406bc9:	03 f8                	add    %eax,%edi
406bcb:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
406bcf:	74 05                	je     0x406bd6
406bd1:	39 7e 28             	cmp    %edi,0x28(%esi)
406bd4:	73 2b                	jae    0x406c01
406bd6:	6a 08                	push   $0x8
406bd8:	8b d7                	mov    %edi,%edx
406bda:	59                   	pop    %ecx
406bdb:	e8 b6 ef ff ff       	call   0x405b96
406be0:	8b d8                	mov    %eax,%ebx
406be2:	85 db                	test   %ebx,%ebx
406be4:	74 18                	je     0x406bfe
406be6:	ff 76 24             	push   0x24(%esi)
406be9:	6a 00                	push   $0x0
406beb:	ff 15 68 b1 41 00    	call   *0x41b168
406bf1:	50                   	push   %eax
406bf2:	ff 15 28 b1 41 00    	call   *0x41b128
406bf8:	89 5e 24             	mov    %ebx,0x24(%esi)
406bfb:	89 7e 28             	mov    %edi,0x28(%esi)
406bfe:	8b 5d 08             	mov    0x8(%ebp),%ebx
406c01:	8b 4e 24             	mov    0x24(%esi),%ecx
406c04:	85 c9                	test   %ecx,%ecx
406c06:	74 3e                	je     0x406c46
406c08:	8b 76 28             	mov    0x28(%esi),%esi
406c0b:	ff 75 fc             	push   -0x4(%ebp)
406c0e:	03 f1                	add    %ecx,%esi
406c10:	ff 73 1c             	push   0x1c(%ebx)
406c13:	8b d6                	mov    %esi,%edx
406c15:	e8 2c 0d 00 00       	call   0x407946
406c1a:	ff 75 f8             	push   -0x8(%ebp)
406c1d:	8b d6                	mov    %esi,%edx
406c1f:	8b c8                	mov    %eax,%ecx
406c21:	ff 73 44             	push   0x44(%ebx)
406c24:	e8 1d 0d 00 00       	call   0x407946
406c29:	ff 75 f4             	push   -0xc(%ebp)
406c2c:	8b d6                	mov    %esi,%edx
406c2e:	8b c8                	mov    %eax,%ecx
406c30:	ff 73 0c             	push   0xc(%ebx)
406c33:	e8 a4 0c 00 00       	call   0x4078dc
406c38:	2b f0                	sub    %eax,%esi
406c3a:	56                   	push   %esi
406c3b:	6a 00                	push   $0x0
406c3d:	50                   	push   %eax
406c3e:	e8 1e d5 00 00       	call   0x414161
406c43:	83 c4 0c             	add    $0xc,%esp
406c46:	5f                   	pop    %edi
406c47:	5e                   	pop    %esi
406c48:	5b                   	pop    %ebx
406c49:	c9                   	leave
406c4a:	c2 08 00             	ret    $0x8
406c4d:	8b ff                	mov    %edi,%edi
406c4f:	53                   	push   %ebx
406c50:	57                   	push   %edi
406c51:	8b f9                	mov    %ecx,%edi
406c53:	0f b7 47 14          	movzwl 0x14(%edi),%eax
406c57:	8b 4f 10             	mov    0x10(%edi),%ecx
406c5a:	6b d8 2c             	imul   $0x2c,%eax,%ebx
406c5d:	03 d9                	add    %ecx,%ebx
406c5f:	3b cb                	cmp    %ebx,%ecx
406c61:	74 2a                	je     0x406c8d
406c63:	56                   	push   %esi
406c64:	8d 71 24             	lea    0x24(%ecx),%esi
406c67:	ff 36                	push   (%esi)
406c69:	6a 00                	push   $0x0
406c6b:	ff 15 68 b1 41 00    	call   *0x41b168
406c71:	50                   	push   %eax
406c72:	ff 15 28 b1 41 00    	call   *0x41b128
406c78:	83 26 00             	andl   $0x0,(%esi)
406c7b:	8d 76 2c             	lea    0x2c(%esi),%esi
406c7e:	83 66 d8 00          	andl   $0x0,-0x28(%esi)
406c82:	8d 46 dc             	lea    -0x24(%esi),%eax
406c85:	3b c3                	cmp    %ebx,%eax
406c87:	75 de                	jne    0x406c67
406c89:	8b 4f 10             	mov    0x10(%edi),%ecx
406c8c:	5e                   	pop    %esi
406c8d:	51                   	push   %ecx
406c8e:	6a 00                	push   $0x0
406c90:	ff 15 68 b1 41 00    	call   *0x41b168
406c96:	50                   	push   %eax
406c97:	ff 15 28 b1 41 00    	call   *0x41b128
406c9d:	33 c0                	xor    %eax,%eax
406c9f:	21 47 10             	and    %eax,0x10(%edi)
406ca2:	89 47 14             	mov    %eax,0x14(%edi)
406ca5:	5f                   	pop    %edi
406ca6:	5b                   	pop    %ebx
406ca7:	c3                   	ret
406ca8:	8b ff                	mov    %edi,%edi
406caa:	55                   	push   %ebp