46994f:	e8 f4 e1 f9 ff       	call   0x407b48
469954:	3b 05 18 87 6a 00    	cmp    0x6a8718,%eax
46995a:	75 1d                	jne    0x469979
46995c:	8b 46 0c             	mov    0xc(%esi),%eax
46995f:	50                   	push   %eax
469960:	8b 46 08             	mov    0x8(%esi),%eax
469963:	50                   	push   %eax
469964:	8b 46 04             	mov    0x4(%esi),%eax
469967:	05 00 bc 00 00       	add    $0xbc00,%eax
46996c:	50                   	push   %eax
46996d:	55                   	push   %ebp
46996e:	e8 9d e3 f9 ff       	call   0x407d10
469973:	85 c0                	test   %eax,%eax
469975:	74 02                	je     0x469979
469977:	b3 01                	mov    $0x1,%bl
469979:	8b c3                	mov    %ebx,%eax
46997b:	5d                   	pop    %ebp
46997c:	5f                   	pop    %edi
46997d:	5e                   	pop    %esi
46997e:	5b                   	pop    %ebx
46997f:	c3                   	ret
469980:	53                   	push   %ebx
469981:	56                   	push   %esi
469982:	57                   	push   %edi
469983:	55                   	push   %ebp
469984:	8b fa                	mov    %edx,%edi
469986:	8b e8                	mov    %eax,%ebp
469988:	33 db                	xor    %ebx,%ebx
46998a:	8b b5 84 00 00 00    	mov    0x84(%ebp),%esi
469990:	85 f6                	test   %esi,%esi
469992:	74 17                	je     0x4699ab
469994:	8b d7                	mov    %edi,%edx
469996:	8b c6                	mov    %esi,%eax
469998:	8b 08                	mov    (%eax),%ecx
46999a:	ff 91 d8 00 00 00    	call   *0xd8(%ecx)
4699a0:	84 c0                	test   %al,%al
4699a2:	74 07                	je     0x4699ab
4699a4:	8b c5                	mov    %ebp,%eax
4699a6:	e8 2d 0f 00 00       	call   0x46a8d8
4699ab:	8b c3                	mov    %ebx,%eax
4699ad:	5d                   	pop    %ebp
4699ae:	5f                   	pop    %edi
4699af:	5e                   	pop    %esi
4699b0:	5b                   	pop    %ebx
4699b1:	c3                   	ret
4699b2:	8b c0                	mov    %eax,%eax
4699b4:	53                   	push   %ebx
4699b5:	56                   	push   %esi
4699b6:	57                   	push   %edi
4699b7:	55                   	push   %ebp
4699b8:	51                   	push   %ecx
4699b9:	8b ea                	mov    %edx,%ebp
4699bb:	8b d8                	mov    %eax,%ebx
4699bd:	c6 04 24 00          	movb   $0x0,(%esp)
4699c1:	66 83 bb 12 01 00 00 	cmpw   $0x0,0x112(%ebx)
4699c8:	00
4699c9:	74 10                	je     0x4699db
4699cb:	8b cc                	mov    %esp,%ecx
4699cd:	8b d5                	mov    %ebp,%edx
4699cf:	8b 83 14 01 00 00    	mov    0x114(%ebx),%eax
4699d5:	ff 93 10 01 00 00    	call   *0x110(%ebx)
4699db:	80 3c 24 00          	cmpb   $0x0,(%esp)
4699df:	75 2e                	jne    0x469a0f
4699e1:	8b 7b 44             	mov    0x44(%ebx),%edi
4699e4:	85 ff                	test   %edi,%edi
4699e6:	74 23                	je     0x469a0b
4699e8:	8b c7                	mov    %edi,%eax
4699ea:	e8 65 55 fe ff       	call   0x44ef54
4699ef:	50                   	push   %eax
4699f0:	e8 fb e1 f9 ff       	call   0x407bf0
4699f5:	85 c0                	test   %eax,%eax
4699f7:	74 12                	je     0x469a0b
4699f9:	8b d5                	mov    %ebp,%edx
4699fb:	8b 43 44             	mov    0x44(%ebx),%eax
4699fe:	66 be ab ff          	mov    $0xffab,%si
469a02:	e8 6d a2 f9 ff       	call   0x403c74
469a07:	84 c0                	test   %al,%al
469a09:	75 04                	jne    0x469a0f
469a0b:	33 c0                	xor    %eax,%eax
469a0d:	eb 02                	jmp    0x469a11
469a0f:	b0 01                	mov    $0x1,%al
469a11:	88 04 24             	mov    %al,(%esp)
469a14:	8a 04 24             	mov    (%esp),%al
469a17:	5a                   	pop    %edx
469a18:	5d                   	pop    %ebp
469a19:	5f                   	pop    %edi
469a1a:	5e                   	pop    %esi
469a1b:	5b                   	pop    %ebx
469a1c:	c3                   	ret
469a1d:	8d 40 00             	lea    0x0(%eax),%eax
469a20:	53                   	push   %ebx
469a21:	56                   	push   %esi
469a22:	57                   	push   %edi
469a23:	51                   	push   %ecx
469a24:	8b fa                	mov    %edx,%edi
469a26:	8b f0                	mov    %eax,%esi
469a28:	33 db                	xor    %ebx,%ebx
469a2a:	6a 01                	push   $0x1
469a2c:	6a 00                	push   $0x0
469a2e:	6a 00                	push   $0x0
469a30:	6a 00                	push   $0x0
469a32:	57                   	push   %edi
469a33:	e8 50 e2 f9 ff       	call   0x407c88
469a38:	85 c0                	test   %eax,%eax
469a3a:	74 75                	je     0x469ab1
469a3c:	b3 01                	mov    $0x1,%bl
469a3e:	83 7f 04 12          	cmpl   $0x12,0x4(%edi)
469a42:	74 66                	je     0x469aaa
469a44:	c6 04 24 00          	movb   $0x0,(%esp)
469a48:	66 83 be d2 00 00 00 	cmpw   $0x0,0xd2(%esi)
469a4f:	00
469a50:	74 10                	je     0x469a62
469a52:	8b cc                	mov    %esp,%ecx
469a54:	8b d7                	mov    %edi,%edx
469a56:	8b 86 d4 00 00 00    	mov    0xd4(%esi),%eax
469a5c:	ff 96 d0 00 00 00    	call   *0xd0(%esi)
469a62:	8b d7                	mov    %edi,%edx
469a64:	8b c6                	mov    %esi,%eax
469a66:	e8 15 ff ff ff       	call   0x469980
469a6b:	84 c0                	test   %al,%al
469a6d:	75 42                	jne    0x469ab1
469a6f:	80 3c 24 00          	cmpb   $0x0,(%esp)
469a73:	75 3c                	jne    0x469ab1
469a75:	8b d7                	mov    %edi,%edx
469a77:	8b c6                	mov    %esi,%eax
469a79:	e8 0e fe ff ff       	call   0x46988c
469a7e:	84 c0                	test   %al,%al
469a80:	75 2f                	jne    0x469ab1
469a82:	8b d7                	mov    %edi,%edx
469a84:	8b c6                	mov    %esi,%eax
469a86:	e8 3d fe ff ff       	call   0x4698c8
469a8b:	84 c0                	test   %al,%al
469a8d:	75 22                	jne    0x469ab1
469a8f:	8b d7                	mov    %edi,%edx
469a91:	8b c6                	mov    %esi,%eax
469a93:	e8 d0 fd ff ff       	call   0x469868
469a98:	84 c0                	test   %al,%al
469a9a:	75 15                	jne    0x469ab1
469a9c:	57                   	push   %edi
469a9d:	e8 9e e3 f9 ff       	call   0x407e40
469aa2:	57                   	push   %edi
469aa3:	e8 48 de f9 ff       	call   0x4078f0
469aa8:	eb 07                	jmp    0x469ab1
469aaa:	c6 86 9c 00 00 00 01 	movb   $0x1,0x9c(%esi)
469ab1:	8b c3                	mov    %ebx,%eax
469ab3:	5a                   	pop    %edx
469ab4:	5f                   	pop    %edi
469ab5:	5e                   	pop    %esi
469ab6:	5b                   	pop    %ebx
469ab7:	c3                   	ret
469ab8:	53                   	push   %ebx
469ab9:	83 c4 e4             	add    $0xffffffe4,%esp
469abc:	8b d8                	mov    %eax,%ebx
469abe:	8b d4                	mov    %esp,%edx
469ac0:	8b c3                	mov    %ebx,%eax
469ac2:	e8 59 ff ff ff       	call   0x469a20
469ac7:	84 c0                	test   %al,%al
469ac9:	75 f3                	jne    0x469abe
469acb:	83 c4 1c             	add    $0x1c,%esp
469ace:	5b                   	pop    %ebx
469acf:	c3                   	ret
469ad0:	53                   	push   %ebx
469ad1:	83 c4 e4             	add    $0xffffffe4,%esp
469ad4:	8b d8                	mov    %eax,%ebx
469ad6:	8b d4                	mov    %esp,%edx
469ad8:	8b c3                	mov    %ebx,%eax
469ada:	e8 41 ff ff ff       	call   0x469a20
469adf:	84 c0                	test   %al,%al
469ae1:	75 09                	jne    0x469aec
469ae3:	8b d4                	mov    %esp,%edx
469ae5:	8b c3                	mov    %ebx,%eax
469ae7:	e8 98 08 00 00       	call   0x46a384
469aec:	83 c4 1c             	add    $0x1c,%esp
469aef:	5b                   	pop    %ebx
469af0:	c3                   	ret
469af1:	8d 40 00             	lea    0x0(%eax),%eax
469af4:	55                   	push   %ebp
469af5:	8b ec                	mov    %esp,%ebp
469af7:	53                   	push   %ebx
469af8:	8b d8                	mov    %eax,%ebx
469afa:	80 bb a4 00 00 00 00 	cmpb   $0x0,0xa4(%ebx)
469b01:	75 1a                	jne    0x469b1d
469b03:	8b 43 30             	mov    0x30(%ebx),%eax
469b06:	85 c0                	test   %eax,%eax
469b08:	74 40                	je     0x469b4a
469b0a:	8d 55 08             	lea    0x8(%ebp),%edx
469b0d:	52                   	push   %edx
469b0e:	6a 00                	push   $0x0
469b10:	68 20 b0 00 00       	push   $0xb020
469b15:	50                   	push   %eax
469b16:	e8 f5 e1 f9 ff       	call   0x407d10
469b1b:	eb 2d                	jmp    0x469b4a
469b1d:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
469b23:	e8 78 22 fb ff       	call   0x41bda0
469b28:	b8 08 00 00 00       	mov    $0x8,%eax
469b2d:	e8 7a 8c f9 ff       	call   0x4027ac
469b32:	8b 55 08             	mov    0x8(%ebp),%edx
469b35:	89 10                	mov    %edx,(%eax)
469b37:	8b 55 0c             	mov    0xc(%ebp),%edx
469b3a:	89 50 04             	mov    %edx,0x4(%eax)
469b3d:	8b d0                	mov    %eax,%edx
469b3f:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
469b45:	e8 ca 20 fb ff       	call   0x41bc14
469b4a:	5b                   	pop    %ebx
469b4b:	5d                   	pop    %ebp
469b4c:	c2 08 00             	ret    $0x8
469b4f:	90                   	nop
469b50:	55                   	push   %ebp
469b51:	8b ec                	mov    %esp,%ebp
469b53:	53                   	push   %ebx
469b54:	56                   	push   %esi
469b55:	57                   	push   %edi
469b56:	8b d8                	mov    %eax,%ebx
469b58:	80 bb a4 00 00 00 00 	cmpb   $0x0,0xa4(%ebx)
469b5f:	75 1a                	jne    0x469b7b
469b61:	8b 43 30             	mov    0x30(%ebx),%eax
469b64:	85 c0                	test   %eax,%eax
469b66:	74 5d                	je     0x469bc5
469b68:	8d 55 08             	lea    0x8(%ebp),%edx
469b6b:	52                   	push   %edx
469b6c:	6a 01                	push   $0x1
469b6e:	68 20 b0 00 00       	push   $0xb020
469b73:	50                   	push   %eax
469b74:	e8 97 e1 f9 ff       	call   0x407d10
469b79:	eb 4a                	jmp    0x469bc5
469b7b:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
469b81:	8b 78 08             	mov    0x8(%eax),%edi
469b84:	4f                   	dec    %edi
469b85:	85 ff                	test   %edi,%edi
469b87:	7c 3c                	jl     0x469bc5
469b89:	47                   	inc    %edi
469b8a:	33 f6                	xor    %esi,%esi
469b8c:	8b d6                	mov    %esi,%edx
469b8e:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
469b94:	e8 27 22 fb ff       	call   0x41bdc0
469b99:	8b 10                	mov    (%eax),%edx
469b9b:	3b 55 08             	cmp    0x8(%ebp),%edx
469b9e:	75 21                	jne    0x469bc1
469ba0:	8b 55 0c             	mov    0xc(%ebp),%edx
469ba3:	3b 50 04             	cmp    0x4(%eax),%edx
469ba6:	75 19                	jne    0x469bc1
469ba8:	ba 08 00 00 00       	mov    $0x8,%edx
469bad:	e8 1a 8c f9 ff       	call   0x4027cc
469bb2:	8b d6                	mov    %esi,%edx
469bb4:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
469bba:	e8 a1 20 fb ff       	call   0x41bc60
469bbf:	eb 04                	jmp    0x469bc5
469bc1:	46                   	inc    %esi
469bc2:	4f                   	dec    %edi
469bc3:	75 c7                	jne    0x469b8c
469bc5:	5f                   	pop    %edi
469bc6:	5e                   	pop    %esi
469bc7:	5b                   	pop    %ebx
469bc8:	5d                   	pop    %ebp
469bc9:	c2 08 00             	ret    $0x8
469bcc:	53                   	push   %ebx
469bcd:	a1 f0 6e 6a 00       	mov    0x6a6ef0,%eax
469bd2:	83 38 00             	cmpl   $0x0,(%eax)
469bd5:	74 0a                	je     0x469be1
469bd7:	8b 1d f0 6e 6a 00    	mov    0x6a6ef0,%ebx
469bdd:	8b 1b                	mov    (%ebx),%ebx
469bdf:	ff d3                	call   *%ebx
469be1:	5b                   	pop    %ebx
469be2:	c3                   	ret
469be3:	90                   	nop
469be4:	55                   	push   %ebp
469be5:	8b ec                	mov    %esp,%ebp
469be7:	51                   	push   %ecx
469be8:	53                   	push   %ebx
469be9:	56                   	push   %esi
469bea:	57                   	push   %edi
469beb:	89 4d fc             	mov    %ecx,-0x4(%ebp)
469bee:	8b da                	mov    %edx,%ebx
469bf0:	8b f0                	mov    %eax,%esi
469bf2:	8b c3                	mov    %ebx,%eax
469bf4:	ff 50 f4             	call   *-0xc(%eax)
469bf7:	8b d8                	mov    %eax,%ebx
469bf9:	8b 45 fc             	mov    -0x4(%ebp),%eax
469bfc:	89 18                	mov    %ebx,(%eax)
469bfe:	33 c0                	xor    %eax,%eax
469c00:	55                   	push   %ebp
469c01:	68 22 9c 46 00       	push   $0x469c22
469c06:	64 ff 30             	push   %fs:(%eax)
469c09:	64 89 20             	mov    %esp,%fs:(%eax)
469c0c:	8b ce                	mov    %esi,%ecx
469c0e:	83 ca ff             	or     $0xffffffff,%edx
469c11:	8b c3                	mov    %ebx,%eax
469c13:	8b 38                	mov    (%eax),%edi
469c15:	ff 57 2c             	call   *0x2c(%edi)
469c18:	33 c0                	xor    %eax,%eax
469c1a:	5a                   	pop    %edx
469c1b:	59                   	pop    %ecx
469c1c:	59                   	pop    %ecx
469c1d:	64 89 10             	mov    %edx,%fs:(%eax)
469c20:	eb 16                	jmp    0x469c38
469c22:	e9 31 a3 f9 ff       	jmp    0x403f58
469c27:	8b 45 fc             	mov    -0x4(%ebp),%eax
469c2a:	33 d2                	xor    %edx,%edx
469c2c:	89 10                	mov    %edx,(%eax)
469c2e:	e8 39 a6 f9 ff       	call   0x40426c
469c33:	e8 88 a6 f9 ff       	call   0x4042c0
469c38:	83 7e 44 00          	cmpl   $0x0,0x44(%esi)
469c3c:	75 1d                	jne    0x469c5b
469c3e:	8b c3                	mov    %ebx,%eax
469c40:	8b 15 a4 f5 45 00    	mov    0x45f5a4,%edx
469c46:	e8 b9 9f f9 ff       	call   0x403c04
469c4b:	84 c0                	test   %al,%al
469c4d:	74 0c                	je     0x469c5b
469c4f:	8b fb                	mov    %ebx,%edi
469c51:	8b c7                	mov    %edi,%eax
469c53:	e8 d8 52 fe ff       	call   0x44ef30
469c58:	89 7e 44             	mov    %edi,0x44(%esi)
469c5b:	5f                   	pop    %edi
469c5c:	5e                   	pop    %esi
469c5d:	5b                   	pop    %ebx
469c5e:	59                   	pop    %ecx
469c5f:	5d                   	pop    %ebp
469c60:	c3                   	ret
469c61:	8d 40 00             	lea    0x0(%eax),%eax
469c64:	55                   	push   %ebp
469c65:	8b ec                	mov    %esp,%ebp
469c67:	51                   	push   %ecx
469c68:	53                   	push   %ebx
469c69:	56                   	push   %esi
469c6a:	57                   	push   %edi
469c6b:	89 45 fc             	mov    %eax,-0x4(%ebp)
469c6e:	8b 45 fc             	mov    -0x4(%ebp),%eax
469c71:	c6 80 a5 00 00 00 01 	movb   $0x1,0xa5(%eax)
469c78:	33 d2                	xor    %edx,%edx
469c7a:	55                   	push   %ebp
469c7b:	68 42 9d 46 00       	push   $0x469d42
469c80:	64 ff 32             	push   %fs:(%edx)
469c83:	64 89 22             	mov    %esp,%fs:(%edx)
469c86:	b8 3c 07 46 00       	mov    $0x46073c,%eax
469c8b:	e8 70 f4 f9 ff       	call   0x409100
469c90:	8b 45 fc             	mov    -0x4(%ebp),%eax
469c93:	8b 40 44             	mov    0x44(%eax),%eax
469c96:	85 c0                	test   %eax,%eax
469c98:	0f 84 8c 00 00 00    	je     0x469d2a
469c9e:	8b 15 90 6f 6a 00    	mov    0x6a6f90,%edx
469ca4:	8b 12                	mov    (%edx),%edx
469ca6:	83 ea 03             	sub    $0x3,%edx
469ca9:	74 0e                	je     0x469cb9
469cab:	83 ea 04             	sub    $0x4,%edx
469cae:	75 10                	jne    0x469cc0
469cb0:	c6 80 2b 02 00 00 01 	movb   $0x1,0x22b(%eax)
469cb7:	eb 07                	jmp    0x469cc0
469cb9:	b2 02                	mov    $0x2,%dl
469cbb:	e8 e4 a5 ff ff       	call   0x4642a4
469cc0:	8b 45 fc             	mov    -0x4(%ebp),%eax