46d90d:	8b 4d 08             	mov    0x8(%ebp),%ecx
46d910:	8b f0                	mov    %eax,%esi
46d912:	33 c0                	xor    %eax,%eax
46d914:	50                   	push   %eax
46d915:	8d 45 f8             	lea    -0x8(%ebp),%eax
46d918:	8b 11                	mov    (%ecx),%edx
46d91a:	50                   	push   %eax
46d91b:	33 c0                	xor    %eax,%eax
46d91d:	50                   	push   %eax
46d91e:	56                   	push   %esi
46d91f:	50                   	push   %eax
46d920:	50                   	push   %eax
46d921:	51                   	push   %ecx
46d922:	ff 52 0c             	call   *0xc(%edx)
46d925:	56                   	push   %esi
46d926:	e8 41 37 fb ff       	call   0x42106c
46d92b:	8b 45 08             	mov    0x8(%ebp),%eax
46d92e:	59                   	pop    %ecx
46d92f:	50                   	push   %eax
46d930:	8b 08                	mov    (%eax),%ecx
46d932:	ff 51 08             	call   *0x8(%ecx)
46d935:	8d 45 fc             	lea    -0x4(%ebp),%eax
46d938:	50                   	push   %eax
46d939:	68 9c a8 4b 00       	push   $0x4ba89c
46d93e:	6a 01                	push   $0x1
46d940:	33 c0                	xor    %eax,%eax
46d942:	50                   	push   %eax
46d943:	68 7c 2d 49 00       	push   $0x492d7c
46d948:	ff 15 48 f8 48 00    	call   *0x48f848
46d94e:	8b 35 2c f8 48 00    	mov    0x48f82c,%esi
46d954:	85 c0                	test   %eax,%eax
46d956:	0f 88 da 00 00 00    	js     0x46da36
46d95c:	8b 03                	mov    (%ebx),%eax
46d95e:	33 ff                	xor    %edi,%edi
46d960:	57                   	push   %edi
46d961:	6a 01                	push   $0x1
46d963:	8b 48 04             	mov    0x4(%eax),%ecx
46d966:	03 cb                	add    %ebx,%ecx
46d968:	e8 36 91 fe ff       	call   0x456aa3
46d96d:	8b 45 fc             	mov    -0x4(%ebp),%eax
46d970:	8d 55 ec             	lea    -0x14(%ebp),%edx
46d973:	89 7d 08             	mov    %edi,0x8(%ebp)
46d976:	52                   	push   %edx
46d977:	50                   	push   %eax
46d978:	8b 08                	mov    (%eax),%ecx
46d97a:	ff 51 28             	call   *0x28(%ecx)
46d97d:	85 c0                	test   %eax,%eax
46d97f:	0f 88 a3 00 00 00    	js     0x46da28
46d985:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46d988:	8b 45 ec             	mov    -0x14(%ebp),%eax
46d98b:	83 c8 20             	or     $0x20,%eax
46d98e:	50                   	push   %eax
46d98f:	8b 11                	mov    (%ecx),%edx
46d991:	51                   	push   %ecx
46d992:	ff 52 24             	call   *0x24(%edx)
46d995:	8b 45 fc             	mov    -0x4(%ebp),%eax
46d998:	ff 75 d8             	push   -0x28(%ebp)
46d99b:	50                   	push   %eax
46d99c:	8b 08                	mov    (%eax),%ecx
46d99e:	ff 51 3c             	call   *0x3c(%ecx)
46d9a1:	8b 45 fc             	mov    -0x4(%ebp),%eax
46d9a4:	8b 55 e8             	mov    -0x18(%ebp),%edx
46d9a7:	52                   	push   %edx
46d9a8:	50                   	push   %eax
46d9a9:	8b 08                	mov    (%eax),%ecx
46d9ab:	ff 51 44             	call   *0x44(%ecx)
46d9ae:	8d 45 f0             	lea    -0x10(%ebp),%eax
46d9b1:	50                   	push   %eax
46d9b2:	ff 75 f8             	push   -0x8(%ebp)
46d9b5:	57                   	push   %edi
46d9b6:	57                   	push   %edi
46d9b7:	ff 15 a4 f4 48 00    	call   *0x48f4a4
46d9bd:	8b 45 fc             	mov    -0x4(%ebp),%eax
46d9c0:	ff 75 f0             	push   -0x10(%ebp)
46d9c3:	50                   	push   %eax
46d9c4:	8b 08                	mov    (%eax),%ecx
46d9c6:	ff 51 30             	call   *0x30(%ecx)
46d9c9:	8b 45 fc             	mov    -0x4(%ebp),%eax
46d9cc:	8b 55 f4             	mov    -0xc(%ebp),%edx
46d9cf:	52                   	push   %edx
46d9d0:	50                   	push   %eax
46d9d1:	8b 08                	mov    (%eax),%ecx
46d9d3:	ff 51 0c             	call   *0xc(%ecx)
46d9d6:	85 c0                	test   %eax,%eax
46d9d8:	78 4e                	js     0x46da28
46d9da:	8b 45 fc             	mov    -0x4(%ebp),%eax
46d9dd:	8d 55 f4             	lea    -0xc(%ebp),%edx
46d9e0:	52                   	push   %edx
46d9e1:	50                   	push   %eax
46d9e2:	8b 08                	mov    (%eax),%ecx
46d9e4:	ff 51 50             	call   *0x50(%ecx)
46d9e7:	85 c0                	test   %eax,%eax
46d9e9:	78 3d                	js     0x46da28
46d9eb:	8b 45 f4             	mov    -0xc(%ebp),%eax
46d9ee:	8d 4d 08             	lea    0x8(%ebp),%ecx
46d9f1:	51                   	push   %ecx
46d9f2:	68 00 80 02 80       	push   $0x80028000
46d9f7:	50                   	push   %eax
46d9f8:	8b 10                	mov    (%eax),%edx
46d9fa:	ff 52 14             	call   *0x14(%edx)
46d9fd:	85 c0                	test   %eax,%eax
46d9ff:	78 1e                	js     0x46da1f
46da01:	ff 75 08             	push   0x8(%ebp)
46da04:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46da07:	e8 ec c1 f9 ff       	call   0x409bf8
46da0c:	ff 75 08             	push   0x8(%ebp)
46da0f:	ff d6                	call   *%esi
46da11:	8b 03                	mov    (%ebx),%eax
46da13:	57                   	push   %edi
46da14:	57                   	push   %edi
46da15:	8b 48 04             	mov    0x4(%eax),%ecx
46da18:	03 cb                	add    %ebx,%ecx
46da1a:	e8 84 90 fe ff       	call   0x456aa3
46da1f:	8b 45 f4             	mov    -0xc(%ebp),%eax
46da22:	50                   	push   %eax
46da23:	8b 08                	mov    (%eax),%ecx
46da25:	ff 51 08             	call   *0x8(%ecx)
46da28:	8b 45 fc             	mov    -0x4(%ebp),%eax
46da2b:	50                   	push   %eax
46da2c:	8b 08                	mov    (%eax),%ecx
46da2e:	ff 51 08             	call   *0x8(%ecx)
46da31:	e9 aa 00 00 00       	jmp    0x46dae0
46da36:	33 c0                	xor    %eax,%eax
46da38:	68 06 02 00 00       	push   $0x206
46da3d:	50                   	push   %eax
46da3e:	66 89 85 b0 fd ff ff 	mov    %ax,-0x250(%ebp)
46da45:	8d 85 b2 fd ff ff    	lea    -0x24e(%ebp),%eax
46da4b:	50                   	push   %eax
46da4c:	e8 cf 55 fb ff       	call   0x423020
46da51:	8b 45 f8             	mov    -0x8(%ebp),%eax
46da54:	83 c4 0c             	add    $0xc,%esp
46da57:	8b 55 f4             	mov    -0xc(%ebp),%edx
46da5a:	89 45 bc             	mov    %eax,-0x44(%ebp)
46da5d:	8d 85 b0 fd ff ff    	lea    -0x250(%ebp),%eax
46da63:	89 45 c0             	mov    %eax,-0x40(%ebp)
46da66:	8b 45 d8             	mov    -0x28(%ebp),%eax
46da69:	89 45 d0             	mov    %eax,-0x30(%ebp)
46da6c:	33 c0                	xor    %eax,%eax
46da6e:	89 45 d4             	mov    %eax,-0x2c(%ebp)
46da71:	8d 45 b8             	lea    -0x48(%ebp),%eax
46da74:	89 55 b8             	mov    %edx,-0x48(%ebp)
46da77:	8b 55 e8             	mov    -0x18(%ebp),%edx
46da7a:	50                   	push   %eax
46da7b:	89 55 c4             	mov    %edx,-0x3c(%ebp)
46da7e:	c7 45 cc 33 a4 46 00 	movl   $0x46a433,-0x34(%ebp)
46da85:	89 7d c8             	mov    %edi,-0x38(%ebp)
46da88:	ff 15 a0 f4 48 00    	call   *0x48f4a0
46da8e:	8b f8                	mov    %eax,%edi
46da90:	85 ff                	test   %edi,%edi
46da92:	74 3b                	je     0x46dacf
46da94:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46da97:	8d 85 b0 fd ff ff    	lea    -0x250(%ebp),%eax
46da9d:	50                   	push   %eax
46da9e:	e8 55 c1 f9 ff       	call   0x409bf8
46daa3:	8d 85 b0 fd ff ff    	lea    -0x250(%ebp),%eax
46daa9:	50                   	push   %eax
46daaa:	57                   	push   %edi
46daab:	ff 15 9c f4 48 00    	call   *0x48f49c
46dab1:	57                   	push   %edi
46dab2:	ff d6                	call   *%esi
46dab4:	66 83 bd b0 fd ff ff 	cmpw   $0x0,-0x250(%ebp)
46dabb:	00
46dabc:	74 22                	je     0x46dae0
46dabe:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46dac1:	8d 85 b0 fd ff ff    	lea    -0x250(%ebp),%eax
46dac7:	50                   	push   %eax
46dac8:	e8 2b c1 f9 ff       	call   0x409bf8
46dacd:	eb 11                	jmp    0x46dae0
46dacf:	33 c0                	xor    %eax,%eax
46dad1:	50                   	push   %eax
46dad2:	8b 03                	mov    (%ebx),%eax
46dad4:	6a 01                	push   $0x1
46dad6:	8b 48 04             	mov    0x4(%eax),%ecx
46dad9:	03 cb                	add    %ebx,%ecx
46dadb:	e8 c3 8f fe ff       	call   0x456aa3
46dae0:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
46dae4:	74 05                	je     0x46daeb
46dae6:	ff 75 f8             	push   -0x8(%ebp)
46dae9:	ff d6                	call   *%esi
46daeb:	ff 15 64 f8 48 00    	call   *0x48f864
46daf1:	8d 4d d8             	lea    -0x28(%ebp),%ecx
46daf4:	e8 6b 7f f9 ff       	call   0x405a64
46daf9:	5f                   	pop    %edi
46dafa:	5e                   	pop    %esi
46dafb:	33 c0                	xor    %eax,%eax
46dafd:	5b                   	pop    %ebx
46dafe:	8b e5                	mov    %ebp,%esp
46db00:	5d                   	pop    %ebp
46db01:	c2 08 00             	ret    $0x8
46db04:	55                   	push   %ebp
46db05:	8b ec                	mov    %esp,%ebp
46db07:	83 e4 f8             	and    $0xfffffff8,%esp
46db0a:	b8 24 06 02 00       	mov    $0x20624,%eax
46db0f:	e8 7c 40 fc ff       	call   0x431b90
46db14:	53                   	push   %ebx
46db15:	8b 5d 08             	mov    0x8(%ebp),%ebx
46db18:	33 c0                	xor    %eax,%eax
46db1a:	56                   	push   %esi
46db1b:	57                   	push   %edi
46db1c:	8b f8                	mov    %eax,%edi
46db1e:	89 44 24 0c          	mov    %eax,0xc(%esp)
46db22:	8b 43 04             	mov    0x4(%ebx),%eax
46db25:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
46db29:	89 7c 24 10          	mov    %edi,0x10(%esp)
46db2d:	8b 70 04             	mov    0x4(%eax),%esi
46db30:	8b ce                	mov    %esi,%ecx
46db32:	e8 60 be f9 ff       	call   0x409997
46db37:	8b 46 08             	mov    0x8(%esi),%eax
46db3a:	33 d2                	xor    %edx,%edx
46db3c:	42                   	inc    %edx
46db3d:	83 7b 08 03          	cmpl   $0x3,0x8(%ebx)
46db41:	89 54 24 28          	mov    %edx,0x28(%esp)
46db45:	8b 30                	mov    (%eax),%esi
46db47:	72 18                	jb     0x46db61
46db49:	8b 43 04             	mov    0x4(%ebx),%eax
46db4c:	8b 48 08             	mov    0x8(%eax),%ecx
46db4f:	e8 48 c1 f9 ff       	call   0x409c9c
46db54:	33 d2                	xor    %edx,%edx
46db56:	42                   	inc    %edx
46db57:	3b c2                	cmp    %edx,%eax
46db59:	75 06                	jne    0x46db61
46db5b:	8a da                	mov    %dl,%bl
46db5d:	33 c0                	xor    %eax,%eax
46db5f:	eb 04                	jmp    0x46db65
46db61:	33 c0                	xor    %eax,%eax
46db63:	8a d8                	mov    %al,%bl
46db65:	88 5c 24 14          	mov    %bl,0x14(%esp)
46db69:	66 39 06             	cmp    %ax,(%esi)
46db6c:	0f 84 ae 00 00 00    	je     0x46dc20
46db72:	8b 4c 24 28          	mov    0x28(%esp),%ecx
46db76:	0f b7 06             	movzwl (%esi),%eax
46db79:	83 f8 2b             	cmp    $0x2b,%eax
46db7c:	75 07                	jne    0x46db85
46db7e:	83 c6 02             	add    $0x2,%esi
46db81:	8b ca                	mov    %edx,%ecx
46db83:	eb 0c                	jmp    0x46db91
46db85:	83 f8 2d             	cmp    $0x2d,%eax
46db88:	75 07                	jne    0x46db91
46db8a:	83 c6 02             	add    $0x2,%esi
46db8d:	33 c0                	xor    %eax,%eax
46db8f:	8b c8                	mov    %eax,%ecx
46db91:	0f b7 06             	movzwl (%esi),%eax
46db94:	83 f8 52             	cmp    $0x52,%eax
46db97:	74 67                	je     0x46dc00
46db99:	83 f8 72             	cmp    $0x72,%eax
46db9c:	74 62                	je     0x46dc00
46db9e:	83 f8 41             	cmp    $0x41,%eax
46dba1:	74 59                	je     0x46dbfc
46dba3:	83 f8 61             	cmp    $0x61,%eax
46dba6:	74 54                	je     0x46dbfc
46dba8:	83 f8 53             	cmp    $0x53,%eax
46dbab:	74 4b                	je     0x46dbf8
46dbad:	83 f8 73             	cmp    $0x73,%eax
46dbb0:	74 46                	je     0x46dbf8
46dbb2:	83 f8 48             	cmp    $0x48,%eax
46dbb5:	74 3c                	je     0x46dbf3
46dbb7:	83 f8 68             	cmp    $0x68,%eax
46dbba:	74 37                	je     0x46dbf3
46dbbc:	83 f8 4e             	cmp    $0x4e,%eax
46dbbf:	74 2b                	je     0x46dbec
46dbc1:	83 f8 6e             	cmp    $0x6e,%eax
46dbc4:	74 26                	je     0x46dbec
46dbc6:	83 f8 4f             	cmp    $0x4f,%eax
46dbc9:	74 1a                	je     0x46dbe5
46dbcb:	83 f8 6f             	cmp    $0x6f,%eax
46dbce:	74 15                	je     0x46dbe5
46dbd0:	83 f8 54             	cmp    $0x54,%eax
46dbd3:	74 09                	je     0x46dbde
46dbd5:	83 f8 74             	cmp    $0x74,%eax
46dbd8:	0f 85 4d 01 00 00    	jne    0x46dd2b
46dbde:	b8 00 01 00 00       	mov    $0x100,%eax
46dbe3:	eb 1d                	jmp    0x46dc02
46dbe5:	b8 00 10 00 00       	mov    $0x1000,%eax
46dbea:	eb 16                	jmp    0x46dc02
46dbec:	b8 80 00 00 00       	mov    $0x80,%eax
46dbf1:	eb 0f                	jmp    0x46dc02
46dbf3:	6a 02                	push   $0x2
46dbf5:	58                   	pop    %eax
46dbf6:	eb 0a                	jmp    0x46dc02
46dbf8:	6a 04                	push   $0x4
46dbfa:	eb f9                	jmp    0x46dbf5
46dbfc:	6a 20                	push   $0x20
46dbfe:	eb f5                	jmp    0x46dbf5
46dc00:	8b c2                	mov    %edx,%eax
46dc02:	3b ca                	cmp    %edx,%ecx
46dc04:	75 08                	jne    0x46dc0e
46dc06:	0b f8                	or     %eax,%edi
46dc08:	89 7c 24 10          	mov    %edi,0x10(%esp)
46dc0c:	eb 04                	jmp    0x46dc12
46dc0e:	09 44 24 0c          	or     %eax,0xc(%esp)
46dc12:	83 c6 02             	add    $0x2,%esi
46dc15:	33 c0                	xor    %eax,%eax
46dc17:	66 39 06             	cmp    %ax,(%esi)
46dc1a:	0f 85 56 ff ff ff    	jne    0x46db76
46dc20:	8b 45 08             	mov    0x8(%ebp),%eax
46dc23:	8b 40 04             	mov    0x4(%eax),%eax
46dc26:	8b 30                	mov    (%eax),%esi
46dc28:	8b ce                	mov    %esi,%ecx
46dc2a:	e8 68 bd f9 ff       	call   0x409997
46dc2f:	8b 4e 08             	mov    0x8(%esi),%ecx
46dc32:	8d 54 24 18          	lea    0x18(%esp),%edx
46dc36:	8b 01                	mov    (%ecx),%eax
46dc38:	89 44 24 18          	mov    %eax,0x18(%esp)
46dc3c:	8b 41 04             	mov    0x4(%ecx),%eax
46dc3f:	89 44 24 1c          	mov    %eax,0x1c(%esp)
46dc43:	8b 41 08             	mov    0x8(%ecx),%eax
46dc46:	89 44 24 20          	mov    %eax,0x20(%esp)
46dc4a:	8b 41 0c             	mov    0xc(%ecx),%eax
46dc4d:	8b ca                	mov    %edx,%ecx
46dc4f:	89 44 24 24          	mov    %eax,0x24(%esp)
46dc53:	ff 00                	incl   (%eax)
46dc55:	e8 54 6c f9 ff       	call   0x4048ae
46dc5a:	8d 84 24 30 04 00 00 	lea    0x430(%esp),%eax
46dc61:	50                   	push   %eax
46dc62:	8d 44 24 34          	lea    0x34(%esp),%eax
46dc66:	50                   	push   %eax
46dc67:	8d 84 24 38 02 00 00 	lea    0x238(%esp),%eax
46dc6e:	50                   	push   %eax
46dc6f:	8d 84 24 3c 06 01 00 	lea    0x1063c(%esp),%eax
46dc76:	50                   	push   %eax
46dc77:	ff 74 24 28          	push   0x28(%esp)
46dc7b:	e8 ae 66 fb ff       	call   0x42432e
46dc80:	83 c4 14             	add    $0x14,%esp
46dc83:	8d 84 24 30 02 00 00 	lea    0x230(%esp),%eax
46dc8a:	50                   	push   %eax
46dc8b:	8d 84 24 34 06 01 00 	lea    0x10634(%esp),%eax
46dc92:	50                   	push   %eax
46dc93:	e8 35 53 fb ff       	call   0x422fcd
46dc98:	8d 84 24 38 04 00 00 	lea    0x438(%esp),%eax
46dc9f:	50                   	push   %eax
46dca0:	8d 44 24 3c          	lea    0x3c(%esp),%eax
46dca4:	50                   	push   %eax
46dca5:	e8 23 53 fb ff       	call   0x422fcd
46dcaa:	83 c4 10             	add    $0x10,%esp
46dcad:	8d 84 24 30 06 00 00 	lea    0x630(%esp),%eax
46dcb4:	50                   	push   %eax
46dcb5:	68 ff 7f 00 00       	push   $0x7fff
46dcba:	ff 15 34 f3 48 00    	call   *0x48f334
46dcc0:	8b 3d 08 f2 48 00    	mov    0x48f208,%edi
46dcc6:	8d 84 24 30 06 01 00 	lea    0x10630(%esp),%eax
46dccd:	50                   	push   %eax
46dcce:	ff d7                	call   *%edi
46dcd0:	85 c0                	test   %eax,%eax
46dcd2:	74 40                	je     0x46dd14
46dcd4:	8d 4c 24 30          	lea    0x30(%esp),%ecx
46dcd8:	e8 f6 6f ff ff       	call   0x464cd3
46dcdd:	84 c0                	test   %al,%al
46dcdf:	74 7f                	je     0x46dd60
46dce1:	8d 44 24 30          	lea    0x30(%esp),%eax
46dce5:	50                   	push   %eax