46bbfe:	8b 40 08             	mov    0x8(%eax),%eax
46bc01:	89 45 fc             	mov    %eax,-0x4(%ebp)
46bc04:	eb 16                	jmp    0x46bc1c
46bc06:	66 81 fa 09 40       	cmp    $0x4009,%dx
46bc0b:	75 0a                	jne    0x46bc17
46bc0d:	8b 40 08             	mov    0x8(%eax),%eax
46bc10:	8b 00                	mov    (%eax),%eax
46bc12:	89 45 fc             	mov    %eax,-0x4(%ebp)
46bc15:	eb 05                	jmp    0x46bc1c
46bc17:	e8 90 ff ff ff       	call   0x46bbac
46bc1c:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
46bc22:	50                   	push   %eax
46bc23:	0f b6 4b 02          	movzbl 0x2(%ebx),%ecx
46bc27:	41                   	inc    %ecx
46bc28:	0f b6 43 01          	movzbl 0x1(%ebx),%eax
46bc2c:	8d 54 03 03          	lea    0x3(%ebx,%eax,1),%edx
46bc30:	8b 45 fc             	mov    -0x4(%ebp),%eax
46bc33:	e8 94 fe ff ff       	call   0x46bacc
46bc38:	85 f6                	test   %esi,%esi
46bc3a:	74 07                	je     0x46bc43
46bc3c:	8b c6                	mov    %esi,%eax
46bc3e:	e8 8d 40 fa ff       	call   0x40fcd0
46bc43:	8b 45 14             	mov    0x14(%ebp),%eax
46bc46:	50                   	push   %eax
46bc47:	56                   	push   %esi
46bc48:	8d 8d fc fe ff ff    	lea    -0x104(%ebp),%ecx
46bc4e:	8b d3                	mov    %ebx,%edx
46bc50:	8b 45 fc             	mov    -0x4(%ebp),%eax
46bc53:	e8 04 fb ff ff       	call   0x46b75c
46bc58:	5e                   	pop    %esi
46bc59:	5b                   	pop    %ebx
46bc5a:	8b e5                	mov    %ebp,%esp
46bc5c:	5d                   	pop    %ebp
46bc5d:	c3                   	ret
46bc5e:	8b c0                	mov    %eax,%eax
46bc60:	55                   	push   %ebp
46bc61:	8b ec                	mov    %esp,%ebp
46bc63:	6a 00                	push   $0x0
46bc65:	6a 00                	push   $0x0
46bc67:	6a 00                	push   $0x0
46bc69:	6a 00                	push   $0x0
46bc6b:	53                   	push   %ebx
46bc6c:	56                   	push   %esi
46bc6d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
46bc70:	8b da                	mov    %edx,%ebx
46bc72:	33 d2                	xor    %edx,%edx
46bc74:	55                   	push   %ebp
46bc75:	68 25 bd 46 00       	push   $0x46bd25
46bc7a:	64 ff 32             	push   %fs:(%edx)
46bc7d:	64 89 22             	mov    %esp,%fs:(%edx)
46bc80:	3d 09 00 02 80       	cmp    $0x80020009,%eax
46bc85:	75 57                	jne    0x46bcde
46bc87:	8b 43 1c             	mov    0x1c(%ebx),%eax
46bc8a:	50                   	push   %eax
46bc8b:	8d 45 f8             	lea    -0x8(%ebp),%eax
46bc8e:	8b 53 04             	mov    0x4(%ebx),%edx
46bc91:	e8 3a 8d f9 ff       	call   0x4049d0
46bc96:	8b 45 f8             	mov    -0x8(%ebp),%eax
46bc99:	50                   	push   %eax
46bc9a:	8d 45 f4             	lea    -0xc(%ebp),%eax
46bc9d:	8b 53 0c             	mov    0xc(%ebx),%edx
46bca0:	e8 2b 8d f9 ff       	call   0x4049d0
46bca5:	8b 45 f4             	mov    -0xc(%ebp),%eax
46bca8:	50                   	push   %eax
46bca9:	8b 43 10             	mov    0x10(%ebx),%eax
46bcac:	50                   	push   %eax
46bcad:	8d 45 f0             	lea    -0x10(%ebp),%eax
46bcb0:	8b 53 08             	mov    0x8(%ebx),%edx
46bcb3:	e8 18 8d f9 ff       	call   0x4049d0
46bcb8:	8b 4d f0             	mov    -0x10(%ebp),%ecx
46bcbb:	b2 01                	mov    $0x1,%dl
46bcbd:	a1 1c ae 46 00       	mov    0x46ae1c,%eax
46bcc2:	e8 31 f3 ff ff       	call   0x46aff8
46bcc7:	8b f0                	mov    %eax,%esi
46bcc9:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
46bccd:	74 22                	je     0x46bcf1
46bccf:	8b c3                	mov    %ebx,%eax
46bcd1:	8b 15 e0 75 40 00    	mov    0x4075e0,%edx
46bcd7:	e8 10 97 f9 ff       	call   0x4053ec
46bcdc:	eb 13                	jmp    0x46bcf1
46bcde:	50                   	push   %eax
46bcdf:	6a 00                	push   $0x0
46bce1:	33 c9                	xor    %ecx,%ecx
46bce3:	b2 01                	mov    $0x1,%dl
46bce5:	a1 c0 ad 46 00       	mov    0x46adc0,%eax
46bcea:	e8 35 f2 ff ff       	call   0x46af24
46bcef:	8b f0                	mov    %eax,%esi
46bcf1:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
46bcf5:	74 0c                	je     0x46bd03
46bcf7:	ff 75 fc             	push   -0x4(%ebp)
46bcfa:	8b c6                	mov    %esi,%eax
46bcfc:	e9 8f 84 f9 ff       	jmp    0x404190
46bd01:	eb 07                	jmp    0x46bd0a
46bd03:	8b c6                	mov    %esi,%eax
46bd05:	e8 86 84 f9 ff       	call   0x404190
46bd0a:	33 c0                	xor    %eax,%eax
46bd0c:	5a                   	pop    %edx
46bd0d:	59                   	pop    %ecx
46bd0e:	59                   	pop    %ecx
46bd0f:	64 89 10             	mov    %edx,%fs:(%eax)
46bd12:	68 2c bd 46 00       	push   $0x46bd2c
46bd17:	8d 45 f0             	lea    -0x10(%ebp),%eax
46bd1a:	ba 03 00 00 00       	mov    $0x3,%edx
46bd1f:	e8 48 8a f9 ff       	call   0x40476c
46bd24:	c3                   	ret
46bd25:	e9 86 83 f9 ff       	jmp    0x4040b0
46bd2a:	eb eb                	jmp    0x46bd17
46bd2c:	5e                   	pop    %esi
46bd2d:	5b                   	pop    %ebx
46bd2e:	8b e5                	mov    %ebp,%esp
46bd30:	5d                   	pop    %ebp
46bd31:	c2 04 00             	ret    $0x4
46bd34:	6a 00                	push   $0x0
46bd36:	33 c9                	xor    %ecx,%ecx
46bd38:	e8 23 ff ff ff       	call   0x46bc60
46bd3d:	c3                   	ret
46bd3e:	8b c0                	mov    %eax,%eax
46bd40:	33 c9                	xor    %ecx,%ecx
46bd42:	ba 20 00 00 00       	mov    $0x20,%edx
46bd47:	e8 0c 75 f9 ff       	call   0x403258
46bd4c:	c3                   	ret
46bd4d:	8d 40 00             	lea    0x0(%eax),%eax
46bd50:	55                   	push   %ebp
46bd51:	8b ec                	mov    %esp,%ebp
46bd53:	83 c4 d0             	add    $0xffffffd0,%esp
46bd56:	53                   	push   %ebx
46bd57:	56                   	push   %esi
46bd58:	57                   	push   %edi
46bd59:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46bd5c:	31 d2                	xor    %edx,%edx
46bd5e:	89 e7                	mov    %esp,%edi
46bd60:	0f b6 4b 01          	movzbl 0x1(%ebx),%ecx
46bd64:	89 4d f8             	mov    %ecx,-0x8(%ebp)
46bd67:	85 c9                	test   %ecx,%ecx
46bd69:	74 4b                	je     0x46bdb6
46bd6b:	83 c3 03             	add    $0x3,%ebx
46bd6e:	8b 75 18             	mov    0x18(%ebp),%esi
46bd71:	0f b6 03             	movzbl (%ebx),%eax
46bd74:	a8 80                	test   $0x80,%al
46bd76:	75 28                	jne    0x46bda0
46bd78:	3c 0c                	cmp    $0xc,%al
46bd7a:	74 14                	je     0x46bd90
46bd7c:	3c 05                	cmp    $0x5,%al
46bd7e:	72 27                	jb     0x46bda7
46bd80:	3c 07                	cmp    $0x7,%al
46bd82:	77 23                	ja     0x46bda7
46bd84:	ff 76 04             	push   0x4(%esi)
46bd87:	ff 36                	push   (%esi)
46bd89:	52                   	push   %edx
46bd8a:	50                   	push   %eax
46bd8b:	83 c6 08             	add    $0x8,%esi
46bd8e:	eb 1f                	jmp    0x46bdaf
46bd90:	ff 76 0c             	push   0xc(%esi)
46bd93:	ff 76 08             	push   0x8(%esi)
46bd96:	ff 76 04             	push   0x4(%esi)
46bd99:	ff 36                	push   (%esi)
46bd9b:	83 c6 10             	add    $0x10,%esi
46bd9e:	eb 0f                	jmp    0x46bdaf
46bda0:	24 7f                	and    $0x7f,%al
46bda2:	0d 00 40 00 00       	or     $0x4000,%eax
46bda7:	52                   	push   %edx
46bda8:	ff 36                	push   (%esi)
46bdaa:	52                   	push   %edx
46bdab:	50                   	push   %eax
46bdac:	83 c6 04             	add    $0x4,%esi
46bdaf:	43                   	inc    %ebx
46bdb0:	49                   	dec    %ecx
46bdb1:	75 be                	jne    0x46bd71
46bdb3:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46bdb6:	89 65 f0             	mov    %esp,-0x10(%ebp)
46bdb9:	0f b6 43 02          	movzbl 0x2(%ebx),%eax
46bdbd:	89 45 fc             	mov    %eax,-0x4(%ebp)
46bdc0:	85 c0                	test   %eax,%eax
46bdc2:	74 0a                	je     0x46bdce
46bdc4:	8b 75 14             	mov    0x14(%ebp),%esi
46bdc7:	ff 74 86 fc          	push   -0x4(%esi,%eax,4)
46bdcb:	48                   	dec    %eax
46bdcc:	75 f9                	jne    0x46bdc7
46bdce:	0f b6 0b             	movzbl (%ebx),%ecx
46bdd1:	83 f9 04             	cmp    $0x4,%ecx
46bdd4:	75 16                	jne    0x46bdec
46bdd6:	6a fd                	push   $0xfffffffd
46bdd8:	ff 45 fc             	incl   -0x4(%ebp)
46bddb:	80 7b 03 09          	cmpb   $0x9,0x3(%ebx)
46bddf:	74 06                	je     0x46bde7
46bde1:	80 7b 03 0d          	cmpb   $0xd,0x3(%ebx)
46bde5:	75 05                	jne    0x46bdec
46bde7:	b9 08 00 00 00       	mov    $0x8,%ecx
46bdec:	89 65 f4             	mov    %esp,-0xc(%ebp)
46bdef:	52                   	push   %edx
46bdf0:	8d 45 d0             	lea    -0x30(%ebp),%eax
46bdf3:	50                   	push   %eax
46bdf4:	51                   	push   %ecx
46bdf5:	52                   	push   %edx
46bdf6:	e8 45 ff ff ff       	call   0x46bd40
46bdfb:	5a                   	pop    %edx
46bdfc:	59                   	pop    %ecx
46bdfd:	ff 75 1c             	push   0x1c(%ebp)
46be00:	8d 45 f0             	lea    -0x10(%ebp),%eax
46be03:	50                   	push   %eax
46be04:	51                   	push   %ecx
46be05:	52                   	push   %edx
46be06:	68 a8 b7 49 00       	push   $0x49b7a8
46be0b:	ff 75 10             	push   0x10(%ebp)
46be0e:	8b 45 08             	mov    0x8(%ebp),%eax
46be11:	50                   	push   %eax
46be12:	8b 00                	mov    (%eax),%eax
46be14:	ff 50 18             	call   *0x18(%eax)
46be17:	85 c0                	test   %eax,%eax
46be19:	74 0e                	je     0x46be29
46be1b:	8d 55 d0             	lea    -0x30(%ebp),%edx
46be1e:	b1 01                	mov    $0x1,%cl
46be20:	51                   	push   %ecx
46be21:	8b 4d 04             	mov    0x4(%ebp),%ecx
46be24:	e9 37 fe ff ff       	jmp    0x46bc60
46be29:	89 fc                	mov    %edi,%esp
46be2b:	5f                   	pop    %edi
46be2c:	5e                   	pop    %esi
46be2d:	5b                   	pop    %ebx
46be2e:	8b e5                	mov    %ebp,%esp
46be30:	5d                   	pop    %ebp
46be31:	c2 18 00             	ret    $0x18
46be34:	55                   	push   %ebp
46be35:	8b ec                	mov    %esp,%ebp
46be37:	53                   	push   %ebx
46be38:	8b 5d 10             	mov    0x10(%ebp),%ebx
46be3b:	31 c0                	xor    %eax,%eax
46be3d:	50                   	push   %eax
46be3e:	50                   	push   %eax
46be3f:	50                   	push   %eax
46be40:	50                   	push   %eax
46be41:	89 e0                	mov    %esp,%eax
46be43:	50                   	push   %eax
46be44:	8d 45 14             	lea    0x14(%ebp),%eax
46be47:	50                   	push   %eax
46be48:	50                   	push   %eax
46be49:	ff 33                	push   (%ebx)
46be4b:	8d 43 05             	lea    0x5(%ebx),%eax
46be4e:	50                   	push   %eax
46be4f:	ff 75 0c             	push   0xc(%ebp)
46be52:	e8 f9 fe ff ff       	call   0x46bd50
46be57:	0f b6 43 04          	movzbl 0x4(%ebx),%eax
46be5b:	8b 5d 08             	mov    0x8(%ebp),%ebx
46be5e:	ff 24 85 65 be 46 00 	jmp    *0x46be65(,%eax,4)
46be65:	0a bf 46 00 0a bf    	or     -0x40f5ffba(%edi),%bh
46be6b:	46                   	inc    %esi
46be6c:	00 06                	add    %al,(%esi)
46be6e:	bf 46 00 06 bf       	mov    $0xbf060046,%edi
46be73:	46                   	inc    %esi
46be74:	00 a9 be 46 00 af    	add    %ch,-0x50ffb942(%ecx)
46be7a:	be 46 00 b5 be       	mov    $0xbeb50046,%esi
46be7f:	46                   	inc    %esi
46be80:	00 af be 46 00 bb    	add    %ch,-0x44ffb942(%edi)
46be86:	be 46 00 cf be       	mov    $0xbecf0046,%esi
46be8b:	46                   	inc    %esi
46be8c:	00 0a                	add    %cl,(%edx)
46be8e:	bf 46 00 06 bf       	mov    $0xbf060046,%edi
46be93:	46                   	inc    %esi
46be94:	00 e3                	add    %ah,%bl
46be96:	be 46 00 cf be       	mov    $0xbecf0046,%esi
46be9b:	46                   	inc    %esi
46be9c:	00 0a                	add    %cl,(%edx)
46be9e:	bf 46 00 0a bf       	mov    $0xbf0a0046,%edi
46bea3:	46                   	inc    %esi
46bea4:	00 06                	add    %al,(%esi)
46bea6:	bf 46 00 d9 44       	mov    $0x44d90046,%edi
46beab:	24 08                	and    $0x8,%al
46bead:	eb 5b                	jmp    0x46bf0a
46beaf:	dd 44 24 08          	fldl   0x8(%esp)
46beb3:	eb 55                	jmp    0x46bf0a
46beb5:	df 6c 24 08          	fildll 0x8(%esp)
46beb9:	eb 4f                	jmp    0x46bf0a
46bebb:	8b 03                	mov    (%ebx),%eax
46bebd:	85 c0                	test   %eax,%eax
46bebf:	74 06                	je     0x46bec7
46bec1:	50                   	push   %eax
46bec2:	e8 69 b9 f9 ff       	call   0x407830
46bec7:	8b 44 24 08          	mov    0x8(%esp),%eax
46becb:	89 03                	mov    %eax,(%ebx)
46becd:	eb 3b                	jmp    0x46bf0a
46becf:	8b 03                	mov    (%ebx),%eax
46bed1:	85 c0                	test   %eax,%eax
46bed3:	74 06                	je     0x46bedb
46bed5:	50                   	push   %eax
46bed6:	8b 00                	mov    (%eax),%eax
46bed8:	ff 50 08             	call   *0x8(%eax)
46bedb:	8b 44 24 08          	mov    0x8(%esp),%eax
46bedf:	89 03                	mov    %eax,(%ebx)
46bee1:	eb 27                	jmp    0x46bf0a
46bee3:	89 d8                	mov    %ebx,%eax
46bee5:	e8 e6 3d fa ff       	call   0x40fcd0
46beea:	8b 04 24             	mov    (%esp),%eax
46beed:	89 03                	mov    %eax,(%ebx)
46beef:	8b 44 24 04          	mov    0x4(%esp),%eax
46bef3:	89 43 04             	mov    %eax,0x4(%ebx)
46bef6:	8b 44 24 08          	mov    0x8(%esp),%eax
46befa:	89 43 08             	mov    %eax,0x8(%ebx)
46befd:	8b 44 24 0c          	mov    0xc(%esp),%eax
46bf01:	89 43 0c             	mov    %eax,0xc(%ebx)
46bf04:	eb 04                	jmp    0x46bf0a
46bf06:	8b 44 24 08          	mov    0x8(%esp),%eax
46bf0a:	83 c4 10             	add    $0x10,%esp
46bf0d:	5b                   	pop    %ebx
46bf0e:	5d                   	pop    %ebp
46bf0f:	c3                   	ret
46bf10:	83 3d dc b5 4a 00 00 	cmpl   $0x0,0x4ab5dc
46bf17:	74 06                	je     0x46bf1f
46bf19:	ff 15 dc b5 4a 00    	call   *0x4ab5dc
46bf1f:	83 3d cc c8 49 00 ff 	cmpl   $0xffffffff,0x49c8cc
46bf26:	74 4f                	je     0x46bf77
46bf28:	83 3d b8 c8 49 00 00 	cmpl   $0x0,0x49c8b8
46bf2f:	74 46                	je     0x46bf77
46bf31:	a1 cc c8 49 00       	mov    0x49c8cc,%eax
46bf36:	50                   	push   %eax
46bf37:	6a 00                	push   $0x0
46bf39:	ff 15 b8 c8 49 00    	call   *0x49c8b8
46bf3f:	a9 00 00 00 80       	test   $0x80000000,%eax
46bf44:	0f 94 c0             	sete   %al
46bf47:	a2 e0 b5 4a 00       	mov    %al,0x4ab5e0
46bf4c:	a1 84 74 4a 00       	mov    0x4a7484,%eax
46bf51:	80 38 00             	cmpb   $0x0,(%eax)
46bf54:	75 16                	jne    0x46bf6c
46bf56:	f6 05 cc c8 49 00 02 	testb  $0x2,0x49c8cc
46bf5d:	75 0d                	jne    0x46bf6c
46bf5f:	83 3d cc c8 49 00 00 	cmpl   $0x0,0x49c8cc
46bf66:	74 04                	je     0x46bf6c
46bf68:	33 c0                	xor    %eax,%eax
46bf6a:	eb 02                	jmp    0x46bf6e
46bf6c:	b0 01                	mov    $0x1,%al
46bf6e:	8b 15 84 74 4a 00    	mov    0x4a7484,%edx
46bf74:	88 02                	mov    %al,(%edx)
46bf76:	c3                   	ret
46bf77:	6a 00                	push   $0x0
46bf79:	e8 5a b8 f9 ff       	call   0x4077d8
46bf7e:	a9 00 00 00 80       	test   $0x80000000,%eax
46bf83:	0f 94 c0             	sete   %al
46bf86:	a2 e0 b5 4a 00       	mov    %al,0x4ab5e0
46bf8b:	c3                   	ret
46bf8c:	55                   	push   %ebp
46bf8d:	8b ec                	mov    %esp,%ebp
46bf8f:	33 c0                	xor    %eax,%eax
46bf91:	55                   	push   %ebp
46bf92:	68 02 c0 46 00       	push   $0x46c002
46bf97:	64 ff 30             	push   %fs:(%eax)
46bf9a:	64 89 20             	mov    %esp,%fs:(%eax)
46bf9d:	ff 05 d0 b5 4a 00    	incl   0x4ab5d0
46bfa3:	75 4f                	jne    0x46bff4
46bfa5:	c6 05 d4 b5 4a 00 01 	movb   $0x1,0x4ab5d4
46bfac:	a1 d8 b5 4a 00       	mov    0x4ab5d8,%eax
46bfb1:	e8 66 79 f9 ff       	call   0x40391c