409077:	59                   	pop    %ecx
409078:	5f                   	pop    %edi
409079:	5b                   	pop    %ebx
40907a:	5e                   	pop    %esi
40907b:	5d                   	pop    %ebp
40907c:	c3                   	ret
40907d:	6a 10                	push   $0x10
40907f:	68 d8 4b 41 00       	push   $0x414bd8
409084:	e8 87 a3 ff ff       	call   0x403410
409089:	81 7d 08 00 20 00 00 	cmpl   $0x2000,0x8(%ebp)
409090:	72 21                	jb     0x4090b3
409092:	e8 b9 e8 ff ff       	call   0x407950
409097:	6a 09                	push   $0x9
409099:	5e                   	pop    %esi
40909a:	89 30                	mov    %esi,(%eax)
40909c:	e8 7b cc ff ff       	call   0x405d1c
4090a1:	8b c6                	mov    %esi,%eax
4090a3:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4090a6:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4090ad:	59                   	pop    %ecx
4090ae:	5f                   	pop    %edi
4090af:	5e                   	pop    %esi
4090b0:	5b                   	pop    %ebx
4090b1:	c9                   	leave
4090b2:	c3                   	ret
4090b3:	33 f6                	xor    %esi,%esi
4090b5:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4090b8:	6a 07                	push   $0x7
4090ba:	e8 0d e7 ff ff       	call   0x4077cc
4090bf:	59                   	pop    %ecx
4090c0:	89 75 fc             	mov    %esi,-0x4(%ebp)
4090c3:	8b fe                	mov    %esi,%edi
4090c5:	a1 78 72 41 00       	mov    0x417278,%eax
4090ca:	89 7d e0             	mov    %edi,-0x20(%ebp)
4090cd:	39 45 08             	cmp    %eax,0x8(%ebp)
4090d0:	7c 1f                	jl     0x4090f1
4090d2:	39 34 bd 78 70 41 00 	cmp    %esi,0x417078(,%edi,4)
4090d9:	75 31                	jne    0x40910c
4090db:	e8 ed fe ff ff       	call   0x408fcd
4090e0:	89 04 bd 78 70 41 00 	mov    %eax,0x417078(,%edi,4)
4090e7:	85 c0                	test   %eax,%eax
4090e9:	75 14                	jne    0x4090ff
4090eb:	6a 0c                	push   $0xc
4090ed:	5e                   	pop    %esi
4090ee:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4090f1:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4090f8:	e8 15 00 00 00       	call   0x409112
4090fd:	eb a2                	jmp    0x4090a1
4090ff:	a1 78 72 41 00       	mov    0x417278,%eax
409104:	83 c0 40             	add    $0x40,%eax
409107:	a3 78 72 41 00       	mov    %eax,0x417278
40910c:	47                   	inc    %edi
40910d:	eb bb                	jmp    0x4090ca
40910f:	8b 75 e4             	mov    -0x1c(%ebp),%esi
409112:	6a 07                	push   $0x7
409114:	e8 fb e6 ff ff       	call   0x407814
409119:	59                   	pop    %ecx
40911a:	c3                   	ret
40911b:	8b ff                	mov    %edi,%edi
40911d:	55                   	push   %ebp
40911e:	8b ec                	mov    %esp,%ebp
409120:	8b 45 08             	mov    0x8(%ebp),%eax
409123:	8b c8                	mov    %eax,%ecx
409125:	83 e0 3f             	and    $0x3f,%eax
409128:	c1 f9 06             	sar    $0x6,%ecx
40912b:	6b c0 38             	imul   $0x38,%eax,%eax
40912e:	03 04 8d 78 70 41 00 	add    0x417078(,%ecx,4),%eax
409135:	50                   	push   %eax
409136:	ff 15 64 f0 40 00    	call   *0x40f064
40913c:	5d                   	pop    %ebp
40913d:	c3                   	ret
40913e:	8b ff                	mov    %edi,%edi
409140:	55                   	push   %ebp
409141:	8b ec                	mov    %esp,%ebp
409143:	8b 45 08             	mov    0x8(%ebp),%eax
409146:	8b c8                	mov    %eax,%ecx
409148:	83 e0 3f             	and    $0x3f,%eax
40914b:	c1 f9 06             	sar    $0x6,%ecx
40914e:	6b c0 38             	imul   $0x38,%eax,%eax
409151:	03 04 8d 78 70 41 00 	add    0x417078(,%ecx,4),%eax
409158:	50                   	push   %eax
409159:	ff 15 68 f0 40 00    	call   *0x40f068
40915f:	5d                   	pop    %ebp
409160:	c3                   	ret
409161:	8b ff                	mov    %edi,%edi
409163:	55                   	push   %ebp
409164:	8b ec                	mov    %esp,%ebp
409166:	53                   	push   %ebx
409167:	56                   	push   %esi
409168:	8b 75 08             	mov    0x8(%ebp),%esi
40916b:	57                   	push   %edi
40916c:	85 f6                	test   %esi,%esi
40916e:	78 67                	js     0x4091d7
409170:	3b 35 78 72 41 00    	cmp    0x417278,%esi
409176:	73 5f                	jae    0x4091d7
409178:	8b c6                	mov    %esi,%eax
40917a:	8b de                	mov    %esi,%ebx
40917c:	83 e0 3f             	and    $0x3f,%eax
40917f:	c1 eb 06             	shr    $0x6,%ebx
409182:	6b f8 38             	imul   $0x38,%eax,%edi
409185:	8b 04 9d 78 70 41 00 	mov    0x417078(,%ebx,4),%eax
40918c:	f6 44 07 28 01       	testb  $0x1,0x28(%edi,%eax,1)
409191:	74 44                	je     0x4091d7
409193:	83 7c 07 18 ff       	cmpl   $0xffffffff,0x18(%edi,%eax,1)
409198:	74 3d                	je     0x4091d7
40919a:	e8 f7 cd ff ff       	call   0x405f96
40919f:	83 f8 01             	cmp    $0x1,%eax
4091a2:	75 23                	jne    0x4091c7
4091a4:	33 c0                	xor    %eax,%eax
4091a6:	2b f0                	sub    %eax,%esi
4091a8:	74 14                	je     0x4091be
4091aa:	83 ee 01             	sub    $0x1,%esi
4091ad:	74 0a                	je     0x4091b9
4091af:	83 ee 01             	sub    $0x1,%esi
4091b2:	75 13                	jne    0x4091c7
4091b4:	50                   	push   %eax
4091b5:	6a f4                	push   $0xfffffff4
4091b7:	eb 08                	jmp    0x4091c1
4091b9:	50                   	push   %eax
4091ba:	6a f5                	push   $0xfffffff5
4091bc:	eb 03                	jmp    0x4091c1
4091be:	50                   	push   %eax
4091bf:	6a f6                	push   $0xfffffff6
4091c1:	ff 15 d8 f0 40 00    	call   *0x40f0d8
4091c7:	8b 04 9d 78 70 41 00 	mov    0x417078(,%ebx,4),%eax
4091ce:	83 4c 38 18 ff       	orl    $0xffffffff,0x18(%eax,%edi,1)
4091d3:	33 c0                	xor    %eax,%eax
4091d5:	eb 16                	jmp    0x4091ed
4091d7:	e8 74 e7 ff ff       	call   0x407950
4091dc:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4091e2:	e8 56 e7 ff ff       	call   0x40793d
4091e7:	83 20 00             	andl   $0x0,(%eax)
4091ea:	83 c8 ff             	or     $0xffffffff,%eax
4091ed:	5f                   	pop    %edi
4091ee:	5e                   	pop    %esi
4091ef:	5b                   	pop    %ebx
4091f0:	5d                   	pop    %ebp
4091f1:	c3                   	ret
4091f2:	8b ff                	mov    %edi,%edi
4091f4:	55                   	push   %ebp
4091f5:	8b ec                	mov    %esp,%ebp
4091f7:	8b 4d 08             	mov    0x8(%ebp),%ecx
4091fa:	83 f9 fe             	cmp    $0xfffffffe,%ecx
4091fd:	75 15                	jne    0x409214
4091ff:	e8 39 e7 ff ff       	call   0x40793d
409204:	83 20 00             	andl   $0x0,(%eax)
409207:	e8 44 e7 ff ff       	call   0x407950
40920c:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
409212:	eb 43                	jmp    0x409257
409214:	85 c9                	test   %ecx,%ecx
409216:	78 27                	js     0x40923f
409218:	3b 0d 78 72 41 00    	cmp    0x417278,%ecx
40921e:	73 1f                	jae    0x40923f
409220:	8b c1                	mov    %ecx,%eax
409222:	83 e1 3f             	and    $0x3f,%ecx
409225:	c1 e8 06             	shr    $0x6,%eax
409228:	6b c9 38             	imul   $0x38,%ecx,%ecx
40922b:	8b 04 85 78 70 41 00 	mov    0x417078(,%eax,4),%eax
409232:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
409237:	74 06                	je     0x40923f
409239:	8b 44 08 18          	mov    0x18(%eax,%ecx,1),%eax
40923d:	5d                   	pop    %ebp
40923e:	c3                   	ret
40923f:	e8 f9 e6 ff ff       	call   0x40793d
409244:	83 20 00             	andl   $0x0,(%eax)
409247:	e8 04 e7 ff ff       	call   0x407950
40924c:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
409252:	e8 c5 ca ff ff       	call   0x405d1c
409257:	83 c8 ff             	or     $0xffffffff,%eax
40925a:	5d                   	pop    %ebp
40925b:	c3                   	ret
40925c:	83 3d 70 70 41 00 00 	cmpl   $0x0,0x417070
409263:	75 0a                	jne    0x40926f
409265:	c7 05 70 70 41 00 00 	movl   $0x4000,0x417070
40926c:	40 00 00
40926f:	33 c0                	xor    %eax,%eax
409271:	c3                   	ret
409272:	8b ff                	mov    %edi,%edi
409274:	55                   	push   %ebp
409275:	8b ec                	mov    %esp,%ebp
409277:	83 ec 48             	sub    $0x48,%esp
40927a:	8d 45 b8             	lea    -0x48(%ebp),%eax
40927d:	50                   	push   %eax
40927e:	ff 15 3c f0 40 00    	call   *0x40f03c
409284:	66 83 7d ea 00       	cmpw   $0x0,-0x16(%ebp)
409289:	0f 84 97 00 00 00    	je     0x409326
40928f:	53                   	push   %ebx
409290:	8b 5d ec             	mov    -0x14(%ebp),%ebx
409293:	85 db                	test   %ebx,%ebx
409295:	0f 84 8a 00 00 00    	je     0x409325
40929b:	56                   	push   %esi
40929c:	8b 33                	mov    (%ebx),%esi
40929e:	8d 43 04             	lea    0x4(%ebx),%eax
4092a1:	03 c6                	add    %esi,%eax
4092a3:	89 45 fc             	mov    %eax,-0x4(%ebp)
4092a6:	b8 00 20 00 00       	mov    $0x2000,%eax
4092ab:	3b f0                	cmp    %eax,%esi
4092ad:	7c 02                	jl     0x4092b1
4092af:	8b f0                	mov    %eax,%esi
4092b1:	56                   	push   %esi
4092b2:	e8 c6 fd ff ff       	call   0x40907d
4092b7:	a1 78 72 41 00       	mov    0x417278,%eax
4092bc:	59                   	pop    %ecx
4092bd:	3b f0                	cmp    %eax,%esi
4092bf:	7e 02                	jle    0x4092c3
4092c1:	8b f0                	mov    %eax,%esi
4092c3:	57                   	push   %edi
4092c4:	33 ff                	xor    %edi,%edi
4092c6:	85 f6                	test   %esi,%esi
4092c8:	74 59                	je     0x409323
4092ca:	8b 45 fc             	mov    -0x4(%ebp),%eax
4092cd:	8b 08                	mov    (%eax),%ecx
4092cf:	83 f9 ff             	cmp    $0xffffffff,%ecx
4092d2:	74 44                	je     0x409318
4092d4:	83 f9 fe             	cmp    $0xfffffffe,%ecx
4092d7:	74 3f                	je     0x409318
4092d9:	8a 54 1f 04          	mov    0x4(%edi,%ebx,1),%dl
4092dd:	f6 c2 01             	test   $0x1,%dl
4092e0:	74 36                	je     0x409318
4092e2:	f6 c2 08             	test   $0x8,%dl
4092e5:	75 0b                	jne    0x4092f2
4092e7:	51                   	push   %ecx
4092e8:	ff 15 dc f0 40 00    	call   *0x40f0dc
4092ee:	85 c0                	test   %eax,%eax
4092f0:	74 23                	je     0x409315
4092f2:	8b c7                	mov    %edi,%eax
4092f4:	8b cf                	mov    %edi,%ecx
4092f6:	83 e0 3f             	and    $0x3f,%eax
4092f9:	c1 f9 06             	sar    $0x6,%ecx
4092fc:	6b d0 38             	imul   $0x38,%eax,%edx
4092ff:	8b 45 fc             	mov    -0x4(%ebp),%eax
409302:	03 14 8d 78 70 41 00 	add    0x417078(,%ecx,4),%edx
409309:	8b 00                	mov    (%eax),%eax
40930b:	89 42 18             	mov    %eax,0x18(%edx)
40930e:	8a 44 1f 04          	mov    0x4(%edi,%ebx,1),%al
409312:	88 42 28             	mov    %al,0x28(%edx)
409315:	8b 45 fc             	mov    -0x4(%ebp),%eax
409318:	47                   	inc    %edi
409319:	83 c0 04             	add    $0x4,%eax
40931c:	89 45 fc             	mov    %eax,-0x4(%ebp)
40931f:	3b fe                	cmp    %esi,%edi
409321:	75 aa                	jne    0x4092cd
409323:	5f                   	pop    %edi
409324:	5e                   	pop    %esi
409325:	5b                   	pop    %ebx
409326:	c9                   	leave
409327:	c3                   	ret
409328:	8b ff                	mov    %edi,%edi
40932a:	53                   	push   %ebx
40932b:	56                   	push   %esi
40932c:	57                   	push   %edi
40932d:	33 ff                	xor    %edi,%edi
40932f:	8b c7                	mov    %edi,%eax
409331:	8b cf                	mov    %edi,%ecx
409333:	83 e0 3f             	and    $0x3f,%eax
409336:	c1 f9 06             	sar    $0x6,%ecx
409339:	6b f0 38             	imul   $0x38,%eax,%esi
40933c:	03 34 8d 78 70 41 00 	add    0x417078(,%ecx,4),%esi
409343:	83 7e 18 ff          	cmpl   $0xffffffff,0x18(%esi)
409347:	74 0c                	je     0x409355
409349:	83 7e 18 fe          	cmpl   $0xfffffffe,0x18(%esi)
40934d:	74 06                	je     0x409355
40934f:	80 4e 28 80          	orb    $0x80,0x28(%esi)
409353:	eb 75                	jmp    0x4093ca
409355:	8b c7                	mov    %edi,%eax
409357:	c6 46 28 81          	movb   $0x81,0x28(%esi)
40935b:	83 e8 00             	sub    $0x0,%eax
40935e:	74 10                	je     0x409370
409360:	83 e8 01             	sub    $0x1,%eax
409363:	74 07                	je     0x40936c
409365:	83 e8 01             	sub    $0x1,%eax
409368:	6a f4                	push   $0xfffffff4
40936a:	eb 06                	jmp    0x409372
40936c:	6a f5                	push   $0xfffffff5
40936e:	eb 02                	jmp    0x409372
409370:	6a f6                	push   $0xfffffff6
409372:	58                   	pop    %eax
409373:	50                   	push   %eax
409374:	ff 15 90 f0 40 00    	call   *0x40f090
40937a:	8b d8                	mov    %eax,%ebx
40937c:	83 fb ff             	cmp    $0xffffffff,%ebx
40937f:	74 2b                	je     0x4093ac
409381:	85 db                	test   %ebx,%ebx
409383:	74 27                	je     0x4093ac
409385:	53                   	push   %ebx
409386:	ff 15 dc f0 40 00    	call   *0x40f0dc
40938c:	85 c0                	test   %eax,%eax
40938e:	74 1c                	je     0x4093ac
409390:	0f b6 c0             	movzbl %al,%eax
409393:	89 5e 18             	mov    %ebx,0x18(%esi)
409396:	83 f8 02             	cmp    $0x2,%eax
409399:	75 06                	jne    0x4093a1
40939b:	80 4e 28 40          	orb    $0x40,0x28(%esi)
40939f:	eb 29                	jmp    0x4093ca
4093a1:	83 f8 03             	cmp    $0x3,%eax
4093a4:	75 24                	jne    0x4093ca
4093a6:	80 4e 28 08          	orb    $0x8,0x28(%esi)
4093aa:	eb 1e                	jmp    0x4093ca
4093ac:	80 4e 28 40          	orb    $0x40,0x28(%esi)
4093b0:	c7 46 18 fe ff ff ff 	movl   $0xfffffffe,0x18(%esi)
4093b7:	a1 84 73 41 00       	mov    0x417384,%eax
4093bc:	85 c0                	test   %eax,%eax
4093be:	74 0a                	je     0x4093ca
4093c0:	8b 04 b8             	mov    (%eax,%edi,4),%eax
4093c3:	c7 40 10 fe ff ff ff 	movl   $0xfffffffe,0x10(%eax)
4093ca:	47                   	inc    %edi
4093cb:	83 ff 03             	cmp    $0x3,%edi
4093ce:	0f 85 5b ff ff ff    	jne    0x40932f
4093d4:	5f                   	pop    %edi
4093d5:	5e                   	pop    %esi
4093d6:	5b                   	pop    %ebx
4093d7:	c3                   	ret
4093d8:	6a 0c                	push   $0xc
4093da:	68 f8 4b 41 00       	push   $0x414bf8
4093df:	e8 2c a0 ff ff       	call   0x403410
4093e4:	6a 07                	push   $0x7
4093e6:	e8 e1 e3 ff ff       	call   0x4077cc
4093eb:	59                   	pop    %ecx
4093ec:	33 db                	xor    %ebx,%ebx
4093ee:	88 5d e7             	mov    %bl,-0x19(%ebp)
4093f1:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4093f4:	53                   	push   %ebx
4093f5:	e8 83 fc ff ff       	call   0x40907d
4093fa:	59                   	pop    %ecx
4093fb:	85 c0                	test   %eax,%eax
4093fd:	75 0f                	jne    0x40940e
4093ff:	e8 6e fe ff ff       	call   0x409272
409404:	e8 1f ff ff ff       	call   0x409328
409409:	b3 01                	mov    $0x1,%bl
40940b:	88 5d e7             	mov    %bl,-0x19(%ebp)
40940e:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
409415:	e8 15 00 00 00       	call   0x40942f
40941a:	8a c3                	mov    %bl,%al
40941c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40941f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409426:	59                   	pop    %ecx
409427:	5f                   	pop    %edi
409428:	5e                   	pop    %esi
409429:	5b                   	pop    %ebx
40942a:	c9                   	leave
40942b:	c3                   	ret
40942c:	8a 5d e7             	mov    -0x19(%ebp),%bl
40942f:	6a 07                	push   $0x7
409431:	e8 de e3 ff ff       	call   0x407814
409436:	59                   	pop    %ecx
409437:	c3                   	ret
409438:	8b ff                	mov    %edi,%edi
40943a:	56                   	push   %esi
40943b:	33 f6                	xor    %esi,%esi
40943d:	8b 86 78 70 41 00    	mov    0x417078(%esi),%eax