40e319:	3b 00                	cmp    (%eax),%eax
40e31b:	20 00                	and    %al,(%eax)
40e31d:	70 00                	jo     0x40e31f
40e31f:	6c                   	insb   (%dx),%es:(%edi)
40e320:	00 65 00             	add    %ah,0x0(%ebp)
40e323:	61                   	popa
40e324:	00 73 00             	add    %dh,0x0(%ebx)
40e327:	65 00 20             	add    %ah,%gs:(%eax)
40e32a:	00 63 00             	add    %ah,0x0(%ebx)
40e32d:	68 00 6f 00 6f       	push   $0x6f006f00
40e332:	00 73 00             	add    %dh,0x0(%ebx)
40e335:	65 00 20             	add    %ah,%gs:(%eax)
40e338:	00 61 00             	add    %ah,0x0(%ecx)
40e33b:	20 00                	and    %al,(%eax)
40e33d:	64 00 69 00          	add    %ch,%fs:0x0(%ecx)
40e341:	66 00 66 00          	data16 add %ah,0x0(%esi)
40e345:	65 00 72 00          	add    %dh,%gs:0x0(%edx)
40e349:	65 00 6e 00          	add    %ch,%gs:0x0(%esi)
40e34d:	74 00                	je     0x40e34f
40e34f:	20 00                	and    %al,(%eax)
40e351:	6e                   	outsb  %ds:(%esi),(%dx)
40e352:	00 61 00             	add    %ah,0x0(%ecx)
40e355:	6d                   	insl   (%dx),%es:(%edi)
40e356:	00 65 00             	add    %ah,0x0(%ebp)
40e359:	00 39                	add    %bh,(%ecx)
40e35b:	54                   	push   %esp
40e35c:	00 68 00             	add    %ch,0x0(%eax)
40e35f:	65 00 72 00          	add    %dh,%gs:0x0(%edx)
40e363:	65 00 20             	add    %ah,%gs:(%eax)
40e366:	00 69 00             	add    %ch,0x0(%ecx)
40e369:	73 00                	jae    0x40e36b
40e36b:	20 00                	and    %al,(%eax)
40e36d:	6e                   	outsb  %ds:(%esi),(%dx)
40e36e:	00 6f 00             	add    %ch,0x0(%edi)
40e371:	20 00                	and    %al,(%eax)
40e373:	73 00                	jae    0x40e375
40e375:	70 00                	jo     0x40e377
40e377:	72 00                	jb     0x40e379
40e379:	69 00 74 00 65 00    	imul   $0x650074,(%eax),%eax
40e37f:	20 00                	and    %al,(%eax)
40e381:	6e                   	outsb  %ds:(%esi),(%dx)
40e382:	00 61 00             	add    %ah,0x0(%ecx)
40e385:	6d                   	insl   (%dx),%es:(%edi)
40e386:	00 65 00             	add    %ah,0x0(%ebp)
40e389:	64 00 20             	add    %ah,%fs:(%eax)
40e38c:	00 7b 00             	add    %bh,0x0(%ebx)
40e38f:	30 00                	xor    %al,(%eax)
40e391:	7d 00                	jge    0x40e393
40e393:	00 45 54             	add    %al,0x54(%ebp)
40e396:	00 68 00             	add    %ch,0x0(%eax)
40e399:	65 00 72 00          	add    %dh,%gs:0x0(%edx)
40e39d:	65 00 20             	add    %ah,%gs:(%eax)
40e3a0:	00 69 00             	add    %ch,0x0(%ecx)
40e3a3:	73 00                	jae    0x40e3a5
40e3a5:	20 00                	and    %al,(%eax)
40e3a7:	61                   	popa
40e3a8:	00 6c 00 72          	add    %ch,0x72(%eax,%eax,1)
40e3ac:	00 65 00             	add    %ah,0x0(%ebp)
40e3af:	61                   	popa
40e3b0:	00 64 00 79          	add    %ah,0x79(%eax,%eax,1)
40e3b4:	00 20                	add    %ah,(%eax)
40e3b6:	00 61 00             	add    %ah,0x0(%ecx)
40e3b9:	6e                   	outsb  %ds:(%esi),(%dx)
40e3ba:	00 20                	add    %ah,(%eax)
40e3bc:	00 69 00             	add    %ch,0x0(%ecx)
40e3bf:	74 00                	je     0x40e3c1
40e3c1:	65 00 6d 00          	add    %ch,%gs:0x0(%ebp)
40e3c5:	20 00                	and    %al,(%eax)
40e3c7:	6e                   	outsb  %ds:(%esi),(%dx)
40e3c8:	00 61 00             	add    %ah,0x0(%ecx)
40e3cb:	6d                   	insl   (%dx),%es:(%edi)
40e3cc:	00 65 00             	add    %ah,0x0(%ebp)
40e3cf:	64 00 20             	add    %ah,%fs:(%eax)
40e3d2:	00 7b 00             	add    %bh,0x0(%ebx)
40e3d5:	30 00                	xor    %al,(%eax)
40e3d7:	7d 00                	jge    0x40e3d9
40e3d9:	00 47 50             	add    %al,0x50(%edi)
40e3dc:	00 4e 00             	add    %cl,0x0(%esi)
40e3df:	47                   	inc    %edi
40e3e0:	00 20                	add    %ah,(%eax)
40e3e2:	00 28                	add    %ch,(%eax)
40e3e4:	00 2a                	add    %ch,(%edx)
40e3e6:	00 2e                	add    %ch,(%esi)
40e3e8:	00 70 00             	add    %dh,0x0(%eax)
40e3eb:	6e                   	outsb  %ds:(%esi),(%dx)
40e3ec:	00 67 00             	add    %ah,0x0(%edi)
40e3ef:	29 00                	sub    %eax,(%eax)
40e3f1:	20 00                	and    %al,(%eax)
40e3f3:	7c 00                	jl     0x40e3f5
40e3f5:	2a 00                	sub    (%eax),%al
40e3f7:	70 00                	jo     0x40e3f9
40e3f9:	6e                   	outsb  %ds:(%esi),(%dx)
40e3fa:	00 67 00             	add    %ah,0x0(%edi)
40e3fd:	7c 00                	jl     0x40e3ff
40e3ff:	4a                   	dec    %edx
40e400:	00 50 00             	add    %dl,0x0(%eax)
40e403:	47                   	inc    %edi
40e404:	00 20                	add    %ah,(%eax)
40e406:	00 28                	add    %ch,(%eax)
40e408:	00 2a                	add    %ch,(%edx)
40e40a:	00 2e                	add    %ch,(%esi)
40e40c:	00 6a 00             	add    %ch,0x0(%edx)
40e40f:	70 00                	jo     0x40e411
40e411:	67 00 29             	add    %ch,(%bx,%di)
40e414:	00 7c 00 2a          	add    %bh,0x2a(%eax,%eax,1)
40e418:	00 2e                	add    %ch,(%esi)
40e41a:	00 6a 00             	add    %ch,0x0(%edx)
40e41d:	70 00                	jo     0x40e41f
40e41f:	67 00 00             	add    %al,(%bx,%si)
40e422:	1d 58 00 3a 00       	sbb    $0x3a0058,%eax
40e427:	20 00                	and    %al,(%eax)
40e429:	7b 00                	jnp    0x40e42b
40e42b:	30 00                	xor    %al,(%eax)
40e42d:	7d 00                	jge    0x40e42f
40e42f:	2c 00                	sub    $0x0,%al
40e431:	20 00                	and    %al,(%eax)
40e433:	59                   	pop    %ecx
40e434:	00 3a                	add    %bh,(%edx)
40e436:	00 20                	add    %ah,(%eax)
40e438:	00 7b 00             	add    %bh,0x0(%ebx)
40e43b:	31 00                	xor    %eax,(%eax)
40e43d:	7d 00                	jge    0x40e43f
40e43f:	00 07                	add    %al,(%edi)
40e441:	70 00                	jo     0x40e443
40e443:	6e                   	outsb  %ds:(%esi),(%dx)
40e444:	00 67 00             	add    %ah,0x0(%edi)
40e447:	00 0b                	add    %cl,(%ebx)
40e449:	2a 00                	sub    (%eax),%al
40e44b:	2e 00 70 00          	add    %dh,%cs:0x0(%eax)
40e44f:	6e                   	outsb  %ds:(%esi),(%dx)
40e450:	00 67 00             	add    %ah,0x0(%edi)
40e453:	00 1b                	add    %bl,(%ebx)
40e455:	54                   	push   %esp
40e456:	00 68 00             	add    %ch,0x0(%eax)
40e459:	65 00 48 00          	add    %cl,%gs:0x0(%eax)
40e45d:	65 00 6c 00 70       	add    %ch,%gs:0x70(%eax,%eax,1)
40e462:	00 42 00             	add    %al,0x0(%edx)
40e465:	75 00                	jne    0x40e467
40e467:	74 00                	je     0x40e469
40e469:	74 00                	je     0x40e46b
40e46b:	6f                   	outsl  %ds:(%esi),(%dx)
40e46c:	00 6e 00             	add    %ch,0x0(%esi)
40e46f:	00 09                	add    %cl,(%ecx)
40e471:	48                   	dec    %eax
40e472:	00 45 00             	add    %al,0x0(%ebp)
40e475:	4c                   	dec    %esp
40e476:	00 50 00             	add    %dl,0x0(%eax)
40e479:	00 0f                	add    %cl,(%edi)
40e47b:	44                   	inc    %esp
40e47c:	00 72 00             	add    %dh,0x0(%edx)
40e47f:	61                   	popa
40e480:	00 77 00             	add    %dh,0x0(%edi)
40e483:	42                   	inc    %edx
40e484:	00 6f 00             	add    %ch,0x0(%edi)
40e487:	78 00                	js     0x40e489
40e489:	00 19                	add    %bl,(%ecx)
40e48b:	45                   	inc    %ebp
40e48c:	00 61 00             	add    %ah,0x0(%ecx)
40e48f:	73 00                	jae    0x40e491
40e491:	79 00                	jns    0x40e493
40e493:	44                   	inc    %esp
40e494:	00 72 00             	add    %dh,0x0(%edx)
40e497:	61                   	popa
40e498:	00 77 00             	add    %dh,0x0(%edi)
40e49b:	46                   	inc    %esi
40e49c:	00 6f 00             	add    %ch,0x0(%edi)
40e49f:	72 00                	jb     0x40e4a1
40e4a1:	6d                   	insl   (%dx),%es:(%edi)
40e4a2:	00 00                	add    %al,(%eax)
40e4a4:	13 48 00             	adc    0x0(%eax),%ecx
40e4a7:	65 00 6c 00 70       	add    %ch,%gs:0x70(%eax,%eax,1)
40e4ac:	00 4c 00 61          	add    %cl,0x61(%eax,%eax,1)
40e4b0:	00 62 00             	add    %ah,0x0(%edx)
40e4b3:	65 00 6c 00 00       	add    %ch,%gs:0x0(%eax,%eax,1)
40e4b8:	1d 48 00 65 00       	sbb    $0x650048,%eax
40e4bd:	6c                   	insb   (%dx),%es:(%edi)
40e4be:	00 70 00             	add    %dh,0x0(%eax)
40e4c1:	4c                   	dec    %esp
40e4c2:	00 61 00             	add    %ah,0x0(%ecx)
40e4c5:	62 00                	bound  %eax,(%eax)
40e4c7:	65 00 6c 00 2e       	add    %ch,%gs:0x2e(%eax,%eax,1)
40e4cc:	00 54 00 65          	add    %dl,0x65(%eax,%eax,1)
40e4d0:	00 78 00             	add    %bh,0x0(%eax)
40e4d3:	74 00                	je     0x40e4d5
40e4d5:	00 11                	add    %dl,(%ecx)
40e4d7:	48                   	dec    %eax
40e4d8:	00 65 00             	add    %ah,0x0(%ebp)
40e4db:	6c                   	insb   (%dx),%es:(%edi)
40e4dc:	00 70 00             	add    %dh,0x0(%eax)
40e4df:	46                   	inc    %esi
40e4e0:	00 6f 00             	add    %ch,0x0(%edi)
40e4e3:	72 00                	jb     0x40e4e5
40e4e5:	6d                   	insl   (%dx),%es:(%edi)
40e4e6:	00 00                	add    %al,(%eax)
40e4e8:	41                   	inc    %ecx
40e4e9:	45                   	inc    %ebp
40e4ea:	00 61 00             	add    %ah,0x0(%ecx)
40e4ed:	73 00                	jae    0x40e4ef
40e4ef:	79 00                	jns    0x40e4f1
40e4f1:	44                   	inc    %esp
40e4f2:	00 72 00             	add    %dh,0x0(%edx)
40e4f5:	61                   	popa
40e4f6:	00 77 00             	add    %dh,0x0(%edi)
40e4f9:	4c                   	dec    %esp
40e4fa:	00 69 00             	add    %ch,0x0(%ecx)
40e4fd:	62 00                	bound  %eax,(%eax)
40e4ff:	2e 00 50 00          	add    %dl,%cs:0x0(%eax)
40e503:	72 00                	jb     0x40e505
40e505:	6f                   	outsl  %ds:(%esi),(%dx)
40e506:	00 70 00             	add    %dh,0x0(%eax)
40e509:	65 00 72 00          	add    %dh,%gs:0x0(%edx)
40e50d:	74 00                	je     0x40e50f
40e50f:	69 00 65 00 73 00    	imul   $0x730065,(%eax),%eax
40e515:	2e 00 52 00          	add    %dl,%cs:0x0(%edx)
40e519:	65 00 73 00          	add    %dh,%gs:0x0(%ebx)
40e51d:	6f                   	outsl  %ds:(%esi),(%dx)
40e51e:	00 75 00             	add    %dh,0x0(%ebp)
40e521:	72 00                	jb     0x40e523
40e523:	63 00                	arpl   %eax,(%eax)
40e525:	65 00 73 00          	add    %dh,%gs:0x0(%ebx)
40e529:	00 1b                	add    %bl,(%ebx)
40e52b:	43                   	inc    %ebx
40e52c:	00 6c 00 6f          	add    %ch,0x6f(%eax,%eax,1)
40e530:	00 63 00             	add    %ah,0x0(%ebx)
40e533:	6b 00 43             	imul   $0x43,(%eax),%eax
40e536:	00 6f 00             	add    %ch,0x0(%edi)
40e539:	75 00                	jne    0x40e53b
40e53b:	6e                   	outsb  %ds:(%esi),(%dx)
40e53c:	00 74 00 65          	add    %dh,0x65(%eax,%eax,1)
40e540:	00 72 00             	add    %dh,0x0(%edx)
40e543:	32 00                	xor    (%eax),%al
40e545:	00 00                	add    %al,(%eax)
40e547:	00 ca                	add    %cl,%dl
40e549:	87 85 06 31 df 83    	xchg   %eax,-0x7c20cefa(%ebp)
40e54f:	46                   	inc    %esi
40e550:	b0 55                	mov    $0x55,%al
40e552:	f2 b8 37 b2 dc c4    	repnz mov $0xc4dcb237,%eax
40e558:	00 04 20             	add    %al,(%eax,%eiz,1)
40e55b:	01 01                	add    %eax,(%ecx)
40e55d:	08 03                	or     %al,(%ebx)
40e55f:	20 00                	and    %al,(%eax)
40e561:	01 05 20 01 01 11    	add    %eax,0x11010120
40e567:	11 04 20             	adc    %eax,(%eax,%eiz,1)
40e56a:	01 01                	add    %eax,(%ecx)
40e56c:	0e                   	push   %cs
40e56d:	04 20                	add    $0x20,%al
40e56f:	01 01                	add    %eax,(%ecx)
40e571:	02 06                	add    (%esi),%al
40e573:	20 01                	and    %al,(%ecx)
40e575:	01 11                	add    %edx,(%ecx)
40e577:	80 9d 05 20 00 12 80 	sbbb   $0x80,0x12002005(%ebp)
40e57e:	b9 07 15 12 80       	mov    $0x80121507,%ecx
40e583:	bd 01 12 44 07       	mov    $0x7441201,%ebp
40e588:	15 12 80 c1 01       	adc    $0x1c18012,%eax
40e58d:	12 44 07 15          	adc    0x15(%edi,%eax,1),%al
40e591:	12 80 c5 01 12 44    	adc    0x441201c5(%eax),%al
40e597:	05 20 02 01 0e       	add    $0xe010220,%eax
40e59c:	0e                   	push   %cs
40e59d:	06                   	push   %es
40e59e:	20 01                	and    %al,(%ecx)
40e5a0:	01 11                	add    %edx,(%ecx)
40e5a2:	81 1d 04 07 01 11 4d 	sbbl   $0x20034d,0x11010704
40e5a9:	03 20 00
40e5ac:	08 05 00 00 11 80    	or     %al,0x80110000
40e5b2:	a9 05 20 02 01       	test   $0x1022005,%eax
40e5b7:	08 08                	or     %cl,(%eax)
40e5b9:	12 07                	adc    (%edi),%al
40e5bb:	0e                   	push   %cs
40e5bc:	02 08                	add    (%eax),%cl
40e5be:	02 02                	add    (%edx),%al
40e5c0:	02 02                	add    (%edx),%al
40e5c2:	02 02                	add    (%edx),%al
40e5c4:	11 51 02             	adc    %edx,0x2(%ecx)
40e5c7:	02 02                	add    (%edx),%al
40e5c9:	11 4d 02             	adc    %ecx,0x2(%ebp)
40e5cc:	05 20 01 02 11       	add    $0x11020120,%eax
40e5d1:	51                   	push   %ecx
40e5d2:	06                   	push   %es
40e5d3:	00 03                	add    %al,(%ebx)
40e5d5:	0e                   	push   %cs
40e5d6:	0e                   	push   %cs
40e5d7:	1c 1c                	sbb    $0x1c,%al
40e5d9:	03 07                	add    (%edi),%eax
40e5db:	01 02                	add    %eax,(%edx)
40e5dd:	06                   	push   %es
40e5de:	07                   	pop    %es
40e5df:	02 12                	add    (%edx),%dl
40e5e1:	59                   	pop    %ecx
40e5e2:	12 3c 08             	adc    (%eax,%ecx,1),%bh
40e5e5:	00 01                	add    %al,(%ecx)
40e5e7:	12 81 39 11 81 3d    	adc    0x3d811139(%ecx),%al
40e5ed:	06                   	push   %es
40e5ee:	20 01                	and    %al,(%ecx)
40e5f0:	01 12                	add    %edx,(%edx)
40e5f2:	81 39 04 20 01 1c    	cmpl   $0x1c012004,(%ecx)
40e5f8:	0e                   	push   %cs
40e5f9:	06                   	push   %es
40e5fa:	20 01                	and    %al,(%ecx)
40e5fc:	01 12                	add    %edx,(%edx)
40e5fe:	81 45 05 20 01 01 11 	addl   $0x11010120,0x5(%ebp)
40e605:	4d                   	dec    %ebp
40e606:	05 20 02 01 1c       	add    $0x1c010220,%eax
40e60b:	18 06                	sbb    %al,(%esi)
40e60d:	20 01                	and    %al,(%ecx)
40e60f:	01 12                	add    %edx,(%edx)
40e611:	80 dd 06             	sbb    $0x6,%ch
40e614:	20 01                	and    %al,(%ecx)
40e616:	01 12                	add    %edx,(%edx)
40e618:	81 49 06 20 01 01 11 	orl    $0x11010120,0x6(%ecx)
40e61f:	80 ad 05 20 02 01 0c 	subb   $0xc,0x1022005(%ebp)
40e626:	0c 06                	or     $0x6,%al
40e628:	20 01                	and    %al,(%ecx)
40e62a:	01 11                	add    %edx,(%ecx)
40e62c:	81 4d 06 20 01 01 11 	orl    $0x11010120,0x6(%ebp)
40e633:	81 55 05 20 00 12 81 	adcl   $0x81120020,0x5(%ebp)
40e63a:	59                   	pop    %ecx
40e63b:	06                   	push   %es
40e63c:	20 01                	and    %al,(%ecx)
40e63e:	01 12                	add    %edx,(%edx)
40e640:	81 31 06 20 01 01    	xorl   $0x1012006,(%ecx)
40e646:	11 81 5d 07 20 02    	adc    %eax,0x220075d(%ecx)
40e64c:	01 12                	add    %edx,(%edx)
40e64e:	81 31 08 03 00 00    	xorl   $0x308,(%ecx)
40e654:	01 04 00             	add    %eax,(%eax,%eax,1)
40e657:	01 01                	add    %eax,(%ecx)
40e659:	02 05 00 01 01 12    	add    0x12010100,%al
40e65f:	75 0c                	jne    0x40e66d
40e661:	07                   	pop    %es
40e662:	05 12 65 12 69       	add    $0x69126512,%eax
40e667:	12 6d 12             	adc    0x12(%ebp),%ch
40e66a:	71 12                	jno    0x40e67e
40e66c:	65 06                	gs push %es
40e66e:	20 02                	and    %al,(%edx)
40e670:	01 0e                	add    %ecx,(%esi)
40e672:	12 61 06             	adc    0x6(%ecx),%ah
40e675:	20 01                	and    %al,(%ecx)
40e677:	01 11                	add    %edx,(%ecx)
40e679:	81 6d 05 20 00 12 81 	subl   $0x81120020,0x5(%ebp)
40e680:	71 07                	jno    0x40e689
40e682:	20 02                	and    %al,(%edx)
40e684:	12 81 75 0e 1c 05    	adc    0x51c0e75(%ecx),%al
40e68a:	20 01                	and    %al,(%ecx)
40e68c:	01 12                	add    %edx,(%edx)
40e68e:	69 05 20 01 08 12 65 	imul   $0x4070865,0x12080120,%eax
40e695:	08 07 04
40e698:	08 12                	or     %dl,(%edx)
40e69a:	69 12 71 08 03 20    	imul   $0x20030871,(%edx),%edx
40e6a0:	00 0e                	add    %cl,(%esi)
40e6a2:	06                   	push   %es
40e6a3:	00 01                	add    %al,(%ecx)