46ec02:	84 c0                	test   %al,%al
46ec04:	74 29                	je     0x46ec2f
46ec06:	8b 43 1c             	mov    0x1c(%ebx),%eax
46ec09:	8b 40 24             	mov    0x24(%eax),%eax
46ec0c:	8b 80 c4 00 00 00    	mov    0xc4(%eax),%eax
46ec12:	8b 04 b0             	mov    (%eax,%esi,4),%eax
46ec15:	8d 55 f4             	lea    -0xc(%ebp),%edx
46ec18:	e8 53 45 00 00       	call   0x473170
46ec1d:	8b 55 f4             	mov    -0xc(%ebp),%edx
46ec20:	8b 45 20             	mov    0x20(%ebp),%eax
46ec23:	e8 04 6e f9 ff       	call   0x405a2c
46ec28:	33 c0                	xor    %eax,%eax
46ec2a:	89 45 fc             	mov    %eax,-0x4(%ebp)
46ec2d:	eb 62                	jmp    0x46ec91
46ec2f:	4e                   	dec    %esi
46ec30:	83 fe ff             	cmp    $0xffffffff,%esi
46ec33:	75 b9                	jne    0x46ebee
46ec35:	eb 5a                	jmp    0x46ec91
46ec37:	8d 70 01             	lea    0x1(%eax),%esi
46ec3a:	8b 43 1c             	mov    0x1c(%ebx),%eax
46ec3d:	8b 40 24             	mov    0x24(%eax),%eax
46ec40:	8b b8 c0 00 00 00    	mov    0xc0(%eax),%edi
46ec46:	4f                   	dec    %edi
46ec47:	2b fe                	sub    %esi,%edi
46ec49:	7c 46                	jl     0x46ec91
46ec4b:	47                   	inc    %edi
46ec4c:	8b 43 1c             	mov    0x1c(%ebx),%eax
46ec4f:	8b 40 24             	mov    0x24(%eax),%eax
46ec52:	8b 80 c4 00 00 00    	mov    0xc4(%eax),%eax
46ec58:	8b 04 b0             	mov    (%eax,%esi,4),%eax
46ec5b:	e8 c0 45 00 00       	call   0x473220
46ec60:	84 c0                	test   %al,%al
46ec62:	74 29                	je     0x46ec8d
46ec64:	8b 43 1c             	mov    0x1c(%ebx),%eax
46ec67:	8b 40 24             	mov    0x24(%eax),%eax
46ec6a:	8b 80 c4 00 00 00    	mov    0xc4(%eax),%eax
46ec70:	8b 04 b0             	mov    (%eax,%esi,4),%eax
46ec73:	8d 55 f0             	lea    -0x10(%ebp),%edx
46ec76:	e8 f5 44 00 00       	call   0x473170
46ec7b:	8b 55 f0             	mov    -0x10(%ebp),%edx
46ec7e:	8b 45 20             	mov    0x20(%ebp),%eax
46ec81:	e8 a6 6d f9 ff       	call   0x405a2c
46ec86:	33 c0                	xor    %eax,%eax
46ec88:	89 45 fc             	mov    %eax,-0x4(%ebp)
46ec8b:	eb 04                	jmp    0x46ec91
46ec8d:	46                   	inc    %esi
46ec8e:	4f                   	dec    %edi
46ec8f:	75 bb                	jne    0x46ec4c
46ec91:	33 c0                	xor    %eax,%eax
46ec93:	5a                   	pop    %edx
46ec94:	59                   	pop    %ecx
46ec95:	59                   	pop    %ecx
46ec96:	64 89 10             	mov    %edx,%fs:(%eax)
46ec99:	eb 11                	jmp    0x46ecac
46ec9b:	e9 b8 52 f9 ff       	jmp    0x403f58
46eca0:	c7 45 fc ff ff 00 80 	movl   $0x8000ffff,-0x4(%ebp)
46eca7:	e8 14 56 f9 ff       	call   0x4042c0
46ecac:	33 c0                	xor    %eax,%eax
46ecae:	5a                   	pop    %edx
46ecaf:	59                   	pop    %ecx
46ecb0:	59                   	pop    %ecx
46ecb1:	64 89 10             	mov    %edx,%fs:(%eax)
46ecb4:	68 dc ec 46 00       	push   $0x46ecdc
46ecb9:	8d 45 f0             	lea    -0x10(%ebp),%eax
46ecbc:	8b 15 8c 11 40 00    	mov    0x40118c,%edx
46ecc2:	b9 03 00 00 00       	mov    $0x3,%ecx
46ecc7:	e8 94 67 f9 ff       	call   0x405460
46eccc:	8d 45 10             	lea    0x10(%ebp),%eax
46eccf:	e8 98 6d f9 ff       	call   0x405a6c
46ecd4:	c3                   	ret
46ecd5:	e9 32 55 f9 ff       	jmp    0x40420c
46ecda:	eb dd                	jmp    0x46ecb9
46ecdc:	8b 45 fc             	mov    -0x4(%ebp),%eax
46ecdf:	5f                   	pop    %edi
46ece0:	5e                   	pop    %esi
46ece1:	5b                   	pop    %ebx
46ece2:	8b e5                	mov    %ebp,%esp
46ece4:	5d                   	pop    %ebp
46ece5:	c2 1c 00             	ret    $0x1c
46ece8:	55                   	push   %ebp
46ece9:	8b ec                	mov    %esp,%ebp
46eceb:	51                   	push   %ecx
46ecec:	53                   	push   %ebx
46eced:	56                   	push   %esi
46ecee:	57                   	push   %edi
46ecef:	8b 5d 08             	mov    0x8(%ebp),%ebx
46ecf2:	8d 45 10             	lea    0x10(%ebp),%eax
46ecf5:	e8 7a 6d f9 ff       	call   0x405a74
46ecfa:	33 c0                	xor    %eax,%eax
46ecfc:	55                   	push   %ebp
46ecfd:	68 d8 ed 46 00       	push   $0x46edd8
46ed02:	64 ff 30             	push   %fs:(%eax)
46ed05:	64 89 20             	mov    %esp,%fs:(%eax)
46ed08:	33 d2                	xor    %edx,%edx
46ed0a:	55                   	push   %ebp
46ed0b:	68 b1 ed 46 00       	push   $0x46edb1
46ed10:	64 ff 32             	push   %fs:(%edx)
46ed13:	64 89 22             	mov    %esp,%fs:(%edx)
46ed16:	8d 4d fc             	lea    -0x4(%ebp),%ecx
46ed19:	8d 55 10             	lea    0x10(%ebp),%edx
46ed1c:	8b c3                	mov    %ebx,%eax
46ed1e:	e8 19 f9 ff ff       	call   0x46e63c
46ed23:	84 c0                	test   %al,%al
46ed25:	75 0d                	jne    0x46ed34
46ed27:	33 c0                	xor    %eax,%eax
46ed29:	5a                   	pop    %edx
46ed2a:	59                   	pop    %ecx
46ed2b:	59                   	pop    %ecx
46ed2c:	64 89 10             	mov    %edx,%fs:(%eax)
46ed2f:	e9 8e 00 00 00       	jmp    0x46edc2
46ed34:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
46ed38:	74 11                	je     0x46ed4b
46ed3a:	c7 45 fc 57 00 07 80 	movl   $0x80070057,-0x4(%ebp)
46ed41:	33 c0                	xor    %eax,%eax
46ed43:	5a                   	pop    %edx
46ed44:	59                   	pop    %ecx
46ed45:	59                   	pop    %ecx
46ed46:	64 89 10             	mov    %edx,%fs:(%eax)
46ed49:	eb 77                	jmp    0x46edc2
46ed4b:	8b c3                	mov    %ebx,%eax
46ed4d:	e8 e2 f9 ff ff       	call   0x46e734
46ed52:	84 c0                	test   %al,%al
46ed54:	74 4a                	je     0x46eda0
46ed56:	8b 73 1c             	mov    0x1c(%ebx),%esi
46ed59:	80 7e 21 00          	cmpb   $0x0,0x21(%esi)
46ed5d:	75 06                	jne    0x46ed65
46ed5f:	80 7e 14 00          	cmpb   $0x0,0x14(%esi)
46ed63:	74 3b                	je     0x46eda0
46ed65:	8b 43 1c             	mov    0x1c(%ebx),%eax
46ed68:	8b d0                	mov    %eax,%edx
46ed6a:	8b 40 24             	mov    0x24(%eax),%eax
46ed6d:	e8 92 69 00 00       	call   0x475704
46ed72:	8b 43 1c             	mov    0x1c(%ebx),%eax
46ed75:	8b 40 24             	mov    0x24(%eax),%eax
46ed78:	e8 77 94 00 00       	call   0x4781f4
46ed7d:	8b 73 1c             	mov    0x1c(%ebx),%esi
46ed80:	8b 46 24             	mov    0x24(%esi),%eax
46ed83:	f6 80 b3 00 00 00 01 	testb  $0x1,0xb3(%eax)
46ed8a:	75 1b                	jne    0x46eda7
46ed8c:	83 b8 98 00 00 00 00 	cmpl   $0x0,0x98(%eax)
46ed93:	75 12                	jne    0x46eda7
46ed95:	8b c6                	mov    %esi,%eax
46ed97:	33 d2                	xor    %edx,%edx
46ed99:	e8 76 44 00 00       	call   0x473214
46ed9e:	eb 07                	jmp    0x46eda7
46eda0:	c7 45 fc 05 40 00 80 	movl   $0x80004005,-0x4(%ebp)
46eda7:	33 c0                	xor    %eax,%eax
46eda9:	5a                   	pop    %edx
46edaa:	59                   	pop    %ecx
46edab:	59                   	pop    %ecx
46edac:	64 89 10             	mov    %edx,%fs:(%eax)
46edaf:	eb 11                	jmp    0x46edc2
46edb1:	e9 a2 51 f9 ff       	jmp    0x403f58
46edb6:	c7 45 fc ff ff 00 80 	movl   $0x8000ffff,-0x4(%ebp)
46edbd:	e8 fe 54 f9 ff       	call   0x4042c0
46edc2:	33 c0                	xor    %eax,%eax
46edc4:	5a                   	pop    %edx
46edc5:	59                   	pop    %ecx
46edc6:	59                   	pop    %ecx
46edc7:	64 89 10             	mov    %edx,%fs:(%eax)
46edca:	68 df ed 46 00       	push   $0x46eddf
46edcf:	8d 45 10             	lea    0x10(%ebp),%eax
46edd2:	e8 95 6c f9 ff       	call   0x405a6c
46edd7:	c3                   	ret
46edd8:	e9 2f 54 f9 ff       	jmp    0x40420c
46eddd:	eb f0                	jmp    0x46edcf
46eddf:	8b 45 fc             	mov    -0x4(%ebp),%eax
46ede2:	5f                   	pop    %edi
46ede3:	5e                   	pop    %esi
46ede4:	5b                   	pop    %ebx
46ede5:	59                   	pop    %ecx
46ede6:	5d                   	pop    %ebp
46ede7:	c2 18 00             	ret    $0x18
46edea:	8b c0                	mov    %eax,%eax
46edec:	55                   	push   %ebp
46eded:	8b ec                	mov    %esp,%ebp
46edef:	b9 04 00 00 00       	mov    $0x4,%ecx
46edf4:	6a 00                	push   $0x0
46edf6:	6a 00                	push   $0x0
46edf8:	49                   	dec    %ecx
46edf9:	75 f9                	jne    0x46edf4
46edfb:	51                   	push   %ecx
46edfc:	53                   	push   %ebx
46edfd:	56                   	push   %esi
46edfe:	57                   	push   %edi
46edff:	8b 75 08             	mov    0x8(%ebp),%esi
46ee02:	8d 45 0c             	lea    0xc(%ebp),%eax
46ee05:	e8 6a 6c f9 ff       	call   0x405a74
46ee0a:	8b 45 1c             	mov    0x1c(%ebp),%eax
46ee0d:	85 c0                	test   %eax,%eax
46ee0f:	74 04                	je     0x46ee15
46ee11:	33 d2                	xor    %edx,%edx
46ee13:	89 10                	mov    %edx,(%eax)
46ee15:	33 c0                	xor    %eax,%eax
46ee17:	55                   	push   %ebp
46ee18:	68 17 ef 46 00       	push   $0x46ef17
46ee1d:	64 ff 30             	push   %fs:(%eax)
46ee20:	64 89 20             	mov    %esp,%fs:(%eax)
46ee23:	33 c0                	xor    %eax,%eax
46ee25:	55                   	push   %ebp
46ee26:	68 d7 ee 46 00       	push   $0x46eed7
46ee2b:	64 ff 30             	push   %fs:(%eax)
46ee2e:	64 89 20             	mov    %esp,%fs:(%eax)
46ee31:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
46ee35:	75 12                	jne    0x46ee49
46ee37:	bb 05 40 00 80       	mov    $0x80004005,%ebx
46ee3c:	33 c0                	xor    %eax,%eax
46ee3e:	5a                   	pop    %edx
46ee3f:	59                   	pop    %ecx
46ee40:	59                   	pop    %ecx
46ee41:	64 89 10             	mov    %edx,%fs:(%eax)
46ee44:	e9 9d 00 00 00       	jmp    0x46eee6
46ee49:	bb 57 00 07 80       	mov    $0x80070057,%ebx
46ee4e:	8d 45 0c             	lea    0xc(%ebp),%eax
46ee51:	e8 ea 76 fa ff       	call   0x416540
46ee56:	66 83 f8 03          	cmp    $0x3,%ax
46ee5a:	75 71                	jne    0x46eecd
46ee5c:	8d 45 f0             	lea    -0x10(%ebp),%eax
46ee5f:	33 d2                	xor    %edx,%edx
46ee61:	b1 01                	mov    $0x1,%cl
46ee63:	e8 d4 6b f9 ff       	call   0x405a3c
46ee68:	8d 55 f0             	lea    -0x10(%ebp),%edx
46ee6b:	8d 45 0c             	lea    0xc(%ebp),%eax
46ee6e:	e8 d1 6b f9 ff       	call   0x405a44
46ee73:	75 15                	jne    0x46ee8a
46ee75:	8b 45 1c             	mov    0x1c(%ebp),%eax
46ee78:	8b d6                	mov    %esi,%edx
46ee7a:	85 d2                	test   %edx,%edx
46ee7c:	74 03                	je     0x46ee81
46ee7e:	83 ea e0             	sub    $0xffffffe0,%edx
46ee81:	e8 c6 79 f9 ff       	call   0x40684c
46ee86:	33 db                	xor    %ebx,%ebx
46ee88:	eb 43                	jmp    0x46eecd
46ee8a:	8d 45 e0             	lea    -0x20(%ebp),%eax
46ee8d:	ba 01 00 00 00       	mov    $0x1,%edx
46ee92:	b1 01                	mov    $0x1,%cl
46ee94:	e8 a3 6b f9 ff       	call   0x405a3c
46ee99:	8d 55 e0             	lea    -0x20(%ebp),%edx
46ee9c:	8d 45 0c             	lea    0xc(%ebp),%eax
46ee9f:	e8 a0 6b f9 ff       	call   0x405a44
46eea4:	75 27                	jne    0x46eecd
46eea6:	8b 46 1c             	mov    0x1c(%esi),%eax
46eea9:	8b 40 24             	mov    0x24(%eax),%eax
46eeac:	8b b0 90 00 00 00    	mov    0x90(%eax),%esi
46eeb2:	85 f6                	test   %esi,%esi
46eeb4:	74 17                	je     0x46eecd
46eeb6:	8d 55 dc             	lea    -0x24(%ebp),%edx
46eeb9:	8b c6                	mov    %esi,%eax
46eebb:	e8 24 5b 00 00       	call   0x4749e4
46eec0:	8b 55 dc             	mov    -0x24(%ebp),%edx
46eec3:	8b 45 1c             	mov    0x1c(%ebp),%eax
46eec6:	e8 81 79 f9 ff       	call   0x40684c
46eecb:	33 db                	xor    %ebx,%ebx
46eecd:	33 c0                	xor    %eax,%eax
46eecf:	5a                   	pop    %edx
46eed0:	59                   	pop    %ecx
46eed1:	59                   	pop    %ecx
46eed2:	64 89 10             	mov    %edx,%fs:(%eax)
46eed5:	eb 0f                	jmp    0x46eee6
46eed7:	e9 7c 50 f9 ff       	jmp    0x403f58
46eedc:	bb ff ff 00 80       	mov    $0x8000ffff,%ebx
46eee1:	e8 da 53 f9 ff       	call   0x4042c0
46eee6:	33 c0                	xor    %eax,%eax
46eee8:	5a                   	pop    %edx
46eee9:	59                   	pop    %ecx
46eeea:	59                   	pop    %ecx
46eeeb:	64 89 10             	mov    %edx,%fs:(%eax)
46eeee:	68 1e ef 46 00       	push   $0x46ef1e
46eef3:	8d 45 dc             	lea    -0x24(%ebp),%eax
46eef6:	e8 39 79 f9 ff       	call   0x406834
46eefb:	8d 45 e0             	lea    -0x20(%ebp),%eax
46eefe:	8b 15 d8 10 40 00    	mov    0x4010d8,%edx
46ef04:	b9 02 00 00 00       	mov    $0x2,%ecx
46ef09:	e8 52 65 f9 ff       	call   0x405460
46ef0e:	8d 45 0c             	lea    0xc(%ebp),%eax
46ef11:	e8 56 6b f9 ff       	call   0x405a6c
46ef16:	c3                   	ret
46ef17:	e9 f0 52 f9 ff       	jmp    0x40420c
46ef1c:	eb d5                	jmp    0x46eef3
46ef1e:	8b c3                	mov    %ebx,%eax
46ef20:	5f                   	pop    %edi
46ef21:	5e                   	pop    %esi
46ef22:	5b                   	pop    %ebx
46ef23:	8b e5                	mov    %ebp,%esp
46ef25:	5d                   	pop    %ebp
46ef26:	c2 18 00             	ret    $0x18
46ef29:	8d 40 00             	lea    0x0(%eax),%eax
46ef2c:	55                   	push   %ebp
46ef2d:	8b ec                	mov    %esp,%ebp
46ef2f:	53                   	push   %ebx
46ef30:	56                   	push   %esi
46ef31:	57                   	push   %edi
46ef32:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46ef35:	8b 45 08             	mov    0x8(%ebp),%eax
46ef38:	33 f6                	xor    %esi,%esi
46ef3a:	55                   	push   %ebp
46ef3b:	68 7f ef 46 00       	push   $0x46ef7f
46ef40:	64 ff 36             	push   %fs:(%esi)
46ef43:	64 89 26             	mov    %esp,%fs:(%esi)
46ef46:	8b 50 1c             	mov    0x1c(%eax),%edx
46ef49:	85 d2                	test   %edx,%edx
46ef4b:	75 0f                	jne    0x46ef5c
46ef4d:	bb 05 40 00 80       	mov    $0x80004005,%ebx
46ef52:	33 c0                	xor    %eax,%eax
46ef54:	5a                   	pop    %edx
46ef55:	59                   	pop    %ecx
46ef56:	59                   	pop    %ecx
46ef57:	64 89 10             	mov    %edx,%fs:(%eax)
46ef5a:	eb 32                	jmp    0x46ef8e
46ef5c:	8b 42 24             	mov    0x24(%edx),%eax
46ef5f:	3b 90 8c 00 00 00    	cmp    0x8c(%eax),%edx
46ef65:	75 08                	jne    0x46ef6f
46ef67:	c7 01 01 00 00 00    	movl   $0x1,(%ecx)
46ef6d:	eb 04                	jmp    0x46ef73
46ef6f:	33 c0                	xor    %eax,%eax
46ef71:	89 01                	mov    %eax,(%ecx)
46ef73:	33 db                	xor    %ebx,%ebx
46ef75:	33 c0                	xor    %eax,%eax
46ef77:	5a                   	pop    %edx
46ef78:	59                   	pop    %ecx
46ef79:	59                   	pop    %ecx
46ef7a:	64 89 10             	mov    %edx,%fs:(%eax)
46ef7d:	eb 0f                	jmp    0x46ef8e
46ef7f:	e9 d4 4f f9 ff       	jmp    0x403f58
46ef84:	bb ff ff 00 80       	mov    $0x8000ffff,%ebx
46ef89:	e8 32 53 f9 ff       	call   0x4042c0
46ef8e:	8b c3                	mov    %ebx,%eax
46ef90:	5f                   	pop    %edi
46ef91:	5e                   	pop    %esi
46ef92:	5b                   	pop    %ebx
46ef93:	5d                   	pop    %ebp
46ef94:	c2 08 00             	ret    $0x8
46ef97:	90                   	nop
46ef98:	55                   	push   %ebp
46ef99:	8b ec                	mov    %esp,%ebp
46ef9b:	51                   	push   %ecx
46ef9c:	53                   	push   %ebx
46ef9d:	56                   	push   %esi
46ef9e:	57                   	push   %edi
46ef9f:	8b 5d 08             	mov    0x8(%ebp),%ebx
46efa2:	8d 45 0c             	lea    0xc(%ebp),%eax
46efa5:	e8 ca 6a f9 ff       	call   0x405a74
46efaa:	8b 45 1c             	mov    0x1c(%ebp),%eax
46efad:	85 c0                	test   %eax,%eax
46efaf:	74 04                	je     0x46efb5
46efb1:	33 d2                	xor    %edx,%edx
46efb3:	89 10                	mov    %edx,(%eax)
46efb5:	33 c0                	xor    %eax,%eax
46efb7:	55                   	push   %ebp
46efb8:	68 9f f0 46 00       	push   $0x46f09f