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
40ede1:	8b 85 fc fc ff ff    	mov    -0x304(%ebp),%eax
40ede7:	8b 40 08             	mov    0x8(%eax),%eax
40edea:	8b 00                	mov    (%eax),%eax
40edec:	89 85 f8 fc ff ff    	mov    %eax,-0x308(%ebp)
40edf2:	eb 0f                	jmp    0x40ee03
40edf4:	8b 85 fc fc ff ff    	mov    -0x304(%ebp),%eax
40edfa:	8b 40 08             	mov    0x8(%eax),%eax
40edfd:	89 85 f8 fc ff ff    	mov    %eax,-0x308(%ebp)
40ee03:	8b 85 f8 fc ff ff    	mov    -0x308(%ebp),%eax
40ee09:	0f b7 00             	movzwl (%eax),%eax
40ee0c:	89 85 f0 fc ff ff    	mov    %eax,-0x310(%ebp)
40ee12:	8b 9d f0 fc ff ff    	mov    -0x310(%ebp),%ebx
40ee18:	4b                   	dec    %ebx
40ee19:	85 db                	test   %ebx,%ebx
40ee1b:	7c 6b                	jl     0x40ee88
40ee1d:	43                   	inc    %ebx
40ee1e:	33 ff                	xor    %edi,%edi
40ee20:	8d b5 00 fd ff ff    	lea    -0x300(%ebp),%esi
40ee26:	8b c6                	mov    %esi,%eax
40ee28:	89 85 e8 fc ff ff    	mov    %eax,-0x318(%ebp)
40ee2e:	8b 85 e8 fc ff ff    	mov    -0x318(%ebp),%eax
40ee34:	83 c0 04             	add    $0x4,%eax
40ee37:	50                   	push   %eax
40ee38:	8d 47 01             	lea    0x1(%edi),%eax
40ee3b:	50                   	push   %eax
40ee3c:	8b 85 f8 fc ff ff    	mov    -0x308(%ebp),%eax
40ee42:	50                   	push   %eax
40ee43:	e8 1c f0 ff ff       	call   0x40de64
40ee48:	e8 13 fe ff ff       	call   0x40ec60
40ee4d:	8d 85 f4 fc ff ff    	lea    -0x30c(%ebp),%eax
40ee53:	50                   	push   %eax
40ee54:	8d 47 01             	lea    0x1(%edi),%eax
40ee57:	50                   	push   %eax
40ee58:	8b 85 f8 fc ff ff    	mov    -0x308(%ebp),%eax
40ee5e:	50                   	push   %eax
40ee5f:	e8 08 f0 ff ff       	call   0x40de6c
40ee64:	e8 f7 fd ff ff       	call   0x40ec60
40ee69:	8b 85 e8 fc ff ff    	mov    -0x318(%ebp),%eax
40ee6f:	8b 95 f4 fc ff ff    	mov    -0x30c(%ebp),%edx
40ee75:	2b 50 04             	sub    0x4(%eax),%edx
40ee78:	42                   	inc    %edx
40ee79:	8b 85 e8 fc ff ff    	mov    -0x318(%ebp),%eax
40ee7f:	89 10                	mov    %edx,(%eax)
40ee81:	47                   	inc    %edi
40ee82:	83 c6 08             	add    $0x8,%esi
40ee85:	4b                   	dec    %ebx
40ee86:	75 9e                	jne    0x40ee26
40ee88:	8b 9d f0 fc ff ff    	mov    -0x310(%ebp),%ebx
40ee8e:	4b                   	dec    %ebx
40ee8f:	85 db                	test   %ebx,%ebx
40ee91:	7c 1a                	jl     0x40eead
40ee93:	43                   	inc    %ebx
40ee94:	8d 85 04 fd ff ff    	lea    -0x2fc(%ebp),%eax
40ee9a:	8d 95 00 ff ff ff    	lea    -0x100(%ebp),%edx
40eea0:	8b 08                	mov    (%eax),%ecx
40eea2:	89 0a                	mov    %ecx,(%edx)
40eea4:	83 c2 04             	add    $0x4,%edx
40eea7:	83 c0 08             	add    $0x8,%eax
40eeaa:	4b                   	dec    %ebx
40eeab:	75 f3                	jne    0x40eea0
40eead:	55                   	push   %ebp
40eeae:	8b 9d f0 fc ff ff    	mov    -0x310(%ebp),%ebx
40eeb4:	4b                   	dec    %ebx
40eeb5:	8b c3                	mov    %ebx,%eax
40eeb7:	e8 4c fe ff ff       	call   0x40ed08
40eebc:	59                   	pop    %ecx
40eebd:	84 c0                	test   %al,%al
40eebf:	74 2a                	je     0x40eeeb
40eec1:	8d 85 ec fc ff ff    	lea    -0x314(%ebp),%eax
40eec7:	50                   	push   %eax
40eec8:	8d 85 00 ff ff ff    	lea    -0x100(%ebp),%eax
40eece:	50                   	push   %eax
40eecf:	8b 85 f8 fc ff ff    	mov    -0x308(%ebp),%eax
40eed5:	50                   	push   %eax
40eed6:	e8 99 ef ff ff       	call   0x40de74
40eedb:	e8 80 fd ff ff       	call   0x40ec60
40eee0:	8b 85 ec fc ff ff    	mov    -0x314(%ebp),%eax
40eee6:	e8 a1 00 00 00       	call   0x40ef8c
40eeeb:	55                   	push   %ebp
40eeec:	8b c3                	mov    %ebx,%eax
40eeee:	e8 45 fe ff ff       	call   0x40ed38
40eef3:	59                   	pop    %ecx
40eef4:	84 c0                	test   %al,%al
40eef6:	75 b5                	jne    0x40eead
40eef8:	8b 85 fc fc ff ff    	mov    -0x304(%ebp),%eax
40eefe:	50                   	push   %eax
40eeff:	e8 fc ea ff ff       	call   0x40da00
40ef04:	e8 57 fd ff ff       	call   0x40ec60
40ef09:	5f                   	pop    %edi
40ef0a:	5e                   	pop    %esi
40ef0b:	5b                   	pop    %ebx
40ef0c:	8b e5                	mov    %ebp,%esp
40ef0e:	5d                   	pop    %ebp
40ef0f:	c3                   	ret
40ef10:	53                   	push   %ebx
40ef11:	56                   	push   %esi
40ef12:	51                   	push   %ecx
40ef13:	8b d8                	mov    %eax,%ebx
40ef15:	66 8b 33             	mov    (%ebx),%si
40ef18:	66 83 fe 14          	cmp    $0x14,%si
40ef1c:	73 0d                	jae    0x40ef2b
40ef1e:	53                   	push   %ebx
40ef1f:	e8 dc ea ff ff       	call   0x40da00
40ef24:	e8 37 fd ff ff       	call   0x40ec60
40ef29:	eb 5c                	jmp    0x40ef87
40ef2b:	66 81 fe 00 01       	cmp    $0x100,%si
40ef30:	75 0f                	jne    0x40ef41
40ef32:	66 c7 03 00 00       	movw   $0x0,(%ebx)
40ef37:	8d 43 08             	lea    0x8(%ebx),%eax
40ef3a:	e8 31 56 ff ff       	call   0x404570
40ef3f:	eb 46                	jmp    0x40ef87
40ef41:	66 81 fe 01 01       	cmp    $0x101,%si
40ef46:	75 0a                	jne    0x40ef52
40ef48:	8b c3                	mov    %ebx,%eax
40ef4a:	ff 15 14 18 46 00    	call   *0x461814
40ef50:	eb 35                	jmp    0x40ef87
40ef52:	66 f7 c6 00 20       	test   $0x2000,%si
40ef57:	74 09                	je     0x40ef62
40ef59:	8b c3                	mov    %ebx,%eax
40ef5b:	e8 34 fe ff ff       	call   0x40ed94
40ef60:	eb 25                	jmp    0x40ef87
40ef62:	8b d4                	mov    %esp,%edx
40ef64:	8b c6                	mov    %esi,%eax
40ef66:	e8 0d 1a 00 00       	call   0x410978
40ef6b:	84 c0                	test   %al,%al
40ef6d:	74 0c                	je     0x40ef7b
40ef6f:	8b d3                	mov    %ebx,%edx
40ef71:	8b 04 24             	mov    (%esp),%eax
40ef74:	8b 08                	mov    (%eax),%ecx
40ef76:	ff 51 24             	call   *0x24(%ecx)
40ef79:	eb 0c                	jmp    0x40ef87
40ef7b:	53                   	push   %ebx
40ef7c:	e8 7f ea ff ff       	call   0x40da00
40ef81:	53                   	push   %ebx
40ef82:	e8 71 ea ff ff       	call   0x40d9f8
40ef87:	5a                   	pop    %edx
40ef88:	5e                   	pop    %esi
40ef89:	5b                   	pop    %ebx
40ef8a:	c3                   	ret
40ef8b:	90                   	nop
40ef8c:	66 f7 00 e8 bf       	testw  $0xbfe8,(%eax)
40ef91:	75 06                	jne    0x40ef99
40ef93:	66 c7 00 00 00       	movw   $0x0,(%eax)
40ef98:	c3                   	ret
40ef99:	e8 72 ff ff ff       	call   0x40ef10
40ef9e:	c3                   	ret
40ef9f:	90                   	nop
40efa0:	50                   	push   %eax
40efa1:	e8 e6 ff ff ff       	call   0x40ef8c
40efa6:	58                   	pop    %eax
40efa7:	c3                   	ret
40efa8:	55                   	push   %ebp
40efa9:	8b ec                	mov    %esp,%ebp
40efab:	53                   	push   %ebx
40efac:	8b 4d 08             	mov    0x8(%ebp),%ecx
40efaf:	81 c1 00 fd ff ff    	add    $0xfffffd00,%ecx
40efb5:	8b 54 c1 04          	mov    0x4(%ecx,%eax,8),%edx
40efb9:	03 14 c1             	add    (%ecx,%eax,8),%edx
40efbc:	8b 5d 08             	mov    0x8(%ebp),%ebx
40efbf:	3b 94 83 00 ff ff ff 	cmp    -0x100(%ebx,%eax,4),%edx
40efc6:	0f 9f c2             	setg   %dl
40efc9:	48                   	dec    %eax
40efca:	84 d2                	test   %dl,%dl
40efcc:	74 04                	je     0x40efd2
40efce:	85 c0                	test   %eax,%eax
40efd0:	7d e3                	jge    0x40efb5
40efd2:	8b c2                	mov    %edx,%eax
40efd4:	5b                   	pop    %ebx
40efd5:	5d                   	pop    %ebp
40efd6:	c3                   	ret
40efd7:	90                   	nop
40efd8:	55                   	push   %ebp
40efd9:	8b ec                	mov    %esp,%ebp
40efdb:	53                   	push   %ebx
40efdc:	56                   	push   %esi