40fbcc:	eb 16                	jmp    0x40fbe4
40fbce:	8b c2                	mov    %edx,%eax
40fbd0:	8b d1                	mov    %ecx,%edx
40fbd2:	e8 4d fb ff ff       	call   0x40f724
40fbd7:	eb 10                	jmp    0x40fbe9
40fbd9:	8b c2                	mov    %edx,%eax
40fbdb:	8b d1                	mov    %ecx,%edx
40fbdd:	e8 86 fc ff ff       	call   0x40f868
40fbe2:	eb 05                	jmp    0x40fbe9
40fbe4:	e8 6f fd ff ff       	call   0x40f958
40fbe9:	5b                   	pop    %ebx
40fbea:	c3                   	ret
40fbeb:	90                   	nop
40fbec:	53                   	push   %ebx
40fbed:	56                   	push   %esi
40fbee:	8b f2                	mov    %edx,%esi
40fbf0:	8b d8                	mov    %eax,%ebx
40fbf2:	e8 11 2c ff ff       	call   0x402808
40fbf7:	8b 15 f8 79 40 00    	mov    0x4079f8,%edx
40fbfd:	e8 76 39 ff ff       	call   0x403578
40fc02:	84 c0                	test   %al,%al
40fc04:	74 11                	je     0x40fc17
40fc06:	8b ce                	mov    %esi,%ecx
40fc08:	8b d3                	mov    %ebx,%edx
40fc0a:	b8 0a 00 02 80       	mov    $0x8002000a,%eax
40fc0f:	e8 a4 ff ff ff       	call   0x40fbb8
40fc14:	5e                   	pop    %esi
40fc15:	5b                   	pop    %ebx
40fc16:	c3                   	ret
40fc17:	e8 ec 2b ff ff       	call   0x402808
40fc1c:	8b 15 b4 7b 40 00    	mov    0x407bb4,%edx
40fc22:	e8 51 39 ff ff       	call   0x403578
40fc27:	84 c0                	test   %al,%al
40fc29:	74 10                	je     0x40fc3b
40fc2b:	8b ce                	mov    %esi,%ecx
40fc2d:	8b d3                	mov    %ebx,%edx
40fc2f:	b8 0a 00 02 80       	mov    $0x8002000a,%eax
40fc34:	e8 7f ff ff ff       	call   0x40fbb8
40fc39:	eb 32                	jmp    0x40fc6d
40fc3b:	e8 c8 2b ff ff       	call   0x402808
40fc40:	8b 15 1c 7d 40 00    	mov    0x407d1c,%edx
40fc46:	e8 2d 39 ff ff       	call   0x403578
40fc4b:	84 c0                	test   %al,%al
40fc4d:	74 10                	je     0x40fc5f
40fc4f:	8b ce                	mov    %esi,%ecx
40fc51:	8b d3                	mov    %ebx,%edx
40fc53:	b8 05 00 02 80       	mov    $0x80020005,%eax
40fc58:	e8 5b ff ff ff       	call   0x40fbb8
40fc5d:	eb 0e                	jmp    0x40fc6d
40fc5f:	e8 e4 2b ff ff       	call   0x402848
40fc64:	8b d0                	mov    %eax,%edx
40fc66:	8b c2                	mov    %edx,%eax
40fc68:	e8 33 3f ff ff       	call   0x403ba0
40fc6d:	5e                   	pop    %esi
40fc6e:	5b                   	pop    %ebx
40fc6f:	c3                   	ret
40fc70:	55                   	push   %ebp
40fc71:	8b ec                	mov    %esp,%ebp
40fc73:	6a 00                	push   $0x0
40fc75:	33 c0                	xor    %eax,%eax
40fc77:	55                   	push   %ebp
40fc78:	68 ba fc 40 00       	push   $0x40fcba
40fc7d:	64 ff 30             	push   %fs:(%eax)
40fc80:	64 89 20             	mov    %esp,%fs:(%eax)
40fc83:	8d 55 fc             	lea    -0x4(%ebp),%edx
40fc86:	a1 08 af 49 00       	mov    0x49af08,%eax
40fc8b:	e8 a8 65 ff ff       	call   0x406238
40fc90:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40fc93:	b2 01                	mov    $0x1,%dl
40fc95:	a1 04 f6 40 00       	mov    0x40f604,%eax
40fc9a:	e8 99 c7 ff ff       	call   0x40c438
40fc9f:	e8 fc 3e ff ff       	call   0x403ba0
40fca4:	33 c0                	xor    %eax,%eax
40fca6:	5a                   	pop    %edx
40fca7:	59                   	pop    %ecx
40fca8:	59                   	pop    %ecx
40fca9:	64 89 10             	mov    %edx,%fs:(%eax)
40fcac:	68 c1 fc 40 00       	push   $0x40fcc1
40fcb1:	8d 45 fc             	lea    -0x4(%ebp),%eax
40fcb4:	e8 ab 44 ff ff       	call   0x404164
40fcb9:	c3                   	ret
40fcba:	e9 a9 3e ff ff       	jmp    0x403b68
40fcbf:	eb f0                	jmp    0x40fcb1
40fcc1:	59                   	pop    %ecx
40fcc2:	5d                   	pop    %ebp
40fcc3:	c3                   	ret
40fcc4:	53                   	push   %ebx
40fcc5:	8b d8                	mov    %eax,%ebx
40fcc7:	8b c3                	mov    %ebx,%eax
40fcc9:	e8 8e 02 00 00       	call   0x40ff5c
40fcce:	66 c7 03 01 00       	movw   $0x1,(%ebx)
40fcd3:	5b                   	pop    %ebx
40fcd4:	c3                   	ret
40fcd5:	8d 40 00             	lea    0x0(%eax),%eax
40fcd8:	55                   	push   %ebp
40fcd9:	8b ec                	mov    %esp,%ebp
40fcdb:	53                   	push   %ebx
40fcdc:	8b 4d 08             	mov    0x8(%ebp),%ecx
40fcdf:	81 c1 00 fd ff ff    	add    $0xfffffd00,%ecx
40fce5:	8b 54 c1 04          	mov    0x4(%ecx,%eax,8),%edx
40fce9:	03 14 c1             	add    (%ecx,%eax,8),%edx
40fcec:	8b 5d 08             	mov    0x8(%ebp),%ebx
40fcef:	3b 94 83 00 ff ff ff 	cmp    -0x100(%ebx,%eax,4),%edx
40fcf6:	0f 9f c2             	setg   %dl
40fcf9:	48                   	dec    %eax
40fcfa:	84 d2                	test   %dl,%dl
40fcfc:	74 04                	je     0x40fd02
40fcfe:	85 c0                	test   %eax,%eax
40fd00:	7d e3                	jge    0x40fce5
40fd02:	8b c2                	mov    %edx,%eax
40fd04:	5b                   	pop    %ebx
40fd05:	5d                   	pop    %ebp
40fd06:	c3                   	ret
40fd07:	90                   	nop
40fd08:	55                   	push   %ebp
40fd09:	8b ec                	mov    %esp,%ebp
40fd0b:	53                   	push   %ebx
40fd0c:	56                   	push   %esi
40fd0d:	b2 01                	mov    $0x1,%dl
40fd0f:	8b 4d 08             	mov    0x8(%ebp),%ecx
40fd12:	ff 84 81 00 ff ff ff 	incl   -0x100(%ecx,%eax,4)
40fd19:	8b 4d 08             	mov    0x8(%ebp),%ecx
40fd1c:	8b 8c c1 04 fd ff ff 	mov    -0x2fc(%ecx,%eax,8),%ecx
40fd23:	8b d9                	mov    %ecx,%ebx
40fd25:	8b 75 08             	mov    0x8(%ebp),%esi
40fd28:	03 9c c6 00 fd ff ff 	add    -0x300(%esi,%eax,8),%ebx
40fd2f:	8b 75 08             	mov    0x8(%ebp),%esi
40fd32:	3b 9c 86 00 ff ff ff 	cmp    -0x100(%esi,%eax,4),%ebx
40fd39:	7f 22                	jg     0x40fd5d
40fd3b:	85 c0                	test   %eax,%eax
40fd3d:	75 04                	jne    0x40fd43
40fd3f:	33 d2                	xor    %edx,%edx
40fd41:	eb 1a                	jmp    0x40fd5d
40fd43:	8b 55 08             	mov    0x8(%ebp),%edx
40fd46:	8b 55 08             	mov    0x8(%ebp),%edx
40fd49:	89 8c 82 00 ff ff ff 	mov    %ecx,-0x100(%edx,%eax,4)
40fd50:	8b 55 08             	mov    0x8(%ebp),%edx
40fd53:	52                   	push   %edx
40fd54:	48                   	dec    %eax
40fd55:	e8 ae ff ff ff       	call   0x40fd08
40fd5a:	59                   	pop    %ecx
40fd5b:	8b d0                	mov    %eax,%edx
40fd5d:	8b c2                	mov    %edx,%eax
40fd5f:	5e                   	pop    %esi
40fd60:	5b                   	pop    %ebx
40fd61:	5d                   	pop    %ebp
40fd62:	c3                   	ret
40fd63:	90                   	nop
40fd64:	55                   	push   %ebp
40fd65:	8b ec                	mov    %esp,%ebp
40fd67:	81 c4 e8 fc ff ff    	add    $0xfffffce8,%esp
40fd6d:	53                   	push   %ebx
40fd6e:	56                   	push   %esi
40fd6f:	57                   	push   %edi
40fd70:	89 85 fc fc ff ff    	mov    %eax,-0x304(%ebp)
40fd76:	8b 85 fc fc ff ff    	mov    -0x304(%ebp),%eax
40fd7c:	f6 40 01 20          	testb  $0x20,0x1(%eax)
40fd80:	75 0a                	jne    0x40fd8c
40fd82:	b8 57 00 07 80       	mov    $0x80070057,%eax
40fd87:	e8 20 fe ff ff       	call   0x40fbac
40fd8c:	8b 85 fc fc ff ff    	mov    -0x304(%ebp),%eax
40fd92:	66 8b 00             	mov    (%eax),%ax
40fd95:	8b d0                	mov    %eax,%edx
40fd97:	66 81 e2 ff 0f       	and    $0xfff,%dx
40fd9c:	66 83 fa 0c          	cmp    $0xc,%dx
40fda0:	0f 85 22 01 00 00    	jne    0x40fec8
40fda6:	8b 95 fc fc ff ff    	mov    -0x304(%ebp),%edx
40fdac:	f6 c4 40             	test   $0x40,%ah
40fdaf:	74 13                	je     0x40fdc4
40fdb1:	8b 85 fc fc ff ff    	mov    -0x304(%ebp),%eax
40fdb7:	8b 40 08             	mov    0x8(%eax),%eax
40fdba:	8b 00                	mov    (%eax),%eax
40fdbc:	89 85 f8 fc ff ff    	mov    %eax,-0x308(%ebp)
40fdc2:	eb 0f                	jmp    0x40fdd3
40fdc4:	8b 85 fc fc ff ff    	mov    -0x304(%ebp),%eax
40fdca:	8b 40 08             	mov    0x8(%eax),%eax
40fdcd:	89 85 f8 fc ff ff    	mov    %eax,-0x308(%ebp)
40fdd3:	8b 85 f8 fc ff ff    	mov    -0x308(%ebp),%eax
40fdd9:	0f b7 00             	movzwl (%eax),%eax
40fddc:	89 85 f0 fc ff ff    	mov    %eax,-0x310(%ebp)
40fde2:	8b 9d f0 fc ff ff    	mov    -0x310(%ebp),%ebx
40fde8:	4b                   	dec    %ebx
40fde9:	85 db                	test   %ebx,%ebx
40fdeb:	7c 6b                	jl     0x40fe58
40fded:	43                   	inc    %ebx
40fdee:	33 ff                	xor    %edi,%edi
40fdf0:	8d b5 00 fd ff ff    	lea    -0x300(%ebp),%esi
40fdf6:	8b c6                	mov    %esi,%eax
40fdf8:	89 85 e8 fc ff ff    	mov    %eax,-0x318(%ebp)
40fdfe:	8b 85 e8 fc ff ff    	mov    -0x318(%ebp),%eax
40fe04:	83 c0 04             	add    $0x4,%eax
40fe07:	50                   	push   %eax
40fe08:	8d 47 01             	lea    0x1(%edi),%eax
40fe0b:	50                   	push   %eax
40fe0c:	8b 85 f8 fc ff ff    	mov    -0x308(%ebp),%eax
40fe12:	50                   	push   %eax
40fe13:	e8 54 ed ff ff       	call   0x40eb6c
40fe18:	e8 8f fd ff ff       	call   0x40fbac
40fe1d:	8d 85 f4 fc ff ff    	lea    -0x30c(%ebp),%eax
40fe23:	50                   	push   %eax
40fe24:	8d 47 01             	lea    0x1(%edi),%eax
40fe27:	50                   	push   %eax
40fe28:	8b 85 f8 fc ff ff    	mov    -0x308(%ebp),%eax
40fe2e:	50                   	push   %eax
40fe2f:	e8 40 ed ff ff       	call   0x40eb74
40fe34:	e8 73 fd ff ff       	call   0x40fbac
40fe39:	8b 85 e8 fc ff ff    	mov    -0x318(%ebp),%eax
40fe3f:	8b 95 f4 fc ff ff    	mov    -0x30c(%ebp),%edx
40fe45:	2b 50 04             	sub    0x4(%eax),%edx
40fe48:	42                   	inc    %edx
40fe49:	8b 85 e8 fc ff ff    	mov    -0x318(%ebp),%eax
40fe4f:	89 10                	mov    %edx,(%eax)
40fe51:	47                   	inc    %edi
40fe52:	83 c6 08             	add    $0x8,%esi
40fe55:	4b                   	dec    %ebx
40fe56:	75 9e                	jne    0x40fdf6
40fe58:	8b 9d f0 fc ff ff    	mov    -0x310(%ebp),%ebx
40fe5e:	4b                   	dec    %ebx
40fe5f:	85 db                	test   %ebx,%ebx
40fe61:	7c 1a                	jl     0x40fe7d
40fe63:	43                   	inc    %ebx
40fe64:	8d 85 04 fd ff ff    	lea    -0x2fc(%ebp),%eax
40fe6a:	8d 95 00 ff ff ff    	lea    -0x100(%ebp),%edx
40fe70:	8b 08                	mov    (%eax),%ecx
40fe72:	89 0a                	mov    %ecx,(%edx)
40fe74:	83 c2 04             	add    $0x4,%edx
40fe77:	83 c0 08             	add    $0x8,%eax
40fe7a:	4b                   	dec    %ebx
40fe7b:	75 f3                	jne    0x40fe70
40fe7d:	55                   	push   %ebp
40fe7e:	8b 9d f0 fc ff ff    	mov    -0x310(%ebp),%ebx
40fe84:	4b                   	dec    %ebx
40fe85:	8b c3                	mov    %ebx,%eax
40fe87:	e8 4c fe ff ff       	call   0x40fcd8
40fe8c:	59                   	pop    %ecx
40fe8d:	84 c0                	test   %al,%al
40fe8f:	74 2a                	je     0x40febb
40fe91:	8d 85 ec fc ff ff    	lea    -0x314(%ebp),%eax
40fe97:	50                   	push   %eax
40fe98:	8d 85 00 ff ff ff    	lea    -0x100(%ebp),%eax
40fe9e:	50                   	push   %eax
40fe9f:	8b 85 f8 fc ff ff    	mov    -0x308(%ebp),%eax
40fea5:	50                   	push   %eax
40fea6:	e8 f1 ec ff ff       	call   0x40eb9c
40feab:	e8 fc fc ff ff       	call   0x40fbac
40feb0:	8b 85 ec fc ff ff    	mov    -0x314(%ebp),%eax
40feb6:	e8 a1 00 00 00       	call   0x40ff5c
40febb:	55                   	push   %ebp
40febc:	8b c3                	mov    %ebx,%eax
40febe:	e8 45 fe ff ff       	call   0x40fd08
40fec3:	59                   	pop    %ecx
40fec4:	84 c0                	test   %al,%al
40fec6:	75 b5                	jne    0x40fe7d
40fec8:	8b 85 fc fc ff ff    	mov    -0x304(%ebp),%eax
40fece:	50                   	push   %eax
40fecf:	e8 2c e8 ff ff       	call   0x40e700
40fed4:	e8 d3 fc ff ff       	call   0x40fbac
40fed9:	5f                   	pop    %edi
40feda:	5e                   	pop    %esi
40fedb:	5b                   	pop    %ebx
40fedc:	8b e5                	mov    %ebp,%esp
40fede:	5d                   	pop    %ebp
40fedf:	c3                   	ret
40fee0:	53                   	push   %ebx
40fee1:	56                   	push   %esi
40fee2:	51                   	push   %ecx
40fee3:	8b d8                	mov    %eax,%ebx
40fee5:	66 8b 33             	mov    (%ebx),%si
40fee8:	66 83 fe 14          	cmp    $0x14,%si
40feec:	73 0d                	jae    0x40fefb
40feee:	53                   	push   %ebx
40feef:	e8 0c e8 ff ff       	call   0x40e700
40fef4:	e8 b3 fc ff ff       	call   0x40fbac
40fef9:	eb 5b                	jmp    0x40ff56
40fefb:	66 81 fe 00 01       	cmp    $0x100,%si
40ff00:	75 0f                	jne    0x40ff11
40ff02:	66 c7 03 00 00       	movw   $0x0,(%ebx)
40ff07:	8d 43 08             	lea    0x8(%ebx),%eax
40ff0a:	e8 55 42 ff ff       	call   0x404164
40ff0f:	eb 45                	jmp    0x40ff56
40ff11:	66 81 fe 01 01       	cmp    $0x101,%si
40ff16:	75 0a                	jne    0x40ff22
40ff18:	8b c3                	mov    %ebx,%eax
40ff1a:	ff 15 14 c8 49 00    	call   *0x49c814
40ff20:	eb 34                	jmp    0x40ff56
40ff22:	66 f7 c6 00 20       	test   $0x2000,%si
40ff27:	74 09                	je     0x40ff32
40ff29:	8b c3                	mov    %ebx,%eax
40ff2b:	e8 34 fe ff ff       	call   0x40fd64
40ff30:	eb 24                	jmp    0x40ff56
40ff32:	8b d4                	mov    %esp,%edx
40ff34:	8b c6                	mov    %esi,%eax
40ff36:	e8 61 71 00 00       	call   0x41709c
40ff3b:	84 c0                	test   %al,%al
40ff3d:	74 0c                	je     0x40ff4b
40ff3f:	8b d3                	mov    %ebx,%edx
40ff41:	8b 04 24             	mov    (%esp),%eax
40ff44:	8b 08                	mov    (%eax),%ecx
40ff46:	ff 51 24             	call   *0x24(%ecx)
40ff49:	eb 0b                	jmp    0x40ff56
40ff4b:	53                   	push   %ebx
40ff4c:	e8 af e7 ff ff       	call   0x40e700
40ff51:	e8 56 fc ff ff       	call   0x40fbac
40ff56:	5a                   	pop    %edx
40ff57:	5e                   	pop    %esi
40ff58:	5b                   	pop    %ebx
40ff59:	c3                   	ret
40ff5a:	8b c0                	mov    %eax,%eax
40ff5c:	66 f7 00 e8 bf       	testw  $0xbfe8,(%eax)
40ff61:	75 06                	jne    0x40ff69
40ff63:	66 c7 00 00 00       	movw   $0x0,(%eax)
40ff68:	c3                   	ret
40ff69:	e8 72 ff ff ff       	call   0x40fee0
40ff6e:	c3                   	ret
40ff6f:	90                   	nop
40ff70:	50                   	push   %eax
40ff71:	e8 e6 ff ff ff       	call   0x40ff5c
40ff76:	58                   	pop    %eax
40ff77:	c3                   	ret
40ff78:	55                   	push   %ebp
40ff79:	8b ec                	mov    %esp,%ebp
40ff7b:	53                   	push   %ebx
40ff7c:	8b 4d 08             	mov    0x8(%ebp),%ecx
40ff7f:	81 c1 00 fd ff ff    	add    $0xfffffd00,%ecx
40ff85:	8b 54 c1 04          	mov    0x4(%ecx,%eax,8),%edx
40ff89:	03 14 c1             	add    (%ecx,%eax,8),%edx
40ff8c:	8b 5d 08             	mov    0x8(%ebp),%ebx
40ff8f:	3b 94 83 00 ff ff ff 	cmp    -0x100(%ebx,%eax,4),%edx
40ff96:	0f 9f c2             	setg   %dl
40ff99:	48                   	dec    %eax
40ff9a:	84 d2                	test   %dl,%dl
40ff9c:	74 04                	je     0x40ffa2
40ff9e:	85 c0                	test   %eax,%eax
40ffa0:	7d e3                	jge    0x40ff85
40ffa2:	8b c2                	mov    %edx,%eax
40ffa4:	5b                   	pop    %ebx
40ffa5:	5d                   	pop    %ebp
40ffa6:	c3                   	ret
40ffa7:	90                   	nop
40ffa8:	55                   	push   %ebp
40ffa9:	8b ec                	mov    %esp,%ebp
40ffab:	53                   	push   %ebx
40ffac:	56                   	push   %esi
40ffad:	b2 01                	mov    $0x1,%dl
40ffaf:	8b 4d 08             	mov    0x8(%ebp),%ecx
40ffb2:	ff 84 81 00 ff ff ff 	incl   -0x100(%ecx,%eax,4)
40ffb9:	8b 4d 08             	mov    0x8(%ebp),%ecx
40ffbc:	8b 8c c1 04 fd ff ff 	mov    -0x2fc(%ecx,%eax,8),%ecx
40ffc3:	8b d9                	mov    %ecx,%ebx
40ffc5:	8b 75 08             	mov    0x8(%ebp),%esi