40e9cf:	83 c4 f8             	add    $0xfffffff8,%esp
40e9d2:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e9d5:	8d 55 f8             	lea    -0x8(%ebp),%edx
40e9d8:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e9db:	8b 40 20             	mov    0x20(%eax),%eax
40e9de:	e8 c9 fb ff ff       	call   0x40e5ac
40e9e3:	33 c0                	xor    %eax,%eax
40e9e5:	55                   	push   %ebp
40e9e6:	68 51 ea 40 00       	push   $0x40ea51
40e9eb:	64 ff 30             	push   %fs:(%eax)
40e9ee:	64 89 20             	mov    %esp,%fs:(%eax)
40e9f1:	8b 45 f8             	mov    -0x8(%ebp),%eax
40e9f4:	ff 48 0c             	decl   0xc(%eax)
40e9f7:	8b 45 f8             	mov    -0x8(%ebp),%eax
40e9fa:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
40e9fe:	75 35                	jne    0x40ea35
40ea00:	8d 55 f8             	lea    -0x8(%ebp),%edx
40ea03:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ea06:	8b 40 20             	mov    0x20(%eax),%eax
40ea09:	e8 1e fc ff ff       	call   0x40e62c
40ea0e:	e8 b5 87 ff ff       	call   0x4071c8
40ea13:	8b 55 fc             	mov    -0x4(%ebp),%edx
40ea16:	3b 42 24             	cmp    0x24(%edx),%eax
40ea19:	74 1a                	je     0x40ea35
40ea1b:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ea1e:	83 c0 0c             	add    $0xc,%eax
40ea21:	e8 92 fa ff ff       	call   0x40e4b8
40ea26:	3d ff ff 00 00       	cmp    $0xffff,%eax
40ea2b:	75 08                	jne    0x40ea35
40ea2d:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ea30:	e8 1b fd ff ff       	call   0x40e750
40ea35:	33 c0                	xor    %eax,%eax
40ea37:	5a                   	pop    %edx
40ea38:	59                   	pop    %ecx
40ea39:	59                   	pop    %ecx
40ea3a:	64 89 10             	mov    %edx,%fs:(%eax)
40ea3d:	68 58 ea 40 00       	push   $0x40ea58
40ea42:	8d 55 f8             	lea    -0x8(%ebp),%edx
40ea45:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ea48:	8b 40 20             	mov    0x20(%eax),%eax
40ea4b:	e8 d4 fb ff ff       	call   0x40e624
40ea50:	c3                   	ret
40ea51:	e9 b6 57 ff ff       	jmp    0x40420c
40ea56:	eb ea                	jmp    0x40ea42
40ea58:	59                   	pop    %ecx
40ea59:	59                   	pop    %ecx
40ea5a:	5d                   	pop    %ebp
40ea5b:	c3                   	ret
40ea5c:	8b 10                	mov    (%eax),%edx
40ea5e:	33 c9                	xor    %ecx,%ecx
40ea60:	89 08                	mov    %ecx,(%eax)
40ea62:	8b c2                	mov    %edx,%eax
40ea64:	e8 0f 50 ff ff       	call   0x403a78
40ea69:	c3                   	ret
40ea6a:	8b c0                	mov    %eax,%eax
40ea6c:	53                   	push   %ebx
40ea6d:	56                   	push   %esi
40ea6e:	57                   	push   %edi
40ea6f:	8b f9                	mov    %ecx,%edi
40ea71:	8b f2                	mov    %edx,%esi
40ea73:	8b d8                	mov    %eax,%ebx
40ea75:	85 db                	test   %ebx,%ebx
40ea77:	74 0b                	je     0x40ea84
40ea79:	57                   	push   %edi
40ea7a:	56                   	push   %esi
40ea7b:	53                   	push   %ebx
40ea7c:	8b 03                	mov    (%ebx),%eax
40ea7e:	ff 10                	call   *(%eax)
40ea80:	85 c0                	test   %eax,%eax
40ea82:	74 04                	je     0x40ea88
40ea84:	33 c0                	xor    %eax,%eax
40ea86:	eb 02                	jmp    0x40ea8a
40ea88:	b0 01                	mov    $0x1,%al
40ea8a:	5f                   	pop    %edi
40ea8b:	5e                   	pop    %esi
40ea8c:	5b                   	pop    %ebx
40ea8d:	c3                   	ret
40ea8e:	8b c0                	mov    %eax,%eax
40ea90:	55                   	push   %ebp
40ea91:	8b ec                	mov    %esp,%ebp
40ea93:	6a 00                	push   $0x0
40ea95:	53                   	push   %ebx
40ea96:	56                   	push   %esi
40ea97:	57                   	push   %edi
40ea98:	8b f9                	mov    %ecx,%edi
40ea9a:	8b f2                	mov    %edx,%esi
40ea9c:	8b d8                	mov    %eax,%ebx
40ea9e:	33 c0                	xor    %eax,%eax
40eaa0:	55                   	push   %ebp
40eaa1:	68 07 eb 40 00       	push   $0x40eb07
40eaa6:	64 ff 30             	push   %fs:(%eax)
40eaa9:	64 89 20             	mov    %esp,%fs:(%eax)
40eaac:	85 db                	test   %ebx,%ebx
40eaae:	74 39                	je     0x40eae9
40eab0:	8d 45 fc             	lea    -0x4(%ebp),%eax
40eab3:	e8 7c 7d ff ff       	call   0x406834
40eab8:	8b c8                	mov    %eax,%ecx
40eaba:	ba 18 eb 40 00       	mov    $0x40eb18,%edx
40eabf:	8b c3                	mov    %ebx,%eax
40eac1:	e8 66 50 ff ff       	call   0x403b2c
40eac6:	84 c0                	test   %al,%al
40eac8:	74 10                	je     0x40eada
40eaca:	8b cf                	mov    %edi,%ecx
40eacc:	8b d6                	mov    %esi,%edx
40eace:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ead1:	e8 96 ff ff ff       	call   0x40ea6c
40ead6:	84 c0                	test   %al,%al
40ead8:	75 13                	jne    0x40eaed
40eada:	8b cf                	mov    %edi,%ecx
40eadc:	8b d6                	mov    %esi,%edx
40eade:	8b c3                	mov    %ebx,%eax
40eae0:	e8 47 50 ff ff       	call   0x403b2c
40eae5:	84 c0                	test   %al,%al
40eae7:	75 04                	jne    0x40eaed
40eae9:	33 c0                	xor    %eax,%eax
40eaeb:	eb 02                	jmp    0x40eaef
40eaed:	b0 01                	mov    $0x1,%al
40eaef:	8b d8                	mov    %eax,%ebx
40eaf1:	33 c0                	xor    %eax,%eax
40eaf3:	5a                   	pop    %edx
40eaf4:	59                   	pop    %ecx
40eaf5:	59                   	pop    %ecx
40eaf6:	64 89 10             	mov    %edx,%fs:(%eax)
40eaf9:	68 0e eb 40 00       	push   $0x40eb0e
40eafe:	8d 45 fc             	lea    -0x4(%ebp),%eax
40eb01:	e8 2e 7d ff ff       	call   0x406834
40eb06:	c3                   	ret
40eb07:	e9 00 57 ff ff       	jmp    0x40420c
40eb0c:	eb f0                	jmp    0x40eafe
40eb0e:	8b c3                	mov    %ebx,%eax
40eb10:	5f                   	pop    %edi
40eb11:	5e                   	pop    %esi
40eb12:	5b                   	pop    %ebx
40eb13:	59                   	pop    %ecx
40eb14:	5d                   	pop    %ebp
40eb15:	c3                   	ret
40eb1e:	00 00                	add    %al,(%eax)
40eb20:	c0 00 00             	rolb   $0x0,(%eax)
40eb23:	00 00                	add    %al,(%eax)
40eb25:	00 00                	add    %al,(%eax)
40eb27:	46                   	inc    %esi
40eb28:	55                   	push   %ebp
40eb29:	8b ec                	mov    %esp,%ebp
40eb2b:	83 c4 f4             	add    $0xfffffff4,%esp
40eb2e:	53                   	push   %ebx
40eb2f:	8b d8                	mov    %eax,%ebx
40eb31:	52                   	push   %edx
40eb32:	e8 49 88 ff ff       	call   0x407380
40eb37:	89 45 f4             	mov    %eax,-0xc(%ebp)
40eb3a:	33 c0                	xor    %eax,%eax
40eb3c:	55                   	push   %ebp
40eb3d:	68 9a eb 40 00       	push   $0x40eb9a
40eb42:	64 ff 30             	push   %fs:(%eax)
40eb45:	64 89 20             	mov    %esp,%fs:(%eax)
40eb48:	d9 7d fe             	fnstcw -0x2(%ebp)
40eb4b:	33 c0                	xor    %eax,%eax
40eb4d:	55                   	push   %ebp
40eb4e:	68 7c eb 40 00       	push   $0x40eb7c
40eb53:	64 ff 30             	push   %fs:(%eax)
40eb56:	64 89 20             	mov    %esp,%fs:(%eax)
40eb59:	8b c3                	mov    %ebx,%eax
40eb5b:	e8 b8 61 ff ff       	call   0x404d18
40eb60:	50                   	push   %eax
40eb61:	e8 b2 87 ff ff       	call   0x407318
40eb66:	89 45 f8             	mov    %eax,-0x8(%ebp)
40eb69:	33 c0                	xor    %eax,%eax
40eb6b:	5a                   	pop    %edx
40eb6c:	59                   	pop    %ecx
40eb6d:	59                   	pop    %ecx
40eb6e:	64 89 10             	mov    %edx,%fs:(%eax)
40eb71:	68 83 eb 40 00       	push   $0x40eb83
40eb76:	db e2                	fnclex
40eb78:	d9 6d fe             	fldcw  -0x2(%ebp)
40eb7b:	c3                   	ret
40eb7c:	e9 8b 56 ff ff       	jmp    0x40420c
40eb81:	eb f3                	jmp    0x40eb76
40eb83:	33 c0                	xor    %eax,%eax
40eb85:	5a                   	pop    %edx
40eb86:	59                   	pop    %ecx
40eb87:	59                   	pop    %ecx
40eb88:	64 89 10             	mov    %edx,%fs:(%eax)
40eb8b:	68 a1 eb 40 00       	push   $0x40eba1
40eb90:	8b 45 f4             	mov    -0xc(%ebp),%eax
40eb93:	50                   	push   %eax
40eb94:	e8 e7 87 ff ff       	call   0x407380
40eb99:	c3                   	ret
40eb9a:	e9 6d 56 ff ff       	jmp    0x40420c
40eb9f:	eb ef                	jmp    0x40eb90
40eba1:	8b 45 f8             	mov    -0x8(%ebp),%eax
40eba4:	5b                   	pop    %ebx
40eba5:	8b e5                	mov    %ebp,%esp
40eba7:	5d                   	pop    %ebp
40eba8:	c3                   	ret
40eba9:	8d 40 00             	lea    0x0(%eax),%eax
40ebac:	1d 00 00 00 18       	sbb    $0x18000000,%eax
40ebb1:	a3 68 00 e4 6f       	mov    %eax,0x6fe40068
40ebb6:	6a 00                	push   $0x0
40ebb8:	10 a3 68 00 8c 6e    	adc    %ah,0x6e8c0068(%ebx)
40ebbe:	6a 00                	push   $0x0
40ebc0:	08 a3 68 00 40 6c    	or     %ah,0x6c400068(%ebx)
40ebc6:	6a 00                	push   $0x0
40ebc8:	00 a3 68 00 6c 70    	add    %ah,0x706c0068(%ebx)
40ebce:	6a 00                	push   $0x0
40ebd0:	f8                   	clc
40ebd1:	a2 68 00 c4 70       	mov    %al,0x70c40068
40ebd6:	6a 00                	push   $0x0
40ebd8:	f0 a2 68 00 d0 6d    	lock mov %al,0x6dd00068
40ebde:	6a 00                	push   $0x0
40ebe0:	e8 a2 68 00 6c       	call   0x6c415487
40ebe5:	6e                   	outsb  %ds:(%esi),(%dx)
40ebe6:	6a 00                	push   $0x0
40ebe8:	e0 a2                	loopne 0x40eb8c
40ebea:	68 00 e4 6b 6a       	push   $0x6a6be400
40ebef:	00 d8                	add    %bl,%al
40ebf1:	a2 68 00 d8 6e       	mov    %al,0x6ed80068
40ebf6:	6a 00                	push   $0x0
40ebf8:	d0 a2 68 00 48 6f    	shlb   $1,0x6f480068(%edx)
40ebfe:	6a 00                	push   $0x0
40ec00:	c8 a2 68 00          	enter  $0x68a2,$0x0
40ec04:	30 6e 6a             	xor    %ch,0x6a(%esi)
40ec07:	00 c0                	add    %al,%al
40ec09:	a2 68 00 3c 6e       	mov    %al,0x6e3c0068
40ec0e:	6a 00                	push   $0x0
40ec10:	b8 a2 68 00 a8       	mov    $0xa80068a2,%eax
40ec15:	71 6a                	jno    0x40ec81
40ec17:	00 b0 a2 68 00 94    	add    %dh,-0x6bff975e(%eax)
40ec1d:	71 6a                	jno    0x40ec89
40ec1f:	00 a8 a2 68 00 5c    	add    %ch,0x5c0068a2(%eax)
40ec25:	72 6a                	jb     0x40ec91
40ec27:	00 a0 a2 68 00 ac    	add    %ah,-0x53ff975e(%eax)
40ec2d:	6f                   	outsl  %ds:(%esi),(%dx)
40ec2e:	6a 00                	push   $0x0
40ec30:	98                   	cwtl
40ec31:	a2 68 00 78 6f       	mov    %al,0x6f780068
40ec36:	6a 00                	push   $0x0
40ec38:	90                   	nop
40ec39:	a2 68 00 78 72       	mov    %al,0x72780068
40ec3e:	6a 00                	push   $0x0
40ec40:	88 a2 68 00 f0 71    	mov    %ah,0x71f00068(%edx)
40ec46:	6a 00                	push   $0x0
40ec48:	80 a2 68 00 54 6e 6a 	andb   $0x6a,0x6e540068(%edx)
40ec4f:	00 78 a2             	add    %bh,-0x5e(%eax)
40ec52:	68 00 b0 71 6a       	push   $0x6a71b000
40ec57:	00 70 a2             	add    %dh,-0x5e(%eax)
40ec5a:	68 00 c4 71 6a       	push   $0x6a71c400
40ec5f:	00 68 a2             	add    %ch,-0x5e(%eax)
40ec62:	68 00 60 6d 6a       	push   $0x6a6d6000
40ec67:	00 60 a2             	add    %ah,-0x5e(%eax)
40ec6a:	68 00 f0 6c 6a       	push   $0x6a6cf000
40ec6f:	00 58 a2             	add    %bl,-0x5e(%eax)
40ec72:	68 00 6c 6f 6a       	push   $0x6a6f6c00
40ec77:	00 50 a2             	add    %dl,-0x5e(%eax)
40ec7a:	68 00 58 70 6a       	push   $0x6a705800
40ec7f:	00 48 a2             	add    %cl,-0x5e(%eax)
40ec82:	68 00 f0 6b 6a       	push   $0x6a6bf000
40ec87:	00 40 a2             	add    %al,-0x5e(%eax)
40ec8a:	68 00 a4 71 6a       	push   $0x6a71a400
40ec8f:	00 38                	add    %bh,(%eax)
40ec91:	a2 68 00 50 6e       	mov    %al,0x6e500068
40ec96:	6a 00                	push   $0x0
40ec98:	28 00                	sub    %al,(%eax)
40ec9a:	00 00                	add    %al,(%eax)
40ec9c:	30 a2 68 00 74 71    	xor    %ah,0x71740068(%edx)
40eca2:	6a 00                	push   $0x0
40eca4:	00 00                	add    %al,(%eax)
40eca6:	00 00                	add    %al,(%eax)
40eca8:	2c a2                	sub    $0xa2,%al
40ecaa:	68 00 4c 6c 6a       	push   $0x6a6c4c00
40ecaf:	00 00                	add    %al,(%eax)
40ecb1:	00 00                	add    %al,(%eax)
40ecb3:	00 28                	add    %ch,(%eax)
40ecb5:	a2 68 00 28 70       	mov    %al,0x70280068
40ecba:	6a 00                	push   $0x0
40ecbc:	00 00                	add    %al,(%eax)
40ecbe:	00 00                	add    %al,(%eax)
40ecc0:	24 a2                	and    $0xa2,%al
40ecc2:	68 00 fc 6b 6a       	push   $0x6a6bfc00
40ecc7:	00 00                	add    %al,(%eax)
40ecc9:	00 00                	add    %al,(%eax)
40eccb:	00 20                	add    %ah,(%eax)
40eccd:	a2 68 00 24 6d       	mov    %al,0x6d240068
40ecd2:	6a 00                	push   $0x0
40ecd4:	00 00                	add    %al,(%eax)
40ecd6:	00 00                	add    %al,(%eax)
40ecd8:	1c a2                	sbb    $0xa2,%al
40ecda:	68 00 1c 6d 6a       	push   $0x6a6d1c00
40ecdf:	00 00                	add    %al,(%eax)
40ece1:	00 00                	add    %al,(%eax)
40ece3:	00 18                	add    %bl,(%eax)
40ece5:	a2 68 00 70 6c       	mov    %al,0x6c700068
40ecea:	6a 00                	push   $0x0
40ecec:	00 00                	add    %al,(%eax)
40ecee:	00 00                	add    %al,(%eax)
40ecf0:	14 a2                	adc    $0xa2,%al
40ecf2:	68 00 4c 6e 6a       	push   $0x6a6e4c00
40ecf7:	00 00                	add    %al,(%eax)
40ecf9:	00 00                	add    %al,(%eax)
40ecfb:	00 10                	add    %dl,(%eax)
40ecfd:	a2 68 00 a8 6f       	mov    %al,0x6fa80068
40ed02:	6a 00                	push   $0x0
40ed04:	00 00                	add    %al,(%eax)
40ed06:	00 00                	add    %al,(%eax)
40ed08:	0c a2                	or     $0xa2,%al
40ed0a:	68 00 20 6d 6a       	push   $0x6a6d2000
40ed0f:	00 00                	add    %al,(%eax)
40ed11:	00 00                	add    %al,(%eax)
40ed13:	00 08                	add    %cl,(%eax)
40ed15:	a2 68 00 5c 6f       	mov    %al,0x6f5c0068
40ed1a:	6a 00                	push   $0x0
40ed1c:	00 00                	add    %al,(%eax)
40ed1e:	00 00                	add    %al,(%eax)
40ed20:	04 a2                	add    $0xa2,%al
40ed22:	68 00 ac 70 6a       	push   $0x6a70ac00
40ed27:	00 00                	add    %al,(%eax)
40ed29:	00 00                	add    %al,(%eax)
40ed2b:	00 00                	add    %al,(%eax)
40ed2d:	a2 68 00 8c 70       	mov    %al,0x708c0068
40ed32:	6a 00                	push   $0x0
40ed34:	00 00                	add    %al,(%eax)
40ed36:	00 00                	add    %al,(%eax)
40ed38:	fc                   	cld
40ed39:	a1 68 00 d4 6f       	mov    0x6fd40068,%eax
40ed3e:	6a 00                	push   $0x0
40ed40:	00 00                	add    %al,(%eax)
40ed42:	00 00                	add    %al,(%eax)
40ed44:	f8                   	clc
40ed45:	a1 68 00 2c 6e       	mov    0x6e2c0068,%eax
40ed4a:	6a 00                	push   $0x0
40ed4c:	00 00                	add    %al,(%eax)
40ed4e:	00 00                	add    %al,(%eax)
40ed50:	f4                   	hlt
40ed51:	a1 68 00 c8 6d       	mov    0x6dc80068,%eax
40ed56:	6a 00                	push   $0x0
40ed58:	00 00                	add    %al,(%eax)
40ed5a:	00 00                	add    %al,(%eax)
40ed5c:	f0 a1 68 00 f8 6b    	lock mov 0x6bf80068,%eax
40ed62:	6a 00                	push   $0x0
40ed64:	00 00                	add    %al,(%eax)
40ed66:	00 00                	add    %al,(%eax)
40ed68:	ec                   	in     (%dx),%al
40ed69:	a1 68 00 88 70       	mov    0x70880068,%eax
40ed6e:	6a 00                	push   $0x0
40ed70:	00 00                	add    %al,(%eax)
40ed72:	00 00                	add    %al,(%eax)
40ed74:	e8 a1 68 00 14       	call   0x1441561a
40ed79:	6f                   	outsl  %ds:(%esi),(%dx)
40ed7a:	6a 00                	push   $0x0
40ed7c:	00 00                	add    %al,(%eax)
40ed7e:	00 00                	add    %al,(%eax)
40ed80:	e4 a1                	in     $0xa1,%al