4657fc:	8b 10                	mov    (%eax),%edx
4657fe:	ff 92 e0 00 00 00    	call   *0xe0(%edx)
465804:	84 c0                	test   %al,%al
465806:	74 09                	je     0x465811
465808:	e8 13 8c fa ff       	call   0x40e420
46580d:	84 c0                	test   %al,%al
46580f:	75 04                	jne    0x465815
465811:	33 c0                	xor    %eax,%eax
465813:	eb 02                	jmp    0x465817
465815:	b0 01                	mov    $0x1,%al
465817:	83 e0 7f             	and    $0x7f,%eax
46581a:	89 46 0c             	mov    %eax,0xc(%esi)
46581d:	5e                   	pop    %esi
46581e:	5b                   	pop    %ebx
46581f:	c3                   	ret
465820:	53                   	push   %ebx
465821:	56                   	push   %esi
465822:	8b da                	mov    %edx,%ebx
465824:	33 d2                	xor    %edx,%edx
465826:	89 53 0c             	mov    %edx,0xc(%ebx)
465829:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
46582d:	75 1e                	jne    0x46584d
46582f:	80 b8 2f 02 00 00 01 	cmpb   $0x1,0x22f(%eax)
465836:	74 15                	je     0x46584d
465838:	83 b8 48 02 00 00 00 	cmpl   $0x0,0x248(%eax)
46583f:	74 0c                	je     0x46584d
465841:	8b 90 48 02 00 00    	mov    0x248(%eax),%edx
465847:	80 7a 5c 00          	cmpb   $0x0,0x5c(%edx)
46584b:	74 26                	je     0x465873
46584d:	8b 73 08             	mov    0x8(%ebx),%esi
465850:	33 d2                	xor    %edx,%edx
465852:	e8 89 f7 ff ff       	call   0x464fe0
465857:	0f b7 4e 08          	movzwl 0x8(%esi),%ecx
46585b:	8b 56 04             	mov    0x4(%esi),%edx
46585e:	b8 17 b0 00 00       	mov    $0xb017,%eax
465863:	e8 8c fe fd ff       	call   0x4456f4
465868:	85 c0                	test   %eax,%eax
46586a:	74 07                	je     0x465873
46586c:	c7 43 0c 01 00 00 00 	movl   $0x1,0xc(%ebx)
465873:	5e                   	pop    %esi
465874:	5b                   	pop    %ebx
465875:	c3                   	ret
465876:	8b c0                	mov    %eax,%eax
465878:	53                   	push   %ebx
465879:	56                   	push   %esi
46587a:	8b f2                	mov    %edx,%esi
46587c:	8b d8                	mov    %eax,%ebx
46587e:	8b 46 04             	mov    0x4(%esi),%eax
465881:	25 f0 ff 00 00       	and    $0xfff0,%eax
465886:	3d 20 f0 00 00       	cmp    $0xf020,%eax
46588b:	75 18                	jne    0x4658a5
46588d:	a1 3c 8c 6a 00       	mov    0x6a8c3c,%eax
465892:	3b 58 44             	cmp    0x44(%eax),%ebx
465895:	75 0e                	jne    0x4658a5
465897:	8b d6                	mov    %esi,%edx
465899:	a1 3c 8c 6a 00       	mov    0x6a8c3c,%eax
46589e:	e8 09 36 00 00       	call   0x468eac
4658a3:	eb 2d                	jmp    0x4658d2
4658a5:	8b 46 04             	mov    0x4(%esi),%eax
4658a8:	25 f0 ff 00 00       	and    $0xfff0,%eax
4658ad:	3d 10 f0 00 00       	cmp    $0xf010,%eax
4658b2:	75 15                	jne    0x4658c9
4658b4:	f6 43 1c 10          	testb  $0x10,0x1c(%ebx)
4658b8:	75 0f                	jne    0x4658c9
4658ba:	80 7b 5b 00          	cmpb   $0x0,0x5b(%ebx)
4658be:	74 09                	je     0x4658c9
4658c0:	80 bb 2b 02 00 00 01 	cmpb   $0x1,0x22b(%ebx)
4658c7:	75 09                	jne    0x4658d2
4658c9:	8b d6                	mov    %esi,%edx
4658cb:	8b c3                	mov    %ebx,%eax
4658cd:	e8 ce 87 fe ff       	call   0x44e0a0
4658d2:	8b 46 04             	mov    0x4(%esi),%eax
4658d5:	25 f0 ff 00 00       	and    $0xfff0,%eax
4658da:	3d 20 f0 00 00       	cmp    $0xf020,%eax
4658df:	74 07                	je     0x4658e8
4658e1:	3d 20 f1 00 00       	cmp    $0xf120,%eax
4658e6:	75 17                	jne    0x4658ff
4658e8:	f6 43 1c 10          	testb  $0x10,0x1c(%ebx)
4658ec:	75 11                	jne    0x4658ff
4658ee:	80 7b 5b 00          	cmpb   $0x0,0x5b(%ebx)
4658f2:	74 0b                	je     0x4658ff
4658f4:	8b c3                	mov    %ebx,%eax
4658f6:	66 be d0 ff          	mov    $0xffd0,%si
4658fa:	e8 75 e3 f9 ff       	call   0x403c74
4658ff:	5e                   	pop    %esi
465900:	5b                   	pop    %ebx
465901:	c3                   	ret
465902:	8b c0                	mov    %eax,%eax
465904:	53                   	push   %ebx
465905:	56                   	push   %esi
465906:	8b f2                	mov    %edx,%esi
465908:	8b d8                	mov    %eax,%ebx
46590a:	8b 46 08             	mov    0x8(%esi),%eax
46590d:	48                   	dec    %eax
46590e:	74 07                	je     0x465917
465910:	83 e8 02             	sub    $0x2,%eax
465913:	74 49                	je     0x46595e
465915:	eb 77                	jmp    0x46598e
465917:	8b c3                	mov    %ebx,%eax
465919:	e8 36 96 fe ff       	call   0x44ef54
46591e:	50                   	push   %eax
46591f:	e8 b4 22 fa ff       	call   0x407bd8
465924:	85 c0                	test   %eax,%eax
465926:	74 09                	je     0x465931
465928:	c6 83 2c 02 00 00 02 	movb   $0x2,0x22c(%ebx)
46592f:	eb 21                	jmp    0x465952
465931:	8b c3                	mov    %ebx,%eax
465933:	e8 1c 96 fe ff       	call   0x44ef54
465938:	50                   	push   %eax
465939:	e8 c2 22 fa ff       	call   0x407c00
46593e:	85 c0                	test   %eax,%eax
465940:	74 09                	je     0x46594b
465942:	c6 83 2c 02 00 00 03 	movb   $0x3,0x22c(%ebx)
465949:	eb 07                	jmp    0x465952
46594b:	c6 83 2c 02 00 00 01 	movb   $0x1,0x22c(%ebx)
465952:	8b d6                	mov    %esi,%edx
465954:	8b c3                	mov    %ebx,%eax
465956:	8b 08                	mov    (%eax),%ecx
465958:	ff 51 f0             	call   *-0x10(%ecx)
46595b:	5e                   	pop    %esi
46595c:	5b                   	pop    %ebx
46595d:	c3                   	ret
46595e:	80 bb 2c 02 00 00 00 	cmpb   $0x0,0x22c(%ebx)
465965:	74 30                	je     0x465997
465967:	33 c0                	xor    %eax,%eax
465969:	8a 83 2c 02 00 00    	mov    0x22c(%ebx),%al
46596f:	8b 04 85 2c ae 68 00 	mov    0x68ae2c(,%eax,4),%eax
465976:	50                   	push   %eax
465977:	8b c3                	mov    %ebx,%eax
465979:	e8 d6 95 fe ff       	call   0x44ef54
46597e:	50                   	push   %eax
46597f:	e8 9c 24 fa ff       	call   0x407e20
465984:	c6 83 2c 02 00 00 00 	movb   $0x0,0x22c(%ebx)
46598b:	5e                   	pop    %esi
46598c:	5b                   	pop    %ebx
46598d:	c3                   	ret
46598e:	8b d6                	mov    %esi,%edx
465990:	8b c3                	mov    %ebx,%eax
465992:	8b 08                	mov    (%eax),%ecx
465994:	ff 51 f0             	call   *-0x10(%ecx)
465997:	5e                   	pop    %esi
465998:	5b                   	pop    %ebx
465999:	c3                   	ret
46599a:	8b c0                	mov    %eax,%eax
46599c:	53                   	push   %ebx
46599d:	56                   	push   %esi
46599e:	8b da                	mov    %edx,%ebx
4659a0:	8b f0                	mov    %eax,%esi
4659a2:	8b d3                	mov    %ebx,%edx
4659a4:	8b c6                	mov    %esi,%eax
4659a6:	8b 08                	mov    (%eax),%ecx
4659a8:	ff 51 f0             	call   *-0x10(%ecx)
4659ab:	80 be 2f 02 00 00 01 	cmpb   $0x1,0x22f(%esi)
4659b2:	75 3d                	jne    0x4659f1
4659b4:	8b c6                	mov    %esi,%eax
4659b6:	e8 99 95 fe ff       	call   0x44ef54
4659bb:	3b 43 08             	cmp    0x8(%ebx),%eax
4659be:	0f 94 c0             	sete   %al
4659c1:	8b d8                	mov    %eax,%ebx
4659c3:	8b d3                	mov    %ebx,%edx
4659c5:	8b c6                	mov    %esi,%eax
4659c7:	e8 b0 f5 ff ff       	call   0x464f7c
4659cc:	84 db                	test   %bl,%bl
4659ce:	74 21                	je     0x4659f1
4659d0:	a1 3c 8c 6a 00       	mov    0x6a8c3c,%eax
4659d5:	8b 40 44             	mov    0x44(%eax),%eax
4659d8:	f6 40 54 04          	testb  $0x4,0x54(%eax)
4659dc:	74 13                	je     0x4659f1
4659de:	a1 3c 8c 6a 00       	mov    0x6a8c3c,%eax
4659e3:	8b 40 44             	mov    0x44(%eax),%eax
4659e6:	b2 01                	mov    $0x1,%dl
4659e8:	66 be d1 ff          	mov    $0xffd1,%si
4659ec:	e8 83 e2 f9 ff       	call   0x403c74
4659f1:	5e                   	pop    %esi
4659f2:	5b                   	pop    %ebx
4659f3:	c3                   	ret
4659f4:	66 83 7a 08 00       	cmpw   $0x0,0x8(%edx)
4659f9:	74 0a                	je     0x465a05
4659fb:	8b 42 04             	mov    0x4(%edx),%eax
4659fe:	50                   	push   %eax
4659ff:	e8 5c 23 fa ff       	call   0x407d60
465a04:	c3                   	ret
465a05:	6a 01                	push   $0x1
465a07:	8b 4a 04             	mov    0x4(%edx),%ecx
465a0a:	83 f9 01             	cmp    $0x1,%ecx
465a0d:	1b c9                	sbb    %ecx,%ecx
465a0f:	f7 d9                	neg    %ecx
465a11:	8b 90 20 02 00 00    	mov    0x220(%eax),%edx
465a17:	e8 6c 9a fe ff       	call   0x44f488
465a1c:	c3                   	ret
465a1d:	8d 40 00             	lea    0x0(%eax),%eax
465a20:	53                   	push   %ebx
465a21:	56                   	push   %esi
465a22:	8b f2                	mov    %edx,%esi
465a24:	8b d8                	mov    %eax,%ebx
465a26:	33 d2                	xor    %edx,%edx
465a28:	8b c3                	mov    %ebx,%eax
465a2a:	e8 b1 f5 ff ff       	call   0x464fe0
465a2f:	8b d6                	mov    %esi,%edx
465a31:	8b c3                	mov    %ebx,%eax
465a33:	8b 08                	mov    (%eax),%ecx
465a35:	ff 51 f0             	call   *-0x10(%ecx)
465a38:	5e                   	pop    %esi
465a39:	5b                   	pop    %ebx
465a3a:	c3                   	ret
465a3b:	90                   	nop
465a3c:	55                   	push   %ebp
465a3d:	8b ec                	mov    %esp,%ebp
465a3f:	53                   	push   %ebx
465a40:	8b d8                	mov    %eax,%ebx
465a42:	33 c0                	xor    %eax,%eax
465a44:	85 db                	test   %ebx,%ebx
465a46:	74 2e                	je     0x465a76
465a48:	8b 45 08             	mov    0x8(%ebp),%eax
465a4b:	8b 40 fc             	mov    -0x4(%eax),%eax
465a4e:	8b 40 08             	mov    0x8(%eax),%eax
465a51:	8b 50 08             	mov    0x8(%eax),%edx
465a54:	b1 01                	mov    $0x1,%cl
465a56:	8b c3                	mov    %ebx,%eax
465a58:	e8 df 63 ff ff       	call   0x45be3c
465a5d:	85 c0                	test   %eax,%eax
465a5f:	75 15                	jne    0x465a76
465a61:	8b 45 08             	mov    0x8(%ebp),%eax
465a64:	8b 40 fc             	mov    -0x4(%eax),%eax
465a67:	8b 40 08             	mov    0x8(%eax),%eax
465a6a:	8b 50 0c             	mov    0xc(%eax),%edx
465a6d:	33 c9                	xor    %ecx,%ecx
465a6f:	8b c3                	mov    %ebx,%eax
465a71:	e8 c6 63 ff ff       	call   0x45be3c
465a76:	5b                   	pop    %ebx
465a77:	5d                   	pop    %ebp
465a78:	c3                   	ret
465a79:	8d 40 00             	lea    0x0(%eax),%eax
465a7c:	53                   	push   %ebx
465a7d:	56                   	push   %esi
465a7e:	8b f0                	mov    %eax,%esi
465a80:	33 db                	xor    %ebx,%ebx
465a82:	80 be 50 01 00 00 01 	cmpb   $0x1,0x150(%esi)
465a89:	75 0d                	jne    0x465a98
465a8b:	83 be 58 01 00 00 00 	cmpl   $0x0,0x158(%esi)
465a92:	74 04                	je     0x465a98
465a94:	b3 01                	mov    $0x1,%bl
465a96:	eb 14                	jmp    0x465aac
465a98:	80 be 50 01 00 00 00 	cmpb   $0x0,0x150(%esi)
465a9f:	75 0b                	jne    0x465aac
465aa1:	83 be 54 01 00 00 00 	cmpl   $0x0,0x154(%esi)
465aa8:	74 02                	je     0x465aac
465aaa:	b3 01                	mov    $0x1,%bl
465aac:	8b c3                	mov    %ebx,%eax
465aae:	5e                   	pop    %esi
465aaf:	5b                   	pop    %ebx
465ab0:	c3                   	ret
465ab1:	8d 40 00             	lea    0x0(%eax),%eax
465ab4:	55                   	push   %ebp
465ab5:	8b ec                	mov    %esp,%ebp
465ab7:	53                   	push   %ebx
465ab8:	8b d8                	mov    %eax,%ebx
465aba:	80 bb 50 01 00 00 01 	cmpb   $0x1,0x150(%ebx)
465ac1:	75 0d                	jne    0x465ad0
465ac3:	c6 02 01             	movb   $0x1,(%edx)
465ac6:	8b 83 58 01 00 00    	mov    0x158(%ebx),%eax
465acc:	89 01                	mov    %eax,(%ecx)
465ace:	eb 11                	jmp    0x465ae1
465ad0:	c6 02 00             	movb   $0x0,(%edx)
465ad3:	8b 45 08             	mov    0x8(%ebp),%eax
465ad6:	8b 93 54 01 00 00    	mov    0x154(%ebx),%edx
465adc:	e8 db ed f9 ff       	call   0x4048bc
465ae1:	5b                   	pop    %ebx
465ae2:	5d                   	pop    %ebp
465ae3:	c2 04 00             	ret    $0x4
465ae6:	8b c0                	mov    %eax,%eax
465ae8:	55                   	push   %ebp
465ae9:	8b ec                	mov    %esp,%ebp
465aeb:	83 c4 dc             	add    $0xffffffdc,%esp
465aee:	53                   	push   %ebx
465aef:	56                   	push   %esi
465af0:	33 c9                	xor    %ecx,%ecx
465af2:	89 4d f0             	mov    %ecx,-0x10(%ebp)
465af5:	89 55 fc             	mov    %edx,-0x4(%ebp)
465af8:	8b f0                	mov    %eax,%esi
465afa:	33 c0                	xor    %eax,%eax
465afc:	55                   	push   %ebp
465afd:	68 44 5c 46 00       	push   $0x465c44
465b02:	64 ff 30             	push   %fs:(%eax)
465b05:	64 89 20             	mov    %esp,%fs:(%eax)
465b08:	f6 46 1c 10          	testb  $0x10,0x1c(%esi)
465b0c:	74 0f                	je     0x465b1d
465b0e:	8b 55 fc             	mov    -0x4(%ebp),%edx
465b11:	8b c6                	mov    %esi,%eax
465b13:	8b 08                	mov    (%eax),%ecx
465b15:	ff 51 f0             	call   *-0x10(%ecx)
465b18:	e9 11 01 00 00       	jmp    0x465c2e
465b1d:	8b 45 fc             	mov    -0x4(%ebp),%eax
465b20:	8b 40 08             	mov    0x8(%eax),%eax
465b23:	83 78 04 01          	cmpl   $0x1,0x4(%eax)
465b27:	75 5d                	jne    0x465b86
465b29:	8b 40 0c             	mov    0xc(%eax),%eax
465b2c:	e8 87 fb fd ff       	call   0x4456b8
465b31:	8b d8                	mov    %eax,%ebx
465b33:	eb 03                	jmp    0x465b38
465b35:	8b 5b 30             	mov    0x30(%ebx),%ebx
465b38:	85 db                	test   %ebx,%ebx
465b3a:	74 0b                	je     0x465b47
465b3c:	8b c3                	mov    %ebx,%eax
465b3e:	e8 39 ff ff ff       	call   0x465a7c
465b43:	84 c0                	test   %al,%al
465b45:	74 ee                	je     0x465b35
465b47:	85 db                	test   %ebx,%ebx
465b49:	0f 84 df 00 00 00    	je     0x465c2e
465b4f:	8d 45 f0             	lea    -0x10(%ebp),%eax
465b52:	50                   	push   %eax
465b53:	8d 4d f8             	lea    -0x8(%ebp),%ecx
465b56:	8d 55 f7             	lea    -0x9(%ebp),%edx
465b59:	8b c3                	mov    %ebx,%eax
465b5b:	e8 54 ff ff ff       	call   0x465ab4
465b60:	8d 4d dc             	lea    -0x24(%ebp),%ecx
465b63:	33 d2                	xor    %edx,%edx
465b65:	33 c0                	xor    %eax,%eax
465b67:	e8 e0 4a fb ff       	call   0x41a64c
465b6c:	8d 55 dc             	lea    -0x24(%ebp),%edx
465b6f:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
465b72:	8b c3                	mov    %ebx,%eax
465b74:	e8 6b 27 fe ff       	call   0x4482e4
465b79:	8d 45 e4             	lea    -0x1c(%ebp),%eax
465b7c:	e8 07 24 fa ff       	call   0x407f88
465b81:	89 45 ec             	mov    %eax,-0x14(%ebp)
465b84:	eb 4b                	jmp    0x465bd1
465b86:	c6 45 f7 01          	movb   $0x1,-0x9(%ebp)
465b8a:	55                   	push   %ebp
465b8b:	8b 86 48 02 00 00    	mov    0x248(%esi),%eax
465b91:	e8 a6 fe ff ff       	call   0x465a3c
465b96:	59                   	pop    %ecx
465b97:	89 45 f8             	mov    %eax,-0x8(%ebp)
465b9a:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
465b9e:	75 0d                	jne    0x465bad
465ba0:	55                   	push   %ebp
465ba1:	8b 46 7c             	mov    0x7c(%esi),%eax
465ba4:	e8 93 fe ff ff       	call   0x465a3c
465ba9:	59                   	pop    %ecx
465baa:	89 45 f8             	mov    %eax,-0x8(%ebp)
465bad:	8d 4d dc             	lea    -0x24(%ebp),%ecx
465bb0:	33 d2                	xor    %edx,%edx
465bb2:	33 c0                	xor    %eax,%eax
465bb4:	e8 93 4a fb ff       	call   0x41a64c
465bb9:	8d 55 dc             	lea    -0x24(%ebp),%edx
465bbc:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
465bbf:	8b c6                	mov    %esi,%eax
465bc1:	e8 1e 27 fe ff       	call   0x4482e4
465bc6:	8d 45 e4             	lea    -0x1c(%ebp),%eax
465bc9:	e8 ba 23 fa ff       	call   0x407f88