495552:	5f                   	pop    %edi
495553:	7f 11                	jg     0x495566
495555:	d5 0a                	aad    $0xa
495557:	3a 07                	cmp    (%edi),%al
495559:	00 02                	add    %al,(%edx)
49555b:	01 12                	add    %edx,(%edx)
49555d:	35 11 45 06 00       	xor    $0x64511,%eax
495562:	02 01                	add    (%ecx),%al
495564:	12 35 0e 07 00 02    	adc    0x200070e,%dh
49556a:	01 12                	add    %edx,(%edx)
49556c:	35 11 49 06 00       	xor    $0x64911,%eax
495571:	02 01                	add    (%ecx),%al
495573:	12 35 08 06 00 02    	adc    0x2000608,%dh
495579:	01 12                	add    %edx,(%edx)
49557b:	4d                   	dec    %ebp
49557c:	02 07                	add    (%edi),%al
49557e:	00 02                	add    %al,(%edx)
495580:	01 12                	add    %edx,(%edx)
495582:	35 12 51 07 00       	xor    $0x75112,%eax
495587:	02 01                	add    (%ecx),%al
495589:	12 29                	adc    (%ecx),%ch
49558b:	11 55 07             	adc    %edx,0x7(%ebp)
49558e:	00 02                	add    %al,(%edx)
495590:	01 12                	add    %edx,(%edx)
495592:	2d 11 59 07 00       	sub    $0x75911,%eax
495597:	02 01                	add    (%ecx),%al
495599:	12 1d 12 5d 07 00    	adc    0x75d12,%bl
49559f:	02 01                	add    (%ecx),%al
4955a1:	12 61 11             	adc    0x11(%ecx),%ah
4955a4:	65 07                	gs pop %es
4955a6:	00 02                	add    %al,(%edx)
4955a8:	01 12                	add    %edx,(%edx)
4955aa:	61                   	popa
4955ab:	11 69 07             	adc    %ebp,0x7(%ecx)
4955ae:	00 02                	add    %al,(%edx)
4955b0:	01 12                	add    %edx,(%edx)
4955b2:	1d 11 49 06 00       	sbb    $0x64911,%eax
4955b7:	02 01                	add    (%ecx),%al
4955b9:	12 1d 02 06 00 01    	adc    0x1000602,%bl
4955bf:	12 6d 12             	adc    0x12(%ebp),%ch
4955c2:	35 07 00 02 01       	xor    $0x1020007,%eax
4955c7:	12 6d 12             	adc    0x12(%ebp),%ch
4955ca:	35 07 00 02 01       	xor    $0x1020007,%eax
4955cf:	12 1d 11 71 07 00    	adc    0x77111,%bl
4955d5:	02 01                	add    (%ecx),%al
4955d7:	12 1d 11 75 03 06    	adc    0x6037511,%bl
4955dd:	12 79 03             	adc    0x3(%ecx),%bh
4955e0:	06                   	push   %es
4955e1:	12 7d 04             	adc    0x4(%ebp),%bh
4955e4:	06                   	push   %es
4955e5:	12 80 81 03 06 12    	adc    0x12060381(%eax),%al
4955eb:	34 04                	xor    $0x4,%al
4955ed:	06                   	push   %es
4955ee:	12 80 85 04 06 1d    	adc    0x1d060485(%eax),%al
4955f4:	12 25 03 06 1d 08    	adc    0x81d0603,%ah
4955fa:	09 06                	or     %eax,(%esi)
4955fc:	14 12                	adc    $0x12,%al
4955fe:	29 02                	sub    %eax,(%edx)
495600:	00 02                	add    %al,(%edx)
495602:	00 00                	add    %al,(%eax)
495604:	09 06                	or     %eax,(%esi)
495606:	14 11                	adc    $0x11,%al
495608:	3c 02                	cmp    $0x2,%al
49560a:	00 02                	add    %al,(%edx)
49560c:	00 00                	add    %al,(%eax)
49560e:	03 06                	add    (%esi),%eax
495610:	11 45 04             	adc    %eax,0x4(%ebp)
495613:	06                   	push   %es
495614:	12 80 89 04 06 12    	adc    0x12060489(%eax),%al
49561a:	80 8d 04 06 12 80 91 	orb    $0x91,-0x7fedf9fc(%ebp)
495621:	04 06                	add    $0x6,%al
495623:	12 80 95 04 06 12    	adc    0x12060495(%eax),%al
495629:	80 99 04 06 12 80 9d 	sbbb   $0x9d,-0x7fedf9fc(%ecx)
495630:	07                   	pop    %es
495631:	20 02                	and    %al,(%edx)
495633:	01 1c 12             	add    %ebx,(%edx,%edx,1)
495636:	80 a1 07 20 02 01 1c 	andb   $0x1c,0x1022007(%ecx)
49563d:	12 80 a5 07 20 02    	adc    0x22007a5(%eax),%al
495643:	01 1c 12             	add    %ebx,(%edx,%edx,1)
495646:	80 a9 07 20 02 01 1c 	subb   $0x1c,0x1022007(%ecx)
49564d:	12 80 ad 04 00 00    	adc    0x4ad(%eax),%al
495653:	12 79 04             	adc    0x4(%ecx),%bh
495656:	00 00                	add    %al,(%eax)
495658:	12 7d 05             	adc    0x5(%ebp),%bh
49565b:	00 00                	add    %al,(%eax)
49565d:	12 80 81 05 00 00    	adc    0x581(%eax),%al
495663:	12 80 85 05 00 00    	adc    0x585(%eax),%al
495669:	12 80 99 07 00 02    	adc    0x2000799(%eax),%al
49566f:	01 12                	add    %edx,(%edx)
495671:	80 85 08 07 00 02 01 	addb   $0x1,0x2000708(%ebp)
495678:	12 80 9d 08 07 00    	adc    0x7089d(%eax),%al
49567e:	02 01                	add    (%ecx),%al
495680:	12 80 81 02 09 00    	adc    0x90281(%eax),%al
495686:	02 01                	add    (%ecx),%al
495688:	12 80 81 12 80 b1    	adc    -0x4e7fed7f(%eax),%al
49568e:	09 00                	or     %eax,(%eax)
495690:	02 01                	add    (%ecx),%al
495692:	12 80 81 12 80 b5    	adc    -0x4a7fed7f(%eax),%al
495698:	09 00                	or     %eax,(%eax)
49569a:	02 01                	add    (%ecx),%al
49569c:	12 80 81 12 80 b9    	adc    -0x467fed7f(%eax),%al
4956a2:	08 00                	or     %al,(%eax)
4956a4:	02 01                	add    (%ecx),%al
4956a6:	12 80 85 12 51 08    	adc    0x8511285(%eax),%al
4956ac:	00 02                	add    %al,(%edx)
4956ae:	01 12                	add    %edx,(%edx)
4956b0:	1d 12 80 bd 08       	sbb    $0x8bd8012,%eax
4956b5:	00 02                	add    %al,(%edx)
4956b7:	01 12                	add    %edx,(%edx)
4956b9:	35 11 80 c1 0a       	xor    $0xac18011,%eax
4956be:	00 03                	add    %al,(%ebx)
4956c0:	12 80 c5 0e 0c 11    	adc    0x110c0ec5(%eax),%al
4956c6:	80 c9 08             	or     $0x8,%cl
4956c9:	00 02                	add    %al,(%edx)
4956cb:	01 12                	add    %edx,(%edx)
4956cd:	35 12 80 c5 08       	xor    $0x8c58012,%eax
4956d2:	00 02                	add    %al,(%edx)
4956d4:	01 12                	add    %edx,(%edx)
4956d6:	25 11 80 cd 08       	and    $0x8cd8011,%eax
4956db:	00 01                	add    %al,(%ecx)
4956dd:	12 80 d1 12 80 8d    	adc    -0x727fed2f(%eax),%al
4956e3:	0a 00                	or     (%eax),%al
4956e5:	04 01                	add    $0x1,%al
4956e7:	12 80 d1 12 35 08    	adc    0x83512d1(%eax),%al
4956ed:	08 08                	or     %cl,(%eax)
4956ef:	00 02                	add    %al,(%edx)
4956f1:	01 12                	add    %edx,(%edx)
4956f3:	35 11 80 d5 06       	xor    $0x6d58011,%eax
4956f8:	00 02                	add    %al,(%edx)
4956fa:	01 12                	add    %edx,(%edx)
4956fc:	35 1c 08 00 02       	xor    $0x200081c,%eax
495701:	01 12                	add    %edx,(%edx)
495703:	29 11                	sub    %edx,(%ecx)
495705:	80 d9 08             	sbb    $0x8,%cl
495708:	00 02                	add    %al,(%edx)
49570a:	01 12                	add    %edx,(%edx)
49570c:	35 12 80 dd 08       	xor    $0x8dd8012,%eax
495711:	00 02                	add    %al,(%edx)
495713:	01 12                	add    %edx,(%edx)
495715:	35 11 80 e1 05       	xor    $0x5e18011,%eax
49571a:	00 01                	add    %al,(%ecx)
49571c:	1c 12                	sbb    $0x12,%al
49571e:	35 08 00 01 11       	xor    $0x11010008,%eax
495723:	80 e5 12             	and    $0x12,%ch
495726:	80 e9 07             	sub    $0x7,%cl
495729:	00 01                	add    %al,(%ecx)
49572b:	11 80 e1 12 35 06    	adc    %eax,0x63512e1(%eax)
495731:	00 01                	add    %al,(%ecx)
495733:	01 12                	add    %edx,(%edx)
495735:	80 85 06 00 01 02 12 	addb   $0x12,0x2010006(%ebp)
49573c:	80 81 06 00 01 01 12 	addb   $0x12,0x1010006(%ecx)
495743:	80 81 05 00 00 12 80 	addb   $0x80,0x12000005(%ecx)
49574a:	ed                   	in     (%dx),%eax
49574b:	08 00                	or     %al,(%eax)
49574d:	03 08                	add    (%eax),%ecx
49574f:	12 80 ed 08 08 06    	adc    0x60808ed(%eax),%al
495755:	00 02                	add    %al,(%edx)
495757:	11 55 0e             	adc    %edx,0xe(%ebp)
49575a:	0e                   	push   %cs
49575b:	09 00                	or     %eax,(%eax)
49575d:	03 11                	add    (%ecx),%edx
49575f:	55                   	push   %ebp
495760:	0e                   	push   %cs
495761:	0e                   	push   %cs
495762:	11 80 f1 07 00 02    	adc    %eax,0x20007f1(%eax)
495768:	01 12                	add    %edx,(%edx)
49576a:	80 a1 02 06 00 01 11 	andb   $0x11,0x1000602(%ecx)
495771:	55                   	push   %ebp
495772:	12 1d 06 00 02 01    	adc    0x1020006,%bl
495778:	12 39                	adc    (%ecx),%bh
49577a:	02 07                	add    (%edi),%al
49577c:	00 02                	add    %al,(%edx)
49577e:	01 12                	add    %edx,(%edx)
495780:	80 91 02 09 00 02 01 	adcb   $0x1,0x2000902(%ecx)
495787:	12 80 f5 11 80 e1    	adc    -0x1e7fee0b(%eax),%al
49578d:	05 00 00 11 80       	add    $0x80110000,%eax
495792:	e1 04                	loope  0x495798
495794:	00 01                	add    %al,(%ecx)
495796:	01 08                	add    %ecx,(%eax)
495798:	07                   	pop    %es
495799:	00 02                	add    %al,(%edx)
49579b:	01 12                	add    %edx,(%edx)
49579d:	80 81 08 06 00 01 08 	addb   $0x8,0x1000608(%ecx)
4957a4:	12 80 a9 07 00 02    	adc    0x20007a9(%eax),%al
4957aa:	01 12                	add    %edx,(%edx)
4957ac:	80 f9 0e             	cmp    $0xe,%cl
4957af:	07                   	pop    %es
4957b0:	00 01                	add    %al,(%ecx)
4957b2:	11 55 12             	adc    %edx,0x12(%ebp)
4957b5:	80 fd 06             	cmp    $0x6,%ch
4957b8:	00 01                	add    %al,(%ecx)
4957ba:	0e                   	push   %cs
4957bb:	12 80 f9 05 00 02    	adc    0x20005f9(%eax),%al
4957c1:	02 0e                	add    (%esi),%cl
4957c3:	0e                   	push   %cs
4957c4:	06                   	push   %es
4957c5:	00 01                	add    %al,(%ecx)
4957c7:	12 81 01 0e 07 00    	adc    0x70e01(%ecx),%al
4957cd:	02 01                	add    (%ecx),%al
4957cf:	12 81 05 03 06 00    	adc    0x60305(%ecx),%al
4957d5:	01 01                	add    %eax,(%ecx)
4957d7:	12 81 05 06 00 01    	adc    0x1000605(%ecx),%al
4957dd:	12 81 09 0e 06 00    	adc    0x60e09(%ecx),%al
4957e3:	01 08                	add    %ecx,(%eax)
4957e5:	12 81 0d 06 00 01    	adc    0x100060d(%ecx),%al
4957eb:	01 12                	add    %edx,(%edx)
4957ed:	81 0d 05 00 00 12 80 	orl    $0x58980,0x12000005
4957f4:	89 05 00
4957f7:	00 12                	add    %dl,(%edx)
4957f9:	80 9d 05 00 00 12 80 	sbbb   $0x80,0x12000005(%ebp)
495800:	95                   	xchg   %eax,%ebp
495801:	05 00 00 12 80       	add    $0x80120000,%eax
495806:	91                   	xchg   %eax,%ecx
495807:	05 00 00 12 80       	add    $0x80120000,%eax
49580c:	8d 08                	lea    (%eax),%ecx
49580e:	00 01                	add    %al,(%ecx)
495810:	12 81 11 12 80 f5    	adc    -0xa7fedef(%ecx),%al
495816:	09 00                	or     %eax,(%eax)
495818:	02 01                	add    (%ecx),%al
49581a:	12 81 11 1d 12 39    	adc    0x39121d11(%ecx),%al
495820:	08 00                	or     %al,(%eax)
495822:	02 01                	add    (%ecx),%al
495824:	12 35 11 81 15 08    	adc    0x8158111,%dh
49582a:	00 02                	add    %al,(%edx)
49582c:	01 12                	add    %edx,(%edx)
49582e:	39 11                	cmp    %edx,(%ecx)
495830:	81 19 07 00 02 01    	sbbl   $0x1020007,(%ecx)
495836:	12 39                	adc    (%ecx),%bh
495838:	11 49 08             	adc    %ecx,0x8(%ecx)
49583b:	00 02                	add    %al,(%edx)
49583d:	01 12                	add    %edx,(%edx)
49583f:	39 11                	cmp    %edx,(%ecx)
495841:	81 15 07 00 02 01 12 	adcl   $0x51123912,0x1020007
495848:	39 12 51
49584b:	08 00                	or     %al,(%eax)
49584d:	01 12                	add    %edx,(%edx)
49584f:	81 11 12 81 1d 09    	adcl   $0x91d8112,(%ecx)
495855:	00 02                	add    %al,(%edx)
495857:	01 12                	add    %edx,(%edx)
495859:	80 91 11 81 21 07 00 	adcb   $0x0,0x7218111(%ecx)
495860:	02 01                	add    (%ecx),%al
495862:	12 80 8d 08 08 00    	adc    0x8088d(%eax),%al
495868:	01 12                	add    %edx,(%edx)
49586a:	81 25 12 80 8d 09 00 	andl   $0x81120200,0x98d8012
495871:	02 12 81
495874:	29 11                	sub    %edx,(%ecx)
495876:	81 2d 0c 09 00 02 08 	subl   $0x25811208,0x200090c
49587d:	12 81 25
495880:	12 81 29 08 00 01    	adc    0x1000829(%ecx),%al
495886:	12 81 31 12 80 8d    	adc    -0x727fedcf(%ecx),%al
49588c:	09 00                	or     %eax,(%eax)
49588e:	02 12                	add    (%edx),%dl
495890:	81 35 11 81 2d 0c 09 	xorl   $0x8020009,0xc2d8111
495897:	00 02 08
49589a:	12 81 31 12 81 35    	adc    0x35811231(%ecx),%al
4958a0:	08 00                	or     %al,(%eax)
4958a2:	02 01                	add    (%ecx),%al
4958a4:	12 1d 12 80 95 02    	adc    0x2958012,%bl
4958aa:	06                   	push   %es
4958ab:	0e                   	push   %cs
4958ac:	03 20                	add    (%eax),%esp
4958ae:	00 0e                	add    %cl,(%esi)
4958b0:	07                   	pop    %es
4958b1:	20 02                	and    %al,(%edx)
4958b3:	1d 05 1d 05 0e       	sbb    $0xe051d05,%eax
4958b8:	08 20                	or     %ah,(%eax)
4958ba:	02 1d 05 1d 05 1d    	add    0x1d051d05,%bl
4958c0:	05 06 00 01 12       	add    $0x12010006,%eax
4958c5:	09 1d 05 08 00 01    	or     %ebx,0x1000805
4958cb:	1d 12 81 39 12       	sbb    $0x12398112,%eax
4958d0:	09 09                	or     %ecx,(%ecx)
4958d2:	00 02                	add    %al,(%edx)
4958d4:	12 81 3d 12 81 39    	adc    0x3981123d(%ecx),%al
4958da:	0e                   	push   %cs
4958db:	09 00                	or     %eax,(%eax)
4958dd:	03 1c 12             	add    (%edx,%edx,1),%ebx
4958e0:	81 41 1c 1d 1c 05 00 	addl   $0x51c1d,0x1c(%ecx)
4958e7:	00 12                	add    %dl,(%edx)
4958e9:	81 45 08 00 02 1d 05 	addl   $0x51d0200,0x8(%ebp)
4958f0:	12 81 45 0e 0a 00    	adc    0xa0e45(%ecx),%al
4958f6:	03 12                	add    (%edx),%edx
4958f8:	81 49 1d 05 1d 05 08 	orl    $0x8051d05,0x1d(%ecx)
4958ff:	05 00 00 12 81       	add    $0x81120000,%eax
495904:	4d                   	dec    %ebp
495905:	08 00                	or     %al,(%eax)
495907:	02 1d 05 12 81 51    	add    0x51811205,%bl
49590d:	08 08                	or     %cl,(%eax)
49590f:	00 02                	add    %al,(%edx)
495911:	01 12                	add    %edx,(%edx)
495913:	81 55 1d 05 08 00 01 	adcl   $0x1000805,0x1d(%ebp)
49591a:	12 81 59 12 81 55    	adc    0x55811259(%ecx),%al
495920:	0b 00                	or     (%eax),%eax
495922:	04 1d                	add    $0x1d,%al
495924:	05 12 81 59 1d       	add    $0x1d598112,%eax
495929:	05 08 08 0c 00       	add    $0xc0808,%eax
49592e:	05 01 12 81 5d       	add    $0x5d811201,%eax
495933:	08 12                	or     %dl,(%edx)
495935:	81 5d 08 08 04 06 12 	sbbl   $0x12060408,0x8(%ebp)
49593c:	81 61 04 06 12 81 65 	andl   $0x65811206,0x4(%ecx)
495943:	05 00 00 12 81       	add    $0x81120000,%eax
495948:	61                   	popa
495949:	05 00 00 12 81       	add    $0x81120000,%eax
49594e:	65 06                	gs push %es
495950:	00 01                	add    %al,(%ecx)
495952:	01 12                	add    %edx,(%edx)
495954:	81 65 04 00 00 1d 05 	andl   $0x51d0000,0x4(%ebp)
49595b:	05 00 00 12 81       	add    $0x81120000,%eax
495960:	69 08 00 01 12 81    	imul   $0x81120100,(%eax),%ecx
495966:	39 11                	cmp    %edx,(%ecx)
495968:	81 6d 07 00 01 12 09 	subl   $0x9120100,0x7(%ebp)
49596f:	12 81 39 08 00 02    	adc    0x2000839(%ecx),%al
495975:	12 81 61 0e 12 09    	adc    0x9120e61(%ecx),%al
49597b:	0a 00                	or     (%eax),%al
49597d:	03 1c 12             	add    (%edx,%edx,1),%ebx
495980:	81 61 0e 12 81 65 05 	andl   $0x5658112,0xe(%ecx)
495987:	08 00                	or     %al,(%eax)
495989:	12 81 61 05 08 00    	adc    0x80561(%ecx),%al
49598f:	12 81 65 04 08 00    	adc    0x80465(%ecx),%al
495995:	1d 05 05 08 00       	sbb    $0x80505,%eax
49599a:	12 81 69 02 06 0c    	adc    0xc060269(%ecx),%al
4959a0:	04 06                	add    $0x6,%al
4959a2:	11 80 e1 03 00 00    	adc    %eax,0x3e1(%eax)
4959a8:	08 03                	or     %al,(%ebx)
4959aa:	00 00                	add    %al,(%eax)
4959ac:	0c 03                	or     $0x3,%al
4959ae:	20 00                	and    %al,(%eax)
4959b0:	08 05 20 00 11 81    	or     %al,0x81110020
4959b6:	71 05                	jno    0x4959bd
4959b8:	20 00                	and    %al,(%eax)
4959ba:	11 80 e1 06 20 01    	adc    %eax,0x12006e1(%eax)
4959c0:	01 11                	add    %edx,(%ecx)
4959c2:	80 e1 06             	and    $0x6,%cl
4959c5:	20 01                	and    %al,(%ecx)
4959c7:	01 11                	add    %edx,(%ecx)
4959c9:	81 71 06 20 01 01 12 	xorl   $0x12010120,0x6(%ecx)
4959d0:	81 75 06 00 01 12 81 	xorl   $0x81120100,0x6(%ebp)
4959d7:	79 0e                	jns    0x4959e7
4959d9:	08 00                	or     %al,(%eax)
4959db:	01 12                	add    %edx,(%edx)
4959dd:	81 7d 11 80 e1 0d 00 	cmpl   $0xde180,0x11(%ebp)
4959e4:	06                   	push   %es
4959e5:	01 12                	add    %edx,(%edx)
4959e7:	81 75 12 81 81 08 08 	xorl   $0x8088181,0x12(%ebp)
4959ee:	08 08                	or     %cl,(%eax)
4959f0:	0c 00                	or     $0x0,%al
4959f2:	03 01                	add    (%ecx),%eax
4959f4:	12 81 75 12 81 81    	adc    -0x7e7eed8b(%ecx),%al
4959fa:	11 81 71 09 00 02    	adc    %eax,0x2000971(%ecx)
495a00:	12 81 85 11 80 e1    	adc    -0x1e7fee7b(%ecx),%al
495a06:	0c 0c                	or     $0xc,%al