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)
40ae61:	07                   	pop    %es
40ae62:	15 12 49 01 12       	adc    $0x12014912,%eax
40ae67:	81 05 05 00 00 12 80 	addl   $0x2005b180,0x12000005
40ae6e:	b1 05 20
40ae71:	00 12                	add    %dl,(%edx)
40ae73:	81 05 0a 20 00 15 12 	addl   $0x1cd8112,0x1500200a
40ae7a:	81 cd 01
40ae7d:	12 81 05 08 15 12    	adc    0x12150805(%ecx),%al
40ae83:	81 cd 01 12 81 05    	or     $0x5811201,%ebp
40ae89:	09 20                	or     %esp,(%eax)
40ae8b:	00 15 12 81 09 01    	add    %dl,0x1098112
40ae91:	13 00                	adc    (%eax),%eax
40ae93:	08 15 12 81 09 01    	or     %dl,0x1098112
40ae99:	12 81 05 04 20 00    	adc    0x200405(%ecx),%al
40ae9f:	13 00                	adc    (%eax),%eax
40aea1:	05 20 00 12 81       	add    $0x81120020,%eax
40aea6:	21 04 20             	and    %eax,(%eax,%eiz,1)
40aea9:	01 02                	add    %eax,(%edx)
40aeab:	0e                   	push   %cs
40aeac:	05 20 01 13 00       	add    $0x130120,%eax
40aeb1:	08 05 20 01 02 13    	or     %al,0x13020120
40aeb7:	00 05 00 00 12 81    	add    %al,0x81120000
40aebd:	35 05 00 02 0e       	xor    $0xe020005,%eax
40aec2:	0e                   	push   %cs
40aec3:	1c 07                	sbb    $0x7,%al
40aec5:	20 02                	and    %al,(%edx)
40aec7:	01 0e                	add    %ecx,(%esi)
40aec9:	11 81 d5 06 20 01    	adc    %eax,0x12006d5(%ecx)
40aecf:	01 12                	add    %edx,(%edx)
40aed1:	81 21 11 07 07 0e    	andl   $0xe070711,(%ecx)
40aed7:	0e                   	push   %cs
40aed8:	15 12 49 01 11       	adc    $0x11014912,%eax
40aedd:	18 1c 11             	sbb    %bl,(%ecx,%edx,1)
40aee0:	18 0e                	sbb    %cl,(%esi)
40aee2:	12 80 ad 07 20 02    	adc    0x22007ad(%eax),%al
40aee8:	02 0e                	add    (%esi),%cl
40aeea:	11 81 d9 07 20 02    	adc    %eax,0x22007d9(%ecx)
40aef0:	08 0e                	or     %cl,(%esi)
40aef2:	11 81 d9 08 20 02    	adc    %eax,0x22008d9(%ecx)
40aef8:	02 13                	add    (%ebx),%dl
40aefa:	00 10                	add    %dl,(%eax)
40aefc:	13 01                	adc    (%ecx),%eax
40aefe:	06                   	push   %es
40aeff:	20 01                	and    %al,(%ecx)
40af01:	01 12                	add    %edx,(%edx)
40af03:	81 dd 0b 07 09 0e    	sbb    $0xe09070b,%ebp
40af09:	08 02                	or     %al,(%edx)
40af0b:	08 0e                	or     %cl,(%esi)
40af0d:	08 0e                	or     %cl,(%esi)
40af0f:	08 08                	or     %cl,(%eax)
40af11:	06                   	push   %es
40af12:	20 01                	and    %al,(%ecx)
40af14:	1d 0e 1d 03 04       	sbb    $0x4031d0e,%eax
40af19:	00 01                	add    %al,(%ecx)
40af1b:	05 0e 04 20 01       	add    $0x120040e,%eax
40af20:	1c 1c                	sbb    $0x1c,%al
40af22:	13 00                	adc    (%eax),%eax
40af24:	06                   	push   %es
40af25:	11 81 ed 0e 0e 11    	adc    %eax,0x110e0eed(%ecx)
40af2b:	81 f1 11 81 f5 11    	xor    $0x11f58111,%ecx
40af31:	81 ed 11 81 f9 06    	sub    $0x6f98111,%ebp
40af37:	00 01                	add    %al,(%ecx)
40af39:	12 81 fd 0e 03 20    	adc    0x20030efd(%ecx),%al
40af3f:	00 18                	add    %bl,(%eax)
40af41:	19 07                	sbb    %eax,(%edi)
40af43:	07                   	pop    %es
40af44:	0e                   	push   %cs
40af45:	08 0e                	or     %cl,(%esi)
40af47:	15 12 69 02 0e       	adc    $0xe026912,%eax
40af4c:	02 15 12 81 09 01    	add    0x1098112,%dl
40af52:	12 80 e9 12 80 e9    	adc    -0x167fed17(%eax),%al
40af58:	12 80 e9 06 15 11    	adc    0x111506e9(%eax),%al
40af5e:	81 19 01 02 09 20    	sbbl   $0x20090201,(%ecx)
40af64:	01 01                	add    %eax,(%ecx)
40af66:	15 11 81 19 01       	adc    $0x1198111,%eax
40af6b:	02 04 20             	add    (%eax,%eiz,1),%al
40af6e:	01 01                	add    %eax,(%ecx)
40af70:	1c 08                	sbb    $0x8,%al
40af72:	0a 01                	or     (%ecx),%al
40af74:	15 12 69 02 0e       	adc    $0xe026912,%eax
40af79:	02 05 20 00 12 82    	add    0x82120020,%al
40af7f:	09 05 0a 01 12 80    	or     %eax,0x8012010a
40af85:	e9 08 15 12 81       	jmp    0x8152c492
40af8a:	95                   	xchg   %eax,%ebp
40af8b:	01 12                	add    %edx,(%edx)
40af8d:	80 e9 08             	sub    $0x8,%cl
40af90:	15 12 81 09 01       	adc    $0x1098112,%eax
40af95:	12 80 e9 06 15 12    	adc    0x121506e9(%eax),%al
40af9b:	69 02 0e 02 06 20    	imul   $0x2006020e,(%edx),%eax
40afa1:	01 13                	add    %edx,(%ebx)
40afa3:	01 13                	add    %edx,(%ebx)
40afa5:	00 05 07 02 0e 1d    	add    %al,0x1d0e0207
40afab:	0e                   	push   %cs
40afac:	06                   	push   %es
40afad:	20 01                	and    %al,(%ecx)
40afaf:	01 12                	add    %edx,(%edx)
40afb1:	82 11 05             	adcb   $0x5,(%ecx)
40afb4:	07                   	pop    %es
40afb5:	01 12                	add    %edx,(%edx)
40afb7:	81 0d 06 00 01 12 81 	orl    $0x50e0d81,0x12010006
40afbe:	0d 0e 05
40afc1:	00 00                	add    %al,(%eax)
40afc3:	11 82 15 05 00 00    	adc    %eax,0x515(%edx)
40afc9:	12 82 19 0c 00 03    	adc    0x3000c19(%edx),%al
40afcf:	12 82 21 18 11 82    	adc    -0x7deee7df(%edx),%al
40afd5:	15 12 82 19 04       	adc    $0x4198212,%eax
40afda:	07                   	pop    %es
40afdb:	02 0e                	add    (%esi),%cl
40afdd:	08 07                	or     %al,(%edi)
40afdf:	07                   	pop    %es
40afe0:	04 1d                	add    $0x1d,%al
40afe2:	0e                   	push   %cs
40afe3:	08 08                	or     %cl,(%eax)
40afe5:	0e                   	push   %cs
40afe6:	06                   	push   %es
40afe7:	00 02                	add    %al,(%edx)
40afe9:	02 0e                	add    (%esi),%cl
40afeb:	10 08                	adc    %cl,(%eax)
40afed:	0c 07                	or     $0x7,%al
40afef:	03 12                	add    (%edx),%edx
40aff1:	81 15 15 11 81 19 01 	adcl   $0x8020201,0x19811115
40aff8:	02 02 08
40affb:	20 00                	and    %al,(%eax)
40affd:	15 11 81 19 01       	adc    $0x1198111,%eax
40b002:	02 23                	add    (%ebx),%ah
40b004:	07                   	pop    %es
40b005:	0a 0e                	or     (%esi),%cl
40b007:	0e                   	push   %cs
40b008:	12 81 1d 15 12 69    	adc    0x6912151d(%ecx),%al
40b00e:	02 0e                	add    (%esi),%cl
40b010:	02 0e                	add    (%esi),%cl
40b012:	15 11 81 19 01       	adc    $0x1198111,%eax
40b017:	02 02                	add    (%edx),%al
40b019:	15 12 81 09 01       	adc    $0x1098112,%eax
40b01e:	12 80 e9 12 80 e9    	adc    -0x167fed17(%eax),%al
40b024:	12 80 e9 05 20 01    	adc    0x12005e9(%eax),%al
40b02a:	0e                   	push   %cs
40b02b:	1d 03 04 07 02       	sbb    $0x2070403,%eax
40b030:	1c 02                	sbb    $0x2,%al
40b032:	07                   	pop    %es
40b033:	00 03                	add    %al,(%ebx)
40b035:	08 10                	or     %dl,(%eax)
40b037:	08 08                	or     %cl,(%eax)
40b039:	08 06                	or     %al,(%esi)
40b03b:	00 02                	add    %al,(%edx)
40b03d:	01 1c 10             	add    %ebx,(%eax,%edx,1)
40b040:	02 05 20 00 12 82    	add    0x82120020,%al
40b046:	39 06                	cmp    %eax,(%esi)
40b048:	20 01                	and    %al,(%ecx)
40b04a:	01 12                	add    %edx,(%edx)
40b04c:	82 3d 04 00 01 01 1c 	cmpb   $0x1c,0x1010004
40b053:	06                   	push   %es
40b054:	00 02                	add    %al,(%edx)
40b056:	08 10                	or     %dl,(%eax)
40b058:	08 08                	or     %cl,(%eax)
40b05a:	05 07 01 12 81       	add    $0x81120107,%eax
40b05f:	21 07                	and    %eax,(%edi)
40b061:	00 02                	add    %al,(%edx)
40b063:	01 1c 12             	add    %ebx,(%edx,%edx,1)
40b066:	81 21 06 20 01 01    	andl   $0x1012006,(%ecx)
40b06c:	12 82 41 06 20 01    	adc    0x1200641(%edx),%al
40b072:	01 12                	add    %edx,(%edx)
40b074:	82 45 08 00          	addb   $0x0,0x8(%ebp)
40b078:	01 12                	add    %edx,(%edx)
40b07a:	82 4d 11 82          	orb    $0x82,0x11(%ebp)
40b07e:	51                   	push   %ecx
40b07f:	05 20 00 12 82       	add    $0x82120020,%eax
40b084:	55                   	push   %ebp
40b085:	07                   	pop    %es
40b086:	20 02                	and    %al,(%edx)
40b088:	01 0e                	add    %ecx,(%esi)
40b08a:	12 82 55 08 00 01    	adc    0x1000855(%edx),%al
40b090:	12 82 59 12 82 59    	adc    0x59821259(%edx),%al
40b096:	08 b7 7a 5c 56 19    	or     %dh,0x19565c7a(%edi)
40b09c:	34 e0                	xor    $0xe0,%al