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
40d558:	82 c9 05             	or     $0x5,%cl
40d55b:	20 00                	and    %al,(%eax)
40d55d:	12 81 9d 08 07 04    	adc    0x407089d(%ecx),%al
40d563:	02 02                	add    (%edx),%al
40d565:	12 81 35 02 08 b7    	adc    -0x48f7fdcb(%ecx),%al
40d56b:	7a 5c                	jp     0x40d5c9
40d56d:	56                   	push   %esi
40d56e:	19 34 e0             	sbb    %esi,(%eax,%eiz,8)
40d571:	89 08                	mov    %ecx,(%eax)
40d573:	b0 3f                	mov    $0x3f,%al
40d575:	5f                   	pop    %edi
40d576:	7f 11                	jg     0x40d589
40d578:	d5 0a                	aad    $0xa
40d57a:	3a 04 00             	cmp    (%eax,%eax,1),%al
40d57d:	00 00                	add    %al,(%eax)
40d57f:	00 04 01             	add    %al,(%ecx,%eax,1)
40d582:	00 00                	add    %al,(%eax)
40d584:	00 04 02             	add    %al,(%edx,%eax,1)
40d587:	00 00                	add    %al,(%eax)
40d589:	00 04 04             	add    %al,(%esp,%eax,1)
40d58c:	01 00                	add    %eax,(%eax)
40d58e:	00 04 0e             	add    %al,(%esi,%ecx,1)
40d591:	00 00                	add    %al,(%eax)
40d593:	00 04 00             	add    %al,(%eax,%eax,1)
40d596:	01 00                	add    %eax,(%eax)
40d598:	00 04 00             	add    %al,(%eax,%eax,1)
40d59b:	02 00                	add    (%eax),%al
40d59d:	00 04 00             	add    %al,(%eax,%eax,1)
40d5a0:	04 00                	add    $0x0,%al
40d5a2:	00 04 00             	add    %al,(%eax,%eax,1)
40d5a5:	08 00                	or     %al,(%eax)
40d5a7:	00 04 00             	add    %al,(%eax,%eax,1)
40d5aa:	10 00                	adc    %al,(%eax)
40d5ac:	00 04 00             	add    %al,(%eax,%eax,1)
40d5af:	20 00                	and    %al,(%eax)
40d5b1:	00 04 00             	add    %al,(%eax,%eax,1)
40d5b4:	40                   	inc    %eax
40d5b5:	00 00                	add    %al,(%eax)
40d5b7:	04 00                	add    $0x0,%al
40d5b9:	80 00 00             	addb   $0x0,(%eax)
40d5bc:	04 00                	add    $0x0,%al
40d5be:	00 01                	add    %al,(%ecx)
40d5c0:	00 04 00             	add    %al,(%eax,%eax,1)
40d5c3:	00 02                	add    %al,(%edx)
40d5c5:	00 04 04             	add    %al,(%esp,%eax,1)
40d5c8:	00 00                	add    %al,(%eax)
40d5ca:	00 04 08             	add    %al,(%eax,%ecx,1)
40d5cd:	00 00                	add    %al,(%eax)
40d5cf:	00 04 10             	add    %al,(%eax,%edx,1)
40d5d2:	00 00                	add    %al,(%eax)
40d5d4:	00 04 20             	add    %al,(%eax,%eiz,1)
40d5d7:	00 00                	add    %al,(%eax)
40d5d9:	00 04 40             	add    %al,(%eax,%eax,2)
40d5dc:	00 00                	add    %al,(%eax)
40d5de:	00 02                	add    %al,(%edx)
40d5e0:	5c                   	pop    %esp
40d5e1:	00 01                	add    %al,(%ecx)
40d5e3:	00 03                	add    %al,(%ebx)
40d5e5:	17                   	pop    %ss
40d5e6:	81 04 02 17 50 02 17 	addl   $0x17025017,(%edx,%eax,1)
40d5ed:	0e                   	push   %cs
40d5ee:	01 16                	add    %edx,(%esi)
40d5f0:	07                   	pop    %es
40d5f1:	06                   	push   %es
40d5f2:	15 12 40 01 12       	adc    $0x12014012,%eax
40d5f7:	08 03                	or     %al,(%ebx)
40d5f9:	06                   	push   %es
40d5fa:	12 5d 03             	adc    0x3(%ebp),%bl
40d5fd:	06                   	push   %es
40d5fe:	12 61 03             	adc    0x3(%ecx),%ah
40d601:	06                   	push   %es
40d602:	12 65 03             	adc    0x3(%ebp),%ah
40d605:	06                   	push   %es
40d606:	12 69 03             	adc    0x3(%ecx),%ch
40d609:	06                   	push   %es
40d60a:	12 6d 03             	adc    0x3(%ebp),%ch
40d60d:	06                   	push   %es
40d60e:	12 71 03             	adc    0x3(%ecx),%dh
40d611:	06                   	push   %es
40d612:	12 75 03             	adc    0x3(%ebp),%dh
40d615:	06                   	push   %es
40d616:	12 79 03             	adc    0x3(%ecx),%bh
40d619:	06                   	push   %es
40d61a:	12 74 03 06          	adc    0x6(%ebx,%eax,1),%dh
40d61e:	12 7d 04             	adc    0x4(%ebp),%bh
40d621:	06                   	push   %es
40d622:	12 80 81 04 06 12    	adc    0x12060481(%eax),%al
40d628:	80 85 04 06 12 80 89 	addb   $0x89,-0x7fedf9fc(%ebp)
40d62f:	04 06                	add    $0x6,%al
40d631:	12 80 8d 04 06 12    	adc    0x1206048d(%eax),%al
40d637:	80 91 04 06 12 80 95 	adcb   $0x95,-0x7fedf9fc(%ecx)
40d63e:	04 06                	add    $0x6,%al
40d640:	12 80 99 04 06 12    	adc    0x12060499(%eax),%al
40d646:	80 a1 04 06 12 80 a5 	andb   $0xa5,-0x7fedf9fc(%ecx)
40d64d:	04 06                	add    $0x6,%al
40d64f:	12 80 80 03 06 11    	adc    0x11060380(%eax),%al
40d655:	20 02                	and    %al,(%edx)
40d657:	06                   	push   %es
40d658:	1c 04                	sbb    $0x4,%al
40d65a:	06                   	push   %es
40d65b:	12 81 09 03 06 12    	adc    0x12060309(%ecx),%al
40d661:	4d                   	dec    %ebp
40d662:	04 06                	add    $0x6,%al
40d664:	12 81 51 04 06 11    	adc    0x11060451(%ecx),%al
40d66a:	80 f1 02             	xor    $0x2,%cl
40d66d:	06                   	push   %es
40d66e:	0a 04 06             	or     (%esi,%eax,1),%al
40d671:	11 81 5d 04 06 11    	adc    %eax,0x1106045d(%ecx)
40d677:	80 e9 0b             	sub    $0xb,%cl
40d67a:	06                   	push   %es
40d67b:	15 12 80 d9 01       	adc    $0x1d98012,%eax
40d680:	15 12 60 01 0e       	adc    $0xe016012,%eax
40d685:	03 06                	add    (%esi),%eax
40d687:	12 70 04             	adc    0x4(%eax),%dh
40d68a:	06                   	push   %es
40d68b:	12 81 81 04 06 12    	adc    0x12060481(%ecx),%al
40d691:	80 84 04 06 11 80 a0 	addb   $0x2,-0x5f7feefa(%esp,%eax,1)
40d698:	02
40d699:	06                   	push   %es
40d69a:	18 02                	sbb    %al,(%edx)
40d69c:	06                   	push   %es
40d69d:	09 04 06             	or     %eax,(%esi,%eax,1)
40d6a0:	11 80 a8 04 06 11    	adc    %eax,0x110604a8(%eax)
40d6a6:	81 05 04 06 11 80 b0 	addl   $0x150606b0,0x80110604
40d6ad:	06 06 15
40d6b0:	12 60 01             	adc    0x1(%eax),%ah
40d6b3:	0e                   	push   %cs
40d6b4:	05 20 01 01 12       	add    $0x12010120,%eax
40d6b9:	45                   	inc    %ebp
40d6ba:	05 00 01 12 49       	add    $0x49120100,%eax
40d6bf:	0e                   	push   %cs
40d6c0:	06                   	push   %es
40d6c1:	00 01                	add    %al,(%ecx)
40d6c3:	1d 05 1d 05 06       	sbb    $0x6051d05,%eax
40d6c8:	00 01                	add    %al,(%ecx)
40d6ca:	1d 05 12 49 07       	sbb    $0x7491205,%eax
40d6cf:	20 02                	and    %al,(%edx)
40d6d1:	01 1c 12             	add    %ebx,(%edx,%edx,1)
40d6d4:	80 ad 06 20 02 01 1c 	subb   $0x1c,0x1022006(%ebp)
40d6db:	12 78 07             	adc    0x7(%eax),%bh
40d6de:	20 02                	and    %al,(%edx)
40d6e0:	01 1c 12             	add    %ebx,(%edx,%edx,1)
40d6e3:	80 b1 06 20 02 01 12 	xorb   $0x12,0x1022006(%ecx)
40d6ea:	7d 1c                	jge    0x40d708
40d6ec:	06                   	push   %es
40d6ed:	20 02                	and    %al,(%edx)
40d6ef:	01 12                	add    %edx,(%edx)
40d6f1:	65 1c 03             	gs sbb $0x3,%al
40d6f4:	00 00                	add    %al,(%eax)
40d6f6:	1c 04                	sbb    $0x4,%al
40d6f8:	00 01                	add    %al,(%ecx)
40d6fa:	01 1c 17             	add    %ebx,(%edi,%edx,1)
40d6fd:	00 04 01             	add    %al,(%ecx,%eax,1)
40d700:	0e                   	push   %cs
40d701:	0e                   	push   %cs
40d702:	15 12 28 02 12       	adc    $0x12022812,%eax
40d707:	80 d1 11             	adc    $0x11,%cl
40d70a:	20 15 12 28 02 12    	and    %dl,0x12022812
40d710:	80 d5 11             	adc    $0x11,%ch
40d713:	20 18                	and    %bl,(%eax)
40d715:	00 03                	add    %al,(%ebx)
40d717:	15 12 4c 01 15       	adc    $0x15014c12,%eax
40d71c:	12 80 d9 01 12 80    	adc    -0x7fedfe27(%eax),%al
40d722:	d5 0e                	aad    $0xe
40d724:	0e                   	push   %cs
40d725:	15 12 28 02 12       	adc    $0x12022812,%eax
40d72a:	80 d5 02             	adc    $0x2,%ch
40d72d:	0c 00                	or     $0x0,%al
40d72f:	03 02                	add    (%edx),%eax
40d731:	0e                   	push   %cs
40d732:	0e                   	push   %cs
40d733:	10 15 12 80 d9 01    	adc    %dl,0x1d98012
40d739:	0e                   	push   %cs
40d73a:	0b 00                	or     (%eax),%eax
40d73c:	02 02                	add    (%edx),%al