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
4072d9:	75 1d                	jne    0x4072f8
4072db:	ff 15 40 f0 40 00    	call   *0x40f040
4072e1:	8b d0                	mov    %eax,%edx
4072e3:	b9 68 3c 40 00       	mov    $0x403c68,%ecx
4072e8:	e8 93 16 00 00       	call   0x408980
4072ed:	8b 74 24 14          	mov    0x14(%esp),%esi
4072f1:	8b d8                	mov    %eax,%ebx
4072f3:	e9 0a e7 ff ff       	jmp    0x405a02
4072f8:	8b 54 1f 04          	mov    0x4(%edi,%ebx,1),%edx
4072fc:	8d 44 24 24          	lea    0x24(%esp),%eax
407300:	50                   	push   %eax
407301:	56                   	push   %esi
407302:	8b 74 24 1c          	mov    0x1c(%esp),%esi
407306:	8b ce                	mov    %esi,%ecx
407308:	e8 5f 1c 00 00       	call   0x408f6c
40730d:	e9 fd f7 ff ff       	jmp    0x406b0f
407312:	8b 44 24 10          	mov    0x10(%esp),%eax
407316:	68 48 3f 40 00       	push   $0x403f48
40731b:	ff 34 07             	push   (%edi,%eax,1)
40731e:	ff 15 28 f1 40 00    	call   *0x40f128
407324:	83 c4 08             	add    $0x8,%esp
407327:	85 c0                	test   %eax,%eax
407329:	75 68                	jne    0x407393
40732b:	83 c6 02             	add    $0x2,%esi
40732e:	39 74 24 18          	cmp    %esi,0x18(%esp)
407332:	73 14                	jae    0x407348
407334:	33 d2                	xor    %edx,%edx
407336:	8d 48 0d             	lea    0xd(%eax),%ecx
407339:	e8 71 32 00 00       	call   0x40a5af
40733e:	bb 67 06 00 00       	mov    $0x667,%ebx
407343:	e9 48 10 00 00       	jmp    0x408390
407348:	89 5c 24 20          	mov    %ebx,0x20(%esp)
40734c:	8b 5c 24 10          	mov    0x10(%esp),%ebx
407350:	76 10                	jbe    0x407362
407352:	ff 34 b3             	push   (%ebx,%esi,4)
407355:	ff 15 0c f1 40 00    	call   *0x40f10c
40735b:	83 c4 04             	add    $0x4,%esp
40735e:	89 44 24 20          	mov    %eax,0x20(%esp)
407362:	6a 01                	push   $0x1
407364:	6a 00                	push   $0x0
407366:	ff 74 24 24          	push   0x24(%esp)
40736a:	ff 15 4c 00 41 00    	call   *0x41004c
407370:	8b f0                	mov    %eax,%esi
407372:	85 f6                	test   %esi,%esi
407374:	0f 84 78 f9 ff ff    	je     0x406cf2
40737a:	8b 54 1f 04          	mov    0x4(%edi,%ebx,1),%edx
40737e:	8d 44 24 24          	lea    0x24(%esp),%eax
407382:	50                   	push   %eax
407383:	ff 74 24 24          	push   0x24(%esp)
407387:	8b ce                	mov    %esi,%ecx
407389:	e8 a5 3d 00 00       	call   0x40b133
40738e:	e9 7c f7 ff ff       	jmp    0x406b0f
407393:	8b 44 24 10          	mov    0x10(%esp),%eax
407397:	68 50 3f 40 00       	push   $0x403f50
40739c:	ff 34 07             	push   (%edi,%eax,1)
40739f:	ff 15 28 f1 40 00    	call   *0x40f128
4073a5:	83 c4 08             	add    $0x8,%esp
4073a8:	85 c0                	test   %eax,%eax
4073aa:	0f 85 b3 00 00 00    	jne    0x407463
4073b0:	8b 5c 24 18          	mov    0x18(%esp),%ebx
4073b4:	83 c6 02             	add    $0x2,%esi
4073b7:	3b de                	cmp    %esi,%ebx
4073b9:	73 14                	jae    0x4073cf
4073bb:	33 d2                	xor    %edx,%edx
4073bd:	8d 48 0e             	lea    0xe(%eax),%ecx
4073c0:	e8 ea 31 00 00       	call   0x40a5af
4073c5:	bb 67 06 00 00       	mov    $0x667,%ebx
4073ca:	e9 c1 0f 00 00       	jmp    0x408390
4073cf:	6a 01                	push   $0x1
4073d1:	6a 00                	push   $0x0
4073d3:	ff 74 24 24          	push   0x24(%esp)
4073d7:	ff 15 4c 00 41 00    	call   *0x41004c
4073dd:	89 44 24 14          	mov    %eax,0x14(%esp)
4073e1:	85 c0                	test   %eax,%eax
4073e3:	75 1d                	jne    0x407402
4073e5:	ff 15 40 f0 40 00    	call   *0x40f040
4073eb:	8b d0                	mov    %eax,%edx
4073ed:	b9 68 3c 40 00       	mov    $0x403c68,%ecx
4073f2:	e8 89 15 00 00       	call   0x408980
4073f7:	8b 74 24 14          	mov    0x14(%esp),%esi
4073fb:	8b d8                	mov    %eax,%ebx
4073fd:	e9 00 e6 ff ff       	jmp    0x405a02
407402:	33 c0                	xor    %eax,%eax
407404:	89 44 24 20          	mov    %eax,0x20(%esp)
407408:	3b de                	cmp    %esi,%ebx
40740a:	76 14                	jbe    0x407420
40740c:	8b 44 24 10          	mov    0x10(%esp),%eax
407410:	ff 34 b0             	push   (%eax,%esi,4)
407413:	ff 15 0c f1 40 00    	call   *0x40f10c
407419:	83 c4 04             	add    $0x4,%esp
40741c:	89 44 24 20          	mov    %eax,0x20(%esp)
407420:	6a 01                	push   $0x1
407422:	eb 16                	jmp    0x40743a
407424:	8b 44 24 10          	mov    0x10(%esp),%eax
407428:	ff 34 b0             	push   (%eax,%esi,4)
40742b:	ff 15 0c f1 40 00    	call   *0x40f10c
407431:	83 c4 04             	add    $0x4,%esp
407434:	89 44 24 20          	mov    %eax,0x20(%esp)
407438:	6a 08                	push   $0x8
40743a:	8b 74 24 18          	mov    0x18(%esp),%esi
40743e:	8d 4c 24 28          	lea    0x28(%esp),%ecx
407442:	51                   	push   %ecx
407443:	50                   	push   %eax
407444:	eb 09                	jmp    0x40744f
407446:	6a 0c                	push   $0xc
407448:	8d 44 24 28          	lea    0x28(%esp),%eax
40744c:	50                   	push   %eax
40744d:	6a 04                	push   $0x4
40744f:	8b 44 24 1c          	mov    0x1c(%esp),%eax
407453:	8b ce                	mov    %esi,%ecx
407455:	8b 54 07 04          	mov    0x4(%edi,%eax,1),%edx
407459:	e8 87 31 00 00       	call   0x40a5e5
40745e:	e9 ac f6 ff ff       	jmp    0x406b0f
407463:	8b 44 24 10          	mov    0x10(%esp),%eax
407467:	68 6c 3f 40 00       	push   $0x403f6c
40746c:	ff 34 07             	push   (%edi,%eax,1)
40746f:	ff 15 28 f1 40 00    	call   *0x40f128
407475:	83 c4 08             	add    $0x8,%esp
407478:	85 c0                	test   %eax,%eax
40747a:	75 77                	jne    0x4074f3
40747c:	8b 5c 24 18          	mov    0x18(%esp),%ebx
407480:	83 c6 02             	add    $0x2,%esi
407483:	3b de                	cmp    %esi,%ebx
407485:	73 14                	jae    0x40749b
407487:	33 d2                	xor    %edx,%edx
407489:	8d 48 0f             	lea    0xf(%eax),%ecx
40748c:	e8 1e 31 00 00       	call   0x40a5af
407491:	bb 67 06 00 00       	mov    $0x667,%ebx
407496:	e9 f5 0e 00 00       	jmp    0x408390
40749b:	6a 01                	push   $0x1
40749d:	6a 00                	push   $0x0
40749f:	ff 74 24 24          	push   0x24(%esp)
4074a3:	ff 15 4c 00 41 00    	call   *0x41004c
4074a9:	89 44 24 14          	mov    %eax,0x14(%esp)
4074ad:	85 c0                	test   %eax,%eax
4074af:	75 1d                	jne    0x4074ce
4074b1:	ff 15 40 f0 40 00    	call   *0x40f040
4074b7:	8b d0                	mov    %eax,%edx
4074b9:	b9 68 3c 40 00       	mov    $0x403c68,%ecx
4074be:	e8 bd 14 00 00       	call   0x408980
4074c3:	8b 74 24 14          	mov    0x14(%esp),%esi
4074c7:	8b d8                	mov    %eax,%ebx
4074c9:	e9 34 e5 ff ff       	jmp    0x405a02
4074ce:	33 c0                	xor    %eax,%eax
4074d0:	89 44 24 20          	mov    %eax,0x20(%esp)
4074d4:	3b de                	cmp    %esi,%ebx
4074d6:	76 14                	jbe    0x4074ec
4074d8:	8b 44 24 10          	mov    0x10(%esp),%eax
4074dc:	ff 34 b0             	push   (%eax,%esi,4)
4074df:	ff 15 0c f1 40 00    	call   *0x40f10c
4074e5:	83 c4 04             	add    $0x4,%esp
4074e8:	89 44 24 20          	mov    %eax,0x20(%esp)
4074ec:	6a 02                	push   $0x2
4074ee:	e9 47 ff ff ff       	jmp    0x40743a
4074f3:	8b 44 24 10          	mov    0x10(%esp),%eax
4074f7:	68 80 3f 40 00       	push   $0x403f80
4074fc:	ff 34 07             	push   (%edi,%eax,1)
4074ff:	ff 15 28 f1 40 00    	call   *0x40f128
407505:	83 c4 08             	add    $0x8,%esp
407508:	85 c0                	test   %eax,%eax
40750a:	75 72                	jne    0x40757e
40750c:	83 c6 02             	add    $0x2,%esi
40750f:	39 74 24 18          	cmp    %esi,0x18(%esp)
407513:	73 0f                	jae    0x407524
407515:	33 d2                	xor    %edx,%edx
407517:	8d 48 7b             	lea    0x7b(%eax),%ecx
40751a:	e8 90 30 00 00       	call   0x40a5af
40751f:	e9 6c 0e 00 00       	jmp    0x408390
407524:	6a 01                	push   $0x1
407526:	6a 00                	push   $0x0
407528:	ff 74 24 24          	push   0x24(%esp)
40752c:	ff 15 4c 00 41 00    	call   *0x41004c
407532:	89 44 24 14          	mov    %eax,0x14(%esp)
407536:	85 c0                	test   %eax,%eax
407538:	75 1d                	jne    0x407557