40fc64:	25 22 00 20 00       	and    $0x200022,%eax
40fc69:	69 00 73 00 20 00    	imul   $0x200073,(%eax),%eax
40fc6f:	6e                   	outsb  %ds:(%esi),(%dx)
40fc70:	00 6f 00             	add    %ch,0x0(%edi)
40fc73:	74 00                	je     0x40fc75
40fc75:	20 00                	and    %al,(%eax)
40fc77:	77 00                	ja     0x40fc79
40fc79:	72 00                	jb     0x40fc7b
40fc7b:	69 00 74 00 61 00    	imul   $0x610074,(%eax),%eax
40fc81:	62 00                	bound  %eax,(%eax)
40fc83:	6c                   	insb   (%dx),%es:(%edi)
40fc84:	00 65 00             	add    %ah,0x0(%ebp)
40fc87:	2e 00 00             	add    %al,%cs:(%eax)
40fc8a:	57                   	push   %edi
40fc8b:	4e                   	dec    %esi
40fc8c:	00 75 00             	add    %dh,0x0(%ebp)
40fc8f:	6d                   	insl   (%dx),%es:(%edi)
40fc90:	00 62 00             	add    %ah,0x0(%edx)
40fc93:	65 00 72 00          	add    %dh,%gs:0x0(%edx)
40fc97:	20 00                	and    %al,(%eax)
40fc99:	6f                   	outsl  %ds:(%esi),(%dx)
40fc9a:	00 66 00             	add    %ah,0x0(%esi)
40fc9d:	20 00                	and    %al,(%eax)
40fc9f:	6d                   	insl   (%dx),%es:(%edi)
40fca0:	00 69 00             	add    %ch,0x0(%ecx)
40fca3:	6c                   	insb   (%dx),%es:(%edi)
40fca4:	00 6c 00 69          	add    %ch,0x69(%eax,%eax,1)
40fca8:	00 73 00             	add    %dh,0x0(%ebx)
40fcab:	65 00 63 00          	add    %ah,%gs:0x0(%ebx)
40fcaf:	6f                   	outsl  %ds:(%esi),(%dx)
40fcb0:	00 6e 00             	add    %ch,0x0(%esi)
40fcb3:	64 00 73 00          	add    %dh,%fs:0x0(%ebx)
40fcb7:	20 00                	and    %al,(%eax)
40fcb9:	6d                   	insl   (%dx),%es:(%edi)
40fcba:	00 75 00             	add    %dh,0x0(%ebp)
40fcbd:	73 00                	jae    0x40fcbf
40fcbf:	74 00                	je     0x40fcc1
40fcc1:	20 00                	and    %al,(%eax)
40fcc3:	62 00                	bound  %eax,(%eax)
40fcc5:	65 00 20             	add    %ah,%gs:(%eax)
40fcc8:	00 6e 00             	add    %ch,0x0(%esi)
40fccb:	6f                   	outsl  %ds:(%esi),(%dx)
40fccc:	00 6e 00             	add    %ch,0x0(%esi)
40fccf:	2d 00 6e 00 65       	sub    $0x65006e00,%eax
40fcd4:	00 67 00             	add    %ah,0x0(%edi)
40fcd7:	61                   	popa
40fcd8:	00 74 00 69          	add    %dh,0x69(%eax,%eax,1)
40fcdc:	00 76 00             	add    %dh,0x0(%esi)
40fcdf:	65 00 01             	add    %al,%gs:(%ecx)
40fce2:	67 43                	addr16 inc %ebx
40fce4:	00 61 00             	add    %ah,0x0(%ecx)
40fce7:	6e                   	outsb  %ds:(%esi),(%dx)
40fce8:	00 6e 00             	add    %ch,0x0(%esi)
40fceb:	6f                   	outsl  %ds:(%esi),(%dx)
40fcec:	00 74 00 20          	add    %dh,0x20(%eax,%eax,1)
40fcf0:	00 61 00             	add    %ah,0x0(%ecx)
40fcf3:	64 00 76 00          	add    %dh,%fs:0x0(%esi)
40fcf7:	61                   	popa
40fcf8:	00 6e 00             	add    %ch,0x0(%esi)
40fcfb:	63 00                	arpl   %eax,(%eax)
40fcfd:	65 00 20             	add    %ah,%gs:(%eax)
40fd00:	00 61 00             	add    %ah,0x0(%ecx)
40fd03:	6e                   	outsb  %ds:(%esi),(%dx)
40fd04:	00 20                	add    %ah,(%eax)
40fd06:	00 61 00             	add    %ah,0x0(%ecx)
40fd09:	6e                   	outsb  %ds:(%esi),(%dx)
40fd0a:	00 69 00             	add    %ch,0x0(%ecx)
40fd0d:	6d                   	insl   (%dx),%es:(%edi)
40fd0e:	00 61 00             	add    %ah,0x0(%ecx)
40fd11:	74 00                	je     0x40fd13
40fd13:	69 00 6f 00 6e 00    	imul   $0x6e006f,(%eax),%eax
40fd19:	20 00                	and    %al,(%eax)
40fd1b:	74 00                	je     0x40fd1d
40fd1d:	68 00 61 00 74       	push   $0x74006100
40fd22:	00 20                	add    %ah,(%eax)
40fd24:	00 68 00             	add    %ch,0x0(%eax)
40fd27:	61                   	popa
40fd28:	00 73 00             	add    %dh,0x0(%ebx)
40fd2b:	20 00                	and    %al,(%eax)
40fd2d:	61                   	popa
40fd2e:	00 6c 00 72          	add    %ch,0x72(%eax,%eax,1)
40fd32:	00 65 00             	add    %ah,0x0(%ebp)
40fd35:	61                   	popa
40fd36:	00 64 00 79          	add    %ah,0x79(%eax,%eax,1)
40fd3a:	00 20                	add    %ah,(%eax)
40fd3c:	00 65 00             	add    %ah,0x0(%ebp)
40fd3f:	6e                   	outsb  %ds:(%esi),(%dx)
40fd40:	00 64 00 65          	add    %ah,0x65(%eax,%eax,1)
40fd44:	00 64 00 2e          	add    %ah,0x2e(%eax,%eax,1)
40fd48:	00 00                	add    %al,(%eax)
40fd4a:	45                   	inc    %ebp
40fd4b:	41                   	inc    %ecx
40fd4c:	00 6e 00             	add    %ch,0x0(%esi)
40fd4f:	69 00 6d 00 61 00    	imul   $0x61006d,(%eax),%eax
40fd55:	74 00                	je     0x40fd57
40fd57:	69 00 6f 00 6e 00    	imul   $0x6e006f,(%eax),%eax
40fd5d:	20 00                	and    %al,(%eax)
40fd5f:	68 00 61 00 73       	push   $0x73006100
40fd64:	00 20                	add    %ah,(%eax)
40fd66:	00 61 00             	add    %ah,0x0(%ecx)
40fd69:	6c                   	insb   (%dx),%es:(%edi)
40fd6a:	00 72 00             	add    %dh,0x0(%edx)
40fd6d:	65 00 61 00          	add    %ah,%gs:0x0(%ecx)
40fd71:	64 00 79 00          	add    %bh,%fs:0x0(%ecx)
40fd75:	20 00                	and    %al,(%eax)
40fd77:	62 00                	bound  %eax,(%eax)
40fd79:	65 00 65 00          	add    %ah,%gs:0x0(%ebp)
40fd7d:	6e                   	outsb  %ds:(%esi),(%dx)
40fd7e:	00 20                	add    %ah,(%eax)
40fd80:	00 73 00             	add    %dh,0x0(%ebx)
40fd83:	74 00                	je     0x40fd85
40fd85:	61                   	popa
40fd86:	00 72 00             	add    %dh,0x0(%edx)
40fd89:	74 00                	je     0x40fd8b
40fd8b:	65 00 64 00 00       	add    %ah,%gs:0x0(%eax,%eax,1)
40fd90:	ca 17 98             	lret   $0x9817
40fd93:	12 06                	adc    (%esi),%al
40fd95:	de 23                	fisubs (%ebx)
40fd97:	48                   	dec    %eax
40fd98:	95                   	xchg   %eax,%ebp
40fd99:	6d                   	insl   (%dx),%es:(%edi)
40fd9a:	46                   	inc    %esi
40fd9b:	05 f2 77 ac 0b       	add    $0xbac77f2,%eax
40fda0:	00 04 20             	add    %al,(%eax,%eiz,1)
40fda3:	01 01                	add    %eax,(%ecx)
40fda5:	08 03                	or     %al,(%ebx)
40fda7:	20 00                	and    %al,(%eax)
40fda9:	01 05 20 01 01 11    	add    %eax,0x11010120
40fdaf:	11 04 20             	adc    %eax,(%eax,%eiz,1)
40fdb2:	01 01                	add    %eax,(%ecx)
40fdb4:	0e                   	push   %cs
40fdb5:	04 20                	add    $0x20,%al
40fdb7:	01 01                	add    %eax,(%ecx)
40fdb9:	02 05 20 01 01 11    	add    0x11010120,%al
40fdbf:	4d                   	dec    %ebp
40fdc0:	05 20 01 01 12       	add    $0x12010120,%eax
40fdc5:	5d                   	pop    %ebp
40fdc6:	05 20 01 01 11       	add    $0x11010120,%eax
40fdcb:	75 06                	jne    0x40fdd3
40fdcd:	20 01                	and    %al,(%ecx)
40fdcf:	01 11                	add    %edx,(%ecx)
40fdd1:	80 a1 06 20 01 01 11 	andb   $0x11,0x1012006(%ecx)
40fdd8:	80 b9 06 20 02 01 12 	cmpb   $0x12,0x1022006(%ecx)
40fddf:	5d                   	pop    %ebp
40fde0:	0e                   	push   %cs
40fde1:	05 20 02 01 0e       	add    $0xe010220,%eax
40fde6:	0e                   	push   %cs
40fde7:	06                   	push   %es
40fde8:	20 01                	and    %al,(%ecx)
40fdea:	01 11                	add    %edx,(%ecx)
40fdec:	81 21 06 15 12 80    	andl   $0x80121506,(%ecx)
40fdf2:	8c 01                	mov    %es,(%ecx)
40fdf4:	0d 08 15 12 80       	or     $0x80121508,%eax
40fdf9:	80 01 1d             	addb   $0x1d,(%ecx)
40fdfc:	13 00                	adc    (%eax),%eax
40fdfe:	06                   	push   %es
40fdff:	15 12 80 80 01       	adc    $0x1808012,%eax
40fe04:	0d 08 07 06 08       	or     $0x8060708,%eax
40fe09:	08 08                	or     %cl,(%eax)
40fe0b:	08 02                	or     %al,(%edx)
40fe0d:	02 04 20             	add    (%eax,%eiz,1),%al
40fe10:	01 08                	add    %ecx,(%eax)
40fe12:	08 07                	or     %al,(%edi)
40fe14:	14 05                	adc    $0x5,%al
40fe16:	02 00                	add    (%eax),%al
40fe18:	02 00                	add    (%eax),%al
40fe1a:	00 05 20 02 05 08    	add    %al,0x8050220
40fe20:	08 06                	or     %al,(%esi)
40fe22:	20 03                	and    %al,(%ebx)
40fe24:	01 08                	add    %ecx,(%eax)
40fe26:	08 05 0a 07 08 05    	or     %al,0x508070a
40fe2c:	08 08                	or     %cl,(%eax)
40fe2e:	02 02                	add    (%edx),%al
40fe30:	02 02                	add    (%edx),%al
40fe32:	05 03 07 01 02       	add    $0x2010703,%eax
40fe37:	03 20                	add    (%eax),%esp
40fe39:	00 18                	add    %bl,(%eax)
40fe3b:	02 06                	add    (%esi),%al
40fe3d:	18 05 00 02 02 18    	sbb    %al,0x18020200
40fe43:	18 05 20 02 01 1c    	sbb    %al,0x1c010220
40fe49:	18 04 00             	sbb    %al,(%eax,%eax,1)
40fe4c:	01 18                	add    %ebx,(%eax)
40fe4e:	08 19                	or     %bl,(%ecx)
40fe50:	07                   	pop    %es
40fe51:	11 12                	adc    %edx,(%edx)
40fe53:	80 81 08 08 08 08 11 	addb   $0x11,0x8080808(%ecx)
40fe5a:	80 85 12 80 89 02 08 	addb   $0x8,0x2898012(%ebp)
40fe61:	08 02                	or     %al,(%edx)
40fe63:	05 05 02 02 02       	add    $0x2020205,%eax
40fe68:	02 05 20 01 01 12    	add    0x12010120,%al
40fe6e:	7d 05                	jge    0x40fe75
40fe70:	20 00                	and    %al,(%eax)
40fe72:	12 80 81 05 20 01    	adc    0x1200581(%eax),%al
40fe78:	01 11                	add    %edx,(%ecx)
40fe7a:	6d                   	insl   (%dx),%es:(%edi)
40fe7b:	04 00                	add    $0x0,%al
40fe7d:	00 11                	add    %dl,(%ecx)
40fe7f:	6d                   	insl   (%dx),%es:(%edi)
40fe80:	07                   	pop    %es
40fe81:	20 04 01             	and    %al,(%ecx,%eax,1)
40fe84:	08 08                	or     %cl,(%eax)
40fe86:	08 08                	or     %cl,(%eax)
40fe88:	09 20                	or     %esp,(%eax)
40fe8a:	02 01                	add    (%ecx),%al
40fe8c:	12 81 6d 11 80 85    	adc    -0x7a7fee93(%ecx),%al
40fe92:	05 00 00 12 80       	add    $0x80120000,%eax
40fe97:	c9                   	leave
40fe98:	05 20 02 01 08       	add    $0x8010220,%eax
40fe9d:	08 0c 20             	or     %cl,(%eax,%eiz,1)
40fea0:	03 01                	add    (%ecx),%eax
40fea2:	12 80 c9 11 81 75    	adc    0x758111c9(%eax),%al
40fea8:	11 81 75 08 07 04    	adc    %eax,0x4070875(%ecx)
40feae:	12 80 8d 02 05 05    	adc    0x505028d(%eax),%al
40feb4:	03 20                	add    (%eax),%esp
40feb6:	00 08                	add    %cl,(%eax)
40feb8:	08 00                	or     %al,(%eax)
40feba:	03 01                	add    (%ecx),%eax
40febc:	12 81 65 08 08 08    	adc    0x8080865(%ecx),%al
40fec2:	07                   	pop    %es
40fec3:	06                   	push   %es
40fec4:	08 08                	or     %cl,(%eax)
40fec6:	02 02                	add    (%edx),%al
40fec8:	02 02                	add    (%edx),%al
40feca:	10 07                	adc    %al,(%edi)
40fecc:	0e                   	push   %cs
40fecd:	1c 02                	sbb    $0x2,%al
40fecf:	08 08                	or     %cl,(%eax)
40fed1:	08 02                	or     %al,(%edx)
40fed3:	02 02                	add    (%edx),%al
40fed5:	08 08                	or     %cl,(%eax)
40fed7:	02 02                	add    (%edx),%al
40fed9:	02 02                	add    (%edx),%al
40fedb:	06                   	push   %es
40fedc:	00 02                	add    %al,(%edx)
40fede:	01 1c 10             	add    %ebx,(%eax,%edx,1)
40fee1:	02 04 00             	add    (%eax,%eax,1),%al
40fee4:	01 01                	add    %eax,(%ecx)
40fee6:	1c 07                	sbb    $0x7,%al
40fee8:	07                   	pop    %es
40fee9:	05 08 08 02 02       	add    $0x2020808,%eax
40feee:	02 09                	add    (%ecx),%cl
40fef0:	07                   	pop    %es
40fef1:	07                   	pop    %es
40fef2:	02 02                	add    (%edx),%al
40fef4:	08 08                	or     %cl,(%eax)
40fef6:	02 02                	add    (%edx),%al
40fef8:	02 14 07             	add    (%edi,%eax,1),%dl
40fefb:	10 02                	adc    %al,(%edx)
40fefd:	02 02                	add    (%edx),%al
40feff:	02 08                	add    (%eax),%cl
40ff01:	08 02                	or     %al,(%edx)
40ff03:	11 08                	adc    %ecx,(%eax)
40ff05:	11 08                	adc    %ecx,(%eax)
40ff07:	02 02                	add    (%edx),%al
40ff09:	08 08                	or     %cl,(%eax)
40ff0b:	02 02                	add    (%edx),%al
40ff0d:	02 22                	add    (%edx),%ah
40ff0f:	07                   	pop    %es
40ff10:	20 05 05 05 05 08    	and    %al,0x8050505
40ff16:	08 08                	or     %cl,(%eax)
40ff18:	02 02                	add    (%edx),%al
40ff1a:	02 08                	add    (%eax),%cl
40ff1c:	02 02                	add    (%edx),%al
40ff1e:	02 08                	add    (%eax),%cl
40ff20:	08 02                	or     %al,(%edx)
40ff22:	02 08                	add    (%eax),%cl
40ff24:	02 02                	add    (%edx),%al
40ff26:	08 02                	or     %al,(%edx)
40ff28:	02 02                	add    (%edx),%al
40ff2a:	08 08                	or     %cl,(%eax)
40ff2c:	02 02                	add    (%edx),%al
40ff2e:	08 02                	or     %al,(%edx)
40ff30:	02 0e                	add    (%esi),%cl
40ff32:	07                   	pop    %es
40ff33:	05 11 0c 14 05       	add    $0x5140c11,%eax
40ff38:	02 00                	add    (%eax),%al
40ff3a:	02 00                	add    (%eax),%al
40ff3c:	00 02                	add    %al,(%edx)
40ff3e:	02 02                	add    (%edx),%al
40ff40:	06                   	push   %es
40ff41:	07                   	pop    %es
40ff42:	04 1c                	add    $0x1c,%al
40ff44:	02 02                	add    (%edx),%al
40ff46:	02 04 07             	add    (%edi,%eax,1),%al
40ff49:	02 1c 02             	add    (%edx,%eax,1),%bl
40ff4c:	03 07                	add    (%edi),%eax
40ff4e:	01 05 03 07 01 08    	add    %eax,0x8010703
40ff54:	04 07                	add    $0x7,%al
40ff56:	01 11                	add    %edx,(%ecx)
40ff58:	6d                   	insl   (%dx),%es:(%edi)
40ff59:	06                   	push   %es
40ff5a:	20 01                	and    %al,(%ecx)
40ff5c:	01 12                	add    %edx,(%edx)
40ff5e:	80 91 06 07 04 02 02 	adcb   $0x2,0x2040706(%ecx)
40ff65:	02 02                	add    (%edx),%al
40ff67:	05 20 00 11 81       	add    $0x81110020,%eax
40ff6c:	7d 05                	jge    0x40ff73
40ff6e:	07                   	pop    %es
40ff6f:	01 12                	add    %edx,(%edx)
40ff71:	80 8d 07 20 02 01 11 	orb    $0x11,0x1022007(%ebp)
40ff78:	81 81 02 0a 20 05 01 	addl   $0x8080801,0x5200a02(%ecx)
40ff7f:	08 08 08
40ff82:	08 11                	or     %dl,(%ecx)
40ff84:	80 95 06 07 04 08 08 	adcb   $0x8,0x8040706(%ebp)
40ff8b:	02 02                	add    (%edx),%al
40ff8d:	08 07                	or     %al,(%edi)
40ff8f:	03 12                	add    (%edx),%edx
40ff91:	69 12 69 12 69 0b    	imul   $0xb691269,(%edx),%edx
40ff97:	00 02                	add    %al,(%edx)
40ff99:	12 81 85 12 81 85    	adc    -0x7a7eed7b(%ecx),%al
40ff9f:	12 81 85 0c 10 01    	adc    0x1100c85(%ecx),%al
40ffa5:	03 1e                	add    (%esi),%ebx
40ffa7:	00 10                	add    %dl,(%eax)
40ffa9:	1e                   	push   %ds
40ffaa:	00 1e                	add    %bl,(%esi)
40ffac:	00 1e                	add    %bl,(%esi)
40ffae:	00 04 0a             	add    %al,(%edx,%ecx,1)
40ffb1:	01 12                	add    %edx,(%edx)
40ffb3:	69 07 20 02 01 1c    	imul   $0x1c010220,(%edi),%eax
40ffb9:	12 80 99 0a 07 04    	adc    0x4070a99(%eax),%al
40ffbf:	1c 02                	sbb    $0x2,%al
40ffc1:	11 80 9d 11 80 9d    	adc    %eax,-0x627fee63(%eax)
40ffc7:	0d 07 07 02 02       	or     $0x2020707,%eax
40ffcc:	02 02                	add    (%edx),%al
40ffce:	11 80 9d 11 80 9d    	adc    %eax,-0x627fee63(%eax)
40ffd4:	02 0a                	add    (%edx),%cl
40ffd6:	20 02                	and    %al,(%edx)
40ffd8:	02 10                	add    (%eax),%dl
40ffda:	11 80 ad 11 80 9d    	adc    %eax,-0x627fee53(%eax)
40ffe0:	04 20                	add    $0x20,%al
40ffe2:	01 01                	add    %eax,(%ecx)
40ffe4:	18 10                	sbb    %dl,(%eax)
40ffe6:	07                   	pop    %es
40ffe7:	0e                   	push   %cs
40ffe8:	1c 02                	sbb    $0x2,%al
40ffea:	02 02                	add    (%edx),%al
40ffec:	02 05 05 02 02 02    	add    0x2020205,%al
40fff2:	02 02                	add    (%edx),%al
40fff4:	02 02                	add    (%edx),%al
40fff6:	04 06                	add    $0x6,%al
40fff8:	12 80 99 04 07 02    	adc    0x2070499(%eax),%al
40fffe:	08 08                	or     %cl,(%eax)
410000:	07                   	pop    %es
410001:	20 01                	and    %al,(%ecx)
410003:	01 10                	add    %edx,(%eax)
410005:	11 80 ad 06 20 01    	adc    %eax,0x12006ad(%eax)
41000b:	01 12                	add    %edx,(%edx)
41000d:	80 b1 05 20 00 11 80 	xorb   $0x80,0x11002005(%ecx)
410014:	9d                   	popf
410015:	09 00                	or     %eax,(%eax)