527558:	8b 43 30             	mov    0x30(%ebx),%eax
52755b:	8b 53 64             	mov    0x64(%ebx),%edx
52755e:	0f b6 04 10          	movzbl (%eax,%edx,1),%eax
527562:	89 43 40             	mov    %eax,0x40(%ebx)
527565:	8b 4b 50             	mov    0x50(%ebx),%ecx
527568:	d3 e0                	shl    %cl,%eax
52756a:	8b 53 30             	mov    0x30(%ebx),%edx
52756d:	8b 4b 64             	mov    0x64(%ebx),%ecx
527570:	0f b6 54 0a 01       	movzbl 0x1(%edx,%ecx,1),%edx
527575:	33 c2                	xor    %edx,%eax
527577:	23 43 4c             	and    0x4c(%ebx),%eax
52757a:	89 43 40             	mov    %eax,0x40(%ebx)
52757d:	81 7b 6c 06 01 00 00 	cmpl   $0x106,0x6c(%ebx)
527584:	73 0c                	jae    0x527592
527586:	8b 03                	mov    (%ebx),%eax
527588:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
52758c:	0f 85 fc fe ff ff    	jne    0x52748e
527592:	5a                   	pop    %edx
527593:	5d                   	pop    %ebp
527594:	5f                   	pop    %edi
527595:	5e                   	pop    %esi
527596:	5b                   	pop    %ebx
527597:	c3                   	ret
527598:	53                   	push   %ebx
527599:	8b d8                	mov    %eax,%ebx
52759b:	56                   	push   %esi
52759c:	51                   	push   %ecx
52759d:	89 14 24             	mov    %edx,(%esp)
5275a0:	be ff ff 00 00       	mov    $0xffff,%esi
5275a5:	8b 43 0c             	mov    0xc(%ebx),%eax
5275a8:	83 e8 05             	sub    $0x5,%eax
5275ab:	3b f0                	cmp    %eax,%esi
5275ad:	76 02                	jbe    0x5275b1
5275af:	8b f0                	mov    %eax,%esi
5275b1:	83 7b 6c 01          	cmpl   $0x1,0x6c(%ebx)
5275b5:	77 23                	ja     0x5275da
5275b7:	8b c3                	mov    %ebx,%eax
5275b9:	e8 c6 fe ff ff       	call   0x527484
5275be:	8b 43 6c             	mov    0x6c(%ebx),%eax
5275c1:	85 c0                	test   %eax,%eax
5275c3:	75 0d                	jne    0x5275d2
5275c5:	83 3c 24 00          	cmpl   $0x0,(%esp)
5275c9:	75 07                	jne    0x5275d2
5275cb:	33 c0                	xor    %eax,%eax
5275cd:	e9 19 01 00 00       	jmp    0x5276eb
5275d2:	85 c0                	test   %eax,%eax
5275d4:	0f 84 b1 00 00 00    	je     0x52768b
5275da:	8b 53 6c             	mov    0x6c(%ebx),%edx
5275dd:	33 c9                	xor    %ecx,%ecx
5275df:	01 53 64             	add    %edx,0x64(%ebx)
5275e2:	89 4b 6c             	mov    %ecx,0x6c(%ebx)
5275e5:	8b 43 54             	mov    0x54(%ebx),%eax
5275e8:	8b 53 64             	mov    0x64(%ebx),%edx
5275eb:	03 c6                	add    %esi,%eax
5275ed:	85 d2                	test   %edx,%edx
5275ef:	74 04                	je     0x5275f5
5275f1:	3b c2                	cmp    %edx,%eax
5275f3:	77 43                	ja     0x527638
5275f5:	2b d0                	sub    %eax,%edx
5275f7:	89 53 6c             	mov    %edx,0x6c(%ebx)
5275fa:	89 43 64             	mov    %eax,0x64(%ebx)
5275fd:	6a 00                	push   $0x0
5275ff:	8b 4b 64             	mov    0x64(%ebx),%ecx
527602:	2b 4b 54             	sub    0x54(%ebx),%ecx
527605:	83 7b 54 00          	cmpl   $0x0,0x54(%ebx)
527609:	7c 08                	jl     0x527613
52760b:	8b 53 30             	mov    0x30(%ebx),%edx
52760e:	03 53 54             	add    0x54(%ebx),%edx
527611:	eb 02                	jmp    0x527615
527613:	33 d2                	xor    %edx,%edx
527615:	8b c3                	mov    %ebx,%eax
527617:	e8 00 47 00 00       	call   0x52bd1c
52761c:	8b 4b 64             	mov    0x64(%ebx),%ecx
52761f:	89 4b 54             	mov    %ecx,0x54(%ebx)
527622:	8b 03                	mov    (%ebx),%eax
527624:	e8 e7 f6 ff ff       	call   0x526d10
527629:	8b 13                	mov    (%ebx),%edx
52762b:	83 7a 10 00          	cmpl   $0x0,0x10(%edx)
52762f:	75 07                	jne    0x527638
527631:	33 c0                	xor    %eax,%eax
527633:	e9 b3 00 00 00       	jmp    0x5276eb
527638:	8b 53 64             	mov    0x64(%ebx),%edx
52763b:	8b 43 54             	mov    0x54(%ebx),%eax
52763e:	2b d0                	sub    %eax,%edx
527640:	8b 4b 24             	mov    0x24(%ebx),%ecx
527643:	81 e9 06 01 00 00    	sub    $0x106,%ecx
527649:	3b d1                	cmp    %ecx,%edx
52764b:	0f 82 60 ff ff ff    	jb     0x5275b1
527651:	6a 00                	push   $0x0
527653:	8b 4b 64             	mov    0x64(%ebx),%ecx
527656:	2b 4b 54             	sub    0x54(%ebx),%ecx
527659:	85 c0                	test   %eax,%eax
52765b:	7c 08                	jl     0x527665
52765d:	8b 53 30             	mov    0x30(%ebx),%edx
527660:	03 53 54             	add    0x54(%ebx),%edx
527663:	eb 02                	jmp    0x527667
527665:	33 d2                	xor    %edx,%edx
527667:	8b c3                	mov    %ebx,%eax
527669:	e8 ae 46 00 00       	call   0x52bd1c
52766e:	8b 4b 64             	mov    0x64(%ebx),%ecx
527671:	89 4b 54             	mov    %ecx,0x54(%ebx)
527674:	8b 03                	mov    (%ebx),%eax
527676:	e8 95 f6 ff ff       	call   0x526d10
52767b:	8b 13                	mov    (%ebx),%edx
52767d:	83 7a 10 00          	cmpl   $0x0,0x10(%edx)
527681:	0f 85 2a ff ff ff    	jne    0x5275b1
527687:	33 c0                	xor    %eax,%eax
527689:	eb 60                	jmp    0x5276eb
52768b:	83 3c 24 04          	cmpl   $0x4,(%esp)
52768f:	0f 94 c2             	sete   %dl
527692:	83 e2 01             	and    $0x1,%edx
527695:	52                   	push   %edx
527696:	8b 4b 64             	mov    0x64(%ebx),%ecx
527699:	2b 4b 54             	sub    0x54(%ebx),%ecx
52769c:	83 7b 54 00          	cmpl   $0x0,0x54(%ebx)
5276a0:	7c 08                	jl     0x5276aa
5276a2:	8b 53 30             	mov    0x30(%ebx),%edx
5276a5:	03 53 54             	add    0x54(%ebx),%edx
5276a8:	eb 02                	jmp    0x5276ac
5276aa:	33 d2                	xor    %edx,%edx
5276ac:	8b c3                	mov    %ebx,%eax
5276ae:	e8 69 46 00 00       	call   0x52bd1c
5276b3:	8b 4b 64             	mov    0x64(%ebx),%ecx
5276b6:	89 4b 54             	mov    %ecx,0x54(%ebx)
5276b9:	8b 03                	mov    (%ebx),%eax
5276bb:	e8 50 f6 ff ff       	call   0x526d10
5276c0:	8b 13                	mov    (%ebx),%edx
5276c2:	83 7a 10 00          	cmpl   $0x0,0x10(%edx)
5276c6:	75 11                	jne    0x5276d9
5276c8:	83 3c 24 04          	cmpl   $0x4,(%esp)
5276cc:	75 07                	jne    0x5276d5
5276ce:	b8 02 00 00 00       	mov    $0x2,%eax
5276d3:	eb 16                	jmp    0x5276eb
5276d5:	33 c0                	xor    %eax,%eax
5276d7:	eb 12                	jmp    0x5276eb
5276d9:	83 3c 24 04          	cmpl   $0x4,(%esp)
5276dd:	75 07                	jne    0x5276e6
5276df:	b8 03 00 00 00       	mov    $0x3,%eax
5276e4:	eb 05                	jmp    0x5276eb
5276e6:	b8 01 00 00 00       	mov    $0x1,%eax
5276eb:	5a                   	pop    %edx
5276ec:	5e                   	pop    %esi
5276ed:	5b                   	pop    %ebx
5276ee:	c3                   	ret
5276ef:	90                   	nop
5276f0:	53                   	push   %ebx
5276f1:	56                   	push   %esi
5276f2:	57                   	push   %edi
5276f3:	51                   	push   %ecx
5276f4:	89 14 24             	mov    %edx,(%esp)
5276f7:	8b d8                	mov    %eax,%ebx
5276f9:	33 f6                	xor    %esi,%esi
5276fb:	81 7b 6c 06 01 00 00 	cmpl   $0x106,0x6c(%ebx)
527702:	73 26                	jae    0x52772a
527704:	8b c3                	mov    %ebx,%eax
527706:	e8 79 fd ff ff       	call   0x527484
52770b:	8b 43 6c             	mov    0x6c(%ebx),%eax
52770e:	3d 06 01 00 00       	cmp    $0x106,%eax
527713:	73 0d                	jae    0x527722
527715:	83 3c 24 00          	cmpl   $0x0,(%esp)
527719:	75 07                	jne    0x527722
52771b:	33 c0                	xor    %eax,%eax
52771d:	e9 95 02 00 00       	jmp    0x5279b7
527722:	85 c0                	test   %eax,%eax
527724:	0f 84 2d 02 00 00    	je     0x527957
52772a:	83 7b 6c 03          	cmpl   $0x3,0x6c(%ebx)
52772e:	72 3d                	jb     0x52776d
527730:	8b 4b 50             	mov    0x50(%ebx),%ecx
527733:	8b 43 40             	mov    0x40(%ebx),%eax
527736:	d3 e0                	shl    %cl,%eax
527738:	8b 53 30             	mov    0x30(%ebx),%edx
52773b:	8b 4b 64             	mov    0x64(%ebx),%ecx
52773e:	0f b6 54 0a 02       	movzbl 0x2(%edx,%ecx,1),%edx
527743:	33 c2                	xor    %edx,%eax
527745:	23 43 4c             	and    0x4c(%ebx),%eax
527748:	89 43 40             	mov    %eax,0x40(%ebx)
52774b:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
52774e:	0f b7 34 41          	movzwl (%ecx,%eax,2),%esi
527752:	8b 43 64             	mov    0x64(%ebx),%eax
527755:	23 43 2c             	and    0x2c(%ebx),%eax
527758:	8b 53 38             	mov    0x38(%ebx),%edx
52775b:	66 89 34 42          	mov    %si,(%edx,%eax,2)
52775f:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
527762:	8b 43 40             	mov    0x40(%ebx),%eax
527765:	66 8b 53 64          	mov    0x64(%ebx),%dx
527769:	66 89 14 41          	mov    %dx,(%ecx,%eax,2)
52776d:	85 f6                	test   %esi,%esi
52776f:	74 26                	je     0x527797
527771:	8b 4b 64             	mov    0x64(%ebx),%ecx
527774:	8b 43 24             	mov    0x24(%ebx),%eax
527777:	2d 06 01 00 00       	sub    $0x106,%eax
52777c:	2b ce                	sub    %esi,%ecx
52777e:	3b c8                	cmp    %eax,%ecx
527780:	77 15                	ja     0x527797
527782:	83 bb 80 00 00 00 02 	cmpl   $0x2,0x80(%ebx)
527789:	74 0c                	je     0x527797
52778b:	8b d6                	mov    %esi,%edx
52778d:	8b c3                	mov    %ebx,%eax
52778f:	e8 78 fb ff ff       	call   0x52730c
527794:	89 43 58             	mov    %eax,0x58(%ebx)
527797:	83 7b 58 03          	cmpl   $0x3,0x58(%ebx)
52779b:	0f 82 1c 01 00 00    	jb     0x5278bd
5277a1:	66 8b 43 64          	mov    0x64(%ebx),%ax
5277a5:	8b 8b 9c 16 00 00    	mov    0x169c(%ebx),%ecx
5277ab:	66 2b 43 68          	sub    0x68(%ebx),%ax
5277af:	8b bb 98 16 00 00    	mov    0x1698(%ebx),%edi
5277b5:	8a 53 58             	mov    0x58(%ebx),%dl
5277b8:	66 89 04 79          	mov    %ax,(%ecx,%edi,2)
5277bc:	80 ea 03             	sub    $0x3,%dl
5277bf:	8b 8b 98 16 00 00    	mov    0x1698(%ebx),%ecx
5277c5:	48                   	dec    %eax
5277c6:	ff 83 98 16 00 00    	incl   0x1698(%ebx)
5277cc:	8b bb 90 16 00 00    	mov    0x1690(%ebx),%edi
5277d2:	88 14 0f             	mov    %dl,(%edi,%ecx,1)
5277d5:	81 e2 ff 00 00 00    	and    $0xff,%edx
5277db:	33 c9                	xor    %ecx,%ecx
5277dd:	8a 8a a7 9b 69 00    	mov    0x699ba7(%edx),%cl
5277e3:	66 ff 84 8b 90 04 00 	incw   0x490(%ebx,%ecx,4)
5277ea:	00
5277eb:	66 3d 00 01          	cmp    $0x100,%ax
5277ef:	73 0b                	jae    0x5277fc
5277f1:	0f b7 d0             	movzwl %ax,%edx
5277f4:	8a 8a a7 99 69 00    	mov    0x6999a7(%edx),%cl
5277fa:	eb 0c                	jmp    0x527808
5277fc:	0f b7 c0             	movzwl %ax,%eax
5277ff:	c1 f8 07             	sar    $0x7,%eax
527802:	8a 88 a7 9a 69 00    	mov    0x699aa7(%eax),%cl
527808:	33 c0                	xor    %eax,%eax
52780a:	8a c1                	mov    %cl,%al
52780c:	66 ff 84 83 80 09 00 	incw   0x980(%ebx,%eax,4)
527813:	00
527814:	8b 93 94 16 00 00    	mov    0x1694(%ebx),%edx
52781a:	4a                   	dec    %edx
52781b:	3b 93 98 16 00 00    	cmp    0x1698(%ebx),%edx
527821:	0f 94 c0             	sete   %al
527824:	83 e0 01             	and    $0x1,%eax
527827:	8b 53 58             	mov    0x58(%ebx),%edx
52782a:	29 53 6c             	sub    %edx,0x6c(%ebx)
52782d:	8b 4b 58             	mov    0x58(%ebx),%ecx
527830:	3b 4b 78             	cmp    0x78(%ebx),%ecx
527833:	77 56                	ja     0x52788b
527835:	83 7b 6c 03          	cmpl   $0x3,0x6c(%ebx)
527839:	72 50                	jb     0x52788b
52783b:	ff 4b 58             	decl   0x58(%ebx)
52783e:	ff 43 64             	incl   0x64(%ebx)
527841:	8b 4b 50             	mov    0x50(%ebx),%ecx
527844:	8b 53 40             	mov    0x40(%ebx),%edx
527847:	d3 e2                	shl    %cl,%edx
527849:	8b 4b 30             	mov    0x30(%ebx),%ecx
52784c:	8b 73 64             	mov    0x64(%ebx),%esi
52784f:	0f b6 4c 31 02       	movzbl 0x2(%ecx,%esi,1),%ecx
527854:	33 d1                	xor    %ecx,%edx
527856:	23 53 4c             	and    0x4c(%ebx),%edx
527859:	89 53 40             	mov    %edx,0x40(%ebx)
52785c:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
52785f:	0f b7 34 51          	movzwl (%ecx,%edx,2),%esi
527863:	8b 53 64             	mov    0x64(%ebx),%edx
527866:	23 53 2c             	and    0x2c(%ebx),%edx
527869:	8b 4b 38             	mov    0x38(%ebx),%ecx
52786c:	66 89 34 51          	mov    %si,(%ecx,%edx,2)
527870:	8b 53 3c             	mov    0x3c(%ebx),%edx
527873:	8b 4b 40             	mov    0x40(%ebx),%ecx
527876:	66 8b 7b 64          	mov    0x64(%ebx),%di
52787a:	66 89 3c 4a          	mov    %di,(%edx,%ecx,2)
52787e:	ff 4b 58             	decl   0x58(%ebx)
527881:	75 bb                	jne    0x52783e
527883:	ff 43 64             	incl   0x64(%ebx)
527886:	e9 88 00 00 00       	jmp    0x527913
52788b:	8b 53 58             	mov    0x58(%ebx),%edx
52788e:	33 c9                	xor    %ecx,%ecx
527890:	01 53 64             	add    %edx,0x64(%ebx)
527893:	89 4b 58             	mov    %ecx,0x58(%ebx)
527896:	8b 4b 64             	mov    0x64(%ebx),%ecx
527899:	8b 53 30             	mov    0x30(%ebx),%edx
52789c:	0f b6 14 0a          	movzbl (%edx,%ecx,1),%edx
5278a0:	89 53 40             	mov    %edx,0x40(%ebx)
5278a3:	8b 4b 50             	mov    0x50(%ebx),%ecx
5278a6:	8b 7b 64             	mov    0x64(%ebx),%edi
5278a9:	d3 e2                	shl    %cl,%edx
5278ab:	8b 4b 30             	mov    0x30(%ebx),%ecx
5278ae:	0f b6 4c 39 01       	movzbl 0x1(%ecx,%edi,1),%ecx
5278b3:	33 d1                	xor    %ecx,%edx
5278b5:	23 53 4c             	and    0x4c(%ebx),%edx
5278b8:	89 53 40             	mov    %edx,0x40(%ebx)
5278bb:	eb 56                	jmp    0x527913
5278bd:	8b 43 30             	mov    0x30(%ebx),%eax
5278c0:	8b 53 64             	mov    0x64(%ebx),%edx
5278c3:	8a 04 10             	mov    (%eax,%edx,1),%al
5278c6:	8b 93 9c 16 00 00    	mov    0x169c(%ebx),%edx
5278cc:	8b 8b 98 16 00 00    	mov    0x1698(%ebx),%ecx
5278d2:	66 c7 04 4a 00 00    	movw   $0x0,(%edx,%ecx,2)
5278d8:	8b 93 98 16 00 00    	mov    0x1698(%ebx),%edx
5278de:	ff 83 98 16 00 00    	incl   0x1698(%ebx)
5278e4:	8b 8b 90 16 00 00    	mov    0x1690(%ebx),%ecx
5278ea:	88 04 11             	mov    %al,(%ecx,%edx,1)
5278ed:	25 ff 00 00 00       	and    $0xff,%eax
5278f2:	66 ff 84 83 8c 00 00 	incw   0x8c(%ebx,%eax,4)
5278f9:	00
5278fa:	8b 83 94 16 00 00    	mov    0x1694(%ebx),%eax
527900:	48                   	dec    %eax
527901:	3b 83 98 16 00 00    	cmp    0x1698(%ebx),%eax
527907:	0f 94 c0             	sete   %al
52790a:	83 e0 01             	and    $0x1,%eax
52790d:	ff 4b 6c             	decl   0x6c(%ebx)
527910:	ff 43 64             	incl   0x64(%ebx)
527913:	85 c0                	test   %eax,%eax
527915:	0f 84 e0 fd ff ff    	je     0x5276fb
52791b:	6a 00                	push   $0x0
52791d:	8b 4b 64             	mov    0x64(%ebx),%ecx
527920:	2b 4b 54             	sub    0x54(%ebx),%ecx
527923:	83 7b 54 00          	cmpl   $0x0,0x54(%ebx)
527927:	7c 08                	jl     0x527931
527929:	8b 53 30             	mov    0x30(%ebx),%edx
52792c:	03 53 54             	add    0x54(%ebx),%edx
52792f:	eb 02                	jmp    0x527933
527931:	33 d2                	xor    %edx,%edx
527933:	8b c3                	mov    %ebx,%eax
527935:	e8 e2 43 00 00       	call   0x52bd1c
52793a:	8b 4b 64             	mov    0x64(%ebx),%ecx
52793d:	89 4b 54             	mov    %ecx,0x54(%ebx)
527940:	8b 03                	mov    (%ebx),%eax
527942:	e8 c9 f3 ff ff       	call   0x526d10
527947:	8b 13                	mov    (%ebx),%edx
527949:	83 7a 10 00          	cmpl   $0x0,0x10(%edx)
52794d:	0f 85 a8 fd ff ff    	jne    0x5276fb
527953:	33 c0                	xor    %eax,%eax
527955:	eb 60                	jmp    0x5279b7
527957:	83 3c 24 04          	cmpl   $0x4,(%esp)
52795b:	0f 94 c2             	sete   %dl
52795e:	83 e2 01             	and    $0x1,%edx
527961:	52                   	push   %edx
527962:	8b 4b 64             	mov    0x64(%ebx),%ecx
527965:	2b 4b 54             	sub    0x54(%ebx),%ecx
527968:	83 7b 54 00          	cmpl   $0x0,0x54(%ebx)
52796c:	7c 08                	jl     0x527976
52796e:	8b 53 30             	mov    0x30(%ebx),%edx
527971:	03 53 54             	add    0x54(%ebx),%edx
527974:	eb 02                	jmp    0x527978
527976:	33 d2                	xor    %edx,%edx
527978:	8b c3                	mov    %ebx,%eax
52797a:	e8 9d 43 00 00       	call   0x52bd1c
52797f:	8b 4b 64             	mov    0x64(%ebx),%ecx
527982:	89 4b 54             	mov    %ecx,0x54(%ebx)
527985:	8b 03                	mov    (%ebx),%eax
527987:	e8 84 f3 ff ff       	call   0x526d10
52798c:	8b 13                	mov    (%ebx),%edx
52798e:	83 7a 10 00          	cmpl   $0x0,0x10(%edx)
527992:	75 11                	jne    0x5279a5
527994:	83 3c 24 04          	cmpl   $0x4,(%esp)
527998:	75 07                	jne    0x5279a1