47d3b2:	65 20 6f 72          	and    %ch,%gs:0x72(%edi)
47d3b6:	64 69 6e 61 6c 20 25 	imul   $0x7525206c,%fs:0x61(%esi),%ebp
47d3bd:	75
47d3be:	20 63 6f             	and    %ah,0x6f(%ebx)
47d3c1:	75 6c                	jne    0x47d42f
47d3c3:	64 20 6e 6f          	and    %ch,%fs:0x6f(%esi)
47d3c7:	74 20                	je     0x47d3e9
47d3c9:	62 65 20             	bound  %esp,0x20(%ebp)
47d3cc:	6c                   	insb   (%dx),%es:(%edi)
47d3cd:	6f                   	outsl  %ds:(%esi),(%dx)
47d3ce:	63 61 74             	arpl   %esp,0x74(%ecx)
47d3d1:	65 64 20 69 6e       	gs and %ch,%fs:0x6e(%ecx)
47d3d6:	20 74 68 65          	and    %dh,0x65(%eax,%ebp,2)
47d3da:	20 64 79 6e          	and    %ah,0x6e(%ecx,%edi,2)
47d3de:	61                   	popa
47d3df:	6d                   	insl   (%dx),%es:(%edi)
47d3e0:	69 63 20 6c 69 6e 6b 	imul   $0x6b6e696c,0x20(%ebx),%esp
47d3e7:	20 6c 69 62          	and    %ch,0x62(%ecx,%ebp,2)
47d3eb:	72 61                	jb     0x47d44e
47d3ed:	72 79                	jb     0x47d468
47d3ef:	20 25 73 00 52 ba    	and    %ah,0xba520073
47d3f5:	8e 24 3b             	mov    (%ebx,%edi,1),%fs
47d3f8:	9c                   	pushf
47d3f9:	ac                   	lods   %ds:(%esi),%al
47d3fa:	0a c0                	or     %al,%al
47d3fc:	74 14                	je     0x47d412
47d3fe:	32 d0                	xor    %al,%dl
47d400:	b0 08                	mov    $0x8,%al
47d402:	d1 ea                	shr    $1,%edx
47d404:	73 06                	jae    0x47d40c
47d406:	81 f2 9a f3 a7 c1    	xor    $0xc1a7f39a,%edx
47d40c:	fe c8                	dec    %al
47d40e:	75 f2                	jne    0x47d402
47d410:	eb e7                	jmp    0x47d3f9
47d412:	92                   	xchg   %eax,%edx
47d413:	5a                   	pop    %edx
47d414:	c3                   	ret
47d415:	00 00                	add    %al,(%eax)
47d417:	40                   	inc    %eax
47d420:	00 00                	add    %al,(%eax)
47d422:	50                   	push   %eax
47d447:	00 00                	add    %al,(%eax)
47d449:	00 10                	add    %dl,(%eax)
47d44b:	00 00                	add    %al,(%eax)
47d44d:	00 1e                	add    %bl,(%esi)
47d44f:	00 00                	add    %al,(%eax)
47d451:	20 00                	and    %al,(%eax)
47d453:	00 60 00             	add    %ah,0x0(%eax)
47d456:	30 00                	xor    %al,(%eax)
47d458:	00 00                	add    %al,(%eax)
47d45a:	0a 00                	or     (%eax),%al
47d45c:	00 40 00             	add    %al,0x0(%eax)
47d45f:	00 40 00             	add    %al,0x0(%eax)
47d462:	40                   	inc    %eax
47d463:	00 00                	add    %al,(%eax)
47d465:	00 0a                	add    %cl,(%edx)
47d467:	00 00                	add    %al,(%eax)
47d469:	40                   	inc    %eax
47d46a:	00 00                	add    %al,(%eax)
47d46c:	c0 00 50             	rolb   $0x50,(%eax)
47d46f:	00 00                	add    %al,(%eax)
47d471:	00 04 00             	add    %al,(%eax,%eax,1)
47d474:	00 40 00             	add    %al,0x0(%eax)
47d477:	00 42 00             	add    %al,0x0(%edx)
47d536:	00 00                	add    %al,(%eax)
47d538:	00 8b 44 24 10 81    	add    %cl,-0x7eefdbbc(%ebx)
47d53e:	ec                   	in     (%dx),%al
47d53f:	54                   	push   %esp
47d540:	03 00                	add    (%eax),%eax
47d542:	00 8d 4c 24 04 50    	add    %cl,0x5004244c(%ebp)
47d548:	e8 a8 03 00 00       	call   0x47d8f5
47d54d:	8b 8c 24 5c 03 00 00 	mov    0x35c(%esp),%ecx
47d554:	8b 94 24 58 03 00 00 	mov    0x358(%esp),%edx
47d55b:	51                   	push   %ecx
47d55c:	52                   	push   %edx
47d55d:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
47d561:	e8 0d 04 00 00       	call   0x47d973
47d566:	84 c0                	test   %al,%al
47d568:	75 0a                	jne    0x47d574
47d56a:	83 c8 ff             	or     $0xffffffff,%eax
47d56d:	81 c4 54 03 00 00    	add    $0x354,%esp
47d573:	c3                   	ret
47d574:	8b 8c 24 60 03 00 00 	mov    0x360(%esp),%ecx
47d57b:	8d 04 24             	lea    (%esp),%eax
47d57e:	50                   	push   %eax
47d57f:	51                   	push   %ecx
47d580:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
47d584:	e8 e8 05 00 00       	call   0x47db71
47d589:	84 c0                	test   %al,%al
47d58b:	75 0a                	jne    0x47d597
47d58d:	83 c8 ff             	or     $0xffffffff,%eax
47d590:	81 c4 54 03 00 00    	add    $0x354,%esp
47d596:	c3                   	ret
47d597:	8b 04 24             	mov    (%esp),%eax
47d59a:	81 c4 54 03 00 00    	add    $0x354,%esp
47d5a0:	c2 10 00             	ret    $0x10
47d5a3:	00 01                	add    %al,(%ecx)
47d5a5:	02 03                	add    (%ebx),%al
47d5a7:	04 05                	add    $0x5,%al
47d5a9:	06                   	push   %es
47d5aa:	07                   	pop    %es
47d5ab:	08 0a                	or     %cl,(%edx)
47d5ad:	0c 0e                	or     $0xe,%al
47d5af:	10 14 18             	adc    %dl,(%eax,%ebx,1)
47d5b2:	1c 20                	sbb    $0x20,%al
47d5b4:	28 30                	sub    %dh,(%eax)
47d5b6:	38 40 50             	cmp    %al,0x50(%eax)
47d5b9:	60                   	pusha
47d5ba:	70 80                	jo     0x47d53c
47d5bc:	a0 c0 e0 00 00       	mov    0xe0c0,%al
47d5c1:	00 00                	add    %al,(%eax)
47d5c3:	00 00                	add    %al,(%eax)
47d5c5:	00 00                	add    %al,(%eax)
47d5c7:	01 01                	add    %eax,(%ecx)
47d5c9:	01 01                	add    %eax,(%ecx)
47d5cb:	02 02                	add    (%edx),%al
47d5cd:	02 02                	add    (%edx),%al
47d5cf:	03 03                	add    (%ebx),%eax
47d5d1:	03 03                	add    (%ebx),%eax
47d5d3:	04 04                	add    $0x4,%al
47d5d5:	04 04                	add    $0x4,%al
47d5d7:	05 05 05 05 00       	add    $0x50505,%eax
47d5dc:	00 00                	add    %al,(%eax)
47d5de:	00 01                	add    %al,(%ecx)
47d5e0:	01 02                	add    %eax,(%edx)
47d5e2:	02 03                	add    (%ebx),%al
47d5e4:	03 04 04             	add    (%esp,%eax,1),%eax
47d5e7:	05 05 06 06 07       	add    $0x7060605,%eax
47d5ec:	07                   	pop    %es
47d5ed:	08 08                	or     %cl,(%eax)
47d5ef:	09 09                	or     %ecx,(%ecx)
47d5f1:	0a 0a                	or     (%edx),%cl
47d5f3:	0b 0b                	or     (%ebx),%ecx
47d5f5:	0c 0c                	or     $0xc,%al
47d5f7:	0d 0d 0e 0e 0f       	or     $0xf0e0e0d,%eax
47d5fc:	0f 10 10             	movups (%eax),%xmm2
47d5ff:	11 11                	adc    %edx,(%ecx)
47d601:	11 11                	adc    %edx,(%ecx)
47d603:	11 11                	adc    %edx,(%ecx)
47d605:	11 11                	adc    %edx,(%ecx)
47d607:	11 11                	adc    %edx,(%ecx)
47d609:	11 11                	adc    %edx,(%ecx)
47d60b:	11 11                	adc    %edx,(%ecx)
47d60d:	12 12                	adc    (%edx),%dl
47d60f:	12 12                	adc    (%edx),%dl
47d611:	12 12                	adc    (%edx),%dl
47d613:	12 12                	adc    (%edx),%dl
47d615:	51                   	push   %ecx
47d616:	8b d1                	mov    %ecx,%edx
47d618:	56                   	push   %esi
47d619:	b9 08 00 00 00       	mov    $0x8,%ecx
47d61e:	57                   	push   %edi
47d61f:	39 4a 04             	cmp    %ecx,0x4(%edx)
47d622:	72 35                	jb     0x47d659
47d624:	53                   	push   %ebx
47d625:	be f8 ff ff ff       	mov    $0xfffffff8,%esi
47d62a:	8b 02                	mov    (%edx),%eax
47d62c:	8a 18                	mov    (%eax),%bl
47d62e:	40                   	inc    %eax
47d62f:	88 5c 24 0c          	mov    %bl,0xc(%esp)
47d633:	89 02                	mov    %eax,(%edx)
47d635:	8b 42 08             	mov    0x8(%edx),%eax
47d638:	8b 7c 24 0c          	mov    0xc(%esp),%edi
47d63c:	c1 e0 08             	shl    $0x8,%eax
47d63f:	81 e7 ff 00 00 00    	and    $0xff,%edi
47d645:	0b c7                	or     %edi,%eax
47d647:	8b 7a 04             	mov    0x4(%edx),%edi
47d64a:	03 fe                	add    %esi,%edi
47d64c:	89 42 08             	mov    %eax,0x8(%edx)
47d64f:	8b c7                	mov    %edi,%eax
47d651:	89 7a 04             	mov    %edi,0x4(%edx)
47d654:	3b c1                	cmp    %ecx,%eax
47d656:	73 d2                	jae    0x47d62a
47d658:	5b                   	pop    %ebx
47d659:	8b 72 04             	mov    0x4(%edx),%esi
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