40e2a1:	6d                   	insl   (%dx),%es:(%edi)
40e2a2:	00 61 00             	add    %ah,0x0(%ecx)
40e2a5:	67 00 65 00          	add    %ah,0x0(%di)
40e2a9:	00 29                	add    %ch,(%ecx)
40e2ab:	70 00                	jo     0x40e2ad
40e2ad:	72 00                	jb     0x40e2af
40e2af:	69 00 6e 00 74 00    	imul   $0x74006e,(%eax),%eax
40e2b5:	54                   	push   %esp
40e2b6:	00 6f 00             	add    %ch,0x0(%edi)
40e2b9:	6f                   	outsl  %ds:(%esi),(%dx)
40e2ba:	00 6c 00 53          	add    %ch,0x53(%eax,%eax,1)
40e2be:	00 74 00 72          	add    %dh,0x72(%eax,%eax,1)
40e2c2:	00 69 00             	add    %ch,0x0(%ecx)
40e2c5:	70 00                	jo     0x40e2c7
40e2c7:	42                   	inc    %edx
40e2c8:	00 75 00             	add    %dh,0x0(%ebp)
40e2cb:	74 00                	je     0x40e2cd
40e2cd:	74 00                	je     0x40e2cf
40e2cf:	6f                   	outsl  %ds:(%esi),(%dx)
40e2d0:	00 6e 00             	add    %ch,0x0(%esi)
40e2d3:	00 0b                	add    %cl,(%ebx)
40e2d5:	50                   	push   %eax
40e2d6:	00 72 00             	add    %dh,0x0(%edx)
40e2d9:	69 00 6e 00 74 00    	imul   $0x74006e,(%eax),%eax
40e2df:	00 43 70             	add    %al,0x70(%ebx)
40e2e2:	00 72 00             	add    %dh,0x0(%edx)
40e2e5:	69 00 6e 00 74 00    	imul   $0x74006e,(%eax),%eax
40e2eb:	50                   	push   %eax
40e2ec:	00 72 00             	add    %dh,0x0(%edx)
40e2ef:	65 00 76 00          	add    %dh,%gs:0x0(%esi)
40e2f3:	69 00 65 00 77 00    	imul   $0x770065,(%eax),%eax
40e2f9:	54                   	push   %esp
40e2fa:	00 6f 00             	add    %ch,0x0(%edi)
40e2fd:	6f                   	outsl  %ds:(%esi),(%dx)
40e2fe:	00 6c 00 53          	add    %ch,0x53(%eax,%eax,1)
40e302:	00 74 00 72          	add    %dh,0x72(%eax,%eax,1)
40e306:	00 69 00             	add    %ch,0x0(%ecx)
40e309:	70 00                	jo     0x40e30b
40e30b:	42                   	inc    %edx
40e30c:	00 75 00             	add    %dh,0x0(%ebp)
40e30f:	74 00                	je     0x40e311
40e311:	74 00                	je     0x40e313
40e313:	6f                   	outsl  %ds:(%esi),(%dx)
40e314:	00 6e 00             	add    %ch,0x0(%esi)
40e317:	2e 00 49 00          	add    %cl,%cs:0x0(%ecx)
40e31b:	6d                   	insl   (%dx),%es:(%edi)
40e31c:	00 61 00             	add    %ah,0x0(%ecx)
40e31f:	67 00 65 00          	add    %ah,0x0(%di)
40e323:	00 37                	add    %dh,(%edi)
40e325:	70 00                	jo     0x40e327
40e327:	72 00                	jb     0x40e329
40e329:	69 00 6e 00 74 00    	imul   $0x74006e,(%eax),%eax
40e32f:	50                   	push   %eax
40e330:	00 72 00             	add    %dh,0x0(%edx)
40e333:	65 00 76 00          	add    %dh,%gs:0x0(%esi)
40e337:	69 00 65 00 77 00    	imul   $0x770065,(%eax),%eax
40e33d:	54                   	push   %esp
40e33e:	00 6f 00             	add    %ch,0x0(%edi)
40e341:	6f                   	outsl  %ds:(%esi),(%dx)
40e342:	00 6c 00 53          	add    %ch,0x53(%eax,%eax,1)
40e346:	00 74 00 72          	add    %dh,0x72(%eax,%eax,1)
40e34a:	00 69 00             	add    %ch,0x0(%ecx)
40e34d:	70 00                	jo     0x40e34f
40e34f:	42                   	inc    %edx
40e350:	00 75 00             	add    %dh,0x0(%ebp)
40e353:	74 00                	je     0x40e355
40e355:	74 00                	je     0x40e357
40e357:	6f                   	outsl  %ds:(%esi),(%dx)
40e358:	00 6e 00             	add    %ch,0x0(%esi)
40e35b:	00 1b                	add    %bl,(%ebx)
40e35d:	50                   	push   %eax
40e35e:	00 72 00             	add    %dh,0x0(%edx)
40e361:	69 00 6e 00 74 00    	imul   $0x74006e,(%eax),%eax
40e367:	20 00                	and    %al,(%eax)
40e369:	50                   	push   %eax
40e36a:	00 72 00             	add    %dh,0x0(%edx)
40e36d:	65 00 76 00          	add    %dh,%gs:0x0(%esi)
40e371:	69 00 65 00 77 00    	imul   $0x770065,(%eax),%eax
40e377:	00 33                	add    %dh,(%ebx)
40e379:	68 00 65 00 6c       	push   $0x6c006500
40e37e:	00 70 00             	add    %dh,0x0(%eax)
40e381:	54                   	push   %esp
40e382:	00 6f 00             	add    %ch,0x0(%edi)
40e385:	6f                   	outsl  %ds:(%esi),(%dx)
40e386:	00 6c 00 53          	add    %ch,0x53(%eax,%eax,1)
40e38a:	00 74 00 72          	add    %dh,0x72(%eax,%eax,1)
40e38e:	00 69 00             	add    %ch,0x0(%ecx)
40e391:	70 00                	jo     0x40e393
40e393:	42                   	inc    %edx
40e394:	00 75 00             	add    %dh,0x0(%ebp)
40e397:	74 00                	je     0x40e399
40e399:	74 00                	je     0x40e39b
40e39b:	6f                   	outsl  %ds:(%esi),(%dx)
40e39c:	00 6e 00             	add    %ch,0x0(%esi)
40e39f:	2e 00 49 00          	add    %cl,%cs:0x0(%ecx)
40e3a3:	6d                   	insl   (%dx),%es:(%edi)
40e3a4:	00 61 00             	add    %ah,0x0(%ecx)
40e3a7:	67 00 65 00          	add    %ah,0x0(%di)
40e3ab:	00 27                	add    %ah,(%edi)
40e3ad:	68 00 65 00 6c       	push   $0x6c006500
40e3b2:	00 70 00             	add    %dh,0x0(%eax)
40e3b5:	54                   	push   %esp
40e3b6:	00 6f 00             	add    %ch,0x0(%edi)
40e3b9:	6f                   	outsl  %ds:(%esi),(%dx)
40e3ba:	00 6c 00 53          	add    %ch,0x53(%eax,%eax,1)
40e3be:	00 74 00 72          	add    %dh,0x72(%eax,%eax,1)
40e3c2:	00 69 00             	add    %ch,0x0(%ecx)
40e3c5:	70 00                	jo     0x40e3c7
40e3c7:	42                   	inc    %edx
40e3c8:	00 75 00             	add    %dh,0x0(%ebp)
40e3cb:	74 00                	je     0x40e3cd
40e3cd:	74 00                	je     0x40e3cf
40e3cf:	6f                   	outsl  %ds:(%esi),(%dx)
40e3d0:	00 6e 00             	add    %ch,0x0(%esi)
40e3d3:	00 09                	add    %cl,(%ecx)
40e3d5:	48                   	dec    %eax
40e3d6:	00 65 00             	add    %ah,0x0(%ebp)
40e3d9:	6c                   	insb   (%dx),%es:(%edi)
40e3da:	00 70 00             	add    %dh,0x0(%eax)
40e3dd:	00 17                	add    %dl,(%edi)
40e3df:	73 00                	jae    0x40e3e1
40e3e1:	74 00                	je     0x40e3e3
40e3e3:	61                   	popa
40e3e4:	00 74 00 75          	add    %dh,0x75(%eax,%eax,1)
40e3e8:	00 73 00             	add    %dh,0x0(%ebx)
40e3eb:	53                   	push   %ebx
40e3ec:	00 74 00 72          	add    %dh,0x72(%eax,%eax,1)
40e3f0:	00 69 00             	add    %ch,0x0(%ecx)
40e3f3:	70 00                	jo     0x40e3f5
40e3f5:	00 17                	add    %dl,(%edi)
40e3f7:	53                   	push   %ebx
40e3f8:	00 74 00 61          	add    %dh,0x61(%eax,%eax,1)
40e3fc:	00 74 00 75          	add    %dh,0x75(%eax,%eax,1)
40e400:	00 73 00             	add    %dh,0x0(%ebx)
40e403:	53                   	push   %ebx
40e404:	00 74 00 72          	add    %dh,0x72(%eax,%eax,1)
40e408:	00 69 00             	add    %ch,0x0(%ecx)
40e40b:	70 00                	jo     0x40e40d
40e40d:	00 29                	add    %ch,(%ecx)
40e40f:	74 00                	je     0x40e411
40e411:	6f                   	outsl  %ds:(%esi),(%dx)
40e412:	00 6f 00             	add    %ch,0x0(%edi)
40e415:	6c                   	insb   (%dx),%es:(%edi)
40e416:	00 53 00             	add    %dl,0x0(%ebx)
40e419:	74 00                	je     0x40e41b
40e41b:	72 00                	jb     0x40e41d
40e41d:	69 00 70 00 53 00    	imul   $0x530070,(%eax),%eax
40e423:	74 00                	je     0x40e425
40e425:	61                   	popa
40e426:	00 74 00 75          	add    %dh,0x75(%eax,%eax,1)
40e42a:	00 73 00             	add    %dh,0x0(%ebx)
40e42d:	4c                   	dec    %esp
40e42e:	00 61 00             	add    %ah,0x0(%ecx)
40e431:	62 00                	bound  %eax,(%eax)
40e433:	65 00 6c 00 00       	add    %ch,%gs:0x0(%eax,%eax,1)
40e438:	0d 53 00 74 00       	or     $0x740053,%eax
40e43d:	61                   	popa
40e43e:	00 74 00 75          	add    %dh,0x75(%eax,%eax,1)
40e442:	00 73 00             	add    %dh,0x0(%ebx)
40e445:	00 15 4d 00 44 00    	add    %dl,0x44004d
40e44b:	49                   	dec    %ecx
40e44c:	00 50 00             	add    %dl,0x0(%eax)
40e44f:	61                   	popa
40e450:	00 72 00             	add    %dh,0x0(%edx)
40e453:	65 00 6e 00          	add    %ch,%gs:0x0(%esi)
40e457:	74 00                	je     0x40e459
40e459:	31 00                	xor    %eax,(%eax)
40e45b:	00 05 2c 00 20 00    	add    %al,0x20002c
40e461:	00 41 50             	add    %al,0x50(%ecx)
40e464:	00 72 00             	add    %dh,0x0(%edx)
40e467:	6f                   	outsl  %ds:(%esi),(%dx)
40e468:	00 67 00             	add    %ah,0x0(%edi)
40e46b:	72 00                	jb     0x40e46d
40e46d:	65 00 73 00          	add    %dh,%gs:0x0(%ebx)
40e471:	73 00                	jae    0x40e473
40e473:	3a 00                	cmp    (%eax),%al
40e475:	20 00                	and    %al,(%eax)
40e477:	7b 00                	jnp    0x40e479
40e479:	30 00                	xor    %al,(%eax)
40e47b:	7d 00                	jge    0x40e47d
40e47d:	20 00                	and    %al,(%eax)
40e47f:	65 00 6c 00 65       	add    %ch,%gs:0x65(%eax,%eax,1)
40e484:	00 6d 00             	add    %ch,0x0(%ebp)
40e487:	65 00 6e 00          	add    %ch,%gs:0x0(%esi)
40e48b:	74 00                	je     0x40e48d
40e48d:	73 00                	jae    0x40e48f
40e48f:	20 00                	and    %al,(%eax)
40e491:	70 00                	jo     0x40e493
40e493:	72 00                	jb     0x40e495
40e495:	6f                   	outsl  %ds:(%esi),(%dx)
40e496:	00 63 00             	add    %ah,0x0(%ebx)
40e499:	65 00 73 00          	add    %dh,%gs:0x0(%ebx)
40e49d:	73 00                	jae    0x40e49f
40e49f:	65 00 64 00 00       	add    %ah,%gs:0x0(%eax,%eax,1)
40e4a4:	59                   	pop    %ecx
40e4a5:	46                   	inc    %esi
40e4a6:	00 72 00             	add    %dh,0x0(%edx)
40e4a9:	6f                   	outsl  %ds:(%esi),(%dx)
40e4aa:	00 6d 00             	add    %ch,0x0(%ebp)
40e4ad:	20 00                	and    %al,(%eax)
40e4af:	7b 00                	jnp    0x40e4b1
40e4b1:	30 00                	xor    %al,(%eax)
40e4b3:	7d 00                	jge    0x40e4b5
40e4b5:	20 00                	and    %al,(%eax)
40e4b7:	74 00                	je     0x40e4b9
40e4b9:	6f                   	outsl  %ds:(%esi),(%dx)
40e4ba:	00 20                	add    %ah,(%eax)
40e4bc:	00 7b 00             	add    %bh,0x0(%ebx)
40e4bf:	31 00                	xor    %eax,(%eax)
40e4c1:	7d 00                	jge    0x40e4c3
40e4c3:	20 00                	and    %al,(%eax)
40e4c5:	7b 00                	jnp    0x40e4c7
40e4c7:	32 00                	xor    (%eax),%al
40e4c9:	7d 00                	jge    0x40e4cb
40e4cb:	20 00                	and    %al,(%eax)
40e4cd:	73 00                	jae    0x40e4cf
40e4cf:	68 00 6f 00 75       	push   $0x75006f00
40e4d4:	00 6c 00 64          	add    %ch,0x64(%eax,%eax,1)
40e4d8:	00 20                	add    %ah,(%eax)
40e4da:	00 62 00             	add    %ah,0x0(%edx)
40e4dd:	65 00 20             	add    %ah,%gs:(%eax)
40e4e0:	00 7b 00             	add    %bh,0x0(%ebx)
40e4e3:	33 00                	xor    (%eax),%eax
40e4e5:	7d 00                	jge    0x40e4e7
40e4e7:	20 00                	and    %al,(%eax)
40e4e9:	62 00                	bound  %eax,(%eax)
40e4eb:	75 00                	jne    0x40e4ed
40e4ed:	74 00                	je     0x40e4ef
40e4ef:	20 00                	and    %al,(%eax)
40e4f1:	69 00 73 00 20 00    	imul   $0x200073,(%eax),%eax
40e4f7:	7b 00                	jnp    0x40e4f9
40e4f9:	34 00                	xor    $0x0,%al
40e4fb:	7d 00                	jge    0x40e4fd
40e4fd:	00 09                	add    %cl,(%ecx)
40e4ff:	6d                   	insl   (%dx),%es:(%edi)
40e500:	00 65 00             	add    %ah,0x0(%ebp)
40e503:	61                   	popa
40e504:	00 6e 00             	add    %ch,0x0(%esi)
40e507:	00 0d 6d 00 65 00    	add    %cl,0x65006d
40e50d:	64 00 69 00          	add    %ch,%fs:0x0(%ecx)
40e511:	61                   	popa
40e512:	00 6e 00             	add    %ch,0x0(%esi)
40e515:	00 07                	add    %al,(%edi)
40e517:	6d                   	insl   (%dx),%es:(%edi)
40e518:	00 61 00             	add    %ah,0x0(%ecx)
40e51b:	78 00                	js     0x40e51d
40e51d:	00 47 56             	add    %al,0x56(%edi)
40e520:	00 65 00             	add    %ah,0x0(%ebp)
40e523:	72 00                	jb     0x40e525
40e525:	73 00                	jae    0x40e527
40e527:	69 00 76 00 65 00    	imul   $0x650076,(%eax),%eax
40e52d:	50                   	push   %eax
40e52e:	00 72 00             	add    %dh,0x0(%edx)
40e531:	6f                   	outsl  %ds:(%esi),(%dx)
40e532:	00 6a 00             	add    %ch,0x0(%edx)
40e535:	65 00 63 00          	add    %ah,%gs:0x0(%ebx)
40e539:	74 00                	je     0x40e53b
40e53b:	2e 00 50 00          	add    %dl,%cs:0x0(%eax)
40e53f:	72 00                	jb     0x40e541
40e541:	6f                   	outsl  %ds:(%esi),(%dx)
40e542:	00 70 00             	add    %dh,0x0(%eax)
40e545:	65 00 72 00          	add    %dh,%gs:0x0(%edx)
40e549:	74 00                	je     0x40e54b
40e54b:	69 00 65 00 73 00    	imul   $0x730065,(%eax),%eax
40e551:	2e 00 52 00          	add    %dl,%cs:0x0(%edx)
40e555:	65 00 73 00          	add    %dh,%gs:0x0(%ebx)
40e559:	6f                   	outsl  %ds:(%esi),(%dx)
40e55a:	00 75 00             	add    %dh,0x0(%ebp)
40e55d:	72 00                	jb     0x40e55f
40e55f:	63 00                	arpl   %eax,(%eax)
40e561:	65 00 73 00          	add    %dh,%gs:0x0(%ebx)
40e565:	00 15 43 00 6f 00    	add    %dl,0x6f0043
40e56b:	72 00                	jb     0x40e56d
40e56d:	65 00 4d 00          	add    %cl,%gs:0x0(%ebp)
40e571:	6f                   	outsl  %ds:(%esi),(%dx)
40e572:	00 64 00 65          	add    %ah,0x65(%eax,%eax,1)
40e576:	00 6c 00 34          	add    %ch,0x34(%eax,%eax,1)
40e57a:	00 00                	add    %al,(%eax)
40e57c:	77 ab                	ja     0x40e529
40e57e:	e6 7a                	out    %al,$0x7a
40e580:	d1 07                	roll   $1,(%edi)
40e582:	86 42 b9             	xchg   %al,-0x47(%edx)
40e585:	69 35 1c ec 3c 2e c1 	imul   $0x200400c1,0x2e3cec1c,%esi
40e58c:	00 04 20
40e58f:	01 01                	add    %eax,(%ecx)
40e591:	08 03                	or     %al,(%ebx)
40e593:	20 00                	and    %al,(%eax)
40e595:	01 05 20 01 01 11    	add    %eax,0x11010120
40e59b:	11 04 20             	adc    %eax,(%eax,%eiz,1)
40e59e:	01 01                	add    %eax,(%ecx)
40e5a0:	0e                   	push   %cs
40e5a1:	04 20                	add    $0x20,%al
40e5a3:	01 01                	add    %eax,(%ecx)
40e5a5:	02 06                	add    (%esi),%al
40e5a7:	20 01                	and    %al,(%ecx)
40e5a9:	01 11                	add    %edx,(%ecx)
40e5ab:	80 ed 05             	sub    $0x5,%ch
40e5ae:	20 02                	and    %al,(%edx)
40e5b0:	01 0e                	add    %ecx,(%esi)
40e5b2:	0e                   	push   %cs
40e5b3:	06                   	push   %es
40e5b4:	20 01                	and    %al,(%ecx)
40e5b6:	01 11                	add    %edx,(%ecx)
40e5b8:	81 19 2b 07 18 14    	sbbl   $0x1418072b,(%ecx)
40e5be:	11 0c 02             	adc    %ecx,(%edx,%eax,1)
40e5c1:	00 02                	add    %al,(%edx)
40e5c3:	00 00                	add    %al,(%eax)
40e5c5:	1d 0e 11 45 11       	sbb    $0x1145110e,%eax
40e5ca:	49                   	dec    %ecx
40e5cb:	08 08                	or     %cl,(%eax)
40e5cd:	08 08                	or     %cl,(%eax)
40e5cf:	02 08                	add    (%eax),%cl
40e5d1:	02 02                	add    (%edx),%al
40e5d3:	02 02                	add    (%edx),%al
40e5d5:	08 08                	or     %cl,(%eax)
40e5d7:	02 02                	add    (%edx),%al
40e5d9:	02 02                	add    (%edx),%al
40e5db:	02 08                	add    (%eax),%cl
40e5dd:	02 14 11             	add    (%ecx,%edx,1),%dl
40e5e0:	0c 02                	or     $0x2,%al
40e5e2:	00 02                	add    %al,(%edx)
40e5e4:	00 00                	add    %al,(%eax)
40e5e6:	05 00 01 1d 0e       	add    $0xe1d0100,%eax
40e5eb:	0e                   	push   %cs
40e5ec:	08 14 11             	or     %dl,(%ecx,%edx,1)
40e5ef:	0c 02                	or     $0x2,%al
40e5f1:	00 02                	add    %al,(%edx)
40e5f3:	00 00                	add    %al,(%eax)
40e5f5:	05 20 02 01 08       	add    $0x8010220,%eax
40e5fa:	08 04 20             	or     %al,(%eax,%eiz,1)
40e5fd:	01 03                	add    %eax,(%ebx)
40e5ff:	08 07                	or     %al,(%edi)
40e601:	20 03                	and    %al,(%ebx)
40e603:	01 08                	add    %ecx,(%eax)
40e605:	08 11                	or     %dl,(%ecx)
40e607:	0c 08                	or     $0x8,%al
40e609:	00 03                	add    %al,(%ebx)
40e60b:	11 45 0e             	adc    %eax,0xe(%ebp)
40e60e:	0e                   	push   %cs
40e60f:	11 49 09             	adc    %ecx,0x9(%ecx)
40e612:	10 01                	adc    %al,(%ecx)
40e614:	02 01                	add    (%ecx),%al
40e616:	10 1d 1e 00 08 03    	adc    %bl,0x308001e
40e61c:	0a 01                	or     (%ecx),%al
40e61e:	0e                   	push   %cs
40e61f:	03 20                	add    (%eax),%esp
40e621:	00 0e                	add    %cl,(%esi)
40e623:	05 00 01 0e 1d       	add    $0x1d0e0100,%eax
40e628:	0e                   	push   %cs
40e629:	05 20 02 01 03       	add    $0x3010220,%eax