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
52799a:	b8 02 00 00 00       	mov    $0x2,%eax
52799f:	eb 16                	jmp    0x5279b7
5279a1:	33 c0                	xor    %eax,%eax
5279a3:	eb 12                	jmp    0x5279b7
5279a5:	83 3c 24 04          	cmpl   $0x4,(%esp)
5279a9:	75 07                	jne    0x5279b2
5279ab:	b8 03 00 00 00       	mov    $0x3,%eax
5279b0:	eb 05                	jmp    0x5279b7
5279b2:	b8 01 00 00 00       	mov    $0x1,%eax
5279b7:	5a                   	pop    %edx
5279b8:	5f                   	pop    %edi
5279b9:	5e                   	pop    %esi
5279ba:	5b                   	pop    %ebx
5279bb:	c3                   	ret
5279bc:	53                   	push   %ebx
5279bd:	56                   	push   %esi
5279be:	57                   	push   %edi
5279bf:	83 c4 f8             	add    $0xfffffff8,%esp
5279c2:	33 f6                	xor    %esi,%esi
5279c4:	8b d8                	mov    %eax,%ebx
5279c6:	89 14 24             	mov    %edx,(%esp)
5279c9:	81 7b 6c 06 01 00 00 	cmpl   $0x106,0x6c(%ebx)
5279d0:	73 26                	jae    0x5279f8
5279d2:	8b c3                	mov    %ebx,%eax
5279d4:	e8 ab fa ff ff       	call   0x527484
5279d9:	8b 43 6c             	mov    0x6c(%ebx),%eax
5279dc:	3d 06 01 00 00       	cmp    $0x106,%eax
5279e1:	73 0d                	jae    0x5279f0
5279e3:	83 3c 24 00          	cmpl   $0x0,(%esp)
5279e7:	75 07                	jne    0x5279f0
5279e9:	33 c0                	xor    %eax,%eax
5279eb:	e9 8c 03 00 00       	jmp    0x527d7c
5279f0:	85 c0                	test   %eax,%eax
5279f2:	0f 84 c8 02 00 00    	je     0x527cc0
5279f8:	83 7b 6c 03          	cmpl   $0x3,0x6c(%ebx)
5279fc:	72 3d                	jb     0x527a3b
5279fe:	8b 4b 50             	mov    0x50(%ebx),%ecx
527a01:	8b 43 40             	mov    0x40(%ebx),%eax
527a04:	d3 e0                	shl    %cl,%eax
527a06:	8b 53 30             	mov    0x30(%ebx),%edx
527a09:	8b 4b 64             	mov    0x64(%ebx),%ecx
527a0c:	0f b6 54 0a 02       	movzbl 0x2(%edx,%ecx,1),%edx
527a11:	33 c2                	xor    %edx,%eax
527a13:	23 43 4c             	and    0x4c(%ebx),%eax
527a16:	89 43 40             	mov    %eax,0x40(%ebx)
527a19:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
527a1c:	0f b7 34 41          	movzwl (%ecx,%eax,2),%esi
527a20:	8b 43 64             	mov    0x64(%ebx),%eax
527a23:	23 43 2c             	and    0x2c(%ebx),%eax
527a26:	8b 53 38             	mov    0x38(%ebx),%edx
527a29:	66 89 34 42          	mov    %si,(%edx,%eax,2)
527a2d:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
527a30:	8b 43 40             	mov    0x40(%ebx),%eax
527a33:	66 8b 53 64          	mov    0x64(%ebx),%dx
527a37:	66 89 14 41          	mov    %dx,(%ecx,%eax,2)
527a3b:	8b 4b 58             	mov    0x58(%ebx),%ecx
527a3e:	89 4b 70             	mov    %ecx,0x70(%ebx)
527a41:	8b 43 68             	mov    0x68(%ebx),%eax
527a44:	89 43 5c             	mov    %eax,0x5c(%ebx)
527a47:	c7 43 58 02 00 00 00 	movl   $0x2,0x58(%ebx)
527a4e:	85 f6                	test   %esi,%esi
527a50:	74 58                	je     0x527aaa
527a52:	8b 53 70             	mov    0x70(%ebx),%edx
527a55:	3b 53 78             	cmp    0x78(%ebx),%edx
527a58:	73 50                	jae    0x527aaa
527a5a:	8b 4b 64             	mov    0x64(%ebx),%ecx
527a5d:	8b 43 24             	mov    0x24(%ebx),%eax
527a60:	2d 06 01 00 00       	sub    $0x106,%eax
527a65:	2b ce                	sub    %esi,%ecx
527a67:	3b c8                	cmp    %eax,%ecx
527a69:	77 3f                	ja     0x527aaa
527a6b:	83 bb 80 00 00 00 02 	cmpl   $0x2,0x80(%ebx)
527a72:	74 0c                	je     0x527a80
527a74:	8b d6                	mov    %esi,%edx
527a76:	8b c3                	mov    %ebx,%eax
527a78:	e8 8f f8 ff ff       	call   0x52730c
527a7d:	89 43 58             	mov    %eax,0x58(%ebx)
527a80:	83 7b 58 05          	cmpl   $0x5,0x58(%ebx)
527a84:	77 24                	ja     0x527aaa
527a86:	83 bb 80 00 00 00 01 	cmpl   $0x1,0x80(%ebx)
527a8d:	74 14                	je     0x527aa3
527a8f:	83 7b 58 03          	cmpl   $0x3,0x58(%ebx)
527a93:	75 15                	jne    0x527aaa
527a95:	8b 53 64             	mov    0x64(%ebx),%edx
527a98:	2b 53 68             	sub    0x68(%ebx),%edx
527a9b:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
527aa1:	76 07                	jbe    0x527aaa
527aa3:	c7 43 58 02 00 00 00 	movl   $0x2,0x58(%ebx)
527aaa:	8b 43 70             	mov    0x70(%ebx),%eax
527aad:	83 f8 03             	cmp    $0x3,%eax
527ab0:	0f 82 54 01 00 00    	jb     0x527c0a
527ab6:	3b 43 58             	cmp    0x58(%ebx),%eax
527ab9:	0f 82 4b 01 00 00    	jb     0x527c0a
527abf:	8b 53 64             	mov    0x64(%ebx),%edx
527ac2:	03 53 6c             	add    0x6c(%ebx),%edx
527ac5:	83 ea 03             	sub    $0x3,%edx
527ac8:	89 54 24 04          	mov    %edx,0x4(%esp)
527acc:	66 8b 43 64          	mov    0x64(%ebx),%ax
527ad0:	8b 8b 9c 16 00 00    	mov    0x169c(%ebx),%ecx
527ad6:	48                   	dec    %eax
527ad7:	8b bb 98 16 00 00    	mov    0x1698(%ebx),%edi
527add:	66 2b 43 5c          	sub    0x5c(%ebx),%ax
527ae1:	8a 53 70             	mov    0x70(%ebx),%dl
527ae4:	66 89 04 79          	mov    %ax,(%ecx,%edi,2)
527ae8:	80 ea 03             	sub    $0x3,%dl
527aeb:	8b 8b 98 16 00 00    	mov    0x1698(%ebx),%ecx
527af1:	48                   	dec    %eax
527af2:	ff 83 98 16 00 00    	incl   0x1698(%ebx)
527af8:	8b bb 90 16 00 00    	mov    0x1690(%ebx),%edi
527afe:	88 14 0f             	mov    %dl,(%edi,%ecx,1)
527b01:	81 e2 ff 00 00 00    	and    $0xff,%edx
527b07:	33 c9                	xor    %ecx,%ecx
527b09:	8a 8a a7 9b 69 00    	mov    0x699ba7(%edx),%cl
527b0f:	66 ff 84 8b 90 04 00 	incw   0x490(%ebx,%ecx,4)
527b16:	00
527b17:	66 3d 00 01          	cmp    $0x100,%ax
527b1b:	73 0b                	jae    0x527b28
527b1d:	0f b7 d0             	movzwl %ax,%edx
527b20:	8a 8a a7 99 69 00    	mov    0x6999a7(%edx),%cl
527b26:	eb 0c                	jmp    0x527b34
527b28:	0f b7 c0             	movzwl %ax,%eax
527b2b:	c1 f8 07             	sar    $0x7,%eax
527b2e:	8a 88 a7 9a 69 00    	mov    0x699aa7(%eax),%cl
527b34:	33 c0                	xor    %eax,%eax
527b36:	8a c1                	mov    %cl,%al
527b38:	66 ff 84 83 80 09 00 	incw   0x980(%ebx,%eax,4)
527b3f:	00
527b40:	8b 93 94 16 00 00    	mov    0x1694(%ebx),%edx
527b46:	4a                   	dec    %edx
527b47:	3b 93 98 16 00 00    	cmp    0x1698(%ebx),%edx
527b4d:	0f 94 c0             	sete   %al
527b50:	83 e0 01             	and    $0x1,%eax
527b53:	8b 53 70             	mov    0x70(%ebx),%edx
527b56:	4a                   	dec    %edx
527b57:	29 53 6c             	sub    %edx,0x6c(%ebx)
527b5a:	83 6b 70 02          	subl   $0x2,0x70(%ebx)
527b5e:	ff 43 64             	incl   0x64(%ebx)
527b61:	8b 4b 64             	mov    0x64(%ebx),%ecx
527b64:	3b 4c 24 04          	cmp    0x4(%esp),%ecx
527b68:	77 40                	ja     0x527baa
527b6a:	8b 4b 50             	mov    0x50(%ebx),%ecx
527b6d:	8b 53 40             	mov    0x40(%ebx),%edx
527b70:	d3 e2                	shl    %cl,%edx
527b72:	8b 4b 30             	mov    0x30(%ebx),%ecx
527b75:	8b 73 64             	mov    0x64(%ebx),%esi
527b78:	0f b6 4c 31 02       	movzbl 0x2(%ecx,%esi,1),%ecx
527b7d:	33 d1                	xor    %ecx,%edx
527b7f:	23 53 4c             	and    0x4c(%ebx),%edx
527b82:	89 53 40             	mov    %edx,0x40(%ebx)
527b85:	8b 53 3c             	mov    0x3c(%ebx),%edx
527b88:	8b 4b 40             	mov    0x40(%ebx),%ecx
527b8b:	0f b7 34 4a          	movzwl (%edx,%ecx,2),%esi
527b8f:	8b 53 64             	mov    0x64(%ebx),%edx
527b92:	23 53 2c             	and    0x2c(%ebx),%edx
527b95:	8b 4b 38             	mov    0x38(%ebx),%ecx
527b98:	66 89 34 51          	mov    %si,(%ecx,%edx,2)
527b9c:	8b 53 3c             	mov    0x3c(%ebx),%edx
527b9f:	8b 4b 40             	mov    0x40(%ebx),%ecx
527ba2:	66 8b 7b 64          	mov    0x64(%ebx),%di
527ba6:	66 89 3c 4a          	mov    %di,(%edx,%ecx,2)
527baa:	ff 4b 70             	decl   0x70(%ebx)
527bad:	75 af                	jne    0x527b5e
527baf:	33 d2                	xor    %edx,%edx
527bb1:	89 53 60             	mov    %edx,0x60(%ebx)
527bb4:	c7 43 58 02 00 00 00 	movl   $0x2,0x58(%ebx)
527bbb:	ff 43 64             	incl   0x64(%ebx)
527bbe:	85 c0                	test   %eax,%eax
527bc0:	0f 84 03 fe ff ff    	je     0x5279c9
527bc6:	6a 00                	push   $0x0
527bc8:	8b 4b 64             	mov    0x64(%ebx),%ecx
527bcb:	2b 4b 54             	sub    0x54(%ebx),%ecx
527bce:	83 7b 54 00          	cmpl   $0x0,0x54(%ebx)
527bd2:	7c 08                	jl     0x527bdc
527bd4:	8b 53 30             	mov    0x30(%ebx),%edx
527bd7:	03 53 54             	add    0x54(%ebx),%edx