4813f0:	83 c7 02             	add    $0x2,%edi
4813f3:	8d 49 e8             	lea    -0x18(%ecx),%ecx
4813f6:	89 7d fc             	mov    %edi,-0x4(%ebp)
4813f9:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
4813fc:	0f b7 07             	movzwl (%edi),%eax
4813ff:	89 4d c8             	mov    %ecx,-0x38(%ebp)
481402:	83 f8 30             	cmp    $0x30,%eax
481405:	73 d9                	jae    0x4813e0
481407:	e9 1b ff ff ff       	jmp    0x481327
48140c:	03 41 40             	add    0x40(%ecx),%eax
48140f:	89 45 c8             	mov    %eax,-0x38(%ebp)
481412:	eb 03                	jmp    0x481417
481414:	8b 4d 28             	mov    0x28(%ebp),%ecx
481417:	85 c0                	test   %eax,%eax
481419:	0f 8e 3a 09 00 00    	jle    0x481d59
48141f:	3b 41 44             	cmp    0x44(%ecx),%eax
481422:	0f 8f 31 09 00 00    	jg     0x481d59
481428:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
48142b:	66 89 42 06          	mov    %ax,0x6(%edx)
48142f:	8b 7d fc             	mov    -0x4(%ebp),%edi
481432:	e9 25 6e f8 ff       	jmp    0x40825c
481437:	8b 45 28             	mov    0x28(%ebp),%eax
48143a:	8b 48 2c             	mov    0x2c(%eax),%ecx
48143d:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
481440:	8b 4d 28             	mov    0x28(%ebp),%ecx
481443:	33 c0                	xor    %eax,%eax
481445:	89 45 e4             	mov    %eax,-0x1c(%ebp)
481448:	39 41 30             	cmp    %eax,0x30(%ecx)
48144b:	7e 3d                	jle    0x48148a
48144d:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
481450:	8b f0                	mov    %eax,%esi
481452:	8b f9                	mov    %ecx,%edi
481454:	ff 75 9c             	push   -0x64(%ebp)
481457:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
48145a:	8d 53 02             	lea    0x2(%ebx),%edx
48145d:	e8 c5 fe fe ff       	call   0x471327
481462:	83 c4 04             	add    $0x4,%esp
481465:	85 c0                	test   %eax,%eax
481467:	74 0c                	je     0x481475
481469:	8b 47 34             	mov    0x34(%edi),%eax
48146c:	46                   	inc    %esi
48146d:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
481470:	3b 77 30             	cmp    0x30(%edi),%esi
481473:	7c df                	jl     0x481454
481475:	8b 7d e8             	mov    -0x18(%ebp),%edi
481478:	8b 55 f8             	mov    -0x8(%ebp),%edx
48147b:	89 75 e4             	mov    %esi,-0x1c(%ebp)
48147e:	8b 75 88             	mov    -0x78(%ebp),%esi
481481:	8b 45 e4             	mov    -0x1c(%ebp),%eax
481484:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
481487:	8b 5d bc             	mov    -0x44(%ebp),%ebx
48148a:	8b 4d 28             	mov    0x28(%ebp),%ecx
48148d:	3b 41 30             	cmp    0x30(%ecx),%eax
481490:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
481493:	0f 8d 96 00 00 00    	jge    0x48152f
481499:	8b 7d e4             	mov    -0x1c(%ebp),%edi
48149c:	b8 01 00 00 00       	mov    $0x1,%eax
4814a1:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4814a4:	0f b7 01             	movzwl (%ecx),%eax
4814a7:	8b 4d 28             	mov    0x28(%ebp),%ecx
4814aa:	89 7d e8             	mov    %edi,-0x18(%ebp)
4814ad:	47                   	inc    %edi
4814ae:	89 45 c8             	mov    %eax,-0x38(%ebp)
4814b1:	3b 79 30             	cmp    0x30(%ecx),%edi
4814b4:	7d 6a                	jge    0x481520
4814b6:	8b 41 34             	mov    0x34(%ecx),%eax
4814b9:	8b 75 d4             	mov    -0x2c(%ebp),%esi
4814bc:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
4814bf:	03 c0                	add    %eax,%eax
4814c1:	89 45 ec             	mov    %eax,-0x14(%ebp)
4814c4:	ff 75 9c             	push   -0x64(%ebp)
4814c7:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
4814ca:	03 f0                	add    %eax,%esi
4814cc:	8d 56 02             	lea    0x2(%esi),%edx
4814cf:	e8 53 fe fe ff       	call   0x471327
4814d4:	83 c4 04             	add    $0x4,%esp
4814d7:	85 c0                	test   %eax,%eax
4814d9:	75 0d                	jne    0x4814e8
4814db:	8b 45 28             	mov    0x28(%ebp),%eax
4814de:	47                   	inc    %edi
4814df:	43                   	inc    %ebx
4814e0:	3b 78 30             	cmp    0x30(%eax),%edi
4814e3:	8b 45 ec             	mov    -0x14(%ebp),%eax
4814e6:	7c dc                	jl     0x4814c4
4814e8:	8b 75 88             	mov    -0x78(%ebp),%esi
4814eb:	8b 55 f8             	mov    -0x8(%ebp),%edx
4814ee:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
4814f1:	83 fb 01             	cmp    $0x1,%ebx
4814f4:	8b 5d bc             	mov    -0x44(%ebp),%ebx
4814f7:	7e 24                	jle    0x48151d
4814f9:	8b 45 e8             	mov    -0x18(%ebp),%eax
4814fc:	66 ff 42 04          	incw   0x4(%edx)
481500:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
481503:	66 89 42 06          	mov    %ax,0x6(%edx)
481507:	8b 45 e4             	mov    -0x1c(%ebp),%eax
48150a:	66 89 42 08          	mov    %ax,0x8(%edx)
48150e:	8b 7d fc             	mov    -0x4(%ebp),%edi
481511:	c7 45 f0 03 00 00 00 	movl   $0x3,-0x10(%ebp)
481518:	e9 3f 6d f8 ff       	jmp    0x40825c
48151d:	8b 45 c8             	mov    -0x38(%ebp),%eax
481520:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
481523:	66 89 42 06          	mov    %ax,0x6(%edx)
481527:	8b 7d fc             	mov    -0x4(%ebp),%edi
48152a:	e9 2d 6d f8 ff       	jmp    0x40825c
48152f:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
481533:	0f 85 20 08 00 00    	jne    0x481d59
481539:	8b 45 94             	mov    -0x6c(%ebp),%eax
48153c:	66 83 38 52          	cmpw   $0x52,(%eax)
481540:	75 6d                	jne    0x4815af
481542:	33 c9                	xor    %ecx,%ecx
481544:	83 7d 9c 01          	cmpl   $0x1,-0x64(%ebp)
481548:	89 4d c8             	mov    %ecx,-0x38(%ebp)
48154b:	c7 45 bc 01 00 00 00 	movl   $0x1,-0x44(%ebp)
481552:	8d 41 01             	lea    0x1(%ecx),%eax
481555:	7e 38                	jle    0x48158f
481557:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
48155a:	0f b7 04 41          	movzwl (%ecx,%eax,2),%eax
48155e:	8b 4d c8             	mov    -0x38(%ebp),%ecx
481561:	83 f8 30             	cmp    $0x30,%eax
481564:	0f 82 ef 07 00 00    	jb     0x481d59
48156a:	83 f8 39             	cmp    $0x39,%eax
48156d:	0f 87 e6 07 00 00    	ja     0x481d59
481573:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
481576:	8d 49 e8             	lea    -0x18(%ecx),%ecx
481579:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
48157c:	8b 45 bc             	mov    -0x44(%ebp),%eax
48157f:	40                   	inc    %eax
481580:	89 4d c8             	mov    %ecx,-0x38(%ebp)
481583:	89 45 bc             	mov    %eax,-0x44(%ebp)
481586:	3b 45 9c             	cmp    -0x64(%ebp),%eax
481589:	7c cc                	jl     0x481557
48158b:	85 c9                	test   %ecx,%ecx
48158d:	75 08                	jne    0x481597
48158f:	b9 ff ff 00 00       	mov    $0xffff,%ecx
481594:	89 4d c8             	mov    %ecx,-0x38(%ebp)
481597:	b8 8f 00 00 00       	mov    $0x8f,%eax
48159c:	66 89 4a 06          	mov    %cx,0x6(%edx)
4815a0:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
4815a3:	66 89 42 04          	mov    %ax,0x4(%edx)
4815a7:	8b 7d fc             	mov    -0x4(%ebp),%edi
4815aa:	e9 ad 6c f8 ff       	jmp    0x40825c
4815af:	83 7d 9c 06          	cmpl   $0x6,-0x64(%ebp)
4815b3:	0f 85 a0 07 00 00    	jne    0x481d59
4815b9:	6a 06                	push   $0x6
4815bb:	ba c8 4c 4b 00       	mov    $0x4b4cc8,%edx
4815c0:	8b c8                	mov    %eax,%ecx
4815c2:	e8 2c 73 f8 ff       	call   0x4088f3
4815c7:	83 c4 04             	add    $0x4,%esp
4815ca:	85 c0                	test   %eax,%eax
4815cc:	0f 85 87 07 00 00    	jne    0x481d59
4815d2:	8b 55 f8             	mov    -0x8(%ebp),%edx
4815d5:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
4815d8:	b8 91 00 00 00       	mov    $0x91,%eax
4815dd:	66 89 42 04          	mov    %ax,0x4(%edx)
4815e1:	8b 7d fc             	mov    -0x4(%ebp),%edi
4815e4:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
4815eb:	e9 6c 6c f8 ff       	jmp    0x40825c
4815f0:	ff 41 5c             	incl   0x5c(%ecx)
4815f3:	8b 55 f8             	mov    -0x8(%ebp),%edx
4815f6:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
4815f9:	83 c7 02             	add    $0x2,%edi
4815fc:	be 7d 00 00 00       	mov    $0x7d,%esi
481601:	89 7d fc             	mov    %edi,-0x4(%ebp)
481604:	e9 53 6c f8 ff       	jmp    0x40825c
481609:	83 c7 02             	add    $0x2,%edi
48160c:	89 7d fc             	mov    %edi,-0x4(%ebp)
48160f:	66 83 3f 29          	cmpw   $0x29,(%edi)
481613:	75 27                	jne    0x48163c
481615:	0f b7 47 02          	movzwl 0x2(%edi),%eax
481619:	83 f8 2a             	cmp    $0x2a,%eax
48161c:	74 1e                	je     0x48163c
48161e:	83 f8 2b             	cmp    $0x2b,%eax
481621:	74 19                	je     0x48163c
481623:	83 f8 3f             	cmp    $0x3f,%eax
481626:	74 14                	je     0x48163c
481628:	83 f8 7b             	cmp    $0x7b,%eax
48162b:	75 22                	jne    0x48164f
48162d:	8d 4f 04             	lea    0x4(%edi),%ecx
481630:	e8 65 f9 fe ff       	call   0x470f9a
481635:	85 c0                	test   %eax,%eax
481637:	74 16                	je     0x48164f
481639:	8b 4d 28             	mov    0x28(%ebp),%ecx
48163c:	ff 41 5c             	incl   0x5c(%ecx)
48163f:	8b 55 f8             	mov    -0x8(%ebp),%edx
481642:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
481645:	be 7e 00 00 00       	mov    $0x7e,%esi
48164a:	e9 0d 6c f8 ff       	jmp    0x40825c
48164f:	8b 55 f8             	mov    -0x8(%ebp),%edx
481652:	b8 9d 00 00 00       	mov    $0x9d,%eax
481657:	66 89 02             	mov    %ax,(%edx)
48165a:	8b 7d fc             	mov    -0x4(%ebp),%edi
48165d:	83 c2 02             	add    $0x2,%edx
481660:	89 55 f8             	mov    %edx,-0x8(%ebp)
481663:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
48166a:	e9 11 65 f8 ff       	jmp    0x407b80
48166f:	0f b7 47 02          	movzwl 0x2(%edi),%eax
481673:	8b c8                	mov    %eax,%ecx
481675:	83 f9 21             	cmp    $0x21,%ecx
481678:	74 58                	je     0x4816d2
48167a:	83 f9 3d             	cmp    $0x3d,%ecx
48167d:	74 37                	je     0x4816b6
48167f:	c7 45 bc ff 00 00 00 	movl   $0xff,-0x44(%ebp)
481686:	66 3b 45 bc          	cmp    -0x44(%ebp),%ax
48168a:	0f 87 f6 0a 00 00    	ja     0x482186
481690:	8b 45 28             	mov    0x28(%ebp),%eax
481693:	8b 40 0c             	mov    0xc(%eax),%eax
481696:	f6 04 01 10          	testb  $0x10,(%ecx,%eax,1)
48169a:	0f 84 e6 0a 00 00    	je     0x482186
4816a0:	8b 4d 28             	mov    0x28(%ebp),%ecx
4816a3:	83 fa 3c             	cmp    $0x3c,%edx
4816a6:	0f 84 2b 01 00 00    	je     0x4817d7
4816ac:	ba 27 00 00 00       	mov    $0x27,%edx
4816b1:	e9 26 01 00 00       	jmp    0x4817dc
4816b6:	8b 4d 28             	mov    0x28(%ebp),%ecx
4816b9:	8b 55 f8             	mov    -0x8(%ebp),%edx
4816bc:	ff 41 5c             	incl   0x5c(%ecx)
4816bf:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
4816c2:	83 c7 04             	add    $0x4,%edi
4816c5:	be 7f 00 00 00       	mov    $0x7f,%esi
4816ca:	89 7d fc             	mov    %edi,-0x4(%ebp)
4816cd:	e9 8a 6b f8 ff       	jmp    0x40825c
4816d2:	8b 4d 28             	mov    0x28(%ebp),%ecx
4816d5:	8b 55 f8             	mov    -0x8(%ebp),%edx
4816d8:	ff 41 5c             	incl   0x5c(%ecx)
4816db:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
4816de:	83 c7 04             	add    $0x4,%edi
4816e1:	be 80 00 00 00       	mov    $0x80,%esi
4816e6:	89 7d fc             	mov    %edi,-0x4(%ebp)
4816e9:	e9 6e 6b f8 ff       	jmp    0x40825c
4816ee:	8b 55 f8             	mov    -0x8(%ebp),%edx
4816f1:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
4816f4:	83 c7 02             	add    $0x2,%edi
4816f7:	be 81 00 00 00       	mov    $0x81,%esi
4816fc:	89 7d fc             	mov    %edi,-0x4(%ebp)
4816ff:	e9 58 6b f8 ff       	jmp    0x40825c
481704:	8b 55 f8             	mov    -0x8(%ebp),%edx
481707:	b8 76 00 00 00       	mov    $0x76,%eax
48170c:	66 89 02             	mov    %ax,(%edx)
48170f:	8b 7d fc             	mov    -0x4(%ebp),%edi
481712:	83 c7 02             	add    $0x2,%edi
481715:	89 7d fc             	mov    %edi,-0x4(%ebp)
481718:	0f b7 07             	movzwl (%edi),%eax
48171b:	33 c9                	xor    %ecx,%ecx
48171d:	89 95 78 ff ff ff    	mov    %edx,-0x88(%ebp)
481723:	c7 85 58 ff ff ff 01 	movl   $0x1,-0xa8(%ebp)
48172a:	00 00 00
48172d:	83 f8 30             	cmp    $0x30,%eax
481730:	72 20                	jb     0x481752
481732:	66 83 f8 39          	cmp    $0x39,%ax
481736:	77 1a                	ja     0x481752
481738:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
48173b:	0f b7 c0             	movzwl %ax,%eax
48173e:	83 c7 02             	add    $0x2,%edi
481741:	8d 49 e8             	lea    -0x18(%ecx),%ecx
481744:	89 7d fc             	mov    %edi,-0x4(%ebp)
481747:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
48174a:	0f b7 07             	movzwl (%edi),%eax
48174d:	83 f8 30             	cmp    $0x30,%eax
481750:	73 e0                	jae    0x481732
481752:	66 83 3f 29          	cmpw   $0x29,(%edi)
481756:	0f 85 57 0a 00 00    	jne    0x4821b3
48175c:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
481762:	0f 8f 36 0a 00 00    	jg     0x48219e
481768:	66 89 4a 02          	mov    %cx,0x2(%edx)
48176c:	8b 45 fc             	mov    -0x4(%ebp),%eax
48176f:	8b 4d 28             	mov    0x28(%ebp),%ecx
481772:	2b 41 18             	sub    0x18(%ecx),%eax
481775:	d1 f8                	sar    $1,%eax
481777:	40                   	inc    %eax
481778:	66 89 42 04          	mov    %ax,0x4(%edx)
48177c:	33 c0                	xor    %eax,%eax
48177e:	66 89 42 06          	mov    %ax,0x6(%edx)
481782:	8b 7d fc             	mov    -0x4(%ebp),%edi
481785:	83 c2 08             	add    $0x8,%edx
481788:	89 55 f8             	mov    %edx,-0x8(%ebp)
48178b:	89 45 e0             	mov    %eax,-0x20(%ebp)
48178e:	e9 ed 63 f8 ff       	jmp    0x407b80
481793:	83 c7 02             	add    $0x2,%edi
481796:	89 7d fc             	mov    %edi,-0x4(%ebp)
481799:	0f b7 07             	movzwl (%edi),%eax
48179c:	83 f8 3d             	cmp    $0x3d,%eax
48179f:	74 2c                	je     0x4817cd
4817a1:	83 f8 3e             	cmp    $0x3e,%eax
4817a4:	74 1a                	je     0x4817c0
4817a6:	83 f8 3c             	cmp    $0x3c,%eax
4817a9:	74 2c                	je     0x4817d7
4817ab:	8b 45 0c             	mov    0xc(%ebp),%eax
4817ae:	c7 00 29 00 00 00    	movl   $0x29,(%eax)
4817b4:	8b 45 08             	mov    0x8(%ebp),%eax
4817b7:	89 38                	mov    %edi,(%eax)
4817b9:	33 c0                	xor    %eax,%eax
4817bb:	e9 72 62 f8 ff       	jmp    0x407a32
4817c0:	ba 01 00 00 00       	mov    $0x1,%edx
4817c5:	8d 5a 28             	lea    0x28(%edx),%ebx
4817c8:	e9 0c 02 00 00       	jmp    0x4819d9
4817cd:	33 d2                	xor    %edx,%edx
4817cf:	8d 5a 29             	lea    0x29(%edx),%ebx
4817d2:	e9 02 02 00 00       	jmp    0x4819d9
4817d7:	ba 3e 00 00 00       	mov    $0x3e,%edx
4817dc:	83 c7 02             	add    $0x2,%edi
4817df:	89 7d fc             	mov    %edi,-0x4(%ebp)
4817e2:	0f b7 07             	movzwl (%edi),%eax
4817e5:	89 7d 94             	mov    %edi,-0x6c(%ebp)
4817e8:	83 f8 30             	cmp    $0x30,%eax
4817eb:	72 09                	jb     0x4817f6
4817ed:	83 f8 39             	cmp    $0x39,%eax
4817f0:	0f 86 39 09 00 00    	jbe    0x48212f
4817f6:	c7 45 bc ff 00 00 00 	movl   $0xff,-0x44(%ebp)
4817fd:	66 3b 45 bc          	cmp    -0x44(%ebp),%ax
481801:	77 22                	ja     0x481825
481803:	8b 49 0c             	mov    0xc(%ecx),%ecx
481806:	0f b7 c0             	movzwl %ax,%eax
481809:	f6 04 08 10          	testb  $0x10,(%eax,%ecx,1)
48180d:	74 16                	je     0x481825
48180f:	83 c7 02             	add    $0x2,%edi
481812:	89 7d fc             	mov    %edi,-0x4(%ebp)
481815:	0f b7 07             	movzwl (%edi),%eax
481818:	c7 45 bc ff 00 00 00 	movl   $0xff,-0x44(%ebp)
48181f:	66 3b 45 bc          	cmp    -0x44(%ebp),%ax
481823:	76 e1                	jbe    0x481806
481825:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
481828:	8b c7                	mov    %edi,%eax
48182a:	2b 45 94             	sub    -0x6c(%ebp),%eax
48182d:	d1 f8                	sar    $1,%eax
48182f:	89 45 9c             	mov    %eax,-0x64(%ebp)
481832:	8b 45 28             	mov    0x28(%ebp),%eax
481835:	85 c9                	test   %ecx,%ecx
481837:	0f 84 87 01 00 00    	je     0x4819c4
48183d:	8b 40 40             	mov    0x40(%eax),%eax
481840:	40                   	inc    %eax
481841:	89 45 ec             	mov    %eax,-0x14(%ebp)
481844:	66 39 17             	cmp    %dx,(%edi)
481847:	0f 85 d2 09 00 00    	jne    0x48221f
48184d:	8b 55 28             	mov    0x28(%ebp),%edx
481850:	8b 4a 30             	mov    0x30(%edx),%ecx
481853:	89 4d f0             	mov    %ecx,-0x10(%ebp)
481856:	81 f9 10 27 00 00    	cmp    $0x2710,%ecx
48185c:	0f 8d a8 09 00 00    	jge    0x48220a
481862:	8b 45 9c             	mov    -0x64(%ebp),%eax
481865:	83 c0 02             	add    $0x2,%eax
481868:	3b 42 34             	cmp    0x34(%edx),%eax
48186b:	7e 0d                	jle    0x48187a
48186d:	83 7d 9c 20          	cmpl   $0x20,-0x64(%ebp)
481871:	89 42 34             	mov    %eax,0x34(%edx)
481874:	0f 8f 4e 09 00 00    	jg     0x4821c8
48187a:	8b 42 28             	mov    0x28(%edx),%eax
48187d:	33 d2                	xor    %edx,%edx
48187f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
481882:	89 55 d4             	mov    %edx,-0x2c(%ebp)
481885:	85 c9                	test   %ecx,%ecx