4089a0:	00 20                	add    %ah,(%eax)
4089a2:	ef                   	out    %eax,(%dx)
4089a3:	00 00                	add    %al,(%eax)
4089a5:	00 73 28             	add    %dh,0x28(%ebx)
4089a8:	00 00                	add    %al,(%eax)
4089aa:	0a 6f 29             	or     0x29(%edi),%ch
4089ad:	00 00                	add    %al,(%eax)
4089af:	0a 00                	or     (%eax),%al
4089b1:	02 7b a0             	add    -0x60(%ebx),%bh
4089b4:	00 00                	add    %al,(%eax)
4089b6:	04 72                	add    $0x72,%al
4089b8:	e4 04                	in     $0x4,%al
4089ba:	00 70 6f             	add    %dh,0x6f(%eax)
4089bd:	2a 00                	sub    (%eax),%al
4089bf:	00 0a                	add    %cl,(%edx)
4089c1:	00 02                	add    %al,(%edx)
4089c3:	7b a0                	jnp    0x408965
4089c5:	00 00                	add    %al,(%eax)
4089c7:	04 1f                	add    $0x1f,%al
4089c9:	1d 1f 10 73 2b       	sbb    $0x2b73101f,%eax
4089ce:	00 00                	add    %al,(%eax)
4089d0:	0a 6f 2c             	or     0x2c(%edi),%ch
4089d3:	00 00                	add    %al,(%eax)
4089d5:	0a 00                	or     (%eax),%al
4089d7:	02 7b a0             	add    -0x60(%ebx),%bh
4089da:	00 00                	add    %al,(%eax)
4089dc:	04 1f                	add    $0x1f,%al
4089de:	0c 6f                	or     $0x6f,%al
4089e0:	2d 00 00 0a 00       	sub    $0xa0000,%eax
4089e5:	02 7b a0             	add    -0x60(%ebx),%bh
4089e8:	00 00                	add    %al,(%eax)
4089ea:	04 17                	add    $0x17,%al
4089ec:	6f                   	outsl  %ds:(%esi),(%dx)
4089ed:	60                   	pusha
4089ee:	00 00                	add    %al,(%eax)
4089f0:	0a 00                	or     (%eax),%al
4089f2:	02 7b a0             	add    -0x60(%ebx),%bh
4089f5:	00 00                	add    %al,(%eax)
4089f7:	04 72                	add    $0x72,%al
4089f9:	ec                   	in     (%dx),%al
4089fa:	04 00                	add    $0x0,%al
4089fc:	70 6f                	jo     0x408a6d
4089fe:	1b 00                	sbb    (%eax),%eax
408a00:	00 0a                	add    %cl,(%edx)
408a02:	00 02                	add    %al,(%edx)
408a04:	7b a0                	jnp    0x4089a6
408a06:	00 00                	add    %al,(%eax)
408a08:	04 17                	add    $0x17,%al
408a0a:	6f                   	outsl  %ds:(%esi),(%dx)
408a0b:	4a                   	dec    %edx
408a0c:	00 00                	add    %al,(%eax)
408a0e:	0a 00                	or     (%eax),%al
408a10:	02 7b a1             	add    -0x5f(%ebx),%bh
408a13:	00 00                	add    %al,(%eax)
408a15:	04 17                	add    $0x17,%al
408a17:	6f                   	outsl  %ds:(%esi),(%dx)
408a18:	27                   	daa
408a19:	00 00                	add    %al,(%eax)
408a1b:	0a 00                	or     (%eax),%al
408a1d:	02 7b a1             	add    -0x5f(%ebx),%bh
408a20:	00 00                	add    %al,(%eax)
408a22:	04 1f                	add    $0x1f,%al
408a24:	5e                   	pop    %esi
408a25:	20 f0                	and    %dh,%al
408a27:	00 00                	add    %al,(%eax)
408a29:	00 73 28             	add    %dh,0x28(%ebx)
408a2c:	00 00                	add    %al,(%eax)
408a2e:	0a 6f 29             	or     0x29(%edi),%ch
408a31:	00 00                	add    %al,(%eax)
408a33:	0a 00                	or     (%eax),%al
408a35:	02 7b a1             	add    -0x5f(%ebx),%bh
408a38:	00 00                	add    %al,(%eax)
408a3a:	04 72                	add    $0x72,%al
408a3c:	f0 04 00             	lock add $0x0,%al
408a3f:	70 6f                	jo     0x408ab0
408a41:	2a 00                	sub    (%eax),%al
408a43:	00 0a                	add    %cl,(%edx)
408a45:	00 02                	add    %al,(%edx)
408a47:	7b a1                	jnp    0x4089ea
408a49:	00 00                	add    %al,(%eax)
408a4b:	04 1f                	add    $0x1f,%al
408a4d:	1d 1f 0c 73 2b       	sbb    $0x2b730c1f,%eax
408a52:	00 00                	add    %al,(%eax)
408a54:	0a 6f 2c             	or     0x2c(%edi),%ch
408a57:	00 00                	add    %al,(%eax)
408a59:	0a 00                	or     (%eax),%al
408a5b:	02 7b a1             	add    -0x5f(%ebx),%bh
408a5e:	00 00                	add    %al,(%eax)
408a60:	04 1f                	add    $0x1f,%al
408a62:	0b 6f 2d             	or     0x2d(%edi),%ebp
408a65:	00 00                	add    %al,(%eax)
408a67:	0a 00                	or     (%eax),%al
408a69:	02 7b a1             	add    -0x5f(%ebx),%bh
408a6c:	00 00                	add    %al,(%eax)
408a6e:	04 72                	add    $0x72,%al
408a70:	fe 04 00             	incb   (%eax,%eax,1)
408a73:	70 6f                	jo     0x408ae4
408a75:	1b 00                	sbb    (%eax),%eax
408a77:	00 0a                	add    %cl,(%edx)
408a79:	00 02                	add    %al,(%edx)
408a7b:	7b a2                	jnp    0x408a1f
408a7d:	00 00                	add    %al,(%eax)
408a7f:	04 1f                	add    $0x1f,%al
408a81:	59                   	pop    %ecx
408a82:	20 c4                	and    %al,%ah
408a84:	00 00                	add    %al,(%eax)
408a86:	00 73 28             	add    %dh,0x28(%ebx)
408a89:	00 00                	add    %al,(%eax)
408a8b:	0a 6f 29             	or     0x29(%edi),%ch
408a8e:	00 00                	add    %al,(%eax)
408a90:	0a 00                	or     (%eax),%al
408a92:	02 7b a2             	add    -0x5e(%ebx),%bh
408a95:	00 00                	add    %al,(%eax)
408a97:	04 72                	add    $0x72,%al
408a99:	04 05                	add    $0x5,%al
408a9b:	00 70 6f             	add    %dh,0x6f(%eax)
408a9e:	2a 00                	sub    (%eax),%al
408aa0:	00 0a                	add    %cl,(%edx)
408aa2:	00 02                	add    %al,(%edx)
408aa4:	7b a2                	jnp    0x408a48
408aa6:	00 00                	add    %al,(%eax)
408aa8:	04 20                	add    $0x20,%al
408aaa:	85 01                	test   %eax,(%ecx)
408aac:	00 00                	add    %al,(%eax)
408aae:	1f                   	pop    %ds
408aaf:	15 73 2b 00 00       	adc    $0x2b73,%eax
408ab4:	0a 6f 2c             	or     0x2c(%edi),%ch
408ab7:	00 00                	add    %al,(%eax)
408ab9:	0a 00                	or     (%eax),%al
408abb:	02 7b a2             	add    -0x5e(%ebx),%bh
408abe:	00 00                	add    %al,(%eax)
408ac0:	04 1f                	add    $0x1f,%al
408ac2:	0a 6f 2d             	or     0x2d(%edi),%ch
408ac5:	00 00                	add    %al,(%eax)
408ac7:	0a 00                	or     (%eax),%al
408ac9:	02 7b a3             	add    -0x5d(%ebx),%bh
408acc:	00 00                	add    %al,(%eax)
408ace:	04 1f                	add    $0x1f,%al
408ad0:	59                   	pop    %ecx
408ad1:	1f                   	pop    %ds
408ad2:	73 73                	jae    0x408b47
408ad4:	28 00                	sub    %al,(%eax)
408ad6:	00 0a                	add    %cl,(%edx)
408ad8:	6f                   	outsl  %ds:(%esi),(%dx)
408ad9:	29 00                	sub    %eax,(%eax)
408adb:	00 0a                	add    %cl,(%edx)
408add:	00 02                	add    %al,(%edx)
408adf:	7b a3                	jnp    0x408a84
408ae1:	00 00                	add    %al,(%eax)
408ae3:	04 72                	add    $0x72,%al
408ae5:	10 05 00 70 6f 2a    	adc    %al,0x2a6f7000
408aeb:	00 00                	add    %al,(%eax)
408aed:	0a 00                	or     (%eax),%al
408aef:	02 7b a3             	add    -0x5d(%ebx),%bh
408af2:	00 00                	add    %al,(%eax)
408af4:	04 20                	add    $0x20,%al
408af6:	85 01                	test   %eax,(%ecx)
408af8:	00 00                	add    %al,(%eax)
408afa:	1f                   	pop    %ds
408afb:	15 73 2b 00 00       	adc    $0x2b73,%eax
408b00:	0a 6f 2c             	or     0x2c(%edi),%ch
408b03:	00 00                	add    %al,(%eax)
408b05:	0a 00                	or     (%eax),%al
408b07:	02 7b a3             	add    -0x5d(%ebx),%bh
408b0a:	00 00                	add    %al,(%eax)
408b0c:	04 1f                	add    $0x1f,%al
408b0e:	09 6f 2d             	or     %ebp,0x2d(%edi)
408b11:	00 00                	add    %al,(%eax)
408b13:	0a 00                	or     (%eax),%al
408b15:	02 7b a4             	add    -0x5c(%ebx),%bh
408b18:	00 00                	add    %al,(%eax)
408b1a:	04 1f                	add    $0x1f,%al
408b1c:	59                   	pop    %ecx
408b1d:	20 a9 00 00 00 73    	and    %ch,0x73000000(%ecx)
408b23:	28 00                	sub    %al,(%eax)
408b25:	00 0a                	add    %cl,(%edx)
408b27:	6f                   	outsl  %ds:(%esi),(%dx)
408b28:	29 00                	sub    %eax,(%eax)
408b2a:	00 0a                	add    %cl,(%edx)
408b2c:	00 02                	add    %al,(%edx)
408b2e:	7b a4                	jnp    0x408ad4
408b30:	00 00                	add    %al,(%eax)
408b32:	04 72                	add    $0x72,%al
408b34:	1c 05                	sbb    $0x5,%al
408b36:	00 70 6f             	add    %dh,0x6f(%eax)
408b39:	2a 00                	sub    (%eax),%al
408b3b:	00 0a                	add    %cl,(%edx)
408b3d:	00 02                	add    %al,(%edx)
408b3f:	7b a4                	jnp    0x408ae5
408b41:	00 00                	add    %al,(%eax)
408b43:	04 20                	add    $0x20,%al
408b45:	85 01                	test   %eax,(%ecx)
408b47:	00 00                	add    %al,(%eax)
408b49:	1f                   	pop    %ds
408b4a:	15 73 2b 00 00       	adc    $0x2b73,%eax
408b4f:	0a 6f 2c             	or     0x2c(%edi),%ch
408b52:	00 00                	add    %al,(%eax)
408b54:	0a 00                	or     (%eax),%al
408b56:	02 7b a4             	add    -0x5c(%ebx),%bh
408b59:	00 00                	add    %al,(%eax)
408b5b:	04 1e                	add    $0x1e,%al
408b5d:	6f                   	outsl  %ds:(%esi),(%dx)
408b5e:	2d 00 00 0a 00       	sub    $0xa0000,%eax
408b63:	02 7b a5             	add    -0x5b(%ebx),%bh
408b66:	00 00                	add    %al,(%eax)
408b68:	04 1f                	add    $0x1f,%al
408b6a:	59                   	pop    %ecx
408b6b:	20 8e 00 00 00 73    	and    %cl,0x73000000(%esi)
408b71:	28 00                	sub    %al,(%eax)
408b73:	00 0a                	add    %cl,(%edx)
408b75:	6f                   	outsl  %ds:(%esi),(%dx)
408b76:	29 00                	sub    %eax,(%eax)
408b78:	00 0a                	add    %cl,(%edx)
408b7a:	00 02                	add    %al,(%edx)
408b7c:	7b a5                	jnp    0x408b23
408b7e:	00 00                	add    %al,(%eax)
408b80:	04 72                	add    $0x72,%al
408b82:	28 05 00 70 6f 2a    	sub    %al,0x2a6f7000
408b88:	00 00                	add    %al,(%eax)
408b8a:	0a 00                	or     (%eax),%al
408b8c:	02 7b a5             	add    -0x5b(%ebx),%bh
408b8f:	00 00                	add    %al,(%eax)
408b91:	04 20                	add    $0x20,%al
408b93:	85 01                	test   %eax,(%ecx)
408b95:	00 00                	add    %al,(%eax)
408b97:	1f                   	pop    %ds
408b98:	15 73 2b 00 00       	adc    $0x2b73,%eax
408b9d:	0a 6f 2c             	or     0x2c(%edi),%ch
408ba0:	00 00                	add    %al,(%eax)
408ba2:	0a 00                	or     (%eax),%al
408ba4:	02 7b a5             	add    -0x5b(%ebx),%bh
408ba7:	00 00                	add    %al,(%eax)
408ba9:	04 1d                	add    $0x1d,%al
408bab:	6f                   	outsl  %ds:(%esi),(%dx)
408bac:	2d 00 00 0a 00       	sub    $0xa0000,%eax
408bb1:	02 7b 99             	add    -0x67(%ebx),%bh
408bb4:	00 00                	add    %al,(%eax)
408bb6:	04 17                	add    $0x17,%al
408bb8:	6f                   	outsl  %ds:(%esi),(%dx)
408bb9:	27                   	daa
408bba:	00 00                	add    %al,(%eax)
408bbc:	0a 00                	or     (%eax),%al
408bbe:	02 7b 99             	add    -0x67(%ebx),%bh
408bc1:	00 00                	add    %al,(%eax)
408bc3:	04 1f                	add    $0x1f,%al
408bc5:	48                   	dec    %eax
408bc6:	20 91 00 00 00 73    	and    %dl,0x73000000(%ecx)
408bcc:	28 00                	sub    %al,(%eax)
408bce:	00 0a                	add    %cl,(%edx)
408bd0:	6f                   	outsl  %ds:(%esi),(%dx)
408bd1:	29 00                	sub    %eax,(%eax)
408bd3:	00 0a                	add    %cl,(%edx)
408bd5:	00 02                	add    %al,(%edx)
408bd7:	7b 99                	jnp    0x408b72
408bd9:	00 00                	add    %al,(%eax)
408bdb:	04 72                	add    $0x72,%al
408bdd:	34 05                	xor    $0x5,%al
408bdf:	00 70 6f             	add    %dh,0x6f(%eax)
408be2:	2a 00                	sub    (%eax),%al
408be4:	00 0a                	add    %cl,(%edx)
408be6:	00 02                	add    %al,(%edx)
408be8:	7b 99                	jnp    0x408b83
408bea:	00 00                	add    %al,(%eax)
408bec:	04 1f                	add    $0x1f,%al
408bee:	0b 1f                	or     (%edi),%ebx
408bf0:	0c 73                	or     $0x73,%al
408bf2:	2b 00                	sub    (%eax),%eax
408bf4:	00 0a                	add    %cl,(%edx)
408bf6:	6f                   	outsl  %ds:(%esi),(%dx)
408bf7:	2c 00                	sub    $0x0,%al
408bf9:	00 0a                	add    %cl,(%edx)
408bfb:	00 02                	add    %al,(%edx)
408bfd:	7b 99                	jnp    0x408b98
408bff:	00 00                	add    %al,(%eax)
408c01:	04 1c                	add    $0x1c,%al
408c03:	6f                   	outsl  %ds:(%esi),(%dx)
408c04:	2d 00 00 0a 00       	sub    $0xa0000,%eax
408c09:	02 7b 99             	add    -0x67(%ebx),%bh
408c0c:	00 00                	add    %al,(%eax)
408c0e:	04 72                	add    $0x72,%al
408c10:	d4 04                	aam    $0x4
408c12:	00 70 6f             	add    %dh,0x6f(%eax)
408c15:	1b 00                	sbb    (%eax),%eax
408c17:	00 0a                	add    %cl,(%edx)
408c19:	00 02                	add    %al,(%edx)
408c1b:	7b 9a                	jnp    0x408bb7
408c1d:	00 00                	add    %al,(%eax)
408c1f:	04 17                	add    $0x17,%al
408c21:	6f                   	outsl  %ds:(%esi),(%dx)
408c22:	27                   	daa
408c23:	00 00                	add    %al,(%eax)
408c25:	0a 00                	or     (%eax),%al
408c27:	02 7b 9a             	add    -0x66(%ebx),%bh
408c2a:	00 00                	add    %al,(%eax)
408c2c:	04 1f                	add    $0x1f,%al
408c2e:	48                   	dec    %eax
408c2f:	20 ac 00 00 00 73 28 	and    %ch,0x28730000(%eax,%eax,1)
408c36:	00 00                	add    %al,(%eax)
408c38:	0a 6f 29             	or     0x29(%edi),%ch
408c3b:	00 00                	add    %al,(%eax)
408c3d:	0a 00                	or     (%eax),%al
408c3f:	02 7b 9a             	add    -0x66(%ebx),%bh
408c42:	00 00                	add    %al,(%eax)
408c44:	04 72                	add    $0x72,%al
408c46:	42                   	inc    %edx
408c47:	05 00 70 6f 2a       	add    $0x2a6f7000,%eax
408c4c:	00 00                	add    %al,(%eax)
408c4e:	0a 00                	or     (%eax),%al
408c50:	02 7b 9a             	add    -0x66(%ebx),%bh
408c53:	00 00                	add    %al,(%eax)
408c55:	04 1f                	add    $0x1f,%al
408c57:	0b 1f                	or     (%edi),%ebx
408c59:	0c 73                	or     $0x73,%al
408c5b:	2b 00                	sub    (%eax),%eax
408c5d:	00 0a                	add    %cl,(%edx)
408c5f:	6f                   	outsl  %ds:(%esi),(%dx)
408c60:	2c 00                	sub    $0x0,%al
408c62:	00 0a                	add    %cl,(%edx)
408c64:	00 02                	add    %al,(%edx)
408c66:	7b 9a                	jnp    0x408c02
408c68:	00 00                	add    %al,(%eax)
408c6a:	04 1b                	add    $0x1b,%al
408c6c:	6f                   	outsl  %ds:(%esi),(%dx)
408c6d:	2d 00 00 0a 00       	sub    $0xa0000,%eax
408c72:	02 7b 9a             	add    -0x66(%ebx),%bh
408c75:	00 00                	add    %al,(%eax)
408c77:	04 72                	add    $0x72,%al
408c79:	e0 04                	loopne 0x408c7f
408c7b:	00 70 6f             	add    %dh,0x6f(%eax)
408c7e:	1b 00                	sbb    (%eax),%eax
408c80:	00 0a                	add    %cl,(%edx)
408c82:	00 02                	add    %al,(%edx)
408c84:	7b 9b                	jnp    0x408c21
408c86:	00 00                	add    %al,(%eax)
408c88:	04 17                	add    $0x17,%al
408c8a:	6f                   	outsl  %ds:(%esi),(%dx)
408c8b:	27                   	daa
408c8c:	00 00                	add    %al,(%eax)
408c8e:	0a 00                	or     (%eax),%al
408c90:	02 7b 9b             	add    -0x65(%ebx),%bh
408c93:	00 00                	add    %al,(%eax)
408c95:	04 1f                	add    $0x1f,%al
408c97:	48                   	dec    %eax
408c98:	20 c7                	and    %al,%bh
408c9a:	00 00                	add    %al,(%eax)
408c9c:	00 73 28             	add    %dh,0x28(%ebx)
408c9f:	00 00                	add    %al,(%eax)
408ca1:	0a 6f 29             	or     0x29(%edi),%ch
408ca4:	00 00                	add    %al,(%eax)
408ca6:	0a 00                	or     (%eax),%al