46d9e1:	8d 40 00             	lea    0x0(%eax),%eax
46d9e4:	c3                   	ret
46d9e5:	8d 40 00             	lea    0x0(%eax),%eax
46d9e8:	55                   	push   %ebp
46d9e9:	8b ec                	mov    %esp,%ebp
46d9eb:	83 c4 f0             	add    $0xfffffff0,%esp
46d9ee:	53                   	push   %ebx
46d9ef:	56                   	push   %esi
46d9f0:	57                   	push   %edi
46d9f1:	8b f1                	mov    %ecx,%esi
46d9f3:	89 55 fc             	mov    %edx,-0x4(%ebp)
46d9f6:	8b d8                	mov    %eax,%ebx
46d9f8:	83 7b 28 00          	cmpl   $0x0,0x28(%ebx)
46d9fc:	0f 84 eb 00 00 00    	je     0x46daed
46da02:	8b 45 fc             	mov    -0x4(%ebp),%eax
46da05:	e8 3a 73 fb ff       	call   0x424d44
46da0a:	33 c0                	xor    %eax,%eax
46da0c:	55                   	push   %ebp
46da0d:	68 e6 da 46 00       	push   $0x46dae6
46da12:	64 ff 30             	push   %fs:(%eax)
46da15:	64 89 20             	mov    %esp,%fs:(%eax)
46da18:	8b 45 fc             	mov    -0x4(%ebp),%eax
46da1b:	e8 ec 76 fb ff       	call   0x42510c
46da20:	8b f8                	mov    %eax,%edi
46da22:	8b c3                	mov    %ebx,%eax
46da24:	8b 10                	mov    (%eax),%edx
46da26:	ff 52 24             	call   *0x24(%edx)
46da29:	89 45 f8             	mov    %eax,-0x8(%ebp)
46da2c:	c6 45 f7 00          	movb   $0x0,-0x9(%ebp)
46da30:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
46da34:	74 19                	je     0x46da4f
46da36:	6a ff                	push   $0xffffffff
46da38:	8b 45 f8             	mov    -0x8(%ebp),%eax
46da3b:	50                   	push   %eax
46da3c:	57                   	push   %edi
46da3d:	e8 0e 93 f9 ff       	call   0x406d50
46da42:	89 45 f8             	mov    %eax,-0x8(%ebp)
46da45:	57                   	push   %edi
46da46:	e8 d5 92 f9 ff       	call   0x406d20
46da4b:	c6 45 f7 01          	movb   $0x1,-0x9(%ebp)
46da4f:	8d 45 f4             	lea    -0xc(%ebp),%eax
46da52:	50                   	push   %eax
46da53:	8b 43 28             	mov    0x28(%ebx),%eax
46da56:	50                   	push   %eax
46da57:	8b 00                	mov    (%eax),%eax
46da59:	ff 50 14             	call   *0x14(%eax)
46da5c:	66 83 7d f4 04       	cmpw   $0x4,-0xc(%ebp)
46da61:	75 1a                	jne    0x46da7d
46da63:	8d 45 f0             	lea    -0x10(%ebp),%eax
46da66:	50                   	push   %eax
46da67:	8b 43 28             	mov    0x28(%ebx),%eax
46da6a:	50                   	push   %eax
46da6b:	8b 00                	mov    (%eax),%eax
46da6d:	ff 50 0c             	call   *0xc(%eax)
46da70:	56                   	push   %esi
46da71:	8b 45 f0             	mov    -0x10(%ebp),%eax
46da74:	50                   	push   %eax
46da75:	57                   	push   %edi
46da76:	e8 95 92 f9 ff       	call   0x406d10
46da7b:	eb 41                	jmp    0x46dabe
46da7d:	56                   	push   %esi
46da7e:	8b c3                	mov    %ebx,%eax
46da80:	e8 13 01 00 00       	call   0x46db98
46da85:	f7 d8                	neg    %eax
46da87:	50                   	push   %eax
46da88:	8b c3                	mov    %ebx,%eax
46da8a:	e8 25 01 00 00       	call   0x46dbb4
46da8f:	50                   	push   %eax
46da90:	8b c3                	mov    %ebx,%eax
46da92:	e8 01 01 00 00       	call   0x46db98
46da97:	48                   	dec    %eax
46da98:	50                   	push   %eax
46da99:	6a 00                	push   $0x0
46da9b:	8b 46 0c             	mov    0xc(%esi),%eax
46da9e:	2b 46 04             	sub    0x4(%esi),%eax
46daa1:	50                   	push   %eax
46daa2:	8b 46 08             	mov    0x8(%esi),%eax
46daa5:	2b 06                	sub    (%esi),%eax
46daa7:	50                   	push   %eax
46daa8:	8b 46 04             	mov    0x4(%esi),%eax
46daab:	50                   	push   %eax
46daac:	8b 06                	mov    (%esi),%eax
46daae:	50                   	push   %eax
46daaf:	57                   	push   %edi
46dab0:	8b 43 28             	mov    0x28(%ebx),%eax
46dab3:	50                   	push   %eax
46dab4:	8b 00                	mov    (%eax),%eax
46dab6:	ff 50 20             	call   *0x20(%eax)
46dab9:	e8 ee d5 ff ff       	call   0x46b0ac
46dabe:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
46dac2:	74 0c                	je     0x46dad0
46dac4:	6a ff                	push   $0xffffffff
46dac6:	8b 45 f8             	mov    -0x8(%ebp),%eax
46dac9:	50                   	push   %eax
46daca:	57                   	push   %edi
46dacb:	e8 80 92 f9 ff       	call   0x406d50
46dad0:	33 c0                	xor    %eax,%eax
46dad2:	5a                   	pop    %edx
46dad3:	59                   	pop    %ecx
46dad4:	59                   	pop    %ecx
46dad5:	64 89 10             	mov    %edx,%fs:(%eax)
46dad8:	68 ed da 46 00       	push   $0x46daed
46dadd:	8b 45 fc             	mov    -0x4(%ebp),%eax
46dae0:	e8 1b 75 fb ff       	call   0x425000
46dae5:	c3                   	ret
46dae6:	e9 c5 65 f9 ff       	jmp    0x4040b0
46daeb:	eb f0                	jmp    0x46dadd
46daed:	5f                   	pop    %edi
46daee:	5e                   	pop    %esi
46daef:	5b                   	pop    %ebx
46daf0:	8b e5                	mov    %ebp,%esp
46daf2:	5d                   	pop    %ebp
46daf3:	c3                   	ret
46daf4:	53                   	push   %ebx
46daf5:	51                   	push   %ecx
46daf6:	8b d8                	mov    %eax,%ebx
46daf8:	83 7b 28 00          	cmpl   $0x0,0x28(%ebx)
46dafc:	74 1a                	je     0x46db18
46dafe:	54                   	push   %esp
46daff:	8b 43 28             	mov    0x28(%ebx),%eax
46db02:	50                   	push   %eax
46db03:	8b 00                	mov    (%eax),%eax
46db05:	ff 50 14             	call   *0x14(%eax)
46db08:	85 c0                	test   %eax,%eax
46db0a:	75 0c                	jne    0x46db18
46db0c:	66 83 3c 24 00       	cmpw   $0x0,(%esp)
46db11:	7e 05                	jle    0x46db18
46db13:	33 c0                	xor    %eax,%eax
46db15:	5a                   	pop    %edx
46db16:	5b                   	pop    %ebx
46db17:	c3                   	ret
46db18:	b0 01                	mov    $0x1,%al
46db1a:	5a                   	pop    %edx
46db1b:	5b                   	pop    %ebx
46db1c:	c3                   	ret
46db1d:	8d 40 00             	lea    0x0(%eax),%eax
46db20:	53                   	push   %ebx
46db21:	56                   	push   %esi
46db22:	57                   	push   %edi
46db23:	83 c4 f8             	add    $0xfffffff8,%esp
46db26:	8b f0                	mov    %eax,%esi
46db28:	8d 3c 24             	lea    (%esp),%edi
46db2b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46db2c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46db2d:	8b da                	mov    %edx,%ebx
46db2f:	6a 00                	push   $0x0
46db31:	e8 4a 94 f9 ff       	call   0x406f80
46db36:	8b f0                	mov    %eax,%esi
46db38:	6a 03                	push   $0x3
46db3a:	56                   	push   %esi
46db3b:	e8 40 92 f9 ff       	call   0x406d80
46db40:	8b 04 24             	mov    (%esp),%eax
46db43:	89 03                	mov    %eax,(%ebx)
46db45:	8b 44 24 04          	mov    0x4(%esp),%eax
46db49:	89 43 04             	mov    %eax,0x4(%ebx)
46db4c:	f7 5b 04             	negl   0x4(%ebx)
46db4f:	6a 01                	push   $0x1
46db51:	53                   	push   %ebx
46db52:	56                   	push   %esi
46db53:	e8 90 91 f9 ff       	call   0x406ce8
46db58:	56                   	push   %esi
46db59:	6a 00                	push   $0x0
46db5b:	e8 a8 96 f9 ff       	call   0x407208
46db60:	59                   	pop    %ecx
46db61:	5a                   	pop    %edx
46db62:	5f                   	pop    %edi
46db63:	5e                   	pop    %esi
46db64:	5b                   	pop    %ebx
46db65:	c3                   	ret
46db66:	8b c0                	mov    %eax,%eax
46db68:	53                   	push   %ebx
46db69:	83 c4 f0             	add    $0xfffffff0,%esp
46db6c:	8b d8                	mov    %eax,%ebx
46db6e:	8b c3                	mov    %ebx,%eax
46db70:	e8 23 00 00 00       	call   0x46db98
46db75:	8b d0                	mov    %eax,%edx
46db77:	8d 4c 24 08          	lea    0x8(%esp),%ecx
46db7b:	33 c0                	xor    %eax,%eax
46db7d:	e8 d6 91 fa ff       	call   0x416d58
46db82:	8d 44 24 08          	lea    0x8(%esp),%eax
46db86:	8b d4                	mov    %esp,%edx
46db88:	e8 93 ff ff ff       	call   0x46db20
46db8d:	8b 44 24 04          	mov    0x4(%esp),%eax
46db91:	83 c4 10             	add    $0x10,%esp
46db94:	5b                   	pop    %ebx
46db95:	c3                   	ret
46db96:	8b c0                	mov    %eax,%eax
46db98:	51                   	push   %ecx
46db99:	33 d2                	xor    %edx,%edx
46db9b:	89 14 24             	mov    %edx,(%esp)
46db9e:	83 78 28 00          	cmpl   $0x0,0x28(%eax)
46dba2:	74 0a                	je     0x46dbae
46dba4:	54                   	push   %esp
46dba5:	8b 40 28             	mov    0x28(%eax),%eax
46dba8:	50                   	push   %eax
46dba9:	8b 00                	mov    (%eax),%eax
46dbab:	ff 50 1c             	call   *0x1c(%eax)
46dbae:	8b 04 24             	mov    (%esp),%eax
46dbb1:	5a                   	pop    %edx
46dbb2:	c3                   	ret
46dbb3:	90                   	nop
46dbb4:	51                   	push   %ecx
46dbb5:	33 d2                	xor    %edx,%edx
46dbb7:	89 14 24             	mov    %edx,(%esp)
46dbba:	83 78 28 00          	cmpl   $0x0,0x28(%eax)
46dbbe:	74 0a                	je     0x46dbca
46dbc0:	54                   	push   %esp
46dbc1:	8b 40 28             	mov    0x28(%eax),%eax
46dbc4:	50                   	push   %eax
46dbc5:	8b 00                	mov    (%eax),%eax
46dbc7:	ff 50 18             	call   *0x18(%eax)
46dbca:	8b 04 24             	mov    (%esp),%eax
46dbcd:	5a                   	pop    %edx
46dbce:	c3                   	ret
46dbcf:	90                   	nop
46dbd0:	51                   	push   %ecx
46dbd1:	33 d2                	xor    %edx,%edx
46dbd3:	83 78 28 00          	cmpl   $0x0,0x28(%eax)
46dbd7:	74 0d                	je     0x46dbe6
46dbd9:	54                   	push   %esp
46dbda:	8b 40 28             	mov    0x28(%eax),%eax
46dbdd:	50                   	push   %eax
46dbde:	8b 00                	mov    (%eax),%eax
46dbe0:	ff 50 10             	call   *0x10(%eax)
46dbe3:	8b 14 24             	mov    (%esp),%edx
46dbe6:	8b c2                	mov    %edx,%eax
46dbe8:	5a                   	pop    %edx
46dbe9:	c3                   	ret
46dbea:	8b c0                	mov    %eax,%eax
46dbec:	51                   	push   %ecx
46dbed:	33 d2                	xor    %edx,%edx
46dbef:	83 78 28 00          	cmpl   $0x0,0x28(%eax)
46dbf3:	74 11                	je     0x46dc06
46dbf5:	54                   	push   %esp
46dbf6:	8b 40 28             	mov    0x28(%eax),%eax
46dbf9:	50                   	push   %eax
46dbfa:	8b 00                	mov    (%eax),%eax
46dbfc:	ff 50 40             	call   *0x40(%eax)
46dbff:	f6 04 24 02          	testb  $0x2,(%esp)
46dc03:	0f 95 c2             	setne  %dl
46dc06:	8b c2                	mov    %edx,%eax
46dc08:	5a                   	pop    %edx
46dc09:	c3                   	ret
46dc0a:	8b c0                	mov    %eax,%eax
46dc0c:	53                   	push   %ebx
46dc0d:	83 c4 f0             	add    $0xfffffff0,%esp
46dc10:	8b d8                	mov    %eax,%ebx
46dc12:	8b c3                	mov    %ebx,%eax
46dc14:	e8 9b ff ff ff       	call   0x46dbb4
46dc19:	8d 4c 24 08          	lea    0x8(%esp),%ecx
46dc1d:	33 d2                	xor    %edx,%edx
46dc1f:	e8 34 91 fa ff       	call   0x416d58
46dc24:	8d 44 24 08          	lea    0x8(%esp),%eax
46dc28:	8b d4                	mov    %esp,%edx
46dc2a:	e8 f1 fe ff ff       	call   0x46db20
46dc2f:	8b 04 24             	mov    (%esp),%eax
46dc32:	83 c4 10             	add    $0x10,%esp
46dc35:	5b                   	pop    %ebx
46dc36:	c3                   	ret
46dc37:	90                   	nop
46dc38:	53                   	push   %ebx
46dc39:	8b d8                	mov    %eax,%ebx
46dc3b:	8b cb                	mov    %ebx,%ecx
46dc3d:	b2 01                	mov    $0x1,%dl
46dc3f:	a1 a0 21 42 00       	mov    0x4221a0,%eax
46dc44:	e8 c7 e7 f9 ff       	call   0x40c410
46dc49:	e8 42 65 f9 ff       	call   0x404190
46dc4e:	5b                   	pop    %ebx
46dc4f:	c3                   	ret
46dc50:	55                   	push   %ebp
46dc51:	8b ec                	mov    %esp,%ebp
46dc53:	6a 00                	push   $0x0
46dc55:	33 c0                	xor    %eax,%eax
46dc57:	55                   	push   %ebp
46dc58:	68 8e dc 46 00       	push   $0x46dc8e
46dc5d:	64 ff 30             	push   %fs:(%eax)
46dc60:	64 89 20             	mov    %esp,%fs:(%eax)
46dc63:	8d 55 fc             	lea    -0x4(%ebp),%edx
46dc66:	a1 cc 73 4a 00       	mov    0x4a73cc,%eax
46dc6b:	e8 04 8a f9 ff       	call   0x406674
46dc70:	8b 45 fc             	mov    -0x4(%ebp),%eax
46dc73:	e8 c0 ff ff ff       	call   0x46dc38
46dc78:	33 c0                	xor    %eax,%eax
46dc7a:	5a                   	pop    %edx
46dc7b:	59                   	pop    %ecx
46dc7c:	59                   	pop    %ecx
46dc7d:	64 89 10             	mov    %edx,%fs:(%eax)
46dc80:	68 95 dc 46 00       	push   $0x46dc95
46dc85:	8d 45 fc             	lea    -0x4(%ebp),%eax
46dc88:	e8 bb 6a f9 ff       	call   0x404748
46dc8d:	c3                   	ret
46dc8e:	e9 1d 64 f9 ff       	jmp    0x4040b0
46dc93:	eb f0                	jmp    0x46dc85
46dc95:	59                   	pop    %ecx
46dc96:	5d                   	pop    %ebp
46dc97:	c3                   	ret
46dc98:	53                   	push   %ebx
46dc99:	56                   	push   %esi
46dc9a:	8b f2                	mov    %edx,%esi
46dc9c:	8b d8                	mov    %eax,%ebx
46dc9e:	83 7b 28 00          	cmpl   $0x0,0x28(%ebx)
46dca2:	74 0f                	je     0x46dcb3
46dca4:	56                   	push   %esi
46dca5:	8b 43 28             	mov    0x28(%ebx),%eax
46dca8:	50                   	push   %eax
46dca9:	8b 00                	mov    (%eax),%eax
46dcab:	ff 50 24             	call   *0x24(%eax)
46dcae:	e8 f9 d3 ff ff       	call   0x46b0ac
46dcb3:	5e                   	pop    %esi
46dcb4:	5b                   	pop    %ebx
46dcb5:	c3                   	ret
46dcb6:	8b c0                	mov    %eax,%eax
46dcb8:	55                   	push   %ebp
46dcb9:	8b ec                	mov    %esp,%ebp
46dcbb:	6a 00                	push   $0x0
46dcbd:	33 c0                	xor    %eax,%eax
46dcbf:	55                   	push   %ebp
46dcc0:	68 f6 dc 46 00       	push   $0x46dcf6
46dcc5:	64 ff 30             	push   %fs:(%eax)
46dcc8:	64 89 20             	mov    %esp,%fs:(%eax)
46dccb:	8d 55 fc             	lea    -0x4(%ebp),%edx
46dcce:	a1 cc 73 4a 00       	mov    0x4a73cc,%eax
46dcd3:	e8 9c 89 f9 ff       	call   0x406674
46dcd8:	8b 45 fc             	mov    -0x4(%ebp),%eax
46dcdb:	e8 58 ff ff ff       	call   0x46dc38
46dce0:	33 c0                	xor    %eax,%eax
46dce2:	5a                   	pop    %edx
46dce3:	59                   	pop    %ecx
46dce4:	59                   	pop    %ecx
46dce5:	64 89 10             	mov    %edx,%fs:(%eax)
46dce8:	68 fd dc 46 00       	push   $0x46dcfd
46dced:	8d 45 fc             	lea    -0x4(%ebp),%eax
46dcf0:	e8 53 6a f9 ff       	call   0x404748
46dcf5:	c3                   	ret
46dcf6:	e9 b5 63 f9 ff       	jmp    0x4040b0
46dcfb:	eb f0                	jmp    0x46dced
46dcfd:	59                   	pop    %ecx
46dcfe:	5d                   	pop    %ebp
46dcff:	c3                   	ret
46dd00:	c3                   	ret
46dd01:	8d 40 00             	lea    0x0(%eax),%eax
46dd04:	53                   	push   %ebx
46dd05:	56                   	push   %esi
46dd06:	8b f2                	mov    %edx,%esi
46dd08:	8b d8                	mov    %eax,%ebx
46dd0a:	68 44 dd 46 00       	push   $0x46dd44
46dd0f:	8d 43 28             	lea    0x28(%ebx),%eax
46dd12:	e8 61 84 f9 ff       	call   0x406178
46dd17:	50                   	push   %eax
46dd18:	6a 00                	push   $0x0