406e0c:	8b 74 24 14          	mov    0x14(%esp),%esi
406e10:	8b d8                	mov    %eax,%ebx
406e12:	e9 eb eb ff ff       	jmp    0x405a02
406e17:	8b 4c 24 10          	mov    0x10(%esp),%ecx
406e1b:	8d 44 24 24          	lea    0x24(%esp),%eax
406e1f:	50                   	push   %eax
406e20:	2b de                	sub    %esi,%ebx
406e22:	8b 74 24 18          	mov    0x18(%esp),%esi
406e26:	83 eb 02             	sub    $0x2,%ebx
406e29:	8b 54 0f 04          	mov    0x4(%edi,%ecx,1),%edx
406e2d:	8d 41 08             	lea    0x8(%ecx),%eax
406e30:	53                   	push   %ebx
406e31:	03 c7                	add    %edi,%eax
406e33:	8b ce                	mov    %esi,%ecx
406e35:	50                   	push   %eax
406e36:	e8 43 4d 00 00       	call   0x40bb7e
406e3b:	e9 cf fc ff ff       	jmp    0x406b0f
406e40:	8b 44 24 10          	mov    0x10(%esp),%eax
406e44:	68 4c 3e 40 00       	push   $0x403e4c
406e49:	ff 34 07             	push   (%edi,%eax,1)
406e4c:	ff 15 28 f1 40 00    	call   *0x40f128
406e52:	83 c4 08             	add    $0x8,%esp
406e55:	85 c0                	test   %eax,%eax
406e57:	75 6c                	jne    0x406ec5
406e59:	8d 46 03             	lea    0x3(%esi),%eax
406e5c:	39 44 24 18          	cmp    %eax,0x18(%esp)
406e60:	73 0f                	jae    0x406e71
406e62:	33 d2                	xor    %edx,%edx
406e64:	8d 4a 0c             	lea    0xc(%edx),%ecx
406e67:	e8 43 37 00 00       	call   0x40a5af
406e6c:	e9 1f 15 00 00       	jmp    0x408390
406e71:	6a 01                	push   $0x1
406e73:	6a 00                	push   $0x0
406e75:	ff 74 24 24          	push   0x24(%esp)
406e79:	ff 15 4c 00 41 00    	call   *0x41004c
406e7f:	89 44 24 14          	mov    %eax,0x14(%esp)
406e83:	85 c0                	test   %eax,%eax
406e85:	75 1d                	jne    0x406ea4
406e87:	ff 15 40 f0 40 00    	call   *0x40f040
406e8d:	8b d0                	mov    %eax,%edx
406e8f:	b9 68 3c 40 00       	mov    $0x403c68,%ecx
406e94:	e8 e7 1a 00 00       	call   0x408980
406e99:	8b 74 24 14          	mov    0x14(%esp),%esi
406e9d:	8b d8                	mov    %eax,%ebx
406e9f:	e9 5e eb ff ff       	jmp    0x405a02
406ea4:	8d 44 24 24          	lea    0x24(%esp),%eax
406ea8:	50                   	push   %eax
406ea9:	8b 44 24 14          	mov    0x14(%esp),%eax
406ead:	ff 74 b0 08          	push   0x8(%eax,%esi,4)
406eb1:	8b 74 24 1c          	mov    0x1c(%esp),%esi
406eb5:	8b ce                	mov    %esi,%ecx
406eb7:	8b 54 07 04          	mov    0x4(%edi,%eax,1),%edx
406ebb:	e8 df 1b 00 00       	call   0x408a9f
406ec0:	e9 4a fc ff ff       	jmp    0x406b0f
406ec5:	8b 44 24 10          	mov    0x10(%esp),%eax
406ec9:	68 64 3e 40 00       	push   $0x403e64
406ece:	ff 34 07             	push   (%edi,%eax,1)
406ed1:	ff 15 28 f1 40 00    	call   *0x40f128
406ed7:	83 c4 08             	add    $0x8,%esp
406eda:	85 c0                	test   %eax,%eax
406edc:	75 73                	jne    0x406f51
406ede:	8b 5c 24 18          	mov    0x18(%esp),%ebx
406ee2:	8d 46 03             	lea    0x3(%esi),%eax
406ee5:	3b d8                	cmp    %eax,%ebx
406ee7:	73 0c                	jae    0x406ef5
406ee9:	e8 8f 1b 00 00       	call   0x408a7d
406eee:	8b d8                	mov    %eax,%ebx
406ef0:	e9 9b 14 00 00       	jmp    0x408390
406ef5:	6a 01                	push   $0x1
406ef7:	6a 00                	push   $0x0
406ef9:	ff 74 24 24          	push   0x24(%esp)
406efd:	ff 15 4c 00 41 00    	call   *0x41004c
406f03:	89 44 24 14          	mov    %eax,0x14(%esp)
406f07:	85 c0                	test   %eax,%eax
406f09:	75 1d                	jne    0x406f28
406f0b:	ff 15 40 f0 40 00    	call   *0x40f040
406f11:	8b d0                	mov    %eax,%edx
406f13:	b9 68 3c 40 00       	mov    $0x403c68,%ecx
406f18:	e8 63 1a 00 00       	call   0x408980
406f1d:	8b 74 24 14          	mov    0x14(%esp),%esi
406f21:	8b d8                	mov    %eax,%ebx
406f23:	e9 da ea ff ff       	jmp    0x405a02
406f28:	8b 4c 24 10          	mov    0x10(%esp),%ecx
406f2c:	8d 44 24 24          	lea    0x24(%esp),%eax
406f30:	50                   	push   %eax
406f31:	2b de                	sub    %esi,%ebx
406f33:	8b 74 24 18          	mov    0x18(%esp),%esi
406f37:	83 eb 02             	sub    $0x2,%ebx
406f3a:	8b 54 0f 04          	mov    0x4(%edi,%ecx,1),%edx
406f3e:	8d 41 08             	lea    0x8(%ecx),%eax
406f41:	53                   	push   %ebx
406f42:	03 c7                	add    %edi,%eax
406f44:	8b ce                	mov    %esi,%ecx
406f46:	50                   	push   %eax
406f47:	e8 d0 1b 00 00       	call   0x408b1c
406f4c:	e9 be fb ff ff       	jmp    0x406b0f
406f51:	8b 44 24 10          	mov    0x10(%esp),%eax
406f55:	68 74 3e 40 00       	push   $0x403e74
406f5a:	ff 34 07             	push   (%edi,%eax,1)
406f5d:	ff 15 28 f1 40 00    	call   *0x40f128
406f63:	83 c4 08             	add    $0x8,%esp
406f66:	85 c0                	test   %eax,%eax
406f68:	75 6c                	jne    0x406fd6
406f6a:	8d 46 03             	lea    0x3(%esi),%eax
406f6d:	39 44 24 18          	cmp    %eax,0x18(%esp)
406f71:	73 0f                	jae    0x406f82
406f73:	33 d2                	xor    %edx,%edx
406f75:	8d 4a 7c             	lea    0x7c(%edx),%ecx
406f78:	e8 32 36 00 00       	call   0x40a5af
406f7d:	e9 0e 14 00 00       	jmp    0x408390
406f82:	6a 01                	push   $0x1
406f84:	6a 00                	push   $0x0
406f86:	ff 74 24 24          	push   0x24(%esp)
406f8a:	ff 15 4c 00 41 00    	call   *0x41004c
406f90:	89 44 24 14          	mov    %eax,0x14(%esp)
406f94:	85 c0                	test   %eax,%eax
406f96:	75 1d                	jne    0x406fb5
406f98:	ff 15 40 f0 40 00    	call   *0x40f040
406f9e:	8b d0                	mov    %eax,%edx
406fa0:	b9 68 3c 40 00       	mov    $0x403c68,%ecx
406fa5:	e8 d6 19 00 00       	call   0x408980
406faa:	8b 74 24 14          	mov    0x14(%esp),%esi
406fae:	8b d8                	mov    %eax,%ebx
406fb0:	e9 4d ea ff ff       	jmp    0x405a02
406fb5:	8d 44 24 24          	lea    0x24(%esp),%eax
406fb9:	50                   	push   %eax
406fba:	8b 44 24 14          	mov    0x14(%esp),%eax
406fbe:	ff 74 b0 08          	push   0x8(%eax,%esi,4)
406fc2:	8b 74 24 1c          	mov    0x1c(%esp),%esi
406fc6:	8b ce                	mov    %esi,%ecx
406fc8:	8b 54 07 04          	mov    0x4(%edi,%eax,1),%edx
406fcc:	e8 2f 20 00 00       	call   0x409000
406fd1:	e9 39 fb ff ff       	jmp    0x406b0f
406fd6:	8b 44 24 10          	mov    0x10(%esp),%eax
406fda:	68 80 3e 40 00       	push   $0x403e80
406fdf:	ff 34 07             	push   (%edi,%eax,1)
406fe2:	ff 15 28 f1 40 00    	call   *0x40f128
406fe8:	83 c4 08             	add    $0x8,%esp
406feb:	85 c0                	test   %eax,%eax
406fed:	75 76                	jne    0x407065
406fef:	8d 46 03             	lea    0x3(%esi),%eax
406ff2:	39 44 24 18          	cmp    %eax,0x18(%esp)
406ff6:	73 0f                	jae    0x407007
406ff8:	33 d2                	xor    %edx,%edx
406ffa:	8d 4a 71             	lea    0x71(%edx),%ecx
406ffd:	e8 ad 35 00 00       	call   0x40a5af
407002:	e9 89 13 00 00       	jmp    0x408390
407007:	6a 01                	push   $0x1
407009:	6a 00                	push   $0x0
40700b:	ff 74 24 24          	push   0x24(%esp)
40700f:	ff 15 4c 00 41 00    	call   *0x41004c
407015:	89 44 24 14          	mov    %eax,0x14(%esp)
407019:	85 c0                	test   %eax,%eax
40701b:	75 1d                	jne    0x40703a
40701d:	ff 15 40 f0 40 00    	call   *0x40f040
407023:	8b d0                	mov    %eax,%edx
407025:	b9 68 3c 40 00       	mov    $0x403c68,%ecx
40702a:	e8 51 19 00 00       	call   0x408980
40702f:	8b 74 24 14          	mov    0x14(%esp),%esi
407033:	8b d8                	mov    %eax,%ebx
407035:	e9 c8 e9 ff ff       	jmp    0x405a02
40703a:	8b 5c 24 10          	mov    0x10(%esp),%ebx
40703e:	ff 74 b3 08          	push   0x8(%ebx,%esi,4)
407042:	ff 15 0c f1 40 00    	call   *0x40f10c
407048:	8b 74 24 18          	mov    0x18(%esp),%esi
40704c:	8d 4c 24 28          	lea    0x28(%esp),%ecx
407050:	8b 54 1f 04          	mov    0x4(%edi,%ebx,1),%edx
407054:	83 c4 04             	add    $0x4,%esp
407057:	51                   	push   %ecx
407058:	50                   	push   %eax
407059:	8b ce                	mov    %esi,%ecx
40705b:	e8 0e 1e 00 00       	call   0x408e6e
407060:	e9 aa fa ff ff       	jmp    0x406b0f
407065:	8b 44 24 10          	mov    0x10(%esp),%eax
407069:	68 98 3e 40 00       	push   $0x403e98
40706e:	ff 34 07             	push   (%edi,%eax,1)
407071:	ff 15 28 f1 40 00    	call   *0x40f128
407077:	83 c4 08             	add    $0x8,%esp
40707a:	85 c0                	test   %eax,%eax
40707c:	75 7d                	jne    0x4070fb
40707e:	8b 5c 24 18          	mov    0x18(%esp),%ebx
407082:	8d 46 02             	lea    0x2(%esi),%eax
407085:	3b d8                	cmp    %eax,%ebx
407087:	73 16                	jae    0x40709f
407089:	33 d2                	xor    %edx,%edx
40708b:	b9 88 00 00 00       	mov    $0x88,%ecx
407090:	e8 1a 35 00 00       	call   0x40a5af
407095:	bb 67 06 00 00       	mov    $0x667,%ebx
40709a:	e9 f1 12 00 00       	jmp    0x408390
40709f:	6a 01                	push   $0x1
4070a1:	6a 00                	push   $0x0
4070a3:	ff 74 24 24          	push   0x24(%esp)
4070a7:	ff 15 4c 00 41 00    	call   *0x41004c
4070ad:	89 44 24 14          	mov    %eax,0x14(%esp)
4070b1:	85 c0                	test   %eax,%eax
4070b3:	75 1d                	jne    0x4070d2
4070b5:	ff 15 40 f0 40 00    	call   *0x40f040
4070bb:	8b d0                	mov    %eax,%edx
4070bd:	b9 68 3c 40 00       	mov    $0x403c68,%ecx
4070c2:	e8 b9 18 00 00       	call   0x408980
4070c7:	8b 74 24 14          	mov    0x14(%esp),%esi
4070cb:	8b d8                	mov    %eax,%ebx
4070cd:	e9 30 e9 ff ff       	jmp    0x405a02
4070d2:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4070d6:	8d 44 24 24          	lea    0x24(%esp),%eax
4070da:	50                   	push   %eax
4070db:	2b de                	sub    %esi,%ebx
4070dd:	8b 74 24 18          	mov    0x18(%esp),%esi
4070e1:	83 eb 02             	sub    $0x2,%ebx
4070e4:	8b 54 0f 04          	mov    0x4(%edi,%ecx,1),%edx
4070e8:	8d 41 08             	lea    0x8(%ecx),%eax
4070eb:	53                   	push   %ebx
4070ec:	03 c7                	add    %edi,%eax
4070ee:	8b ce                	mov    %esi,%ecx
4070f0:	50                   	push   %eax
4070f1:	e8 88 20 00 00       	call   0x40917e
4070f6:	e9 14 fa ff ff       	jmp    0x406b0f
4070fb:	8b 44 24 10          	mov    0x10(%esp),%eax
4070ff:	68 b0 3e 40 00       	push   $0x403eb0
407104:	ff 34 07             	push   (%edi,%eax,1)
407107:	ff 15 28 f1 40 00    	call   *0x40f128
40710d:	83 c4 08             	add    $0x8,%esp
407110:	85 c0                	test   %eax,%eax
407112:	0f 85 bb 00 00 00    	jne    0x4071d3
407118:	8d 46 03             	lea    0x3(%esi),%eax
40711b:	39 44 24 18          	cmp    %eax,0x18(%esp)
40711f:	72 21                	jb     0x407142
407121:	8b 44 24 10          	mov    0x10(%esp),%eax
407125:	8d 34 b0             	lea    (%eax,%esi,4),%esi
407128:	68 c0 3e 40 00       	push   $0x403ec0
40712d:	ff 76 08             	push   0x8(%esi)
407130:	ff 15 28 f1 40 00    	call   *0x40f128
407136:	83 c4 08             	add    $0x8,%esp
407139:	85 c0                	test   %eax,%eax
40713b:	75 14                	jne    0x407151
40713d:	8d 70 01             	lea    0x1(%eax),%esi
407140:	eb 40                	jmp    0x407182
407142:	33 d2                	xor    %edx,%edx
407144:	8d 4a 75             	lea    0x75(%edx),%ecx
407147:	e8 63 34 00 00       	call   0x40a5af
40714c:	e9 3f 12 00 00       	jmp    0x408390
407151:	68 dc 3e 40 00       	push   $0x403edc
407156:	ff 76 08             	push   0x8(%esi)
407159:	ff 15 28 f1 40 00    	call   *0x40f128
40715f:	83 c4 08             	add    $0x8,%esp
407162:	85 c0                	test   %eax,%eax
407164:	75 05                	jne    0x40716b
407166:	8d 70 03             	lea    0x3(%eax),%esi
407169:	eb 17                	jmp    0x407182
40716b:	68 a0 3b 40 00       	push   $0x403ba0
407170:	ff 76 08             	push   0x8(%esi)
407173:	ff 15 28 f1 40 00    	call   *0x40f128
407179:	83 c4 08             	add    $0x8,%esp
40717c:	85 c0                	test   %eax,%eax
40717e:	75 c2                	jne    0x407142
407180:	33 f6                	xor    %esi,%esi
407182:	6a 01                	push   $0x1
407184:	6a 00                	push   $0x0
407186:	ff 74 24 24          	push   0x24(%esp)
40718a:	ff 15 4c 00 41 00    	call   *0x41004c
407190:	89 44 24 14          	mov    %eax,0x14(%esp)
407194:	85 c0                	test   %eax,%eax
407196:	75 1d                	jne    0x4071b5
407198:	ff 15 40 f0 40 00    	call   *0x40f040
40719e:	8b d0                	mov    %eax,%edx
4071a0:	b9 68 3c 40 00       	mov    $0x403c68,%ecx
4071a5:	e8 d6 17 00 00       	call   0x408980
4071aa:	8b 74 24 14          	mov    0x14(%esp),%esi
4071ae:	8b d8                	mov    %eax,%ebx
4071b0:	e9 4d e8 ff ff       	jmp    0x405a02
4071b5:	8d 44 24 24          	lea    0x24(%esp),%eax
4071b9:	50                   	push   %eax
4071ba:	8b 44 24 14          	mov    0x14(%esp),%eax
4071be:	56                   	push   %esi
4071bf:	8b 74 24 1c          	mov    0x1c(%esp),%esi
4071c3:	8b ce                	mov    %esi,%ecx
4071c5:	8b 54 07 04          	mov    0x4(%edi,%eax,1),%edx
4071c9:	e8 31 1f 00 00       	call   0x4090ff
4071ce:	e9 3c f9 ff ff       	jmp    0x406b0f
4071d3:	8b 44 24 10          	mov    0x10(%esp),%eax
4071d7:	68 f4 3e 40 00       	push   $0x403ef4
4071dc:	ff 34 07             	push   (%edi,%eax,1)
4071df:	ff 15 28 f1 40 00    	call   *0x40f128
4071e5:	83 c4 08             	add    $0x8,%esp
4071e8:	85 c0                	test   %eax,%eax
4071ea:	0f 85 8e 00 00 00    	jne    0x40727e
4071f0:	8d 46 03             	lea    0x3(%esi),%eax
4071f3:	39 44 24 18          	cmp    %eax,0x18(%esp)
4071f7:	72 21                	jb     0x40721a
4071f9:	8b 44 24 10          	mov    0x10(%esp),%eax
4071fd:	68 14 3f 40 00       	push   $0x403f14
407202:	ff 74 b0 08          	push   0x8(%eax,%esi,4)
407206:	ff 15 28 f1 40 00    	call   *0x40f128
40720c:	83 c4 08             	add    $0x8,%esp
40720f:	85 c0                	test   %eax,%eax
407211:	75 18                	jne    0x40722b
407213:	c6 44 24 34 01       	movb   $0x1,0x34(%esp)
407218:	eb 2f                	jmp    0x407249
40721a:	33 d2                	xor    %edx,%edx
40721c:	b9 a8 00 00 00       	mov    $0xa8,%ecx
407221:	e8 89 33 00 00       	call   0x40a5af
407226:	e9 65 11 00 00       	jmp    0x408390
40722b:	8b 44 24 10          	mov    0x10(%esp),%eax
40722f:	68 20 3f 40 00       	push   $0x403f20
407234:	ff 74 b0 08          	push   0x8(%eax,%esi,4)
407238:	ff 15 28 f1 40 00    	call   *0x40f128
40723e:	83 c4 08             	add    $0x8,%esp
407241:	85 c0                	test   %eax,%eax
407243:	75 d5                	jne    0x40721a
407245:	88 5c 24 34          	mov    %bl,0x34(%esp)
407249:	6a 01                	push   $0x1
40724b:	6a 00                	push   $0x0
40724d:	ff 74 24 24          	push   0x24(%esp)
407251:	ff 15 4c 00 41 00    	call   *0x41004c
407257:	8b f0                	mov    %eax,%esi
407259:	85 f6                	test   %esi,%esi
40725b:	0f 84 91 fa ff ff    	je     0x406cf2
407261:	8d 44 24 24          	lea    0x24(%esp),%eax
407265:	8b ce                	mov    %esi,%ecx
407267:	50                   	push   %eax
407268:	8b 44 24 14          	mov    0x14(%esp),%eax
40726c:	ff 74 24 38          	push   0x38(%esp)
407270:	8b 54 07 04          	mov    0x4(%edi,%eax,1),%edx
407274:	e8 74 1c 00 00       	call   0x408eed
407279:	e9 91 f8 ff ff       	jmp    0x406b0f
40727e:	8b 44 24 10          	mov    0x10(%esp),%eax
407282:	68 2c 3f 40 00       	push   $0x403f2c
407287:	ff 34 07             	push   (%edi,%eax,1)
40728a:	ff 15 28 f1 40 00    	call   *0x40f128
407290:	83 c4 08             	add    $0x8,%esp
407293:	85 c0                	test   %eax,%eax
407295:	75 7b                	jne    0x407312
407297:	8d 46 03             	lea    0x3(%esi),%eax
40729a:	39 44 24 18          	cmp    %eax,0x18(%esp)
40729e:	73 11                	jae    0x4072b1
4072a0:	33 d2                	xor    %edx,%edx
4072a2:	b9 96 00 00 00       	mov    $0x96,%ecx
4072a7:	e8 03 33 00 00       	call   0x40a5af
4072ac:	e9 df 10 00 00       	jmp    0x408390
4072b1:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4072b5:	ff 74 b3 08          	push   0x8(%ebx,%esi,4)
4072b9:	ff 15 0c f1 40 00    	call   *0x40f10c
4072bf:	83 c4 04             	add    $0x4,%esp
4072c2:	0f b7 f0             	movzwl %ax,%esi
4072c5:	6a 01                	push   $0x1
4072c7:	6a 00                	push   $0x0
4072c9:	ff 74 24 24          	push   0x24(%esp)
4072cd:	ff 15 4c 00 41 00    	call   *0x41004c
4072d3:	89 44 24 14          	mov    %eax,0x14(%esp)
4072d7:	85 c0                	test   %eax,%eax