47d65c:	8b 42 08             	mov    0x8(%edx),%eax
47d65f:	8b 7c 24 10          	mov    0x10(%esp),%edi
47d663:	2b ce                	sub    %esi,%ecx
47d665:	d3 e8                	shr    %cl,%eax
47d667:	b9 18 00 00 00       	mov    $0x18,%ecx
47d66c:	2b cf                	sub    %edi,%ecx
47d66e:	25 ff ff ff 00       	and    $0xffffff,%eax
47d673:	d3 e8                	shr    %cl,%eax
47d675:	03 f7                	add    %edi,%esi
47d677:	5f                   	pop    %edi
47d678:	89 72 04             	mov    %esi,0x4(%edx)
47d67b:	5e                   	pop    %esi
47d67c:	59                   	pop    %ecx
47d67d:	c2 04 00             	ret    $0x4
47d680:	8b 44 24 04          	mov    0x4(%esp),%eax
47d684:	8b 54 24 08          	mov    0x8(%esp),%edx
47d688:	89 81 84 00 00 00    	mov    %eax,0x84(%ecx)
47d68e:	89 91 88 00 00 00    	mov    %edx,0x88(%ecx)
47d694:	8d 04 82             	lea    (%edx,%eax,4),%eax
47d697:	89 81 8c 00 00 00    	mov    %eax,0x8c(%ecx)
47d69d:	05 00 01 00 00       	add    $0x100,%eax
47d6a2:	c2 08 00             	ret    $0x8
47d6a5:	81 ec 98 00 00 00    	sub    $0x98,%esp
47d6ab:	53                   	push   %ebx
47d6ac:	55                   	push   %ebp
47d6ad:	56                   	push   %esi
47d6ae:	8b d1                	mov    %ecx,%edx
47d6b0:	57                   	push   %edi
47d6b1:	b9 0f 00 00 00       	mov    $0xf,%ecx
47d6b6:	8b aa 84 00 00 00    	mov    0x84(%edx),%ebp
47d6bc:	33 c0                	xor    %eax,%eax
47d6be:	8d 7c 24 2c          	lea    0x2c(%esp),%edi
47d6c2:	33 f6                	xor    %esi,%esi
47d6c4:	f3 ab                	rep stos %eax,%es:(%edi)
47d6c6:	8b bc 24 ac 00 00 00 	mov    0xac(%esp),%edi
47d6cd:	3b ee                	cmp    %esi,%ebp
47d6cf:	89 54 24 20          	mov    %edx,0x20(%esp)
47d6d3:	76 15                	jbe    0x47d6ea
47d6d5:	33 c9                	xor    %ecx,%ecx
47d6d7:	8a 0c 38             	mov    (%eax,%edi,1),%cl
47d6da:	8b 5c 8c 28          	mov    0x28(%esp,%ecx,4),%ebx
47d6de:	8d 4c 8c 28          	lea    0x28(%esp,%ecx,4),%ecx
47d6e2:	43                   	inc    %ebx
47d6e3:	40                   	inc    %eax
47d6e4:	3b c5                	cmp    %ebp,%eax
47d6e6:	89 19                	mov    %ebx,(%ecx)
47d6e8:	72 eb                	jb     0x47d6d5
47d6ea:	b9 17 00 00 00       	mov    $0x17,%ecx
47d6ef:	89 74 24 28          	mov    %esi,0x28(%esp)
47d6f3:	89 72 04             	mov    %esi,0x4(%edx)
47d6f6:	89 72 44             	mov    %esi,0x44(%edx)
47d6f9:	89 74 24 68          	mov    %esi,0x68(%esp)
47d6fd:	33 ff                	xor    %edi,%edi
47d6ff:	89 74 24 1c          	mov    %esi,0x1c(%esp)
47d703:	c7 44 24 10 01 00 00 	movl   $0x1,0x10(%esp)
47d70a:	00
47d70b:	89 4c 24 18          	mov    %ecx,0x18(%esp)
47d70f:	8d 6a 08             	lea    0x8(%edx),%ebp
47d712:	89 74 24 14          	mov    %esi,0x14(%esp)
47d716:	8b 44 34 2c          	mov    0x2c(%esp,%esi,1),%eax
47d71a:	d3 e0                	shl    %cl,%eax
47d71c:	03 f8                	add    %eax,%edi
47d71e:	81 ff 00 00 00 01    	cmp    $0x1000000,%edi
47d724:	89 7c 24 24          	mov    %edi,0x24(%esp)
47d728:	0f 87 8e 00 00 00    	ja     0x47d7bc
47d72e:	8b 44 34 28          	mov    0x28(%esp,%esi,1),%eax
47d732:	89 7d 00             	mov    %edi,0x0(%ebp)
47d735:	8b 5d 3c             	mov    0x3c(%ebp),%ebx
47d738:	03 c3                	add    %ebx,%eax
47d73a:	83 f9 10             	cmp    $0x10,%ecx
47d73d:	89 45 40             	mov    %eax,0x40(%ebp)
47d740:	89 44 34 6c          	mov    %eax,0x6c(%esp,%esi,1)
47d744:	7c 4d                	jl     0x47d793
47d746:	8b 75 00             	mov    0x0(%ebp),%esi
47d749:	8b 44 24 10          	mov    0x10(%esp),%eax
47d74d:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
47d751:	8b ba 8c 00 00 00    	mov    0x8c(%edx),%edi
47d757:	c1 ee 10             	shr    $0x10,%esi
47d75a:	8b ce                	mov    %esi,%ecx
47d75c:	25 ff 00 00 00       	and    $0xff,%eax
47d761:	2b cb                	sub    %ebx,%ecx
47d763:	03 fb                	add    %ebx,%edi
47d765:	8a d8                	mov    %al,%bl
47d767:	8b d1                	mov    %ecx,%edx
47d769:	8a fb                	mov    %bl,%bh
47d76b:	89 74 24 1c          	mov    %esi,0x1c(%esp)
47d76f:	8b c3                	mov    %ebx,%eax
47d771:	8b 74 24 14          	mov    0x14(%esp),%esi
47d775:	c1 e0 10             	shl    $0x10,%eax
47d778:	66 8b c3             	mov    %bx,%ax
47d77b:	c1 e9 02             	shr    $0x2,%ecx
47d77e:	f3 ab                	rep stos %eax,%es:(%edi)
47d780:	8b ca                	mov    %edx,%ecx
47d782:	8b 54 24 20          	mov    0x20(%esp),%edx
47d786:	83 e1 03             	and    $0x3,%ecx
47d789:	f3 aa                	rep stos %al,%es:(%edi)
47d78b:	8b 7c 24 24          	mov    0x24(%esp),%edi
47d78f:	8b 4c 24 18          	mov    0x18(%esp),%ecx
47d793:	8b 44 24 10          	mov    0x10(%esp),%eax
47d797:	83 c6 04             	add    $0x4,%esi
47d79a:	40                   	inc    %eax
47d79b:	49                   	dec    %ecx
47d79c:	83 c5 04             	add    $0x4,%ebp
47d79f:	83 f9 09             	cmp    $0x9,%ecx
47d7a2:	89 44 24 10          	mov    %eax,0x10(%esp)
47d7a6:	89 4c 24 18          	mov    %ecx,0x18(%esp)
47d7aa:	89 74 24 14          	mov    %esi,0x14(%esp)
47d7ae:	0f 8d 62 ff ff ff    	jge    0x47d716
47d7b4:	81 ff 00 00 00 01    	cmp    $0x1000000,%edi
47d7ba:	74 0f                	je     0x47d7cb
47d7bc:	5f                   	pop    %edi
47d7bd:	5e                   	pop    %esi
47d7be:	5d                   	pop    %ebp
47d7bf:	32 c0                	xor    %al,%al
47d7c1:	5b                   	pop    %ebx
47d7c2:	81 c4 98 00 00 00    	add    $0x98,%esp
47d7c8:	c2 04 00             	ret    $0x4
47d7cb:	8b 82 84 00 00 00    	mov    0x84(%edx),%eax
47d7d1:	33 c9                	xor    %ecx,%ecx
47d7d3:	85 c0                	test   %eax,%eax
47d7d5:	76 3b                	jbe    0x47d812
47d7d7:	8b b4 24 ac 00 00 00 	mov    0xac(%esp),%esi
47d7de:	8a 04 31             	mov    (%ecx,%esi,1),%al
47d7e1:	84 c0                	test   %al,%al
47d7e3:	74 22                	je     0x47d807
47d7e5:	8b ba 88 00 00 00    	mov    0x88(%edx),%edi
47d7eb:	25 ff 00 00 00       	and    $0xff,%eax
47d7f0:	8b 44 84 68          	mov    0x68(%esp,%eax,4),%eax
47d7f4:	89 0c 87             	mov    %ecx,(%edi,%eax,4)
47d7f7:	33 c0                	xor    %eax,%eax
47d7f9:	8a 04 31             	mov    (%ecx,%esi,1),%al
47d7fc:	8b 7c 84 68          	mov    0x68(%esp,%eax,4),%edi
47d800:	8d 44 84 68          	lea    0x68(%esp,%eax,4),%eax
47d804:	47                   	inc    %edi
47d805:	89 38                	mov    %edi,(%eax)
47d807:	8b 82 84 00 00 00    	mov    0x84(%edx),%eax
47d80d:	41                   	inc    %ecx
47d80e:	3b c8                	cmp    %eax,%ecx
47d810:	72 cc                	jb     0x47d7de
47d812:	5f                   	pop    %edi
47d813:	5e                   	pop    %esi
47d814:	5d                   	pop    %ebp
47d815:	b0 01                	mov    $0x1,%al
47d817:	5b                   	pop    %ebx
47d818:	81 c4 98 00 00 00    	add    $0x98,%esp
47d81e:	c2 04 00             	ret    $0x4
47d821:	51                   	push   %ecx
47d822:	53                   	push   %ebx
47d823:	56                   	push   %esi
47d824:	8b f1                	mov    %ecx,%esi
47d826:	57                   	push   %edi
47d827:	8b 06                	mov    (%esi),%eax
47d829:	83 78 04 08          	cmpl   $0x8,0x4(%eax)
47d82d:	72 30                	jb     0x47d85f
47d82f:	8b 08                	mov    (%eax),%ecx
47d831:	8a 11                	mov    (%ecx),%dl
47d833:	41                   	inc    %ecx
47d834:	88 54 24 0c          	mov    %dl,0xc(%esp)
47d838:	89 08                	mov    %ecx,(%eax)
47d83a:	8b 48 08             	mov    0x8(%eax),%ecx
47d83d:	8b 54 24 0c          	mov    0xc(%esp),%edx
47d841:	c1 e1 08             	shl    $0x8,%ecx
47d844:	81 e2 ff 00 00 00    	and    $0xff,%edx
47d84a:	0b ca                	or     %edx,%ecx
47d84c:	8b 50 04             	mov    0x4(%eax),%edx
47d84f:	83 c2 f8             	add    $0xfffffff8,%edx
47d852:	89 48 08             	mov    %ecx,0x8(%eax)
47d855:	8b ca                	mov    %edx,%ecx
47d857:	89 50 04             	mov    %edx,0x4(%eax)
47d85a:	83 f9 08             	cmp    $0x8,%ecx
47d85d:	73 d0                	jae    0x47d82f
47d85f:	8b 50 04             	mov    0x4(%eax),%edx
47d862:	8b 40 08             	mov    0x8(%eax),%eax
47d865:	b9 08 00 00 00       	mov    $0x8,%ecx
47d86a:	2b ca                	sub    %edx,%ecx
47d86c:	d3 e8                	shr    %cl,%eax
47d86e:	8b 4e 24             	mov    0x24(%esi),%ecx
47d871:	25 00 fe ff 00       	and    $0xfffe00,%eax
47d876:	3b c1                	cmp    %ecx,%eax
47d878:	73 14                	jae    0x47d88e
47d87a:	8b 96 8c 00 00 00    	mov    0x8c(%esi),%edx
47d880:	8b c8                	mov    %eax,%ecx
47d882:	c1 e9 10             	shr    $0x10,%ecx
47d885:	33 db                	xor    %ebx,%ebx
47d887:	8a 1c 11             	mov    (%ecx,%edx,1),%bl
47d88a:	8b d3                	mov    %ebx,%edx
47d88c:	eb 3b                	jmp    0x47d8c9
47d88e:	3b 46 2c             	cmp    0x2c(%esi),%eax
47d891:	73 0a                	jae    0x47d89d
47d893:	3b 46 28             	cmp    0x28(%esi),%eax
47d896:	1b d2                	sbb    %edx,%edx
47d898:	83 c2 0a             	add    $0xa,%edx
47d89b:	eb 2c                	jmp    0x47d8c9
47d89d:	3b 46 30             	cmp    0x30(%esi),%eax
47d8a0:	73 07                	jae    0x47d8a9
47d8a2:	ba 0b 00 00 00       	mov    $0xb,%edx
47d8a7:	eb 20                	jmp    0x47d8c9
47d8a9:	3b 46 34             	cmp    0x34(%esi),%eax
47d8ac:	73 07                	jae    0x47d8b5
47d8ae:	ba 0c 00 00 00       	mov    $0xc,%edx
47d8b3:	eb 14                	jmp    0x47d8c9
47d8b5:	3b 46 38             	cmp    0x38(%esi),%eax
47d8b8:	73 07                	jae    0x47d8c1
47d8ba:	ba 0d 00 00 00       	mov    $0xd,%edx
47d8bf:	eb 08                	jmp    0x47d8c9
47d8c1:	3b 46 3c             	cmp    0x3c(%esi),%eax
47d8c4:	1b d2                	sbb    %edx,%edx
47d8c6:	83 c2 0f             	add    $0xf,%edx
47d8c9:	8b 0e                	mov    (%esi),%ecx
47d8cb:	8b 79 04             	mov    0x4(%ecx),%edi
47d8ce:	03 fa                	add    %edx,%edi
47d8d0:	89 79 04             	mov    %edi,0x4(%ecx)
47d8d3:	8b 1c 96             	mov    (%esi,%edx,4),%ebx
47d8d6:	b9 18 00 00 00       	mov    $0x18,%ecx
47d8db:	2b c3                	sub    %ebx,%eax
47d8dd:	2b ca                	sub    %edx,%ecx
47d8df:	5f                   	pop    %edi
47d8e0:	d3 e8                	shr    %cl,%eax
47d8e2:	8b 4c 96 44          	mov    0x44(%esi,%edx,4),%ecx
47d8e6:	03 c1                	add    %ecx,%eax
47d8e8:	8b 8e 88 00 00 00    	mov    0x88(%esi),%ecx
47d8ee:	5e                   	pop    %esi
47d8ef:	5b                   	pop    %ebx
47d8f0:	8b 04 81             	mov    (%ecx,%eax,4),%eax
47d8f3:	59                   	pop    %ecx
47d8f4:	c3                   	ret
47d8f5:	53                   	push   %ebx
47d8f6:	56                   	push   %esi
47d8f7:	57                   	push   %edi
47d8f8:	8b f9                	mov    %ecx,%edi
47d8fa:	33 d2                	xor    %edx,%edx
47d8fc:	33 c0                	xor    %eax,%eax
47d8fe:	8d b7 68 02 00 00    	lea    0x268(%edi),%esi
47d904:	89 16                	mov    %edx,(%esi)
47d906:	56                   	push   %esi
47d907:	e8 57 02 00 00       	call   0x47db63
47d90c:	8a 8c 30 d2 b4 46 00 	mov    0x46b4d2(%eax,%esi,1),%cl
47d913:	5e                   	pop    %esi
47d914:	bb 01 00 00 00       	mov    $0x1,%ebx
47d919:	83 c6 04             	add    $0x4,%esi
47d91c:	d3 e3                	shl    %cl,%ebx
47d91e:	03 d3                	add    %ebx,%edx
47d920:	40                   	inc    %eax
47d921:	83 f8 3a             	cmp    $0x3a,%eax
47d924:	72 de                	jb     0x47d904
47d926:	8b 44 24 10          	mov    0x10(%esp),%eax
47d92a:	8d 4f 10             	lea    0x10(%edi),%ecx
47d92d:	50                   	push   %eax
47d92e:	68 d1 02 00 00       	push   $0x2d1
47d933:	e8 48 fd ff ff       	call   0x47d680
47d938:	50                   	push   %eax
47d939:	6a 1c                	push   $0x1c
47d93b:	8d 8f a0 00 00 00    	lea    0xa0(%edi),%ecx
47d941:	e8 3a fd ff ff       	call   0x47d680
47d946:	50                   	push   %eax
47d947:	6a 08                	push   $0x8
47d949:	8d 8f 30 01 00 00    	lea    0x130(%edi),%ecx
47d94f:	e8 2c fd ff ff       	call   0x47d680
47d954:	50                   	push   %eax
47d955:	6a 13                	push   $0x13
47d957:	8d 8f c0 01 00 00    	lea    0x1c0(%edi),%ecx
47d95d:	e8 1e fd ff ff       	call   0x47d680
47d962:	89 87 60 02 00 00    	mov    %eax,0x260(%edi)
47d968:	5f                   	pop    %edi
47d969:	5e                   	pop    %esi
47d96a:	05 f5 02 00 00       	add    $0x2f5,%eax
47d96f:	5b                   	pop    %ebx
47d970:	c2 04 00             	ret    $0x4
47d973:	8b 44 24 08          	mov    0x8(%esp),%eax
47d977:	8b d1                	mov    %ecx,%edx
47d979:	8b 4c 24 04          	mov    0x4(%esp),%ecx
47d97d:	57                   	push   %edi
47d97e:	89 02                	mov    %eax,(%edx)
47d980:	8d 42 04             	lea    0x4(%edx),%eax
47d983:	89 08                	mov    %ecx,(%eax)
47d985:	c7 40 04 20 00 00 00 	movl   $0x20,0x4(%eax)
47d98c:	89 42 10             	mov    %eax,0x10(%edx)
47d98f:	89 82 a0 00 00 00    	mov    %eax,0xa0(%edx)
47d995:	89 82 30 01 00 00    	mov    %eax,0x130(%edx)
47d99b:	89 82 c0 01 00 00    	mov    %eax,0x1c0(%edx)
47d9a1:	33 c0                	xor    %eax,%eax
47d9a3:	b9 bd 00 00 00       	mov    $0xbd,%ecx
47d9a8:	89 82 50 02 00 00    	mov    %eax,0x250(%edx)
47d9ae:	89 82 54 02 00 00    	mov    %eax,0x254(%edx)
47d9b4:	89 82 58 02 00 00    	mov    %eax,0x258(%edx)
47d9ba:	8b ba 60 02 00 00    	mov    0x260(%edx),%edi
47d9c0:	89 82 5c 02 00 00    	mov    %eax,0x25c(%edx)
47d9c6:	f3 ab                	rep stos %eax,%es:(%edi)
47d9c8:	8b ca                	mov    %edx,%ecx
47d9ca:	aa                   	stos   %al,%es:(%edi)
47d9cb:	e8 04 00 00 00       	call   0x47d9d4
47d9d0:	5f                   	pop    %edi
47d9d1:	c2 08 00             	ret    $0x8
47d9d4:	81 ec 0c 03 00 00    	sub    $0x30c,%esp
47d9da:	53                   	push   %ebx
47d9db:	8b d9                	mov    %ecx,%ebx
47d9dd:	55                   	push   %ebp
47d9de:	56                   	push   %esi
47d9df:	8d 6b 04             	lea    0x4(%ebx),%ebp
47d9e2:	57                   	push   %edi
47d9e3:	6a 01                	push   $0x1
47d9e5:	8b cd                	mov    %ebp,%ecx
47d9e7:	e8 29 fc ff ff       	call   0x47d615
47d9ec:	85 c0                	test   %eax,%eax
47d9ee:	75 0e                	jne    0x47d9fe
47d9f0:	8b bb 60 02 00 00    	mov    0x260(%ebx),%edi
47d9f6:	b9 bd 00 00 00       	mov    $0xbd,%ecx
47d9fb:	f3 ab                	rep stos %eax,%es:(%edi)
47d9fd:	aa                   	stos   %al,%es:(%edi)
47d9fe:	33 f6                	xor    %esi,%esi
47da00:	6a 04                	push   $0x4
47da02:	8b cd                	mov    %ebp,%ecx
47da04:	e8 0c fc ff ff       	call   0x47d615
47da09:	88 44 34 10          	mov    %al,0x10(%esp,%esi,1)
47da0d:	46                   	inc    %esi
47da0e:	83 fe 13             	cmp    $0x13,%esi
47da11:	72 ed                	jb     0x47da00
47da13:	8d bb c0 01 00 00    	lea    0x1c0(%ebx),%edi
47da19:	8d 44 24 10          	lea    0x10(%esp),%eax
47da1d:	50                   	push   %eax
47da1e:	8b cf                	mov    %edi,%ecx
47da20:	e8 80 fc ff ff       	call   0x47d6a5
47da25:	84 c0                	test   %al,%al
47da27:	75 0b                	jne    0x47da34
47da29:	5f                   	pop    %edi
47da2a:	5e                   	pop    %esi
47da2b:	5d                   	pop    %ebp
47da2c:	5b                   	pop    %ebx
47da2d:	81 c4 0c 03 00 00    	add    $0x30c,%esp
47da33:	c3                   	ret
47da34:	33 f6                	xor    %esi,%esi
47da36:	8b cf                	mov    %edi,%ecx
47da38:	e8 e4 fd ff ff       	call   0x47d821
47da3d:	83 f8 10             	cmp    $0x10,%eax
47da40:	73 15                	jae    0x47da57
47da42:	8b 8b 60 02 00 00    	mov    0x260(%ebx),%ecx
47da48:	8a 14 31             	mov    (%ecx,%esi,1),%dl
47da4b:	02 d0                	add    %al,%dl
47da4d:	80 e2 0f             	and    $0xf,%dl
47da50:	88 54 34 24          	mov    %dl,0x24(%esp,%esi,1)
47da54:	46                   	inc    %esi
47da55:	eb 60                	jmp    0x47dab7
47da57:	75 28                	jne    0x47da81
47da59:	6a 02                	push   $0x2
47da5b:	8b cd                	mov    %ebp,%ecx
47da5d:	e8 b3 fb ff ff       	call   0x47d615
47da62:	83 c0 03             	add    $0x3,%eax
47da65:	85 c0                	test   %eax,%eax
47da67:	7e 4e                	jle    0x47dab7
47da69:	81 fe f5 02 00 00    	cmp    $0x2f5,%esi