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)
40e6a5:	11 81 85 0e 0a 07    	adc    %eax,0x70a0e85(%ecx)
40e6ab:	04 12                	add    $0x12,%al
40e6ad:	65 12 69 12          	adc    %gs:0x12(%ecx),%ch
40e6b1:	6d                   	insl   (%dx),%es:(%edi)
40e6b2:	12 65 06             	adc    0x6(%ebp),%ah
40e6b5:	00 01                	add    %al,(%ecx)
40e6b7:	11 80 8d 0e 06 07    	adc    %eax,0x7060e8d(%eax)
40e6bd:	03 12                	add    (%edx),%edx
40e6bf:	10 02                	adc    %al,(%edx)
40e6c1:	08 04 00             	or     %al,(%eax,%eax,1)
40e6c4:	01 02                	add    %eax,(%edx)
40e6c6:	0e                   	push   %cs
40e6c7:	03 20                	add    (%eax),%esp
40e6c9:	00 1c 08             	add    %bl,(%eax,%ecx,1)
40e6cc:	07                   	pop    %es
40e6cd:	04 12                	add    $0x12,%al
40e6cf:	10 12                	adc    %dl,(%edx)
40e6d1:	65 08 02             	or     %al,%gs:(%edx)
40e6d4:	05 20 00 12 81       	add    $0x81120020,%eax
40e6d9:	8d 05 20 00 12 81    	lea    0x81120020,%eax
40e6df:	91                   	xchg   %eax,%ecx
40e6e0:	06                   	push   %es
40e6e1:	20 01                	and    %al,(%ecx)
40e6e3:	12 81 95 08 04 20    	adc    0x20040895(%ecx),%al
40e6e9:	00 1d 1c 04 20 01    	add    %bl,0x120041c
40e6ef:	08 1c 06             	or     %bl,(%esi,%eax,1)
40e6f2:	20 01                	and    %al,(%ecx)
40e6f4:	01 11                	add    %edx,(%ecx)
40e6f6:	81 9d 09 07 04 12 10 	sbbl   $0x2651210,0x12040709(%ebp)
40e6fd:	12 65 02
40e700:	12 24 05 20 01 01 12 	adc    0x12010120(,%eax,1),%ah
40e707:	75 04                	jne    0x40e70d
40e709:	07                   	pop    %es
40e70a:	01 12                	add    %edx,(%edx)
40e70c:	1c 04                	sbb    $0x4,%al
40e70e:	20 01                	and    %al,(%ecx)
40e710:	01 03                	add    %eax,(%ebx)
40e712:	0c 20                	or     $0x20,%al
40e714:	05 01 0e 0c 11       	add    $0x110c0e01,%eax
40e719:	81 ad 11 81 b1 05 06 	subl   $0x1012006,0x5b18111(%ebp)
40e720:	20 01 01
40e723:	12 81 a9 06 20 01    	adc    0x12006a9(%ecx),%al
40e729:	01 11                	add    %edx,(%ecx)
40e72b:	81 b5 07 07 04 02 12 	xorl   $0x2081012,0x2040707(%ebp)
40e732:	10 08 02
40e735:	04 20                	add    $0x20,%al
40e737:	00 12                	add    %dl,(%edx)
40e739:	75 04                	jne    0x40e73f
40e73b:	07                   	pop    %es
40e73c:	01 12                	add    %edx,(%edx)
40e73e:	10 04 20             	adc    %al,(%eax,%eiz,1)
40e741:	01 01                	add    %eax,(%ecx)
40e743:	1c 05                	sbb    $0x5,%al
40e745:	20 00                	and    %al,(%eax)
40e747:	12 81 b9 06 20 01    	adc    0x12006b9(%ecx),%al
40e74d:	12 81 bd 08 07 07    	adc    0x70708bd(%ecx),%al
40e753:	02 12                	add    (%edx),%dl
40e755:	10 11                	adc    %dl,(%ecx)
40e757:	80 8d 05 00 00 11 80 	orb    $0x80,0x11000005(%ebp)
40e75e:	8d 05 20 00 12 81    	lea    0x81120020,%eax
40e764:	c5 06                	lds    (%esi),%eax
40e766:	20 01                	and    %al,(%ecx)
40e768:	12 81 c9 08 05 20    	adc    0x200508c9(%ecx),%al
40e76e:	00 12                	add    %dl,(%edx)
40e770:	81 cd 06 20 01 12    	or     $0x12012006,%ebp
40e776:	81 d1 0e 04 00 01    	adc    $0x100040e,%ecx
40e77c:	08 1c 04             	or     %bl,(%esp,%eax,1)
40e77f:	07                   	pop    %es
40e780:	01 12                	add    %edx,(%edx)
40e782:	24 06                	and    $0x6,%al
40e784:	20 01                	and    %al,(%ecx)
40e786:	01 11                	add    %edx,(%ecx)
40e788:	81 d5 06 20 01 01    	adc    $0x1012006,%ebp
40e78e:	11 81 d9 0d 07 07    	adc    %eax,0x7070dd9(%ecx)
40e794:	12 10                	adc    (%eax),%dl
40e796:	0e                   	push   %cs
40e797:	08 02                	or     %al,(%edx)
40e799:	02 11                	add    (%ecx),%dl
40e79b:	80 8d 12 71 05 20 00 	orb    $0x0,0x20057112(%ebp)
40e7a2:	12 81 dd 04 20 01    	adc    0x12004dd(%ecx),%al
40e7a8:	1c 08                	sbb    $0x8,%al
40e7aa:	05 00 02 0e 0e       	add    $0xe0e0200,%eax
40e7af:	0e                   	push   %cs
40e7b0:	06                   	push   %es
40e7b1:	00 03                	add    %al,(%ebx)
40e7b3:	0e                   	push   %cs
40e7b4:	0e                   	push   %cs
40e7b5:	0e                   	push   %cs
40e7b6:	0e                   	push   %cs
40e7b7:	05 20 00 11 80       	add    $0x80110020,%eax
40e7bc:	8d 04 00             	lea    (%eax,%eax,1),%eax
40e7bf:	01 08                	add    %ecx,(%eax)
40e7c1:	0e                   	push   %cs
40e7c2:	05 07 01 11 80       	add    $0x80110107,%eax
40e7c7:	8d 05 20 00 12 81    	lea    0x81120020,%eax
40e7cd:	e1 04                	loope  0x40e7d3
40e7cf:	07                   	pop    %es
40e7d0:	01 12                	add    %edx,(%edx)
40e7d2:	14 0f                	adc    $0xf,%al
40e7d4:	07                   	pop    %es
40e7d5:	09 02                	or     %eax,(%edx)
40e7d7:	12 10                	adc    (%eax),%dl
40e7d9:	08 0e                	or     %cl,(%esi)
40e7db:	08 08                	or     %cl,(%eax)
40e7dd:	11 80 8d 02 12 71    	adc    %eax,0x7112028d(%eax)
40e7e3:	06                   	push   %es
40e7e4:	20 01                	and    %al,(%ecx)
40e7e6:	11 80 8d 0d 04 07    	adc    %eax,0x7040d8d(%eax)
40e7ec:	01 12                	add    %edx,(%edx)
40e7ee:	20 06                	and    %al,(%esi)
40e7f0:	20 01                	and    %al,(%ecx)
40e7f2:	01 11                	add    %edx,(%ecx)
40e7f4:	80 a9 62 07 60 08 02 	subb   $0x2,0x8600762(%ecx)
40e7fb:	08 02                	or     %al,(%edx)
40e7fd:	02 02                	add    (%edx),%al
40e7ff:	02 08                	add    (%eax),%cl
40e801:	08 08                	or     %cl,(%eax)
40e803:	02 02                	add    (%edx),%al
40e805:	08 08                	or     %cl,(%eax)
40e807:	02 08                	add    (%eax),%cl
40e809:	02 08                	add    (%eax),%cl
40e80b:	02 08                	add    (%eax),%cl
40e80d:	08 08                	or     %cl,(%eax)
40e80f:	08 08                	or     %cl,(%eax)
40e811:	02 02                	add    (%edx),%al
40e813:	02 02                	add    (%edx),%al
40e815:	02 02                	add    (%edx),%al
40e817:	02 02                	add    (%edx),%al
40e819:	02 02                	add    (%edx),%al
40e81b:	02 02                	add    (%edx),%al
40e81d:	02 02                	add    (%edx),%al
40e81f:	02 02                	add    (%edx),%al
40e821:	02 02                	add    (%edx),%al
40e823:	02 02                	add    (%edx),%al
40e825:	02 02                	add    (%edx),%al
40e827:	02 02                	add    (%edx),%al
40e829:	02 02                	add    (%edx),%al
40e82b:	02 02                	add    (%edx),%al
40e82d:	02 02                	add    (%edx),%al
40e82f:	02 02                	add    (%edx),%al
40e831:	02 02                	add    (%edx),%al
40e833:	02 02                	add    (%edx),%al
40e835:	02 02                	add    (%edx),%al
40e837:	02 02                	add    (%edx),%al
40e839:	02 02                	add    (%edx),%al
40e83b:	02 02                	add    (%edx),%al
40e83d:	02 02                	add    (%edx),%al
40e83f:	02 02                	add    (%edx),%al
40e841:	02 02                	add    (%edx),%al
40e843:	02 02                	add    (%edx),%al
40e845:	02 02                	add    (%edx),%al
40e847:	02 02                	add    (%edx),%al
40e849:	02 02                	add    (%edx),%al
40e84b:	02 02                	add    (%edx),%al
40e84d:	02 02                	add    (%edx),%al
40e84f:	02 02                	add    (%edx),%al
40e851:	02 02                	add    (%edx),%al
40e853:	02 02                	add    (%edx),%al
40e855:	02 02                	add    (%edx),%al
40e857:	02 02                	add    (%edx),%al
40e859:	04 07                	add    $0x7,%al
40e85b:	01 1d 05 08 07 05    	add    %ebx,0x5070805
40e861:	1d 05 1c 1c 1c       	sbb    $0x1c1c1c05,%eax
40e866:	0e                   	push   %cs
40e867:	05 00 00 12 81       	add    $0x81120000,%eax
40e86c:	f5                   	cmc
40e86d:	09 00                	or     %eax,(%eax)
40e86f:	02 01                	add    (%ecx),%al
40e871:	12 82 01 11 82 05    	adc    0x5821101(%edx),%al
40e877:	05 20 01 01 1d       	add    $0x1d010120,%eax
40e87c:	03 0e                	add    (%esi),%ecx
40e87e:	00 06                	add    %al,(%esi)
40e880:	1c 1c                	sbb    $0x1c,%al
40e882:	12 81 39 0e 1d 1c    	adc    0x1c1d0e39(%ecx),%al
40e888:	1d 0e 1d 02 03       	sbb    $0x3021d0e,%eax