40e97c:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40e97f:	b2 01                	mov    $0x1,%dl
40e981:	a1 e4 e3 40 00       	mov    0x40e3e4,%eax
40e986:	e8 c5 d0 ff ff       	call   0x40ba50
40e98b:	e8 f4 55 ff ff       	call   0x403f84
40e990:	33 c0                	xor    %eax,%eax
40e992:	5a                   	pop    %edx
40e993:	59                   	pop    %ecx
40e994:	59                   	pop    %ecx
40e995:	64 89 10             	mov    %edx,%fs:(%eax)
40e998:	68 b2 e9 40 00       	push   $0x40e9b2
40e99d:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40e9a0:	ba 03 00 00 00       	mov    $0x3,%edx
40e9a5:	e8 ea 5b ff ff       	call   0x404594
40e9aa:	c3                   	ret
40e9ab:	e9 9c 55 ff ff       	jmp    0x403f4c
40e9b0:	eb eb                	jmp    0x40e99d
40e9b2:	5e                   	pop    %esi
40e9b3:	5b                   	pop    %ebx
40e9b4:	8b e5                	mov    %ebp,%esp
40e9b6:	5d                   	pop    %ebp
40e9b7:	c3                   	ret
40e9b8:	55                   	push   %ebp
40e9b9:	8b ec                	mov    %esp,%ebp
40e9bb:	6a 00                	push   $0x0
40e9bd:	33 c0                	xor    %eax,%eax
40e9bf:	55                   	push   %ebp
40e9c0:	68 02 ea 40 00       	push   $0x40ea02
40e9c5:	64 ff 30             	push   %fs:(%eax)
40e9c8:	64 89 20             	mov    %esp,%fs:(%eax)
40e9cb:	8d 55 fc             	lea    -0x4(%ebp),%edx
40e9ce:	a1 1c 0b 46 00       	mov    0x460b1c,%eax
40e9d3:	e8 64 77 ff ff       	call   0x40613c
40e9d8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e9db:	b2 01                	mov    $0x1,%dl
40e9dd:	a1 dc e5 40 00       	mov    0x40e5dc,%eax
40e9e2:	e8 2d d0 ff ff       	call   0x40ba14
40e9e7:	e8 98 55 ff ff       	call   0x403f84
40e9ec:	33 c0                	xor    %eax,%eax
40e9ee:	5a                   	pop    %edx
40e9ef:	59                   	pop    %ecx
40e9f0:	59                   	pop    %ecx
40e9f1:	64 89 10             	mov    %edx,%fs:(%eax)
40e9f4:	68 09 ea 40 00       	push   $0x40ea09
40e9f9:	8d 45 fc             	lea    -0x4(%ebp),%eax
40e9fc:	e8 6f 5b ff ff       	call   0x404570
40ea01:	c3                   	ret
40ea02:	e9 45 55 ff ff       	jmp    0x403f4c
40ea07:	eb f0                	jmp    0x40e9f9
40ea09:	59                   	pop    %ecx
40ea0a:	5d                   	pop    %ebp
40ea0b:	c3                   	ret
40ea0c:	55                   	push   %ebp
40ea0d:	8b ec                	mov    %esp,%ebp
40ea0f:	b9 08 00 00 00       	mov    $0x8,%ecx
40ea14:	6a 00                	push   $0x0
40ea16:	6a 00                	push   $0x0
40ea18:	49                   	dec    %ecx
40ea19:	75 f9                	jne    0x40ea14
40ea1b:	53                   	push   %ebx
40ea1c:	8b d8                	mov    %eax,%ebx
40ea1e:	33 c0                	xor    %eax,%eax
40ea20:	55                   	push   %ebp
40ea21:	68 51 ec 40 00       	push   $0x40ec51
40ea26:	64 ff 30             	push   %fs:(%eax)
40ea29:	64 89 20             	mov    %esp,%fs:(%eax)
40ea2c:	8b c3                	mov    %ebx,%eax
40ea2e:	3d 0a 00 02 80       	cmp    $0x8002000a,%eax
40ea33:	7f 39                	jg     0x40ea6e
40ea35:	0f 84 9a 00 00 00    	je     0x40ead5
40ea3b:	3d 05 00 02 80       	cmp    $0x80020005,%eax
40ea40:	7f 1d                	jg     0x40ea5f
40ea42:	74 57                	je     0x40ea9b
40ea44:	2d 01 40 00 80       	sub    $0x80004001,%eax
40ea49:	0f 84 f8 00 00 00    	je     0x40eb47
40ea4f:	2d fe bf 00 00       	sub    $0xbffe,%eax
40ea54:	0f 84 5c 01 00 00    	je     0x40ebb6
40ea5a:	e9 7a 01 00 00       	jmp    0x40ebd9
40ea5f:	2d 08 00 02 80       	sub    $0x80020008,%eax
40ea64:	74 3f                	je     0x40eaa5
40ea66:	48                   	dec    %eax
40ea67:	74 62                	je     0x40eacb
40ea69:	e9 6b 01 00 00       	jmp    0x40ebd9
40ea6e:	2d 0b 00 02 80       	sub    $0x8002000b,%eax
40ea73:	0f 84 82 00 00 00    	je     0x40eafb
40ea79:	83 e8 02             	sub    $0x2,%eax
40ea7c:	0f 84 9f 00 00 00    	je     0x40eb21
40ea82:	2d 01 00 05 00       	sub    $0x50001,%eax
40ea87:	0f 84 e0 00 00 00    	je     0x40eb6d
40ea8d:	83 e8 49             	sub    $0x49,%eax
40ea90:	0f 84 fd 00 00 00    	je     0x40eb93
40ea96:	e9 3e 01 00 00       	jmp    0x40ebd9
40ea9b:	e8 38 fd ff ff       	call   0x40e7d8
40eaa0:	e9 84 01 00 00       	jmp    0x40ec29
40eaa5:	8d 55 fc             	lea    -0x4(%ebp),%edx
40eaa8:	a1 dc 0c 46 00       	mov    0x460cdc,%eax
40eaad:	e8 8a 76 ff ff       	call   0x40613c
40eab2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40eab5:	b2 01                	mov    $0x1,%dl
40eab7:	a1 ac e4 40 00       	mov    0x40e4ac,%eax
40eabc:	e8 53 cf ff ff       	call   0x40ba14
40eac1:	e8 be 54 ff ff       	call   0x403f84
40eac6:	e9 5e 01 00 00       	jmp    0x40ec29
40eacb:	e8 f8 fd ff ff       	call   0x40e8c8
40ead0:	e9 54 01 00 00       	jmp    0x40ec29
40ead5:	8d 55 f8             	lea    -0x8(%ebp),%edx
40ead8:	a1 0c 0a 46 00       	mov    0x460a0c,%eax
40eadd:	e8 5a 76 ff ff       	call   0x40613c
40eae2:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40eae5:	b2 01                	mov    $0x1,%dl
40eae7:	a1 e4 e3 40 00       	mov    0x40e3e4,%eax
40eaec:	e8 23 cf ff ff       	call   0x40ba14
40eaf1:	e8 8e 54 ff ff       	call   0x403f84
40eaf6:	e9 2e 01 00 00       	jmp    0x40ec29
40eafb:	8d 55 f4             	lea    -0xc(%ebp),%edx
40eafe:	a1 68 0c 46 00       	mov    0x460c68,%eax
40eb03:	e8 34 76 ff ff       	call   0x40613c
40eb08:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40eb0b:	b2 01                	mov    $0x1,%dl
40eb0d:	a1 10 e5 40 00       	mov    0x40e510,%eax
40eb12:	e8 fd ce ff ff       	call   0x40ba14
40eb17:	e8 68 54 ff ff       	call   0x403f84
40eb1c:	e9 08 01 00 00       	jmp    0x40ec29
40eb21:	8d 55 f0             	lea    -0x10(%ebp),%edx
40eb24:	a1 40 0d 46 00       	mov    0x460d40,%eax
40eb29:	e8 0e 76 ff ff       	call   0x40613c
40eb2e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40eb31:	b2 01                	mov    $0x1,%dl
40eb33:	a1 74 e5 40 00       	mov    0x40e574,%eax
40eb38:	e8 d7 ce ff ff       	call   0x40ba14
40eb3d:	e8 42 54 ff ff       	call   0x403f84
40eb42:	e9 e2 00 00 00       	jmp    0x40ec29
40eb47:	8d 55 ec             	lea    -0x14(%ebp),%edx
40eb4a:	a1 bc 0b 46 00       	mov    0x460bbc,%eax
40eb4f:	e8 e8 75 ff ff       	call   0x40613c
40eb54:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40eb57:	b2 01                	mov    $0x1,%dl
40eb59:	a1 44 e6 40 00       	mov    0x40e644,%eax
40eb5e:	e8 b1 ce ff ff       	call   0x40ba14
40eb63:	e8 1c 54 ff ff       	call   0x403f84
40eb68:	e9 bc 00 00 00       	jmp    0x40ec29
40eb6d:	8d 55 e8             	lea    -0x18(%ebp),%edx
40eb70:	a1 4c 0a 46 00       	mov    0x460a4c,%eax
40eb75:	e8 c2 75 ff ff       	call   0x40613c
40eb7a:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40eb7d:	b2 01                	mov    $0x1,%dl
40eb7f:	a1 a8 e6 40 00       	mov    0x40e6a8,%eax
40eb84:	e8 8b ce ff ff       	call   0x40ba14
40eb89:	e8 f6 53 ff ff       	call   0x403f84
40eb8e:	e9 96 00 00 00       	jmp    0x40ec29
40eb93:	8d 55 e4             	lea    -0x1c(%ebp),%edx
40eb96:	a1 6c 0a 46 00       	mov    0x460a6c,%eax
40eb9b:	e8 9c 75 ff ff       	call   0x40613c
40eba0:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40eba3:	b2 01                	mov    $0x1,%dl
40eba5:	a1 48 e4 40 00       	mov    0x40e448,%eax
40ebaa:	e8 65 ce ff ff       	call   0x40ba14
40ebaf:	e8 d0 53 ff ff       	call   0x403f84
40ebb4:	eb 73                	jmp    0x40ec29
40ebb6:	8d 55 e0             	lea    -0x20(%ebp),%edx
40ebb9:	a1 08 0a 46 00       	mov    0x460a08,%eax
40ebbe:	e8 79 75 ff ff       	call   0x40613c
40ebc3:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40ebc6:	b2 01                	mov    $0x1,%dl
40ebc8:	a1 10 e7 40 00       	mov    0x40e710,%eax
40ebcd:	e8 42 ce ff ff       	call   0x40ba14
40ebd2:	e8 ad 53 ff ff       	call   0x403f84
40ebd7:	eb 50                	jmp    0x40ec29
40ebd9:	a1 e8 0c 46 00       	mov    0x460ce8,%eax
40ebde:	8b 00                	mov    (%eax),%eax
40ebe0:	89 45 c8             	mov    %eax,-0x38(%ebp)
40ebe3:	c6 45 cc 0b          	movb   $0xb,-0x34(%ebp)
40ebe7:	89 5d d0             	mov    %ebx,-0x30(%ebp)
40ebea:	c6 45 d4 00          	movb   $0x0,-0x2c(%ebp)
40ebee:	8d 55 c4             	lea    -0x3c(%ebp),%edx
40ebf1:	8b c3                	mov    %ebx,%eax
40ebf3:	e8 04 c6 ff ff       	call   0x40b1fc
40ebf8:	8b 45 c4             	mov    -0x3c(%ebp),%eax
40ebfb:	89 45 d8             	mov    %eax,-0x28(%ebp)
40ebfe:	c6 45 dc 0b          	movb   $0xb,-0x24(%ebp)
40ec02:	8d 45 c8             	lea    -0x38(%ebp),%eax
40ec05:	50                   	push   %eax
40ec06:	6a 02                	push   $0x2
40ec08:	8d 55 c0             	lea    -0x40(%ebp),%edx
40ec0b:	a1 20 0b 46 00       	mov    0x460b20,%eax
40ec10:	e8 27 75 ff ff       	call   0x40613c
40ec15:	8b 4d c0             	mov    -0x40(%ebp),%ecx
40ec18:	b2 01                	mov    $0x1,%dl
40ec1a:	a1 fc 7c 40 00       	mov    0x407cfc,%eax
40ec1f:	e8 2c ce ff ff       	call   0x40ba50
40ec24:	e8 5b 53 ff ff       	call   0x403f84
40ec29:	33 c0                	xor    %eax,%eax
40ec2b:	5a                   	pop    %edx
40ec2c:	59                   	pop    %ecx
40ec2d:	59                   	pop    %ecx
40ec2e:	64 89 10             	mov    %edx,%fs:(%eax)
40ec31:	68 58 ec 40 00       	push   $0x40ec58
40ec36:	8d 45 c0             	lea    -0x40(%ebp),%eax
40ec39:	ba 02 00 00 00       	mov    $0x2,%edx
40ec3e:	e8 51 59 ff ff       	call   0x404594
40ec43:	8d 45 e0             	lea    -0x20(%ebp),%eax
40ec46:	ba 08 00 00 00       	mov    $0x8,%edx
40ec4b:	e8 44 59 ff ff       	call   0x404594
40ec50:	c3                   	ret
40ec51:	e9 f6 52 ff ff       	jmp    0x403f4c
40ec56:	eb de                	jmp    0x40ec36
40ec58:	5b                   	pop    %ebx
40ec59:	8b e5                	mov    %ebp,%esp
40ec5b:	5d                   	pop    %ebp
40ec5c:	c3                   	ret
40ec5d:	8d 40 00             	lea    0x0(%eax),%eax
40ec60:	85 c0                	test   %eax,%eax
40ec62:	74 05                	je     0x40ec69
40ec64:	e8 a3 fd ff ff       	call   0x40ea0c
40ec69:	c3                   	ret
40ec6a:	8b c0                	mov    %eax,%eax
40ec6c:	53                   	push   %ebx
40ec6d:	85 c0                	test   %eax,%eax
40ec6f:	74 2c                	je     0x40ec9d
40ec71:	8b d8                	mov    %eax,%ebx
40ec73:	81 eb 05 00 02 80    	sub    $0x80020005,%ebx
40ec79:	74 07                	je     0x40ec82
40ec7b:	83 eb 05             	sub    $0x5,%ebx
40ec7e:	74 0d                	je     0x40ec8d
40ec80:	eb 16                	jmp    0x40ec98
40ec82:	8b c2                	mov    %edx,%eax
40ec84:	8b d1                	mov    %ecx,%edx
40ec86:	e8 a1 fb ff ff       	call   0x40e82c
40ec8b:	eb 10                	jmp    0x40ec9d
40ec8d:	8b c2                	mov    %edx,%eax
40ec8f:	8b d1                	mov    %ecx,%edx
40ec91:	e8 86 fc ff ff       	call   0x40e91c
40ec96:	eb 05                	jmp    0x40ec9d
40ec98:	e8 6f fd ff ff       	call   0x40ea0c
40ec9d:	5b                   	pop    %ebx
40ec9e:	c3                   	ret
40ec9f:	90                   	nop
40eca0:	55                   	push   %ebp
40eca1:	8b ec                	mov    %esp,%ebp
40eca3:	6a 00                	push   $0x0
40eca5:	33 c0                	xor    %eax,%eax
40eca7:	55                   	push   %ebp
40eca8:	68 ea ec 40 00       	push   $0x40ecea
40ecad:	64 ff 30             	push   %fs:(%eax)
40ecb0:	64 89 20             	mov    %esp,%fs:(%eax)
40ecb3:	8d 55 fc             	lea    -0x4(%ebp),%edx
40ecb6:	a1 94 09 46 00       	mov    0x460994,%eax
40ecbb:	e8 7c 74 ff ff       	call   0x40613c
40ecc0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40ecc3:	b2 01                	mov    $0x1,%dl
40ecc5:	a1 74 e7 40 00       	mov    0x40e774,%eax
40ecca:	e8 45 cd ff ff       	call   0x40ba14
40eccf:	e8 b0 52 ff ff       	call   0x403f84
40ecd4:	33 c0                	xor    %eax,%eax
40ecd6:	5a                   	pop    %edx
40ecd7:	59                   	pop    %ecx
40ecd8:	59                   	pop    %ecx
40ecd9:	64 89 10             	mov    %edx,%fs:(%eax)
40ecdc:	68 f1 ec 40 00       	push   $0x40ecf1
40ece1:	8d 45 fc             	lea    -0x4(%ebp),%eax
40ece4:	e8 87 58 ff ff       	call   0x404570
40ece9:	c3                   	ret
40ecea:	e9 5d 52 ff ff       	jmp    0x403f4c
40ecef:	eb f0                	jmp    0x40ece1
40ecf1:	59                   	pop    %ecx
40ecf2:	5d                   	pop    %ebp
40ecf3:	c3                   	ret
40ecf4:	53                   	push   %ebx
40ecf5:	8b d8                	mov    %eax,%ebx
40ecf7:	8b c3                	mov    %ebx,%eax
40ecf9:	e8 8e 02 00 00       	call   0x40ef8c
40ecfe:	66 c7 03 01 00       	movw   $0x1,(%ebx)
40ed03:	5b                   	pop    %ebx
40ed04:	c3                   	ret
40ed05:	8d 40 00             	lea    0x0(%eax),%eax
40ed08:	55                   	push   %ebp
40ed09:	8b ec                	mov    %esp,%ebp
40ed0b:	53                   	push   %ebx
40ed0c:	8b 4d 08             	mov    0x8(%ebp),%ecx
40ed0f:	81 c1 00 fd ff ff    	add    $0xfffffd00,%ecx
40ed15:	8b 54 c1 04          	mov    0x4(%ecx,%eax,8),%edx
40ed19:	03 14 c1             	add    (%ecx,%eax,8),%edx
40ed1c:	8b 5d 08             	mov    0x8(%ebp),%ebx
40ed1f:	3b 94 83 00 ff ff ff 	cmp    -0x100(%ebx,%eax,4),%edx
40ed26:	0f 9f c2             	setg   %dl
40ed29:	48                   	dec    %eax
40ed2a:	84 d2                	test   %dl,%dl
40ed2c:	74 04                	je     0x40ed32
40ed2e:	85 c0                	test   %eax,%eax
40ed30:	7d e3                	jge    0x40ed15
40ed32:	8b c2                	mov    %edx,%eax
40ed34:	5b                   	pop    %ebx
40ed35:	5d                   	pop    %ebp
40ed36:	c3                   	ret
40ed37:	90                   	nop
40ed38:	55                   	push   %ebp
40ed39:	8b ec                	mov    %esp,%ebp
40ed3b:	53                   	push   %ebx
40ed3c:	56                   	push   %esi
40ed3d:	b2 01                	mov    $0x1,%dl
40ed3f:	8b 4d 08             	mov    0x8(%ebp),%ecx
40ed42:	ff 84 81 00 ff ff ff 	incl   -0x100(%ecx,%eax,4)
40ed49:	8b 4d 08             	mov    0x8(%ebp),%ecx
40ed4c:	8b 8c c1 04 fd ff ff 	mov    -0x2fc(%ecx,%eax,8),%ecx
40ed53:	8b d9                	mov    %ecx,%ebx
40ed55:	8b 75 08             	mov    0x8(%ebp),%esi
40ed58:	03 9c c6 00 fd ff ff 	add    -0x300(%esi,%eax,8),%ebx
40ed5f:	8b 75 08             	mov    0x8(%ebp),%esi
40ed62:	3b 9c 86 00 ff ff ff 	cmp    -0x100(%esi,%eax,4),%ebx
40ed69:	7f 22                	jg     0x40ed8d
40ed6b:	85 c0                	test   %eax,%eax
40ed6d:	75 04                	jne    0x40ed73
40ed6f:	33 d2                	xor    %edx,%edx
40ed71:	eb 1a                	jmp    0x40ed8d
40ed73:	8b 55 08             	mov    0x8(%ebp),%edx
40ed76:	8b 55 08             	mov    0x8(%ebp),%edx
40ed79:	89 8c 82 00 ff ff ff 	mov    %ecx,-0x100(%edx,%eax,4)
40ed80:	8b 55 08             	mov    0x8(%ebp),%edx
40ed83:	52                   	push   %edx
40ed84:	48                   	dec    %eax
40ed85:	e8 ae ff ff ff       	call   0x40ed38
40ed8a:	59                   	pop    %ecx
40ed8b:	8b d0                	mov    %eax,%edx
40ed8d:	8b c2                	mov    %edx,%eax
40ed8f:	5e                   	pop    %esi
40ed90:	5b                   	pop    %ebx
40ed91:	5d                   	pop    %ebp
40ed92:	c3                   	ret
40ed93:	90                   	nop
40ed94:	55                   	push   %ebp
40ed95:	8b ec                	mov    %esp,%ebp
40ed97:	81 c4 e8 fc ff ff    	add    $0xfffffce8,%esp
40ed9d:	53                   	push   %ebx
40ed9e:	56                   	push   %esi
40ed9f:	57                   	push   %edi
40eda0:	89 85 fc fc ff ff    	mov    %eax,-0x304(%ebp)
40eda6:	8b 85 fc fc ff ff    	mov    -0x304(%ebp),%eax
40edac:	f6 40 01 20          	testb  $0x20,0x1(%eax)
40edb0:	75 0a                	jne    0x40edbc
40edb2:	b8 57 00 07 80       	mov    $0x80070057,%eax
40edb7:	e8 a4 fe ff ff       	call   0x40ec60
40edbc:	8b 85 fc fc ff ff    	mov    -0x304(%ebp),%eax
40edc2:	66 8b 00             	mov    (%eax),%ax
40edc5:	8b d0                	mov    %eax,%edx
40edc7:	66 81 e2 ff 0f       	and    $0xfff,%dx
40edcc:	66 83 fa 0c          	cmp    $0xc,%dx
40edd0:	0f 85 22 01 00 00    	jne    0x40eef8
40edd6:	8b 95 fc fc ff ff    	mov    -0x304(%ebp),%edx
40eddc:	f6 c4 40             	test   $0x40,%ah
40eddf:	74 13                	je     0x40edf4