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
40d73e:	0e                   	push   %cs
40d73f:	10 15 12 80 d9 01    	adc    %dl,0x1d98012
40d745:	0e                   	push   %cs
40d746:	0b 00                	or     (%eax),%eax
40d748:	05 18 0e 09 10       	add    $0x10090e18,%eax
40d74d:	11 80 a4 09 09 0b    	adc    %eax,0xb0909a4(%eax)
40d753:	00 04 0e             	add    %al,(%esi,%ecx,1)
40d756:	12 80 89 0e 11 80    	adc    -0x7feef177(%eax),%al
40d75c:	a0 0e 0a 00 03       	mov    0x3000a0e,%al
40d761:	12 49 0e             	adc    0xe(%ecx),%cl
40d764:	11 80 a0 10 0e 08    	adc    %eax,0x80e10a0(%eax)
40d76a:	00 02                	add    %al,(%edx)
40d76c:	12 49 0e             	adc    0xe(%ecx),%cl
40d76f:	11 80 a0 08 00 02    	adc    %eax,0x20008a0(%eax)
40d775:	18 0e                	sbb    %cl,(%esi)
40d777:	10 11                	adc    %dl,(%ecx)
40d779:	80 ac 08 00 02 02 18 	subb   $0x10,0x18020200(%eax,%ecx,1)
40d780:	10
40d781:	11 80 ac 04 00 01    	adc    %eax,0x10004ac(%eax)
40d787:	02 18                	add    (%eax),%bl
40d789:	13 00                	adc    (%eax),%eax
40d78b:	04 15                	add    $0x15,%al
40d78d:	12 80 d9 01 12 58    	adc    0x581201d9(%eax),%al
40d793:	0e                   	push   %cs
40d794:	1d 0e 1d 0e 15       	sbb    $0x150e1d0e,%eax
40d799:	12 34 01             	adc    (%ecx,%eax,1),%dh
40d79c:	0e                   	push   %cs
40d79d:	17                   	pop    %ss
40d79e:	00 04 15 12 4c 01 15 	add    %al,0x15014c12(,%edx,1)
40d7a5:	12 80 d9 01 12 58    	adc    0x581201d9(%eax),%al
40d7ab:	0e                   	push   %cs
40d7ac:	1d 0e 1d 0e 15       	sbb    $0x150e1d0e,%eax
40d7b1:	12 34 01             	adc    (%ecx,%eax,1),%dh
40d7b4:	0e                   	push   %cs
40d7b5:	14 00                	adc    $0x0,%al
40d7b7:	05 15 12 80 e1       	add    $0xe1801215,%eax
40d7bc:	01 12                	add    %edx,(%edx)
40d7be:	58                   	pop    %eax
40d7bf:	0e                   	push   %cs
40d7c0:	0e                   	push   %cs
40d7c1:	1d 0e 1d 0e 15       	sbb    $0x150e1d0e,%eax
40d7c6:	12 34 01             	adc    (%ecx,%eax,1),%dh
40d7c9:	0e                   	push   %cs
40d7ca:	09 00                	or     %eax,(%eax)
40d7cc:	04 02                	add    $0x2,%al
40d7ce:	0e                   	push   %cs
40d7cf:	02 1d 0e 1d 0e 06    	add    0x60e1d0e,%bl
40d7d5:	00 01                	add    %al,(%ecx)
40d7d7:	02 11                	add    (%ecx),%dl
40d7d9:	80 ac 08 00 01 11 80 	subb   $0xf1,-0x7feeff00(%eax,%ecx,1)
40d7e0:	f1
40d7e1:	11 80 b0 04 00 01    	adc    %eax,0x10004b0(%eax)
40d7e7:	01 0e                	add    %ecx,(%esi)
40d7e9:	08 00                	or     %al,(%eax)
40d7eb:	03 0a                	add    (%edx),%ecx
40d7ed:	0a 12                	or     (%edx),%dl
40d7ef:	80 f9 08             	cmp    $0x8,%cl
40d7f2:	04 00                	add    $0x0,%al
40d7f4:	01 0e                	add    %ecx,(%esi)
40d7f6:	0a 08                	or     (%eax),%cl
40d7f8:	20 02                	and    %al,(%edx)
40d7fa:	01 12                	add    %edx,(%edx)
40d7fc:	80 a5 1d 0e 07 20 02 	andb   $0x2,0x20070e1d(%ebp)
40d803:	01 1c 12             	add    %ebx,(%edx,%edx,1)
40d806:	81 11 09 20 01 15    	adcl   $0x15012009,(%ecx)
40d80c:	12 4c 01 13          	adc    0x13(%ecx,%eax,1),%cl
40d810:	00 0e                	add    %cl,(%esi)
40d812:	0a 20                	or     (%eax),%ah
40d814:	03 12                	add    (%edx),%edx
40d816:	81 19 0e 12 81 1d    	sbbl   $0x1d81120e,(%ecx)
40d81c:	1c 0b                	sbb    $0xb,%al
40d81e:	20 01                	and    %al,(%ecx)
40d820:	15 12 4c 01 13       	adc    $0x13014c12,%eax
40d825:	00 12                	add    %dl,(%edx)
40d827:	81 19 09 20 00 15    	sbbl   $0x15002009,(%ecx)
40d82d:	12 81 25 01 12 38    	adc    0x38120125(%ecx),%al
40d833:	0a 20                	or     (%eax),%ah
40d835:	01 01                	add    %eax,(%ecx)
40d837:	15 12 81 25 01       	adc    $0x1258112,%eax
40d83c:	12 38                	adc    (%eax),%bh
40d83e:	06                   	push   %es
40d83f:	20 03                	and    %al,(%ebx)
40d841:	01 0e                	add    %ecx,(%esi)
40d843:	0e                   	push   %cs
40d844:	0e                   	push   %cs
40d845:	08 20                	or     %ah,(%eax)
40d847:	00 15 12 18 01 13    	add    %dl,0x13011812
40d84d:	00 0e                	add    %cl,(%esi)
40d84f:	20 02                	and    %al,(%edx)
40d851:	15 12 4c 01 02       	adc    $0x2014c12,%eax
40d856:	0e                   	push   %cs
40d857:	15 12 2c 01 13       	adc    $0x13012c12,%eax
40d85c:	00 0d 20 01 15 12    	add    %cl,0x12150120
40d862:	4c                   	dec    %esp
40d863:	01 02                	add    %eax,(%edx)
40d865:	15 12 2c 01 13       	adc    $0x13012c12,%eax
40d86a:	00 0c 20             	add    %cl,(%eax,%eiz,1)
40d86d:	02 12                	add    (%edx),%dl
40d86f:	80 9c 0e 15 12 2c 01 	sbbb   $0x13,0x12c1215(%esi,%ecx,1)
40d876:	13
40d877:	00 07                	add    %al,(%edi)
40d879:	20 00                	and    %al,(%eax)
40d87b:	15 12 4c 01 02       	adc    $0x2014c12,%eax
40d880:	08 20                	or     %ah,(%eax)
40d882:	01 15 12 4c 01 02    	add    %edx,0x2014c12
40d888:	0e                   	push   %cs
40d889:	08 20                	or     %ah,(%eax)
40d88b:	01 12                	add    %edx,(%edx)
40d88d:	80 9c 12 80 ad 05 20 	sbbb   $0x0,0x2005ad80(%edx,%edx,1)
40d894:	00
40d895:	12 80 9c 0b 00 03    	adc    0x3000b9c(%eax),%al
40d89b:	0e                   	push   %cs
40d89c:	15 12 80 d9 01       	adc    $0x1d98012,%eax
40d8a1:	0e                   	push   %cs
40d8a2:	03 02                	add    (%edx),%eax
40d8a4:	0f 00 01             	sldt   (%ecx)
40d8a7:	15 12 81 29 02       	adc    $0x2298112,%eax
40d8ac:	0e                   	push   %cs
40d8ad:	0e                   	push   %cs
40d8ae:	15 12 80 d9 01       	adc    $0x1d98012,%eax
40d8b3:	0e                   	push   %cs
40d8b4:	08 00                	or     %al,(%eax)
40d8b6:	02 0e                	add    (%esi),%cl
40d8b8:	11 81 3d 1d 0e 0b    	adc    %eax,0xb0e1d3d(%ecx)
40d8be:	00 02                	add    %al,(%edx)
40d8c0:	02 15 12 80 d9 01    	add    0x1d98012,%dl
40d8c6:	1d 0e 08 04 00       	sbb    $0x4080e,%eax
40d8cb:	00 12                	add    %dl,(%edx)
40d8cd:	4d                   	dec    %ebp
40d8ce:	05 00 00 12 81       	add    $0x81120000,%eax
40d8d3:	51                   	push   %ecx
40d8d4:	06                   	push   %es
40d8d5:	00 01                	add    %al,(%ecx)
40d8d7:	01 12                	add    %edx,(%edx)
40d8d9:	81 51 04 00 00 12 49 	adcl   $0x49120000,0x4(%ecx)
40d8e0:	06                   	push   %es
40d8e1:	20 01                	and    %al,(%ecx)
40d8e3:	01 11                	add    %edx,(%ecx)
40d8e5:	80 f1 04             	xor    $0x4,%cl
40d8e8:	20 01                	and    %al,(%ecx)
40d8ea:	01 0a                	add    %ecx,(%edx)
40d8ec:	08 00                	or     %al,(%eax)
40d8ee:	02 12                	add    (%edx),%dl
40d8f0:	58                   	pop    %eax
40d8f1:	12 80 d5 0e 06 00    	adc    0x60ed5(%eax),%al
40d8f7:	01 12                	add    %edx,(%edx)
40d8f9:	5c                   	pop    %esp
40d8fa:	12 59 05             	adc    0x5(%ecx),%bl
40d8fd:	20 01                	and    %al,(%ecx)
40d8ff:	01 12                	add    %edx,(%edx)
40d901:	59                   	pop    %ecx
40d902:	0c 00                	or     $0x0,%al
40d904:	02 01                	add    (%ecx),%al
40d906:	12 59 15             	adc    0x15(%ecx),%bl
40d909:	12 81 25 01 12 5c    	adc    0x5c120125(%ecx),%al
40d90f:	0f 10 01             	movups (%ecx),%xmm0
40d912:	02 01                	add    (%ecx),%al
40d914:	12 81 61 15 12 81    	adc    -0x7eedea9f(%ecx),%al
40d91a:	29 02                	sub    %eax,(%edx)
40d91c:	1e                   	push   %ds
40d91d:	00 0e                	add    %cl,(%esi)
40d91f:	0e                   	push   %cs
40d920:	10 01                	adc    %al,(%ecx)
40d922:	02 01                	add    (%ecx),%al
40d924:	12 80 99 15 12 80    	adc    -0x7fedea67(%eax),%al
40d92a:	d9 01                	flds   (%ecx)
40d92c:	1e                   	push   %ds
40d92d:	00 07                	add    %al,(%edi)
40d92f:	10 01                	adc    %al,(%ecx)
40d931:	01 01                	add    %eax,(%ecx)
40d933:	12 81 61 0e 10 01    	adc    0x1100e61(%ecx),%al
40d939:	02 01                	add    (%ecx),%al
40d93b:	12 80 9d 15 12 80    	adc    -0x7fedea63(%eax),%al
40d941:	d9 01                	flds   (%ecx)
40d943:	1e                   	push   %ds