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
40b09e:	89 08                	mov    %ecx,(%eax)
40b0a0:	31 bf 38 56 ad 36    	xor    %edi,0x36ad5638(%edi)
40b0a6:	4e                   	dec    %esi
40b0a7:	35 08 b0 3f 5f       	xor    $0x5f3fb008,%eax
40b0ac:	7f 11                	jg     0x40b0bf
40b0ae:	d5 0a                	aad    $0xa
40b0b0:	3a 04 09             	cmp    (%ecx,%ecx,1),%al
40b0b3:	00 00                	add    %al,(%eax)
40b0b5:	00 04 0b             	add    %al,(%ebx,%ecx,1)
40b0b8:	00 00                	add    %al,(%eax)
40b0ba:	00 01                	add    %al,(%ecx)
40b0bc:	00 01                	add    %al,(%ecx)
40b0be:	01 01                	add    %eax,(%ecx)
40b0c0:	02 01                	add    (%ecx),%al
40b0c2:	03 01                	add    (%ecx),%eax
40b0c4:	04 01                	add    $0x1,%al
40b0c6:	05 02 06 0e 02       	add    $0x20e0602,%eax
40b0cb:	06                   	push   %es
40b0cc:	08 03                	or     %al,(%ebx)
40b0ce:	06                   	push   %es
40b0cf:	12 5d 03             	adc    0x3(%ebp),%bl
40b0d2:	06                   	push   %es
40b0d3:	12 6d 07             	adc    0x7(%ebp),%ch
40b0d6:	06                   	push   %es
40b0d7:	15 12 69 02 0e       	adc    $0xe026912,%eax
40b0dc:	1c 09                	sbb    $0x9,%al
40b0de:	06                   	push   %es
40b0df:	15 12 69 02 0e       	adc    $0xe026912,%eax
40b0e4:	11 80 89 02 06 05    	adc    %eax,0x5060289(%eax)
40b0ea:	02 06                	add    (%esi),%al
40b0ec:	09 04 06             	or     %eax,(%esi,%eax,1)
40b0ef:	12 80 b5 02 06 02    	adc    0x20602b5(%eax),%al
40b0f5:	02 06                	add    (%esi),%al
40b0f7:	1c 04                	sbb    $0x4,%al
40b0f9:	06                   	push   %es
40b0fa:	12 80 d9 03 06 1d    	adc    0x1d0603d9(%eax),%al
40b100:	0e                   	push   %cs
40b101:	04 06                	add    $0x6,%al
40b103:	12 80 dd 04 06 12    	adc    0x120604dd(%eax),%al
40b109:	80 e1 04             	and    $0x4,%cl
40b10c:	06                   	push   %es
40b10d:	12 80 e5 04 06 12    	adc    0x120604e5(%eax),%al
40b113:	80 e9 04             	sub    $0x4,%cl
40b116:	06                   	push   %es
40b117:	12 80 ed 04 06 12    	adc    0x120604ed(%eax),%al
40b11d:	80 f1 04             	xor    $0x4,%cl
40b120:	06                   	push   %es
40b121:	12 80 f5 04 06 12    	adc    0x120604f5(%eax),%al
40b127:	80 f9 04             	cmp    $0x4,%cl
40b12a:	06                   	push   %es
40b12b:	12 81 31 04 06 12    	adc    0x12060431(%ecx),%al
40b131:	81 35 03 06 12 38 03 	xorl   $0x40110603,0x38120603
40b138:	06 11 40
40b13b:	03 06                	add    (%esi),%eax
40b13d:	11 44 03 06          	adc    %eax,0x6(%ebx,%eax,1)
40b141:	11 48 08             	adc    %ecx,0x8(%eax)
40b144:	00 01                	add    %al,(%ecx)
40b146:	15 12 49 01 0e       	adc    $0xe014912,%eax
40b14b:	0e                   	push   %cs
40b14c:	06                   	push   %es
40b14d:	00 03                	add    %al,(%ebx)
40b14f:	01 0e                	add    %ecx,(%esi)
40b151:	0e                   	push   %cs
40b152:	0e                   	push   %cs
40b153:	03 00                	add    (%eax),%eax
40b155:	00 01                	add    %al,(%ecx)
40b157:	05 00 01 01 11       	add    $0x11010100,%eax
40b15c:	61                   	popa
40b15d:	05 00 02 08 0e       	add    $0xe080200,%eax
40b162:	0e                   	push   %cs
40b163:	06                   	push   %es
40b164:	00 02                	add    %al,(%edx)
40b166:	1d 05 0e 0e 08       	sbb    $0x80e0e05,%eax
40b16b:	00 04 02             	add    %al,(%edx,%eax,1)
40b16e:	0e                   	push   %cs
40b16f:	0e                   	push   %cs
40b170:	1c 11                	sbb    $0x11,%al
40b172:	65 09 00             	or     %eax,%gs:(%eax)
40b175:	01 15 12 69 02 0e    	add    %edx,0xe026912
40b17b:	1c 0e                	sbb    $0xe,%al
40b17d:	05 00 01 1d 0e       	add    $0xe1d0100,%eax
40b182:	0e                   	push   %cs
40b183:	06                   	push   %es
40b184:	00 02                	add    %al,(%edx)
40b186:	02 12                	add    (%edx),%dl
40b188:	5d                   	pop    %ebp
40b189:	0e                   	push   %cs
40b18a:	07                   	pop    %es
40b18b:	00 03                	add    %al,(%ebx)
40b18d:	0e                   	push   %cs
40b18e:	12 5d 0e             	adc    0xe(%ebp),%bl
40b191:	0e                   	push   %cs
40b192:	07                   	pop    %es
40b193:	00 03                	add    %al,(%ebx)
40b195:	08 12                	or     %dl,(%edx)
40b197:	5d                   	pop    %ebp
40b198:	0e                   	push   %cs
40b199:	0e                   	push   %cs
40b19a:	05 00 01 01 12       	add    $0x12010100,%eax
40b19f:	3c 08                	cmp    $0x8,%al
40b1a1:	20 00                	and    %al,(%eax)
40b1a3:	15 12 69 02 0e       	adc    $0xe026912,%eax
40b1a8:	1c 09                	sbb    $0x9,%al
40b1aa:	20 01                	and    %al,(%ecx)
40b1ac:	01 15 12 69 02 0e    	add    %edx,0xe026912
40b1b2:	1c 0a                	sbb    $0xa,%al
40b1b4:	20 00                	and    %al,(%eax)
40b1b6:	15 12 69 02 0e       	adc    $0xe026912,%eax
40b1bb:	11 80 89 0b 20 01    	adc    %eax,0x1200b89(%eax)
40b1c1:	01 15 12 69 02 0e    	add    %edx,0xe026912
40b1c7:	11 80 89 03 20 00    	adc    %eax,0x200389(%eax)
40b1cd:	05 04 20 01 01       	add    $0x1012004,%eax
40b1d2:	05 04 20 01 01       	add    $0x1012004,%eax
40b1d7:	18 03                	sbb    %al,(%ebx)
40b1d9:	20 00                	and    %al,(%eax)
40b1db:	09 04 20             	or     %eax,(%eax,%eiz,1)
40b1de:	01 01                	add    %eax,(%ecx)
40b1e0:	09 09                	or     %ecx,(%ecx)
40b1e2:	00 01                	add    %al,(%ecx)
40b1e4:	15 12 49 01 11       	adc    $0x11014912,%eax
40b1e9:	18 0e                	sbb    %cl,(%esi)
40b1eb:	0a 00                	or     (%eax),%al
40b1ed:	02 15 12 49 01 11    	add    0x11014912,%dl
40b1f3:	18 0e                	sbb    %cl,(%esi)
40b1f5:	0e                   	push   %cs
40b1f6:	06                   	push   %es
40b1f7:	00 01                	add    %al,(%ecx)
40b1f9:	02 10                	add    (%eax),%dl
40b1fb:	11 1c 04             	adc    %ebx,(%esp,%eax,1)
40b1fe:	00 00                	add    %al,(%eax)
40b200:	1d 05 05 00 01       	sbb    $0x1000505,%eax
40b205:	12 24 0e             	adc    (%esi,%ecx,1),%ah
40b208:	05 00 01 0e 12       	add    $0x120e0100,%eax
40b20d:	24 03                	and    $0x3,%al
40b20f:	00 00                	add    %al,(%eax)
40b211:	0e                   	push   %cs
40b212:	07                   	pop    %es
40b213:	20 02                	and    %al,(%edx)
40b215:	01 1c 12             	add    %ebx,(%edx,%edx,1)
40b218:	80 b9 07 20 02 01 1c 	cmpb   $0x1c,0x1022007(%ecx)
40b21f:	12 80 bd 07 20 02    	adc    0x22007bd(%eax),%al
40b225:	01 1c 12             	add    %ebx,(%edx,%edx,1)
40b228:	80 c1 03             	add    $0x3,%cl
40b22b:	00 00                	add    %al,(%eax)
40b22d:	08 0a                	or     %cl,(%edx)
40b22f:	00 07                	add    %al,(%edi)
40b231:	08 18                	or     %bl,(%eax)
40b233:	18 08                	sbb    %cl,(%eax)
40b235:	08 08                	or     %cl,(%eax)
40b237:	08 08                	or     %cl,(%eax)
40b239:	04 00                	add    $0x0,%al
40b23b:	01 08                	add    %ecx,(%eax)
40b23d:	18 08                	sbb    %cl,(%eax)
40b23f:	00 02                	add    %al,(%edx)
40b241:	08 18                	or     %bl,(%eax)
40b243:	10 11                	adc    %dl,(%ecx)
40b245:	80 fd 07             	cmp    $0x7,%ch
40b248:	20 02                	and    %al,(%edx)
40b24a:	01 1c 12             	add    %ebx,(%edx,%edx,1)
40b24d:	81 01 07 20 04 0e    	addl   $0xe042007,(%ecx)
40b253:	08 08                	or     %cl,(%eax)
40b255:	08 08                	or     %cl,(%eax)
40b257:	09 20                	or     %esp,(%eax)
40b259:	02 01                	add    (%ecx),%al
40b25b:	12 80 f5 12 80 f9    	adc    -0x67fed0b(%eax),%al
40b261:	05 20 02 01 02       	add    $0x2010220,%eax
40b266:	08 07                	or     %al,(%edi)
40b268:	20 02                	and    %al,(%edx)
40b26a:	01 10                	add    %edx,(%eax)
40b26c:	02 10                	add    (%eax),%dl
40b26e:	08 07                	or     %al,(%edi)
40b270:	20 02                	and    %al,(%edx)
40b272:	01 1c 12             	add    %ebx,(%edx,%edx,1)
40b275:	81 11 06 20 02 01    	adcl   $0x1022006,(%ecx)
40b27b:	1c 12                	sbb    $0x12,%al