40a8a8:	04 20                	add    $0x20,%al
40a8aa:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a8ab:	01 00                	add    %eax,(%eax)
40a8ad:	00 1f                	add    %bl,(%edi)
40a8af:	56                   	push   %esi
40a8b0:	73 28                	jae    0x40a8da
40a8b2:	00 00                	add    %al,(%eax)
40a8b4:	0a 6f 29             	or     0x29(%edi),%ch
40a8b7:	00 00                	add    %al,(%eax)
40a8b9:	0a 00                	or     (%eax),%al
40a8bb:	02 7b ce             	add    -0x32(%ebx),%bh
40a8be:	00 00                	add    %al,(%eax)
40a8c0:	04 72                	add    $0x72,%al
40a8c2:	87 0d 00 70 6f 2a    	xchg   %ecx,0x2a6f7000
40a8c8:	00 00                	add    %al,(%eax)
40a8ca:	0a 00                	or     (%eax),%al
40a8cc:	02 7b ce             	add    -0x32(%ebx),%bh
40a8cf:	00 00                	add    %al,(%eax)
40a8d1:	04 1f                	add    $0x1f,%al
40a8d3:	2f                   	das
40a8d4:	1f                   	pop    %ds
40a8d5:	17                   	pop    %ss
40a8d6:	73 2b                	jae    0x40a903
40a8d8:	00 00                	add    %al,(%eax)
40a8da:	0a 6f 2c             	or     0x2c(%edi),%ch
40a8dd:	00 00                	add    %al,(%eax)
40a8df:	0a 00                	or     (%eax),%al
40a8e1:	02 7b ce             	add    -0x32(%ebx),%bh
40a8e4:	00 00                	add    %al,(%eax)
40a8e6:	04 1f                	add    $0x1f,%al
40a8e8:	1f                   	pop    %ds
40a8e9:	6f                   	outsl  %ds:(%esi),(%dx)
40a8ea:	2d 00 00 0a 00       	sub    $0xa0000,%eax
40a8ef:	02 7b ce             	add    -0x32(%ebx),%bh
40a8f2:	00 00                	add    %al,(%eax)
40a8f4:	04 72                	add    $0x72,%al
40a8f6:	99                   	cltd
40a8f7:	0d 00 70 6f 9d       	or     $0x9d6f7000,%eax
40a8fc:	00 00                	add    %al,(%eax)
40a8fe:	0a 00                	or     (%eax),%al
40a900:	02 7b ce             	add    -0x32(%ebx),%bh
40a903:	00 00                	add    %al,(%eax)
40a905:	04 72                	add    $0x72,%al
40a907:	99                   	cltd
40a908:	0d 00 70 6f 1b       	or     $0x1b6f7000,%eax
40a90d:	00 00                	add    %al,(%eax)
40a90f:	0a 00                	or     (%eax),%al
40a911:	02 7b ce             	add    -0x32(%ebx),%bh
40a914:	00 00                	add    %al,(%eax)
40a916:	04 17                	add    $0x17,%al
40a918:	6f                   	outsl  %ds:(%esi),(%dx)
40a919:	4a                   	dec    %edx
40a91a:	00 00                	add    %al,(%eax)
40a91c:	0a 00                	or     (%eax),%al
40a91e:	02 7b ce             	add    -0x32(%ebx),%bh
40a921:	00 00                	add    %al,(%eax)
40a923:	04 02                	add    $0x2,%al
40a925:	fe 06                	incb   (%esi)
40a927:	4f                   	dec    %edi
40a928:	00 00                	add    %al,(%eax)
40a92a:	06                   	push   %es
40a92b:	73 37                	jae    0x40a964
40a92d:	00 00                	add    %al,(%eax)
40a92f:	0a 6f 4b             	or     0x4b(%edi),%ch
40a932:	00 00                	add    %al,(%eax)
40a934:	0a 00                	or     (%eax),%al
40a936:	02 7b cf             	add    -0x31(%ebx),%bh
40a939:	00 00                	add    %al,(%eax)
40a93b:	04 20                	add    $0x20,%al
40a93d:	3e 01 00             	add    %eax,%ds:(%eax)
40a940:	00 1f                	add    %bl,(%edi)
40a942:	56                   	push   %esi
40a943:	73 28                	jae    0x40a96d
40a945:	00 00                	add    %al,(%eax)
40a947:	0a 6f 29             	or     0x29(%edi),%ch
40a94a:	00 00                	add    %al,(%eax)
40a94c:	0a 00                	or     (%eax),%al
40a94e:	02 7b cf             	add    -0x31(%ebx),%bh
40a951:	00 00                	add    %al,(%eax)
40a953:	04 72                	add    $0x72,%al
40a955:	9f                   	lahf
40a956:	0d 00 70 6f 2a       	or     $0x2a6f7000,%eax
40a95b:	00 00                	add    %al,(%eax)
40a95d:	0a 00                	or     (%eax),%al
40a95f:	02 7b cf             	add    -0x31(%ebx),%bh
40a962:	00 00                	add    %al,(%eax)
40a964:	04 1f                	add    $0x1f,%al
40a966:	2f                   	das
40a967:	1f                   	pop    %ds
40a968:	17                   	pop    %ss
40a969:	73 2b                	jae    0x40a996
40a96b:	00 00                	add    %al,(%eax)
40a96d:	0a 6f 2c             	or     0x2c(%edi),%ch
40a970:	00 00                	add    %al,(%eax)
40a972:	0a 00                	or     (%eax),%al
40a974:	02 7b cf             	add    -0x31(%ebx),%bh
40a977:	00 00                	add    %al,(%eax)
40a979:	04 1f                	add    $0x1f,%al
40a97b:	20 6f 2d             	and    %ch,0x2d(%edi)
40a97e:	00 00                	add    %al,(%eax)
40a980:	0a 00                	or     (%eax),%al
40a982:	02 7b cf             	add    -0x31(%ebx),%bh
40a985:	00 00                	add    %al,(%eax)
40a987:	04 72                	add    $0x72,%al
40a989:	09 0d 00 70 6f 9d    	or     %ecx,0x9d6f7000
40a98f:	00 00                	add    %al,(%eax)
40a991:	0a 00                	or     (%eax),%al
40a993:	02 7b cf             	add    -0x31(%ebx),%bh
40a996:	00 00                	add    %al,(%eax)
40a998:	04 72                	add    $0x72,%al
40a99a:	09 0d 00 70 6f 1b    	or     %ecx,0x1b6f7000
40a9a0:	00 00                	add    %al,(%eax)
40a9a2:	0a 00                	or     (%eax),%al
40a9a4:	02 7b cf             	add    -0x31(%ebx),%bh
40a9a7:	00 00                	add    %al,(%eax)
40a9a9:	04 17                	add    $0x17,%al
40a9ab:	6f                   	outsl  %ds:(%esi),(%dx)
40a9ac:	4a                   	dec    %edx
40a9ad:	00 00                	add    %al,(%eax)
40a9af:	0a 00                	or     (%eax),%al
40a9b1:	02 7b cf             	add    -0x31(%ebx),%bh
40a9b4:	00 00                	add    %al,(%eax)
40a9b6:	04 02                	add    $0x2,%al
40a9b8:	fe 06                	incb   (%esi)
40a9ba:	4f                   	dec    %edi
40a9bb:	00 00                	add    %al,(%eax)
40a9bd:	06                   	push   %es
40a9be:	73 37                	jae    0x40a9f7
40a9c0:	00 00                	add    %al,(%eax)
40a9c2:	0a 6f 4b             	or     0x4b(%edi),%ch
40a9c5:	00 00                	add    %al,(%eax)
40a9c7:	0a 00                	or     (%eax),%al
40a9c9:	02 7b d0             	add    -0x30(%ebx),%bh
40a9cc:	00 00                	add    %al,(%eax)
40a9ce:	04 17                	add    $0x17,%al
40a9d0:	6f                   	outsl  %ds:(%esi),(%dx)
40a9d1:	27                   	daa
40a9d2:	00 00                	add    %al,(%eax)
40a9d4:	0a 00                	or     (%eax),%al
40a9d6:	02 7b d0             	add    -0x30(%ebx),%bh
40a9d9:	00 00                	add    %al,(%eax)
40a9db:	04 20                	add    $0x20,%al
40a9dd:	0c 01                	or     $0x1,%al
40a9df:	00 00                	add    %al,(%eax)
40a9e1:	20 8c 00 00 00 73 28 	and    %cl,0x28730000(%eax,%eax,1)
40a9e8:	00 00                	add    %al,(%eax)
40a9ea:	0a 6f 29             	or     0x29(%edi),%ch
40a9ed:	00 00                	add    %al,(%eax)
40a9ef:	0a 00                	or     (%eax),%al
40a9f1:	02 7b d0             	add    -0x30(%ebx),%bh
40a9f4:	00 00                	add    %al,(%eax)
40a9f6:	04 72                	add    $0x72,%al
40a9f8:	b1 0d                	mov    $0xd,%cl
40a9fa:	00 70 6f             	add    %dh,0x6f(%eax)
40a9fd:	2a 00                	sub    (%eax),%al
40a9ff:	00 0a                	add    %cl,(%edx)
40aa01:	00 02                	add    %al,(%edx)
40aa03:	7b d0                	jnp    0x40a9d5
40aa05:	00 00                	add    %al,(%eax)
40aa07:	04 16                	add    $0x16,%al
40aa09:	1f                   	pop    %ds
40aa0a:	0c 73                	or     $0x73,%al
40aa0c:	2b 00                	sub    (%eax),%eax
40aa0e:	00 0a                	add    %cl,(%edx)
40aa10:	6f                   	outsl  %ds:(%esi),(%dx)
40aa11:	2c 00                	sub    $0x0,%al
40aa13:	00 0a                	add    %cl,(%edx)
40aa15:	00 02                	add    %al,(%edx)
40aa17:	7b d0                	jnp    0x40a9e9
40aa19:	00 00                	add    %al,(%eax)
40aa1b:	04 1f                	add    $0x1f,%al
40aa1d:	21 6f 2d             	and    %ebp,0x2d(%edi)
40aa20:	00 00                	add    %al,(%eax)
40aa22:	0a 00                	or     (%eax),%al
40aa24:	02 7b d0             	add    -0x30(%ebx),%bh
40aa27:	00 00                	add    %al,(%eax)
40aa29:	04 72                	add    $0x72,%al
40aa2b:	47                   	inc    %edi
40aa2c:	0c 00                	or     $0x0,%al
40aa2e:	70 6f                	jo     0x40aa9f
40aa30:	9d                   	popf
40aa31:	00 00                	add    %al,(%eax)
40aa33:	0a 00                	or     (%eax),%al
40aa35:	02 7b d1             	add    -0x2f(%ebx),%bh
40aa38:	00 00                	add    %al,(%eax)
40aa3a:	04 17                	add    $0x17,%al
40aa3c:	6f                   	outsl  %ds:(%esi),(%dx)
40aa3d:	27                   	daa
40aa3e:	00 00                	add    %al,(%eax)
40aa40:	0a 00                	or     (%eax),%al
40aa42:	02 7b d1             	add    -0x2f(%ebx),%bh
40aa45:	00 00                	add    %al,(%eax)
40aa47:	04 20                	add    $0x20,%al
40aa49:	73 01                	jae    0x40aa4c
40aa4b:	00 00                	add    %al,(%eax)
40aa4d:	20 be 00 00 00 73    	and    %bh,0x73000000(%esi)
40aa53:	28 00                	sub    %al,(%eax)
40aa55:	00 0a                	add    %cl,(%edx)
40aa57:	6f                   	outsl  %ds:(%esi),(%dx)
40aa58:	29 00                	sub    %eax,(%eax)
40aa5a:	00 0a                	add    %cl,(%edx)
40aa5c:	00 02                	add    %al,(%edx)
40aa5e:	7b d1                	jnp    0x40aa31
40aa60:	00 00                	add    %al,(%eax)
40aa62:	04 72                	add    $0x72,%al
40aa64:	c1 0d 00 70 6f 2a 00 	rorl   $0x0,0x2a6f7000
40aa6b:	00 0a                	add    %cl,(%edx)
40aa6d:	00 02                	add    %al,(%edx)
40aa6f:	7b d1                	jnp    0x40aa42
40aa71:	00 00                	add    %al,(%eax)
40aa73:	04 16                	add    $0x16,%al
40aa75:	1f                   	pop    %ds
40aa76:	0c 73                	or     $0x73,%al
40aa78:	2b 00                	sub    (%eax),%eax
40aa7a:	00 0a                	add    %cl,(%edx)
40aa7c:	6f                   	outsl  %ds:(%esi),(%dx)
40aa7d:	2c 00                	sub    $0x0,%al
40aa7f:	00 0a                	add    %cl,(%edx)
40aa81:	00 02                	add    %al,(%edx)
40aa83:	7b d1                	jnp    0x40aa56
40aa85:	00 00                	add    %al,(%eax)
40aa87:	04 1f                	add    $0x1f,%al
40aa89:	22 6f 2d             	and    0x2d(%edi),%ch
40aa8c:	00 00                	add    %al,(%eax)
40aa8e:	0a 00                	or     (%eax),%al
40aa90:	02 7b d1             	add    -0x2f(%ebx),%bh
40aa93:	00 00                	add    %al,(%eax)
40aa95:	04 72                	add    $0x72,%al
40aa97:	f1                   	int1
40aa98:	0b 00                	or     (%eax),%eax
40aa9a:	70 6f                	jo     0x40ab0b
40aa9c:	9d                   	popf
40aa9d:	00 00                	add    %al,(%eax)
40aa9f:	0a 00                	or     (%eax),%al
40aaa1:	02 7b d2             	add    -0x2e(%ebx),%bh
40aaa4:	00 00                	add    %al,(%eax)
40aaa6:	04 17                	add    $0x17,%al
40aaa8:	6f                   	outsl  %ds:(%esi),(%dx)
40aaa9:	27                   	daa
40aaaa:	00 00                	add    %al,(%eax)
40aaac:	0a 00                	or     (%eax),%al
40aaae:	02 7b d2             	add    -0x2e(%ebx),%bh
40aab1:	00 00                	add    %al,(%eax)
40aab3:	04 20                	add    $0x20,%al
40aab5:	70 01                	jo     0x40aab8
40aab7:	00 00                	add    %al,(%eax)
40aab9:	20 89 00 00 00 73    	and    %cl,0x73000000(%ecx)
40aabf:	28 00                	sub    %al,(%eax)
40aac1:	00 0a                	add    %cl,(%edx)
40aac3:	6f                   	outsl  %ds:(%esi),(%dx)
40aac4:	29 00                	sub    %eax,(%eax)
40aac6:	00 0a                	add    %cl,(%edx)
40aac8:	00 02                	add    %al,(%edx)
40aaca:	7b d2                	jnp    0x40aa9e
40aacc:	00 00                	add    %al,(%eax)
40aace:	04 72                	add    $0x72,%al
40aad0:	d1 0d 00 70 6f 2a    	rorl   $1,0x2a6f7000
40aad6:	00 00                	add    %al,(%eax)
40aad8:	0a 00                	or     (%eax),%al
40aada:	02 7b d2             	add    -0x2e(%ebx),%bh
40aadd:	00 00                	add    %al,(%eax)
40aadf:	04 16                	add    $0x16,%al
40aae1:	1f                   	pop    %ds
40aae2:	0c 73                	or     $0x73,%al
40aae4:	2b 00                	sub    (%eax),%eax
40aae6:	00 0a                	add    %cl,(%edx)
40aae8:	6f                   	outsl  %ds:(%esi),(%dx)
40aae9:	2c 00                	sub    $0x0,%al
40aaeb:	00 0a                	add    %cl,(%edx)
40aaed:	00 02                	add    %al,(%edx)
40aaef:	7b d2                	jnp    0x40aac3
40aaf1:	00 00                	add    %al,(%eax)
40aaf3:	04 1f                	add    $0x1f,%al
40aaf5:	23 6f 2d             	and    0x2d(%edi),%ebp
40aaf8:	00 00                	add    %al,(%eax)
40aafa:	0a 00                	or     (%eax),%al
40aafc:	02 7b d2             	add    -0x2e(%ebx),%bh
40aaff:	00 00                	add    %al,(%eax)
40ab01:	04 72                	add    $0x72,%al
40ab03:	07                   	pop    %es
40ab04:	0c 00                	or     $0x0,%al
40ab06:	70 6f                	jo     0x40ab77
40ab08:	9d                   	popf
40ab09:	00 00                	add    %al,(%eax)
40ab0b:	0a 00                	or     (%eax),%al
40ab0d:	02 7b d3             	add    -0x2d(%ebx),%bh
40ab10:	00 00                	add    %al,(%eax)
40ab12:	04 17                	add    $0x17,%al
40ab14:	6f                   	outsl  %ds:(%esi),(%dx)
40ab15:	27                   	daa
40ab16:	00 00                	add    %al,(%eax)
40ab18:	0a 00                	or     (%eax),%al
40ab1a:	02 7b d3             	add    -0x2d(%ebx),%bh
40ab1d:	00 00                	add    %al,(%eax)
40ab1f:	04 20                	add    $0x20,%al
40ab21:	09 01                	or     %eax,(%ecx)
40ab23:	00 00                	add    %al,(%eax)
40ab25:	20 be 00 00 00 73    	and    %bh,0x73000000(%esi)
40ab2b:	28 00                	sub    %al,(%eax)
40ab2d:	00 0a                	add    %cl,(%edx)
40ab2f:	6f                   	outsl  %ds:(%esi),(%dx)
40ab30:	29 00                	sub    %eax,(%eax)
40ab32:	00 0a                	add    %cl,(%edx)
40ab34:	00 02                	add    %al,(%edx)
40ab36:	7b d3                	jnp    0x40ab0b
40ab38:	00 00                	add    %al,(%eax)
40ab3a:	04 72                	add    $0x72,%al
40ab3c:	e1 0d                	loope  0x40ab4b
40ab3e:	00 70 6f             	add    %dh,0x6f(%eax)
40ab41:	2a 00                	sub    (%eax),%al
40ab43:	00 0a                	add    %cl,(%edx)
40ab45:	00 02                	add    %al,(%edx)
40ab47:	7b d3                	jnp    0x40ab1c
40ab49:	00 00                	add    %al,(%eax)
40ab4b:	04 16                	add    $0x16,%al
40ab4d:	1f                   	pop    %ds
40ab4e:	0c 73                	or     $0x73,%al
40ab50:	2b 00                	sub    (%eax),%eax
40ab52:	00 0a                	add    %cl,(%edx)
40ab54:	6f                   	outsl  %ds:(%esi),(%dx)
40ab55:	2c 00                	sub    $0x0,%al
40ab57:	00 0a                	add    %cl,(%edx)
40ab59:	00 02                	add    %al,(%edx)
40ab5b:	7b d3                	jnp    0x40ab30
40ab5d:	00 00                	add    %al,(%eax)
40ab5f:	04 1f                	add    $0x1f,%al
40ab61:	24 6f                	and    $0x6f,%al
40ab63:	2d 00 00 0a 00       	sub    $0xa0000,%eax
40ab68:	02 7b d3             	add    -0x2d(%ebx),%bh
40ab6b:	00 00                	add    %al,(%eax)
40ab6d:	04 72                	add    $0x72,%al
40ab6f:	31 0c 00             	xor    %ecx,(%eax,%eax,1)
40ab72:	70 6f                	jo     0x40abe3
40ab74:	9d                   	popf
40ab75:	00 00                	add    %al,(%eax)
40ab77:	0a 00                	or     (%eax),%al
40ab79:	02 7b d4             	add    -0x2c(%ebx),%bh
40ab7c:	00 00                	add    %al,(%eax)
40ab7e:	04 17                	add    $0x17,%al
40ab80:	6f                   	outsl  %ds:(%esi),(%dx)
40ab81:	27                   	daa
40ab82:	00 00                	add    %al,(%eax)
40ab84:	0a 00                	or     (%eax),%al
40ab86:	02 7b d4             	add    -0x2c(%ebx),%bh
40ab89:	00 00                	add    %al,(%eax)
40ab8b:	04 20                	add    $0x20,%al
40ab8d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40ab8e:	00 00                	add    %al,(%eax)
40ab90:	00 20                	add    %ah,(%eax)
40ab92:	8c 00                	mov    %es,(%eax)