40ecf8:	8b 7d ec             	mov    -0x14(%ebp),%edi
40ecfb:	89 41 18             	mov    %eax,0x18(%ecx)
40ecfe:	8b 06                	mov    (%esi),%eax
40ed00:	89 45 b8             	mov    %eax,-0x48(%ebp)
40ed03:	8b 40 18             	mov    0x18(%eax),%eax
40ed06:	89 06                	mov    %eax,(%esi)
40ed08:	e9 13 fc ff ff       	jmp    0x40e920
40ed0d:	8b 13                	mov    (%ebx),%edx
40ed0f:	8b 30                	mov    (%eax),%esi
40ed11:	85 c9                	test   %ecx,%ecx
40ed13:	0f 84 4f ff ff ff    	je     0x40ec68
40ed19:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40ed20:	66 8b 06             	mov    (%esi),%ax
40ed23:	66 3b 02             	cmp    (%edx),%ax
40ed26:	0f 84 a6 04 00 00    	je     0x40f1d2
40ed2c:	1b c0                	sbb    %eax,%eax
40ed2e:	83 e0 fe             	and    $0xfffffffe,%eax
40ed31:	40                   	inc    %eax
40ed32:	e9 33 ff ff ff       	jmp    0x40ec6a
40ed37:	eb 07                	jmp    0x40ed40
40ed39:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40ed40:	8b 46 0c             	mov    0xc(%esi),%eax
40ed43:	83 f8 05             	cmp    $0x5,%eax
40ed46:	0f 85 74 54 03 00    	jne    0x4441c0
40ed4c:	8b c2                	mov    %edx,%eax
40ed4e:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
40ed55:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
40ed5c:	33 db                	xor    %ebx,%ebx
40ed5e:	c7 45 d8 01 00 00 00 	movl   $0x1,-0x28(%ebp)
40ed65:	89 45 b0             	mov    %eax,-0x50(%ebp)
40ed68:	8b 44 91 fc          	mov    -0x4(%ecx,%edx,4),%eax
40ed6c:	89 75 88             	mov    %esi,-0x78(%ebp)
40ed6f:	89 5d b8             	mov    %ebx,-0x48(%ebp)
40ed72:	0f bf 40 0a          	movswl 0xa(%eax),%eax
40ed76:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40ed79:	8b 04 91             	mov    (%ecx,%edx,4),%eax
40ed7c:	66 83 78 08 4e       	cmpw   $0x4e,0x8(%eax)
40ed81:	0f 85 8b 00 00 00    	jne    0x40ee12
40ed87:	8b 44 91 04          	mov    0x4(%ecx,%edx,4),%eax
40ed8b:	42                   	inc    %edx
40ed8c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40ed8f:	6a ff                	push   $0xffffffff
40ed91:	89 55 f4             	mov    %edx,-0xc(%ebp)
40ed94:	0f bf 40 0a          	movswl 0xa(%eax),%eax
40ed98:	89 45 ac             	mov    %eax,-0x54(%ebp)
40ed9b:	8d 45 cc             	lea    -0x34(%ebp),%eax
40ed9e:	50                   	push   %eax
40ed9f:	8d 45 f4             	lea    -0xc(%ebp),%eax
40eda2:	50                   	push   %eax
40eda3:	57                   	push   %edi
40eda4:	e8 57 b2 ff ff       	call   0x40a000
40eda9:	85 c0                	test   %eax,%eax
40edab:	0f 88 5f 05 00 00    	js     0x40f310
40edb1:	8b 7d d8             	mov    -0x28(%ebp),%edi
40edb4:	83 ff 01             	cmp    $0x1,%edi
40edb7:	0f 85 f9 51 03 00    	jne    0x443fb6
40edbd:	8b 5d cc             	mov    -0x34(%ebp),%ebx
40edc0:	8b c3                	mov    %ebx,%eax
40edc2:	85 c0                	test   %eax,%eax
40edc4:	0f 88 32 05 00 00    	js     0x40f2fc
40edca:	8b 4d 08             	mov    0x8(%ebp),%ecx
40edcd:	8b 55 f4             	mov    -0xc(%ebp),%edx
40edd0:	8b 41 04             	mov    0x4(%ecx),%eax
40edd3:	8b 04 90             	mov    (%eax,%edx,4),%eax
40edd6:	66 83 78 08 4f       	cmpw   $0x4f,0x8(%eax)
40eddb:	0f 85 58 54 03 00    	jne    0x444239
40ede1:	42                   	inc    %edx
40ede2:	89 55 f4             	mov    %edx,-0xc(%ebp)
40ede5:	83 ff 01             	cmp    $0x1,%edi
40ede8:	0f 85 66 52 03 00    	jne    0x444054
40edee:	8b 45 b8             	mov    -0x48(%ebp),%eax
40edf1:	8b 7d 08             	mov    0x8(%ebp),%edi
40edf4:	89 9c 85 7c fe ff ff 	mov    %ebx,-0x184(%ebp,%eax,4)
40edfb:	8b d8                	mov    %eax,%ebx
40edfd:	8b 4f 04             	mov    0x4(%edi),%ecx
40ee00:	43                   	inc    %ebx
40ee01:	89 5d b8             	mov    %ebx,-0x48(%ebp)
40ee04:	8b 04 91             	mov    (%ecx,%edx,4),%eax
40ee07:	66 83 78 08 4e       	cmpw   $0x4e,0x8(%eax)
40ee0c:	0f 84 75 ff ff ff    	je     0x40ed87
40ee12:	83 7e 0c 05          	cmpl   $0x5,0xc(%esi)
40ee16:	0f 85 d9 04 00 00    	jne    0x40f2f5
40ee1c:	8b 16                	mov    (%esi),%edx
40ee1e:	8b 02                	mov    (%edx),%eax
40ee20:	33 c9                	xor    %ecx,%ecx
40ee22:	c7 80 10 02 00 00 00 	movl   $0x0,0x210(%eax)
40ee29:	00 00 00
40ee2c:	85 db                	test   %ebx,%ebx
40ee2e:	7e 28                	jle    0x40ee58
40ee30:	8b 32                	mov    (%edx),%esi
40ee32:	8b be 10 02 00 00    	mov    0x210(%esi),%edi
40ee38:	83 ff 40             	cmp    $0x40,%edi
40ee3b:	7d 16                	jge    0x40ee53
40ee3d:	8b 84 8d 7c fe ff ff 	mov    -0x184(%ebp,%ecx,4),%eax
40ee44:	89 84 be 10 01 00 00 	mov    %eax,0x110(%esi,%edi,4)
40ee4b:	8b 02                	mov    (%edx),%eax
40ee4d:	ff 80 10 02 00 00    	incl   0x210(%eax)
40ee53:	41                   	inc    %ecx
40ee54:	3b cb                	cmp    %ebx,%ecx
40ee56:	7c d8                	jl     0x40ee30
40ee58:	6a 00                	push   $0x0
40ee5a:	6a 01                	push   $0x1
40ee5c:	52                   	push   %edx
40ee5d:	e8 3e a0 ff ff       	call   0x408ea0
40ee62:	8b f0                	mov    %eax,%esi
40ee64:	83 c4 0c             	add    $0xc,%esp
40ee67:	89 75 b8             	mov    %esi,-0x48(%ebp)
40ee6a:	85 f6                	test   %esi,%esi
40ee6c:	0f 84 94 04 00 00    	je     0x40f306
40ee72:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
40ee75:	85 c9                	test   %ecx,%ecx
40ee77:	0f 85 82 52 03 00    	jne    0x4440ff
40ee7d:	8b 45 d8             	mov    -0x28(%ebp),%eax
40ee80:	83 f8 05             	cmp    $0x5,%eax
40ee83:	0f 8d 88 52 03 00    	jge    0x444111
40ee89:	8b 7d 08             	mov    0x8(%ebp),%edi
40ee8c:	c7 45 d8 01 00 00 00 	movl   $0x1,-0x28(%ebp)
40ee93:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
40ee9a:	c6 45 eb 01          	movb   $0x1,-0x15(%ebp)
40ee9e:	8b 4f 04             	mov    0x4(%edi),%ecx
40eea1:	8b 55 f4             	mov    -0xc(%ebp),%edx
40eea4:	8b 04 91             	mov    (%ecx,%edx,4),%eax
40eea7:	66 83 78 08 4e       	cmpw   $0x4e,0x8(%eax)
40eeac:	0f 85 35 fc ff ff    	jne    0x40eae7
40eeb2:	e9 89 fe ff ff       	jmp    0x40ed40
40eeb7:	8b 4b 04             	mov    0x4(%ebx),%ecx
40eeba:	33 f6                	xor    %esi,%esi
40eebc:	8b 55 b0             	mov    -0x50(%ebp),%edx
40eebf:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
40eec6:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
40eecd:	c7 45 c8 01 00 00 00 	movl   $0x1,-0x38(%ebp)
40eed4:	8b 44 91 fc          	mov    -0x4(%ecx,%edx,4),%eax
40eed8:	89 75 e0             	mov    %esi,-0x20(%ebp)
40eedb:	0f bf 40 0a          	movswl 0xa(%eax),%eax
40eedf:	89 45 90             	mov    %eax,-0x70(%ebp)
40eee2:	8b 04 91             	mov    (%ecx,%edx,4),%eax
40eee5:	66 83 78 08 4e       	cmpw   $0x4e,0x8(%eax)
40eeea:	0f 85 89 00 00 00    	jne    0x40ef79
40eef0:	8b 44 91 04          	mov    0x4(%ecx,%edx,4),%eax
40eef4:	42                   	inc    %edx
40eef5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40eef8:	6a ff                	push   $0xffffffff
40eefa:	89 55 ac             	mov    %edx,-0x54(%ebp)
40eefd:	0f bf 40 0a          	movswl 0xa(%eax),%eax
40ef01:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40ef04:	8d 45 bc             	lea    -0x44(%ebp),%eax
40ef07:	50                   	push   %eax
40ef08:	8d 45 ac             	lea    -0x54(%ebp),%eax
40ef0b:	50                   	push   %eax
40ef0c:	53                   	push   %ebx
40ef0d:	e8 ee b0 ff ff       	call   0x40a000
40ef12:	85 c0                	test   %eax,%eax
40ef14:	0f 88 05 04 00 00    	js     0x40f31f
40ef1a:	8b 75 c8             	mov    -0x38(%ebp),%esi
40ef1d:	83 fe 01             	cmp    $0x1,%esi
40ef20:	0f 85 e0 53 03 00    	jne    0x444306
40ef26:	8b 5d bc             	mov    -0x44(%ebp),%ebx
40ef29:	8b c3                	mov    %ebx,%eax
40ef2b:	85 c0                	test   %eax,%eax
40ef2d:	0f 88 21 53 03 00    	js     0x444254
40ef33:	8b 4d 08             	mov    0x8(%ebp),%ecx
40ef36:	8b 55 ac             	mov    -0x54(%ebp),%edx
40ef39:	8b 41 04             	mov    0x4(%ecx),%eax
40ef3c:	8b 04 90             	mov    (%eax,%edx,4),%eax
40ef3f:	66 83 78 08 4f       	cmpw   $0x4f,0x8(%eax)
40ef44:	0f 85 05 55 03 00    	jne    0x44444f
40ef4a:	42                   	inc    %edx
40ef4b:	89 55 b0             	mov    %edx,-0x50(%ebp)
40ef4e:	83 fe 01             	cmp    $0x1,%esi
40ef51:	0f 85 53 54 03 00    	jne    0x4443aa
40ef57:	8b 75 e0             	mov    -0x20(%ebp),%esi
40ef5a:	89 9c b5 7c fe ff ff 	mov    %ebx,-0x184(%ebp,%esi,4)
40ef61:	46                   	inc    %esi
40ef62:	8b 5d 08             	mov    0x8(%ebp),%ebx
40ef65:	89 75 e0             	mov    %esi,-0x20(%ebp)
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