40b4ce:	15 12 6d 01 12       	adc    $0x12016d12,%eax
40b4d3:	1c 04                	sbb    $0x4,%al
40b4d5:	20 01                	and    %al,(%ecx)
40b4d7:	1c 0e                	sbb    $0xe,%al
40b4d9:	05 20 01 01 13       	add    $0x13010120,%eax
40b4de:	00 03                	add    %al,(%ebx)
40b4e0:	20 00                	and    %al,(%eax)
40b4e2:	02 04 07             	add    (%edi,%eax,1),%al
40b4e5:	01 11                	add    %edx,(%ecx)
40b4e7:	75 03                	jne    0x40b4ec
40b4e9:	07                   	pop    %es
40b4ea:	01 0a                	add    %ecx,(%edx)
40b4ec:	08 15 12 79 02 12    	or     %dl,0x12027912
40b4f2:	7d 12                	jge    0x40b506
40b4f4:	2c 04                	sub    $0x4,%al
40b4f6:	07                   	pop    %es
40b4f7:	02 08                	add    (%eax),%cl
40b4f9:	02 05 10 01 00 1e    	add    0x1e000110,%al
40b4ff:	00 04 0a             	add    %al,(%edx,%ecx,1)
40b502:	01 1e                	add    %ebx,(%esi)
40b504:	00 02                	add    %al,(%edx)
40b506:	1e                   	push   %ds
40b507:	00 04 20             	add    %al,(%eax,%eiz,1)
40b50a:	00 12                	add    %dl,(%edx)
40b50c:	7d 07                	jge    0x40b515
40b50e:	20 02                	and    %al,(%edx)
40b510:	01 13                	add    %edx,(%ebx)
40b512:	00 13                	add    %dl,(%ebx)
40b514:	01 04 07             	add    %eax,(%edi,%eax,1)
40b517:	02 02                	add    (%edx),%al
40b519:	02 08                	add    (%eax),%cl
40b51b:	07                   	pop    %es
40b51c:	02 1d 12 2c 1d 12    	add    0x121d2c12,%bl
40b522:	2c 0b                	sub    $0xb,%al
40b524:	20 00                	and    %al,(%eax)
40b526:	15 12 81 51 02       	adc    $0x2518112,%eax
40b52b:	13 00                	adc    (%eax),%eax
40b52d:	13 01                	adc    (%ecx),%eax
40b52f:	09 15 12 81 51 02    	or     %edx,0x2518112
40b535:	12 7d 12             	adc    0x12(%ebp),%bh
40b538:	2c 07                	sub    $0x7,%al
40b53a:	20 02                	and    %al,(%edx)
40b53c:	01 1d 13 01 08 05    	add    %ebx,0x5080113
40b542:	07                   	pop    %es
40b543:	01 1d 1e 00 05 07    	add    %ebx,0x705001e
40b549:	01 1d 12 2c 04 07    	add    %ebx,0x7042c12
40b54f:	01 1e                	add    %ebx,(%esi)
40b551:	00 07                	add    %al,(%edi)
40b553:	00 01                	add    %al,(%ecx)
40b555:	12 7d 11             	adc    0x11(%ebp),%bh
40b558:	81 55 08 07 04 12 2c 	adcl   $0x2c120407,0x8(%ebp)
40b55f:	02 12                	add    (%edx),%dl
40b561:	2c 02                	sub    $0x2,%al
40b563:	08 20                	or     %ah,(%eax)
40b565:	02 02                	add    (%edx),%al
40b567:	13 00                	adc    (%eax),%eax
40b569:	10 13                	adc    %dl,(%ebx)
40b56b:	01 05 20 01 02 13    	add    %eax,0x13020120
40b571:	00 06                	add    %al,(%esi)
40b573:	07                   	pop    %es
40b574:	04 08                	add    $0x8,%al
40b576:	02 02                	add    (%edx),%al
40b578:	02 05 07 03 02 02    	add    0x2020307,%al
40b57e:	02 15 07 03 15 11    	add    0x11150307,%dl
40b584:	80 85 02 12 7d 12 2c 	addb   $0x2c,0x127d1202(%ebp)
40b58b:	15 11 80 89 02       	adc    $0x2898011,%eax
40b590:	12 7d 12             	adc    0x12(%ebp),%bh
40b593:	2c 02                	sub    $0x2,%al
40b595:	0b 20                	or     (%eax),%esp
40b597:	00 15 11 80 85 02    	add    %dl,0x2858011
40b59d:	13 00                	adc    (%eax),%eax
40b59f:	13 01                	adc    (%ecx),%eax
40b5a1:	09 15 11 80 85 02    	or     %edx,0x2858011
40b5a7:	12 7d 12             	adc    0x12(%ebp),%bh
40b5aa:	2c 0b                	sub    $0xb,%al
40b5ac:	20 00                	and    %al,(%eax)
40b5ae:	15 11 80 89 02       	adc    $0x2898011,%eax
40b5b3:	13 00                	adc    (%eax),%eax
40b5b5:	13 01                	adc    (%ecx),%eax
40b5b7:	1d 07 04 15 12       	sbb    $0x12150407,%eax
40b5bc:	6d                   	insl   (%dx),%es:(%edi)
40b5bd:	01 1e                	add    %ebx,(%esi)
40b5bf:	00 15 11 80 85 02    	add    %dl,0x2858011
40b5c5:	12 7d 12             	adc    0x12(%ebp),%bh
40b5c8:	2c 15                	sub    $0x15,%al
40b5ca:	11 80 89 02 12 7d    	adc    %eax,0x7d120289(%eax)
40b5d0:	12 2c 1d 1e 00 06 15 	adc    0x1506001e(,%ebx,1),%ch
40b5d7:	12 6d 01             	adc    0x1(%ebp),%ch
40b5da:	1e                   	push   %ds
40b5db:	00 05 20 00 1d 13    	add    %al,0x131d0020
40b5e1:	00 1d 07 04 15 12    	add    %bl,0x12150407
40b5e7:	6d                   	insl   (%dx),%es:(%edi)
40b5e8:	01 12                	add    %edx,(%edx)
40b5ea:	2c 15                	sub    $0x15,%al
40b5ec:	11 80 85 02 12 7d    	adc    %eax,0x7d120285(%eax)
40b5f2:	12 2c 15 11 80 89 02 	adc    0x2898011(,%edx,1),%ch
40b5f9:	12 7d 12             	adc    0x12(%ebp),%bh
40b5fc:	2c 1d                	sub    $0x1d,%al
40b5fe:	12 2c 06             	adc    (%esi,%eax,1),%ch
40b601:	15 12 6d 01 12       	adc    $0x12016d12,%eax
40b606:	2c 04                	sub    $0x4,%al
40b608:	00 01                	add    %al,(%ecx)
40b60a:	01 0e                	add    %ecx,(%esi)
40b60c:	03 07                	add    (%edi),%eax
40b60e:	01 0d 04 07 01 11    	add    %ecx,0x11010704
40b614:	40                   	inc    %eax
40b615:	05 07 03 02 08       	add    $0x8020307,%eax
40b61a:	02 05 07 03 08 08    	add    0x8080307,%al
40b620:	08 06                	or     %al,(%esi)
40b622:	00 03                	add    %al,(%ebx)
40b624:	0e                   	push   %cs
40b625:	0e                   	push   %cs
40b626:	1c 1c                	sbb    $0x1c,%al
40b628:	05 07 02 11 40       	add    $0x40110207,%eax
40b62d:	0d 03 07 01 05       	or     $0x5010703,%eax
40b632:	03 07                	add    (%edi),%eax
40b634:	01 06                	add    %eax,(%esi)
40b636:	03 07                	add    (%edi),%eax
40b638:	01 07                	add    %eax,(%edi)
40b63a:	03 07                	add    (%edi),%eax
40b63c:	01 09                	add    %ecx,(%ecx)
40b63e:	03 07                	add    (%edi),%eax
40b640:	01 0b                	add    %ecx,(%ebx)
40b642:	03 07                	add    (%edi),%eax
40b644:	01 0c 05 07 01 11 80 	add    %ecx,-0x7feefef9(,%eax,1)
40b64b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b64c:	06                   	push   %es
40b64d:	00 01                	add    %al,(%ecx)
40b64f:	11 80 a5 0d 09 20    	adc    %eax,0x20090da5(%eax)
40b655:	02 12                	add    (%edx),%dl
40b657:	81 61 0e 11 81 65 04 	andl   $0x4658111,0xe(%ecx)
40b65e:	20 01                	and    %al,(%ecx)
40b660:	1c 1c                	sbb    $0x1c,%al
40b662:	03 1d 1e 00 05 20    	add    0x2005001e,%ebx
40b668:	01 02                	add    %eax,(%edx)
40b66a:	12 7d 07             	adc    0x7(%ebp),%bh
40b66d:	07                   	pop    %es
40b66e:	05 0b 07 0b 05       	add    $0x50b070b,%eax
40b673:	0e                   	push   %cs
40b674:	08 07                	or     %al,(%edi)
40b676:	06                   	push   %es
40b677:	05 08 0a 0a 06       	add    $0x60a0a08,%eax
40b67c:	02 07                	add    (%edi),%al
40b67e:	07                   	pop    %es
40b67f:	05 06 06 05 0b       	add    $0xb050606,%eax
40b684:	0b 08                	or     (%eax),%ecx
40b686:	07                   	pop    %es
40b687:	06                   	push   %es
40b688:	06                   	push   %es
40b689:	07                   	pop    %es
40b68a:	04 06                	add    $0x6,%al
40b68c:	08 02                	or     %al,(%edx)
40b68e:	07                   	pop    %es
40b68f:	07                   	pop    %es
40b690:	05 04 04 0c 0c       	add    $0xc0c0404,%eax
40b695:	04 07                	add    $0x7,%al
40b697:	07                   	pop    %es
40b698:	05 0c 0e 09 05       	add    $0x5090e0c,%eax
40b69d:	05 09 07 07 0e       	add    $0xe070709,%eax
40b6a2:	05 05 08 08 02       	add    $0x2080805,%eax
40b6a7:	02 09                	add    (%ecx),%cl
40b6a9:	07                   	pop    %es
40b6aa:	07                   	pop    %es
40b6ab:	08 09                	or     %cl,(%ecx)
40b6ad:	0a 04 08             	or     (%eax,%ecx,1),%al
40b6b0:	02 02                	add    (%edx),%al
40b6b2:	07                   	pop    %es
40b6b3:	07                   	pop    %es
40b6b4:	05 0a 06 0a 0e       	add    $0xe0a060a,%eax
40b6b9:	0c 07                	or     $0x7,%al
40b6bb:	07                   	pop    %es
40b6bc:	05 0a 09 0e 0a       	add    $0xa0e090a,%eax
40b6c1:	05 08 07 06 09       	add    $0x9060708,%eax
40b6c6:	09 0b                	or     %ecx,(%ebx)
40b6c8:	08 09                	or     %cl,(%ecx)
40b6ca:	02 0f                	add    (%edi),%cl
40b6cc:	07                   	pop    %es
40b6cd:	08 09                	or     %cl,(%ecx)
40b6cf:	0d 08 07 0e 02       	or     $0x20e0708,%eax
40b6d4:	15 11 80 a9 01       	adc    $0x1a98011,%eax
40b6d9:	02 02                	add    (%edx),%al
40b6db:	06                   	push   %es
40b6dc:	15 11 80 a9 01       	adc    $0x1a98011,%eax
40b6e1:	02 09                	add    (%ecx),%cl
40b6e3:	07                   	pop    %es
40b6e4:	07                   	pop    %es
40b6e5:	05 08 08 04 0c       	add    $0xc040808,%eax
40b6ea:	02 02                	add    (%edx),%al
40b6ec:	09 07                	or     %eax,(%edi)
40b6ee:	07                   	pop    %es
40b6ef:	0d 0b 0c 07 0c       	or     $0xc070c0b,%eax
40b6f4:	0d 02 0c 07 07       	or     $0x7070c02,%eax
40b6f9:	0d 1d 08 12 80       	or     $0x8012081d,%eax
40b6fe:	ad                   	lods   %ds:(%esi),%eax
40b6ff:	04 0a                	add    $0xa,%al
40b701:	09 0c 05 20 02 08 08 	or     %ecx,0x8080220(,%eax,1)
40b708:	08 04 00             	or     %al,(%eax,%eax,1)
40b70b:	01 01                	add    %eax,(%ecx)
40b70d:	08 07                	or     %al,(%edi)
40b70f:	07                   	pop    %es
40b710:	05 0b 04 0b 06       	add    $0x60b040b,%eax
40b715:	04 08                	add    $0x8,%al
40b717:	07                   	pop    %es
40b718:	06                   	push   %es
40b719:	0d 0c 07 0e 0c       	or     $0xc0e070c,%eax
40b71e:	02 06                	add    (%esi),%al
40b720:	00 01                	add    %al,(%ecx)
40b722:	11 81 71 0e 07 07    	adc    %eax,0x7070e71(%ecx)
40b728:	05 0e 0a 0e 0a       	add    $0xa0e0a0e,%eax
40b72d:	04 09                	add    $0x9,%al
40b72f:	07                   	pop    %es
40b730:	07                   	pop    %es
40b731:	0b 0c 0c             	or     (%esp,%ecx,1),%ecx
40b734:	0d 06 02 0d 08       	or     $0x80d0206,%eax
40b739:	07                   	pop    %es
40b73a:	06                   	push   %es
40b73b:	04 0a                	add    $0xa,%al
40b73d:	08 05 05 02 08 07    	or     %al,0x7080205
40b743:	06                   	push   %es
40b744:	05 08 09 05 0a       	add    $0xa050908,%eax
40b749:	02 08                	add    (%eax),%cl
40b74b:	07                   	pop    %es
40b74c:	06                   	push   %es
40b74d:	09 08                	or     %ecx,(%eax)
40b74f:	04 07                	add    $0x7,%al
40b751:	0e                   	push   %cs
40b752:	02 09                	add    (%ecx),%cl
40b754:	07                   	pop    %es
40b755:	07                   	pop    %es
40b756:	0c 09                	or     $0x9,%al
40b758:	08 0e                	or     %cl,(%esi)
40b75a:	08 02                	or     %al,(%edx)
40b75c:	02 1c 07             	add    (%edi,%eax,1),%bl
40b75f:	0b 06                	or     (%esi),%eax
40b761:	0c 08                	or     $0x8,%al
40b763:	0d 04 02 0d 15       	or     $0x150d0204,%eax
40b768:	11 80 a9 01 08 15    	adc    %eax,0x150801a9(%eax)
40b76e:	11 80 a9 01 08 15    	adc    %eax,0x150801a9(%eax)
40b774:	11 80 a9 01 08 02    	adc    %eax,0x20801a9(%eax)
40b77a:	06                   	push   %es
40b77b:	15 11 80 a9 01       	adc    $0x1a98011,%eax
40b780:	08 04 20             	or     %al,(%eax,%eiz,1)
40b783:	00 13                	add    %dl,(%ebx)
40b785:	00 07                	add    %al,(%edi)
40b787:	07                   	pop    %es
40b788:	05 06 05 04 05       	add    $0x5040506,%eax
40b78d:	07                   	pop    %es
40b78e:	08 07                	or     %al,(%edi)
40b790:	06                   	push   %es
40b791:	0c 0d                	or     $0xd,%al
40b793:	09 0b                	or     %ecx,(%ebx)
40b795:	06                   	push   %es
40b796:	02 07                	add    (%edi),%al
40b798:	07                   	pop    %es
40b799:	05 06 0e 0e 07       	add    $0x70e0e06,%eax
40b79e:	05 0c 07 08 05       	add    $0x508070c,%eax
40b7a3:	06                   	push   %es
40b7a4:	04 0d                	add    $0xd,%al
40b7a6:	09 02                	or     %eax,(%edx)
40b7a8:	0d 12 80 b1 0c       	or     $0xcb18012,%eax
40b7ad:	07                   	pop    %es
40b7ae:	0a 08                	or     (%eax),%cl
40b7b0:	0d 0d 1c 04 0d       	or     $0xd041c0d,%eax
40b7b5:	08 02                	or     %al,(%edx)
40b7b7:	02 02                	add    (%edx),%al
40b7b9:	08 00                	or     %al,(%eax)
40b7bb:	03 0d 0d 08 11 81    	add    0x8111080d,%ecx
40b7c1:	75 04                	jne    0x40b7c7
40b7c3:	00 01                	add    %al,(%ecx)
40b7c5:	01 0d 08 07 06 04    	add    %ecx,0x4060708
40b7cb:	08 09                	or     %cl,(%ecx)
40b7cd:	06                   	push   %es
40b7ce:	0b 02                	or     (%edx),%eax
40b7d0:	07                   	pop    %es
40b7d1:	07                   	pop    %es
40b7d2:	05 09 05 0e 0b       	add    $0xb0e0509,%eax
40b7d7:	09 08                	or     %ecx,(%eax)
40b7d9:	07                   	pop    %es
40b7da:	06                   	push   %es
40b7db:	0c 08                	or     $0x8,%al
40b7dd:	06                   	push   %es
40b7de:	0a 0c 02             	or     (%edx,%eax,1),%cl
40b7e1:	08 07                	or     %al,(%edi)
40b7e3:	06                   	push   %es
40b7e4:	05 0b 0c 08 09       	add    $0x9080c0b,%eax
40b7e9:	02 07                	add    (%edi),%al
40b7eb:	07                   	pop    %es
40b7ec:	05 04 06 0b 04       	add    $0x40b0604,%eax
40b7f1:	0a 07                	or     (%edi),%al
40b7f3:	07                   	pop    %es
40b7f4:	05 05 06 0b 06       	add    $0x60b0605,%eax
40b7f9:	05 09 07 07 0c       	add    $0xc070709,%eax
40b7fe:	05 08 0e 08 02       	add    $0x2080e08,%eax
40b803:	02 07                	add    (%edi),%al
40b805:	07                   	pop    %es
40b806:	05 0c 0a 0d 0b       	add    $0xb0d0a0c,%eax
40b80b:	04 07                	add    $0x7,%al
40b80d:	07                   	pop    %es
40b80e:	05 04 06 0b 0b       	add    $0xb0b0604,%eax
40b813:	0a 0b                	or     (%ebx),%cl
40b815:	07                   	pop    %es
40b816:	09 0d 04 08 0c 0d    	or     %ecx,0xd0c0804
40b81c:	0d 02 02 02 05       	or     $0x5020202,%eax
40b821:	00 00                	add    %al,(%eax)
40b823:	11 81 79 09 07 07    	adc    %eax,0x7070979(%ecx)
40b829:	0b 0e                	or     (%esi),%ecx
40b82b:	08 08                	or     %cl,(%eax)
40b82d:	04 02                	add    $0x2,%al
40b82f:	02 0e                	add    (%esi),%cl
40b831:	07                   	pop    %es
40b832:	09 0e                	or     %ecx,(%esi)
40b834:	08 09                	or     %cl,(%ecx)
40b836:	0d 0d 0d 1d 08       	or     $0x81d0d0d,%eax
40b83b:	12 80 ad 02 07 07    	adc    0x70702ad(%eax),%al
40b841:	05 05 0a 05 06       	add    $0x6050a05,%eax
40b846:	04 09                	add    $0x9,%al
40b848:	07                   	pop    %es
40b849:	07                   	pop    %es
40b84a:	06                   	push   %es
40b84b:	08 08                	or     %cl,(%eax)
40b84d:	0c 0a                	or     $0xa,%al
40b84f:	02 02                	add    (%edx),%al
40b851:	07                   	pop    %es
40b852:	07                   	pop    %es
40b853:	05 07 0c 0c 07       	add    $0x70c0c07,%eax
40b858:	06                   	push   %es
40b859:	07                   	pop    %es
40b85a:	07                   	pop    %es
40b85b:	05 0c 09 05 0a       	add    $0xa05090c,%eax
40b860:	0a 07                	or     (%edi),%al
40b862:	07                   	pop    %es
40b863:	05 04 07 07 0e       	add    $0xe070704,%eax
40b868:	0c 07                	or     $0x7,%al
40b86a:	07                   	pop    %es
40b86b:	05 05 07 0a 05       	add    $0x50a0705,%eax
40b870:	04 09                	add    $0x9,%al
40b872:	07                   	pop    %es
40b873:	07                   	pop    %es
40b874:	0d 1c 0c 09 08       	or     $0x8090c1c,%eax
40b879:	09 02                	or     %eax,(%edx)
40b87b:	0a 07                	or     (%edi),%al
40b87d:	08 08                	or     %cl,(%eax)
40b87f:	06                   	push   %es
40b880:	0d 08 0d 02 02       	or     $0x2020d08,%eax
40b885:	02 08                	add    (%eax),%cl
40b887:	07                   	pop    %es
40b888:	06                   	push   %es
40b889:	0a 06                	or     (%esi),%al
40b88b:	04 0b                	add    $0xb,%al
40b88d:	0d 02 03 00 00       	or     $0x302,%eax