40ee8c:	0e                   	push   %cs
40ee8d:	03 06                	add    (%esi),%eax
40ee8f:	1d 05 04 06 12       	sbb    $0x12060405,%eax
40ee94:	81 d5 03 06 11 3c    	adc    $0x3c110603,%ebp
40ee9a:	04 06                	add    $0x6,%al
40ee9c:	12 80 b1 04 16 12    	adc    0x121604b1(%eax),%al
40eea2:	80 b5 03 06 12 60 04 	xorb   $0x4,0x60120603(%ebp)
40eea9:	06                   	push   %es
40eeaa:	11 90 80 03 06 11    	adc    %edx,0x11060380(%eax)
40eeb0:	78 03                	js     0x40eeb5
40eeb2:	06                   	push   %es
40eeb3:	11 7c 03 16          	adc    %edi,0x16(%ebx,%eax,1)
40eeb7:	12 68 08             	adc    0x8(%eax),%ch
40eeba:	06                   	push   %es
40eebb:	15 12 80 8d 02       	adc    $0x28d8012,%eax
40eec0:	03 12                	add    (%edx),%edx
40eec2:	08 06                	or     %al,(%esi)
40eec4:	15 12 80 8d 02       	adc    $0x28d8012,%eax
40eec9:	05 02 02 16 18       	add    $0x18160202,%eax
40eece:	02 06                	add    (%esi),%al
40eed0:	09 02                	or     %eax,(%edx)
40eed2:	06                   	push   %es
40eed3:	06                   	push   %es
40eed4:	03 06                	add    (%esi),%eax
40eed6:	11 80 03 06 11 6c    	adc    %eax,0x6c110603(%eax)
40eedc:	04 06                	add    $0x6,%al
40eede:	12 81 91 04 16 11    	adc    0x11160491(%ecx),%al
40eee4:	80 88 01 02 04 20 01 	orb    $0x1,0x20040201(%eax)
40eeeb:	01 08                	add    %ecx,(%eax)
40eeed:	15 20 01 01 11       	adc    $0x11010120,%eax
40eef2:	11 04 20             	adc    %eax,(%eax,%eiz,1)
40eef5:	01 01                	add    %eax,(%ecx)
40eef7:	0e                   	push   %cs
40eef8:	14 20                	adc    $0x20,%al
40eefa:	01 01                	add    %eax,(%ecx)
40eefc:	02 03                	add    (%ebx),%al
40eefe:	20 00                	and    %al,(%eax)
40ef00:	0e                   	push   %cs
40ef01:	05 20 10 12 80       	add    $0x80121020,%eax
40ef06:	91                   	xchg   %eax,%ecx
40ef07:	04 00                	add    $0x0,%al
40ef09:	01 01                	add    %eax,(%ecx)
40ef0b:	0e                   	push   %cs
40ef0c:	04 00                	add    $0x0,%al
40ef0e:	11 01                	adc    %eax,(%ecx)
40ef10:	08 06                	or     %al,(%esi)
40ef12:	20 02                	and    %al,(%edx)
40ef14:	12 4d 0e             	adc    0xe(%ebp),%cl
40ef17:	1c 05                	sbb    $0x5,%al
40ef19:	30 01                	xor    %al,(%ecx)
40ef1b:	12 4d 03             	adc    0x3(%ebp),%cl
40ef1e:	06                   	push   %es
40ef1f:	20 01                	and    %al,(%ecx)
40ef21:	1d 05 1d 15 04       	sbb    $0x4151d05,%eax
40ef26:	20 00                	and    %al,(%eax)
40ef28:	1d 05 05 20 01       	sbb    $0x1200505,%eax
40ef2d:	01 1d 15 0d 20 04    	add    %ebx,0x4200d15
40ef33:	01 0e                	add    %ecx,(%esi)
40ef35:	11 80 d9 11 80 ed    	adc    %eax,-0x127fee27(%eax)
40ef3b:	11 80 e1 06 20 00    	adc    %eax,0x2006e1(%eax)
40ef41:	1d 12 80 91 14       	sbb    $0x14918012,%eax
40ef46:	00 00                	add    %al,(%eax)
40ef48:	12 69 07             	adc    0x7(%ecx),%ch
40ef4b:	00 02                	add    %al,(%edx)
40ef4d:	02 12                	add    (%edx),%dl
40ef4f:	6d                   	insl   (%dx),%es:(%edi)
40ef50:	22 6d 05             	and    0x5(%ebp),%ch
40ef53:	00 01                	add    %al,(%ecx)
40ef55:	12 71 08             	adc    0x8(%ecx),%dh
40ef58:	0c 20                	or     $0x20,%al
40ef5a:	03 11                	add    (%ecx),%edx
40ef5c:	12 80 d1 12 81 39    	adc    0x398112d1(%eax),%al
40ef62:	11 81 3d 08 10 01    	adc    %eax,0x110083d(%ecx)
40ef68:	12 80 91 11 80 f5    	adc    -0xa7fee6f(%eax),%al
40ef6e:	09 20                	or     %esp,(%eax)
40ef70:	02 22                	add    (%edx),%ah
40ef72:	6d                   	insl   (%dx),%es:(%edi)
40ef73:	0e                   	push   %cs
40ef74:	1d 12 80 91 05       	sbb    $0x5918012,%eax
40ef79:	20 00                	and    %al,(%eax)
40ef7b:	1d 22 6d 04 20       	sbb    $0x20046d22,%eax
40ef80:	00 12                	add    %dl,(%edx)
40ef82:	69 05 20 02 02 18 02 	imul   $0x1200602,0x18020220,%eax
40ef89:	06 20 01
40ef8c:	01 12                	add    %edx,(%edx)
40ef8e:	81 7d 06 20 12 01 0e 	cmpl   $0xe011220,0x6(%ebp)
40ef95:	12 69 05             	adc    0x5(%ecx),%ch
40ef98:	00 02                	add    %al,(%edx)
40ef9a:	0e                   	push   %cs
40ef9b:	0e                   	push   %cs
40ef9c:	1c 14                	sbb    $0x14,%al
40ef9e:	20 01                	and    %al,(%ecx)
40efa0:	02 0e                	add    (%esi),%cl
40efa2:	06                   	push   %es
40efa3:	00 03                	add    %al,(%ebx)
40efa5:	0e                   	push   %cs
40efa6:	0e                   	push   %cs
40efa7:	0e                   	push   %cs
40efa8:	1e                   	push   %ds
40efa9:	07                   	pop    %es
40efaa:	20 02                	and    %al,(%edx)
40efac:	02 0e                	add    (%esi),%cl
40efae:	11 81 01 05 20 11    	adc    %eax,0x11200501(%ecx)
40efb4:	0e                   	push   %cs
40efb5:	1d 03 05 00 01       	sbb    $0x1000503,%eax
40efba:	0e                   	push   %cs
40efbb:	1d 0e 04 30 01       	sbb    $0x130040e,%eax
40efc0:	03 08                	add    (%eax),%ecx
40efc2:	04 20                	add    $0x20,%al
40efc4:	01 08                	add    %ecx,(%eax)
40efc6:	03 06                	add    (%esi),%eax
40efc8:	00 13                	add    %dl,(%ebx)
40efca:	0e                   	push   %cs
40efcb:	0e                   	push   %cs
40efcc:	1c 1c                	sbb    $0x1c,%al
40efce:	03 20                	add    (%eax),%esp
40efd0:	00 08                	add    %cl,(%eax)
40efd2:	05 20 12 0e 0e       	add    $0xe0e1220,%eax
40efd7:	0e                   	push   %cs
40efd8:	08 00                	or     %al,(%eax)
40efda:	03 02                	add    (%edx),%eax
40efdc:	0e                   	push   %cs
40efdd:	0e                   	push   %cs
40efde:	11 91 01 05 00 02    	adc    %edx,0x2000501(%ecx)
40efe4:	02 0e                	add    (%esi),%cl
40efe6:	0e                   	push   %cs
40efe7:	07                   	pop    %es
40efe8:	20 03                	and    %al,(%ebx)
40efea:	11 1d 05 08 08 07    	adc    %ebx,0x7080805
40eff0:	20 03                	and    %al,(%ebx)
40eff2:	08 1d 05 18 08 03    	or     %bl,0x3081805
40eff8:	20 00                	and    %al,(%eax)
40effa:	0a 06                	or     (%esi),%al
40effc:	20 01                	and    %al,(%ecx)
40effe:	01 12                	add    %edx,(%edx)
40f000:	90                   	nop
40f001:	d1 0c 00             	rorl   $1,(%eax,%eax,1)
40f004:	05 01 12 80 f1       	add    $0xf1801201,%eax
40f009:	08 12                	or     %dl,(%edx)
40f00b:	90                   	nop
40f00c:	f1                   	int1
40f00d:	08 08                	or     %cl,(%eax)
40f00f:	06                   	push   %es
40f010:	20 02                	and    %al,(%edx)
40f012:	1c 1c                	sbb    $0x1c,%al
40f014:	1d 1c 16 00 03       	sbb    $0x300161c,%eax
40f019:	1c 0e                	sbb    $0xe,%al
40f01b:	0e                   	push   %cs
40f01c:	1c 05                	sbb    $0x5,%al
40f01e:	00 00                	add    %al,(%eax)
40f020:	12 91 15 06 20 01    	adc    0x1200615(%ecx),%dl
40f026:	12 69 1d             	adc    0x1d(%ecx),%ch
40f029:	05 0b 20 12 12       	add    $0x1212200b,%eax
40f02e:	81 45 12 81 41 11 81 	addl   $0x81114181,0x12(%ebp)
40f035:	49                   	dec    %ecx
40f036:	09 10                	or     %edx,(%eax)
40f038:	02 01                	add    (%ecx),%al
40f03a:	12 80 f1 11 81 1d    	adc    0x1d8111f1(%eax),%al
40f040:	05 00 10 12 81       	add    $0x81121000,%eax
40f045:	25 05 20 01 0e       	and    $0xe012005,%eax
40f04a:	1d 05 06 30 01       	sbb    $0x1300605,%eax
40f04f:	01 11                	add    %edx,(%ecx)
40f051:	81 31 06 20 01 01    	xorl   $0x1012006,(%ecx)
40f057:	11 91 35 05 20 00    	adc    %edx,0x200535(%ecx)
40f05d:	12 81 39 06 20 01    	adc    0x1200639(%ecx),%al
40f063:	22 81 4d 0e 1a 20    	and    0x201a0e4d(%ecx),%al
40f069:	08 12                	or     %dl,(%edx)
40f06b:	81 51 0e 1e 11 81 55 	adcl   $0x5581111e,0xe(%ecx)
40f072:	11 81 59 12 80 91    	adc    %eax,-0x6e7feda7(%ecx)
40f078:	1d 22 80 91 11       	sbb    $0x11918022,%eax
40f07d:	81 5d 11 81 61 06 20 	sbbl   $0x20066181,0x11(%ebp)
40f084:	11 01                	adc    %eax,(%ecx)
40f086:	11 81 65 05 20 01    	adc    %eax,0x1200565(%ecx)
40f08c:	12 6d 0e             	adc    0xe(%ebp),%ch
40f08f:	15 20 00 12 81       	adc    $0x81120020,%eax
40f094:	6d                   	insl   (%dx),%es:(%edi)
40f095:	06                   	push   %es
40f096:	00 01                	add    %al,(%ecx)
40f098:	08 12                	or     %dl,(%edx)
40f09a:	90                   	nop
40f09b:	91                   	xchg   %eax,%ecx
40f09c:	04 00                	add    $0x0,%al
40f09e:	01 09                	add    %ecx,(%ecx)
40f0a0:	08 04 00             	or     %al,(%eax,%eax,1)
40f0a3:	01 08                	add    %ecx,(%eax)
40f0a5:	19 04 00             	sbb    %eax,(%eax,%eax,1)
40f0a8:	01 03                	add    %eax,(%ebx)
40f0aa:	08 06                	or     %al,(%esi)
40f0ac:	00 02                	add    %al,(%edx)
40f0ae:	08 1d 15 08 06 00    	or     %bl,0x60815
40f0b4:	02 06                	add    (%esi),%al
40f0b6:	1d 05 08 05 00       	sbb    $0x50805,%eax
40f0bb:	11 1d 05 08 05 20    	adc    %ebx,0x20050805
40f0c1:	02 01                	add    (%ecx),%al
40f0c3:	18 02                	sbb    %al,(%edx)
40f0c5:	06                   	push   %es
40f0c6:	10 01                	adc    %al,(%ecx)
40f0c8:	12 81 81 0e 05 20    	adc    0x20050e81(%ecx),%al
40f0ce:	00 11                	add    %dl,(%ecx)
40f0d0:	81 95 04 00 01 08 08 	adcl   $0x1200408,0x8010004(%ebp)
40f0d7:	04 20 01
40f0da:	02 1c 14             	add    (%esp,%edx,1),%bl
40f0dd:	20 01                	and    %al,(%ecx)
40f0df:	1c 1c                	sbb    $0x1c,%al
40f0e1:	05 20 02 01 1c       	add    $0x1c010220,%eax
40f0e6:	1c 14                	sbb    $0x14,%al
40f0e8:	00 01                	add    %al,(%ecx)
40f0ea:	01 1c 09             	add    %ebx,(%ecx,%ecx,1)
40f0ed:	20 02                	and    %al,(%edx)
40f0ef:	01 11                	add    %edx,(%ecx)
40f0f1:	81 a9 11 81 99 07 00 	subl   $0x1c010200,0x7998111(%ecx)
40f0f8:	02 01 1c
40f0fb:	12 81 c9 06 00 01    	adc    0x10006c9(%ecx),%al
40f101:	11 81 ad 0e 05 20    	adc    %eax,0x20050ead(%ecx)
40f107:	02 11                	add    (%ecx),%dl
40f109:	0e                   	push   %cs
40f10a:	0e                   	push   %cs
40f10b:	07                   	pop    %es
40f10c:	20 02                	and    %al,(%edx)
40f10e:	01 0e                	add    %ecx,(%esi)
40f110:	11 81 d5 16 20 01    	adc    %eax,0x12016d5(%ecx)
40f116:	01 11                	add    %edx,(%ecx)
40f118:	81 bd 06 00 01 12 91 	cmpl   $0x70ec991,0x12010006(%ebp)
40f11f:	c9 0e 07
40f122:	00 01                	add    %al,(%ecx)
40f124:	1d 12 81 c9 0e       	sbb    $0xec98112,%eax
40f129:	15 00 00 12 81       	adc    $0x81120000,%eax
40f12e:	c9                   	leave
40f12f:	05 20 00 12 81       	add    $0x81120020,%eax
40f134:	d5 06                	aad    $0x6
40f136:	00 01                	add    %al,(%ecx)
40f138:	12 81 c9 08 06 00    	adc    0x608c9(%ecx),%al
40f13e:	00 2d 12 81 c9 06    	add    %ch,0x6c98112
40f144:	20 01                	and    %al,(%ecx)
40f146:	01 12                	add    %edx,(%edx)
40f148:	81 cd 13 20 00 02    	or     $0x2002013,%ebp
40f14e:	09 20                	or     %esp,(%eax)
40f150:	02 01                	add    (%ecx),%al
40f152:	12 80 d1 21 81 dd    	adc    -0x227ede2f(%eax),%al
40f158:	08 00                	or     %al,(%eax)
40f15a:	01 12                	add    %edx,(%edx)
40f15c:	81 e1 12 81 f1 06    	and    $0x6f18112,%ecx
40f162:	00 01                	add    %al,(%ecx)
40f164:	11 81 e5 08 0b 00    	adc    %eax,0xb08e5(%ecx)
40f16a:	02 21                	add    (%ecx),%ah
40f16c:	81 e5 11 81 e5 11    	and    $0x11e58111,%ebp
40f172:	81 e5 10 10 11 02    	and    $0x2111010,%ebp
40f178:	02 15 12 79 01 1e    	add    0x1e017912,%dl
40f17e:	00 15 12 89 01 1e    	add    %dl,0x1e018912
40f184:	00 17                	add    %dl,(%edi)
40f186:	10 01                	adc    %al,(%ecx)
40f188:	02 15 12 79 11 1e    	add    0x1e117912,%dl
40f18e:	00 15 12 79 01 1e    	add    %dl,0x1e017912
40f194:	00 15 12 90 8d 02    	add    %dl,0x28d9012
40f19a:	1e                   	push   %ds
40f19b:	00 02                	add    %al,(%edx)
40f19d:	0a 10                	or     (%eax),%dl
40f19f:	01 01                	add    %eax,(%ecx)
40f1a1:	08 25 12 79 01 1e    	or     %ah,0x1e017912
40f1a7:	00 0c 10             	add    %cl,(%eax,%edx,1)
40f1aa:	01 02                	add    %eax,(%edx)
40f1ac:	15 22 79 01 1e       	adc    $0x1e017922,%eax
40f1b1:	00 1e                	add    %bl,(%esi)
40f1b3:	00 08                	add    %cl,(%eax)
40f1b5:	0f 10 01             	movups (%ecx),%xmm0
40f1b8:	11 15 12 79 01 1e    	adc    %edx,0x1e017912
40f1be:	00 15 12 79 01 2e    	add    %dl,0x2e017912
40f1c4:	00 15 10 01 02 15    	add    %dl,0x15020110
40f1ca:	12 79 01             	adc    0x1(%ecx),%bh
40f1cd:	1e                   	push   %ds
40f1ce:	10 15 12 79 01 1e    	adc    %dl,0x1e017912
40f1d4:	00 15 12 79 01 2e    	add    %dl,0x2e017912
40f1da:	00 0c 10             	add    %cl,(%eax,%edx,1)
40f1dd:	01 01                	add    %eax,(%ecx)
40f1df:	1d 1e 00 15 12       	sbb    $0x1215001e,%eax
40f1e4:	89 01                	mov    %eax,(%ecx)
40f1e6:	1e                   	push   %ds
40f1e7:	00 0d 00 04 11 81    	add    %cl,0x81110400
40f1ed:	f5                   	cmc
40f1ee:	0e                   	push   %cs
40f1ef:	1e                   	push   %ds
40f1f0:	11 81 f9 11 81 fd    	adc    %eax,-0x27eee07(%ecx)
40f1f6:	06                   	push   %es
40f1f7:	00 01                	add    %al,(%ecx)
40f1f9:	0e                   	push   %cs
40f1fa:	21 82 05 06 20 01    	and    %eax,0x1200605(%edx)
40f200:	13 01                	adc    (%ecx),%eax
40f202:	13 00                	adc    (%eax),%eax
40f204:	07                   	pop    %es
40f205:	30 02                	xor    %al,(%edx)
40f207:	01 13                	add    %edx,(%ebx)
40f209:	00 13                	add    %dl,(%ebx)
40f20b:	01 05 20 01 13 10    	add    %eax,0x10130120
40f211:	08 05 20 02 01 1c    	or     %al,0x1c010220
40f217:	18 05 20 01 11 13    	sbb    %al,0x13110120
40f21d:	00 05 20 00 1d 13    	add    %al,0x131d0020
40f223:	00 04 0a             	add    %al,(%edx,%ecx,1)
40f226:	11 1e                	adc    %ebx,(%esi)
40f228:	00 03                	add    %al,(%ebx)
40f22a:	0a 01                	or     (%ecx),%al
40f22c:	05 03 0a 01 03       	add    $0x3010a03,%eax
40f231:	14 01                	adc    $0x1,%al
40f233:	00 00                	add    %al,(%eax)
40f235:	00 40 01             	add    %al,0x1(%eax)
40f238:	00 33                	add    %dh,(%ebx)
40f23a:	53                   	push   %ebx
40f23b:	79 83                	jns    0x40f1c0
40f23d:	74 65                	je     0x40f2a4
40f23f:	6d                   	insl   (%dx),%es:(%edi)
40f240:	2e 52                	cs push %edx
40f242:	65 73 6f             	gs jae 0x40f2b4
40f245:	75 72                	jne    0x40f2b9
40f247:	73 65                	jae    0x40f2ae
40f249:	73 2e                	jae    0x40f279
40f24b:	54                   	push   %esp
40f24c:	6f                   	outsl  %ds:(%esi),(%dx)
40f24d:	6f                   	outsl  %ds:(%esi),(%dx)
40f24e:	6c                   	insb   (%dx),%es:(%edi)
40f24f:	73 2e                	jae    0x40f27f
40f251:	53                   	push   %ebx
40f252:	84 72 6f             	test   %dh,0x6f(%edx)
40f255:	6e                   	outsb  %ds:(%esi),(%dx)
40f256:	67 6c                	insb   (%dx),%es:(%di)
40f258:	79 54                	jns    0x40f2ae
40f25a:	79 70                	jns    0x40f2cc
40f25c:	65 74 52             	gs je  0x40f2b1
40f25f:	65 73 6f             	gs jae 0x40f2d1
40f262:	75 72                	jne    0x40f2d6
40f264:	63 65 42             	arpl   %esp,0x42(%ebp)
40f267:	75 79                	jne    0x40f2e2
40f269:	6c                   	insb   (%dx),%es:(%edi)
40f26a:	64 65 72 07          	fs gs jb 0x40f275
40f26e:	34 2e                	xor    $0x2e,%al
40f270:	30 2e                	xor    %ch,(%esi)
40f272:	30 3e                	xor    %bh,(%esi)
40f274:	30 00                	xor    %al,(%eax)
40f276:	00 59 01             	add    %bl,0x1(%ecx)
40f279:	00 4b 4d             	add    %cl,0x4d(%ebx)
40f27c:	69 63 82 6f 73 6f 66 	imul   $0x666f736f,-0x7e(%ebx),%esp
40f283:	74 2e                	je     0x40f2b3
40f285:	56                   	push   %esi
40f286:	69 73 75 71 6c 53 74 	imul   $0x74536c71,0x75(%ebx),%esi
40f28d:	75 64                	jne    0x40f2f3
40f28f:	69 6f 2e 45 64 79 74 	imul   $0x74796445,0x2e(%edi),%ebp
40f296:	6f                   	outsl  %ds:(%esi),(%dx)
40f297:	72 73                	jb     0x40f30c
40f299:	2e 53                	cs push %ebx
40f29b:	65 74 74             	gs je  0x40f312
40f29e:	69 7e 67 73 44 65 73 	imul   $0x73654473,0x67(%esi),%edi
40f2a5:	69 67 6e 65 72 3e 53 	imul   $0x533e7265,0x6e(%edi),%esp