40d149:	02 02                	add    (%edx),%al
40d14b:	15 12 4c 01 02       	adc    $0x2014c12,%eax
40d150:	11 07                	adc    %eax,(%edi)
40d152:	05 11 81 2d 11       	add    $0x112d8111,%eax
40d157:	81 2d 11 81 2d 12 81 	subl   $0x80123581,0x122d8111
40d15e:	35 12 80
40d161:	9c                   	pushf
40d162:	05 07 01 11 81       	add    $0x81110107,%eax
40d167:	2d 0a 00 03 11       	sub    $0x1103000a,%eax
40d16c:	81 2d 0e 0e 11 82 81 	subl   $0x1070581,0x82110e0e
40d173:	05 07 01
40d176:	12 80 9c 06 07 03    	adc    0x307069c(%eax),%al
40d17c:	1d 0e 08 0e 15       	sbb    $0x150e080e,%eax
40d181:	07                   	pop    %es
40d182:	0b 1d 0e 0e 0e 0e    	or     0xe0e0e0e,%ebx
40d188:	08 03                	or     %al,(%ebx)
40d18a:	1d 0e 08 02 02       	sbb    $0x202080e,%eax
40d18f:	15 12 81 29 02       	adc    $0x2298112,%eax
40d194:	0e                   	push   %cs
40d195:	0e                   	push   %cs
40d196:	04 20                	add    $0x20,%al
40d198:	01 03                	add    %eax,(%ebx)
40d19a:	08 06                	or     %al,(%esi)
40d19c:	07                   	pop    %es
40d19d:	03 0e                	add    (%esi),%ecx
40d19f:	1d 0e 0e 06 20       	sbb    $0x20060e0e,%eax
40d1a4:	01 1d 0e 1d 03 05    	add    %ebx,0x5031d0e
40d1aa:	07                   	pop    %es
40d1ab:	03 0e                	add    (%esi),%ecx
40d1ad:	0e                   	push   %cs
40d1ae:	0e                   	push   %cs
40d1af:	05 07 02 1d 0e       	add    $0xe1d0207,%eax
40d1b4:	0e                   	push   %cs
40d1b5:	06                   	push   %es
40d1b6:	00 01                	add    %al,(%ecx)
40d1b8:	0e                   	push   %cs
40d1b9:	11 81 3d 04 00 01    	adc    %eax,0x100043d(%ecx)
40d1bf:	01 02                	add    %eax,(%edx)
40d1c1:	05 00 01 01 12       	add    $0x12010100,%eax
40d1c6:	59                   	pop    %ecx
40d1c7:	07                   	pop    %es
40d1c8:	07                   	pop    %es
40d1c9:	03 02                	add    (%edx),%eax
40d1cb:	12 4d 12             	adc    0x12(%ebp),%cl
40d1ce:	4d                   	dec    %ebp
40d1cf:	04 20                	add    $0x20,%al
40d1d1:	00 12                	add    %dl,(%edx)
40d1d3:	41                   	inc    %ecx
40d1d4:	05 07 01 12 81       	add    $0x81120107,%eax
40d1d9:	51                   	push   %ecx
40d1da:	05 07 02 1c 12       	add    $0x121c0207,%eax
40d1df:	49                   	dec    %ecx
40d1e0:	07                   	pop    %es
40d1e1:	20 02                	and    %al,(%edx)
40d1e3:	1c 0e                	sbb    $0xe,%al
40d1e5:	12 81 51 07 00 04    	adc    0x4000751(%ecx),%al
40d1eb:	0e                   	push   %cs
40d1ec:	0e                   	push   %cs
40d1ed:	1c 1c                	sbb    $0x1c,%al
40d1ef:	1c 04                	sbb    $0x4,%al
40d1f1:	07                   	pop    %es
40d1f2:	01 12                	add    %edx,(%edx)
40d1f4:	58                   	pop    %eax
40d1f5:	05 20 00 11 80       	add    $0x80110020,%eax
40d1fa:	f1                   	int1
40d1fb:	06                   	push   %es
40d1fc:	07                   	pop    %es
40d1fd:	02 12                	add    (%edx),%dl
40d1ff:	5c                   	pop    %esp
40d200:	12 5c 05 20          	adc    0x20(%ebp,%eax,1),%bl
40d204:	00 11                	add    %dl,(%ecx)
40d206:	82 95 04 07 02 02 02 	adcb   $0x2,0x2020704(%ebp)
40d20d:	06                   	push   %es
40d20e:	20 01                	and    %al,(%ecx)
40d210:	01 11                	add    %edx,(%ecx)
40d212:	82 95 09 07 03 11 81 	adcb   $0x81,0x11030709(%ebp)
40d219:	5d                   	pop    %ebp
40d21a:	11 80 e9 02 05 07    	adc    %eax,0x70502e9(%eax)
40d220:	02 02                	add    (%edx),%al
40d222:	12 5c 07 15          	adc    0x15(%edi,%eax,1),%bl
40d226:	12 81 25 01 12 5c    	adc    0x5c120125(%ecx),%al
40d22c:	06                   	push   %es
40d22d:	15 12 60 01 13       	adc    $0x13016012,%eax
40d232:	00 0c 07             	add    %cl,(%edi,%eax,1)
40d235:	04 15                	add    $0x15,%al
40d237:	12 60 01             	adc    0x1(%eax),%ah
40d23a:	13 00                	adc    (%eax),%eax
40d23c:	02 13                	add    (%ebx),%dl
40d23e:	00 02                	add    %al,(%edx)
40d240:	02 13                	add    (%ebx),%dl
40d242:	00 04 20             	add    %al,(%eax,%eiz,1)
40d245:	01 02                	add    %eax,(%edx)
40d247:	1c 05                	sbb    $0x5,%al
40d249:	07                   	pop    %es
40d24a:	02 13                	add    (%ebx),%dl
40d24c:	00 08                	add    %cl,(%eax)
40d24e:	12 07                	adc    (%edi),%al
40d250:	02 15 11 81 65 02    	add    0x2658111,%dl
40d256:	1e                   	push   %ds
40d257:	00 0e                	add    %cl,(%esi)
40d259:	15 11 81 69 02       	adc    $0x2698111,%eax
40d25e:	1e                   	push   %ds
40d25f:	00 0e                	add    %cl,(%esi)
40d261:	05 20 00 12 82       	add    $0x82120020,%eax
40d266:	9d                   	popf
40d267:	08 15 12 81 29 02    	or     %dl,0x2298112
40d26d:	1e                   	push   %ds
40d26e:	00 0e                	add    %cl,(%esi)
40d270:	0b 20                	or     (%eax),%esp
40d272:	00 15 11 81 65 02    	add    %dl,0x2658111
40d278:	13 00                	adc    (%eax),%eax
40d27a:	13 01                	adc    (%ecx),%eax
40d27c:	08 15 11 81 65 02    	or     %dl,0x2658111
40d282:	1e                   	push   %ds
40d283:	00 0e                	add    %cl,(%esi)
40d285:	0b 20                	or     (%eax),%esp
40d287:	00 15 11 81 69 02    	add    %dl,0x2698111
40d28d:	13 00                	adc    (%eax),%eax
40d28f:	13 01                	adc    (%ecx),%eax
40d291:	08 15 11 81 69 02    	or     %dl,0x2698111
40d297:	1e                   	push   %ds
40d298:	00 0e                	add    %cl,(%esi)
40d29a:	04 20                	add    $0x20,%al
40d29c:	00 13                	add    %dl,(%ebx)
40d29e:	01 06                	add    %eax,(%esi)
40d2a0:	15 12 60 01 1e       	adc    $0x1e016012,%eax
40d2a5:	00 06                	add    %al,(%esi)
40d2a7:	20 02                	and    %al,(%edx)
40d2a9:	01 13                	add    %edx,(%ebx)
40d2ab:	00 0e                	add    %cl,(%esi)
40d2ad:	04 20                	add    $0x20,%al
40d2af:	01 08                	add    %ecx,(%eax)
40d2b1:	1c 05                	sbb    $0x5,%al
40d2b3:	20 00                	and    %al,(%eax)
40d2b5:	12 82 a5 08 07 03    	adc    0x30708a5(%edx),%al
40d2bb:	1d 0e 12 81 6d       	sbb    $0x6d81120e,%eax
40d2c0:	08 02                	or     %al,(%edx)
40d2c2:	1e                   	push   %ds
40d2c3:	00 07                	add    %al,(%edi)
40d2c5:	00 01                	add    %al,(%ecx)
40d2c7:	1d 0e 12 81 c1       	sbb    $0xc181120e,%eax
40d2cc:	08 00                	or     %al,(%eax)
40d2ce:	01 12                	add    %edx,(%edx)
40d2d0:	81 6d 12 81 c1 10 07 	subl   $0x710c181,0x12(%ebp)
40d2d7:	02 15 12 81 71 01    	add    0x1718112,%dl
40d2dd:	1e                   	push   %ds
40d2de:	00 15 12 80 d9 01    	add    %dl,0x1d98012
40d2e4:	1e                   	push   %ds
40d2e5:	00 03                	add    %al,(%ebx)
40d2e7:	20 00                	and    %al,(%eax)
40d2e9:	1c 07                	sbb    $0x7,%al
40d2eb:	15 12 81 71 01       	adc    $0x1718112,%eax
40d2f0:	1e                   	push   %ds
40d2f1:	00 12                	add    %dl,(%edx)
40d2f3:	07                   	pop    %es
40d2f4:	02 15 11 81 65 02    	add    0x2658111,%dl
40d2fa:	0e                   	push   %cs
40d2fb:	1e                   	push   %ds
40d2fc:	00 15 11 81 69 02    	add    %dl,0x2698111
40d302:	0e                   	push   %cs
40d303:	1e                   	push   %ds
40d304:	00 08                	add    %cl,(%eax)
40d306:	15 12 81 29 02       	adc    $0x2298112,%eax
40d30b:	0e                   	push   %cs
40d30c:	1e                   	push   %ds
40d30d:	00 08                	add    %cl,(%eax)
40d30f:	15 11 81 65 02       	adc    $0x2658111,%eax
40d314:	0e                   	push   %cs
40d315:	1e                   	push   %ds
40d316:	00 08                	add    %cl,(%eax)
40d318:	15 11 81 69 02       	adc    $0x2698111,%eax
40d31d:	0e                   	push   %cs
40d31e:	1e                   	push   %ds
40d31f:	00 0d 07 06 08 12    	add    %cl,0x12080607
40d325:	81 75 1c 02 1e 00 12 	xorl   $0x12001e02,0x1c(%ebp)
40d32c:	81 79 05 20 00 12 81 	cmpl   $0x81120020,0x5(%ecx)
40d333:	75 0b                	jne    0x40d340
40d335:	07                   	pop    %es
40d336:	05 08 12 81 75       	add    $0x75811208,%eax
40d33b:	1c 02                	sbb    $0x2,%al
40d33d:	12 81 79 0c 07 03    	adc    0x3070c79(%ecx),%al
40d343:	15 12 60 01 1e       	adc    $0x1e016012,%eax
40d348:	00 1e                	add    %bl,(%esi)
40d34a:	00 1e                	add    %bl,(%esi)
40d34c:	00 08                	add    %cl,(%eax)
40d34e:	07                   	pop    %es
40d34f:	03 1e                	add    (%esi),%ebx
40d351:	00 1e                	add    %bl,(%esi)
40d353:	00 1e                	add    %bl,(%esi)
40d355:	00 08                	add    %cl,(%eax)
40d357:	07                   	pop    %es
40d358:	03 12                	add    (%edx),%edx
40d35a:	70 12                	jo     0x40d36e
40d35c:	70 12                	jo     0x40d370
40d35e:	70 04                	jo     0x40d364
40d360:	0a 01                	or     (%ecx),%al
40d362:	12 70 07             	adc    0x7(%eax),%dh
40d365:	07                   	pop    %es
40d366:	03 12                	add    (%edx),%edx
40d368:	80 b9 02 02 07 07 03 	cmpb   $0x3,0x7070202(%ecx)
40d36f:	12 81 85 02 02 09    	adc    0x9020285(%ecx),%al
40d375:	20 02                	and    %al,(%edx)
40d377:	01 12                	add    %edx,(%edx)
40d379:	81 e1 11 81 5d 05    	and    $0x55d8111,%ecx
40d37f:	07                   	pop    %es
40d380:	02 12                	add    (%edx),%dl
40d382:	78 02                	js     0x40d386
40d384:	1f                   	pop    %ds
40d385:	07                   	pop    %es
40d386:	07                   	pop    %es
40d387:	15 12 80 e1 01       	adc    $0x1e18012,%eax
40d38c:	0e                   	push   %cs
40d38d:	15 11 81 89 01       	adc    $0x1898111,%eax
40d392:	0e                   	push   %cs
40d393:	0e                   	push   %cs
40d394:	02 15 12 80 dd 01    	add    0x1dd8012,%dl
40d39a:	15 12 60 01 0e       	adc    $0xe016012,%eax
40d39f:	12 80 b8 12 7c 06    	adc    0x67c12b8(%eax),%al
40d3a5:	15 12 80 e1 01       	adc    $0x1e18012,%eax
40d3aa:	0e                   	push   %cs
40d3ab:	09 20                	or     %esp,(%eax)
40d3ad:	00 15 11 81 89 01    	add    %dl,0x1898111
40d3b3:	13 00                	adc    (%eax),%eax
40d3b5:	06                   	push   %es
40d3b6:	15 11 81 89 01       	adc    $0x1898111,%eax
40d3bb:	0e                   	push   %cs
40d3bc:	06                   	push   %es
40d3bd:	20 01                	and    %al,(%ecx)
40d3bf:	01 12                	add    %edx,(%edx)
40d3c1:	81 f1 0a 15 12 80    	xor    $0x8012150a,%ecx
40d3c7:	d9 01                	flds   (%ecx)
40d3c9:	15 12 60 01 0e       	adc    $0xe016012,%eax
40d3ce:	0a 15 12 80 dd 01    	or     0x1dd8012,%dl
40d3d4:	15 12 60 01 0e       	adc    $0xe016012,%eax
40d3d9:	07                   	pop    %es
40d3da:	20 02                	and    %al,(%edx)
40d3dc:	01 08                	add    %ecx,(%eax)
40d3de:	12 81 f1 0c 07 01    	adc    0x1070cf1(%ecx),%al
40d3e4:	15 12 80 d9 01       	adc    $0x1d98012,%eax
40d3e9:	15 12 60 01 0e       	adc    $0xe016012,%eax
40d3ee:	05 15 12 60 01       	add    $0x1601215,%eax
40d3f3:	0e                   	push   %cs
40d3f4:	06                   	push   %es
40d3f5:	20 01                	and    %al,(%ecx)
40d3f7:	01 12                	add    %edx,(%edx)
40d3f9:	80 a9 05 20 00 12 80 	subb   $0x80,0x12002005(%ecx)
40d400:	8d 06                	lea    (%esi),%eax
40d402:	07                   	pop    %es
40d403:	04 08                	add    $0x8,%al
40d405:	08 08                	or     %cl,(%eax)
40d407:	08 06                	or     %al,(%esi)
40d409:	20 01                	and    %al,(%ecx)
40d40b:	01 12                	add    %edx,(%edx)
40d40d:	81 8d 05 20 00 12 80 	orl    $0x200aed80,0x12002005(%ebp)
40d414:	ed 0a 20
40d417:	02 01                	add    (%ecx),%al
40d419:	12 82 b1 1d 11 81    	adc    -0x7eeee24f(%edx),%al
40d41f:	5d                   	pop    %ebp
40d420:	0b 07                	or     (%edi),%eax
40d422:	03 12                	add    (%edx),%edx
40d424:	80 84 12 80 84 12 80 	addb   $0x84,-0x7fed7b80(%edx,%edx,1)
40d42b:	84
40d42c:	05 0a 01 12 80       	add    $0x8012010a,%eax
40d431:	84 06                	test   %al,(%esi)
40d433:	20 01                	and    %al,(%ecx)
40d435:	01 12                	add    %edx,(%edx)
40d437:	81 95 06 00 01 12 82 	adcl   $0x70e5982,0x12010006(%ebp)
40d43e:	59 0e 07
40d441:	15 12 80 98 01       	adc    $0x1988012,%eax
40d446:	13 00                	adc    (%eax),%eax
40d448:	02 06                	add    (%esi),%al
40d44a:	02 02                	add    (%edx),%al
40d44c:	06                   	push   %es
40d44d:	08 04 06             	or     %al,(%esi,%eax,1)
40d450:	12 80 9d 07 20 02    	adc    0x220079d(%eax),%al
40d456:	01 1c 12             	add    %ebx,(%edx,%edx,1)
40d459:	81 0d 07 20 02 01 1c 	orl    $0xa981121c,0x1022007
40d460:	12 81 a9
40d463:	06                   	push   %es
40d464:	20 01                	and    %al,(%ecx)
40d466:	01 12                	add    %edx,(%edx)
40d468:	82 b5 07 20 02 01 1c 	xorb   $0x1c,0x1022007(%ebp)
40d46f:	12 81 a5 06 20 01    	adc    0x12006a5(%ecx),%al
40d475:	01 12                	add    %edx,(%edx)
40d477:	82 b9 07 20 02 01 1c 	cmpb   $0x1c,0x1022007(%ecx)
40d47e:	12 81 99 06 20 01    	adc    0x1200699(%ecx),%al
40d484:	01 12                	add    %edx,(%edx)
40d486:	82 bd 17 07 03 15 12 	cmpb   $0x12,0x15030717(%ebp)
40d48d:	80 90 01 13 00 15 12 	adcb   $0x12,0x15001301(%eax)
40d494:	80 90 01 13 00 15 12 	adcb   $0x12,0x15001301(%eax)
40d49b:	80 90 01 13 00 08 06 	adcb   $0x6,0x8001301(%eax)
40d4a2:	15 12 80 90 01       	adc    $0x1908012,%eax
40d4a7:	13 00                	adc    (%eax),%eax
40d4a9:	09 0a                	or     %ecx,(%edx)
40d4ab:	01 15 12 80 90 01    	add    %edx,0x1908012
40d4b1:	13 00                	adc    (%eax),%eax
40d4b3:	17                   	pop    %ss
40d4b4:	07                   	pop    %es
40d4b5:	03 15 12 80 94 01    	add    0x1948012,%edx
40d4bb:	13 00                	adc    (%eax),%eax
40d4bd:	15 12 80 94 01       	adc    $0x1948012,%eax
40d4c2:	13 00                	adc    (%eax),%eax
40d4c4:	15 12 80 94 01       	adc    $0x1948012,%eax
40d4c9:	13 00                	adc    (%eax),%eax
40d4cb:	08 06                	or     %al,(%esi)
40d4cd:	15 12 80 94 01       	adc    $0x1948012,%eax
40d4d2:	13 00                	adc    (%eax),%eax
40d4d4:	09 0a                	or     %ecx,(%edx)
40d4d6:	01 15 12 80 94 01    	add    %edx,0x1948012
40d4dc:	13 00                	adc    (%eax),%eax
40d4de:	0a 07                	or     (%edi),%al
40d4e0:	05 12 81 9d 13       	add    $0x139d8112,%eax
40d4e5:	00 02                	add    %al,(%edx)
40d4e7:	02 0e                	add    (%esi),%cl
40d4e9:	05 20 00 12 82       	add    $0x82120020,%eax
40d4ee:	c1 06 20             	roll   $0x20,(%esi)
40d4f1:	01 12                	add    %edx,(%edx)
40d4f3:	81 9d 08 07 20 02 02 	sbbl   $0x10001302,0x2200708(%ebp)
40d4fa:	13 00 10
40d4fd:	0e                   	push   %cs
40d4fe:	15 07 04 15 12       	adc    $0x12150407,%eax
40d503:	81 71 01 13 00 12 81 	xorl   $0x81120013,0x1(%ecx)
40d50a:	a1 15 12 80 dd       	mov    0xdd801215,%eax
40d50f:	01 13                	add    %edx,(%ebx)
40d511:	00 13                	add    %dl,(%ebx)
40d513:	00 07                	add    %al,(%edi)
40d515:	15 12 81 71 01       	adc    $0x1718112,%eax
40d51a:	13 00                	adc    (%eax),%eax
40d51c:	07                   	pop    %es
40d51d:	15 12 80 d9 01       	adc    $0x1d98012,%eax
40d522:	13 00                	adc    (%eax),%eax
40d524:	07                   	pop    %es
40d525:	15 12 80 dd 01       	adc    $0x1dd8012,%eax
40d52a:	13 00                	adc    (%eax),%eax
40d52c:	07                   	pop    %es
40d52d:	15 12 82 c5 01       	adc    $0x1c58212,%eax
40d532:	13 00                	adc    (%eax),%eax
40d534:	04 20                	add    $0x20,%al
40d536:	01 01                	add    %eax,(%ecx)
40d538:	1c 09                	sbb    $0x9,%al
40d53a:	07                   	pop    %es
40d53b:	01 15 12 80 d9 01    	add    %edx,0x1d98012
40d541:	13 00                	adc    (%eax),%eax
40d543:	07                   	pop    %es
40d544:	07                   	pop    %es
40d545:	03 02                	add    (%edx),%eax
40d547:	02 12                	add    (%edx),%dl
40d549:	81 35 08 20 02 01 13 	xorl   $0x81120013,0x1022008
40d550:	00 12 81
40d553:	35 05 20 00 12       	xor    $0x12002005,%eax