40eb72:	83 e1 e0             	and    $0xffffffe0,%ecx
40eb75:	8d 41 40             	lea    0x40(%ecx),%eax
40eb78:	5d                   	pop    %ebp
40eb79:	c3                   	ret
40eb7a:	f7 d9                	neg    %ecx
40eb7c:	1b c9                	sbb    %ecx,%ecx
40eb7e:	81 e1 08 ff ff ff    	and    $0xffffff08,%ecx
40eb84:	8d 81 00 01 00 00    	lea    0x100(%ecx),%eax
40eb8a:	5d                   	pop    %ebp
40eb8b:	c3                   	ret
40eb8c:	cc                   	int3
40eb8d:	cc                   	int3
40eb8e:	cc                   	int3
40eb8f:	cc                   	int3
40eb90:	55                   	push   %ebp
40eb91:	8b ec                	mov    %esp,%ebp
40eb93:	8b 45 08             	mov    0x8(%ebp),%eax
40eb96:	33 d2                	xor    %edx,%edx
40eb98:	53                   	push   %ebx
40eb99:	56                   	push   %esi
40eb9a:	57                   	push   %edi
40eb9b:	8b 48 3c             	mov    0x3c(%eax),%ecx
40eb9e:	03 c8                	add    %eax,%ecx
40eba0:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
40eba4:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
40eba8:	83 c0 18             	add    $0x18,%eax
40ebab:	03 c1                	add    %ecx,%eax
40ebad:	85 db                	test   %ebx,%ebx
40ebaf:	74 1b                	je     0x40ebcc
40ebb1:	8b 7d 0c             	mov    0xc(%ebp),%edi
40ebb4:	8b 70 0c             	mov    0xc(%eax),%esi
40ebb7:	3b fe                	cmp    %esi,%edi
40ebb9:	72 09                	jb     0x40ebc4
40ebbb:	8b 48 08             	mov    0x8(%eax),%ecx
40ebbe:	03 ce                	add    %esi,%ecx
40ebc0:	3b f9                	cmp    %ecx,%edi
40ebc2:	72 0a                	jb     0x40ebce
40ebc4:	42                   	inc    %edx
40ebc5:	83 c0 28             	add    $0x28,%eax
40ebc8:	3b d3                	cmp    %ebx,%edx
40ebca:	72 e8                	jb     0x40ebb4
40ebcc:	33 c0                	xor    %eax,%eax
40ebce:	5f                   	pop    %edi
40ebcf:	5e                   	pop    %esi
40ebd0:	5b                   	pop    %ebx
40ebd1:	5d                   	pop    %ebp
40ebd2:	c3                   	ret
40ebd3:	cc                   	int3
40ebd4:	cc                   	int3
40ebd5:	cc                   	int3
40ebd6:	cc                   	int3
40ebd7:	cc                   	int3
40ebd8:	cc                   	int3
40ebd9:	cc                   	int3
40ebda:	cc                   	int3
40ebdb:	cc                   	int3
40ebdc:	cc                   	int3
40ebdd:	cc                   	int3
40ebde:	cc                   	int3
40ebdf:	cc                   	int3
40ebe0:	55                   	push   %ebp
40ebe1:	8b ec                	mov    %esp,%ebp
40ebe3:	6a fe                	push   $0xfffffffe
40ebe5:	68 78 4d 41 00       	push   $0x414d78
40ebea:	68 10 3e 40 00       	push   $0x403e10
40ebef:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40ebf5:	50                   	push   %eax
40ebf6:	83 ec 08             	sub    $0x8,%esp
40ebf9:	53                   	push   %ebx
40ebfa:	56                   	push   %esi
40ebfb:	57                   	push   %edi
40ebfc:	a1 14 60 41 00       	mov    0x416014,%eax
40ec01:	31 45 f8             	xor    %eax,-0x8(%ebp)
40ec04:	33 c5                	xor    %ebp,%eax
40ec06:	50                   	push   %eax
40ec07:	8d 45 f0             	lea    -0x10(%ebp),%eax
40ec0a:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40ec10:	89 65 e8             	mov    %esp,-0x18(%ebp)
40ec13:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40ec1a:	68 00 00 40 00       	push   $0x400000
40ec1f:	e8 7c 00 00 00       	call   0x40eca0
40ec24:	83 c4 04             	add    $0x4,%esp
40ec27:	85 c0                	test   %eax,%eax
40ec29:	74 54                	je     0x40ec7f
40ec2b:	8b 45 08             	mov    0x8(%ebp),%eax
40ec2e:	2d 00 00 40 00       	sub    $0x400000,%eax
40ec33:	50                   	push   %eax
40ec34:	68 00 00 40 00       	push   $0x400000
40ec39:	e8 52 ff ff ff       	call   0x40eb90
40ec3e:	83 c4 08             	add    $0x8,%esp
40ec41:	85 c0                	test   %eax,%eax
40ec43:	74 3a                	je     0x40ec7f
40ec45:	8b 40 24             	mov    0x24(%eax),%eax
40ec48:	c1 e8 1f             	shr    $0x1f,%eax
40ec4b:	f7 d0                	not    %eax
40ec4d:	83 e0 01             	and    $0x1,%eax
40ec50:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40ec57:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40ec5a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40ec61:	59                   	pop    %ecx
40ec62:	5f                   	pop    %edi
40ec63:	5e                   	pop    %esi
40ec64:	5b                   	pop    %ebx
40ec65:	8b e5                	mov    %ebp,%esp
40ec67:	5d                   	pop    %ebp
40ec68:	c3                   	ret
40ec69:	8b 45 ec             	mov    -0x14(%ebp),%eax
40ec6c:	8b 00                	mov    (%eax),%eax
40ec6e:	33 c9                	xor    %ecx,%ecx
40ec70:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
40ec76:	0f 94 c1             	sete   %cl
40ec79:	8b c1                	mov    %ecx,%eax
40ec7b:	c3                   	ret
40ec7c:	8b 65 e8             	mov    -0x18(%ebp),%esp
40ec7f:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40ec86:	33 c0                	xor    %eax,%eax
40ec88:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40ec8b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40ec92:	59                   	pop    %ecx
40ec93:	5f                   	pop    %edi
40ec94:	5e                   	pop    %esi
40ec95:	5b                   	pop    %ebx
40ec96:	8b e5                	mov    %ebp,%esp
40ec98:	5d                   	pop    %ebp
40ec99:	c3                   	ret
40ec9a:	cc                   	int3
40ec9b:	cc                   	int3
40ec9c:	cc                   	int3
40ec9d:	cc                   	int3
40ec9e:	cc                   	int3
40ec9f:	cc                   	int3
40eca0:	55                   	push   %ebp
40eca1:	8b ec                	mov    %esp,%ebp
40eca3:	8b 45 08             	mov    0x8(%ebp),%eax
40eca6:	b9 4d 5a 00 00       	mov    $0x5a4d,%ecx
40ecab:	66 39 08             	cmp    %cx,(%eax)
40ecae:	75 1d                	jne    0x40eccd
40ecb0:	8b 48 3c             	mov    0x3c(%eax),%ecx
40ecb3:	03 c8                	add    %eax,%ecx
40ecb5:	81 39 50 45 00 00    	cmpl   $0x4550,(%ecx)
40ecbb:	75 10                	jne    0x40eccd
40ecbd:	ba 0b 01 00 00       	mov    $0x10b,%edx
40ecc2:	33 c0                	xor    %eax,%eax
40ecc4:	66 39 51 18          	cmp    %dx,0x18(%ecx)
40ecc8:	0f 94 c0             	sete   %al
40eccb:	5d                   	pop    %ebp
40eccc:	c3                   	ret
40eccd:	33 c0                	xor    %eax,%eax
40eccf:	5d                   	pop    %ebp
40ecd0:	c3                   	ret
40ecd1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40ecd4:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40ecdb:	59                   	pop    %ecx
40ecdc:	5f                   	pop    %edi
40ecdd:	5f                   	pop    %edi
40ecde:	5e                   	pop    %esi
40ecdf:	5b                   	pop    %ebx
40ece0:	8b e5                	mov    %ebp,%esp
40ece2:	5d                   	pop    %ebp
40ece3:	51                   	push   %ecx
40ece4:	c3                   	ret
40ece5:	50                   	push   %eax
40ece6:	64 ff 35 00 00 00 00 	push   %fs:0x0
40eced:	8d 44 24 0c          	lea    0xc(%esp),%eax
40ecf1:	2b 64 24 0c          	sub    0xc(%esp),%esp
40ecf5:	53                   	push   %ebx
40ecf6:	56                   	push   %esi
40ecf7:	57                   	push   %edi
40ecf8:	89 28                	mov    %ebp,(%eax)
40ecfa:	8b e8                	mov    %eax,%ebp
40ecfc:	a1 14 60 41 00       	mov    0x416014,%eax
40ed01:	33 c5                	xor    %ebp,%eax
40ed03:	50                   	push   %eax
40ed04:	ff 75 fc             	push   -0x4(%ebp)
40ed07:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40ed0e:	8d 45 f4             	lea    -0xc(%ebp),%eax
40ed11:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40ed17:	c3                   	ret
40ed18:	50                   	push   %eax
40ed19:	64 ff 35 00 00 00 00 	push   %fs:0x0
40ed20:	8d 44 24 0c          	lea    0xc(%esp),%eax
40ed24:	2b 64 24 0c          	sub    0xc(%esp),%esp
40ed28:	53                   	push   %ebx
40ed29:	56                   	push   %esi
40ed2a:	57                   	push   %edi
40ed2b:	89 28                	mov    %ebp,(%eax)
40ed2d:	8b e8                	mov    %eax,%ebp
40ed2f:	a1 14 60 41 00       	mov    0x416014,%eax
40ed34:	33 c5                	xor    %ebp,%eax
40ed36:	50                   	push   %eax
40ed37:	89 65 f0             	mov    %esp,-0x10(%ebp)
40ed3a:	ff 75 fc             	push   -0x4(%ebp)
40ed3d:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40ed44:	8d 45 f4             	lea    -0xc(%ebp),%eax
40ed47:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40ed4d:	c3                   	ret
40ed4e:	cc                   	int3
40ed4f:	cc                   	int3
40ed50:	51                   	push   %ecx
40ed51:	8d 4c 24 08          	lea    0x8(%esp),%ecx
40ed55:	2b c8                	sub    %eax,%ecx
40ed57:	83 e1 0f             	and    $0xf,%ecx
40ed5a:	03 c1                	add    %ecx,%eax
40ed5c:	1b c9                	sbb    %ecx,%ecx
40ed5e:	0b c1                	or     %ecx,%eax
40ed60:	59                   	pop    %ecx
40ed61:	e9 1a 00 00 00       	jmp    0x40ed80
40ed66:	51                   	push   %ecx
40ed67:	8d 4c 24 08          	lea    0x8(%esp),%ecx
40ed6b:	2b c8                	sub    %eax,%ecx
40ed6d:	83 e1 07             	and    $0x7,%ecx
40ed70:	03 c1                	add    %ecx,%eax
40ed72:	1b c9                	sbb    %ecx,%ecx
40ed74:	0b c1                	or     %ecx,%eax
40ed76:	59                   	pop    %ecx
40ed77:	e9 04 00 00 00       	jmp    0x40ed80
40ed7c:	cc                   	int3
40ed7d:	cc                   	int3
40ed7e:	cc                   	int3
40ed7f:	cc                   	int3
40ed80:	51                   	push   %ecx
40ed81:	8d 4c 24 04          	lea    0x4(%esp),%ecx
40ed85:	2b c8                	sub    %eax,%ecx
40ed87:	1b c0                	sbb    %eax,%eax
40ed89:	f7 d0                	not    %eax
40ed8b:	23 c8                	and    %eax,%ecx
40ed8d:	8b c4                	mov    %esp,%eax
40ed8f:	25 00 f0 ff ff       	and    $0xfffff000,%eax
40ed94:	3b c8                	cmp    %eax,%ecx
40ed96:	72 0a                	jb     0x40eda2
40ed98:	8b c1                	mov    %ecx,%eax
40ed9a:	59                   	pop    %ecx
40ed9b:	94                   	xchg   %eax,%esp
40ed9c:	8b 00                	mov    (%eax),%eax
40ed9e:	89 04 24             	mov    %eax,(%esp)
40eda1:	c3                   	ret
40eda2:	2d 00 10 00 00       	sub    $0x1000,%eax
40eda7:	85 00                	test   %eax,(%eax)
40eda9:	eb e9                	jmp    0x40ed94
40edab:	cc                   	int3
40edac:	cc                   	int3
40edad:	cc                   	int3
40edae:	cc                   	int3
40edaf:	cc                   	int3
40edb0:	55                   	push   %ebp
40edb1:	8b ec                	mov    %esp,%ebp
40edb3:	51                   	push   %ecx
40edb4:	83 3d bc 69 41 00 01 	cmpl   $0x1,0x4169bc
40edbb:	7c 66                	jl     0x40ee23
40edbd:	81 7d 08 b4 02 00 c0 	cmpl   $0xc00002b4,0x8(%ebp)
40edc4:	74 09                	je     0x40edcf
40edc6:	81 7d 08 b5 02 00 c0 	cmpl   $0xc00002b5,0x8(%ebp)
40edcd:	75 54                	jne    0x40ee23
40edcf:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
40edd3:	8b 45 fc             	mov    -0x4(%ebp),%eax
40edd6:	83 f0 3f             	xor    $0x3f,%eax
40edd9:	a8 81                	test   $0x81,%al
40eddb:	74 3f                	je     0x40ee1c
40eddd:	a9 04 02 00 00       	test   $0x204,%eax
40ede2:	75 07                	jne    0x40edeb
40ede4:	b8 8e 00 00 c0       	mov    $0xc000008e,%eax
40ede9:	c9                   	leave
40edea:	c3                   	ret
40edeb:	a9 02 01 00 00       	test   $0x102,%eax
40edf0:	74 2a                	je     0x40ee1c
40edf2:	a9 08 04 00 00       	test   $0x408,%eax
40edf7:	75 07                	jne    0x40ee00
40edf9:	b8 91 00 00 c0       	mov    $0xc0000091,%eax
40edfe:	c9                   	leave
40edff:	c3                   	ret
40ee00:	a9 10 08 00 00       	test   $0x810,%eax
40ee05:	75 07                	jne    0x40ee0e
40ee07:	b8 93 00 00 c0       	mov    $0xc0000093,%eax
40ee0c:	c9                   	leave
40ee0d:	c3                   	ret
40ee0e:	a9 20 10 00 00       	test   $0x1020,%eax
40ee13:	75 0e                	jne    0x40ee23
40ee15:	b8 8f 00 00 c0       	mov    $0xc000008f,%eax
40ee1a:	c9                   	leave
40ee1b:	c3                   	ret
40ee1c:	b8 90 00 00 c0       	mov    $0xc0000090,%eax
40ee21:	c9                   	leave
40ee22:	c3                   	ret
40ee23:	8b 45 08             	mov    0x8(%ebp),%eax
40ee26:	c9                   	leave
40ee27:	c3                   	ret
40ee28:	cc                   	int3
40ee29:	cc                   	int3
40ee2a:	cc                   	int3
40ee2b:	cc                   	int3
40ee2c:	cc                   	int3
40ee2d:	cc                   	int3
40ee2e:	cc                   	int3
40ee2f:	cc                   	int3
40ee30:	8b 5d f0             	mov    -0x10(%ebp),%ebx
40ee33:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40ee36:	83 e0 01             	and    $0x1,%eax
40ee39:	0f 84 0c 00 00 00    	je     0x40ee4b
40ee3f:	83 65 e4 fe          	andl   $0xfffffffe,-0x1c(%ebp)
40ee43:	8b 4b 08             	mov    0x8(%ebx),%ecx
40ee46:	e9 95 30 ff ff       	jmp    0x401ee0
40ee4b:	c3                   	ret
40ee4c:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
40ee4f:	e9 8c 30 ff ff       	jmp    0x401ee0
40ee54:	cc                   	int3
40ee55:	cc                   	int3
40ee56:	cc                   	int3
40ee57:	cc                   	int3
40ee58:	cc                   	int3
40ee59:	90                   	nop
40ee5a:	90                   	nop
40ee5b:	b8 60 46 41 00       	mov    $0x414660,%eax
40ee60:	e9 80 4c ff ff       	jmp    0x403ae5
40ee65:	cc                   	int3
40ee66:	cc                   	int3
40ee67:	cc                   	int3
40ee68:	cc                   	int3
40ee69:	cc                   	int3
40ee6a:	cc                   	int3
40ee6b:	cc                   	int3
40ee6c:	cc                   	int3
40ee6d:	cc                   	int3
40ee6e:	cc                   	int3
40ee6f:	cc                   	int3
40ee70:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40ee73:	e9 68 30 ff ff       	jmp    0x401ee0
40ee78:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40ee7b:	e9 60 30 ff ff       	jmp    0x401ee0
40ee80:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40ee83:	e9 58 30 ff ff       	jmp    0x401ee0
40ee88:	cc                   	int3
40ee89:	cc                   	int3
40ee8a:	cc                   	int3
40ee8b:	cc                   	int3
40ee8c:	cc                   	int3
40ee8d:	90                   	nop
40ee8e:	90                   	nop
40ee8f:	b8 94 46 41 00       	mov    $0x414694,%eax
40ee94:	e9 4c 4c ff ff       	jmp    0x403ae5
40ee99:	cc                   	int3
40ee9a:	cc                   	int3
40ee9b:	cc                   	int3
40ee9c:	cc                   	int3
40ee9d:	cc                   	int3
40ee9e:	cc                   	int3
40ee9f:	cc                   	int3
40eea0:	8d 4d a8             	lea    -0x58(%ebp),%ecx
40eea3:	e9 38 30 ff ff       	jmp    0x401ee0
40eea8:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
40eeab:	e9 30 30 ff ff       	jmp    0x401ee0