409976:	6e                   	outsb  %ds:(%esi),(%dx)
409977:	13 46 11             	adc    0x11(%esi),%eax
40997a:	6a 72                	push   $0x72
40997c:	05 01 45 70 15       	add    $0x15704501,%eax
409981:	2b 77 00             	sub    0x0(%edi),%esi
409984:	78 11                	js     0x409997
409986:	60                   	pusha
409987:	72 d9                	jb     0x409962
409989:	01 6e 70             	add    %ebp,0x70(%esi)
40998c:	74 72                	je     0x409a00
40998e:	8e 01                	mov    (%ecx),%es
409990:	7a 70                	jp     0x409a02
409992:	74 28                	je     0x4099bc
409994:	35 00 64 0a 2d       	xor    $0x2d0a6400,%eax
409999:	2c 6e                	sub    $0x6e,%al
40999b:	00 7c 11 41          	add    %bh,0x41(%ecx,%edx,1)
40999f:	16                   	push   %ss
4099a0:	15 4e 77 00 78       	adc    $0x7800774e,%eax
4099a5:	11 60 17             	adc    %esp,0x17(%eax)
4099a8:	2d 4f 6e 00 7c       	sub    $0x7c006e4f,%eax
4099ad:	11 41 17             	adc    %eax,0x17(%ecx)
4099b0:	15 2e 77 00 78       	adc    $0x7800772e,%eax
4099b5:	11 60 6f             	adc    %esp,0x6f(%eax)
4099b8:	6d                   	insl   (%dx),%es:(%edi)
4099b9:	00 6e 0a             	add    %ch,0xa(%esi)
4099bc:	7f 6f                	jg     0x409a2d
4099be:	75 00                	jne    0x4099c0
4099c0:	7a 0a                	jp     0x4099cc
4099c2:	51                   	push   %ecx
4099c3:	2a 73 10             	sub    0x10(%ebx),%dh
4099c6:	64 00 40 00          	add    %al,%fs:0x0(%eax)
4099ca:	35 00 7f 64 45       	xor    $0x45647f00,%eax
4099cf:	0a 7a 00             	or     0x0(%edx),%bh
4099d2:	77 00                	ja     0x4099d4
4099d4:	69 30 67 00 5d 00    	imul   $0x5d0067,(%eax),%esi
4099da:	6e                   	outsb  %ds:(%esi),(%dx)
4099db:	00 7e 00             	add    %bh,0x0(%esi)
4099de:	45                   	inc    %ebp
4099df:	11 04 52             	adc    %eax,(%edx,%edx,2)
4099e2:	77 00                	ja     0x4099e4
4099e4:	78 72                	js     0x409a58
4099e6:	87 01                	xchg   %eax,(%ecx)
4099e8:	42                   	inc    %edx
4099e9:	70 79                	jo     0x409a64
4099eb:	6f                   	outsl  %ds:(%esi),(%dx)
4099ec:	6c                   	insb   (%dx),%es:(%edi)
4099ed:	00 45 0a             	add    %al,0xa(%ebp)
4099f0:	70 06                	jo     0x4099f8
4099f2:	75 03                	jne    0x4099f7
4099f4:	1d 53 64 00 48       	sbb    $0x48006453,%eax
4099f9:	de 6d 26             	fisubrs 0x26(%ebp)
4099fc:	a8 00                	test   $0x0,%al
4099fe:	6f                   	outsl  %ds:(%esi),(%dx)
4099ff:	00 7b 10             	add    %bh,0x10(%ebx)
409a02:	77 00                	ja     0x409a04
409a04:	72 00                	jb     0x409a06
409a06:	64 00 59 1b          	add    %bl,%fs:0x1b(%ecx)
409a0a:	6e                   	outsb  %ds:(%esi),(%dx)
409a0b:	03 77 00             	add    0x0(%edi),%esi
409a0e:	45                   	inc    %ebp
409a0f:	01 69 30             	add    %ebp,0x30(%ecx)
409a12:	75 00                	jne    0x409a14
409a14:	5a                   	pop    %edx
409a15:	00 64 00 53          	add    %ah,0x53(%eax,%eax,1)
409a19:	00 6e 11             	add    %ch,0x11(%esi)
409a1c:	5e                   	pop    %esi
409a1d:	09 45 00             	or     %eax,0x0(%ebp)
409a20:	70 0a                	jo     0x409a2c
409a22:	61                   	popa
409a23:	0b 59 16             	or     0x16(%ecx),%ebx
409a26:	62 07                	bound  %eax,(%edi)
409a28:	d8 6f 62             	fsubrs 0x62(%edi)
409a2b:	00 76 0a             	add    %dh,0xa(%esi)
409a2e:	47                   	inc    %edi
409a2f:	28 43 00             	sub    %al,0x0(%ebx)
409a32:	77 0a                	ja     0x409a3e
409a34:	5e                   	pop    %esi
409a35:	02 73 2a             	add    0x2a(%ebx),%dh
409a38:	45                   	inc    %ebp
409a39:	17                   	pop    %ss
409a3a:	36 0b 71 06          	or     %ss:0x6(%ecx),%esi
409a3e:	cb                   	lret
409a3f:	69 48 e4 61 2a 71 30 	imul   $0x30712a61,-0x1c(%eax),%ecx
409a46:	66 00 07             	data16 add %al,(%edi)
409a49:	00 6e 00             	add    %ch,0x0(%esi)
409a4c:	76 00                	jbe    0x409a4e
409a4e:	45                   	inc    %ebp
409a4f:	00 78 72             	add    %bh,0x72(%eax)
409a52:	48                   	dec    %eax
409a53:	02 72 70             	add    0x70(%edx),%dh
409a56:	4c                   	dec    %esp
409a57:	39 42 00             	cmp    %eax,0x0(%edx)
409a5a:	64 2c 7e             	fs sub $0x7e,%al
409a5d:	1f                   	pop    %ds
409a5e:	5f                   	pop    %edi
409a5f:	28 4d 00             	sub    %cl,0x0(%ebp)
409a62:	77 0a                	ja     0x409a6e
409a64:	58                   	pop    %eax
409a65:	02 16                	add    (%esi),%dl
409a67:	4f                   	dec    %edi
409a68:	40                   	inc    %eax
409a69:	00 1e                	add    %bl,(%esi)
409a6b:	28 4f 00             	sub    %cl,0x0(%edi)
409a6e:	45                   	inc    %ebp
409a6f:	0a 56 06             	or     0x6(%esi),%dl
409a72:	5f                   	pop    %edi
409a73:	54                   	push   %esp
409a74:	72 00                	jb     0x409a76
409a76:	6e                   	outsb  %ds:(%esi),(%dx)
409a77:	2a 40 72             	sub    0x72(%eax),%al
409a7a:	37                   	aaa
409a7b:	02 76 70             	add    0x70(%esi),%dh
409a7e:	6d                   	insl   (%dx),%es:(%edi)
409a7f:	39 7a 00             	cmp    %edi,0x0(%edx)
409a82:	7d 2c                	jge    0x409ab0
409a84:	7a 1f                	jp     0x409aa5
409a86:	4c                   	dec    %esp
409a87:	28 75 00             	sub    %dh,0x0(%ebp)
409a8a:	6e                   	outsb  %ds:(%esi),(%dx)
409a8b:	0a 5c 1f 6d          	or     0x6d(%edi,%ebx,1),%bl
409a8f:	28 4d 00             	sub    %cl,0x0(%ebp)
409a92:	77 0a                	ja     0x409a9e
409a94:	58                   	pop    %eax
409a95:	4a                   	dec    %edx
409a96:	66 28 17             	data16 sub %dl,(%edi)
409a99:	00 6e 0a             	add    %ch,0xa(%esi)
409a9c:	74 28                	je     0x409ac6
409a9e:	13 00                	adc    (%eax),%eax
409aa0:	7a 0a                	jp     0x409aac
409aa2:	5f                   	pop    %edi
409aa3:	57                   	push   %edi
409aa4:	72 00                	jb     0x409aa6
409aa6:	6e                   	outsb  %ds:(%esi),(%dx)
409aa7:	2a 59 30             	sub    0x30(%ecx),%bl
409aaa:	6b 00 26             	imul   $0x26,(%eax),%eax
409aad:	03 45 00             	add    0x0(%ebp),%eax
409ab0:	68 00 77 11 5a       	push   $0x5a117700
409ab5:	58                   	pop    %eax
409ab6:	64 00 48 0a          	add    %cl,%fs:0xa(%eax)
409aba:	68 28 6b 00 45       	push   $0x45006b28
409abf:	06                   	push   %es
409ac0:	71 72                	jno    0x409b34
409ac2:	06                   	push   %es
409ac3:	02 72 70             	add    0x70(%edx),%dh
409ac6:	68 72 39 02 6e       	push   $0x6e023972
409acb:	70 7b                	jo     0x409b48
409acd:	72 cc                	jb     0x409a9b
409acf:	02 7a 70             	add    0x70(%edx),%bh
409ad2:	64 04 00             	fs add $0x0,%al
409ad5:	71 66                	jno    0x409b3d
409ad7:	00 32                	add    %dh,(%edx)
409ad9:	13 6b 72             	adc    0x72(%ebx),%ebp
409adc:	49                   	dec    %ecx
409add:	02 45 70             	add    0x70(%ebp),%al
409ae0:	52                   	push   %edx
409ae1:	28 77 00             	sub    %dh,0x0(%edi)
409ae4:	74 13                	je     0x409af9
409ae6:	62 72 cb             	bound  %esi,-0x35(%edx)
409ae9:	02 6e 70             	add    0x70(%esi),%ch
409aec:	65 07                	gs pop %es
409aee:	37                   	aaa
409aef:	71 78                	jno    0x409b69
409af1:	00 07                	add    %al,(%edi)
409af3:	13 7a 72             	adc    0x72(%edx),%edi
409af6:	f7 02 42 70 7d 09    	testl  $0x97d7042,(%edx)
409afc:	04 89                	add    $0x89,%al
409afe:	47                   	inc    %edi
409aff:	00 0a                	add    %cl,(%edx)
409b01:	13 7d 72             	adc    0x72(%ebp),%edi
409b04:	03 02                	add    (%edx),%eax
409b06:	64 70 51             	fs jo  0x409b5a
409b09:	0b 1c 97             	or     (%edi,%edx,4),%ebx
409b0c:	74 00                	je     0x409b0e
409b0e:	35 13 76 72 d2       	xor    $0xd2727613,%eax
409b13:	02 72 70             	add    0x70(%edx),%dh
409b16:	77 0d                	ja     0x409b25
409b18:	6a 59                	push   $0x59
409b1a:	6e                   	outsb  %ds:(%esi),(%dx)
409b1b:	00 7c 6f 1f          	add    %bh,0x1f(%edi,%ebp,2)
409b1f:	00 7a 0a             	add    %bh,0xa(%edx)
409b22:	64 0e                	fs push %cs
409b24:	63 06                	arpl   %eax,(%esi)
409b26:	16                   	push   %ss
409b27:	25 43 00 1e 11       	and    $0x111e0043,%eax
409b2c:	71 28                	jno    0x409b56
409b2e:	1e                   	push   %ds
409b2f:	00 7a 0a             	add    %bh,0xa(%edx)
409b32:	64 0f 63 0c 16       	packsswb %fs:(%esi,%edx,1),%mm1
409b37:	71 40                	jno    0x409b79
409b39:	00 1e                	add    %bl,(%esi)
409b3b:	28 4f 00             	sub    %cl,0x0(%edi)
409b3e:	45                   	inc    %ebp
409b3f:	0a 43 85             	or     -0x7b(%ebx),%al
409b42:	77 00                	ja     0x409b44
409b44:	72 28                	jb     0x409b6e
409b46:	3c 00                	cmp    $0x0,%al
409b48:	42                   	inc    %edx
409b49:	0a 7d 10             	or     0x10(%ebp),%bh
409b4c:	67 10 6d 21          	adc    %ch,0x21(%di)
409b50:	7a 00                	jp     0x409b52
409b52:	71 13                	jno    0x409b67
409b54:	63 11                	arpl   %edx,(%ecx)
409b56:	69 72 ff 02 6e 70 5e 	imul   $0x5e706e02,-0x1(%edx),%esi
409b5d:	39 45 00             	cmp    %eax,0x0(%ebp)
409b60:	70 2c                	jo     0x409b8e
409b62:	55                   	push   %ebp
409b63:	72 35                	jb     0x409b9a
409b65:	00 64 70 51          	add    %ah,0x51(%eax,%esi,2)
409b69:	12 71 24             	adc    0x24(%ecx),%dh
409b6c:	5e                   	pop    %esi
409b6d:	37                   	aaa
409b6e:	45                   	inc    %ebp
409b6f:	00 70 11             	add    %dh,0x11(%eax)
409b72:	65 28 4a 00          	sub    %cl,%gs:0x0(%edx)
409b76:	64 0a 64 11 7f       	or     %fs:0x7f(%ecx,%edx,1),%ah
409b7b:	28 6a 00             	sub    %ch,0x0(%edx)
409b7e:	45                   	inc    %ebp
409b7f:	06                   	push   %es
409b80:	52                   	push   %edx
409b81:	1a 77 00             	sbb    0x0(%edi),%dh
409b84:	74 11                	je     0x409b97
409b86:	69 72 89 02 6e 70 5e 	imul   $0x5e706e02,-0x77(%edx),%esi
409b8d:	39 45 00             	cmp    %eax,0x0(%ebp)
409b90:	70 2c                	jo     0x409bbe
409b92:	45                   	inc    %ebp
409b93:	1f                   	pop    %ds
409b94:	5a                   	pop    %edx
409b95:	28 53 00             	sub    %dl,0x0(%ebx)
409b98:	42                   	inc    %edx
409b99:	0a 1c d5 74 00 35 28 	or     0x28350074(,%edx,8),%bl
409ba0:	42                   	inc    %edx
409ba1:	00 77 0a             	add    %dh,0xa(%edi)
409ba4:	61                   	popa
409ba5:	13 75 13             	adc    0x13(%ebp),%esi
409ba8:	6a 5c                	push   $0x5c
409baa:	6e                   	outsb  %ds:(%esi),(%dx)
409bab:	00 7c 2d 53          	add    %bh,0x53(%ebp,%ebp,1)
409baf:	11 69 11             	adc    %ebp,0x11(%ecx)
409bb2:	66 28 6e 00          	data16 sub %ch,0x0(%esi)
409bb6:	64 06                	fs push %es
409bb8:	6a 5d                	push   $0x5d
409bba:	6e                   	outsb  %ds:(%esi),(%dx)
409bbb:	00 7c 11 56          	add    %bh,0x56(%ecx,%edx,1)
409bbf:	28 24 00             	sub    %ah,(%eax,%eax,1)
409bc2:	77 0a                	ja     0x409bce
409bc4:	54                   	push   %esp
409bc5:	de 67 26             	fisubs 0x26(%edi)
409bc8:	9c                   	pushf
409bc9:	00 7f 05             	add    %bh,0x5(%edi)
409bcc:	04 71                	add    $0x71,%al
409bce:	47                   	inc    %edi
409bcf:	00 0a                	add    %cl,(%edx)
409bd1:	28 4e 00             	sub    %cl,0x0(%esi)
409bd4:	72 0a                	jb     0x409be0
409bd6:	48                   	dec    %eax
409bd7:	24 53                	and    $0x53,%al
409bd9:	0f 46 5c 76 00       	cmovbe 0x0(%esi,%esi,2),%ebx
409bde:	4f                   	dec    %edi
409bdf:	2d 61 11 79 11       	sub    $0x11791161,%eax
409be4:	7d 28                	jge    0x409c0e
409be6:	3b 00                	cmp    (%eax),%eax
409be8:	42                   	inc    %edx
409be9:	0a 7f 0f             	or     0xf(%edi),%bh
409bec:	04 f5                	add    $0xf5,%al
409bee:	47                   	inc    %edi
409bef:	00 0a                	add    %cl,(%edx)
409bf1:	28 4f 00             	sub    %cl,0x0(%edi)
409bf4:	72 0a                	jb     0x409c00
409bf6:	4c                   	dec    %esp
409bf7:	27                   	daa
409bf8:	42                   	inc    %edx
409bf9:	00 68 26             	add    %ch,0x26(%eax)
409bfc:	7e 72                	jle    0x409c70
409bfe:	34 02                	xor    $0x2,%al
409c00:	7a 70                	jp     0x409c72
409c02:	5f                   	pop    %edi
409c03:	39 72 00             	cmp    %esi,0x0(%edx)
409c06:	6e                   	outsb  %ds:(%esi),(%dx)
409c07:	39 ce                	cmp    %ecx,%esi
409c09:	00 6e 00             	add    %ch,0x0(%esi)
409c0c:	67 05 37 71 78 00    	addr16 add $0x787137,%eax
409c12:	07                   	pop    %es
409c13:	28 4b 00             	sub    %cl,0x0(%ebx)
409c16:	64 0a 6e 40          	or     %fs:0x40(%esi),%ch
409c1a:	67 72 0d             	addr16 jb 0x409c2a
409c1d:	02 45 70             	add    0x70(%ebp),%al
409c20:	52                   	push   %edx
409c21:	39 77 00             	cmp    %esi,0x0(%edi)
409c24:	78 2c                	js     0x409c52
409c26:	61                   	popa
409c27:	28 5d 00             	sub    %bl,0x0(%ebp)
409c2a:	6e                   	outsb  %ds:(%esi),(%dx)
409c2b:	06                   	push   %es
409c2c:	7f 72                	jg     0x409ca0
409c2e:	52                   	push   %edx
409c2f:	03 7a 70             	add    0x70(%edx),%edi
409c32:	5f                   	pop    %edi
409c33:	39 72 00             	cmp    %esi,0x0(%edx)
409c36:	6e                   	outsb  %ds:(%esi),(%dx)
409c37:	2c 4b                	sub    $0x4b,%al
409c39:	11 6a 11             	adc    %ebp,0x11(%edx)
409c3c:	79 28                	jns    0x409c66
409c3e:	60                   	pusha
409c3f:	00 7a 06             	add    %bh,0x6(%edx)
409c42:	7e 72                	jle    0x409cb6
409c44:	5b                   	pop    %ebx
409c45:	03 64 70 6a          	add    0x6a(%eax,%esi,2),%esp
409c49:	39 6e 00             	cmp    %ebp,0x0(%esi)
409c4c:	7c 2c                	jl     0x409c7a
409c4e:	0c 11                	or     $0x11,%al
409c50:	7e 11                	jle    0x409c63
409c52:	78 28                	js     0x409c7c
409c54:	56                   	push   %esi
409c55:	00 64 06 69          	add    %ah,0x69(%esi,%eax,1)
409c59:	3e 67 72 0d          	addr16 jb,pt 0x409c6a
409c5d:	02 45 70             	add    0x70(%ebp),%al
409c60:	52                   	push   %edx
409c61:	39 77 00             	cmp    %esi,0x0(%edi)
409c64:	78 2c                	js     0x409c92
409c66:	61                   	popa
409c67:	28 5d 00             	sub    %bl,0x0(%ebp)
409c6a:	6e                   	outsb  %ds:(%esi),(%dx)
409c6b:	06                   	push   %es
409c6c:	7f 72                	jg     0x409ce0
409c6e:	52                   	push   %edx
409c6f:	03 7a 70             	add    0x70(%edx),%edi
409c72:	5f                   	pop    %edi
409c73:	39 72 00             	cmp    %esi,0x0(%edx)
409c76:	6e                   	outsb  %ds:(%esi),(%dx)
409c77:	2c 4b                	sub    $0x4b,%al
409c79:	11 6a 11             	adc    %ebp,0x11(%edx)
409c7c:	78 28                	js     0x409ca6
409c7e:	60                   	pusha
409c7f:	00 7a 06             	add    %bh,0x6(%edx)
409c82:	7e 72                	jle    0x409cf6
409c84:	5b                   	pop    %ebx
409c85:	03 64 70 6a          	add    0x6a(%eax,%esi,2),%esp
409c89:	39 6e 00             	cmp    %ebp,0x0(%esi)
409c8c:	7c 2c                	jl     0x409cba
409c8e:	4c                   	dec    %esp
409c8f:	11 7e 11             	adc    %edi,0x11(%esi)
409c92:	79 28                	jns    0x409cbc
409c94:	56                   	push   %esi
409c95:	00 64 06 30          	add    %ah,0x30(%esi,%eax,1)
409c99:	47                   	inc    %edi
409c9a:	6e                   	outsb  %ds:(%esi),(%dx)
409c9b:	00 06                	add    %al,(%esi)
409c9d:	13 51 1f             	adc    0x1f(%ecx),%edx
409ca0:	5e                   	pop    %esi
409ca1:	28 40 00             	sub    %al,0x0(%eax)