40c1b8:	a1 a4 72 40 00       	mov    0x4072a4,%eax
40c1bd:	e8 ee f9 ff ff       	call   0x40bbb0
40c1c2:	a3 94 57 47 00       	mov    %eax,0x475794
40c1c7:	8b 0d 38 47 47 00    	mov    0x474738,%ecx
40c1cd:	b2 01                	mov    $0x1,%dl
40c1cf:	a1 2c 77 40 00       	mov    0x40772c,%eax
40c1d4:	e8 d7 f9 ff ff       	call   0x40bbb0
40c1d9:	a3 98 57 47 00       	mov    %eax,0x475798
40c1de:	a1 04 45 47 00       	mov    0x474504,%eax
40c1e3:	c7 00 2c bd 40 00    	movl   $0x40bd2c,(%eax)
40c1e9:	a1 08 46 47 00       	mov    0x474608,%eax
40c1ee:	c7 00 a0 c1 40 00    	movl   $0x40c1a0,(%eax)
40c1f4:	a1 78 45 47 00       	mov    0x474578,%eax
40c1f9:	8b 15 e0 71 40 00    	mov    0x4071e0,%edx
40c1ff:	89 10                	mov    %edx,(%eax)
40c201:	a1 ec 45 47 00       	mov    0x4745ec,%eax
40c206:	c7 00 f0 be 40 00    	movl   $0x40bef0,(%eax)
40c20c:	a1 10 46 47 00       	mov    0x474610,%eax
40c211:	c7 00 d4 c0 40 00    	movl   $0x40c0d4,(%eax)
40c217:	b8 3c be 40 00       	mov    $0x40be3c,%eax
40c21c:	8b 15 64 47 47 00    	mov    0x474764,%edx
40c222:	89 02                	mov    %eax,(%edx)
40c224:	b8 58 be 40 00       	mov    $0x40be58,%eax
40c229:	8b 15 e8 44 47 00    	mov    0x4744e8,%edx
40c22f:	89 02                	mov    %eax,(%edx)
40c231:	c3                   	ret
40c232:	8b c0                	mov    %eax,%eax
40c234:	83 3d 94 57 47 00 00 	cmpl   $0x0,0x475794
40c23b:	74 1a                	je     0x40c257
40c23d:	a1 94 57 47 00       	mov    0x475794,%eax
40c242:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
40c246:	a1 94 57 47 00       	mov    0x475794,%eax
40c24b:	8b 10                	mov    (%eax),%edx
40c24d:	ff 52 f8             	call   *-0x8(%edx)
40c250:	33 c0                	xor    %eax,%eax
40c252:	a3 94 57 47 00       	mov    %eax,0x475794
40c257:	83 3d 98 57 47 00 00 	cmpl   $0x0,0x475798
40c25e:	74 1a                	je     0x40c27a
40c260:	a1 98 57 47 00       	mov    0x475798,%eax
40c265:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
40c269:	a1 98 57 47 00       	mov    0x475798,%eax
40c26e:	e8 4d 70 ff ff       	call   0x4032c0
40c273:	33 c0                	xor    %eax,%eax
40c275:	a3 98 57 47 00       	mov    %eax,0x475798
40c27a:	a1 04 45 47 00       	mov    0x474504,%eax
40c27f:	33 d2                	xor    %edx,%edx
40c281:	89 10                	mov    %edx,(%eax)
40c283:	a1 08 46 47 00       	mov    0x474608,%eax
40c288:	33 d2                	xor    %edx,%edx
40c28a:	89 10                	mov    %edx,(%eax)
40c28c:	a1 78 45 47 00       	mov    0x474578,%eax
40c291:	33 d2                	xor    %edx,%edx
40c293:	89 10                	mov    %edx,(%eax)
40c295:	a1 ec 45 47 00       	mov    0x4745ec,%eax
40c29a:	33 d2                	xor    %edx,%edx
40c29c:	89 10                	mov    %edx,(%eax)
40c29e:	a1 10 46 47 00       	mov    0x474610,%eax
40c2a3:	33 d2                	xor    %edx,%edx
40c2a5:	89 10                	mov    %edx,(%eax)
40c2a7:	a1 64 47 47 00       	mov    0x474764,%eax
40c2ac:	33 d2                	xor    %edx,%edx
40c2ae:	89 10                	mov    %edx,(%eax)
40c2b0:	c3                   	ret
40c2b1:	8d 40 00             	lea    0x0(%eax),%eax
40c2b4:	81 c4 6c ff ff ff    	add    $0xffffff6c,%esp
40c2ba:	c7 04 24 94 00 00 00 	movl   $0x94,(%esp)
40c2c1:	54                   	push   %esp
40c2c2:	e8 ed a0 ff ff       	call   0x4063b4
40c2c7:	85 c0                	test   %eax,%eax
40c2c9:	74 50                	je     0x40c31b
40c2cb:	8b 44 24 10          	mov    0x10(%esp),%eax
40c2cf:	a3 c4 90 46 00       	mov    %eax,0x4690c4
40c2d4:	8b 44 24 04          	mov    0x4(%esp),%eax
40c2d8:	a3 c8 90 46 00       	mov    %eax,0x4690c8
40c2dd:	8b 44 24 08          	mov    0x8(%esp),%eax
40c2e1:	a3 cc 90 46 00       	mov    %eax,0x4690cc
40c2e6:	83 3d c4 90 46 00 01 	cmpl   $0x1,0x4690c4
40c2ed:	75 10                	jne    0x40c2ff
40c2ef:	8b 44 24 0c          	mov    0xc(%esp),%eax
40c2f3:	25 ff ff 00 00       	and    $0xffff,%eax
40c2f8:	a3 d0 90 46 00       	mov    %eax,0x4690d0
40c2fd:	eb 09                	jmp    0x40c308
40c2ff:	8b 44 24 0c          	mov    0xc(%esp),%eax
40c303:	a3 d0 90 46 00       	mov    %eax,0x4690d0
40c308:	b8 d4 90 46 00       	mov    $0x4690d4,%eax
40c30d:	8d 54 24 14          	lea    0x14(%esp),%edx
40c311:	b9 80 00 00 00       	mov    $0x80,%ecx
40c316:	e8 a5 7f ff ff       	call   0x4042c0
40c31b:	81 c4 94 00 00 00    	add    $0x94,%esp
40c321:	c3                   	ret
40c322:	8b c0                	mov    %eax,%eax
40c324:	3b 05 c8 90 46 00    	cmp    0x4690c8,%eax
40c32a:	7c 13                	jl     0x40c33f
40c32c:	3b 05 c8 90 46 00    	cmp    0x4690c8,%eax
40c332:	75 08                	jne    0x40c33c
40c334:	3b 15 cc 90 46 00    	cmp    0x4690cc,%edx
40c33a:	7e 03                	jle    0x40c33f
40c33c:	33 c0                	xor    %eax,%eax
40c33e:	c3                   	ret
40c33f:	b0 01                	mov    $0x1,%al
40c341:	c3                   	ret
40c342:	8b c0                	mov    %eax,%eax
40c344:	55                   	push   %ebp
40c345:	8b ec                	mov    %esp,%ebp
40c347:	83 c4 e8             	add    $0xffffffe8,%esp
40c34a:	53                   	push   %ebx
40c34b:	33 d2                	xor    %edx,%edx
40c34d:	89 55 f8             	mov    %edx,-0x8(%ebp)
40c350:	8b d8                	mov    %eax,%ebx
40c352:	33 c0                	xor    %eax,%eax
40c354:	55                   	push   %ebp
40c355:	68 1a c4 40 00       	push   $0x40c41a
40c35a:	64 ff 30             	push   %fs:(%eax)
40c35d:	64 89 20             	mov    %esp,%fs:(%eax)
40c360:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40c367:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c36a:	8b d3                	mov    %ebx,%edx
40c36c:	e8 77 7d ff ff       	call   0x4040e8
40c371:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c374:	e8 e7 81 ff ff       	call   0x404560
40c379:	8d 45 f4             	lea    -0xc(%ebp),%eax
40c37c:	50                   	push   %eax
40c37d:	8b 45 f8             	mov    -0x8(%ebp),%eax
40c380:	e8 8b 81 ff ff       	call   0x404510
40c385:	50                   	push   %eax
40c386:	e8 29 a1 ff ff       	call   0x4064b4
40c38b:	8b d8                	mov    %eax,%ebx
40c38d:	85 db                	test   %ebx,%ebx
40c38f:	74 73                	je     0x40c404
40c391:	8b c3                	mov    %ebx,%eax
40c393:	e8 5c 63 ff ff       	call   0x4026f4
40c398:	89 45 f0             	mov    %eax,-0x10(%ebp)
40c39b:	33 c0                	xor    %eax,%eax
40c39d:	55                   	push   %ebp
40c39e:	68 fd c3 40 00       	push   $0x40c3fd
40c3a3:	64 ff 30             	push   %fs:(%eax)
40c3a6:	64 89 20             	mov    %esp,%fs:(%eax)
40c3a9:	8b 45 f0             	mov    -0x10(%ebp),%eax
40c3ac:	50                   	push   %eax
40c3ad:	53                   	push   %ebx
40c3ae:	8b 45 f4             	mov    -0xc(%ebp),%eax
40c3b1:	50                   	push   %eax
40c3b2:	8b 45 f8             	mov    -0x8(%ebp),%eax
40c3b5:	e8 56 81 ff ff       	call   0x404510
40c3ba:	50                   	push   %eax
40c3bb:	e8 ec a0 ff ff       	call   0x4064ac
40c3c0:	85 c0                	test   %eax,%eax
40c3c2:	74 23                	je     0x40c3e7
40c3c4:	8d 45 e8             	lea    -0x18(%ebp),%eax
40c3c7:	50                   	push   %eax
40c3c8:	8d 45 ec             	lea    -0x14(%ebp),%eax
40c3cb:	50                   	push   %eax
40c3cc:	68 2c c4 40 00       	push   $0x40c42c
40c3d1:	8b 45 f0             	mov    -0x10(%ebp),%eax
40c3d4:	50                   	push   %eax
40c3d5:	e8 e2 a0 ff ff       	call   0x4064bc
40c3da:	85 c0                	test   %eax,%eax
40c3dc:	74 09                	je     0x40c3e7
40c3de:	8b 45 ec             	mov    -0x14(%ebp),%eax
40c3e1:	8b 40 08             	mov    0x8(%eax),%eax
40c3e4:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c3e7:	33 c0                	xor    %eax,%eax
40c3e9:	5a                   	pop    %edx
40c3ea:	59                   	pop    %ecx
40c3eb:	59                   	pop    %ecx
40c3ec:	64 89 10             	mov    %edx,%fs:(%eax)
40c3ef:	68 04 c4 40 00       	push   $0x40c404
40c3f4:	8b 45 f0             	mov    -0x10(%ebp),%eax
40c3f7:	e8 18 63 ff ff       	call   0x402714
40c3fc:	c3                   	ret
40c3fd:	e9 52 76 ff ff       	jmp    0x403a54
40c402:	eb f0                	jmp    0x40c3f4
40c404:	33 c0                	xor    %eax,%eax
40c406:	5a                   	pop    %edx
40c407:	59                   	pop    %ecx
40c408:	59                   	pop    %ecx
40c409:	64 89 10             	mov    %edx,%fs:(%eax)
40c40c:	68 21 c4 40 00       	push   $0x40c421
40c411:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c414:	e8 37 7c ff ff       	call   0x404050
40c419:	c3                   	ret
40c41a:	e9 35 76 ff ff       	jmp    0x403a54
40c41f:	eb f0                	jmp    0x40c411
40c421:	8b 45 fc             	mov    -0x4(%ebp),%eax
40c424:	5b                   	pop    %ebx
40c425:	8b e5                	mov    %ebp,%esp
40c427:	5d                   	pop    %ebp
40c428:	c3                   	ret
40c429:	00 00                	add    %al,(%eax)
40c42b:	00 5c 00 00          	add    %bl,0x0(%eax,%eax,1)
40c42f:	00 56 57             	add    %dl,0x57(%esi)
40c432:	8b fa                	mov    %edx,%edi
40c434:	33 d2                	xor    %edx,%edx
40c436:	85 c0                	test   %eax,%eax
40c438:	74 66                	je     0x40c4a0
40c43a:	80 3c 38 00          	cmpb   $0x0,(%eax,%edi,1)
40c43e:	74 60                	je     0x40c4a0
40c440:	85 ff                	test   %edi,%edi
40c442:	75 14                	jne    0x40c458
40c444:	8a 00                	mov    (%eax),%al
40c446:	25 ff 00 00 00       	and    $0xff,%eax
40c44b:	0f a3 05 0c 91 46 00 	bt     %eax,0x46910c
40c452:	73 4c                	jae    0x40c4a0
40c454:	b2 01                	mov    $0x1,%dl
40c456:	eb 48                	jmp    0x40c4a0
40c458:	8b f7                	mov    %edi,%esi
40c45a:	4e                   	dec    %esi
40c45b:	eb 01                	jmp    0x40c45e
40c45d:	4e                   	dec    %esi
40c45e:	85 f6                	test   %esi,%esi
40c460:	7c 12                	jl     0x40c474
40c462:	8a 0c 30             	mov    (%eax,%esi,1),%cl
40c465:	81 e1 ff 00 00 00    	and    $0xff,%ecx
40c46b:	0f a3 0d 0c 91 46 00 	bt     %ecx,0x46910c
40c472:	72 e9                	jb     0x40c45d
40c474:	8b cf                	mov    %edi,%ecx
40c476:	2b ce                	sub    %esi,%ecx
40c478:	81 e1 01 00 00 80    	and    $0x80000001,%ecx
40c47e:	79 05                	jns    0x40c485
40c480:	49                   	dec    %ecx
40c481:	83 c9 fe             	or     $0xfffffffe,%ecx
40c484:	41                   	inc    %ecx
40c485:	85 c9                	test   %ecx,%ecx
40c487:	75 04                	jne    0x40c48d
40c489:	b2 02                	mov    $0x2,%dl
40c48b:	eb 13                	jmp    0x40c4a0
40c48d:	8a 04 38             	mov    (%eax,%edi,1),%al
40c490:	25 ff 00 00 00       	and    $0xff,%eax
40c495:	0f a3 05 0c 91 46 00 	bt     %eax,0x46910c
40c49c:	73 02                	jae    0x40c4a0
40c49e:	b2 01                	mov    $0x1,%dl
40c4a0:	8b c2                	mov    %edx,%eax
40c4a2:	5f                   	pop    %edi
40c4a3:	5e                   	pop    %esi
40c4a4:	c3                   	ret
40c4a5:	8d 40 00             	lea    0x0(%eax),%eax
40c4a8:	53                   	push   %ebx
40c4a9:	56                   	push   %esi
40c4aa:	8b f2                	mov    %edx,%esi
40c4ac:	8b d8                	mov    %eax,%ebx
40c4ae:	33 c0                	xor    %eax,%eax
40c4b0:	80 3d 4c 57 47 00 00 	cmpb   $0x0,0x47574c
40c4b7:	74 0f                	je     0x40c4c8
40c4b9:	8b c3                	mov    %ebx,%eax
40c4bb:	e8 50 80 ff ff       	call   0x404510
40c4c0:	8b d6                	mov    %esi,%edx
40c4c2:	4a                   	dec    %edx
40c4c3:	e8 68 ff ff ff       	call   0x40c430
40c4c8:	5e                   	pop    %esi
40c4c9:	5b                   	pop    %ebx
40c4ca:	c3                   	ret
40c4cb:	90                   	nop
40c4cc:	33 c9                	xor    %ecx,%ecx
40c4ce:	80 3d 4c 57 47 00 00 	cmpb   $0x0,0x47574c
40c4d5:	74 07                	je     0x40c4de
40c4d7:	e8 54 ff ff ff       	call   0x40c430
40c4dc:	8b c8                	mov    %eax,%ecx
40c4de:	8b c1                	mov    %ecx,%eax
40c4e0:	c3                   	ret
40c4e1:	8d 40 00             	lea    0x0(%eax),%eax
40c4e4:	53                   	push   %ebx
40c4e5:	56                   	push   %esi
40c4e6:	8b f2                	mov    %edx,%esi
40c4e8:	8b d8                	mov    %eax,%ebx
40c4ea:	8b c3                	mov    %ebx,%eax
40c4ec:	e8 1f 7e ff ff       	call   0x404310
40c4f1:	3b f0                	cmp    %eax,%esi
40c4f3:	7e 09                	jle    0x40c4fe
40c4f5:	8b c3                	mov    %ebx,%eax
40c4f7:	e8 14 7e ff ff       	call   0x404310
40c4fc:	8b f0                	mov    %eax,%esi
40c4fe:	8b d6                	mov    %esi,%edx
40c500:	8b c3                	mov    %ebx,%eax
40c502:	e8 05 00 00 00       	call   0x40c50c
40c507:	5e                   	pop    %esi
40c508:	5b                   	pop    %ebx
40c509:	c3                   	ret
40c50a:	8b c0                	mov    %eax,%eax
40c50c:	53                   	push   %ebx
40c50d:	56                   	push   %esi
40c50e:	57                   	push   %edi
40c50f:	8b f2                	mov    %edx,%esi
40c511:	8b d8                	mov    %eax,%ebx
40c513:	33 ff                	xor    %edi,%edi
40c515:	85 f6                	test   %esi,%esi
40c517:	7e 45                	jle    0x40c55e
40c519:	8b c3                	mov    %ebx,%eax
40c51b:	e8 f0 7d ff ff       	call   0x404310
40c520:	3b f0                	cmp    %eax,%esi
40c522:	7f 3a                	jg     0x40c55e
40c524:	8b fe                	mov    %esi,%edi
40c526:	80 3d 4c 57 47 00 00 	cmpb   $0x0,0x47574c
40c52d:	74 2f                	je     0x40c55e
40c52f:	b8 01 00 00 00       	mov    $0x1,%eax
40c534:	33 ff                	xor    %edi,%edi
40c536:	3b f0                	cmp    %eax,%esi
40c538:	7c 24                	jl     0x40c55e
40c53a:	8a 54 03 ff          	mov    -0x1(%ebx,%eax,1),%dl
40c53e:	81 e2 ff 00 00 00    	and    $0xff,%edx
40c544:	0f a3 15 0c 91 46 00 	bt     %edx,0x46910c
40c54b:	73 0b                	jae    0x40c558
40c54d:	8b d0                	mov    %eax,%edx
40c54f:	8b c3                	mov    %ebx,%eax
40c551:	e8 c6 01 00 00       	call   0x40c71c
40c556:	eb 01                	jmp    0x40c559
40c558:	40                   	inc    %eax
40c559:	47                   	inc    %edi
40c55a:	3b f0                	cmp    %eax,%esi
40c55c:	7d dc                	jge    0x40c53a
40c55e:	8b c7                	mov    %edi,%eax
40c560:	5f                   	pop    %edi
40c561:	5e                   	pop    %esi
40c562:	5b                   	pop    %ebx
40c563:	c3                   	ret
40c564:	55                   	push   %ebp
40c565:	8b ec                	mov    %esp,%ebp
40c567:	83 c4 f4             	add    $0xfffffff4,%esp
40c56a:	53                   	push   %ebx
40c56b:	56                   	push   %esi
40c56c:	57                   	push   %edi
40c56d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40c570:	89 55 fc             	mov    %edx,-0x4(%ebp)
40c573:	8b f8                	mov    %eax,%edi
40c575:	8b c7                	mov    %edi,%eax
40c577:	e8 94 7d ff ff       	call   0x404310
40c57c:	89 45 f4             	mov    %eax,-0xc(%ebp)
40c57f:	be 01 00 00 00       	mov    $0x1,%esi
40c584:	bb 01 00 00 00       	mov    $0x1,%ebx
40c589:	eb 21                	jmp    0x40c5ac
40c58b:	46                   	inc    %esi
40c58c:	8a 44 1f ff          	mov    -0x1(%edi,%ebx,1),%al
40c590:	25 ff 00 00 00       	and    $0xff,%eax
40c595:	0f a3 05 0c 91 46 00 	bt     %eax,0x46910c
40c59c:	73 0d                	jae    0x40c5ab
40c59e:	8b d3                	mov    %ebx,%edx
40c5a0:	8b c7                	mov    %edi,%eax
40c5a2:	e8 75 01 00 00       	call   0x40c71c
40c5a7:	8b d8                	mov    %eax,%ebx
40c5a9:	eb 01                	jmp    0x40c5ac
40c5ab:	43                   	inc    %ebx
40c5ac:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
40c5af:	7d 05                	jge    0x40c5b6
40c5b1:	3b 75 fc             	cmp    -0x4(%ebp),%esi
40c5b4:	7c d5                	jl     0x40c58b
40c5b6:	3b 75 fc             	cmp    -0x4(%ebp),%esi
40c5b9:	75 23                	jne    0x40c5de
40c5bb:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
40c5be:	7d 1e                	jge    0x40c5de
40c5c0:	8a 44 1f ff          	mov    -0x1(%edi,%ebx,1),%al
40c5c4:	25 ff 00 00 00       	and    $0xff,%eax