52b661:	8d 93 28 0b 00 00    	lea    0xb28(%ebx),%edx
52b667:	8b c3                	mov    %ebx,%eax
52b669:	e8 2e f6 ff ff       	call   0x52ac9c
52b66e:	b8 12 00 00 00       	mov    $0x12,%eax
52b673:	ba a6 99 69 00       	mov    $0x6999a6,%edx
52b678:	33 c9                	xor    %ecx,%ecx
52b67a:	8a 0a                	mov    (%edx),%cl
52b67c:	66 83 bc 8b 76 0a 00 	cmpw   $0x0,0xa76(%ebx,%ecx,4)
52b683:	00 00
52b685:	75 07                	jne    0x52b68e
52b687:	48                   	dec    %eax
52b688:	4a                   	dec    %edx
52b689:	83 f8 03             	cmp    $0x3,%eax
52b68c:	7d ea                	jge    0x52b678
52b68e:	8d 14 40             	lea    (%eax,%eax,2),%edx
52b691:	83 c2 11             	add    $0x11,%edx
52b694:	01 93 a0 16 00 00    	add    %edx,0x16a0(%ebx)
52b69a:	5b                   	pop    %ebx
52b69b:	c3                   	ret
52b69c:	55                   	push   %ebp
52b69d:	8b ec                	mov    %esp,%ebp
52b69f:	83 c4 f4             	add    $0xfffffff4,%esp
52b6a2:	53                   	push   %ebx
52b6a3:	56                   	push   %esi
52b6a4:	57                   	push   %edi
52b6a5:	89 4d f8             	mov    %ecx,-0x8(%ebp)
52b6a8:	89 55 fc             	mov    %edx,-0x4(%ebp)
52b6ab:	8b d8                	mov    %eax,%ebx
52b6ad:	b8 05 00 00 00       	mov    $0x5,%eax
52b6b2:	ba 10 00 00 00       	mov    $0x10,%edx
52b6b7:	2b d0                	sub    %eax,%edx
52b6b9:	8b b3 b4 16 00 00    	mov    0x16b4(%ebx),%esi
52b6bf:	3b d6                	cmp    %esi,%edx
52b6c1:	7d 72                	jge    0x52b735
52b6c3:	8b 55 fc             	mov    -0x4(%ebp),%edx
52b6c6:	8b ce                	mov    %esi,%ecx
52b6c8:	81 c2 ff fe ff ff    	add    $0xfffffeff,%edx
52b6ce:	83 e8 10             	sub    $0x10,%eax
52b6d1:	8b f2                	mov    %edx,%esi
52b6d3:	66 d3 e6             	shl    %cl,%si
52b6d6:	66 09 b3 b0 16 00 00 	or     %si,0x16b0(%ebx)
52b6dd:	0f b7 d2             	movzwl %dx,%edx
52b6e0:	8b 4b 14             	mov    0x14(%ebx),%ecx
52b6e3:	ff 43 14             	incl   0x14(%ebx)
52b6e6:	8b 73 08             	mov    0x8(%ebx),%esi
52b6e9:	8d 0c 0e             	lea    (%esi,%ecx,1),%ecx
52b6ec:	51                   	push   %ecx
52b6ed:	5e                   	pop    %esi
52b6ee:	8a 8b b0 16 00 00    	mov    0x16b0(%ebx),%cl
52b6f4:	80 e1 ff             	and    $0xff,%cl
52b6f7:	88 0e                	mov    %cl,(%esi)
52b6f9:	8b 4b 14             	mov    0x14(%ebx),%ecx
52b6fc:	ff 43 14             	incl   0x14(%ebx)
52b6ff:	8b 73 08             	mov    0x8(%ebx),%esi
52b702:	8d 0c 0e             	lea    (%esi,%ecx,1),%ecx
52b705:	51                   	push   %ecx
52b706:	0f b7 8b b0 16 00 00 	movzwl 0x16b0(%ebx),%ecx
52b70d:	5e                   	pop    %esi
52b70e:	c1 f9 08             	sar    $0x8,%ecx
52b711:	88 0e                	mov    %cl,(%esi)
52b713:	b9 10 00 00 00       	mov    $0x10,%ecx
52b718:	2b 8b b4 16 00 00    	sub    0x16b4(%ebx),%ecx
52b71e:	d3 fa                	sar    %cl,%edx
52b720:	66 89 93 b0 16 00 00 	mov    %dx,0x16b0(%ebx)
52b727:	03 83 b4 16 00 00    	add    0x16b4(%ebx),%eax
52b72d:	89 83 b4 16 00 00    	mov    %eax,0x16b4(%ebx)
52b733:	eb 1f                	jmp    0x52b754
52b735:	66 8b 55 fc          	mov    -0x4(%ebp),%dx
52b739:	8b 8b b4 16 00 00    	mov    0x16b4(%ebx),%ecx
52b73f:	66 81 c2 ff fe       	add    $0xfeff,%dx
52b744:	66 d3 e2             	shl    %cl,%dx
52b747:	66 09 93 b0 16 00 00 	or     %dx,0x16b0(%ebx)
52b74e:	01 83 b4 16 00 00    	add    %eax,0x16b4(%ebx)
52b754:	b8 05 00 00 00       	mov    $0x5,%eax
52b759:	ba 10 00 00 00       	mov    $0x10,%edx
52b75e:	2b d0                	sub    %eax,%edx
52b760:	8b b3 b4 16 00 00    	mov    0x16b4(%ebx),%esi
52b766:	3b d6                	cmp    %esi,%edx
52b768:	7d 6d                	jge    0x52b7d7
52b76a:	8b 55 f8             	mov    -0x8(%ebp),%edx
52b76d:	8b ce                	mov    %esi,%ecx
52b76f:	4a                   	dec    %edx
52b770:	83 e8 10             	sub    $0x10,%eax
52b773:	8b f2                	mov    %edx,%esi
52b775:	66 d3 e6             	shl    %cl,%si
52b778:	66 09 b3 b0 16 00 00 	or     %si,0x16b0(%ebx)
52b77f:	0f b7 d2             	movzwl %dx,%edx
52b782:	8b 4b 14             	mov    0x14(%ebx),%ecx
52b785:	ff 43 14             	incl   0x14(%ebx)
52b788:	8b 73 08             	mov    0x8(%ebx),%esi
52b78b:	8d 0c 0e             	lea    (%esi,%ecx,1),%ecx
52b78e:	51                   	push   %ecx
52b78f:	5e                   	pop    %esi
52b790:	8a 8b b0 16 00 00    	mov    0x16b0(%ebx),%cl
52b796:	80 e1 ff             	and    $0xff,%cl
52b799:	88 0e                	mov    %cl,(%esi)
52b79b:	8b 4b 14             	mov    0x14(%ebx),%ecx
52b79e:	ff 43 14             	incl   0x14(%ebx)
52b7a1:	8b 73 08             	mov    0x8(%ebx),%esi
52b7a4:	8d 0c 0e             	lea    (%esi,%ecx,1),%ecx
52b7a7:	51                   	push   %ecx
52b7a8:	0f b7 8b b0 16 00 00 	movzwl 0x16b0(%ebx),%ecx
52b7af:	5e                   	pop    %esi
52b7b0:	c1 f9 08             	sar    $0x8,%ecx
52b7b3:	88 0e                	mov    %cl,(%esi)
52b7b5:	b9 10 00 00 00       	mov    $0x10,%ecx
52b7ba:	2b 8b b4 16 00 00    	sub    0x16b4(%ebx),%ecx
52b7c0:	d3 fa                	sar    %cl,%edx
52b7c2:	66 89 93 b0 16 00 00 	mov    %dx,0x16b0(%ebx)
52b7c9:	03 83 b4 16 00 00    	add    0x16b4(%ebx),%eax
52b7cf:	89 83 b4 16 00 00    	mov    %eax,0x16b4(%ebx)
52b7d5:	eb 1f                	jmp    0x52b7f6
52b7d7:	66 8b 55 f8          	mov    -0x8(%ebp),%dx
52b7db:	8b 8b b4 16 00 00    	mov    0x16b4(%ebx),%ecx
52b7e1:	66 81 c2 ff ff       	add    $0xffff,%dx
52b7e6:	66 d3 e2             	shl    %cl,%dx
52b7e9:	66 09 93 b0 16 00 00 	or     %dx,0x16b0(%ebx)
52b7f0:	01 83 b4 16 00 00    	add    %eax,0x16b4(%ebx)
52b7f6:	b8 04 00 00 00       	mov    $0x4,%eax
52b7fb:	ba 10 00 00 00       	mov    $0x10,%edx
52b800:	2b d0                	sub    %eax,%edx
52b802:	8b b3 b4 16 00 00    	mov    0x16b4(%ebx),%esi
52b808:	3b d6                	cmp    %esi,%edx
52b80a:	7d 6f                	jge    0x52b87b
52b80c:	8b 55 08             	mov    0x8(%ebp),%edx
52b80f:	8b ce                	mov    %esi,%ecx
52b811:	83 c2 fc             	add    $0xfffffffc,%edx
52b814:	83 e8 10             	sub    $0x10,%eax
52b817:	8b f2                	mov    %edx,%esi
52b819:	66 d3 e6             	shl    %cl,%si
52b81c:	66 09 b3 b0 16 00 00 	or     %si,0x16b0(%ebx)
52b823:	0f b7 d2             	movzwl %dx,%edx
52b826:	8b 4b 14             	mov    0x14(%ebx),%ecx
52b829:	ff 43 14             	incl   0x14(%ebx)
52b82c:	8b 73 08             	mov    0x8(%ebx),%esi
52b82f:	8d 0c 0e             	lea    (%esi,%ecx,1),%ecx
52b832:	51                   	push   %ecx
52b833:	5e                   	pop    %esi
52b834:	8a 8b b0 16 00 00    	mov    0x16b0(%ebx),%cl
52b83a:	80 e1 ff             	and    $0xff,%cl
52b83d:	88 0e                	mov    %cl,(%esi)
52b83f:	8b 4b 14             	mov    0x14(%ebx),%ecx
52b842:	ff 43 14             	incl   0x14(%ebx)
52b845:	8b 73 08             	mov    0x8(%ebx),%esi
52b848:	8d 0c 0e             	lea    (%esi,%ecx,1),%ecx
52b84b:	51                   	push   %ecx
52b84c:	0f b7 8b b0 16 00 00 	movzwl 0x16b0(%ebx),%ecx
52b853:	5e                   	pop    %esi
52b854:	c1 f9 08             	sar    $0x8,%ecx
52b857:	88 0e                	mov    %cl,(%esi)
52b859:	b9 10 00 00 00       	mov    $0x10,%ecx
52b85e:	2b 8b b4 16 00 00    	sub    0x16b4(%ebx),%ecx
52b864:	d3 fa                	sar    %cl,%edx
52b866:	66 89 93 b0 16 00 00 	mov    %dx,0x16b0(%ebx)
52b86d:	03 83 b4 16 00 00    	add    0x16b4(%ebx),%eax
52b873:	89 83 b4 16 00 00    	mov    %eax,0x16b4(%ebx)
52b879:	eb 1f                	jmp    0x52b89a
52b87b:	66 8b 55 08          	mov    0x8(%ebp),%dx
52b87f:	8b 8b b4 16 00 00    	mov    0x16b4(%ebx),%ecx
52b885:	66 81 c2 fc ff       	add    $0xfffc,%dx
52b88a:	66 d3 e2             	shl    %cl,%dx
52b88d:	66 09 93 b0 16 00 00 	or     %dx,0x16b0(%ebx)
52b894:	01 83 b4 16 00 00    	add    %eax,0x16b4(%ebx)
52b89a:	33 d2                	xor    %edx,%edx
52b89c:	b8 94 99 69 00       	mov    $0x699994,%eax
52b8a1:	3b 55 08             	cmp    0x8(%ebp),%edx
52b8a4:	0f 8d bf 00 00 00    	jge    0x52b969
52b8aa:	be 03 00 00 00       	mov    $0x3,%esi
52b8af:	b9 10 00 00 00       	mov    $0x10,%ecx
52b8b4:	2b ce                	sub    %esi,%ecx
52b8b6:	3b 8b b4 16 00 00    	cmp    0x16b4(%ebx),%ecx
52b8bc:	7d 7f                	jge    0x52b93d
52b8be:	33 c9                	xor    %ecx,%ecx
52b8c0:	83 ee 10             	sub    $0x10,%esi
52b8c3:	8a 08                	mov    (%eax),%cl
52b8c5:	0f b7 8c 8b 76 0a 00 	movzwl 0xa76(%ebx,%ecx,4),%ecx
52b8cc:	00
52b8cd:	89 4d f4             	mov    %ecx,-0xc(%ebp)
52b8d0:	66 8b 7d f4          	mov    -0xc(%ebp),%di
52b8d4:	8b 8b b4 16 00 00    	mov    0x16b4(%ebx),%ecx
52b8da:	66 d3 e7             	shl    %cl,%di
52b8dd:	66 09 bb b0 16 00 00 	or     %di,0x16b0(%ebx)
52b8e4:	8b 4b 14             	mov    0x14(%ebx),%ecx
52b8e7:	ff 43 14             	incl   0x14(%ebx)
52b8ea:	8b 7b 08             	mov    0x8(%ebx),%edi
52b8ed:	8d 0c 0f             	lea    (%edi,%ecx,1),%ecx
52b8f0:	51                   	push   %ecx
52b8f1:	5f                   	pop    %edi
52b8f2:	8a 8b b0 16 00 00    	mov    0x16b0(%ebx),%cl
52b8f8:	80 e1 ff             	and    $0xff,%cl
52b8fb:	88 0f                	mov    %cl,(%edi)
52b8fd:	8b 4b 14             	mov    0x14(%ebx),%ecx
52b900:	ff 43 14             	incl   0x14(%ebx)
52b903:	8b 7b 08             	mov    0x8(%ebx),%edi
52b906:	8d 0c 0f             	lea    (%edi,%ecx,1),%ecx
52b909:	51                   	push   %ecx
52b90a:	0f b7 8b b0 16 00 00 	movzwl 0x16b0(%ebx),%ecx
52b911:	5f                   	pop    %edi
52b912:	c1 f9 08             	sar    $0x8,%ecx
52b915:	88 0f                	mov    %cl,(%edi)
52b917:	b9 10 00 00 00       	mov    $0x10,%ecx
52b91c:	0f b7 7d f4          	movzwl -0xc(%ebp),%edi
52b920:	2b 8b b4 16 00 00    	sub    0x16b4(%ebx),%ecx
52b926:	d3 ff                	sar    %cl,%edi
52b928:	66 89 bb b0 16 00 00 	mov    %di,0x16b0(%ebx)
52b92f:	03 b3 b4 16 00 00    	add    0x16b4(%ebx),%esi
52b935:	89 b3 b4 16 00 00    	mov    %esi,0x16b4(%ebx)
52b93b:	eb 21                	jmp    0x52b95e
52b93d:	0f b6 38             	movzbl (%eax),%edi
52b940:	8b 8b b4 16 00 00    	mov    0x16b4(%ebx),%ecx
52b946:	66 8b bc bb 76 0a 00 	mov    0xa76(%ebx,%edi,4),%di
52b94d:	00
52b94e:	66 d3 e7             	shl    %cl,%di
52b951:	66 09 bb b0 16 00 00 	or     %di,0x16b0(%ebx)
52b958:	01 b3 b4 16 00 00    	add    %esi,0x16b4(%ebx)
52b95e:	42                   	inc    %edx
52b95f:	40                   	inc    %eax
52b960:	3b 55 08             	cmp    0x8(%ebp),%edx
52b963:	0f 8c 41 ff ff ff    	jl     0x52b8aa
52b969:	8b 4d fc             	mov    -0x4(%ebp),%ecx
52b96c:	49                   	dec    %ecx
52b96d:	8d 93 8c 00 00 00    	lea    0x8c(%ebx),%edx
52b973:	8b c3                	mov    %ebx,%eax
52b975:	e8 3a f6 ff ff       	call   0x52afb4
52b97a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
52b97d:	49                   	dec    %ecx
52b97e:	8d 93 80 09 00 00    	lea    0x980(%ebx),%edx
52b984:	8b c3                	mov    %ebx,%eax
52b986:	e8 29 f6 ff ff       	call   0x52afb4
52b98b:	5f                   	pop    %edi
52b98c:	5e                   	pop    %esi
52b98d:	5b                   	pop    %ebx
52b98e:	8b e5                	mov    %ebp,%esp
52b990:	5d                   	pop    %ebp
52b991:	c2 04 00             	ret    $0x4
52b994:	55                   	push   %ebp
52b995:	8b ec                	mov    %esp,%ebp
52b997:	83 c4 f8             	add    $0xfffffff8,%esp
52b99a:	53                   	push   %ebx
52b99b:	56                   	push   %esi
52b99c:	89 4d f8             	mov    %ecx,-0x8(%ebp)
52b99f:	89 55 fc             	mov    %edx,-0x4(%ebp)
52b9a2:	8b 75 08             	mov    0x8(%ebp),%esi
52b9a5:	bb 03 00 00 00       	mov    $0x3,%ebx
52b9aa:	b9 10 00 00 00       	mov    $0x10,%ecx
52b9af:	2b cb                	sub    %ebx,%ecx
52b9b1:	8b 90 b4 16 00 00    	mov    0x16b4(%eax),%edx
52b9b7:	3b ca                	cmp    %edx,%ecx
52b9b9:	7d 69                	jge    0x52ba24
52b9bb:	8b ca                	mov    %edx,%ecx
52b9bd:	8b d6                	mov    %esi,%edx
52b9bf:	66 d3 e2             	shl    %cl,%dx
52b9c2:	66 09 90 b0 16 00 00 	or     %dx,0x16b0(%eax)
52b9c9:	83 eb 10             	sub    $0x10,%ebx
52b9cc:	8b 50 14             	mov    0x14(%eax),%edx
52b9cf:	ff 40 14             	incl   0x14(%eax)
52b9d2:	8b 48 08             	mov    0x8(%eax),%ecx
52b9d5:	8d 14 11             	lea    (%ecx,%edx,1),%edx
52b9d8:	52                   	push   %edx
52b9d9:	5a                   	pop    %edx
52b9da:	8a 88 b0 16 00 00    	mov    0x16b0(%eax),%cl
52b9e0:	80 e1 ff             	and    $0xff,%cl
52b9e3:	88 0a                	mov    %cl,(%edx)
52b9e5:	8b 48 14             	mov    0x14(%eax),%ecx
52b9e8:	ff 40 14             	incl   0x14(%eax)
52b9eb:	8b 50 08             	mov    0x8(%eax),%edx
52b9ee:	8d 0c 0a             	lea    (%edx,%ecx,1),%ecx
52b9f1:	51                   	push   %ecx
52b9f2:	0f b7 90 b0 16 00 00 	movzwl 0x16b0(%eax),%edx
52b9f9:	59                   	pop    %ecx
52b9fa:	c1 fa 08             	sar    $0x8,%edx
52b9fd:	88 11                	mov    %dl,(%ecx)
52b9ff:	b9 10 00 00 00       	mov    $0x10,%ecx
52ba04:	0f b7 d6             	movzwl %si,%edx
52ba07:	2b 88 b4 16 00 00    	sub    0x16b4(%eax),%ecx
52ba0d:	d3 fa                	sar    %cl,%edx
52ba0f:	66 89 90 b0 16 00 00 	mov    %dx,0x16b0(%eax)
52ba16:	03 98 b4 16 00 00    	add    0x16b4(%eax),%ebx
52ba1c:	89 98 b4 16 00 00    	mov    %ebx,0x16b4(%eax)
52ba22:	eb 16                	jmp    0x52ba3a
52ba24:	8b 88 b4 16 00 00    	mov    0x16b4(%eax),%ecx
52ba2a:	66 d3 e6             	shl    %cl,%si
52ba2d:	66 09 b0 b0 16 00 00 	or     %si,0x16b0(%eax)
52ba34:	01 98 b4 16 00 00    	add    %ebx,0x16b4(%eax)
52ba3a:	6a 01                	push   $0x1
52ba3c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
52ba3f:	8b 55 fc             	mov    -0x4(%ebp),%edx
52ba42:	e8 c9 0b 00 00       	call   0x52c610
52ba47:	5e                   	pop    %esi
52ba48:	5b                   	pop    %ebx
52ba49:	59                   	pop    %ecx
52ba4a:	59                   	pop    %ecx
52ba4b:	5d                   	pop    %ebp
52ba4c:	c2 04 00             	ret    $0x4
52ba4f:	90                   	nop
52ba50:	53                   	push   %ebx
52ba51:	56                   	push   %esi
52ba52:	57                   	push   %edi
52ba53:	8b d8                	mov    %eax,%ebx
52ba55:	b8 03 00 00 00       	mov    $0x3,%eax
52ba5a:	ba 10 00 00 00       	mov    $0x10,%edx
52ba5f:	2b d0                	sub    %eax,%edx
52ba61:	8b b3 b4 16 00 00    	mov    0x16b4(%ebx),%esi
52ba67:	3b d6                	cmp    %esi,%edx
52ba69:	7d 70                	jge    0x52badb
52ba6b:	ba 02 00 00 00       	mov    $0x2,%edx
52ba70:	8b ce                	mov    %esi,%ecx
52ba72:	8b fa                	mov    %edx,%edi
52ba74:	83 e8 10             	sub    $0x10,%eax
52ba77:	8b f7                	mov    %edi,%esi
52ba79:	66 d3 e6             	shl    %cl,%si
52ba7c:	66 09 b3 b0 16 00 00 	or     %si,0x16b0(%ebx)
52ba83:	0f b7 d7             	movzwl %di,%edx
52ba86:	8b 4b 14             	mov    0x14(%ebx),%ecx
52ba89:	ff 43 14             	incl   0x14(%ebx)
52ba8c:	8b 73 08             	mov    0x8(%ebx),%esi
52ba8f:	8d 0c 0e             	lea    (%esi,%ecx,1),%ecx
52ba92:	51                   	push   %ecx
52ba93:	5e                   	pop    %esi
52ba94:	8a 8b b0 16 00 00    	mov    0x16b0(%ebx),%cl
52ba9a:	80 e1 ff             	and    $0xff,%cl
52ba9d:	88 0e                	mov    %cl,(%esi)
52ba9f:	8b 4b 14             	mov    0x14(%ebx),%ecx
52baa2:	ff 43 14             	incl   0x14(%ebx)
52baa5:	8b 73 08             	mov    0x8(%ebx),%esi
52baa8:	8d 0c 0e             	lea    (%esi,%ecx,1),%ecx
52baab:	51                   	push   %ecx
52baac:	0f b7 8b b0 16 00 00 	movzwl 0x16b0(%ebx),%ecx
52bab3:	5e                   	pop    %esi
52bab4:	c1 f9 08             	sar    $0x8,%ecx
52bab7:	88 0e                	mov    %cl,(%esi)
52bab9:	b9 10 00 00 00       	mov    $0x10,%ecx
52babe:	2b 8b b4 16 00 00    	sub    0x16b4(%ebx),%ecx
52bac4:	d3 fa                	sar    %cl,%edx
52bac6:	66 89 93 b0 16 00 00 	mov    %dx,0x16b0(%ebx)
52bacd:	03 83 b4 16 00 00    	add    0x16b4(%ebx),%eax
52bad3:	89 83 b4 16 00 00    	mov    %eax,0x16b4(%ebx)
52bad9:	eb 1a                	jmp    0x52baf5
52badb:	66 ba 02 00          	mov    $0x2,%dx
52badf:	8b 8b b4 16 00 00    	mov    0x16b4(%ebx),%ecx
52bae5:	66 d3 e2             	shl    %cl,%dx
52bae8:	66 09 93 b0 16 00 00 	or     %dx,0x16b0(%ebx)
52baef:	01 83 b4 16 00 00    	add    %eax,0x16b4(%ebx)
52baf5:	b8 76 97 69 00       	mov    $0x699776,%eax
52bafa:	ba 10 00 00 00       	mov    $0x10,%edx
52baff:	8b b3 b4 16 00 00    	mov    0x16b4(%ebx),%esi
52bb05:	0f b7 00             	movzwl (%eax),%eax
52bb08:	2b d0                	sub    %eax,%edx
52bb0a:	3b d6                	cmp    %esi,%edx
52bb0c:	7d 73                	jge    0x52bb81