40aab3:	5f                   	pop    %edi
40aab4:	00 46 00             	add    %al,0x0(%esi)
40aab7:	6c                   	insb   (%dx),%es:(%edi)
40aab8:	00 61 00             	add    %ah,0x0(%ecx)
40aabb:	73 00                	jae    0x40aabd
40aabd:	68 00 69 00 6e       	push   $0x6e006900
40aac2:	00 67 00             	add    %ah,0x0(%edi)
40aac5:	01 37                	add    %esi,(%edi)
40aac7:	5c                   	pop    %esp
40aac8:	00 39                	add    %bh,(%ecx)
40aaca:	00 31                	add    %dh,(%ecx)
40aacc:	00 2d 00 31 00 30    	add    %ch,0x30003100
40aad2:	00 2d 00 30 00 5f    	add    %ch,0x5f003000
40aad8:	00 4d 00             	add    %cl,0x0(%ebp)
40aadb:	79 00                	jns    0x40aadd
40aadd:	73 00                	jae    0x40aadf
40aadf:	74 00                	je     0x40aae1
40aae1:	69 00 63 00 4c 00    	imul   $0x4c0063,(%eax),%eax
40aae7:	69 00 67 00 68 00    	imul   $0x680067,(%eax),%eax
40aaed:	74 00                	je     0x40aaef
40aaef:	5f                   	pop    %edi
40aaf0:	00 53 00             	add    %dl,0x0(%ebx)
40aaf3:	74 00                	je     0x40aaf5
40aaf5:	65 00 61 00          	add    %ah,%gs:0x0(%ecx)
40aaf9:	64 00 79 00          	add    %bh,%fs:0x0(%ecx)
40aafd:	01 4b 47             	add    %ecx,0x47(%ebx)
40ab00:	00 5f 00             	add    %bl,0x0(%edi)
40ab03:	4b                   	dec    %ebx
40ab04:	00 65 00             	add    %ah,0x0(%ebp)
40ab07:	79 00                	jns    0x40ab09
40ab09:	5f                   	pop    %edi
40ab0a:	00 43 00             	add    %al,0x0(%ebx)
40ab0d:	6f                   	outsl  %ds:(%esi),(%dx)
40ab0e:	00 6e 00             	add    %ch,0x0(%esi)
40ab11:	74 00                	je     0x40ab13
40ab13:	72 00                	jb     0x40ab15
40ab15:	6f                   	outsl  %ds:(%esi),(%dx)
40ab16:	00 6c 00 6c          	add    %ch,0x6c(%eax,%eax,1)
40ab1a:	00 65 00             	add    %ah,0x0(%ebp)
40ab1d:	72 00                	jb     0x40ab1f
40ab1f:	2e 00 50 00          	add    %dl,%cs:0x0(%eax)
40ab23:	72 00                	jb     0x40ab25
40ab25:	6f                   	outsl  %ds:(%esi),(%dx)
40ab26:	00 70 00             	add    %dh,0x0(%eax)
40ab29:	65 00 72 00          	add    %dh,%gs:0x0(%edx)
40ab2d:	74 00                	je     0x40ab2f
40ab2f:	69 00 65 00 73 00    	imul   $0x730065,(%eax),%eax
40ab35:	2e 00 52 00          	add    %dl,%cs:0x0(%edx)
40ab39:	65 00 73 00          	add    %dh,%gs:0x0(%ebx)
40ab3d:	6f                   	outsl  %ds:(%esi),(%dx)
40ab3e:	00 75 00             	add    %dh,0x0(%ebp)
40ab41:	72 00                	jb     0x40ab43
40ab43:	63 00                	arpl   %eax,(%eax)
40ab45:	65 00 73 00          	add    %dh,%gs:0x0(%ebx)
40ab49:	00 00                	add    %al,(%eax)
40ab4b:	00 49 5c             	add    %cl,0x5c(%ecx)
40ab4e:	e5 74                	in     $0x74,%eax
40ab50:	4a                   	dec    %edx
40ab51:	4d                   	dec    %ebp
40ab52:	70 4a                	jo     0x40ab9e
40ab54:	91                   	xchg   %eax,%ecx
40ab55:	cb                   	lret
40ab56:	28 83 32 55 8a fa    	sub    %al,-0x575aace(%ebx)
40ab5c:	00 04 20             	add    %al,(%eax,%eiz,1)
40ab5f:	01 01                	add    %eax,(%ecx)
40ab61:	08 03                	or     %al,(%ebx)
40ab63:	20 00                	and    %al,(%eax)
40ab65:	01 05 20 01 01 11    	add    %eax,0x11010120
40ab6b:	11 04 20             	adc    %eax,(%eax,%eiz,1)
40ab6e:	01 01                	add    %eax,(%ecx)
40ab70:	0e                   	push   %cs
40ab71:	04 20                	add    $0x20,%al
40ab73:	01 01                	add    %eax,(%ecx)
40ab75:	02 07                	add    (%edi),%al
40ab77:	20 02                	and    %al,(%edx)
40ab79:	01 11                	add    %edx,(%ecx)
40ab7b:	35 11 35 05 20       	xor    $0x20053511,%eax
40ab80:	02 01                	add    (%ecx),%al
40ab82:	0e                   	push   %cs
40ab83:	0e                   	push   %cs
40ab84:	05 20 02 01 08       	add    $0x8010220,%eax
40ab89:	1c 06                	sbb    $0x6,%al
40ab8b:	20 01                	and    %al,(%ecx)
40ab8d:	01 11                	add    %edx,(%ecx)
40ab8f:	81 25 0a 07 03 15 12 	andl   $0xe014912,0x1503070a
40ab96:	49 01 0e
40ab99:	0e                   	push   %cs
40ab9a:	12 4d 05             	adc    0x5(%ebp),%cl
40ab9d:	15 12 49 01 0e       	adc    $0xe014912,%eax
40aba2:	04 00                	add    $0x0,%al
40aba4:	01 02                	add    %eax,(%edx)
40aba6:	0e                   	push   %cs
40aba7:	05 20 01 01 13       	add    $0x13010120,%eax
40abac:	00 03                	add    %al,(%ebx)
40abae:	20 00                	and    %al,(%eax)
40abb0:	0e                   	push   %cs
40abb1:	04 07                	add    $0x7,%al
40abb3:	01 11                	add    %edx,(%ecx)
40abb5:	51                   	push   %ecx
40abb6:	04 00                	add    $0x0,%al
40abb8:	00 11                	add    %dl,(%ecx)
40abba:	51                   	push   %ecx
40abbb:	04 20                	add    $0x20,%al
40abbd:	01 0e                	add    %ecx,(%esi)
40abbf:	0e                   	push   %cs
40abc0:	06                   	push   %es
40abc1:	00 02                	add    %al,(%edx)
40abc3:	0e                   	push   %cs
40abc4:	0e                   	push   %cs
40abc5:	1d 1c 06 00 03       	sbb    $0x300061c,%eax
40abca:	0e                   	push   %cs
40abcb:	0e                   	push   %cs
40abcc:	1c 1c                	sbb    $0x1c,%al
40abce:	06                   	push   %es
40abcf:	00 01                	add    %al,(%ecx)
40abd1:	12 81 4d 0e 08 07    	adc    0x7080e4d(%ecx),%al
40abd7:	03 12                	add    (%edx),%edx
40abd9:	55                   	push   %ebp
40abda:	12 59 11             	adc    0x11(%ecx),%bl
40abdd:	51                   	push   %ecx
40abde:	03 20                	add    (%eax),%esp
40abe0:	00 02                	add    %al,(%edx)
40abe2:	03 20                	add    (%eax),%esp
40abe4:	00 0a                	add    %cl,(%edx)
40abe6:	05 00 00 12 81       	add    $0x81120000,%eax
40abeb:	55                   	push   %ebp
40abec:	08 20                	or     %ah,(%eax)
40abee:	03 01                	add    (%ecx),%eax
40abf0:	0e                   	push   %cs
40abf1:	02 12                	add    (%edx),%dl
40abf3:	81 55 09 00 02 12 5d 	adcl   $0x5d120200,0x9(%ebp)
40abfa:	11 81 5d 11 61 05    	adc    %eax,0x561115d(%ecx)
40ac00:	07                   	pop    %es
40ac01:	02 12                	add    (%edx),%dl
40ac03:	5d                   	pop    %ebp
40ac04:	02 05 00 02 0e 0e    	add    0xe0e0200,%al
40ac0a:	0e                   	push   %cs
40ac0b:	05 20 01 12 5d       	add    $0x5d120120,%eax
40ac10:	0e                   	push   %cs
40ac11:	04 20                	add    $0x20,%al
40ac13:	01 1c 0e             	add    %ebx,(%esi,%ecx,1)
40ac16:	06                   	push   %es
40ac17:	20 02                	and    %al,(%edx)
40ac19:	12 5d 0e             	adc    0xe(%ebp),%bl
40ac1c:	02 08                	add    (%eax),%cl
40ac1e:	07                   	pop    %es
40ac1f:	04 12                	add    $0x12,%al
40ac21:	5d                   	pop    %ebp
40ac22:	1c 11                	sbb    $0x11,%al
40ac24:	65 0e                	gs push %cs
40ac26:	05 20 01 11 65       	add    $0x65110120,%eax
40ac2b:	0e                   	push   %cs
40ac2c:	04 20                	add    $0x20,%al
40ac2e:	01 02                	add    %eax,(%edx)
40ac30:	1c 04                	sbb    $0x4,%al
40ac32:	20 01                	and    %al,(%ecx)
40ac34:	08 03                	or     %al,(%ebx)
40ac36:	04 20                	add    $0x20,%al
40ac38:	01 0e                	add    %ecx,(%esi)
40ac3a:	08 08                	or     %cl,(%eax)
40ac3c:	07                   	pop    %es
40ac3d:	04 12                	add    $0x12,%al
40ac3f:	5d                   	pop    %ebp
40ac40:	1c 11                	sbb    $0x11,%al
40ac42:	65 08 04 00          	or     %al,%gs:(%eax,%eax,1)
40ac46:	01 08                	add    %ecx,(%eax)
40ac48:	0e                   	push   %cs
40ac49:	09 07                	or     %eax,(%edi)
40ac4b:	04 12                	add    $0x12,%al
40ac4d:	5d                   	pop    %ebp
40ac4e:	1c 11                	sbb    $0x11,%al
40ac50:	65 1d 05 02 1d 05    	gs sbb $0x51d0205,%eax
40ac56:	07                   	pop    %es
40ac57:	07                   	pop    %es
40ac58:	03 12                	add    (%edx),%edx
40ac5a:	5d                   	pop    %ebp
40ac5b:	02 12                	add    (%edx),%dl
40ac5d:	5d                   	pop    %ebp
40ac5e:	07                   	pop    %es
40ac5f:	20 03                	and    %al,(%ebx)
40ac61:	01 0e                	add    %ecx,(%esi)
40ac63:	1c 11                	sbb    $0x11,%al
40ac65:	65 06                	gs push %es
40ac67:	00 03                	add    %al,(%ebx)
40ac69:	0e                   	push   %cs
40ac6a:	0e                   	push   %cs
40ac6b:	0e                   	push   %cs
40ac6c:	0e                   	push   %cs
40ac6d:	05 20 02 01 0e       	add    $0xe010220,%eax
40ac72:	02 0f                	add    (%edi),%cl
40ac74:	07                   	pop    %es
40ac75:	06                   	push   %es
40ac76:	1c 15                	sbb    $0x15,%al
40ac78:	12 69 02             	adc    0x2(%ecx),%ch
40ac7b:	0e                   	push   %cs
40ac7c:	1c 12                	sbb    $0x12,%al
40ac7e:	5d                   	pop    %ebp
40ac7f:	1d 0e 08 0e 06       	sbb    $0x60e080e,%eax
40ac84:	15 12 69 02 0e       	adc    $0xe026912,%eax
40ac89:	1c 04                	sbb    $0x4,%al
40ac8b:	20 00                	and    %al,(%eax)
40ac8d:	1d 0e 07 20 02       	sbb    $0x220070e,%eax
40ac92:	01 13                	add    %edx,(%ebx)
40ac94:	00 13                	add    %dl,(%ebx)
40ac96:	01 06                	add    %eax,(%esi)
40ac98:	07                   	pop    %es
40ac99:	02 12                	add    (%edx),%dl
40ac9b:	5d                   	pop    %ebp
40ac9c:	1d 0e 03 07 01       	sbb    $0x107030e,%eax
40aca1:	0e                   	push   %cs
40aca2:	07                   	pop    %es
40aca3:	00 04 0e             	add    %al,(%esi,%ecx,1)
40aca6:	0e                   	push   %cs
40aca7:	0e                   	push   %cs
40aca8:	0e                   	push   %cs
40aca9:	0e                   	push   %cs
40acaa:	05 00 01 0e 1d       	add    $0x1d0e0100,%eax
40acaf:	0e                   	push   %cs
40acb0:	05 20 00 12 81       	add    $0x81120020,%eax
40acb5:	71 04                	jno    0x40acbb
40acb7:	00 01                	add    %al,(%ecx)
40acb9:	0e                   	push   %cs
40acba:	1c 04                	sbb    $0x4,%al
40acbc:	20 01                	and    %al,(%ecx)
40acbe:	08 0e                	or     %cl,(%esi)
40acc0:	05 20 02 0e 0e       	add    $0xe0e0220,%eax
40acc5:	0e                   	push   %cs
40acc6:	06                   	push   %es
40acc7:	20 01                	and    %al,(%ecx)
40acc9:	01 12                	add    %edx,(%edx)
40accb:	81 79 05 20 02 01 1c 	cmpl   $0x1c010220,0x5(%ecx)
40acd2:	18 06                	sbb    %al,(%esi)
40acd4:	20 01                	and    %al,(%ecx)
40acd6:	01 12                	add    %edx,(%edx)
40acd8:	81 7d 1a 07 08 15 12 	cmpl   $0x12150807,0x1a(%ebp)
40acdf:	49                   	dec    %ecx
40ace0:	01 11                	add    %edx,(%ecx)
40ace2:	18 11                	sbb    %dl,(%ecx)
40ace4:	18 08                	sbb    %cl,(%eax)
40ace6:	12 80 8d 12 80 95    	adc    -0x6a7fed73(%eax),%al
40acec:	12 80 9d 12 80 a1    	adc    -0x5e7fed63(%eax),%al
40acf2:	12 80 a5 06 15 12    	adc    0x121506a5(%eax),%al
40acf8:	49                   	dec    %ecx
40acf9:	01 11                	add    %edx,(%ecx)
40acfb:	18 05 20 00 12 80    	sbb    %al,0x80120020
40ad01:	91                   	xchg   %eax,%ecx
40ad02:	05 20 00 12 80       	add    $0x80120020,%eax
40ad07:	95                   	xchg   %eax,%ebp
40ad08:	05 20 00 12 81       	add    $0x81120020,%eax
40ad0d:	85 08                	test   %ecx,(%eax)
40ad0f:	15 12 69 02 0e       	adc    $0xe026912,%eax
40ad14:	11 80 89 05 20 00    	adc    %eax,0x200589(%eax)
40ad1a:	12 80 99 05 20 00    	adc    0x200599(%eax),%al
40ad20:	12 80 9d 05 20 00    	adc    0x20059d(%eax),%al
40ad26:	12 80 a1 03 20 00    	adc    0x2003a1(%eax),%al
40ad2c:	1c 05                	sbb    $0x5,%al
40ad2e:	20 00                	and    %al,(%eax)
40ad30:	11 80 89 15 07 08    	adc    %eax,0x8071589(%eax)
40ad36:	1d 05 12 80 8d       	sbb    $0x8d801205,%eax
40ad3b:	12 80 95 12 80 9d    	adc    -0x627fed6b(%eax),%al
40ad41:	12 80 a1 0e 12 80    	adc    -0x7fedf15f(%eax),%al
40ad47:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40ad48:	02 02                	add    (%edx),%al
40ad4a:	06                   	push   %es
40ad4b:	18 05 00 02 02 0e    	sbb    %al,0xe020200
40ad51:	0e                   	push   %cs
40ad52:	04 00                	add    $0x0,%al
40ad54:	01 05 1c 04 00 01    	add    %eax,0x100041c
40ad5a:	09 1c 04             	or     %ebx,(%esp,%eax,1)
40ad5d:	00 01                	add    %al,(%ecx)
40ad5f:	18 08                	sbb    %cl,(%eax)
40ad61:	08 00                	or     %al,(%eax)
40ad63:	04 01                	add    $0x1,%al
40ad65:	1d 05 08 18 08       	sbb    $0x8180805,%eax
40ad6a:	13 07                	adc    (%edi),%eax
40ad6c:	06                   	push   %es
40ad6d:	1d 05 12 80 8d       	sbb    $0x8d801205,%eax
40ad72:	12 80 95 12 80 9d    	adc    -0x627fed6b(%eax),%al
40ad78:	12 80 a1 12 80 a5    	adc    -0x5a7fed5f(%eax),%al
40ad7e:	0d 07 05 12 80       	or     $0x80120507,%eax
40ad83:	8d 12                	lea    (%edx),%edx
40ad85:	80 a9 1d 1c 1d 1c 0e 	subb   $0xe,0x1c1d1c1d(%ecx)
40ad8c:	0d 10 01 01 15       	or     $0x15010110,%eax
40ad91:	12 81 95 01 1e 00    	adc    0x1e0195(%ecx),%al
40ad97:	12 81 99 05 0a 01    	adc    0x10a0599(%ecx),%al
40ad9d:	12 80 a9 0c 10 01    	adc    0x1100ca9(%eax),%al
40ada3:	01 1e                	add    %ebx,(%esi)
40ada5:	00 15 12 81 95 01    	add    %dl,0x1958112
40adab:	1e                   	push   %ds
40adac:	00 06                	add    %al,(%esi)
40adae:	20 02                	and    %al,(%edx)
40adb0:	1c 0e                	sbb    $0xe,%al
40adb2:	1d 1c 04 00 01       	sbb    $0x100041c,%eax
40adb7:	08 1c 11             	or     %bl,(%ecx,%edx,1)
40adba:	10 01                	adc    %al,(%ecx)
40adbc:	01 15 12 81 95 01    	add    %edx,0x1958112
40adc2:	1e                   	push   %ds
40adc3:	00 15 12 81 95 01    	add    %dl,0x1958112
40adc9:	1e                   	push   %ds
40adca:	00 03                	add    %al,(%ebx)
40adcc:	0a 01                	or     (%ecx),%al
40adce:	1c 0d                	sbb    $0xd,%al
40add0:	10 01                	adc    %al,(%ecx)
40add2:	01 1d 1e 00 15 12    	add    %ebx,0x1215001e
40add8:	81 95 01 1e 00 04 00 	adcl   $0xe010100,0x4001e01(%ebp)
40addf:	01 01 0e
40ade2:	05 00 02 01 0e       	add    $0xe010200,%eax
40ade7:	0e                   	push   %cs
40ade8:	05 07 02 02 12       	add    $0x12020207,%eax
40aded:	24 04                	and    $0x4,%al
40adef:	00 01                	add    %al,(%ecx)
40adf1:	0e                   	push   %cs
40adf2:	0e                   	push   %cs
40adf3:	06                   	push   %es
40adf4:	30 01                	xor    %al,(%ecx)
40adf6:	01 1e                	add    %ebx,(%esi)
40adf8:	00 0e                	add    %cl,(%esi)
40adfa:	04 0a                	add    $0xa,%al
40adfc:	01 12                	add    %edx,(%edx)
40adfe:	24 04                	and    $0x4,%al
40ae00:	20 01                	and    %al,(%ecx)
40ae02:	0e                   	push   %cs
40ae03:	1c 06                	sbb    $0x6,%al
40ae05:	00 01                	add    %al,(%ecx)
40ae07:	0e                   	push   %cs
40ae08:	11 81 a5 05 00 00    	adc    %eax,0x5a5(%ecx)
40ae0e:	12 81 ad 05 20 00    	adc    0x2005ad(%ecx),%al
40ae14:	12 81 b1 05 20 02    	adc    0x22005b1(%ecx),%al
40ae1a:	01 02                	add    %eax,(%edx)
40ae1c:	0e                   	push   %cs
40ae1d:	05 20 02 02 08       	add    $0x8020220,%eax
40ae22:	02 04 00             	add    (%eax,%eax,1),%al
40ae25:	01 01                	add    %eax,(%ecx)
40ae27:	08 06                	or     %al,(%esi)
40ae29:	20 01                	and    %al,(%ecx)
40ae2b:	01 12                	add    %edx,(%edx)
40ae2d:	81 bd 06 20 01 01 12 	cmpl   $0x6c18112,0x1012006(%ebp)
40ae34:	81 c1 06
40ae37:	20 01                	and    %al,(%ecx)
40ae39:	01 12                	add    %edx,(%edx)
40ae3b:	81 c5 03 20 00 08    	add    $0x8002003,%ebp
40ae41:	05 00 00 12 81       	add    $0x81120000,%eax
40ae46:	c9                   	leave
40ae47:	19 07                	sbb    %eax,(%edi)
40ae49:	06                   	push   %es
40ae4a:	15 12 49 01 12       	adc    $0x12014912,%eax
40ae4f:	81 05 12 81 05 15 12 	addl   $0x1098112,0x15058112
40ae56:	81 09 01
40ae59:	12 81 05 12 81 05    	adc    0x5811205(%ecx),%al
40ae5f:	08 08                	or     %cl,(%eax)