40fabf:	66 00 6f 00          	data16 add %ch,0x0(%edi)
40fac3:	75 00                	jne    0x40fac5
40fac5:	6e                   	outsb  %ds:(%esi),(%dx)
40fac6:	00 64 00 2e          	add    %ah,0x2e(%eax,%eax,1)
40faca:	00 00                	add    %al,(%eax)
40facc:	6f                   	outsl  %ds:(%esi),(%dx)
40facd:	54                   	push   %esp
40face:	00 68 00             	add    %ch,0x0(%eax)
40fad1:	65 00 20             	add    %ah,%gs:(%eax)
40fad4:	00 70 00             	add    %dh,0x0(%eax)
40fad7:	72 00                	jb     0x40fad9
40fad9:	6f                   	outsl  %ds:(%esi),(%dx)
40fada:	00 70 00             	add    %dh,0x0(%eax)
40fadd:	65 00 72 00          	add    %dh,%gs:0x0(%edx)
40fae1:	74 00                	je     0x40fae3
40fae3:	79 00                	jns    0x40fae5
40fae5:	20 00                	and    %al,(%eax)
40fae7:	22 00                	and    (%eax),%al
40fae9:	7b 00                	jnp    0x40faeb
40faeb:	30 00                	xor    %al,(%eax)
40faed:	7d 00                	jge    0x40faef
40faef:	22 00                	and    (%eax),%al
40faf1:	20 00                	and    %al,(%eax)
40faf3:	77 00                	ja     0x40faf5
40faf5:	61                   	popa
40faf6:	00 73 00             	add    %dh,0x0(%ebx)
40faf9:	20 00                	and    %al,(%eax)
40fafb:	6e                   	outsb  %ds:(%esi),(%dx)
40fafc:	00 6f 00             	add    %ch,0x0(%edi)
40faff:	74 00                	je     0x40fb01
40fb01:	20 00                	and    %al,(%eax)
40fb03:	6f                   	outsl  %ds:(%esi),(%dx)
40fb04:	00 66 00             	add    %ah,0x0(%esi)
40fb07:	20 00                	and    %al,(%eax)
40fb09:	74 00                	je     0x40fb0b
40fb0b:	79 00                	jns    0x40fb0d
40fb0d:	70 00                	jo     0x40fb0f
40fb0f:	65 00 20             	add    %ah,%gs:(%eax)
40fb12:	00 53 00             	add    %dl,0x0(%ebx)
40fb15:	79 00                	jns    0x40fb17
40fb17:	73 00                	jae    0x40fb19
40fb19:	74 00                	je     0x40fb1b
40fb1b:	65 00 6d 00          	add    %ch,%gs:0x0(%ebp)
40fb1f:	2e 00 44 00 72       	add    %al,%cs:0x72(%eax,%eax,1)
40fb24:	00 61 00             	add    %ah,0x0(%ecx)
40fb27:	77 00                	ja     0x40fb29
40fb29:	69 00 6e 00 67 00    	imul   $0x67006e,(%eax),%eax
40fb2f:	2e 00 43 00          	add    %al,%cs:0x0(%ebx)
40fb33:	6f                   	outsl  %ds:(%esi),(%dx)
40fb34:	00 6c 00 6f          	add    %ch,0x6f(%eax,%eax,1)
40fb38:	00 72 00             	add    %dh,0x0(%edx)
40fb3b:	00 47 54             	add    %al,0x54(%edi)
40fb3e:	00 68 00             	add    %ch,0x0(%eax)
40fb41:	65 00 20             	add    %ah,%gs:(%eax)
40fb44:	00 70 00             	add    %dh,0x0(%eax)
40fb47:	72 00                	jb     0x40fb49
40fb49:	6f                   	outsl  %ds:(%esi),(%dx)
40fb4a:	00 70 00             	add    %dh,0x0(%eax)
40fb4d:	65 00 72 00          	add    %dh,%gs:0x0(%edx)
40fb51:	74 00                	je     0x40fb53
40fb53:	79 00                	jns    0x40fb55
40fb55:	20 00                	and    %al,(%eax)
40fb57:	22 00                	and    (%eax),%al
40fb59:	7b 00                	jnp    0x40fb5b
40fb5b:	30 00                	xor    %al,(%eax)
40fb5d:	7d 00                	jge    0x40fb5f
40fb5f:	22 00                	and    (%eax),%al
40fb61:	20 00                	and    %al,(%eax)
40fb63:	69 00 73 00 20 00    	imul   $0x200073,(%eax),%eax
40fb69:	6e                   	outsb  %ds:(%esi),(%dx)
40fb6a:	00 6f 00             	add    %ch,0x0(%edi)
40fb6d:	74 00                	je     0x40fb6f
40fb6f:	20 00                	and    %al,(%eax)
40fb71:	77 00                	ja     0x40fb73
40fb73:	72 00                	jb     0x40fb75
40fb75:	69 00 74 00 65 00    	imul   $0x650074,(%eax),%eax
40fb7b:	61                   	popa
40fb7c:	00 62 00             	add    %ah,0x0(%edx)
40fb7f:	6c                   	insb   (%dx),%es:(%edi)
40fb80:	00 65 00             	add    %ah,0x0(%ebp)
40fb83:	00 6d 54             	add    %ch,0x54(%ebp)
40fb86:	00 68 00             	add    %ch,0x0(%eax)
40fb89:	65 00 20             	add    %ah,%gs:(%eax)
40fb8c:	00 70 00             	add    %dh,0x0(%eax)
40fb8f:	72 00                	jb     0x40fb91
40fb91:	6f                   	outsl  %ds:(%esi),(%dx)
40fb92:	00 70 00             	add    %dh,0x0(%eax)
40fb95:	65 00 72 00          	add    %dh,%gs:0x0(%edx)
40fb99:	74 00                	je     0x40fb9b
40fb9b:	79 00                	jns    0x40fb9d
40fb9d:	20 00                	and    %al,(%eax)
40fb9f:	6e                   	outsb  %ds:(%esi),(%dx)
40fba0:	00 61 00             	add    %ah,0x0(%ecx)
40fba3:	6d                   	insl   (%dx),%es:(%edi)
40fba4:	00 65 00             	add    %ah,0x0(%ebp)
40fba7:	20 00                	and    %al,(%eax)
40fba9:	63 00                	arpl   %eax,(%eax)
40fbab:	61                   	popa
40fbac:	00 6e 00             	add    %ch,0x0(%esi)
40fbaf:	6e                   	outsb  %ds:(%esi),(%dx)
40fbb0:	00 6f 00             	add    %ch,0x0(%edi)
40fbb3:	74 00                	je     0x40fbb5
40fbb5:	20 00                	and    %al,(%eax)
40fbb7:	62 00                	bound  %eax,(%eax)
40fbb9:	65 00 20             	add    %ah,%gs:(%eax)
40fbbc:	00 6e 00             	add    %ch,0x0(%esi)
40fbbf:	75 00                	jne    0x40fbc1
40fbc1:	6c                   	insb   (%dx),%es:(%edi)
40fbc2:	00 6c 00 2c          	add    %ch,0x2c(%eax,%eax,1)
40fbc6:	00 20                	add    %ah,(%eax)
40fbc8:	00 65 00             	add    %ah,0x0(%ebp)
40fbcb:	6d                   	insl   (%dx),%es:(%edi)
40fbcc:	00 70 00             	add    %dh,0x0(%eax)
40fbcf:	74 00                	je     0x40fbd1
40fbd1:	79 00                	jns    0x40fbd3
40fbd3:	2c 00                	sub    $0x0,%al
40fbd5:	20 00                	and    %al,(%eax)
40fbd7:	6f                   	outsl  %ds:(%esi),(%dx)
40fbd8:	00 72 00             	add    %dh,0x0(%edx)
40fbdb:	20 00                	and    %al,(%eax)
40fbdd:	77 00                	ja     0x40fbdf
40fbdf:	68 00 69 00 74       	push   $0x74006900
40fbe4:	00 65 00             	add    %ah,0x0(%ebp)
40fbe7:	73 00                	jae    0x40fbe9
40fbe9:	70 00                	jo     0x40fbeb
40fbeb:	61                   	popa
40fbec:	00 63 00             	add    %ah,0x0(%ebx)
40fbef:	65 00 00             	add    %al,%gs:(%eax)
40fbf2:	1d 54 00 68 00       	sbb    $0x680054,%eax
40fbf7:	65 00 20             	add    %ah,%gs:(%eax)
40fbfa:	00 70 00             	add    %dh,0x0(%eax)
40fbfd:	72 00                	jb     0x40fbff
40fbff:	6f                   	outsl  %ds:(%esi),(%dx)
40fc00:	00 70 00             	add    %dh,0x0(%eax)
40fc03:	65 00 72 00          	add    %dh,%gs:0x0(%edx)
40fc07:	74 00                	je     0x40fc09
40fc09:	79 00                	jns    0x40fc0b
40fc0b:	20 00                	and    %al,(%eax)
40fc0d:	22 00                	and    (%eax),%al
40fc0f:	00 1f                	add    %bl,(%edi)
40fc11:	22 00                	and    (%eax),%al
40fc13:	20 00                	and    %al,(%eax)
40fc15:	77 00                	ja     0x40fc17
40fc17:	61                   	popa
40fc18:	00 73 00             	add    %dh,0x0(%ebx)
40fc1b:	20 00                	and    %al,(%eax)
40fc1d:	6e                   	outsb  %ds:(%esi),(%dx)
40fc1e:	00 6f 00             	add    %ch,0x0(%edi)
40fc21:	74 00                	je     0x40fc23
40fc23:	20 00                	and    %al,(%eax)
40fc25:	66 00 6f 00          	data16 add %ch,0x0(%edi)
40fc29:	75 00                	jne    0x40fc2b
40fc2b:	6e                   	outsb  %ds:(%esi),(%dx)
40fc2c:	00 64 00 00          	add    %ah,0x0(%eax,%eax,1)
40fc30:	33 22                	xor    (%edx),%esp
40fc32:	00 20                	add    %ah,(%eax)
40fc34:	00 69 00             	add    %ch,0x0(%ecx)
40fc37:	73 00                	jae    0x40fc39
40fc39:	20 00                	and    %al,(%eax)
40fc3b:	6e                   	outsb  %ds:(%esi),(%dx)
40fc3c:	00 6f 00             	add    %ch,0x0(%edi)
40fc3f:	74 00                	je     0x40fc41
40fc41:	20 00                	and    %al,(%eax)
40fc43:	61                   	popa
40fc44:	00 20                	add    %ah,(%eax)
40fc46:	00 70 00             	add    %dh,0x0(%eax)
40fc49:	72 00                	jb     0x40fc4b
40fc4b:	69 00 6d 00 69 00    	imul   $0x69006d,(%eax),%eax
40fc51:	74 00                	je     0x40fc53
40fc53:	69 00 76 00 65 00    	imul   $0x650076,(%eax),%eax
40fc59:	20 00                	and    %al,(%eax)
40fc5b:	74 00                	je     0x40fc5d
40fc5d:	79 00                	jns    0x40fc5f
40fc5f:	70 00                	jo     0x40fc61
40fc61:	65 00 00             	add    %al,%gs:(%eax)
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