40765a:	57                   	push   %edi
40765b:	13 06                	adc    (%esi),%eax
40765d:	00 84 00 fd 1b c3 00 	add    %al,0xc31bfd(%eax,%eax,1)
407664:	84 00                	test   %al,(%eax)
407666:	ef                   	out    %eax,(%dx)
407667:	0f 96 02             	setbe  (%edx)
40766a:	61                   	popa
40766b:	01 f4                	add    %esi,%esp
40766d:	1d c3 00 51 01       	sbb    $0x15100c3,%eax
407672:	07                   	pop    %es
407673:	1c c3                	sbb    $0xc3,%al
407675:	00 51 01             	add    %dl,0x1(%ecx)
407678:	4e                   	dec    %esi
407679:	1a a6 02 31 03 ef    	sbb    -0x10fccefe(%esi),%ah
40767f:	0f ac 02 d9          	shrd   $0xd9,%eax,(%edx)
407683:	01 11                	add    %edx,(%ecx)
407685:	10 ac 00 39 03 c7 1d 	adc    %ch,0x1dc70339(%eax,%eax,1)
40768c:	c2 02 8c             	ret    $0x8c02
40768f:	00 fd                	add    %bh,%ch
407691:	1b c3                	sbb    %ebx,%eax
407693:	00 39                	add    %bh,(%ecx)
407695:	03 b9 10 c2 02 99    	add    -0x66fd3df0(%ecx),%edi
40769b:	01 6a 02             	add    %ebp,0x2(%edx)
40769e:	cf                   	iret
40769f:	02 b1 00 59 0d a3    	add    -0x5cf2a700(%ecx),%dh
4076a5:	00 41 03             	add    %al,0x3(%ecx)
4076a8:	b3 1a                	mov    $0x1a,%bl
4076aa:	d5 02                	aad    $0x2
4076ac:	8c 00                	mov    %es,(%eax)
4076ae:	8d 15 06 00 8c 00    	lea    0x8c0006,%edx
4076b4:	47                   	inc    %edi
4076b5:	01 90 00 44 00 8d    	add    %edx,-0x72ffbc00(%eax)
4076bb:	15 06 00 94 00       	adc    $0x940006,%eax
4076c0:	62 12                	bound  %edx,(%edx)
4076c2:	e3 02                	jecxz  0x4076c6
4076c4:	4c                   	dec    %esp
4076c5:	00 8d 15 6f 02 94    	add    %cl,-0x6bfd90eb(%ebp)
4076cb:	00 1d 02 e8 02 94    	add    %bl,0x9402e802
4076d1:	00 cf                	add    %cl,%bh
4076d3:	1e                   	push   %ds
4076d4:	eb 02                	jmp    0x4076d8
4076d6:	9c                   	pushf
4076d7:	00 dd                	add    %bl,%ch
4076d9:	18 02                	sbb    %al,(%edx)
4076db:	03 94 00 3a 09 13 03 	add    0x313093a(%eax,%eax,1),%edx
4076e2:	ac                   	lods   %ds:(%esi),%al
4076e3:	00 8d 15 e9 00 a4    	add    %cl,-0x5bff16eb(%ebp)
4076e9:	00 1c 1c             	add    %bl,(%esp,%ebx,1)
4076ec:	23 03                	and    (%ebx),%eax
4076ee:	51                   	push   %ecx
4076ef:	03 8d 15 2e 03 4c    	add    0x4c032e15(%ebp),%ecx
4076f5:	00 4b 01             	add    %cl,0x1(%ebx)
4076f8:	36 03 94 00 da 12 13 	add    %ss:0x31312da(%eax,%eax,1),%edx
4076ff:	03
407700:	b1 01                	mov    $0x1,%cl
407702:	83 0c 52 03          	orl    $0x3,(%edx,%edx,2)
407706:	b9 01 fa 12 a7       	mov    $0xa712fa01,%ecx
40770b:	00 b1 00 6f 18 57    	add    %dh,0x57186f00(%ecx)
407711:	03 41 03             	add    0x3(%ecx),%eax
407714:	3a 09                	cmp    (%ecx),%cl
407716:	5c                   	pop    %esp
407717:	03 11                	add    (%ecx),%edx
407719:	02 27                	add    (%edi),%ah
40771b:	0d b0 00 c1 00       	or     $0xc100b0,%eax
407720:	59                   	pop    %ecx
407721:	0d a3 00 79 00       	or     $0x7900a3,%eax
407726:	1f                   	pop    %ds
407727:	0a 06                	or     (%esi),%al
407729:	00 11                	add    %dl,(%ecx)
40772b:	02 1f                	add    (%edi),%bl
40772d:	0d ac 00 79 02       	or     $0x27900ac,%eax
407732:	cb                   	lret
407733:	0e                   	push   %cs
407734:	74 03                	je     0x407739
407736:	69 03 c2 1d 7a 03    	imul   $0x37a1dc2,(%ebx),%eax
40773c:	41                   	inc    %ecx
40773d:	03 c1                	add    %ecx,%eax
40773f:	1e                   	push   %ds
407740:	81 03 f9 01 4e 1a    	addl   $0x1a4e01f9,(%ebx)
407746:	87 03                	xchg   %eax,(%ebx)
407748:	79 03                	jns    0x40774d
40774a:	47                   	inc    %edi
40774b:	01 8d 03 c1 01 8d    	add    %ecx,-0x72fe3efd(%ebp)
407751:	15 06 00 c9 01       	adc    $0x1c90006,%eax
407756:	8d 15 06 00 c1 01    	lea    0x1c10006,%edx
40775c:	35 13 15 00 99       	xor    $0x99001513,%eax
407761:	00 27                	add    %ah,(%edi)
407763:	08 95 03 91 03 c5    	or     %dl,-0x3afc6efd(%ebp)
407769:	0d 01 00 11 02       	or     $0x2110001,%eax
40776e:	c8 0c e2 00          	enter  $0xe20c,$0x0
407772:	11 02                	adc    %eax,(%edx)
407774:	b8 0c e2 00 91       	mov    $0x9100e20c,%eax
407779:	03 f4                	add    %esp,%esi
40777b:	08 15 00 c9 01 c4    	or     %dl,0xc401c900
407781:	19 9c 03 a1 03 1b 13 	sbb    %ebx,0x131b03a1(%ebx,%eax,1)
407788:	a3 03 11 02 3e       	mov    %eax,0x3e021103
40778d:	15 a9 03 79 00       	adc    $0x7903a9,%eax
407792:	1b 1e                	sbb    (%esi),%ebx
407794:	15 00 51 01 eb       	adc    $0xeb015100,%eax
407799:	04 b0                	add    $0xb0,%al
40779b:	00 51 01             	add    %dl,0x1(%ecx)
40779e:	c5 07                	lds    (%edi),%eax
4077a0:	b0 03                	mov    $0x3,%al
4077a2:	e1 01                	loope  0x4077a5
4077a4:	3d 06 b6 03 d9       	cmp    $0xd903b606,%eax
4077a9:	02 ef                	add    %bh,%ch
4077ab:	0f bd 03             	bsr    (%ebx),%eax
4077ae:	e9 02 c5 07 b0       	jmp    0xb0483cb5
4077b3:	03 79 00             	add    0x0(%ecx),%edi
4077b6:	b0 0d                	mov    $0xd,%al
4077b8:	c9                   	leave
4077b9:	03 51 01             	add    0x1(%ecx),%edx
4077bc:	6e                   	outsb  %ds:(%esi),(%dx)
4077bd:	1a d3                	sbb    %bl,%dl
4077bf:	03 b1 03 ef 0f ac    	add    -0x53f010fd(%ecx),%esi
4077c5:	02 e9                	add    %cl,%ch
4077c7:	02 cb                	add    %bl,%cl
4077c9:	1d c3 00 79 03       	sbb    $0x37900c3,%eax
4077ce:	ef                   	out    %eax,(%dx)
4077cf:	0f d9 03             	psubusw (%ebx),%mm0
4077d2:	81 03 77 0a 06 00    	addl   $0x60a77,(%ebx)
4077d8:	f9                   	stc
4077d9:	01 7c 17 06          	add    %edi,0x6(%edi,%edx,1)
4077dd:	00 d9                	add    %bl,%cl
4077df:	01 c6                	add    %eax,%esi
4077e1:	18 ef                	sbb    %ch,%bh
4077e3:	03 b9 03 ef 0f f5    	add    -0xaf010fd(%ecx),%edi
4077e9:	03 c1                	add    %ecx,%eax
4077eb:	03 79 0c             	add    0xc(%ecx),%edi
4077ee:	ac                   	lods   %ds:(%esi),%al
4077ef:	00 79 02             	add    %bh,0x2(%ecx)
4077f2:	59                   	pop    %ecx
4077f3:	0d fc 03 41 03       	or     $0x34103fc,%eax
4077f8:	36 19 01             	sbb    %eax,%ss:(%ecx)
4077fb:	04 41                	add    $0x41,%al
4077fd:	03 13                	add    (%ebx),%edx
4077ff:	0d 06 04 41 03       	or     $0x3410406,%eax
407804:	9d                   	popf
407805:	0c 0b                	or     $0xb,%al
407807:	04 e1                	add    $0xe1,%al
407809:	01 8d 15 06 00 51    	add    %ecx,0x51000615(%ebp)
40780f:	01 4a 06             	add    %ecx,0x6(%edx)
407812:	19 04 51             	sbb    %eax,(%ecx,%edx,2)
407815:	01 82 06 20 04 a1    	add    %eax,-0x5efbdffa(%edx)
40781b:	03 ef                	add    %edi,%ebp
40781d:	06                   	push   %es
40781e:	a3 03 51 01 05       	mov    %eax,0x5015103
407823:	15 a9 03 e1 01       	adc    $0x1e103a9,%eax
407828:	a3 1b 27 04 e1       	mov    %eax,0xe104271b
40782d:	03 be 0f a3 03 e1    	add    -0x1efc5cf1(%esi),%edi
407833:	01 3e                	add    %edi,(%esi)
407835:	15 a9 03 e1 01       	adc    $0x1e103a9,%eax
40783a:	f4                   	hlt
40783b:	1b 2e                	sbb    (%esi),%ebp
40783d:	02 e1                	add    %cl,%ah
40783f:	03 40 1d             	add    0x1d(%eax),%eax
407842:	a3 03 e1 01 19       	mov    %eax,0x1901e103
407847:	15 a9 03 e1 03       	adc    $0x3e103a9,%eax
40784c:	fa                   	cli
40784d:	1a a3 03 e1 01 68    	sbb    0x6801e103(%ebx),%ah
407853:	15 a9 03 e1 03       	adc    $0x3e103a9,%eax
407858:	2e 1d a3 03 e1 01    	cs sbb $0x1e103a3,%eax
40785e:	27                   	daa
40785f:	15 a9 03 51 01       	adc    $0x15103a9,%eax
407864:	ef                   	out    %eax,(%dx)
407865:	07                   	pop    %es
407866:	2e 04 e1             	cs add $0xe1,%al
407869:	03 b1 1d a3 03 e1    	add    -0x1efc5ce3(%ecx),%esi
40786f:	03 0f                	add    (%edi),%ecx
407871:	1d a3 03 51 01       	sbb    $0x15103a3,%eax
407876:	da 07                	fiaddl (%edi)
407878:	2e 04 51             	cs add $0x51,%al
40787b:	01 b4 06 35 04 a1 03 	add    %esi,0x3a10435(%esi,%eax,1)
407882:	d7                   	xlat   %ds:(%ebx)
407883:	14 a3                	adc    $0xa3,%al
407885:	03 51 01             	add    0x1(%ecx),%edx
407888:	f7 14 a9             	notl   (%ecx,%ebp,4)
40788b:	03 51 01             	add    0x1(%ecx),%edx
40788e:	59                   	pop    %ecx
40788f:	05 3c 04 51 01       	add    $0x151043c,%eax
407894:	11 06                	adc    %eax,(%esi)
407896:	43                   	inc    %ebx
407897:	04 79                	add    $0x79,%al
407899:	00 7b 12             	add    %bh,0x12(%ebx)
40789c:	4a                   	dec    %edx
40789d:	04 11                	add    $0x11,%al
40789f:	02 c2                	add    %dl,%al
4078a1:	1d 06 00 79 00       	sbb    $0x790006,%eax
4078a6:	37                   	aaa
4078a7:	08 5b 04             	or     %bl,0x4(%ebx)
4078aa:	11 04 8d 15 e9 00 79 	adc    %eax,0x7900e915(,%ecx,4)
4078b1:	00 7d 0d             	add    %bh,0xd(%ebp)
4078b4:	62 04 e9             	bound  %eax,(%ecx,%ebp,8)
4078b7:	01 8d 15 70 04 f1    	add    %ecx,-0xefb8feb(%ebp)
4078bd:	01 8d 15 10 00 f9    	add    %ecx,-0x6ffefeb(%ebp)
4078c3:	01 8d 15 06 00 01    	add    %ecx,0x1000615(%ebp)
4078c9:	02 8d 15 06 00 01    	add    0x1000615(%ebp),%cl
4078cf:	02 eb                	add    %bl,%ch
4078d1:	04 b0                	add    $0xb0,%al
4078d3:	00 f1                	add    %dh,%cl
4078d5:	01 aa 0f 10 00 f1    	add    %ebp,-0xeffeff1(%edx)
4078db:	01 a2 0f 76 04 f1    	add    %esp,-0xefb89f1(%edx)
4078e1:	01 a5 17 7d 04 21    	add    %esp,0x21047d17(%ebp)
4078e7:	04 ef                	add    $0xef,%al
4078e9:	0f 83 04 41 03 bf    	jae    0xbf43b9f3
4078ef:	1a 8a 04 41 03 b3    	sbb    -0x4cfcbefc(%edx),%cl
4078f5:	1a 91 04 a1 03 7e    	sbb    0x7e03a104(%ecx),%dl
4078fb:	0a a3 03 11 02 a6    	or     -0x59fdeefd(%ebx),%ah
407901:	0e                   	push   %cs
407902:	9d                   	popf
407903:	04 08                	add    $0x8,%al
407905:	00 34 00             	add    %dh,(%eax,%eax,1)
407908:	b6 04                	mov    $0x4,%dh
40790a:	08 00                	or     %al,(%eax)
40790c:	38 00                	cmp    %al,(%eax)
40790e:	bb 04 08 00 3c       	mov    $0x3c000804,%ebx
407913:	00 c0                	add    %al,%al
407915:	04 2e                	add    $0x2e,%al
407917:	00 0b                	add    %cl,(%ebx)
407919:	00 af 06 2e 00 13    	add    %ch,0x13002e06(%edi)
40791f:	00 b8 06 2e 00 1b    	add    %bh,0x1b002e06(%eax)
407925:	00 d7                	add    %dl,%bh
407927:	06                   	push   %es
407928:	2e 00 23             	add    %ah,%cs:(%ebx)
40792b:	00 e0                	add    %ah,%al
40792d:	06                   	push   %es
40792e:	2e 00 2b             	add    %ch,%cs:(%ebx)
407931:	00 f5                	add    %dh,%ch
407933:	06                   	push   %es
407934:	2e 00 33             	add    %dh,%cs:(%ebx)
407937:	00 f5                	add    %dh,%ch
407939:	06                   	push   %es
40793a:	2e 00 3b             	add    %bh,%cs:(%ebx)
40793d:	00 f5                	add    %dh,%ch
40793f:	06                   	push   %es
407940:	2e 00 43 00          	add    %al,%cs:0x0(%ebx)
407944:	e0 06                	loopne 0x40794c
407946:	2e 00 4b 00          	add    %cl,%cs:0x0(%ebx)
40794a:	fb                   	sti
40794b:	06                   	push   %es
40794c:	2e 00 53 00          	add    %dl,%cs:0x0(%ebx)
407950:	f5                   	cmc
407951:	06                   	push   %es
407952:	2e 00 5b 00          	add    %bl,%cs:0x0(%ebx)
407956:	f5                   	cmc
407957:	06                   	push   %es
407958:	2e 00 63 00          	add    %ah,%cs:0x0(%ebx)
40795c:	1a 07                	sbb    (%edi),%al
40795e:	2e 00 6b 00          	add    %ch,%cs:0x0(%ebx)
407962:	44                   	inc    %esp
407963:	07                   	pop    %es
407964:	69 01 9b 00 f7 07    	imul   $0x7f7009b,(%ecx),%eax
40796a:	80 01 73             	addb   $0x73,(%ecx)
40796d:	00 bb 04 89 01 9b    	add    %bh,-0x64fe76fc(%ebx)
407973:	00 f7                	add    %dh,%bh
407975:	07                   	pop    %es
407976:	a0 01 73 00 bb       	mov    0xbb007301,%al
40797b:	04 a3                	add    $0xa3,%al
40797d:	01 8b 00 5b 07 a3    	add    %ecx,-0x5cf8a500(%ebx)
407983:	01 93 00 bb 04 a3    	add    %edx,-0x5cfb4500(%ebx)
407989:	01 73 00             	add    %esi,0x0(%ebx)
40798c:	bb 04 c0 01 73       	mov    $0x7301c004,%ebx
407991:	00 bb 04 c3 01 73    	add    %bh,0x7301c304(%ebx)
407997:	00 bb 04 c3 01 8b    	add    %bh,-0x74fe3cfc(%ebx)
40799d:	00 9d 07 e0 01 73    	add    %bl,0x7301e007(%ebp)
4079a3:	00 bb 04 01 02 73    	add    %bh,0x73020104(%ebx)
4079a9:	00 bb 04 01 02 7b    	add    %bh,0x7b020104(%ebx)
4079af:	00 52 07             	add    %dl,0x7(%edx)
4079b2:	20 02                	and    %al,(%edx)
4079b4:	73 00                	jae    0x4079b6
4079b6:	bb 04 21 02 73       	mov    $0x73022104,%ebx
4079bb:	00 bb 04 21 02 7b    	add    %bh,0x7b022104(%ebx)
4079c1:	00 52 07             	add    %dl,0x7(%edx)
4079c4:	40                   	inc    %eax
4079c5:	02 73 00             	add    0x0(%ebx),%dh
4079c8:	bb 04 41 02 73       	mov    $0x73024104,%ebx
4079cd:	00 bb 04 41 02 7b    	add    %bh,0x7b024104(%ebx)
4079d3:	00 52 07             	add    %dl,0x7(%edx)
4079d6:	61                   	popa
4079d7:	02 73 00             	add    0x0(%ebx),%dh
4079da:	bb 04 61 02 7b       	mov    $0x7b026104,%ebx
4079df:	00 52 07             	add    %dl,0x7(%edx)
4079e2:	80 02 73             	addb   $0x73,(%edx)
4079e5:	00 bb 04 81 02 73    	add    %bh,0x73028104(%ebx)
4079eb:	00 bb 04 81 02 7b    	add    %bh,0x7b028104(%ebx)
4079f1:	00 52 07             	add    %dl,0x7(%edx)
4079f4:	a0 02 73 00 bb       	mov    0xbb007302,%al
4079f9:	04 a1                	add    $0xa1,%al
4079fb:	02 73 00             	add    0x0(%ebx),%dh
4079fe:	bb 04 a1 02 7b       	mov    $0x7b02a104,%ebx
407a03:	00 52 07             	add    %dl,0x7(%edx)
407a06:	c0 02 73             	rolb   $0x73,(%edx)
407a09:	00 bb 04 c1 02 73    	add    %bh,0x7302c104(%ebx)
407a0f:	00 bb 04 c1 02 7b    	add    %bh,0x7b02c104(%ebx)
407a15:	00 52 07             	add    %dl,0x7(%edx)
407a18:	e0 02                	loopne 0x407a1c
407a1a:	73 00                	jae    0x407a1c
407a1c:	bb 04 e1 02 73       	mov    $0x7302e104,%ebx
407a21:	00 bb 04 e1 02 7b    	add    %bh,0x7b02e104(%ebx)
407a27:	00 52 07             	add    %dl,0x7(%edx)
407a2a:	00 03                	add    %al,(%ebx)
407a2c:	73 00                	jae    0x407a2e
407a2e:	bb 04 20 03 73       	mov    $0x73032004,%ebx
407a33:	00 bb 04 80 03 73    	add    %bh,0x73038004(%ebx)
407a39:	00 bb 04 a0 03 73    	add    %bh,0x7303a004(%ebx)
407a3f:	00 bb 04 60 04 73    	add    %bh,0x73046004(%ebx)
407a45:	00 bb 04 80 04 73    	add    %bh,0x73048004(%ebx)
407a4b:	00 bb 04 a1 04 73    	add    %bh,0x7304a104(%ebx)
407a51:	00 bb 04 a1 04 7b    	add    %bh,0x7b04a104(%ebx)
407a57:	00 52 07             	add    %dl,0x7(%edx)
407a5a:	21 05 73 00 bb 04    	and    %eax,0x4bb0073
407a60:	21 05 7b 00 52 07    	and    %eax,0x752007b
407a66:	61                   	popa
407a67:	05 73 00 bb 04       	add    $0x4bb0073,%eax
407a6c:	61                   	popa
407a6d:	05 7b 00 52 07       	add    $0x752007b,%eax
407a72:	81 05 73 00 bb 04 81 	addl   $0x7b0581,0x4bb0073
407a79:	05 7b 00
407a7c:	52                   	push   %edx
407a7d:	07                   	pop    %es
407a7e:	a1 05 73 00 bb       	mov    0xbb007305,%eax
407a83:	04 a1                	add    $0xa1,%al
407a85:	05 7b 00 52 07       	add    $0x752007b,%eax
407a8a:	00 06                	add    %al,(%esi)
407a8c:	83 00 bb             	addl   $0xffffffbb,(%eax)
407a8f:	04 c0                	add    $0xc0,%al
407a91:	08 73 00             	or     %dh,0x0(%ebx)
407a94:	bb 04 e0 08 73       	mov    $0x7308e004,%ebx
407a99:	00 bb 04 40 0a 73    	add    %bh,0x730a4004(%ebx)
407a9f:	00 bb 04 60 0a 73    	add    %bh,0x730a6004(%ebx)
407aa5:	00 bb 04 c1 0a 73    	add    %bh,0x730ac104(%ebx)
407aab:	00 bb 04 c1 0a 7b    	add    %bh,0x7b0ac104(%ebx)
407ab1:	00 52 07             	add    %dl,0x7(%edx)
407ab4:	e0 0a                	loopne 0x407ac0
407ab6:	73 00                	jae    0x407ab8
407ab8:	bb 04 00 0b 73       	mov    $0x730b0004,%ebx
407abd:	00 bb 04 01 0b 73    	add    %bh,0x730b0104(%ebx)
407ac3:	00 bb 04 01 0b 7b    	add    %bh,0x7b0b0104(%ebx)
407ac9:	00 52 07             	add    %dl,0x7(%edx)
407acc:	21 0b                	and    %ecx,(%ebx)
407ace:	73 00                	jae    0x407ad0
407ad0:	bb 04 21 0b 7b       	mov    $0x7b0b2104,%ebx
407ad5:	00 52 07             	add    %dl,0x7(%edx)
407ad8:	40                   	inc    %eax
407ad9:	0b 73 00             	or     0x0(%ebx),%esi
407adc:	bb 04 41 0b 73       	mov    $0x730b4104,%ebx
407ae1:	00 bb 04 41 0b 7b    	add    %bh,0x7b0b4104(%ebx)
407ae7:	00 52 07             	add    %dl,0x7(%edx)
407aea:	60                   	pusha
407aeb:	0b 73 00             	or     0x0(%ebx),%esi