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
409443:	85 c0                	test   %eax,%eax
409445:	74 0e                	je     0x409455
409447:	50                   	push   %eax
409448:	e8 fb fb ff ff       	call   0x409048
40944d:	83 a6 78 70 41 00 00 	andl   $0x0,0x417078(%esi)
409454:	59                   	pop    %ecx
409455:	83 c6 04             	add    $0x4,%esi
409458:	81 fe 00 02 00 00    	cmp    $0x200,%esi
40945e:	72 dd                	jb     0x40943d
409460:	b0 01                	mov    $0x1,%al
409462:	5e                   	pop    %esi
409463:	c3                   	ret
409464:	8b ff                	mov    %edi,%edi
409466:	55                   	push   %ebp
409467:	8b ec                	mov    %esp,%ebp
409469:	56                   	push   %esi
40946a:	8b 75 08             	mov    0x8(%ebp),%esi
40946d:	85 f6                	test   %esi,%esi
40946f:	0f 84 ea 00 00 00    	je     0x40955f
409475:	8b 46 0c             	mov    0xc(%esi),%eax
409478:	3b 05 54 66 41 00    	cmp    0x416654,%eax
40947e:	74 07                	je     0x409487
409480:	50                   	push   %eax
409481:	e8 f3 e3 ff ff       	call   0x407879
409486:	59                   	pop    %ecx
409487:	8b 46 10             	mov    0x10(%esi),%eax
40948a:	3b 05 58 66 41 00    	cmp    0x416658,%eax
409490:	74 07                	je     0x409499
409492:	50                   	push   %eax
409493:	e8 e1 e3 ff ff       	call   0x407879
409498:	59                   	pop    %ecx
409499:	8b 46 14             	mov    0x14(%esi),%eax
40949c:	3b 05 5c 66 41 00    	cmp    0x41665c,%eax
4094a2:	74 07                	je     0x4094ab
4094a4:	50                   	push   %eax
4094a5:	e8 cf e3 ff ff       	call   0x407879
4094aa:	59                   	pop    %ecx
4094ab:	8b 46 18             	mov    0x18(%esi),%eax
4094ae:	3b 05 60 66 41 00    	cmp    0x416660,%eax
4094b4:	74 07                	je     0x4094bd
4094b6:	50                   	push   %eax
4094b7:	e8 bd e3 ff ff       	call   0x407879
4094bc:	59                   	pop    %ecx
4094bd:	8b 46 1c             	mov    0x1c(%esi),%eax
4094c0:	3b 05 64 66 41 00    	cmp    0x416664,%eax
4094c6:	74 07                	je     0x4094cf
4094c8:	50                   	push   %eax
4094c9:	e8 ab e3 ff ff       	call   0x407879
4094ce:	59                   	pop    %ecx
4094cf:	8b 46 20             	mov    0x20(%esi),%eax
4094d2:	3b 05 68 66 41 00    	cmp    0x416668,%eax
4094d8:	74 07                	je     0x4094e1
4094da:	50                   	push   %eax
4094db:	e8 99 e3 ff ff       	call   0x407879
4094e0:	59                   	pop    %ecx
4094e1:	8b 46 24             	mov    0x24(%esi),%eax
4094e4:	3b 05 6c 66 41 00    	cmp    0x41666c,%eax
4094ea:	74 07                	je     0x4094f3
4094ec:	50                   	push   %eax
4094ed:	e8 87 e3 ff ff       	call   0x407879
4094f2:	59                   	pop    %ecx
4094f3:	8b 46 38             	mov    0x38(%esi),%eax
4094f6:	3b 05 80 66 41 00    	cmp    0x416680,%eax
4094fc:	74 07                	je     0x409505
4094fe:	50                   	push   %eax
4094ff:	e8 75 e3 ff ff       	call   0x407879
409504:	59                   	pop    %ecx
409505:	8b 46 3c             	mov    0x3c(%esi),%eax
409508:	3b 05 84 66 41 00    	cmp    0x416684,%eax
40950e:	74 07                	je     0x409517
409510:	50                   	push   %eax
409511:	e8 63 e3 ff ff       	call   0x407879
409516:	59                   	pop    %ecx
409517:	8b 46 40             	mov    0x40(%esi),%eax
40951a:	3b 05 88 66 41 00    	cmp    0x416688,%eax
409520:	74 07                	je     0x409529
409522:	50                   	push   %eax
409523:	e8 51 e3 ff ff       	call   0x407879
409528:	59                   	pop    %ecx
409529:	8b 46 44             	mov    0x44(%esi),%eax
40952c:	3b 05 8c 66 41 00    	cmp    0x41668c,%eax
409532:	74 07                	je     0x40953b
409534:	50                   	push   %eax
409535:	e8 3f e3 ff ff       	call   0x407879
40953a:	59                   	pop    %ecx
40953b:	8b 46 48             	mov    0x48(%esi),%eax
40953e:	3b 05 90 66 41 00    	cmp    0x416690,%eax
409544:	74 07                	je     0x40954d
409546:	50                   	push   %eax
409547:	e8 2d e3 ff ff       	call   0x407879
40954c:	59                   	pop    %ecx
40954d:	8b 46 4c             	mov    0x4c(%esi),%eax
409550:	3b 05 94 66 41 00    	cmp    0x416694,%eax
409556:	74 07                	je     0x40955f
409558:	50                   	push   %eax
409559:	e8 1b e3 ff ff       	call   0x407879
40955e:	59                   	pop    %ecx
40955f:	5e                   	pop    %esi
409560:	5d                   	pop    %ebp
409561:	c3                   	ret
409562:	8b ff                	mov    %edi,%edi
409564:	55                   	push   %ebp
409565:	8b ec                	mov    %esp,%ebp
409567:	56                   	push   %esi
409568:	8b 75 08             	mov    0x8(%ebp),%esi
40956b:	85 f6                	test   %esi,%esi
40956d:	74 59                	je     0x4095c8
40956f:	8b 06                	mov    (%esi),%eax
409571:	3b 05 48 66 41 00    	cmp    0x416648,%eax
409577:	74 07                	je     0x409580
409579:	50                   	push   %eax
40957a:	e8 fa e2 ff ff       	call   0x407879
40957f:	59                   	pop    %ecx
409580:	8b 46 04             	mov    0x4(%esi),%eax
409583:	3b 05 4c 66 41 00    	cmp    0x41664c,%eax
409589:	74 07                	je     0x409592
40958b:	50                   	push   %eax
40958c:	e8 e8 e2 ff ff       	call   0x407879
409591:	59                   	pop    %ecx
409592:	8b 46 08             	mov    0x8(%esi),%eax
409595:	3b 05 50 66 41 00    	cmp    0x416650,%eax
40959b:	74 07                	je     0x4095a4
40959d:	50                   	push   %eax
40959e:	e8 d6 e2 ff ff       	call   0x407879
4095a3:	59                   	pop    %ecx
4095a4:	8b 46 30             	mov    0x30(%esi),%eax
4095a7:	3b 05 78 66 41 00    	cmp    0x416678,%eax
4095ad:	74 07                	je     0x4095b6
4095af:	50                   	push   %eax
4095b0:	e8 c4 e2 ff ff       	call   0x407879
4095b5:	59                   	pop    %ecx
4095b6:	8b 46 34             	mov    0x34(%esi),%eax
4095b9:	3b 05 7c 66 41 00    	cmp    0x41667c,%eax
4095bf:	74 07                	je     0x4095c8
4095c1:	50                   	push   %eax
4095c2:	e8 b2 e2 ff ff       	call   0x407879
4095c7:	59                   	pop    %ecx
4095c8:	5e                   	pop    %esi
4095c9:	5d                   	pop    %ebp
4095ca:	c3                   	ret
4095cb:	8b ff                	mov    %edi,%edi
4095cd:	55                   	push   %ebp
4095ce:	8b ec                	mov    %esp,%ebp
4095d0:	8b 45 0c             	mov    0xc(%ebp),%eax
4095d3:	56                   	push   %esi
4095d4:	8b 75 08             	mov    0x8(%ebp),%esi
4095d7:	57                   	push   %edi
4095d8:	8d 3c 86             	lea    (%esi,%eax,4),%edi
4095db:	eb 0b                	jmp    0x4095e8
4095dd:	ff 36                	push   (%esi)
4095df:	e8 95 e2 ff ff       	call   0x407879
4095e4:	59                   	pop    %ecx
4095e5:	83 c6 04             	add    $0x4,%esi
4095e8:	3b f7                	cmp    %edi,%esi
4095ea:	75 f1                	jne    0x4095dd
4095ec:	5f                   	pop    %edi
4095ed:	5e                   	pop    %esi
4095ee:	5d                   	pop    %ebp
4095ef:	c3                   	ret
4095f0:	8b ff                	mov    %edi,%edi
4095f2:	55                   	push   %ebp
4095f3:	8b ec                	mov    %esp,%ebp
4095f5:	56                   	push   %esi
4095f6:	8b 75 08             	mov    0x8(%ebp),%esi
4095f9:	85 f6                	test   %esi,%esi
4095fb:	0f 84 d0 00 00 00    	je     0x4096d1
409601:	6a 07                	push   $0x7
409603:	56                   	push   %esi
409604:	e8 c2 ff ff ff       	call   0x4095cb
409609:	8d 46 1c             	lea    0x1c(%esi),%eax
40960c:	6a 07                	push   $0x7
40960e:	50                   	push   %eax
40960f:	e8 b7 ff ff ff       	call   0x4095cb
409614:	8d 46 38             	lea    0x38(%esi),%eax
409617:	6a 0c                	push   $0xc