40f387:	75 72                	jne    0x40f3fb
40f389:	63 65 5c             	arpl   %esp,0x5c(%ebp)
40f38c:	77 69                	ja     0x40f3f7
40f38e:	6c                   	insb   (%dx),%es:(%edi)
40f38f:	5c                   	pop    %esp
40f390:	72 65                	jb     0x40f3f7
40f392:	73 6f                	jae    0x40f403
40f394:	75 72                	jne    0x40f408
40f396:	63 65 2e             	arpl   %esp,0x2e(%ebp)
40f399:	68 00 00 5f 00       	push   $0x5f0000
40f39e:	70 00                	jo     0x40f3a0
40f3a0:	30 00                	xor    %al,(%eax)
40f3a2:	00 00                	add    %al,(%eax)
40f3a4:	57                   	push   %edi
40f3a5:	69 6c 45 72 72 6f 72 	imul   $0x5f726f72,0x72(%ebp,%eax,2),%ebp
40f3ac:	5f
40f3ad:	30 33                	xor    %dh,(%ebx)
40f3af:	00 6e 00             	add    %ch,0x0(%esi)
40f3b2:	74 00                	je     0x40f3b4
40f3b4:	64 00 6c 00 6c       	add    %ch,%fs:0x6c(%eax,%eax,1)
40f3b9:	00 2e                	add    %ch,(%esi)
40f3bb:	00 64 00 6c          	add    %ah,0x6c(%eax,%eax,1)
40f3bf:	00 6c 00 00          	add    %ch,0x0(%eax,%eax,1)
40f3c3:	00 52 74             	add    %dl,0x74(%edx)
40f3c6:	6c                   	insb   (%dx),%es:(%edi)
40f3c7:	44                   	inc    %esp
40f3c8:	6c                   	insb   (%dx),%es:(%edi)
40f3c9:	6c                   	insb   (%dx),%es:(%edi)
40f3ca:	53                   	push   %ebx
40f3cb:	68 75 74 64 6f       	push   $0x6f647475
40f3d0:	77 6e                	ja     0x40f440
40f3d2:	49                   	dec    %ecx
40f3d3:	6e                   	outsb  %ds:(%esi),(%dx)
40f3d4:	50                   	push   %eax
40f3d5:	72 6f                	jb     0x40f446
40f3d7:	67 72 65             	addr16 jb 0x40f43f
40f3da:	73 73                	jae    0x40f44f
40f3dc:	00 00                	add    %al,(%eax)
40f3de:	00 00                	add    %al,(%eax)
40f3e0:	52                   	push   %edx
40f3e1:	74 6c                	je     0x40f44f
40f3e3:	44                   	inc    %esp
40f3e4:	69 73 6f 77 6e 4d 6f 	imul   $0x6f4d6e77,0x6f(%ebx),%esi
40f3eb:	64 75 6c             	fs jne 0x40f45a
40f3ee:	65 48                	gs dec %eax
40f3f0:	65 61                	gs popa
40f3f2:	70 41                	jo     0x40f435
40f3f4:	6c                   	insb   (%dx),%es:(%edi)
40f3f5:	6c                   	insb   (%dx),%es:(%edi)
40f3f6:	6f                   	outsl  %ds:(%esi),(%dx)
40f3f7:	63 61 74             	arpl   %esp,0x74(%ecx)
40f3fa:	69 6f 6e 00 00 00 50 	imul   $0x50000000,0x6e(%edi),%ebp
40f401:	00 61 00             	add    %ah,0x0(%ecx)
40f404:	73 00                	jae    0x40f406
40f406:	74 00                	je     0x40f408
40f408:	65 00 45 00          	add    %al,%gs:0x0(%ebp)
40f40c:	6e                   	outsb  %ds:(%esi),(%dx)
40f40d:	00 74 00 65          	add    %dh,0x65(%eax,%eax,1)
40f411:	00 72 00             	add    %dh,0x0(%edx)
40f414:	70 00                	jo     0x40f416
40f416:	72 00                	jb     0x40f418
40f418:	69 00 73 00 65 00    	imul   $0x650073,(%eax),%eax
40f41e:	44                   	inc    %esp
40f41f:	00 61 00             	add    %ah,0x0(%ecx)
40f422:	74 00                	je     0x40f424
40f424:	61                   	popa
40f425:	00 00                	add    %al,(%eax)
40f427:	00 4c 00 6f          	add    %cl,0x6f(%eax,%eax,1)
40f42b:	00 63 00             	add    %ah,0x0(%ebx)
40f42e:	61                   	popa
40f42f:	00 6c 00 5c          	add    %ch,0x5c(%eax,%eax,1)
40f433:	00 53 00             	add    %dl,0x0(%ebx)
40f436:	4d                   	dec    %ebp
40f437:	00 30                	add    %dh,(%eax)
40f439:	00 3a                	add    %bh,(%edx)
40f43b:	00 25 00 64 00 3a    	add    %ah,0x3a006400
40f441:	00 25 00 64 00 3a    	add    %ah,0x3a006400
40f447:	00 25 00 68 00 73    	add    %ah,0x73006800
40f44d:	00 00                	add    %al,(%eax)
40f44f:	00 6d 85             	add    %ch,-0x7b(%ebp)
40f452:	75 1d                	jne    0x40f471
40f454:	a7                   	cmpsl  %es:(%edi),%ds:(%esi)
40f455:	36 cb                	ss lret
40f457:	4e                   	dec    %esi
40f458:	a3 f5 b1 31 52       	mov    %eax,0x5231b1f5
40f45d:	22 2d 29 2e 01 00    	and    0x12e29,%ch
40f463:	00 63 73             	add    %ah,0x73(%ebx)
40f466:	6e                   	outsb  %ds:(%esi),(%dx)
40f467:	69 84 41 79 8a cf 5a 	imul   $0xeb7eb,0x5acf8a79(%ecx,%eax,2),%eax
40f46e:	eb b7 0e 00
40f472:	00 00                	add    %al,(%eax)
40f474:	00 00                	add    %al,(%eax)
40f476:	00 00                	add    %al,(%eax)
40f478:	04 00                	add    $0x0,%al
40f47a:	00 11                	add    %dl,(%ecx)
40f47c:	04 02                	add    $0x2,%al
40f47e:	01 00                	add    %eax,(%eax)
40f480:	00 00                	add    %al,(%eax)
40f482:	00 00                	add    %al,(%eax)
40f484:	00 00                	add    %al,(%eax)
40f486:	00 40 31             	add    %al,0x31(%eax)
40f489:	01 00                	add    %eax,(%eax)
40f48b:	00 63 73             	add    %ah,0x73(%ebx)
40f48e:	6e                   	outsb  %ds:(%esi),(%dx)
40f48f:	69 84 41 79 8a cf 5a 	imul   $0x13b7eb,0x5acf8a79(%ecx,%eax,2),%eax
40f496:	eb b7 13 00
40f49a:	00 00                	add    %al,(%eax)
40f49c:	00 00                	add    %al,(%eax)
40f49e:	00 00                	add    %al,(%eax)
40f4a0:	1c 00                	sbb    $0x0,%al
40f4a2:	00 11                	add    %dl,(%ecx)
40f4a4:	04 02                	add    $0x2,%al
40f4a6:	08 00                	or     %al,(%eax)
40f4a8:	00 00                	add    %al,(%eax)
40f4aa:	00 00                	add    %al,(%eax)
40f4ac:	00 00                	add    %al,(%eax)
40f4ae:	00 40 02             	add    %al,0x2(%eax)
40f4b1:	00 00                	add    %al,(%eax)
40f4b3:	12 04 00             	adc    (%eax,%eax,1),%al
40f4be:	00 20                	add    %ah,(%eax)
40f4c0:	07                   	pop    %es
40f4c1:	00 00                	add    %al,(%eax)
40f4c3:	11 04 01             	adc    %eax,(%ecx,%eax,1)
40f4c6:	03 00                	add    (%eax),%eax
40f4c8:	00 00                	add    %al,(%eax)
40f4ca:	00 00                	add    %al,(%eax)
40f4cc:	00 00                	add    %al,(%eax)
40f4ce:	00 40 0f             	add    %al,0xf(%eax)
40f4d1:	00 00                	add    %al,(%eax)
40f4d3:	11 04 00             	adc    %eax,(%eax,%eax,1)
40f4de:	00 40 90             	add    %al,-0x70(%eax)
40f4e1:	01 00                	add    %eax,(%eax)
40f4e3:	00 63 73             	add    %ah,0x73(%ebx)
40f4e6:	6e                   	outsb  %ds:(%esi),(%dx)
40f4e7:	69 84 41 79 8a cf 5a 	imul   $0x13b7eb,0x5acf8a79(%ecx,%eax,2),%eax
40f4ee:	eb b7 13 00
40f4f2:	00 00                	add    %al,(%eax)
40f4f4:	6a 00                	push   $0x0
40f4f6:	00 00                	add    %al,(%eax)
40f4f8:	63 73 6e             	arpl   %esi,0x6e(%ebx)
40f4fb:	69 84 41 79 8a cf 5a 	imul   $0xdb7eb,0x5acf8a79(%ecx,%eax,2),%eax
40f502:	eb b7 0d 00
40f506:	00 00                	add    %al,(%eax)
40f508:	05 00 00 11 04       	add    $0x4110000,%eax
40f50d:	01 02                	add    %eax,(%edx)
40f517:	40                   	inc    %eax
40f518:	18 00                	sbb    %al,(%eax)
40f51a:	00 11                	add    %dl,(%ecx)
40f51c:	04 00                	add    $0x0,%al
40f51e:	06                   	push   %es
40f527:	40                   	inc    %eax
40f528:	0b 00                	or     (%eax),%eax
40f52a:	00 11                	add    %dl,(%ecx)
40f52c:	04 01                	add    $0x1,%al
40f52e:	05 00 00 00 00       	add    $0x0,%eax
40f533:	00 00                	add    %al,(%eax)
40f535:	00 00                	add    %al,(%eax)
40f537:	40                   	inc    %eax
40f538:	01 00                	add    %eax,(%eax)
40f53a:	00 00                	add    %al,(%eax)
40f53c:	63 73 6e             	arpl   %esi,0x6e(%ebx)
40f53f:	69 84 41 79 8a cf 5a 	imul   $0xbb7eb,0x5acf8a79(%ecx,%eax,2),%eax
40f546:	eb b7 0b 00
40f54a:	00 00                	add    %al,(%eax)
40f54c:	0b 35 f8 b5 48 05    	or     0x548b5f8,%esi
40f552:	b1 48                	mov    $0x48,%cl
40f554:	a6                   	cmpsb  %es:(%edi),%ds:(%esi)
40f555:	ee                   	out    %al,(%dx)
40f556:	88 bd 00 b4 a5 e7    	mov    %bh,-0x185a4c00(%ebp)
40f55c:	00 00                	add    %al,(%eax)
40f55e:	00 00                	add    %al,(%eax)
40f560:	23 00                	and    (%eax),%eax
40f562:	00 11                	add    %dl,(%ecx)
40f564:	04 01                	add    $0x1,%al
40f566:	0c 00                	or     $0x0,%al
40f568:	00 00                	add    %al,(%eax)
40f56a:	00 00                	add    %al,(%eax)
40f56c:	00 00                	add    %al,(%eax)
40f56e:	00 40 04             	add    %al,0x4(%eax)
40f571:	04 02                	add    $0x2,%al
40f573:	00 b6 34 74 0f b6    	add    %dh,-0x49f08bcc(%esi)
40f579:	59                   	pop    %ecx
40f57a:	50                   	push   %eax
40f57b:	42                   	inc    %edx
40f57c:	99                   	cltd
40f57d:	9e                   	sahf
40f57e:	d1 68 d6             	shrl   $1,-0x2a(%eax)
40f581:	ae                   	scas   %es:(%edi),%al
40f582:	42                   	inc    %edx
40f583:	93                   	xchg   %eax,%ebx
40f584:	00 00                	add    %al,(%eax)
40f586:	00 00                	add    %al,(%eax)
40f588:	15 00 00 12 02       	adc    $0x2120000,%eax
40f595:	00 00                	add    %al,(%eax)
40f597:	20 01                	and    %al,(%ecx)
40f599:	00 00                	add    %al,(%eax)
40f59b:	12 04 00             	adc    (%eax,%eax,1),%al
40f5a6:	00 20                	add    %ah,(%eax)
40f5a8:	2d 01 00 00 63       	sub    $0x63000001,%eax
40f5ad:	73 6e                	jae    0x40f61d
40f5af:	69 84 41 79 8a cf 5a 	imul   $0x1fb7eb,0x5acf8a79(%ecx,%eax,2),%eax
40f5b6:	eb b7 1f 00
40f5ba:	00 00                	add    %al,(%eax)
40f5bc:	91                   	xchg   %eax,%ecx
40f5bd:	01 00                	add    %eax,(%eax)
40f5bf:	00 63 73             	add    %ah,0x73(%ebx)
40f5c2:	6e                   	outsb  %ds:(%esi),(%dx)
40f5c3:	69 84 41 79 8a cf 5a 	imul   $0x13b7eb,0x5acf8a79(%ecx,%eax,2),%eax
40f5ca:	eb b7 13 00
40f5ce:	00 00                	add    %al,(%eax)
40f5d0:	04 00                	add    $0x0,%al
40f5d2:	00 00                	add    %al,(%eax)
40f5d4:	63 73 6e             	arpl   %esi,0x6e(%ebx)
40f5d7:	69 84 41 79 8a cf 5a 	imul   $0x1fb7eb,0x5acf8a79(%ecx,%eax,2),%eax
40f5de:	eb b7 1f 00
40f5e2:	00 00                	add    %al,(%eax)
40f5e4:	00 00                	add    %al,(%eax)
40f5e6:	00 00                	add    %al,(%eax)
40f5e8:	14 00                	adc    $0x0,%al
40f5ea:	00 12                	add    %dl,(%edx)
40f5ec:	02 00                	add    (%eax),%al
40f5f6:	00 20                	add    %ah,(%eax)
40f5f8:	08 00                	or     %al,(%eax)
40f5fa:	00 00                	add    %al,(%eax)
40f5fc:	63 73 6e             	arpl   %esi,0x6e(%ebx)
40f5ff:	69 84 41 79 8a cf 5a 	imul   $0xdb7eb,0x5acf8a79(%ecx,%eax,2),%eax
40f606:	eb b7 0d 00
40f60a:	00 00                	add    %al,(%eax)
40f60c:	00 00                	add    %al,(%eax)
40f60e:	00 00                	add    %al,(%eax)
40f610:	25 00 00 11 04       	and    $0x4110000,%eax
40f615:	01 0d 00 00 00 00    	add    %ecx,0x0
40f61b:	00 00                	add    %al,(%eax)
40f61d:	00 00                	add    %al,(%eax)
40f61f:	40                   	inc    %eax
40f620:	1e                   	push   %ds
40f621:	00 00                	add    %al,(%eax)
40f623:	11 04 02             	adc    %eax,(%edx,%eax,1)
40f626:	09 00                	or     %eax,(%eax)
40f628:	00 00                	add    %al,(%eax)
40f62a:	00 00                	add    %al,(%eax)
40f62c:	00 00                	add    %al,(%eax)
40f62e:	00 40 65             	add    %al,0x65(%eax)
40f631:	00 00                	add    %al,(%eax)
40f633:	00 63 73             	add    %ah,0x73(%ebx)
40f636:	6e                   	outsb  %ds:(%esi),(%dx)
40f637:	69 84 41 79 8a cf 5a 	imul   $0xdb7eb,0x5acf8a79(%ecx,%eax,2),%eax
40f63e:	eb b7 0d 00
40f642:	00 00                	add    %al,(%eax)
40f644:	00 00                	add    %al,(%eax)
40f646:	00 00                	add    %al,(%eax)
40f648:	1b 00                	sbb    (%eax),%eax
40f64a:	00 11                	add    %dl,(%ecx)
40f64c:	04 01                	add    $0x1,%al
40f64e:	08 00                	or     %al,(%eax)
40f650:	00 00                	add    %al,(%eax)
40f652:	00 00                	add    %al,(%eax)
40f654:	00 00                	add    %al,(%eax)
40f656:	00 40 4c             	add    %al,0x4c(%eax)
40f659:	04 00                	add    $0x0,%al
40f65b:	00 63 73             	add    %ah,0x73(%ebx)
40f65e:	6e                   	outsb  %ds:(%esi),(%dx)
40f65f:	69 84 41 79 8a cf 5a 	imul   $0x13b7eb,0x5acf8a79(%ecx,%eax,2),%eax
40f666:	eb b7 13 00
40f66a:	00 00                	add    %al,(%eax)
40f66c:	33 01                	xor    (%ecx),%eax
40f66e:	00 00                	add    %al,(%eax)
40f670:	63 73 6e             	arpl   %esi,0x6e(%ebx)
40f673:	69 84 41 79 8a cf 5a 	imul   $0x13b7eb,0x5acf8a79(%ecx,%eax,2),%eax
40f67a:	eb b7 13 00
40f67e:	00 00                	add    %al,(%eax)
40f680:	09 00                	or     %eax,(%eax)
40f682:	00 11                	add    %dl,(%ecx)
40f684:	04 01                	add    $0x1,%al
40f686:	04 00                	add    $0x0,%al
40f688:	00 00                	add    %al,(%eax)
40f68a:	00 00                	add    %al,(%eax)
40f68c:	00 00                	add    %al,(%eax)
40f68e:	00 40 68             	add    %al,0x68(%eax)
40f691:	00 00                	add    %al,(%eax)
40f693:	00 63 73             	add    %ah,0x73(%ebx)
40f696:	6e                   	outsb  %ds:(%esi),(%dx)
40f697:	69 84 41 79 8a cf 5a 	imul   $0x13b7eb,0x5acf8a79(%ecx,%eax,2),%eax
40f69e:	eb b7 13 00
40f6a2:	00 00                	add    %al,(%eax)
40f6a4:	02 00                	add    (%eax),%al
40f6a6:	00 00                	add    %al,(%eax)
40f6a8:	63 73 6e             	arpl   %esi,0x6e(%ebx)
40f6ab:	69 84 41 79 8a cf 5a 	imul   $0x1fb7eb,0x5acf8a79(%ecx,%eax,2),%eax
40f6b2:	eb b7 1f 00
40f6b6:	00 00                	add    %al,(%eax)
40f6b8:	34 01                	xor    $0x1,%al
40f6ba:	00 00                	add    %al,(%eax)
40f6bc:	63 73 6e             	arpl   %esi,0x6e(%ebx)
40f6bf:	69 84 41 79 8a cf 5a 	imul   $0x13b7eb,0x5acf8a79(%ecx,%eax,2),%eax
40f6c6:	eb b7 13 00
40f6ca:	00 00                	add    %al,(%eax)
40f6cc:	00 00                	add    %al,(%eax)
40f6ce:	00 00                	add    %al,(%eax)
40f6d0:	1f                   	pop    %ds
40f6d1:	00 00                	add    %al,(%eax)
40f6d3:	11 04 01             	adc    %eax,(%ecx,%eax,1)
40f6d6:	0a 00                	or     (%eax),%al
40f6d8:	00 00                	add    %al,(%eax)
40f6da:	00 00                	add    %al,(%eax)
40f6dc:	00 00                	add    %al,(%eax)
40f6de:	00 40 24             	add    %al,0x24(%eax)
40f6e1:	00 00                	add    %al,(%eax)
40f6e3:	11 04 02             	adc    %eax,(%edx,%eax,1)
40f6e6:	0c 00                	or     $0x0,%al
40f6e8:	00 00                	add    %al,(%eax)
40f6ea:	00 00                	add    %al,(%eax)
40f6ec:	00 00                	add    %al,(%eax)
40f6ee:	00 40 08             	add    %al,0x8(%eax)
40f6f1:	00 00                	add    %al,(%eax)
40f6f3:	11 04 02             	adc    %eax,(%edx,%eax,1)
40f6f6:	03 00                	add    (%eax),%eax
40f6f8:	00 00                	add    %al,(%eax)
40f6fa:	00 00                	add    %al,(%eax)
40f6fc:	00 00                	add    %al,(%eax)
40f6fe:	00 40 69             	add    %al,0x69(%eax)
40f701:	00 00                	add    %al,(%eax)
40f703:	00 63 73             	add    %ah,0x73(%ebx)
40f706:	6e                   	outsb  %ds:(%esi),(%dx)
40f707:	69 84 41 79 8a cf 5a 	imul   $0x13b7eb,0x5acf8a79(%ecx,%eax,2),%eax
40f70e:	eb b7 13 00
40f712:	00 00                	add    %al,(%eax)
40f714:	66 00 00             	data16 add %al,(%eax)
40f717:	00 63 73             	add    %ah,0x73(%ebx)
40f71a:	6e                   	outsb  %ds:(%esi),(%dx)
40f71b:	69 84 41 79 8a cf 5a 	imul   $0xdb7eb,0x5acf8a79(%ecx,%eax,2),%eax
40f722:	eb b7 0d 00
40f726:	00 00                	add    %al,(%eax)
40f728:	0c 00                	or     $0x0,%al
40f72a:	00 11                	add    %dl,(%ecx)
40f72c:	04 02                	add    $0x2,%al
40f72e:	05 00 00 00 00       	add    $0x0,%eax
40f733:	00 00                	add    %al,(%eax)
40f735:	00 00                	add    %al,(%eax)
40f737:	40                   	inc    %eax
40f738:	26 00 00             	add    %al,%es:(%eax)
40f73b:	11 04 02             	adc    %eax,(%edx,%eax,1)
40f73e:	0d 00 00 00 00       	or     $0x0,%eax
40f743:	00 00                	add    %al,(%eax)
40f745:	00 00                	add    %al,(%eax)
40f747:	40                   	inc    %eax
40f748:	5e                   	pop    %esi
40f749:	01 00                	add    %eax,(%eax)
40f74b:	00 63 73             	add    %ah,0x73(%ebx)
40f74e:	6e                   	outsb  %ds:(%esi),(%dx)