40574b:	00 40 ee             	add    %al,-0x12(%eax)
40574e:	01 00                	add    %eax,(%eax)
405750:	90                   	nop
405751:	ee                   	out    %al,(%dx)
405752:	01 00                	add    %eax,(%eax)
405754:	e0 ee                	loopne 0x405744
405756:	01 00                	add    %eax,(%eax)
405758:	f0 ee                	lock out %al,(%dx)
40575a:	01 00                	add    %eax,(%eax)
40575c:	00 ef                	add    %ch,%bh
40575e:	01 00                	add    %eax,(%eax)
405760:	30 ef                	xor    %ch,%bh
405762:	01 00                	add    %eax,(%eax)
405764:	d0 ef                	shr    $1,%bh
405766:	01 00                	add    %eax,(%eax)
405768:	40                   	inc    %eax
405769:	f0 01 00             	lock add %eax,(%eax)
40576c:	80 f0 01             	xor    $0x1,%al
40576f:	00 10                	add    %dl,(%eax)
405771:	f3 01 00             	repz add %eax,(%eax)
405774:	20 f3                	and    %dh,%bl
405776:	01 00                	add    %eax,(%eax)
405778:	30 f3                	xor    %dh,%bl
40577a:	01 00                	add    %eax,(%eax)
40577c:	10 f4                	adc    %dh,%ah
40577e:	01 00                	add    %eax,(%eax)
405780:	10 f6                	adc    %dh,%dh
405782:	01 00                	add    %eax,(%eax)
405784:	60                   	pusha
405785:	f7 01 00 70 f7 01    	testl  $0x1f77000,(%ecx)
40578b:	00 80 f7 01 00 d0    	add    %al,-0x2ffffe09(%eax)
405791:	f7 01 00 80 22 02    	testl  $0x2228000,(%ecx)
405797:	00 90 22 02 00 a0    	add    %dl,-0x5ffffdde(%eax)
40579d:	22 02                	and    (%edx),%al
40579f:	00 b0 22 02 00 c0    	add    %dh,-0x3ffffdde(%eax)
4057a5:	22 02                	and    (%edx),%al
4057a7:	00 d0                	add    %dl,%al
4057a9:	22 02                	and    (%edx),%al
4057ab:	00 e0                	add    %ah,%al
4057ad:	22 02                	and    (%edx),%al
4057af:	00 f0                	add    %dh,%al
4057b1:	22 02                	and    (%edx),%al
4057b3:	00 00                	add    %al,(%eax)
4057b5:	23 02                	and    (%edx),%eax
4057b7:	00 10                	add    %dl,(%eax)
4057b9:	23 02                	and    (%edx),%eax
4057bb:	00 20                	add    %ah,(%eax)
4057bd:	23 02                	and    (%edx),%eax
4057bf:	00 30                	add    %dh,(%eax)
4057c1:	23 02                	and    (%edx),%eax
4057c3:	00 40 23             	add    %al,0x23(%eax)
4057c6:	02 00                	add    (%eax),%al
4057c8:	50                   	push   %eax
4057c9:	23 02                	and    (%edx),%eax
4057cb:	00 60 23             	add    %ah,0x23(%eax)
4057ce:	02 00                	add    (%eax),%al
4057d0:	70 23                	jo     0x4057f5
4057d2:	02 00                	add    (%eax),%al
4057d4:	80 23 02             	andb   $0x2,(%ebx)
4057d7:	00 90 23 02 00 a0    	add    %dl,-0x5ffffddd(%eax)
4057dd:	23 02                	and    (%edx),%eax
4057df:	00 b0 23 02 00 c0    	add    %dh,-0x3ffffddd(%eax)
4057e5:	23 02                	and    (%edx),%eax
4057e7:	00 d0                	add    %dl,%al
4057e9:	23 02                	and    (%edx),%eax
4057eb:	00 e0                	add    %ah,%al
4057ed:	23 02                	and    (%edx),%eax
4057ef:	00 f0                	add    %dh,%al
4057f1:	23 02                	and    (%edx),%eax
4057f3:	00 00                	add    %al,(%eax)
4057f5:	24 02                	and    $0x2,%al
4057f7:	00 10                	add    %dl,(%eax)
4057f9:	24 02                	and    $0x2,%al
4057fb:	00 20                	add    %ah,(%eax)
4057fd:	24 02                	and    $0x2,%al
4057ff:	00 30                	add    %dh,(%eax)
405801:	24 02                	and    $0x2,%al
405803:	00 40 24             	add    %al,0x24(%eax)
405806:	02 00                	add    (%eax),%al
405808:	50                   	push   %eax
405809:	24 02                	and    $0x2,%al
40580b:	00 60 24             	add    %ah,0x24(%eax)
40580e:	02 00                	add    (%eax),%al
405810:	70 24                	jo     0x405836
405812:	02 00                	add    (%eax),%al
405814:	80 24 02 00          	andb   $0x0,(%edx,%eax,1)
405818:	90                   	nop
405819:	24 02                	and    $0x2,%al
40581b:	00 a0 24 02 00 b0    	add    %ah,-0x4ffffddc(%eax)
405821:	24 02                	and    $0x2,%al
405823:	00 c0                	add    %al,%al
405825:	24 02                	and    $0x2,%al
405827:	00 d0                	add    %dl,%al
405829:	24 02                	and    $0x2,%al
40582b:	00 e0                	add    %ah,%al
40582d:	24 02                	and    $0x2,%al
40582f:	00 f0                	add    %dh,%al
405831:	24 02                	and    $0x2,%al
405833:	00 00                	add    %al,(%eax)
405835:	25 02 00 10 25       	and    $0x25100002,%eax
40583a:	02 00                	add    (%eax),%al
40583c:	20 25 02 00 30 25    	and    %ah,0x25300002
405842:	02 00                	add    (%eax),%al
405844:	40                   	inc    %eax
405845:	25 02 00 50 25       	and    $0x25500002,%eax
40584a:	02 00                	add    (%eax),%al
40584c:	60                   	pusha
40584d:	25 02 00 70 25       	and    $0x25700002,%eax
405852:	02 00                	add    (%eax),%al
405854:	80 25 02 00 90 25 02 	andb   $0x2,0x25900002
40585b:	00 a0 25 02 00 b0    	add    %ah,-0x4ffffddb(%eax)
405861:	25 02 00 c0 25       	and    $0x25c00002,%eax
405866:	02 00                	add    (%eax),%al
405868:	d0 25 02 00 e0 25    	shlb   $1,0x25e00002
40586e:	02 00                	add    (%eax),%al
405870:	f0 25 02 00 00 26    	lock and $0x26000002,%eax
405876:	02 00                	add    (%eax),%al
405878:	10 26                	adc    %ah,(%esi)
40587a:	02 00                	add    (%eax),%al
40587c:	20 26                	and    %ah,(%esi)
40587e:	02 00                	add    (%eax),%al
405880:	30 26                	xor    %ah,(%esi)
405882:	02 00                	add    (%eax),%al
405884:	40                   	inc    %eax
405885:	26 02 00             	add    %es:(%eax),%al
405888:	50                   	push   %eax
405889:	26 02 00             	add    %es:(%eax),%al
40588c:	60                   	pusha
40588d:	26 02 00             	add    %es:(%eax),%al
405890:	70 26                	jo     0x4058b8
405892:	02 00                	add    (%eax),%al
405894:	80 26 02             	andb   $0x2,(%esi)
405897:	00 90 26 02 00 a0    	add    %dl,-0x5ffffdda(%eax)
40589d:	26 02 00             	add    %es:(%eax),%al
4058a0:	b0 26                	mov    $0x26,%al
4058a2:	02 00                	add    (%eax),%al
4058a4:	c0 26 02             	shlb   $0x2,(%esi)
4058a7:	00 d0                	add    %dl,%al
4058a9:	26 02 00             	add    %es:(%eax),%al
4058ac:	e0 26                	loopne 0x4058d4
4058ae:	02 00                	add    (%eax),%al
4058b0:	f0 26 02 00          	lock add %es:(%eax),%al
4058b4:	00 27                	add    %ah,(%edi)
4058b6:	02 00                	add    (%eax),%al
4058b8:	10 27                	adc    %ah,(%edi)
4058ba:	02 00                	add    (%eax),%al
4058bc:	20 27                	and    %ah,(%edi)
4058be:	02 00                	add    (%eax),%al
4058c0:	30 27                	xor    %ah,(%edi)
4058c2:	02 00                	add    (%eax),%al
4058c4:	40                   	inc    %eax
4058c5:	27                   	daa
4058c6:	02 00                	add    (%eax),%al
4058c8:	50                   	push   %eax
4058c9:	27                   	daa
4058ca:	02 00                	add    (%eax),%al
4058cc:	60                   	pusha
4058cd:	27                   	daa
4058ce:	02 00                	add    (%eax),%al
4058d0:	70 27                	jo     0x4058f9
4058d2:	02 00                	add    (%eax),%al
4058d4:	80 27 02             	andb   $0x2,(%edi)
4058d7:	00 90 27 02 00 a0    	add    %dl,-0x5ffffdd9(%eax)
4058dd:	27                   	daa
4058de:	02 00                	add    (%eax),%al
4058e0:	b0 27                	mov    $0x27,%al
4058e2:	02 00                	add    (%eax),%al
4058e4:	c0 27 02             	shlb   $0x2,(%edi)
4058e7:	00 d0                	add    %dl,%al
4058e9:	27                   	daa
4058ea:	02 00                	add    (%eax),%al
4058ec:	e0 27                	loopne 0x405915
4058ee:	02 00                	add    (%eax),%al
4058f0:	f0 27                	lock daa
4058f2:	02 00                	add    (%eax),%al
4058f4:	00 28                	add    %ch,(%eax)
4058f6:	02 00                	add    (%eax),%al
4058f8:	10 28                	adc    %ch,(%eax)
4058fa:	02 00                	add    (%eax),%al
4058fc:	20 28                	and    %ch,(%eax)
4058fe:	02 00                	add    (%eax),%al
405900:	30 28                	xor    %ch,(%eax)
405902:	02 00                	add    (%eax),%al
405904:	40                   	inc    %eax
405905:	28 02                	sub    %al,(%edx)
405907:	00 50 28             	add    %dl,0x28(%eax)
40590a:	02 00                	add    (%eax),%al
40590c:	60                   	pusha
40590d:	28 02                	sub    %al,(%edx)
40590f:	00 70 28             	add    %dh,0x28(%eax)
405912:	02 00                	add    (%eax),%al
405914:	80 28 02             	subb   $0x2,(%eax)
405917:	00 90 28 02 00 a0    	add    %dl,-0x5ffffdd8(%eax)
40591d:	28 02                	sub    %al,(%edx)
40591f:	00 b0 28 02 00 c0    	add    %dh,-0x3ffffdd8(%eax)
405925:	28 02                	sub    %al,(%edx)
405927:	00 d0                	add    %dl,%al
405929:	28 02                	sub    %al,(%edx)
40592b:	00 e0                	add    %ah,%al
40592d:	28 02                	sub    %al,(%edx)
40592f:	00 f0                	add    %dh,%al
405931:	28 02                	sub    %al,(%edx)
405933:	00 00                	add    %al,(%eax)
405935:	29 02                	sub    %eax,(%edx)
405937:	00 10                	add    %dl,(%eax)
405939:	29 02                	sub    %eax,(%edx)
40593b:	00 20                	add    %ah,(%eax)
40593d:	29 02                	sub    %eax,(%edx)
40593f:	00 30                	add    %dh,(%eax)
405941:	29 02                	sub    %eax,(%edx)
405943:	00 40 29             	add    %al,0x29(%eax)
405946:	02 00                	add    (%eax),%al
405948:	50                   	push   %eax
405949:	29 02                	sub    %eax,(%edx)
40594b:	00 60 29             	add    %ah,0x29(%eax)
40594e:	02 00                	add    (%eax),%al
405950:	70 29                	jo     0x40597b
405952:	02 00                	add    (%eax),%al
405954:	80 29 02             	subb   $0x2,(%ecx)
405957:	00 90 29 02 00 a0    	add    %dl,-0x5ffffdd7(%eax)
40595d:	29 02                	sub    %eax,(%edx)
40595f:	00 b0 29 02 00 c0    	add    %dh,-0x3ffffdd7(%eax)
405965:	29 02                	sub    %eax,(%edx)
405967:	00 d0                	add    %dl,%al
405969:	29 02                	sub    %eax,(%edx)
40596b:	00 e0                	add    %ah,%al
40596d:	29 02                	sub    %eax,(%edx)
40596f:	00 f0                	add    %dh,%al
405971:	29 02                	sub    %eax,(%edx)
405973:	00 00                	add    %al,(%eax)
405975:	2a 02                	sub    (%edx),%al
405977:	00 10                	add    %dl,(%eax)
405979:	2a 02                	sub    (%edx),%al
40597b:	00 20                	add    %ah,(%eax)
40597d:	2a 02                	sub    (%edx),%al
40597f:	00 30                	add    %dh,(%eax)
405981:	2a 02                	sub    (%edx),%al
405983:	00 40 2a             	add    %al,0x2a(%eax)
405986:	02 00                	add    (%eax),%al
405988:	50                   	push   %eax
405989:	2a 02                	sub    (%edx),%al
40598b:	00 60 2a             	add    %ah,0x2a(%eax)
40598e:	02 00                	add    (%eax),%al
405990:	70 2a                	jo     0x4059bc
405992:	02 00                	add    (%eax),%al
405994:	80 2a 02             	subb   $0x2,(%edx)
405997:	00 90 2a 02 00 a0    	add    %dl,-0x5ffffdd6(%eax)
40599d:	2a 02                	sub    (%edx),%al
40599f:	00 b0 2a 02 00 c0    	add    %dh,-0x3ffffdd6(%eax)
4059a5:	2a 02                	sub    (%edx),%al
4059a7:	00 d0                	add    %dl,%al
4059a9:	2a 02                	sub    (%edx),%al
4059ab:	00 e0                	add    %ah,%al
4059ad:	2a 02                	sub    (%edx),%al
4059af:	00 f0                	add    %dh,%al
4059b1:	2a 02                	sub    (%edx),%al
4059b3:	00 00                	add    %al,(%eax)
4059b5:	2b 02                	sub    (%edx),%eax
4059b7:	00 10                	add    %dl,(%eax)
4059b9:	2b 02                	sub    (%edx),%eax
4059bb:	00 20                	add    %ah,(%eax)
4059bd:	2b 02                	sub    (%edx),%eax
4059bf:	00 30                	add    %dh,(%eax)
4059c1:	2b 02                	sub    (%edx),%eax
4059c3:	00 40 2b             	add    %al,0x2b(%eax)
4059c6:	02 00                	add    (%eax),%al
4059c8:	50                   	push   %eax
4059c9:	2b 02                	sub    (%edx),%eax
4059cb:	00 60 2b             	add    %ah,0x2b(%eax)
4059ce:	02 00                	add    (%eax),%al
4059d0:	70 2b                	jo     0x4059fd
4059d2:	02 00                	add    (%eax),%al
4059d4:	80 2b 02             	subb   $0x2,(%ebx)
4059d7:	00 90 2b 02 00 a0    	add    %dl,-0x5ffffdd5(%eax)
4059dd:	2b 02                	sub    (%edx),%eax
4059df:	00 b0 2b 02 00 c0    	add    %dh,-0x3ffffdd5(%eax)
4059e5:	2b 02                	sub    (%edx),%eax
4059e7:	00 a0 44 02 00 b0    	add    %ah,-0x4ffffdbc(%eax)
4059ed:	44                   	inc    %esp
4059ee:	02 00                	add    (%eax),%al
4059f0:	c0 44 02 00 d0       	rolb   $0xd0,0x0(%edx,%eax,1)
4059f5:	44                   	inc    %esp
4059f6:	02 00                	add    (%eax),%al
4059f8:	e0 44                	loopne 0x405a3e
4059fa:	02 00                	add    (%eax),%al
4059fc:	f0 44                	lock inc %esp
4059fe:	02 00                	add    (%eax),%al
405a00:	00 45 02             	add    %al,0x2(%ebp)
405a03:	00 10                	add    %dl,(%eax)
405a05:	45                   	inc    %ebp
405a06:	02 00                	add    (%eax),%al
405a08:	20 45 02             	and    %al,0x2(%ebp)
405a0b:	00 00                	add    %al,(%eax)
405a0d:	e4 02                	in     $0x2,%al
405a0f:	00 60 e4             	add    %ah,-0x1c(%eax)
405a12:	02 00                	add    (%eax),%al
405a14:	c0 e4 02             	shl    $0x2,%ah
405a17:	00 20                	add    %ah,(%eax)
405a19:	e5 02                	in     $0x2,%eax
405a1b:	00 80 e8 02 00 90    	add    %al,-0x6ffffd18(%eax)
405a21:	ea 02 00 f0 eb 02 00 	ljmp   $0x2,$0xebf00002
405a28:	50                   	push   %eax
405a29:	ed                   	in     (%dx),%eax
405a2a:	02 00                	add    (%eax),%al
405a2c:	a0 f6 02 00 80       	mov    0x800002f6,%al
405a31:	fc                   	cld
405a32:	02 00                	add    (%eax),%al
405a34:	b0 fc                	mov    $0xfc,%al
405a36:	02 00                	add    (%eax),%al
405a38:	80 fd 02             	cmp    $0x2,%ch
405a3b:	00 a0 fd 02 00 00    	add    %ah,0x2fd(%eax)
405a41:	05 03 00 30 05       	add    $0x5300003,%eax
405a46:	03 00                	add    (%eax),%eax
405a48:	50                   	push   %eax
405a49:	05 03 00 70 05       	add    $0x5700003,%eax
405a4e:	03 00                	add    (%eax),%eax
405a50:	10 07                	adc    %al,(%edi)
405a52:	03 00                	add    (%eax),%eax
405a54:	40                   	inc    %eax
405a55:	07                   	pop    %es
405a56:	03 00                	add    (%eax),%eax
405a58:	70 07                	jo     0x405a61
405a5a:	03 00                	add    (%eax),%eax
405a5c:	a0 07 03 00 b0       	mov    0xb0000307,%al
405a61:	07                   	pop    %es
405a62:	03 00                	add    (%eax),%eax
405a64:	c0 07 03             	rolb   $0x3,(%edi)
405a67:	00 f0                	add    %dh,%al
405a69:	17                   	pop    %ss
405a6a:	03 00                	add    (%eax),%eax
405a6c:	50                   	push   %eax
405a6d:	1d 03 00 b0 1d       	sbb    $0x1db00003,%eax
405a72:	03 00                	add    (%eax),%eax
405a74:	70 25                	jo     0x405a9b
405a76:	03 00                	add    (%eax),%eax
405a78:	90                   	nop
405a79:	29 03                	sub    %eax,(%ebx)
405a7b:	00 10                	add    %dl,(%eax)
405a7d:	2a 03                	sub    (%ebx),%al
405a7f:	00 f0                	add    %dh,%al
405a81:	2e 03 00             	add    %cs:(%eax),%eax
405a84:	50                   	push   %eax
405a85:	2f                   	das
405a86:	03 00                	add    (%eax),%eax
405a88:	80 2f 03             	subb   $0x3,(%edi)
405a8b:	00 40 30             	add    %al,0x30(%eax)
405a8e:	03 00                	add    (%eax),%eax
405a90:	90                   	nop
405a91:	32 03                	xor    (%ebx),%al
405a93:	00 f0                	add    %dh,%al