40f955:	59                   	pop    %ecx
40f956:	5d                   	pop    %ebp
40f957:	c3                   	ret
40f958:	55                   	push   %ebp
40f959:	8b ec                	mov    %esp,%ebp
40f95b:	b9 08 00 00 00       	mov    $0x8,%ecx
40f960:	6a 00                	push   $0x0
40f962:	6a 00                	push   $0x0
40f964:	49                   	dec    %ecx
40f965:	75 f9                	jne    0x40f960
40f967:	53                   	push   %ebx
40f968:	8b d8                	mov    %eax,%ebx
40f96a:	33 c0                	xor    %eax,%eax
40f96c:	55                   	push   %ebp
40f96d:	68 9d fb 40 00       	push   $0x40fb9d
40f972:	64 ff 30             	push   %fs:(%eax)
40f975:	64 89 20             	mov    %esp,%fs:(%eax)
40f978:	8b c3                	mov    %ebx,%eax
40f97a:	3d 0a 00 02 80       	cmp    $0x8002000a,%eax
40f97f:	7f 39                	jg     0x40f9ba
40f981:	0f 84 9a 00 00 00    	je     0x40fa21
40f987:	3d 05 00 02 80       	cmp    $0x80020005,%eax
40f98c:	7f 1d                	jg     0x40f9ab
40f98e:	74 57                	je     0x40f9e7
40f990:	2d 01 40 00 80       	sub    $0x80004001,%eax
40f995:	0f 84 f8 00 00 00    	je     0x40fa93
40f99b:	2d fe bf 00 00       	sub    $0xbffe,%eax
40f9a0:	0f 84 5c 01 00 00    	je     0x40fb02
40f9a6:	e9 7a 01 00 00       	jmp    0x40fb25
40f9ab:	2d 08 00 02 80       	sub    $0x80020008,%eax
40f9b0:	74 3f                	je     0x40f9f1
40f9b2:	48                   	dec    %eax
40f9b3:	74 62                	je     0x40fa17
40f9b5:	e9 6b 01 00 00       	jmp    0x40fb25
40f9ba:	2d 0b 00 02 80       	sub    $0x8002000b,%eax
40f9bf:	0f 84 82 00 00 00    	je     0x40fa47
40f9c5:	83 e8 02             	sub    $0x2,%eax
40f9c8:	0f 84 9f 00 00 00    	je     0x40fa6d
40f9ce:	2d 01 00 05 00       	sub    $0x50001,%eax
40f9d3:	0f 84 e0 00 00 00    	je     0x40fab9
40f9d9:	83 e8 49             	sub    $0x49,%eax
40f9dc:	0f 84 fd 00 00 00    	je     0x40fadf
40f9e2:	e9 3e 01 00 00       	jmp    0x40fb25
40f9e7:	e8 e4 fc ff ff       	call   0x40f6d0
40f9ec:	e9 84 01 00 00       	jmp    0x40fb75
40f9f1:	8d 55 fc             	lea    -0x4(%ebp),%edx
40f9f4:	a1 5c b4 49 00       	mov    0x49b45c,%eax
40f9f9:	e8 3a 68 ff ff       	call   0x406238
40f9fe:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40fa01:	b2 01                	mov    $0x1,%dl
40fa03:	a1 3c f3 40 00       	mov    0x40f33c,%eax
40fa08:	e8 2b ca ff ff       	call   0x40c438
40fa0d:	e8 8e 41 ff ff       	call   0x403ba0
40fa12:	e9 5e 01 00 00       	jmp    0x40fb75
40fa17:	e8 a4 fd ff ff       	call   0x40f7c0
40fa1c:	e9 54 01 00 00       	jmp    0x40fb75
40fa21:	8d 55 f8             	lea    -0x8(%ebp),%edx
40fa24:	a1 d0 af 49 00       	mov    0x49afd0,%eax
40fa29:	e8 0a 68 ff ff       	call   0x406238
40fa2e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40fa31:	b2 01                	mov    $0x1,%dl
40fa33:	a1 74 f2 40 00       	mov    0x40f274,%eax
40fa38:	e8 fb c9 ff ff       	call   0x40c438
40fa3d:	e8 5e 41 ff ff       	call   0x403ba0
40fa42:	e9 2e 01 00 00       	jmp    0x40fb75
40fa47:	8d 55 f4             	lea    -0xc(%ebp),%edx
40fa4a:	a1 b4 b3 49 00       	mov    0x49b3b4,%eax
40fa4f:	e8 e4 67 ff ff       	call   0x406238
40fa54:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40fa57:	b2 01                	mov    $0x1,%dl
40fa59:	a1 a0 f3 40 00       	mov    0x40f3a0,%eax
40fa5e:	e8 d5 c9 ff ff       	call   0x40c438
40fa63:	e8 38 41 ff ff       	call   0x403ba0
40fa68:	e9 08 01 00 00       	jmp    0x40fb75
40fa6d:	8d 55 f0             	lea    -0x10(%ebp),%edx
40fa70:	a1 08 b5 49 00       	mov    0x49b508,%eax
40fa75:	e8 be 67 ff ff       	call   0x406238
40fa7a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40fa7d:	b2 01                	mov    $0x1,%dl
40fa7f:	a1 04 f4 40 00       	mov    0x40f404,%eax
40fa84:	e8 af c9 ff ff       	call   0x40c438
40fa89:	e8 12 41 ff ff       	call   0x403ba0
40fa8e:	e9 e2 00 00 00       	jmp    0x40fb75
40fa93:	8d 55 ec             	lea    -0x14(%ebp),%edx
40fa96:	a1 98 b2 49 00       	mov    0x49b298,%eax
40fa9b:	e8 98 67 ff ff       	call   0x406238
40faa0:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40faa3:	b2 01                	mov    $0x1,%dl
40faa5:	a1 d4 f4 40 00       	mov    0x40f4d4,%eax
40faaa:	e8 89 c9 ff ff       	call   0x40c438
40faaf:	e8 ec 40 ff ff       	call   0x403ba0
40fab4:	e9 bc 00 00 00       	jmp    0x40fb75
40fab9:	8d 55 e8             	lea    -0x18(%ebp),%edx
40fabc:	a1 3c b0 49 00       	mov    0x49b03c,%eax
40fac1:	e8 72 67 ff ff       	call   0x406238
40fac6:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40fac9:	b2 01                	mov    $0x1,%dl
40facb:	a1 38 f5 40 00       	mov    0x40f538,%eax
40fad0:	e8 63 c9 ff ff       	call   0x40c438
40fad5:	e8 c6 40 ff ff       	call   0x403ba0
40fada:	e9 96 00 00 00       	jmp    0x40fb75
40fadf:	8d 55 e4             	lea    -0x1c(%ebp),%edx
40fae2:	a1 64 b0 49 00       	mov    0x49b064,%eax
40fae7:	e8 4c 67 ff ff       	call   0x406238
40faec:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40faef:	b2 01                	mov    $0x1,%dl
40faf1:	a1 d8 f2 40 00       	mov    0x40f2d8,%eax
40faf6:	e8 3d c9 ff ff       	call   0x40c438
40fafb:	e8 a0 40 ff ff       	call   0x403ba0
40fb00:	eb 73                	jmp    0x40fb75
40fb02:	8d 55 e0             	lea    -0x20(%ebp),%edx
40fb05:	a1 cc af 49 00       	mov    0x49afcc,%eax
40fb0a:	e8 29 67 ff ff       	call   0x406238
40fb0f:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40fb12:	b2 01                	mov    $0x1,%dl
40fb14:	a1 a0 f5 40 00       	mov    0x40f5a0,%eax
40fb19:	e8 1a c9 ff ff       	call   0x40c438
40fb1e:	e8 7d 40 ff ff       	call   0x403ba0
40fb23:	eb 50                	jmp    0x40fb75
40fb25:	a1 7c b4 49 00       	mov    0x49b47c,%eax
40fb2a:	8b 00                	mov    (%eax),%eax
40fb2c:	89 45 c8             	mov    %eax,-0x38(%ebp)
40fb2f:	c6 45 cc 0b          	movb   $0xb,-0x34(%ebp)
40fb33:	89 5d d0             	mov    %ebx,-0x30(%ebp)
40fb36:	c6 45 d4 00          	movb   $0x0,-0x2c(%ebp)
40fb3a:	8d 55 c4             	lea    -0x3c(%ebp),%edx
40fb3d:	8b c3                	mov    %ebx,%eax
40fb3f:	e8 c8 c0 ff ff       	call   0x40bc0c
40fb44:	8b 45 c4             	mov    -0x3c(%ebp),%eax
40fb47:	89 45 d8             	mov    %eax,-0x28(%ebp)
40fb4a:	c6 45 dc 0b          	movb   $0xb,-0x24(%ebp)
40fb4e:	8d 45 c8             	lea    -0x38(%ebp),%eax
40fb51:	50                   	push   %eax
40fb52:	6a 02                	push   $0x2
40fb54:	8d 55 c0             	lea    -0x40(%ebp),%edx
40fb57:	a1 88 b1 49 00       	mov    0x49b188,%eax
40fb5c:	e8 d7 66 ff ff       	call   0x406238
40fb61:	8b 4d c0             	mov    -0x40(%ebp),%ecx
40fb64:	b2 01                	mov    $0x1,%dl
40fb66:	a1 e4 7e 40 00       	mov    0x407ee4,%eax
40fb6b:	e8 04 c9 ff ff       	call   0x40c474
40fb70:	e8 2b 40 ff ff       	call   0x403ba0
40fb75:	33 c0                	xor    %eax,%eax
40fb77:	5a                   	pop    %edx
40fb78:	59                   	pop    %ecx
40fb79:	59                   	pop    %ecx
40fb7a:	64 89 10             	mov    %edx,%fs:(%eax)
40fb7d:	68 a4 fb 40 00       	push   $0x40fba4
40fb82:	8d 45 c0             	lea    -0x40(%ebp),%eax
40fb85:	ba 02 00 00 00       	mov    $0x2,%edx
40fb8a:	e8 f9 45 ff ff       	call   0x404188
40fb8f:	8d 45 e0             	lea    -0x20(%ebp),%eax
40fb92:	ba 08 00 00 00       	mov    $0x8,%edx
40fb97:	e8 ec 45 ff ff       	call   0x404188
40fb9c:	c3                   	ret
40fb9d:	e9 c6 3f ff ff       	jmp    0x403b68
40fba2:	eb de                	jmp    0x40fb82
40fba4:	5b                   	pop    %ebx
40fba5:	8b e5                	mov    %ebp,%esp
40fba7:	5d                   	pop    %ebp
40fba8:	c3                   	ret
40fba9:	8d 40 00             	lea    0x0(%eax),%eax
40fbac:	85 c0                	test   %eax,%eax
40fbae:	74 05                	je     0x40fbb5
40fbb0:	e8 a3 fd ff ff       	call   0x40f958
40fbb5:	c3                   	ret
40fbb6:	8b c0                	mov    %eax,%eax
40fbb8:	53                   	push   %ebx
40fbb9:	85 c0                	test   %eax,%eax
40fbbb:	74 2c                	je     0x40fbe9
40fbbd:	8b d8                	mov    %eax,%ebx
40fbbf:	81 eb 05 00 02 80    	sub    $0x80020005,%ebx
40fbc5:	74 07                	je     0x40fbce
40fbc7:	83 eb 05             	sub    $0x5,%ebx
40fbca:	74 0d                	je     0x40fbd9
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