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
40f2ac:	65 74 74             	gs je  0x40f323
40f2af:	69 6e 67 73 53 69 7e 	imul   $0x7e695373,0x67(%esi),%ebp
40f2b6:	67 6c                	insb   (%dx),%es:(%di)
40f2b8:	65 46                	gs inc %esi
40f2ba:	69 6c 65 47 65 6e 75 	imul   $0x72756e65,0x47(%ebp,%eiz,2),%ebp
40f2c1:	72
40f2c2:	61                   	popa
40f2c3:	74 6f                	je     0x40f334
40f2c5:	72 08                	jb     0x40f2cf
40f2c7:	31 31                	xor    %esi,(%ecx)
40f2c9:	2e 30 3e             	xor    %bh,%cs:(%esi)
40f2cc:	30 2e                	xor    %ch,(%esi)
40f2ce:	30 00                	xor    %al,(%eax)
40f2d0:	00 23                	add    %ah,(%ebx)
40f2d2:	01 00                	add    %eax,(%eax)
40f2d4:	16                   	push   %ss
40f2d5:	50                   	push   %eax
40f2d6:	82 65 73 65          	andb   $0x65,0x73(%ebp)
40f2da:	6e                   	outsb  %ds:(%esi),(%dx)
40f2db:	74 61                	je     0x40f33e
40f2dd:	74 69                	je     0x40f348
40f2df:	6f                   	outsl  %ds:(%esi),(%dx)
40f2e0:	6e                   	outsb  %ds:(%esi),(%dx)
40f2e1:	52                   	push   %edx
40f2e2:	75 69                	jne    0x40f34d
40f2e4:	6c                   	insb   (%dx),%es:(%edi)
40f2e5:	64 54                	fs push %esp
40f2e7:	61                   	popa
40f2e8:	73 6b                	jae    0x40f355
40f2ea:	73 07                	jae    0x40f2f3
40f2ec:	44                   	inc    %esp
40f2ed:	2e 30 2e             	xor    %ch,%cs:(%esi)
40f2f0:	30 2e                	xor    %ch,(%esi)
40f2f2:	30 00                	xor    %al,(%eax)
40f2f4:	00 08                	add    %cl,(%eax)
40f2f6:	01 10                	add    %edx,(%eax)
40f2f8:	01 00                	add    %eax,(%eax)
40f2fa:	00 00                	add    %al,(%eax)
40f2fc:	00 00                	add    %al,(%eax)
40f2fe:	08 01                	or     %al,(%ecx)
40f300:	00 02                	add    %al,(%edx)
40f302:	10 00                	adc    %al,(%eax)
40f304:	00 00                	add    %al,(%eax)
40f306:	00 08                	add    %cl,(%eax)
40f308:	01 00                	add    %eax,(%eax)
40f30a:	08 00                	or     %al,(%eax)
40f30c:	00 10                	add    %dl,(%eax)
40f30e:	00 00                	add    %al,(%eax)
40f310:	1e                   	push   %ds
40f311:	01 00                	add    %eax,(%eax)
40f313:	01 00                	add    %eax,(%eax)
40f315:	54                   	push   %esp
40f316:	02 16                	add    (%esi),%dl
40f318:	67 72 61             	addr16 jb 0x40f37c
40f31b:	70 4e                	jo     0x40f36b
40f31d:	6f                   	outsl  %ds:(%esi),(%dx)
40f31e:	6e                   	outsb  %ds:(%esi),(%dx)
40f31f:	45                   	inc    %ebp
40f320:	78 63                	js     0x40f385
40f322:	65 80 74 69 6f 6e    	xorb   $0x6e,%gs:0x6f(%ecx,%ebp,2)
40f328:	54                   	push   %esp
40f329:	68 72 6f 77 73       	push   $0x73776f72
40f32e:	11 1f                	adc    %ebx,(%edi)
40f330:	01 00                	add    %eax,(%eax)
40f332:	1a 4d 69             	sbb    0x69(%ebp),%cl
40f335:	63 72 6f             	arpl   %esi,0x6f(%edx)
40f338:	73 7f                	jae    0x40f3b9
40f33a:	66 74 2e             	data16 je 0x40f36b
40f33d:	57                   	push   %edi
40f33e:	69 6e 33 32 2e 50 82 	imul   $0x82502e32,0x33(%esi),%ebp
40f345:	69 6d 69 74 69 76 65 	imul   $0x65766974,0x69(%ebp),%ebp
40f34c:	73 00                	jae    0x40f34e
40f34e:	00 15 01 00 00 00    	add    %dl,0x1
40f354:	00 1a                	add    %bl,(%edx)
40f356:	01 00                	add    %eax,(%eax)
40f358:	15 4d 79 63 72       	adc    $0x7263794d,%eax
40f35d:	6f                   	outsl  %ds:(%esi),(%dx)
40f35e:	73 6f                	jae    0x40f3cf
40f360:	66 74 20             	data16 je 0x40f383
40f363:	43                   	inc    %ebx
40f364:	6f                   	outsl  %ds:(%esi),(%dx)
40f365:	82 70 6f 72          	xorb   $0x72,0x6f(%eax)
40f369:	61                   	popa
40f36a:	74 69                	je     0x40f3d5
40f36c:	6f                   	outsl  %ds:(%esi),(%dx)
40f36d:	6e                   	outsb  %ds:(%esi),(%dx)
40f36e:	00 00                	add    %al,(%eax)
40f370:	2f                   	das
40f371:	01 00                	add    %eax,(%eax)
40f373:	1a 4d 69             	sbb    0x69(%ebp),%cl
40f376:	63 72 6f             	arpl   %esi,0x6f(%edx)
40f379:	73 6f                	jae    0x40f3ea
40f37b:	76 74                	jbe    0x40f3f1
40f37d:	c2 ae 20             	ret    $0x20ae
40f380:	2e 4e                	cs dec %esi
40f382:	45                   	inc    %ebp
40f383:	54                   	push   %esp
40f384:	20 46 82             	and    %al,-0x7e(%esi)
40f387:	61                   	popa
40f388:	6d                   	insl   (%dx),%es:(%edi)
40f389:	65 77 6f             	gs ja  0x40f3fb
40f38c:	72 6b                	jb     0x40f3f9
40f38e:	00 00                	add    %al,(%eax)
40f390:	17                   	pop    %ss
40f391:	11 00                	adc    %eax,(%eax)
40f393:	12 43 6f             	adc    0x6f(%ebx),%al
40f396:	70 79                	jo     0x40f411
40f398:	72 69                	jb     0x40f403
40f39a:	67 68 84 20 c2 a9    	addr16 push $0xa9c22084
40f3a0:	20 20                	and    %ah,(%eax)
40f3a2:	32 30                	xor    (%eax),%dh
40f3a4:	32 30                	xor    (%eax),%dh
40f3a6:	00 10                	add    %dl,(%eax)
40f3a8:	0c 01                	or     $0x1,%al
40f3aa:	00 00                	add    %al,(%eax)
40f3ac:	00 00                	add    %al,(%eax)
40f3ae:	00 01                	add    %al,(%ecx)
40f3b0:	00 00                	add    %al,(%eax)
40f3b2:	10 00                	adc    %al,(%eax)
40f3b4:	00 29                	add    %ch,(%ecx)
40f3b6:	01 00                	add    %eax,(%eax)
40f3b8:	24 64                	and    $0x64,%al
40f3ba:	35 30 36 49 37       	xor    $0x37493630,%eax
40f3bf:	31 37                	xor    %esi,(%edi)
40f3c1:	2d 32 37 31 37       	sub    $0x37313732,%eax
40f3c6:	2d 34 73 63 35       	sub    $0x35637334,%eax
40f3cb:	2d 38 34 64 32       	sub    $0x32643438,%eax
40f3d0:	2d 64 38 47 35       	sub    $0x35473864,%eax
40f3d5:	38 32                	cmp    %dh,(%edx)
40f3d7:	34 30                	xor    $0x30,%al
40f3d9:	30 66 65             	xor    %ah,0x65(%esi)
40f3dc:	34 00                	xor    $0x0,%al
40f3de:	10 0c 01             	adc    %cl,(%ecx,%eax,1)
40f3e1:	00 07                	add    %al,(%edi)
40f3e3:	31 2e                	xor    %ebp,(%esi)
40f3e5:	30 2e                	xor    %ch,(%esi)
40f3e7:	30 2e                	xor    %ch,(%esi)
40f3e9:	40                   	inc    %eax
40f3ea:	00 00                	add    %al,(%eax)
40f3ec:	49                   	dec    %ecx
40f3ed:	01 00                	add    %eax,(%eax)
40f3ef:	1a 2e                	sbb    (%esi),%ch
40f3f1:	4e                   	dec    %esi
40f3f2:	45                   	inc    %ebp
40f3f3:	54                   	push   %esp
40f3f4:	56                   	push   %esi
40f3f5:	72 61                	jb     0x40f458
40f3f7:	6d                   	insl   (%dx),%es:(%edi)
40f3f8:	65 77 6f             	gs ja  0x40f46a
40f3fb:	72 6b                	jb     0x40f468
40f3fd:	2c 56                	sub    $0x56,%al
40f3ff:	75 72                	jne    0x40f473
40f401:	73 69                	jae    0x40f46c
40f403:	6f                   	outsl  %ds:(%esi),(%dx)
40f404:	6e                   	outsb  %ds:(%esi),(%dx)
40f405:	3d 76 34 2e 36       	cmp    $0x362e3476,%eax
40f40a:	11 00                	adc    %eax,(%eax)
40f40c:	54                   	push   %esp
40f40d:	0e                   	push   %cs
40f40e:	14 46                	adc    $0x46,%al
40f410:	72 61                	jb     0x40f473
40f412:	6d                   	insl   (%dx),%es:(%edi)
40f413:	65 77 7f             	gs ja  0x40f495
40f416:	72 6b                	jb     0x40f483
40f418:	44                   	inc    %esp
40f419:	69 73 70 6c 61 79 4e 	imul   $0x4e79616c,0x70(%ebx),%esi
40f420:	71 6d                	jno    0x40f48f
40f422:	65 12 2e             	adc    %gs:(%esi),%ch
40f425:	4e                   	dec    %esi
40f426:	45                   	inc    %ebp
40f427:	54                   	push   %esp
40f428:	20 46 72             	and    %al,0x72(%esi)
40f42b:	71 6d                	jno    0x40f49a
40f42d:	65 77 6f             	gs ja  0x40f49f
40f430:	72 6b                	jb     0x40f49d