479421:	64 65 78 00          	fs gs js 0x479425
479425:	67 65 74 5f          	addr16 gs je 0x479488
479429:	53                   	push   %ebx
47942a:	65 6c                	gs insb (%dx),%es:(%edi)
47942c:	65 63 74 65 64       	arpl   %esi,%gs:0x64(%ebp,%eiz,2)
479431:	56                   	push   %esi
479432:	61                   	popa
479433:	6c                   	insb   (%dx),%es:(%edi)
479434:	75 65                	jne    0x47949b
479436:	00 73 65             	add    %dh,0x65(%ebx)
479439:	74 5f                	je     0x47949a
47943b:	53                   	push   %ebx
47943c:	65 6c                	gs insb (%dx),%es:(%edi)
47943e:	65 63 74 65 64       	arpl   %esi,%gs:0x64(%ebp,%eiz,2)
479443:	56                   	push   %esi
479444:	61                   	popa
479445:	6c                   	insb   (%dx),%es:(%edi)
479446:	75 65                	jne    0x4794ad
479448:	00 73 65             	add    %dh,0x65(%ebx)
47944b:	74 5f                	je     0x4794ac
47944d:	44                   	inc    %esp
47944e:	69 73 70 6c 61 79 4d 	imul   $0x4d79616c,0x70(%ebx),%esi
479455:	65 6d                	gs insl (%dx),%es:(%edi)
479457:	62 65 72             	bound  %esp,0x72(%ebp)
47945a:	00 73 65             	add    %dh,0x65(%ebx)
47945d:	74 5f                	je     0x4794be
47945f:	44                   	inc    %esp
479460:	72 6f                	jb     0x4794d1
479462:	70 44                	jo     0x4794a8
479464:	6f                   	outsl  %ds:(%esi),(%dx)
479465:	77 6e                	ja     0x4794d5
479467:	53                   	push   %ebx
479468:	74 79                	je     0x4794e3
47946a:	6c                   	insb   (%dx),%es:(%edi)
47946b:	65 00 73 65          	add    %dh,%gs:0x65(%ebx)
47946f:	74 5f                	je     0x4794d0
479471:	46                   	inc    %esi
479472:	6f                   	outsl  %ds:(%esi),(%dx)
479473:	72 6d                	jb     0x4794e2
479475:	61                   	popa
479476:	74 74                	je     0x4794ec
479478:	69 6e 67 45 6e 61 62 	imul   $0x62616e45,0x67(%esi),%ebp
47947f:	6c                   	insb   (%dx),%es:(%edi)
479480:	65 64 00 73 65       	gs add %dh,%fs:0x65(%ebx)
479485:	74 5f                	je     0x4794e6
479487:	56                   	push   %esi
479488:	61                   	popa
479489:	6c                   	insb   (%dx),%es:(%edi)
47948a:	75 65                	jne    0x4794f1
47948c:	4d                   	dec    %ebp
47948d:	65 6d                	gs insl (%dx),%es:(%edi)
47948f:	62 65 72             	bound  %esp,0x72(%ebp)
479492:	00 67 65             	add    %ah,0x65(%edi)
479495:	74 5f                	je     0x4794f6
479497:	43                   	inc    %ebx
479498:	6f                   	outsl  %ds:(%esi),(%dx)
479499:	6e                   	outsb  %ds:(%esi),(%dx)
47949a:	74 72                	je     0x47950e
47949c:	6f                   	outsl  %ds:(%esi),(%dx)
47949d:	6c                   	insb   (%dx),%es:(%edi)
47949e:	00 73 65             	add    %dh,0x65(%ebx)
4794a1:	74 5f                	je     0x479502
4794a3:	42                   	inc    %edx
4794a4:	61                   	popa
4794a5:	63 6b 43             	arpl   %ebp,0x43(%ebx)
4794a8:	6f                   	outsl  %ds:(%esi),(%dx)
4794a9:	6c                   	insb   (%dx),%es:(%edi)
4794aa:	6f                   	outsl  %ds:(%esi),(%dx)
4794ab:	72 00                	jb     0x4794ad
4794ad:	53                   	push   %ebx
4794ae:	79 6e                	jns    0x47951e
4794b0:	63 68 72             	arpl   %ebp,0x72(%eax)
4794b3:	6f                   	outsl  %ds:(%esi),(%dx)
4794b4:	6e                   	outsb  %ds:(%esi),(%dx)
4794b5:	69 7a 65 64 00 00 00 	imul   $0x64,0x65(%edx),%edi
4794bc:	0c b3                	or     $0xb3,%al
4794be:	f1                   	int1
4794bf:	4f                   	dec    %edi
4794c0:	2a df                	sub    %bh,%bl
4794c2:	05 48 43 f4 d1       	add    $0xd1f44348,%eax
4794c7:	23 97 92 b4 a0 00    	and    0xa0b492(%edi),%edx
4794cd:	08 b7 7a 5c 56 19    	or     %dh,0x19565c7a(%edi)
4794d3:	34 e0                	xor    $0xe0,%al
4794d5:	89 08                	mov    %ecx,(%eax)
4794d7:	b0 3f                	mov    $0x3f,%al
4794d9:	5f                   	pop    %edi
4794da:	7f 11                	jg     0x4794ed
4794dc:	d5 0a                	aad    $0xa
4794de:	3a 03                	cmp    (%ebx),%al
4794e0:	06                   	push   %es
4794e1:	13 00                	adc    (%eax),%eax
4794e3:	03 06                	add    (%esi),%eax
4794e5:	13 01                	adc    (%ecx),%eax
4794e7:	07                   	pop    %es
4794e8:	20 02                	and    %al,(%edx)
4794ea:	01 13                	add    %edx,(%ebx)
4794ec:	00 13                	add    %dl,(%ebx)
4794ee:	01 04 20             	add    %eax,(%eax,%eiz,1)
4794f1:	00 13                	add    %dl,(%ebx)
4794f3:	00 04 20             	add    %al,(%eax,%eiz,1)
4794f6:	00 13                	add    %dl,(%ebx)
4794f8:	01 04 20             	add    %eax,(%eax,%eiz,1)
4794fb:	01 02                	add    %eax,(%edx)
4794fd:	1c 03                	sbb    $0x3,%al
4794ff:	20 00                	and    %al,(%eax)
479501:	08 03                	or     %al,(%ebx)
479503:	20 00                	and    %al,(%eax)
479505:	0e                   	push   %cs
479506:	03 06                	add    (%esi),%eax
479508:	12 5d 04             	adc    0x4(%ebp),%bl
47950b:	06                   	push   %es
47950c:	12 82 c9 04 06 12    	adc    0x120604c9(%edx),%al
479512:	82 59 04 06          	sbbb   $0x6,0x4(%ecx)
479516:	12 83 0d 04 06 12    	adc    0x1206040d(%ebx),%al
47951c:	82 cd 03             	or     $0x3,%ch
47951f:	20 00                	and    %al,(%eax)
479521:	01 07                	add    %eax,(%edi)
479523:	20 02                	and    %al,(%edx)
479525:	01 1c 12             	add    %ebx,(%edx,%edx,1)
479528:	81 11 07 20 02 01    	adcl   $0x1022007,(%ecx)
47952e:	1c 12                	sbb    $0x12,%al
479530:	82 d1 04             	adc    $0x4,%cl
479533:	20 01                	and    %al,(%ecx)
479535:	01 02                	add    %eax,(%edx)
479537:	05 00 02 0e 0e       	add    $0xe0e0200,%eax
47953c:	1c 04                	sbb    $0x4,%al
47953e:	00 01                	add    %al,(%ecx)
479540:	0e                   	push   %cs
479541:	1c 04                	sbb    $0x4,%al
479543:	00 01                	add    %al,(%ecx)
479545:	02 0e                	add    (%esi),%cl
479547:	04 06                	add    $0x6,%al
479549:	12 82 19 02 06 0e    	adc    0xe060219(%edx),%al
47954f:	02 06                	add    (%esi),%al
479551:	02 04 06             	add    (%esi,%eax,1),%al
479554:	12 80 dd 04 06 12    	adc    0x120604dd(%eax),%al
47955a:	80 dc 04             	sbb    $0x4,%ah
47955d:	06                   	push   %es
47955e:	12 80 e0 04 06 12    	adc    0x120604e0(%eax),%al
479564:	83 29 04             	subl   $0x4,(%ecx)
479567:	06                   	push   %es
479568:	12 82 dd 04 06 12    	adc    0x120604dd(%edx),%al
47956e:	83 45 04 06          	addl   $0x6,0x4(%ebp)
479572:	12 83 49 04 06 12    	adc    0x12060449(%ebx),%al
479578:	83 25 04 06 12 83 4d 	andl   $0x4d,0x83120604
47957f:	04 20                	add    $0x20,%al
479581:	01 01                	add    %eax,(%ecx)
479583:	0e                   	push   %cs
479584:	05 20 02 01 0e       	add    $0xe010220,%eax
479589:	0e                   	push   %cs
47958a:	03 20                	add    (%eax),%esp
47958c:	00 02                	add    %al,(%edx)
47958e:	05 00 00 12 81       	add    $0x81120000,%eax
479593:	60                   	pusha
479594:	05 20 00 12 80       	add    $0x80120020,%eax
479599:	bd 06 20 01 01       	mov    $0x1012006,%ebp
47959e:	12 80 bd 07 20 02    	adc    0x22007bd(%eax),%al
4795a4:	01 0e                	add    %ecx,(%esi)
4795a6:	12 82 19 07 00 02    	adc    0x2000719(%edx),%al
4795ac:	0e                   	push   %cs
4795ad:	0e                   	push   %cs
4795ae:	12 82 19 05 20 00    	adc    0x200519(%edx),%al
4795b4:	12 80 dd 06 20 01    	adc    0x12006dd(%eax),%al
4795ba:	01 12                	add    %edx,(%edx)
4795bc:	80 dd 0a             	sbb    $0xa,%ch
4795bf:	20 04 01             	and    %al,(%ecx,%eax,1)
4795c2:	12 80 c5 0e 08 11    	adc    0x11080ec5(%eax),%al
4795c8:	24 06                	and    $0x6,%al
4795ca:	20 02                	and    %al,(%edx)
4795cc:	12 28                	adc    (%eax),%ch
4795ce:	0e                   	push   %cs
4795cf:	08 05 20 02 0e 0e    	or     %al,0xe0e0220
4795d5:	08 05 00 01 12 28    	or     %al,0x28120100
4795db:	0e                   	push   %cs
4795dc:	04 20                	add    $0x20,%al
4795de:	00 12                	add    %dl,(%edx)
4795e0:	20 05 20 01 12 20    	and    %al,0x20120120
4795e6:	08 04 20             	or     %al,(%eax,%eiz,1)
4795e9:	01 01                	add    %eax,(%ecx)
4795eb:	08 07                	or     %al,(%edi)
4795ed:	20 02                	and    %al,(%edx)
4795ef:	01 1c 12             	add    %ebx,(%edx,%edx,1)
4795f2:	82 b5 06 20 03 02 0e 	xorb   $0xe,0x2032006(%ebp)
4795f9:	02 02                	add    (%edx),%al
4795fb:	07                   	pop    %es
4795fc:	20 02                	and    %al,(%edx)
4795fe:	01 1c 12             	add    %ebx,(%edx,%edx,1)
479601:	82 99 07 20 02 01 1c 	sbbb   $0x1c,0x1022007(%ecx)
479608:	12 82 91 07 20 02    	adc    0x2200791(%edx),%al
47960e:	01 1c 12             	add    %ebx,(%edx,%edx,1)
479611:	82 f1 03             	xor    $0x3,%cl
479614:	06                   	push   %es
479615:	12 18                	adc    (%eax),%bl
479617:	02 06                	add    (%esi),%al
479619:	08 07                	or     %al,(%edi)
47961b:	20 02                	and    %al,(%edx)
47961d:	01 1c 12             	add    %ebx,(%edx,%edx,1)
479620:	80 e5 02             	and    $0x2,%ch
479623:	06                   	push   %es
479624:	09 04 00             	or     %eax,(%eax,%eax,1)
479627:	01 02                	add    %eax,(%edx)
479629:	18 0f                	sbb    %cl,(%edi)
47962b:	00 0c 18             	add    %cl,(%eax,%ebx,1)
47962e:	09 0e                	or     %ecx,(%esi)
479630:	0e                   	push   %cs
479631:	09 08                	or     %ecx,(%eax)
479633:	08 08                	or     %cl,(%eax)
479635:	08 18                	or     %bl,(%eax)
479637:	18 18                	sbb    %bl,(%eax)
479639:	18 04 00             	sbb    %al,(%eax,%eax,1)
47963c:	01 18                	add    %ebx,(%eax)
47963e:	18 05 00 02 02 18    	sbb    %al,0x18020200
479644:	02 05 00 02 18 18    	add    0x18180200,%al
47964a:	08 06                	or     %al,(%esi)
47964c:	00 03                	add    %al,(%ebx)
47964e:	02 18                	add    (%eax),%bl
479650:	08 0e                	or     %cl,(%esi)
479652:	04 00                	add    $0x0,%al
479654:	01 08                	add    %ecx,(%eax)
479656:	18 0a                	sbb    %cl,(%edx)
479658:	00 02                	add    %al,(%edx)
47965a:	02 11                	add    (%ecx),%dl
47965c:	81 dd 10 11 80 98    	sbb    $0x98801110,%ebp
479662:	01 02                	add    %eax,(%edx)
479664:	07                   	pop    %es
479665:	00 02                	add    %al,(%edx)
479667:	02 11                	add    (%ecx),%dl
479669:	81 dd 0e 0a 00 03    	sbb    $0x3000a0e,%ebp
47966f:	01 11                	add    %edx,(%ecx)
479671:	81 dd 12 82 21 08    	sbb    $0x8218212,%ebp
479677:	09 00                	or     %eax,(%eax)
479679:	03 02                	add    (%edx),%eax
47967b:	11 81 dd 12 38 08    	adc    %eax,0x83812dd(%ecx)
479681:	07                   	pop    %es
479682:	00 04 18             	add    %al,(%eax,%ebx,1)
479685:	18 18                	sbb    %bl,(%eax)
479687:	0e                   	push   %cs
479688:	0e                   	push   %cs
479689:	07                   	pop    %es
47968a:	00 04 18             	add    %al,(%eax,%ebx,1)
47968d:	18 18                	sbb    %bl,(%eax)
47968f:	0e                   	push   %cs
479690:	18 09                	sbb    %cl,(%ecx)
479692:	00 02                	add    %al,(%edx)
479694:	18 11                	sbb    %dl,(%ecx)
479696:	81 dd 11 81 dd 09    	sbb    $0x9dd8111,%ebp
47969c:	00 04 18             	add    %al,(%eax,%ebx,1)
47969f:	11 81 dd 09 18 18    	adc    %eax,0x181809dd(%ecx)
4796a5:	0b 00                	or     (%eax),%eax
4796a7:	04 18                	add    $0x18,%al
4796a9:	11 81 dd 09 18 12    	adc    %eax,0x121809dd(%ecx)
4796af:	82 21 0b             	andb   $0xb,(%ecx)
4796b2:	00 07                	add    %al,(%edi)
4796b4:	02 18                	add    (%eax),%bl
4796b6:	18 08                	sbb    %cl,(%eax)
4796b8:	08 08                	or     %cl,(%eax)
4796ba:	08 11                	or     %dl,(%ecx)
4796bc:	3c 0a                	cmp    $0xa,%al
4796be:	00 02                	add    %al,(%edx)
4796c0:	02 11                	add    (%ecx),%dl
4796c2:	81 dd 10 11 81 30    	sbb    $0x30811110,%ebp
4796c8:	07                   	pop    %es
4796c9:	00 03                	add    %al,(%ebx)
4796cb:	08 19                	or     %bl,(%ecx)
4796cd:	0e                   	push   %cs
4796ce:	10 18                	adc    %bl,(%eax)
4796d0:	01 15 05 00 02 08    	add    %edx,0x8020005
4796d6:	19 18                	sbb    %ebx,(%eax)
4796d8:	05 20 02 01 1c       	add    $0x1c010220,%eax
4796dd:	18 05 20 02 02 18    	sbb    %al,0x18020220
4796e3:	08 0a                	or     %cl,(%edx)
4796e5:	20 04 12             	and    %al,(%edx,%edx,1)
4796e8:	81 29 18 08 12 1d    	subl   $0x1d120818,(%ecx)
4796ee:	1c 06                	sbb    $0x6,%al
4796f0:	20 01                	and    %al,(%ecx)
4796f2:	02 12                	add    (%edx),%dl
4796f4:	81 29 03 06 1d 05    	subl   $0x51d0603,(%ecx)
4796fa:	03 06                	add    (%esi),%eax
4796fc:	12 44 02 06          	adc    0x6(%edx,%eax,1),%al
479700:	06                   	push   %es
479701:	03 06                	add    (%esi),%eax
479703:	12 50 03             	adc    0x3(%eax),%dl
479706:	06                   	push   %es
479707:	11 4c 03 00          	adc    %ecx,0x0(%ebx,%eax,1)
47970b:	00 01                	add    %al,(%ecx)
47970d:	04 00                	add    $0x0,%al
47970f:	01 0e                	add    %ecx,(%esi)
479711:	08 05 00 02 0e 08    	or     %al,0x80e0200
479717:	02 08                	add    (%eax),%cl
479719:	00 01                	add    %al,(%ecx)
47971b:	12 81 9d 12 81 85    	adc    -0x7a7eed63(%ecx),%al
479721:	07                   	pop    %es
479722:	00 01                	add    %al,(%ecx)
479724:	1d 05 12 81 9d       	sbb    $0x9d811205,%eax
479729:	07                   	pop    %es
47972a:	00 02                	add    %al,(%edx)
47972c:	02 12                	add    (%edx),%dl
47972e:	80 a1 08 08 00 03 01 	andb   $0x1,0x3000808(%ecx)
479735:	1d 05 08 1d 05       	sbb    $0x51d0805,%eax
47973a:	04 06                	add    $0x6,%al
47973c:	1d 11 48 04 20       	sbb    $0x20044811,%eax
479741:	01 0e                	add    %ecx,(%esi)
479743:	08 05 20 02 01 08    	or     %al,0x8010220
479749:	0e                   	push   %cs
47974a:	04 06                	add    $0x6,%al
47974c:	12 81 55 06 20 01    	adc    0x1200655(%ecx),%al
479752:	01 12                	add    %edx,(%edx)
479754:	81 55 05 20 00 12 81 	adcl   $0x81120020,0x5(%ebp)
47975b:	55                   	push   %ebp
47975c:	03 20                	add    (%eax),%esp
47975e:	00 06                	add    %al,(%esi)
479760:	05 20 01 1d 05       	add    $0x51d0120,%eax
479765:	08 03                	or     %al,(%ebx)
479767:	20 00                	and    %al,(%eax)
479769:	1c 08                	sbb    $0x8,%al
47976b:	20 00                	and    %al,(%eax)
47976d:	15 12 81 38 01       	adc    $0x1388112,%eax
479772:	08 05 20 00 12 80    	or     %al,0x80120020
479778:	c0 04 06 11          	rolb   $0x11,(%esi,%eax,1)
47977c:	81 2c 02 06 18 02 06 	subl   $0x6021806,(%edx,%eax,1)
479783:	07                   	pop    %es
479784:	04 06                	add    $0x6,%al
479786:	12 81 0c 04 06 11    	adc    0x1106040c(%ecx),%al
47978c:	81 30 04 06 12 80    	xorl   $0x80120604,(%eax)
479792:	ac                   	lods   %ds:(%esi),%al
479793:	03 00                	add    (%eax),%eax
479795:	00 0a                	add    %cl,(%edx)
479797:	03 00                	add    (%eax),%eax
479799:	00 02                	add    %al,(%edx)
47979b:	06                   	push   %es
47979c:	00 01                	add    %al,(%ecx)
47979e:	08 12                	or     %dl,(%edx)
4797a0:	82 31 03             	xorb   $0x3,(%ecx)
4797a3:	00 00                	add    %al,(%eax)
4797a5:	08 03                	or     %al,(%ebx)
4797a7:	20 00                	and    %al,(%eax)
4797a9:	0a 04 20             	or     (%eax,%eiz,1),%al
4797ac:	01 01                	add    %eax,(%ecx)
4797ae:	0a 05 00 02 08 08    	or     0x8080200,%al
4797b4:	08 04 06             	or     %al,(%esi,%eax,1)
4797b7:	12 80 d0 04 06 12    	adc    0x120604d0(%eax),%al
4797bd:	80 c8 03             	or     $0x3,%al
4797c0:	06                   	push   %es
4797c1:	12 4d 04             	adc    0x4(%ebp),%cl
4797c4:	06                   	push   %es
4797c5:	12 82 85 04 06 12    	adc    0x12060485(%edx),%al
4797cb:	82 f9 03             	cmp    $0x3,%cl
4797ce:	06                   	push   %es
4797cf:	11 5c 03 06          	adc    %ebx,0x6(%ebx,%eax,1)
4797d3:	11 30                	adc    %esi,(%eax)