495383:	6f                   	outsl  %ds:(%esi),(%dx)
495384:	76 65                	jbe    0x4953eb
495386:	4e                   	dec    %esi
495387:	65 78 74             	gs js  0x4953fe
49538a:	00 67 65             	add    %ah,0x65(%edi)
49538d:	74 5f                	je     0x4953ee
49538f:	43                   	inc    %ebx
495390:	75 72                	jne    0x495404
495392:	72 65                	jb     0x4953f9
495394:	6e                   	outsb  %ds:(%esi),(%dx)
495395:	74 00                	je     0x495397
495397:	67 65 74 5f          	addr16 gs je 0x4953fa
49539b:	44                   	inc    %esp
49539c:	69 61 6c 6f 67 52 65 	imul   $0x6552676f,0x6c(%ecx),%esp
4953a3:	73 75                	jae    0x49541a
4953a5:	6c                   	insb   (%dx),%es:(%edi)
4953a6:	74 00                	je     0x4953a8
4953a8:	47                   	inc    %edi
4953a9:	65 74 4c             	gs je  0x4953f8
4953ac:	65 6e                	outsb  %gs:(%esi),(%dx)
4953ae:	67 74 68             	addr16 je 0x495419
4953b1:	00 67 65             	add    %ah,0x65(%edi)
4953b4:	74 5f                	je     0x495415
4953b6:	4e                   	dec    %esi
4953b7:	65 77 4c             	gs ja  0x495406
4953ba:	69 6e 65 00 43 68 61 	imul   $0x61684300,0x65(%esi),%ebp
4953c1:	72 00                	jb     0x4953c3
4953c3:	00 00                	add    %al,(%eax)
4953c5:	01 00                	add    %eax,(%eax)
4953c7:	00 bc 0e 86 d1 33 01 	add    %bh,0x133d186(%esi,%ecx,1)
4953ce:	4c                   	dec    %esp
4953cf:	46                   	inc    %esi
4953d0:	9f                   	lahf
4953d1:	1c 91                	sbb    $0x91,%al
4953d3:	39 75 df             	cmp    %esi,-0x21(%ebp)
4953d6:	1c 5a                	sbb    $0x5a,%al
4953d8:	00 08                	add    %cl,(%eax)
4953da:	b7 7a                	mov    $0x7a,%bh
4953dc:	5c                   	pop    %esp
4953dd:	56                   	push   %esi
4953de:	19 34 e0             	sbb    %esi,(%eax,%eiz,8)
4953e1:	89 03                	mov    %eax,(%ebx)
4953e3:	20 00                	and    %al,(%eax)
4953e5:	01 04 01             	add    %eax,(%ecx,%eax,1)
4953e8:	00 00                	add    %al,(%eax)
4953ea:	00 03                	add    %al,(%ebx)
4953ec:	06                   	push   %es
4953ed:	1d 05 03 06 11       	sbb    $0x11060305,%eax
4953f2:	2c 03                	sub    $0x3,%al
4953f4:	06                   	push   %es
4953f5:	12 09                	adc    (%ecx),%cl
4953f7:	03 06                	add    (%esi),%eax
4953f9:	11 30                	adc    %esi,(%eax)
4953fb:	03 00                	add    (%eax),%eax
4953fd:	00 01                	add    %al,(%ecx)
4953ff:	06                   	push   %es
495400:	00 01                	add    %al,(%ecx)
495402:	1d 05 1d 05 06       	sbb    $0x6051d05,%eax
495407:	10 01                	adc    %al,(%ecx)
495409:	01 1e                	add    %ebx,(%esi)
49540b:	00 09                	add    %cl,(%ecx)
49540d:	07                   	pop    %es
49540e:	00 02                	add    %al,(%edx)
495410:	12 09                	adc    (%ecx),%cl
495412:	1c 12                	sbb    $0x12,%al
495414:	0d 08 00 04 02       	or     $0x2040008,%eax
495419:	18 09                	sbb    %cl,(%ecx)
49541b:	09 10                	or     %edx,(%eax)
49541d:	09 06                	or     %eax,(%esi)
49541f:	00 02                	add    %al,(%edx)
495421:	02 18                	add    (%eax),%bl
495423:	10 02                	adc    %al,(%edx)
495425:	02 06                	add    (%esi),%al
495427:	09 05 20 01 09 12    	or     %eax,0x12090120
49542d:	10 04 06             	adc    %al,(%esi,%eax,1)
495430:	1d 11 08 02 06       	sbb    $0x6020811,%eax
495435:	08 04 20             	or     %al,(%eax,%eiz,1)
495438:	01 01                	add    %eax,(%ecx)
49543a:	08 0a                	or     %cl,(%edx)
49543c:	00 04 09             	add    %al,(%ecx,%ecx,1)
49543f:	1d 11 08 09 12       	sbb    $0x12090811,%eax
495444:	10 08                	adc    %cl,(%eax)
495446:	03 06                	add    (%esi),%eax
495448:	12 19                	adc    (%ecx),%bl
49544a:	05 20 01 01 12       	add    $0x12010120,%eax
49544f:	19 04 20             	sbb    %eax,(%eax,%eiz,1)
495452:	01 09                	add    %ecx,(%ecx)
495454:	08 03                	or     %al,(%ebx)
495456:	06                   	push   %es
495457:	12 18                	adc    (%eax),%bl
495459:	03 06                	add    (%esi),%eax
49545b:	12 1c 03             	adc    (%ebx,%eax,1),%bl
49545e:	06                   	push   %es
49545f:	12 24 04             	adc    (%esp,%eax,1),%ah
495462:	06                   	push   %es
495463:	1d 11 0c 03 06       	sbb    $0x6030c11,%eax
495468:	12 10                	adc    (%eax),%dl
49546a:	02 06                	add    (%esi),%al
49546c:	02 03                	add    (%ebx),%al
49546e:	06                   	push   %es
49546f:	11 0c 04             	adc    %ecx,(%esp,%eax,1)
495472:	20 01                	and    %al,(%ecx)
495474:	01 09                	add    %ecx,(%ecx)
495476:	05 20 02 01 08       	add    $0x8010220,%eax
49547b:	08 07                	or     %al,(%edi)
49547d:	20 02                	and    %al,(%edx)
49547f:	01 12                	add    %edx,(%edx)
495481:	19 12                	sbb    %edx,(%edx)
495483:	19 09                	sbb    %ecx,(%ecx)
495485:	20 04 01             	and    %al,(%ecx,%eax,1)
495488:	12 19                	adc    (%ecx),%bl
49548a:	12 19                	adc    (%ecx),%bl
49548c:	0a 0a                	or     (%edx),%cl
49548e:	05 20 01 01 1d       	add    $0x1d010120,%eax
495493:	05 04 00 01 09       	add    $0x9010004,%eax
495498:	09 03                	or     %eax,(%ebx)
49549a:	06                   	push   %es
49549b:	11 08                	adc    %ecx,(%eax)
49549d:	06                   	push   %es
49549e:	20 02                	and    %al,(%edx)
4954a0:	09 12                	or     %edx,(%edx)
4954a2:	10 09                	adc    %cl,(%ecx)
4954a4:	04 06                	add    $0x6,%al
4954a6:	1d 11 20 05 20       	sbb    $0x20052011,%eax
4954ab:	02 09                	add    (%ecx),%cl
4954ad:	09 05 07 20 03 05    	or     %eax,0x5032007
4954b3:	12 10                	adc    (%eax),%dl
4954b5:	09 05 08 20 04 05    	or     %eax,0x5042008
4954bb:	12 10                	adc    (%eax),%dl
4954bd:	09 05 05 05 20 01    	or     %eax,0x1200505
4954c3:	05 12 10 06 20       	add    $0x20061012,%eax
4954c8:	02 05 12 10 05 06    	add    0x6051012,%al
4954ce:	20 02                	and    %al,(%edx)
4954d0:	01 12                	add    %edx,(%edx)
4954d2:	19 02                	sbb    %eax,(%edx)
4954d4:	05 20 02 01 09       	add    $0x9010220,%eax
4954d9:	09 04 20             	or     %eax,(%eax,%eiz,1)
4954dc:	01 01                	add    %eax,(%ecx)
4954de:	05 04 20 01 05       	add    $0x5012004,%eax
4954e3:	09 03                	or     %eax,(%ebx)
4954e5:	20 00                	and    %al,(%eax)
4954e7:	02 03                	add    (%ebx),%al
4954e9:	06                   	push   %es
4954ea:	12 38                	adc    (%eax),%bh
4954ec:	03 06                	add    (%esi),%eax
4954ee:	12 21                	adc    (%ecx),%ah
4954f0:	03 06                	add    (%esi),%eax
4954f2:	12 25 03 06 12 29    	adc    0x29120603,%ah
4954f8:	03 06                	add    (%esi),%eax
4954fa:	12 2d 05 20 01 01    	adc    0x1012005,%ch
495500:	12 38                	adc    (%eax),%bh
495502:	06                   	push   %es
495503:	20 02                	and    %al,(%edx)
495505:	01 1c 12             	add    %ebx,(%edx,%edx,1)
495508:	31 04 20             	xor    %eax,(%eax,%eiz,1)
49550b:	01 01                	add    %eax,(%ecx)
49550d:	02 04 00             	add    (%eax,%eax,1),%al
495510:	00 12                	add    %dl,(%edx)
495512:	2d 05 00 01 0e       	sub    $0xe010005,%eax
495517:	12 35 05 00 02 0e    	adc    0xe020005,%dh
49551d:	0e                   	push   %cs
49551e:	0e                   	push   %cs
49551f:	06                   	push   %es
495520:	00 02                	add    %al,(%edx)
495522:	01 12                	add    %edx,(%edx)
495524:	39 0e                	cmp    %ecx,(%esi)
495526:	05 00 01 01 12       	add    $0x12010100,%eax
49552b:	1d 05 00 01 01       	sbb    $0x1010005,%eax
495530:	12 3d 04 00 00 12    	adc    0x12000004,%bh
495536:	25 04 00 00 12       	and    $0x12000004,%eax
49553b:	29 05 00 01 01 12    	sub    %eax,0x12010100
495541:	41                   	inc    %ecx
495542:	05 00 01 01 12       	add    $0x12010100,%eax
495547:	35 06 00 02 01       	xor    $0x1020006,%eax
49554c:	12 35 02 08 b0 3f    	adc    0x3fb00802,%dh
495552:	5f                   	pop    %edi
495553:	7f 11                	jg     0x495566
495555:	d5 0a                	aad    $0xa
495557:	3a 07                	cmp    (%edi),%al
495559:	00 02                	add    %al,(%edx)
49555b:	01 12                	add    %edx,(%edx)
49555d:	35 11 45 06 00       	xor    $0x64511,%eax
495562:	02 01                	add    (%ecx),%al
495564:	12 35 0e 07 00 02    	adc    0x200070e,%dh
49556a:	01 12                	add    %edx,(%edx)
49556c:	35 11 49 06 00       	xor    $0x64911,%eax
495571:	02 01                	add    (%ecx),%al
495573:	12 35 08 06 00 02    	adc    0x2000608,%dh
495579:	01 12                	add    %edx,(%edx)
49557b:	4d                   	dec    %ebp
49557c:	02 07                	add    (%edi),%al
49557e:	00 02                	add    %al,(%edx)
495580:	01 12                	add    %edx,(%edx)
495582:	35 12 51 07 00       	xor    $0x75112,%eax
495587:	02 01                	add    (%ecx),%al
495589:	12 29                	adc    (%ecx),%ch
49558b:	11 55 07             	adc    %edx,0x7(%ebp)
49558e:	00 02                	add    %al,(%edx)
495590:	01 12                	add    %edx,(%edx)
495592:	2d 11 59 07 00       	sub    $0x75911,%eax
495597:	02 01                	add    (%ecx),%al
495599:	12 1d 12 5d 07 00    	adc    0x75d12,%bl
49559f:	02 01                	add    (%ecx),%al
4955a1:	12 61 11             	adc    0x11(%ecx),%ah
4955a4:	65 07                	gs pop %es
4955a6:	00 02                	add    %al,(%edx)
4955a8:	01 12                	add    %edx,(%edx)
4955aa:	61                   	popa
4955ab:	11 69 07             	adc    %ebp,0x7(%ecx)
4955ae:	00 02                	add    %al,(%edx)
4955b0:	01 12                	add    %edx,(%edx)
4955b2:	1d 11 49 06 00       	sbb    $0x64911,%eax
4955b7:	02 01                	add    (%ecx),%al
4955b9:	12 1d 02 06 00 01    	adc    0x1000602,%bl
4955bf:	12 6d 12             	adc    0x12(%ebp),%ch
4955c2:	35 07 00 02 01       	xor    $0x1020007,%eax
4955c7:	12 6d 12             	adc    0x12(%ebp),%ch
4955ca:	35 07 00 02 01       	xor    $0x1020007,%eax
4955cf:	12 1d 11 71 07 00    	adc    0x77111,%bl
4955d5:	02 01                	add    (%ecx),%al
4955d7:	12 1d 11 75 03 06    	adc    0x6037511,%bl
4955dd:	12 79 03             	adc    0x3(%ecx),%bh
4955e0:	06                   	push   %es
4955e1:	12 7d 04             	adc    0x4(%ebp),%bh
4955e4:	06                   	push   %es
4955e5:	12 80 81 03 06 12    	adc    0x12060381(%eax),%al
4955eb:	34 04                	xor    $0x4,%al
4955ed:	06                   	push   %es
4955ee:	12 80 85 04 06 1d    	adc    0x1d060485(%eax),%al
4955f4:	12 25 03 06 1d 08    	adc    0x81d0603,%ah
4955fa:	09 06                	or     %eax,(%esi)
4955fc:	14 12                	adc    $0x12,%al
4955fe:	29 02                	sub    %eax,(%edx)
495600:	00 02                	add    %al,(%edx)
495602:	00 00                	add    %al,(%eax)
495604:	09 06                	or     %eax,(%esi)
495606:	14 11                	adc    $0x11,%al
495608:	3c 02                	cmp    $0x2,%al
49560a:	00 02                	add    %al,(%edx)
49560c:	00 00                	add    %al,(%eax)
49560e:	03 06                	add    (%esi),%eax
495610:	11 45 04             	adc    %eax,0x4(%ebp)
495613:	06                   	push   %es
495614:	12 80 89 04 06 12    	adc    0x12060489(%eax),%al
49561a:	80 8d 04 06 12 80 91 	orb    $0x91,-0x7fedf9fc(%ebp)
495621:	04 06                	add    $0x6,%al
495623:	12 80 95 04 06 12    	adc    0x12060495(%eax),%al
495629:	80 99 04 06 12 80 9d 	sbbb   $0x9d,-0x7fedf9fc(%ecx)
495630:	07                   	pop    %es
495631:	20 02                	and    %al,(%edx)
495633:	01 1c 12             	add    %ebx,(%edx,%edx,1)
495636:	80 a1 07 20 02 01 1c 	andb   $0x1c,0x1022007(%ecx)
49563d:	12 80 a5 07 20 02    	adc    0x22007a5(%eax),%al
495643:	01 1c 12             	add    %ebx,(%edx,%edx,1)
495646:	80 a9 07 20 02 01 1c 	subb   $0x1c,0x1022007(%ecx)
49564d:	12 80 ad 04 00 00    	adc    0x4ad(%eax),%al
495653:	12 79 04             	adc    0x4(%ecx),%bh
495656:	00 00                	add    %al,(%eax)
495658:	12 7d 05             	adc    0x5(%ebp),%bh
49565b:	00 00                	add    %al,(%eax)
49565d:	12 80 81 05 00 00    	adc    0x581(%eax),%al
495663:	12 80 85 05 00 00    	adc    0x585(%eax),%al
495669:	12 80 99 07 00 02    	adc    0x2000799(%eax),%al
49566f:	01 12                	add    %edx,(%edx)
495671:	80 85 08 07 00 02 01 	addb   $0x1,0x2000708(%ebp)
495678:	12 80 9d 08 07 00    	adc    0x7089d(%eax),%al
49567e:	02 01                	add    (%ecx),%al
495680:	12 80 81 02 09 00    	adc    0x90281(%eax),%al
495686:	02 01                	add    (%ecx),%al
495688:	12 80 81 12 80 b1    	adc    -0x4e7fed7f(%eax),%al
49568e:	09 00                	or     %eax,(%eax)
495690:	02 01                	add    (%ecx),%al
495692:	12 80 81 12 80 b5    	adc    -0x4a7fed7f(%eax),%al
495698:	09 00                	or     %eax,(%eax)
49569a:	02 01                	add    (%ecx),%al
49569c:	12 80 81 12 80 b9    	adc    -0x467fed7f(%eax),%al
4956a2:	08 00                	or     %al,(%eax)
4956a4:	02 01                	add    (%ecx),%al
4956a6:	12 80 85 12 51 08    	adc    0x8511285(%eax),%al
4956ac:	00 02                	add    %al,(%edx)
4956ae:	01 12                	add    %edx,(%edx)
4956b0:	1d 12 80 bd 08       	sbb    $0x8bd8012,%eax
4956b5:	00 02                	add    %al,(%edx)
4956b7:	01 12                	add    %edx,(%edx)
4956b9:	35 11 80 c1 0a       	xor    $0xac18011,%eax
4956be:	00 03                	add    %al,(%ebx)
4956c0:	12 80 c5 0e 0c 11    	adc    0x110c0ec5(%eax),%al
4956c6:	80 c9 08             	or     $0x8,%cl
4956c9:	00 02                	add    %al,(%edx)
4956cb:	01 12                	add    %edx,(%edx)
4956cd:	35 12 80 c5 08       	xor    $0x8c58012,%eax
4956d2:	00 02                	add    %al,(%edx)
4956d4:	01 12                	add    %edx,(%edx)
4956d6:	25 11 80 cd 08       	and    $0x8cd8011,%eax
4956db:	00 01                	add    %al,(%ecx)
4956dd:	12 80 d1 12 80 8d    	adc    -0x727fed2f(%eax),%al
4956e3:	0a 00                	or     (%eax),%al
4956e5:	04 01                	add    $0x1,%al
4956e7:	12 80 d1 12 35 08    	adc    0x83512d1(%eax),%al
4956ed:	08 08                	or     %cl,(%eax)
4956ef:	00 02                	add    %al,(%edx)
4956f1:	01 12                	add    %edx,(%edx)
4956f3:	35 11 80 d5 06       	xor    $0x6d58011,%eax
4956f8:	00 02                	add    %al,(%edx)
4956fa:	01 12                	add    %edx,(%edx)
4956fc:	35 1c 08 00 02       	xor    $0x200081c,%eax
495701:	01 12                	add    %edx,(%edx)
495703:	29 11                	sub    %edx,(%ecx)
495705:	80 d9 08             	sbb    $0x8,%cl
495708:	00 02                	add    %al,(%edx)
49570a:	01 12                	add    %edx,(%edx)
49570c:	35 12 80 dd 08       	xor    $0x8dd8012,%eax
495711:	00 02                	add    %al,(%edx)
495713:	01 12                	add    %edx,(%edx)
495715:	35 11 80 e1 05       	xor    $0x5e18011,%eax
49571a:	00 01                	add    %al,(%ecx)
49571c:	1c 12                	sbb    $0x12,%al
49571e:	35 08 00 01 11       	xor    $0x11010008,%eax
495723:	80 e5 12             	and    $0x12,%ch
495726:	80 e9 07             	sub    $0x7,%cl
495729:	00 01                	add    %al,(%ecx)
49572b:	11 80 e1 12 35 06    	adc    %eax,0x63512e1(%eax)
495731:	00 01                	add    %al,(%ecx)
495733:	01 12                	add    %edx,(%edx)
495735:	80 85 06 00 01 02 12 	addb   $0x12,0x2010006(%ebp)
49573c:	80 81 06 00 01 01 12 	addb   $0x12,0x1010006(%ecx)
495743:	80 81 05 00 00 12 80 	addb   $0x80,0x12000005(%ecx)
49574a:	ed                   	in     (%dx),%eax
49574b:	08 00                	or     %al,(%eax)
49574d:	03 08                	add    (%eax),%ecx
49574f:	12 80 ed 08 08 06    	adc    0x60808ed(%eax),%al
495755:	00 02                	add    %al,(%edx)
495757:	11 55 0e             	adc    %edx,0xe(%ebp)
49575a:	0e                   	push   %cs
49575b:	09 00                	or     %eax,(%eax)
49575d:	03 11                	add    (%ecx),%edx
49575f:	55                   	push   %ebp
495760:	0e                   	push   %cs
495761:	0e                   	push   %cs
495762:	11 80 f1 07 00 02    	adc    %eax,0x20007f1(%eax)
495768:	01 12                	add    %edx,(%edx)
49576a:	80 a1 02 06 00 01 11 	andb   $0x11,0x1000602(%ecx)
495771:	55                   	push   %ebp
495772:	12 1d 06 00 02 01    	adc    0x1020006,%bl
495778:	12 39                	adc    (%ecx),%bh
49577a:	02 07                	add    (%edi),%al
49577c:	00 02                	add    %al,(%edx)
49577e:	01 12                	add    %edx,(%edx)
495780:	80 91 02 09 00 02 01 	adcb   $0x1,0x2000902(%ecx)
495787:	12 80 f5 11 80 e1    	adc    -0x1e7fee0b(%eax),%al