40ef68:	8b 4b 04             	mov    0x4(%ebx),%ecx
40ef6b:	8b 04 91             	mov    (%ecx,%edx,4),%eax
40ef6e:	66 83 78 08 4e       	cmpw   $0x4e,0x8(%eax)
40ef73:	0f 84 77 ff ff ff    	je     0x40eef0
40ef79:	8b 45 88             	mov    -0x78(%ebp),%eax
40ef7c:	83 78 0c 05          	cmpl   $0x5,0xc(%eax)
40ef80:	0f 85 92 03 00 00    	jne    0x40f318
40ef86:	8b 10                	mov    (%eax),%edx
40ef88:	8b 02                	mov    (%edx),%eax
40ef8a:	33 c9                	xor    %ecx,%ecx
40ef8c:	c7 80 10 02 00 00 00 	movl   $0x0,0x210(%eax)
40ef93:	00 00 00
40ef96:	85 f6                	test   %esi,%esi
40ef98:	7e 31                	jle    0x40efcb
40ef9a:	8b 45 e0             	mov    -0x20(%ebp),%eax
40ef9d:	8d 49 00             	lea    0x0(%ecx),%ecx
40efa0:	8b 32                	mov    (%edx),%esi
40efa2:	8b 9e 10 02 00 00    	mov    0x210(%esi),%ebx
40efa8:	83 fb 40             	cmp    $0x40,%ebx
40efab:	7d 19                	jge    0x40efc6
40efad:	8b 84 8d 7c fe ff ff 	mov    -0x184(%ebp,%ecx,4),%eax
40efb4:	89 84 9e 10 01 00 00 	mov    %eax,0x110(%esi,%ebx,4)
40efbb:	8b 02                	mov    (%edx),%eax
40efbd:	ff 80 10 02 00 00    	incl   0x210(%eax)
40efc3:	8b 45 e0             	mov    -0x20(%ebp),%eax
40efc6:	41                   	inc    %ecx
40efc7:	3b c8                	cmp    %eax,%ecx
40efc9:	7c d5                	jl     0x40efa0
40efcb:	6a 00                	push   $0x0
40efcd:	6a 02                	push   $0x2
40efcf:	52                   	push   %edx
40efd0:	e8 cb 9e ff ff       	call   0x408ea0
40efd5:	8b f0                	mov    %eax,%esi
40efd7:	83 c4 0c             	add    $0xc,%esp
40efda:	85 f6                	test   %esi,%esi
40efdc:	0f 84 8b 54 03 00    	je     0x44446d
40efe2:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
40efe5:	85 c9                	test   %ecx,%ecx
40efe7:	0f 85 92 54 03 00    	jne    0x44447f
40efed:	8b 45 c8             	mov    -0x38(%ebp),%eax
40eff0:	83 f8 05             	cmp    $0x5,%eax
40eff3:	0f 8c 60 fb ff ff    	jl     0x40eb59
40eff9:	e9 93 54 03 00       	jmp    0x444491
40effe:	8a 55 fb             	mov    -0x5(%ebp),%dl
40f001:	e9 62 fa ff ff       	jmp    0x40ea68
40f006:	8b 73 18             	mov    0x18(%ebx),%esi
40f009:	8d 43 18             	lea    0x18(%ebx),%eax
40f00c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40f00f:	85 f6                	test   %esi,%esi
40f011:	0f 84 65 fc ff ff    	je     0x40ec7c
40f017:	8b 46 04             	mov    0x4(%esi),%eax
40f01a:	3b f8                	cmp    %eax,%edi
40f01c:	0f 87 03 02 00 00    	ja     0x40f225
40f022:	8b 55 ec             	mov    -0x14(%ebp),%edx
40f025:	8b df                	mov    %edi,%ebx
40f027:	8b 0e                	mov    (%esi),%ecx
40f029:	8b 12                	mov    (%edx),%edx
40f02b:	85 ff                	test   %edi,%edi
40f02d:	74 15                	je     0x40f044
40f02f:	90                   	nop
40f030:	66 8b 02             	mov    (%edx),%ax
40f033:	66 3b 01             	cmp    (%ecx),%ax
40f036:	75 46                	jne    0x40f07e
40f038:	83 c2 02             	add    $0x2,%edx
40f03b:	83 c1 02             	add    $0x2,%ecx
40f03e:	4b                   	dec    %ebx
40f03f:	75 ef                	jne    0x40f030
40f041:	8b 46 04             	mov    0x4(%esi),%eax
40f044:	3b f8                	cmp    %eax,%edi
40f046:	72 38                	jb     0x40f080
40f048:	8b 5d e0             	mov    -0x20(%ebp),%ebx
40f04b:	8b 4d 98             	mov    -0x68(%ebp),%ecx
40f04e:	8b 7d ec             	mov    -0x14(%ebp),%edi
40f051:	89 59 18             	mov    %ebx,0x18(%ecx)
40f054:	a1 70 72 4c 00       	mov    0x4c7270,%eax
40f059:	89 45 98             	mov    %eax,-0x68(%ebp)
40f05c:	8b 58 18             	mov    0x18(%eax),%ebx
40f05f:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40f062:	89 1d 70 72 4c 00    	mov    %ebx,0x4c7270
40f068:	e9 bb fb ff ff       	jmp    0x40ec28
40f06d:	8b da                	mov    %edx,%ebx
40f06f:	e9 2a f9 ff ff       	jmp    0x40e99e
40f074:	8b d0                	mov    %eax,%edx
40f076:	89 45 e0             	mov    %eax,-0x20(%ebp)
40f079:	e9 ad f9 ff ff       	jmp    0x40ea2b
40f07e:	73 c8                	jae    0x40f048
40f080:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40f083:	8b de                	mov    %esi,%ebx
40f085:	8b 43 1c             	mov    0x1c(%ebx),%eax
40f088:	89 01                	mov    %eax,(%ecx)
40f08a:	a1 70 72 4c 00       	mov    0x4c7270,%eax
40f08f:	89 43 1c             	mov    %eax,0x1c(%ebx)
40f092:	89 1d 70 72 4c 00    	mov    %ebx,0x4c7270
40f098:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
40f09c:	75 ad                	jne    0x40f04b
40f09e:	e9 d9 fb ff ff       	jmp    0x40ec7c
40f0a3:	8d 43 1c             	lea    0x1c(%ebx),%eax
40f0a6:	8b 18                	mov    (%eax),%ebx
40f0a8:	89 45 90             	mov    %eax,-0x70(%ebp)
40f0ab:	85 db                	test   %ebx,%ebx
40f0ad:	0f 84 3a 02 00 00    	je     0x40f2ed
40f0b3:	8b 43 04             	mov    0x4(%ebx),%eax
40f0b6:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40f0b9:	3b c7                	cmp    %edi,%eax
40f0bb:	0f 87 5a 01 00 00    	ja     0x40f21b
40f0c1:	8b 55 ec             	mov    -0x14(%ebp),%edx
40f0c4:	8b f0                	mov    %eax,%esi
40f0c6:	8b 0a                	mov    (%edx),%ecx
40f0c8:	8b 13                	mov    (%ebx),%edx
40f0ca:	85 c0                	test   %eax,%eax
40f0cc:	74 16                	je     0x40f0e4
40f0ce:	8b ff                	mov    %edi,%edi
40f0d0:	66 8b 02             	mov    (%edx),%ax
40f0d3:	66 3b 01             	cmp    (%ecx),%ax
40f0d6:	75 31                	jne    0x40f109
40f0d8:	83 c2 02             	add    $0x2,%edx
40f0db:	83 c1 02             	add    $0x2,%ecx
40f0de:	4e                   	dec    %esi
40f0df:	75 ef                	jne    0x40f0d0
40f0e1:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40f0e4:	3b c7                	cmp    %edi,%eax
40f0e6:	73 23                	jae    0x40f10b
40f0e8:	8b 4d 90             	mov    -0x70(%ebp),%ecx
40f0eb:	8b 43 18             	mov    0x18(%ebx),%eax
40f0ee:	89 01                	mov    %eax,(%ecx)
40f0f0:	a1 70 72 4c 00       	mov    0x4c7270,%eax
40f0f5:	89 43 18             	mov    %eax,0x18(%ebx)
40f0f8:	89 1d 70 72 4c 00    	mov    %ebx,0x4c7270
40f0fe:	83 7b 1c 00          	cmpl   $0x0,0x1c(%ebx)
40f102:	75 0a                	jne    0x40f10e
40f104:	e9 73 fb ff ff       	jmp    0x40ec7c
40f109:	72 dd                	jb     0x40f0e8
40f10b:	8b 5d e0             	mov    -0x20(%ebp),%ebx
40f10e:	8b 4d b8             	mov    -0x48(%ebp),%ecx
40f111:	8b 7d ec             	mov    -0x14(%ebp),%edi
40f114:	89 59 1c             	mov    %ebx,0x1c(%ecx)
40f117:	a1 70 72 4c 00       	mov    0x4c7270,%eax
40f11c:	89 45 b8             	mov    %eax,-0x48(%ebp)
40f11f:	8b 58 1c             	mov    0x1c(%eax),%ebx
40f122:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40f125:	89 1d 70 72 4c 00    	mov    %ebx,0x4c7270
40f12b:	e9 f8 fa ff ff       	jmp    0x40ec28
40f130:	8b 13                	mov    (%ebx),%edx
40f132:	8b 3f                	mov    (%edi),%edi
40f134:	85 c9                	test   %ecx,%ecx
40f136:	0f 84 28 f8 ff ff    	je     0x40e964
40f13c:	8d 64 24 00          	lea    0x0(%esp),%esp
40f140:	66 8b 07             	mov    (%edi),%ax
40f143:	66 3b 02             	cmp    (%edx),%ax
40f146:	0f 84 fa 00 00 00    	je     0x40f246
40f14c:	0f b7 c0             	movzwl %ax,%eax
40f14f:	66 3b 02             	cmp    (%edx),%ax
40f152:	e9 17 f8 ff ff       	jmp    0x40e96e
40f157:	8b 46 0c             	mov    0xc(%esi),%eax
40f15a:	ff 08                	decl   (%eax)
40f15c:	8b 46 0c             	mov    0xc(%esi),%eax
40f15f:	83 38 00             	cmpl   $0x0,(%eax)
40f162:	0f 84 c4 00 00 00    	je     0x40f22c
40f168:	56                   	push   %esi
40f169:	e8 fe 1e 01 00       	call   0x42106c
40f16e:	83 c4 04             	add    $0x4,%esp
40f171:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
40f178:	e9 4f fa ff ff       	jmp    0x40ebcc
40f17d:	66 83 f9 52          	cmp    $0x52,%cx
40f181:	0f 84 ad f9 ff ff    	je     0x40eb34
40f187:	e9 3b 51 03 00       	jmp    0x4442c7
40f18c:	83 c7 ae             	add    $0xffffffae,%edi
40f18f:	83 ff 04             	cmp    $0x4,%edi
40f192:	0f 87 29 fa ff ff    	ja     0x40ebc1
40f198:	ff 24 bd 28 f3 40 00 	jmp    *0x40f328(,%edi,4)
40f19f:	8d 45 9c             	lea    -0x64(%ebp),%eax
40f1a2:	8b ce                	mov    %esi,%ecx
40f1a4:	50                   	push   %eax
40f1a5:	e8 56 a5 ff ff       	call   0x409700
40f1aa:	e9 12 fa ff ff       	jmp    0x40ebc1
40f1af:	83 7d a8 04          	cmpl   $0x4,-0x58(%ebp)
40f1b3:	0f 85 d9 f9 ff ff    	jne    0x40eb92
40f1b9:	8b 4e 08             	mov    0x8(%esi),%ecx
40f1bc:	8b 75 a4             	mov    -0x5c(%ebp),%esi
40f1bf:	3b ce                	cmp    %esi,%ecx
40f1c1:	0f 84 fa f9 ff ff    	je     0x40ebc1
40f1c7:	56                   	push   %esi
40f1c8:	e8 0a 8f ff ff       	call   0x4080d7
40f1cd:	e9 ef f9 ff ff       	jmp    0x40ebc1
40f1d2:	83 c6 02             	add    $0x2,%esi
40f1d5:	83 c2 02             	add    $0x2,%edx
40f1d8:	49                   	dec    %ecx
40f1d9:	0f 85 41 fb ff ff    	jne    0x40ed20
40f1df:	e9 84 fa ff ff       	jmp    0x40ec68
40f1e4:	8b 47 0c             	mov    0xc(%edi),%eax
40f1e7:	ff 08                	decl   (%eax)
40f1e9:	8b 47 0c             	mov    0xc(%edi),%eax
40f1ec:	83 38 00             	cmpl   $0x0,(%eax)
40f1ef:	75 15                	jne    0x40f206
40f1f1:	ff 37                	push   (%edi)
40f1f3:	e8 74 1e 01 00       	call   0x42106c
40f1f8:	83 c4 04             	add    $0x4,%esp
40f1fb:	ff 77 0c             	push   0xc(%edi)
40f1fe:	e8 69 1e 01 00       	call   0x42106c
40f203:	83 c4 04             	add    $0x4,%esp
40f206:	57                   	push   %edi
40f207:	e8 60 1e 01 00       	call   0x42106c
40f20c:	83 c4 04             	add    $0x4,%esp
40f20f:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
40f216:	e9 82 f9 ff ff       	jmp    0x40eb9d
40f21b:	8b c7                	mov    %edi,%eax
40f21d:	89 7d e4             	mov    %edi,-0x1c(%ebp)
40f220:	e9 9c fe ff ff       	jmp    0x40f0c1
40f225:	8b f8                	mov    %eax,%edi
40f227:	e9 f6 fd ff ff       	jmp    0x40f022
40f22c:	ff 36                	push   (%esi)
40f22e:	e8 39 1e 01 00       	call   0x42106c
40f233:	83 c4 04             	add    $0x4,%esp
40f236:	ff 76 0c             	push   0xc(%esi)
40f239:	e8 2e 1e 01 00       	call   0x42106c
40f23e:	83 c4 04             	add    $0x4,%esp
40f241:	e9 22 ff ff ff       	jmp    0x40f168
40f246:	83 c7 02             	add    $0x2,%edi
40f249:	83 c2 02             	add    $0x2,%edx
40f24c:	49                   	dec    %ecx
40f24d:	0f 85 ed fe ff ff    	jne    0x40f140
40f253:	e9 0c f7 ff ff       	jmp    0x40e964
40f258:	83 c0 fb             	add    $0xfffffffb,%eax
40f25b:	83 f8 0a             	cmp    $0xa,%eax
40f25e:	0f 87 74 f9 ff ff    	ja     0x40ebd8
40f264:	ff 24 85 3c f3 40 00 	jmp    *0x40f33c(,%eax,4)
40f26b:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
40f26e:	85 c9                	test   %ecx,%ecx
40f270:	0f 84 62 f9 ff ff    	je     0x40ebd8
40f276:	51                   	push   %ecx
40f277:	e8 b8 9b ff ff       	call   0x408e34
40f27c:	5f                   	pop    %edi
40f27d:	5e                   	pop    %esi
40f27e:	5b                   	pop    %ebx
40f27f:	8b e5                	mov    %ebp,%esp
40f281:	5d                   	pop    %ebp
40f282:	c2 04 00             	ret    $0x4
40f285:	83 e8 05             	sub    $0x5,%eax
40f288:	83 f8 0a             	cmp    $0xa,%eax
40f28b:	0f 87 18 f9 ff ff    	ja     0x40eba9
40f291:	ff 24 85 68 f3 40 00 	jmp    *0x40f368(,%eax,4)
40f298:	8b 0e                	mov    (%esi),%ecx
40f29a:	85 c9                	test   %ecx,%ecx
40f29c:	0f 84 07 f9 ff ff    	je     0x40eba9
40f2a2:	51                   	push   %ecx
40f2a3:	e8 8c 9b ff ff       	call   0x408e34
40f2a8:	e9 fc f8 ff ff       	jmp    0x40eba9
40f2ad:	8b 45 ac             	mov    -0x54(%ebp),%eax
40f2b0:	33 f6                	xor    %esi,%esi
40f2b2:	e9 03 f8 ff ff       	jmp    0x40eaba
40f2b7:	8b 55 f4             	mov    -0xc(%ebp),%edx
40f2ba:	e9 5a f8 ff ff       	jmp    0x40eb19
40f2bf:	8b 55 f0             	mov    -0x10(%ebp),%edx
40f2c2:	80 ba ff 00 00 00 00 	cmpb   $0x0,0xff(%edx)
40f2c9:	0f 85 85 52 03 00    	jne    0x444554
40f2cf:	83 ff 41             	cmp    $0x41,%edi
40f2d2:	0f 85 7c 52 03 00    	jne    0x444554
40f2d8:	6a 00                	push   $0x0
40f2da:	6a 00                	push   $0x0
40f2dc:	8d 45 9c             	lea    -0x64(%ebp),%eax
40f2df:	50                   	push   %eax
40f2e0:	ff 75 ec             	push   -0x14(%ebp)
40f2e3:	e8 38 93 ff ff       	call   0x408620
40f2e8:	e9 d4 f8 ff ff       	jmp    0x40ebc1
40f2ed:	8b 5d e0             	mov    -0x20(%ebp),%ebx
40f2f0:	e9 87 f9 ff ff       	jmp    0x40ec7c
40f2f5:	33 d2                	xor    %edx,%edx
40f2f7:	e9 22 fb ff ff       	jmp    0x40ee1e
40f2fc:	ff 75 ac             	push   -0x54(%ebp)
40f2ff:	6a 7b                	push   $0x7b
40f301:	e9 41 4f 03 00       	jmp    0x444247
40f306:	ff 75 e4             	push   -0x1c(%ebp)
40f309:	6a 7a                	push   $0x7a
40f30b:	e9 37 4f 03 00       	jmp    0x444247
40f310:	8d 4d cc             	lea    -0x34(%ebp),%ecx
40f313:	e9 4c 4f 03 00       	jmp    0x444264
40f318:	33 d2                	xor    %edx,%edx
40f31a:	e9 69 fc ff ff       	jmp    0x40ef88
40f31f:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40f322:	e9 3d 4f 03 00       	jmp    0x444264
40f327:	90                   	nop
40f328:	9f                   	lahf
40f329:	f1                   	int1
40f32a:	40                   	inc    %eax
40f32b:	00 69 45             	add    %ch,0x45(%ecx)
40f32e:	44                   	inc    %esp
40f32f:	00 79 45             	add    %bh,0x45(%ecx)
40f332:	44                   	inc    %esp
40f333:	00 89 45 44 00 99    	add    %cl,-0x66ffbbbb(%ecx)
40f339:	45                   	inc    %ebp
40f33a:	44                   	inc    %esp
40f33b:	00 6b f2             	add    %ch,-0xe(%ebx)
40f33e:	40                   	inc    %eax
40f33f:	00 d8                	add    %bl,%al
40f341:	eb 40                	jmp    0x40f383
40f343:	00 d8                	add    %bl,%al
40f345:	eb 40                	jmp    0x40f387
40f347:	00 27                	add    %ah,(%edi)
40f349:	46                   	inc    %esi
40f34a:	44                   	inc    %esp
40f34b:	00 d8                	add    %bl,%al
40f34d:	eb 40                	jmp    0x40f38f
40f34f:	00 3e                	add    %bh,(%esi)
40f351:	46                   	inc    %esi
40f352:	44                   	inc    %esp
40f353:	00 4e 46             	add    %cl,0x46(%esi)
40f356:	44                   	inc    %esp
40f357:	00 61 46             	add    %ah,0x46(%ecx)
40f35a:	44                   	inc    %esp
40f35b:	00 8d 46 44 00 8d    	add    %cl,-0x72ffbbba(%ebp)
40f361:	46                   	inc    %esi
40f362:	44                   	inc    %esp
40f363:	00 77 46             	add    %dh,0x46(%edi)
40f366:	44                   	inc    %esp
40f367:	00 98 f2 40 00 a9    	add    %bl,-0x56ffbf0e(%eax)
40f36d:	eb 40                	jmp    0x40f3af
40f36f:	00 a9 eb 40 00 a9    	add    %ch,-0x56ffbf15(%ecx)
40f375:	45                   	inc    %ebp
40f376:	44                   	inc    %esp
40f377:	00 a9 eb 40 00 be    	add    %ch,-0x41ffbf15(%ecx)
40f37d:	45                   	inc    %ebp
40f37e:	44                   	inc    %esp
40f37f:	00 cd                	add    %cl,%ch
40f381:	45                   	inc    %ebp
40f382:	44                   	inc    %esp
40f383:	00 de                	add    %bl,%dh
40f385:	45                   	inc    %ebp
40f386:	44                   	inc    %esp
40f387:	00 08                	add    %cl,(%eax)
40f389:	46                   	inc    %esi
40f38a:	44                   	inc    %esp
40f38b:	00 08                	add    %cl,(%eax)
40f38d:	46                   	inc    %esi
40f38e:	44                   	inc    %esp
40f38f:	00 f3                	add    %dh,%bl
40f391:	45                   	inc    %ebp
40f392:	44                   	inc    %esp
40f393:	00 55 8b             	add    %dl,-0x75(%ebp)
40f396:	ec                   	in     (%dx),%al
40f397:	51                   	push   %ecx
40f398:	8b 45 10             	mov    0x10(%ebp),%eax
40f39b:	53                   	push   %ebx
40f39c:	56                   	push   %esi
40f39d:	8b 75 0c             	mov    0xc(%ebp),%esi
40f3a0:	8b d9                	mov    %ecx,%ebx
40f3a2:	57                   	push   %edi
40f3a3:	ff 06                	incl   (%esi)
40f3a5:	33 ff                	xor    %edi,%edi
40f3a7:	8b 16                	mov    (%esi),%edx
40f3a9:	89 10                	mov    %edx,(%eax)