46c486:	47                   	inc    %edi
46c487:	65 6e                	outsb  %gs:(%esi),(%dx)
46c489:	65 72 69             	gs jb  0x46c4f5
46c48c:	63 2e                	arpl   %ebp,(%esi)
46c48e:	49                   	dec    %ecx
46c48f:	45                   	inc    %ebp
46c490:	6e                   	outsb  %ds:(%esi),(%dx)
46c491:	75 6d                	jne    0x46c500
46c493:	65 72 61             	gs jb  0x46c4f7
46c496:	74 6f                	je     0x46c507
46c498:	72 3c                	jb     0x46c4d6
46c49a:	53                   	push   %ebx
46c49b:	79 73                	jns    0x46c510
46c49d:	74 65                	je     0x46c504
46c49f:	6d                   	insl   (%dx),%es:(%edi)
46c4a0:	2e 53                	cs push %ebx
46c4a2:	74 72                	je     0x46c516
46c4a4:	69 6e 67 3e 2e 67 65 	imul   $0x65672e3e,0x67(%esi),%ebp
46c4ab:	74 5f                	je     0x46c50c
46c4ad:	43                   	inc    %ebx
46c4ae:	75 72                	jne    0x46c522
46c4b0:	72 65                	jb     0x46c517
46c4b2:	6e                   	outsb  %ds:(%esi),(%dx)
46c4b3:	74 00                	je     0x46c4b5
46c4b5:	53                   	push   %ebx
46c4b6:	79 73                	jns    0x46c52b
46c4b8:	74 65                	je     0x46c51f
46c4ba:	6d                   	insl   (%dx),%es:(%edi)
46c4bb:	2e 43                	cs inc %ebx
46c4bd:	6f                   	outsl  %ds:(%esi),(%dx)
46c4be:	6c                   	insb   (%dx),%es:(%edi)
46c4bf:	6c                   	insb   (%dx),%es:(%edi)
46c4c0:	65 63 74 69 6f       	arpl   %esi,%gs:0x6f(%ecx,%ebp,2)
46c4c5:	6e                   	outsb  %ds:(%esi),(%dx)
46c4c6:	73 2e                	jae    0x46c4f6
46c4c8:	49                   	dec    %ecx
46c4c9:	45                   	inc    %ebp
46c4ca:	6e                   	outsb  %ds:(%esi),(%dx)
46c4cb:	75 6d                	jne    0x46c53a
46c4cd:	65 72 61             	gs jb  0x46c531
46c4d0:	74 6f                	je     0x46c541
46c4d2:	72 2e                	jb     0x46c502
46c4d4:	67 65 74 5f          	addr16 gs je 0x46c537
46c4d8:	43                   	inc    %ebx
46c4d9:	75 72                	jne    0x46c54d
46c4db:	72 65                	jb     0x46c542
46c4dd:	6e                   	outsb  %ds:(%esi),(%dx)
46c4de:	74 00                	je     0x46c4e0
46c4e0:	47                   	inc    %edi
46c4e1:	65 74 50             	gs je  0x46c534
46c4e4:	61                   	popa
46c4e5:	74 68                	je     0x46c54f
46c4e7:	52                   	push   %edx
46c4e8:	6f                   	outsl  %ds:(%esi),(%dx)
46c4e9:	6f                   	outsl  %ds:(%esi),(%dx)
46c4ea:	74 00                	je     0x46c4ec
46c4ec:	41                   	inc    %ecx
46c4ed:	73 73                	jae    0x46c562
46c4ef:	65 72 74             	gs jb  0x46c566
46c4f2:	00 4d 6f             	add    %cl,0x6f(%ebp)
46c4f5:	76 65                	jbe    0x46c55c
46c4f7:	4e                   	dec    %esi
46c4f8:	65 78 74             	gs js  0x46c56f
46c4fb:	00 41 21             	add    %al,0x21(%ecx)
46c4fe:	77 00                	ja     0x46c500
46c500:	4e                   	dec    %esi
46c501:	2a 77 00             	sub    0x0(%edi),%dh
46c504:	54                   	push   %esp
46c505:	3f                   	aas
46c506:	77 00                	ja     0x46c508
46c508:	53                   	push   %ebx
46c509:	68 6f 77 00 42       	push   $0x4200776f
46c50e:	26 78 00             	es js  0x46c511
46c511:	50                   	push   %eax
46c512:	5f                   	pop    %edi
46c513:	78 00                	js     0x46c515
46c515:	4d                   	dec    %ebp
46c516:	65 73 73             	gs jae 0x46c58c
46c519:	61                   	popa
46c51a:	67 65 42             	addr16 gs inc %edx
46c51d:	6f                   	outsl  %ds:(%esi),(%dx)
46c51e:	78 00                	js     0x46c520
46c520:	49                   	dec    %ecx
46c521:	6e                   	outsb  %ds:(%esi),(%dx)
46c522:	69 74 69 61 6c 69 7a 	imul   $0x657a696c,0x61(%ecx,%ebp,2),%esi
46c529:	65
46c52a:	41                   	inc    %ecx
46c52b:	72 72                	jb     0x46c59f
46c52d:	61                   	popa
46c52e:	79 00                	jns    0x46c530
46c530:	54                   	push   %esp
46c531:	6f                   	outsl  %ds:(%esi),(%dx)
46c532:	41                   	inc    %ecx
46c533:	72 72                	jb     0x46c5a7
46c535:	61                   	popa
46c536:	79 00                	jns    0x46c538
46c538:	67 65 74 5f          	addr16 gs je 0x46c59b
46c53c:	41                   	inc    %ecx
46c53d:	73 73                	jae    0x46c5b2
46c53f:	65 6d                	gs insl (%dx),%es:(%edi)
46c541:	62 6c 79 00          	bound  %ebp,0x0(%ecx,%edi,2)
46c545:	49                   	dec    %ecx
46c546:	45                   	inc    %ebp
46c547:	76 69                	jbe    0x46c5b2
46c549:	64 65 6e             	fs outsb %gs:(%esi),(%dx)
46c54c:	63 65 46             	arpl   %esp,0x46(%ebp)
46c54f:	61                   	popa
46c550:	63 74 6f 72          	arpl   %esi,0x72(%edi,%ebp,2)
46c554:	79 00                	jns    0x46c556
46c556:	47                   	inc    %edi
46c557:	65 74 52             	gs je  0x46c5ac
46c55a:	75 6e                	jne    0x46c5ca
46c55c:	74 69                	je     0x46c5c7
46c55e:	6d                   	insl   (%dx),%es:(%edi)
46c55f:	65 44                	gs inc %esp
46c561:	69 72 65 63 74 6f 72 	imul   $0x726f7463,0x65(%edx),%esi
46c568:	79 00                	jns    0x46c56a
46c56a:	53                   	push   %ebx
46c56b:	79 73                	jns    0x46c5e0
46c56d:	74 65                	je     0x46c5d4
46c56f:	6d                   	insl   (%dx),%es:(%edi)
46c570:	2e 53                	cs push %ebx
46c572:	65 63 75 72          	arpl   %esi,%gs:0x72(%ebp)
46c576:	69 74 79 00 39 4d 7a 	imul   $0x7a4d39,0x0(%ecx,%edi,2),%esi
46c57d:	00
46c57e:	43                   	inc    %ebx
46c57f:	64 39 7b 00          	cmp    %edi,%fs:0x0(%ebx)
46c583:	78 53                	js     0x46c5d8
46c585:	7b 00                	jnp    0x46c587
46c587:	32 61 7b             	xor    0x7b(%ecx),%ah
46c58a:	00 34 6b             	add    %dh,(%ebx,%ebp,2)
46c58d:	7b 00                	jnp    0x46c58f
46c58f:	47                   	inc    %edi
46c590:	77 32                	ja     0x46c5c4
46c592:	7d 00                	jge    0x46c594
46c594:	46                   	inc    %esi
46c595:	62 39                	bound  %edi,(%ecx)
46c597:	7d 00                	jge    0x46c599
46c599:	72 41                	jb     0x46c5dc
46c59b:	7d 00                	jge    0x46c59d
46c59d:	00 00                	add    %al,(%eax)
46c59f:	00 00                	add    %al,(%eax)
46c5a1:	07                   	pop    %es
46c5a2:	20 00                	and    %al,(%eax)
46c5a4:	74 00                	je     0x46c5a6
46c5a6:	20 00                	and    %al,(%eax)
46c5a8:	00 01                	add    %al,(%ecx)
46c5aa:	00 09                	add    %cl,(%ecx)
46c5ac:	64 00 61 00          	add    %ah,%fs:0x0(%ecx)
46c5b0:	6f                   	outsl  %ds:(%esi),(%dx)
46c5b1:	00 4c 00 00          	add    %cl,0x0(%eax,%eax,1)
46c5b5:	3b 50 00             	cmp    0x0(%eax),%edx
46c5b8:	72 00                	jb     0x46c5ba
46c5ba:	6f                   	outsl  %ds:(%esi),(%dx)
46c5bb:	00 6a 00             	add    %ch,0x0(%edx)
46c5be:	65 00 63 00          	add    %ah,%gs:0x0(%ebx)
46c5c2:	74 00                	je     0x46c5c4
46c5c4:	31 00                	xor    %eax,(%eax)
46c5c6:	2e 00 50 00          	add    %dl,%cs:0x0(%eax)
46c5ca:	72 00                	jb     0x46c5cc
46c5cc:	6f                   	outsl  %ds:(%esi),(%dx)
46c5cd:	00 70 00             	add    %dh,0x0(%eax)
46c5d0:	65 00 72 00          	add    %dh,%gs:0x0(%edx)
46c5d4:	74 00                	je     0x46c5d6
46c5d6:	69 00 65 00 73 00    	imul   $0x730065,(%eax),%eax
46c5dc:	2e 00 52 00          	add    %dl,%cs:0x0(%edx)
46c5e0:	65 00 73 00          	add    %dh,%gs:0x0(%ebx)
46c5e4:	6f                   	outsl  %ds:(%esi),(%dx)
46c5e5:	00 75 00             	add    %dh,0x0(%ebp)
46c5e8:	72 00                	jb     0x46c5ea
46c5ea:	63 00                	arpl   %eax,(%eax)
46c5ec:	65 00 73 00          	add    %dh,%gs:0x0(%ebx)
46c5f0:	00 07                	add    %al,(%edi)
46c5f2:	4d                   	dec    %ebp
46c5f3:	00 6a 00             	add    %ch,0x0(%edx)
46c5f6:	37                   	aaa
46c5f7:	00 00                	add    %al,(%eax)
46c5f9:	07                   	pop    %es
46c5fa:	6d                   	insl   (%dx),%es:(%edi)
46c5fb:	00 6a 00             	add    %ch,0x0(%edx)
46c5fe:	38 00                	cmp    %al,(%eax)
46c600:	00 00                	add    %al,(%eax)
46c602:	00 00                	add    %al,(%eax)
46c604:	49                   	dec    %ecx
46c605:	9e                   	sahf
46c606:	cb                   	lret
46c607:	e0 be                	loopne 0x46c5c7
46c609:	44                   	inc    %esp
46c60a:	19 49 bc             	sbb    %ecx,-0x44(%ecx)
46c60d:	6d                   	insl   (%dx),%es:(%edi)
46c60e:	4d                   	dec    %ebp
46c60f:	b3 f6                	mov    $0xf6,%bl
46c611:	be 7d a5 00 08       	mov    $0x800a57d,%esi
46c616:	b7 7a                	mov    $0x7a,%bh
46c618:	5c                   	pop    %esp
46c619:	56                   	push   %esi
46c61a:	19 34 e0             	sbb    %esi,(%eax,%eiz,8)
46c61d:	89 03                	mov    %eax,(%ebx)
46c61f:	20 00                	and    %al,(%eax)
46c621:	01 04 01             	add    %eax,(%ecx,%eax,1)
46c624:	00 00                	add    %al,(%eax)
46c626:	00 03                	add    %al,(%ebx)
46c628:	00 00                	add    %al,(%eax)
46c62a:	01 06                	add    %eax,(%esi)
46c62c:	00 01                	add    %al,(%ecx)
46c62e:	1d 05 1d 05 09       	sbb    $0x9051d05,%eax
46c633:	10 01                	adc    %al,(%ecx)
46c635:	03 12                	add    (%edx),%edx
46c637:	0d 1e 00 08 06       	or     $0x608001e,%eax
46c63c:	0b 10                	or     (%eax),%edx
46c63e:	02 04 12             	add    (%edx,%edx,1),%al
46c641:	11 1e                	adc    %ebx,(%esi)
46c643:	00 1e                	add    %bl,(%esi)
46c645:	01 08                	add    %ecx,(%eax)
46c647:	03 08                	add    (%eax),%ecx
46c649:	10 01                	adc    %al,(%ecx)
46c64b:	03 0e                	add    (%esi),%ecx
46c64d:	1e                   	push   %ds
46c64e:	00 03                	add    %al,(%ebx)
46c650:	08 03                	or     %al,(%ebx)
46c652:	06                   	push   %es
46c653:	11 40 03             	adc    %eax,0x3(%eax)
46c656:	06                   	push   %es
46c657:	1d 05 04 00 00       	sbb    $0x405,%eax
46c65c:	12 15 04 00 00 1d    	adc    0x1d000004,%dl
46c662:	05 09 10 01 03       	add    $0x3011009,%eax
46c667:	11 19                	adc    %ebx,(%ecx)
46c669:	1e                   	push   %ds
46c66a:	00 08                	add    %cl,(%eax)
46c66c:	03 05 00 02 0e 03    	add    0x30e0200,%eax
46c672:	06                   	push   %es
46c673:	0f 10 02             	movups (%edx),%xmm0
46c676:	06                   	push   %es
46c677:	01 1e                	add    %ebx,(%esi)
46c679:	01 11                	add    %edx,(%ecx)
46c67b:	1d 1e 00 1d 12       	sbb    $0x121d001e,%eax
46c680:	21 06                	and    %eax,(%esi)
46c682:	06                   	push   %es
46c683:	03 06                	add    (%esi),%eax
46c685:	12 25 03 06 12 21    	adc    0x21120603,%ah
46c68b:	03 00                	add    (%eax),%eax
46c68d:	00 08                	add    %cl,(%eax)
46c68f:	03 00                	add    (%eax),%eax
46c691:	00 02                	add    %al,(%edx)
46c693:	03 06                	add    (%esi),%eax
46c695:	12 29                	adc    (%ecx),%ch
46c697:	05 00 01 01 12       	add    $0x12010100,%eax
46c69c:	15 06 00 01 12       	adc    $0x12010006,%eax
46c6a1:	29 12                	sub    %edx,(%edx)
46c6a3:	15 05 00 02 08       	adc    $0x8020005,%eax
46c6a8:	03 06                	add    (%esi),%eax
46c6aa:	0a 10                	or     (%eax),%dl
46c6ac:	01 04 01             	add    %eax,(%ecx,%eax,1)
46c6af:	1e                   	push   %ds
46c6b0:	00 11                	add    %dl,(%ecx)
46c6b2:	1d 06 08 0a 10       	sbb    $0x100a0806,%eax
46c6b7:	01 04 0e             	add    %eax,(%esi,%ecx,1)
46c6ba:	1e                   	push   %ds
46c6bb:	00 1d 0e 08 03 09    	add    %bl,0x903080e
46c6c1:	10 01                	adc    %al,(%ecx)
46c6c3:	04 03                	add    $0x3,%al
46c6c5:	1e                   	push   %ds
46c6c6:	00 08                	add    %cl,(%eax)
46c6c8:	06                   	push   %es
46c6c9:	03 08                	add    (%eax),%ecx
46c6cb:	10 01                	adc    %al,(%ecx)
46c6cd:	03 0e                	add    (%esi),%ecx
46c6cf:	1e                   	push   %ds
46c6d0:	00 03                	add    %al,(%ebx)
46c6d2:	03 0a                	add    (%edx),%ecx
46c6d4:	10 01                	adc    %al,(%ecx)
46c6d6:	03 1d 12 2d 1e 00    	add    0x1e2d12,%ebx
46c6dc:	08 08                	or     %cl,(%eax)
46c6de:	08 00                	or     %al,(%eax)
46c6e0:	01 15 12 31 01 0e    	add    %edx,0xe013112
46c6e6:	0e                   	push   %cs
46c6e7:	04 00                	add    $0x0,%al
46c6e9:	01 0e                	add    %ecx,(%esi)
46c6eb:	0e                   	push   %cs
46c6ec:	03 00                	add    (%eax),%eax
46c6ee:	00 0e                	add    %cl,(%esi)
46c6f0:	09 10                	or     %edx,(%eax)
46c6f2:	01 03                	add    %eax,(%ebx)
46c6f4:	12 25 1e 00 06 06    	adc    0x606001e,%ah
46c6fa:	0c 10                	or     $0x10,%al
46c6fc:	03 05 1c 1e 00 1e    	add    0x1e001e1c,%eax
46c702:	01 1e                	add    %ebx,(%esi)
46c704:	02 08                	add    (%eax),%cl
46c706:	06                   	push   %es
46c707:	08 10                	or     %dl,(%eax)
46c709:	01 03                	add    %eax,(%ebx)
46c70b:	1c 1e                	sbb    $0x1e,%al
46c70d:	00 08                	add    %cl,(%eax)
46c70f:	03 0a                	add    (%edx),%ecx
46c711:	10 01                	adc    %al,(%ecx)
46c713:	05 08 1e 00 08       	add    $0x8001e08,%eax
46c718:	08 03                	or     %al,(%ebx)
46c71a:	08 08                	or     %cl,(%eax)
46c71c:	10 01                	adc    %al,(%ecx)
46c71e:	03 0e                	add    (%esi),%ecx
46c720:	1e                   	push   %ds
46c721:	00 06                	add    %al,(%esi)
46c723:	06                   	push   %es
46c724:	05 15 12 31 01       	add    $0x1311215,%eax
46c729:	0e                   	push   %cs
46c72a:	05 15 12 35 01       	add    $0x1351215,%eax
46c72f:	0e                   	push   %cs
46c730:	02 06                	add    (%esi),%al
46c732:	0e                   	push   %cs
46c733:	03 06                	add    (%esi),%eax
46c735:	11 28                	adc    %ebp,(%eax)
46c737:	04 20                	add    $0x20,%al
46c739:	01 01                	add    %eax,(%ecx)
46c73b:	08 03                	or     %al,(%ebx)
46c73d:	20 00                	and    %al,(%eax)
46c73f:	02 03                	add    (%ebx),%al
46c741:	20 00                	and    %al,(%eax)
46c743:	0e                   	push   %cs
46c744:	04 20                	add    $0x20,%al
46c746:	00 13                	add    %dl,(%ebx)
46c748:	00 03                	add    %al,(%ebx)
46c74a:	20 00                	and    %al,(%eax)
46c74c:	1c 07                	sbb    $0x7,%al
46c74e:	20 00                	and    %al,(%eax)
46c750:	15 12 35 01 0e       	adc    $0xe013512,%eax
46c755:	08 20                	or     %ah,(%eax)
46c757:	00 15 12 35 01 13    	add    %dl,0x13013512
46c75d:	00 04 20             	add    %al,(%eax,%eiz,1)
46c760:	00 12                	add    %dl,(%edx)
46c762:	41                   	inc    %ecx
46c763:	03 28                	add    (%eax),%ebp
46c765:	00 0e                	add    %cl,(%esi)
46c767:	03 28                	add    (%eax),%ebp
46c769:	00 1c 02             	add    %bl,(%edx,%eax,1)
46c76c:	06                   	push   %es
46c76d:	08 03                	or     %al,(%ebx)
46c76f:	06                   	push   %es
46c770:	12 49 06             	adc    0x6(%ecx),%cl
46c773:	00 01                	add    %al,(%ecx)
46c775:	12 25 1d 05 06 00    	adc    0x6051d,%ah
46c77b:	02 01                	add    (%ecx),%al
46c77d:	12 29                	adc    (%ecx),%ch
46c77f:	0e                   	push   %cs
46c780:	0a 10                	or     (%eax),%dl
46c782:	01 03                	add    %eax,(%ebx)
46c784:	1d 12 4d 1e 00       	sbb    $0x1e4d12,%eax
46c789:	03 06                	add    (%esi),%eax
46c78b:	0c 10                	or     $0x10,%al
46c78d:	02 05 1c 1e 00 1e    	add    0x1e001e1c,%al
46c793:	01 1d 1c 08 08 09    	add    %ebx,0x908081c