406986:	12 12                	adc    (%edx),%dl
406988:	12 12                	adc    (%edx),%dl
40698a:	12 12                	adc    (%edx),%dl
40698c:	12 12                	adc    (%edx),%dl
40698e:	12 12                	adc    (%edx),%dl
406990:	12 12                	adc    (%edx),%dl
406992:	12 12                	adc    (%edx),%dl
406994:	12 0f                	adc    (%edi),%cl
406996:	12 10                	adc    (%eax),%dl
406998:	11 55 8b             	adc    %edx,-0x75(%ebp)
40699b:	ec                   	in     (%dx),%al
40699c:	56                   	push   %esi
40699d:	57                   	push   %edi
40699e:	8b 7d 08             	mov    0x8(%ebp),%edi
4069a1:	33 f6                	xor    %esi,%esi
4069a3:	ff 37                	push   (%edi)
4069a5:	ff 34 b5 80 4e 4a 00 	push   0x4a4e80(,%esi,4)
4069ac:	e8 db cd 01 00       	call   0x42378c
4069b1:	59                   	pop    %ecx
4069b2:	59                   	pop    %ecx
4069b3:	85 c0                	test   %eax,%eax
4069b5:	74 0b                	je     0x4069c2
4069b7:	46                   	inc    %esi
4069b8:	83 fe 2d             	cmp    $0x2d,%esi
4069bb:	7c e6                	jl     0x4069a3
4069bd:	83 c8 ff             	or     $0xffffffff,%eax
4069c0:	eb 02                	jmp    0x4069c4
4069c2:	8b c6                	mov    %esi,%eax
4069c4:	5f                   	pop    %edi
4069c5:	5e                   	pop    %esi
4069c6:	5d                   	pop    %ebp
4069c7:	c2 04 00             	ret    $0x4
4069ca:	55                   	push   %ebp
4069cb:	8b ec                	mov    %esp,%ebp
4069cd:	83 ec 68             	sub    $0x68,%esp
4069d0:	53                   	push   %ebx
4069d1:	56                   	push   %esi
4069d2:	8b 75 08             	mov    0x8(%ebp),%esi
4069d5:	33 db                	xor    %ebx,%ebx
4069d7:	57                   	push   %edi
4069d8:	6a 01                	push   $0x1
4069da:	8b f9                	mov    %ecx,%edi
4069dc:	89 5d a4             	mov    %ebx,-0x5c(%ebp)
4069df:	ff 36                	push   (%esi)
4069e1:	8d 4d 98             	lea    -0x68(%ebp),%ecx
4069e4:	89 5d a8             	mov    %ebx,-0x58(%ebp)
4069e7:	88 5d ac             	mov    %bl,-0x54(%ebp)
4069ea:	e8 4e e5 ff ff       	call   0x404f3d
4069ef:	85 c0                	test   %eax,%eax
4069f1:	0f 84 63 7a 03 00    	je     0x43e45a
4069f7:	6a 02                	push   $0x2
4069f9:	ff 36                	push   (%esi)
4069fb:	8d 4d 98             	lea    -0x68(%ebp),%ecx
4069fe:	e8 3a e5 ff ff       	call   0x404f3d
406a03:	85 c0                	test   %eax,%eax
406a05:	0f 84 4f 7a 03 00    	je     0x43e45a
406a0b:	8b 45 10             	mov    0x10(%ebp),%eax
406a0e:	83 38 04             	cmpl   $0x4,(%eax)
406a11:	0f 84 64 7a 03 00    	je     0x43e47b
406a17:	53                   	push   %ebx
406a18:	68 10 f9 48 00       	push   $0x48f910
406a1d:	56                   	push   %esi
406a1e:	ff 75 0c             	push   0xc(%ebp)
406a21:	8b cf                	mov    %edi,%ecx
406a23:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
406a29:	56                   	push   %esi
406a2a:	e8 bd 01 00 00       	call   0x406bec
406a2f:	8a d8                	mov    %al,%bl
406a31:	5f                   	pop    %edi
406a32:	5e                   	pop    %esi
406a33:	8a c3                	mov    %bl,%al
406a35:	5b                   	pop    %ebx
406a36:	8b e5                	mov    %ebp,%esp
406a38:	5d                   	pop    %ebp
406a39:	c2 0c 00             	ret    $0xc
406a3c:	55                   	push   %ebp
406a3d:	8b ec                	mov    %esp,%ebp
406a3f:	83 ec 2c             	sub    $0x2c,%esp
406a42:	53                   	push   %ebx
406a43:	56                   	push   %esi
406a44:	57                   	push   %edi
406a45:	68 00 20 00 00       	push   $0x2000
406a4a:	8b f9                	mov    %ecx,%edi
406a4c:	e8 a5 a5 01 00       	call   0x420ff6
406a51:	59                   	pop    %ecx
406a52:	50                   	push   %eax
406a53:	8d 4d f8             	lea    -0x8(%ebp),%ecx
406a56:	e8 33 e9 ff ff       	call   0x40538e
406a5b:	8b 75 08             	mov    0x8(%ebp),%esi
406a5e:	66 83 3e 23          	cmpw   $0x23,(%esi)
406a62:	74 25                	je     0x406a89
406a64:	6a 03                	push   $0x3
406a66:	5b                   	pop    %ebx
406a67:	8b 45 fc             	mov    -0x4(%ebp),%eax
406a6a:	ff 08                	decl   (%eax)
406a6c:	75 10                	jne    0x406a7e
406a6e:	50                   	push   %eax
406a6f:	e8 f8 a5 01 00       	call   0x42106c
406a74:	59                   	pop    %ecx
406a75:	ff 75 f8             	push   -0x8(%ebp)
406a78:	e8 ef a5 01 00       	call   0x42106c
406a7d:	59                   	pop    %ecx
406a7e:	5f                   	pop    %edi
406a7f:	5e                   	pop    %esi
406a80:	8b c3                	mov    %ebx,%eax
406a82:	5b                   	pop    %ebx
406a83:	8b e5                	mov    %ebp,%esp
406a85:	5d                   	pop    %ebp
406a86:	c2 10 00             	ret    $0x10
406a89:	6a 0f                	push   $0xf
406a8b:	68 24 26 49 00       	push   $0x492624
406a90:	56                   	push   %esi
406a91:	e8 75 cf 01 00       	call   0x423a0b
406a96:	83 c4 0c             	add    $0xc,%esp
406a99:	85 c0                	test   %eax,%eax
406a9b:	0f 84 31 01 00 00    	je     0x406bd2
406aa1:	6a 0b                	push   $0xb
406aa3:	68 7c 26 49 00       	push   $0x49267c
406aa8:	56                   	push   %esi
406aa9:	e8 5d cf 01 00       	call   0x423a0b
406aae:	83 c4 0c             	add    $0xc,%esp
406ab1:	85 c0                	test   %eax,%eax
406ab3:	0f 84 21 01 00 00    	je     0x406bda
406ab9:	6a 0d                	push   $0xd
406abb:	68 44 26 49 00       	push   $0x492644
406ac0:	56                   	push   %esi
406ac1:	e8 45 cf 01 00       	call   0x423a0b
406ac6:	83 c4 0c             	add    $0xc,%esp
406ac9:	85 c0                	test   %eax,%eax
406acb:	0f 84 12 7c 03 00    	je     0x43e6e3
406ad1:	6a 16                	push   $0x16
406ad3:	68 f4 25 49 00       	push   $0x4925f4
406ad8:	56                   	push   %esi
406ad9:	e8 2d cf 01 00       	call   0x423a0b
406ade:	83 c4 0c             	add    $0xc,%esp
406ae1:	85 c0                	test   %eax,%eax
406ae3:	0f 84 05 7c 03 00    	je     0x43e6ee
406ae9:	6a 0d                	push   $0xd
406aeb:	68 60 26 49 00       	push   $0x492660
406af0:	56                   	push   %esi
406af1:	e8 15 cf 01 00       	call   0x423a0b
406af6:	83 c4 0c             	add    $0xc,%esp
406af9:	85 c0                	test   %eax,%eax
406afb:	0f 84 70 7c 03 00    	je     0x43e771
406b01:	6a 08                	push   $0x8
406b03:	68 2c 24 49 00       	push   $0x49242c
406b08:	56                   	push   %esi
406b09:	e8 fd ce 01 00       	call   0x423a0b
406b0e:	83 c4 0c             	add    $0xc,%esp
406b11:	85 c0                	test   %eax,%eax
406b13:	0f 84 9a 7c 03 00    	je     0x43e7b3
406b19:	6a 0f                	push   $0xf
406b1b:	68 50 fb 48 00       	push   $0x48fb50
406b20:	56                   	push   %esi
406b21:	e8 e5 ce 01 00       	call   0x423a0b
406b26:	83 c4 0c             	add    $0xc,%esp
406b29:	85 c0                	test   %eax,%eax
406b2b:	74 18                	je     0x406b45
406b2d:	6a 03                	push   $0x3
406b2f:	68 70 fb 48 00       	push   $0x48fb70
406b34:	56                   	push   %esi
406b35:	e8 d1 ce 01 00       	call   0x423a0b
406b3a:	83 c4 0c             	add    $0xc,%esp
406b3d:	85 c0                	test   %eax,%eax
406b3f:	0f 85 8d 00 00 00    	jne    0x406bd2
406b45:	33 db                	xor    %ebx,%ebx
406b47:	43                   	inc    %ebx
406b48:	89 5d 08             	mov    %ebx,0x8(%ebp)
406b4b:	51                   	push   %ecx
406b4c:	8b 4d 14             	mov    0x14(%ebp),%ecx
406b4f:	56                   	push   %esi
406b50:	e8 78 ee ff ff       	call   0x4059cd
406b55:	84 c0                	test   %al,%al
406b57:	0f 84 c3 7c 03 00    	je     0x43e820
406b5d:	8b 45 10             	mov    0x10(%ebp),%eax
406b60:	56                   	push   %esi
406b61:	ff 00                	incl   (%eax)
406b63:	e8 a2 05 00 00       	call   0x40710a
406b68:	56                   	push   %esi
406b69:	e8 4f 05 00 00       	call   0x4070bd
406b6e:	6a 0f                	push   $0xf
406b70:	68 50 fb 48 00       	push   $0x48fb50
406b75:	56                   	push   %esi
406b76:	e8 90 ce 01 00       	call   0x423a0b
406b7b:	83 c4 0c             	add    $0xc,%esp
406b7e:	85 c0                	test   %eax,%eax
406b80:	74 62                	je     0x406be4
406b82:	6a 03                	push   $0x3
406b84:	68 70 fb 48 00       	push   $0x48fb70
406b89:	56                   	push   %esi
406b8a:	e8 7c ce 01 00       	call   0x423a0b
406b8f:	83 c4 0c             	add    $0xc,%esp
406b92:	85 c0                	test   %eax,%eax
406b94:	74 4e                	je     0x406be4
406b96:	6a 0d                	push   $0xd
406b98:	68 2c fb 48 00       	push   $0x48fb2c
406b9d:	56                   	push   %esi
406b9e:	e8 68 ce 01 00       	call   0x423a0b
406ba3:	83 c4 0c             	add    $0xc,%esp
406ba6:	85 c0                	test   %eax,%eax
406ba8:	74 14                	je     0x406bbe
406baa:	6a 03                	push   $0x3
406bac:	68 48 fb 48 00       	push   $0x48fb48
406bb1:	56                   	push   %esi
406bb2:	e8 54 ce 01 00       	call   0x423a0b
406bb7:	83 c4 0c             	add    $0xc,%esp
406bba:	85 c0                	test   %eax,%eax
406bbc:	75 8d                	jne    0x406b4b
406bbe:	8b 45 08             	mov    0x8(%ebp),%eax
406bc1:	48                   	dec    %eax
406bc2:	89 45 08             	mov    %eax,0x8(%ebp)
406bc5:	85 c0                	test   %eax,%eax
406bc7:	0f 8e 9a fe ff ff    	jle    0x406a67
406bcd:	e9 79 ff ff ff       	jmp    0x406b4b
406bd2:	33 db                	xor    %ebx,%ebx
406bd4:	43                   	inc    %ebx
406bd5:	e9 8d fe ff ff       	jmp    0x406a67
406bda:	33 db                	xor    %ebx,%ebx
406bdc:	43                   	inc    %ebx
406bdd:	88 1f                	mov    %bl,(%edi)
406bdf:	e9 83 fe ff ff       	jmp    0x406a67
406be4:	ff 45 08             	incl   0x8(%ebp)
406be7:	e9 5f ff ff ff       	jmp    0x406b4b
406bec:	55                   	push   %ebp
406bed:	8b ec                	mov    %esp,%ebp
406bef:	83 e4 f8             	and    $0xfffffff8,%esp
406bf2:	81 ec e4 00 00 00    	sub    $0xe4,%esp
406bf8:	a1 a4 74 4c 00       	mov    0x4c74a4,%eax
406bfd:	53                   	push   %ebx
406bfe:	56                   	push   %esi
406bff:	40                   	inc    %eax
406c00:	8b f1                	mov    %ecx,%esi
406c02:	89 74 24 18          	mov    %esi,0x18(%esp)
406c06:	a3 a4 74 4c 00       	mov    %eax,0x4c74a4
406c0b:	57                   	push   %edi
406c0c:	83 f8 30             	cmp    $0x30,%eax
406c0f:	0f 8d 32 7c 03 00    	jge    0x43e847
406c15:	33 db                	xor    %ebx,%ebx
406c17:	c6 44 24 13 01       	movb   $0x1,0x13(%esp)
406c1c:	8b c3                	mov    %ebx,%eax
406c1e:	c6 44 24 22 01       	movb   $0x1,0x22(%esp)
406c23:	8d 8c 24 a8 00 00 00 	lea    0xa8(%esp),%ecx
406c2a:	89 44 24 14          	mov    %eax,0x14(%esp)
406c2e:	88 5c 24 24          	mov    %bl,0x24(%esp)
406c32:	e8 cf ec ff ff       	call   0x405906
406c37:	8b 7d 08             	mov    0x8(%ebp),%edi
406c3a:	8d 8c 24 a8 00 00 00 	lea    0xa8(%esp),%ecx
406c41:	68 00 80 00 00       	push   $0x8000
406c46:	57                   	push   %edi
406c47:	e8 0a ed ff ff       	call   0x405956
406c4c:	84 c0                	test   %al,%al
406c4e:	0f 84 0d 7c 03 00    	je     0x43e861
406c54:	8d 8c 24 98 00 00 00 	lea    0x98(%esp),%ecx
406c5b:	e8 67 0b 00 00       	call   0x4077c7
406c60:	8d 8c 24 98 00 00 00 	lea    0x98(%esp),%ecx
406c67:	e8 2f 9f 01 00       	call   0x420b9b
406c6c:	8d 8c 24 88 00 00 00 	lea    0x88(%esp),%ecx
406c73:	e8 4f 0b 00 00       	call   0x4077c7
406c78:	8d 94 24 88 00 00 00 	lea    0x88(%esp),%edx
406c7f:	8b cf                	mov    %edi,%ecx
406c81:	e8 28 dc ff ff       	call   0x4048ae
406c86:	8b bc 24 b8 00 00 00 	mov    0xb8(%esp),%edi
406c8d:	8d 44 24 44          	lea    0x44(%esp),%eax
406c91:	8b b4 24 bc 00 00 00 	mov    0xbc(%esp),%esi
406c98:	8d 8c 24 a8 00 00 00 	lea    0xa8(%esp),%ecx
406c9f:	50                   	push   %eax
406ca0:	8d 44 24 64          	lea    0x64(%esp),%eax
406ca4:	c7 44 24 48 18 00 00 	movl   $0x18,0x48(%esp)
406cab:	00
406cac:	50                   	push   %eax
406cad:	e8 fe ec ff ff       	call   0x4059b0
406cb2:	53                   	push   %ebx
406cb3:	56                   	push   %esi
406cb4:	57                   	push   %edi
406cb5:	8d 8c 24 b4 00 00 00 	lea    0xb4(%esp),%ecx
406cbc:	e8 8d ef ff ff       	call   0x405c4e
406cc1:	81 7c 24 70 41 55 33 	cmpl   $0x21335541,0x70(%esp)
406cc8:	21
406cc9:	0f 84 ac 7b 03 00    	je     0x43e87b
406ccf:	8d 4c 24 50          	lea    0x50(%esp),%ecx
406cd3:	e8 ef 0a 00 00       	call   0x4077c7
406cd8:	8d 4c 24 28          	lea    0x28(%esp),%ecx
406cdc:	e8 e6 0a 00 00       	call   0x4077c7
406ce1:	53                   	push   %ebx
406ce2:	8d 44 24 2c          	lea    0x2c(%esp),%eax
406ce6:	53                   	push   %ebx
406ce7:	50                   	push   %eax
406ce8:	8d 54 24 5c          	lea    0x5c(%esp),%edx
406cec:	8d 8c 24 94 00 00 00 	lea    0x94(%esp),%ecx
406cf3:	e8 01 da ff ff       	call   0x4046f9
406cf8:	83 c4 0c             	add    $0xc,%esp
406cfb:	8d 44 24 28          	lea    0x28(%esp),%eax
406cff:	8d 4c 24 50          	lea    0x50(%esp),%ecx
406d03:	50                   	push   %eax
406d04:	e8 85 0f 00 00       	call   0x407c8e
406d09:	ff 74 24 50          	push   0x50(%esp)
406d0d:	ff 15 08 f2 48 00    	call   *0x48f208
406d13:	8d 4c 24 28          	lea    0x28(%esp),%ecx
406d17:	e8 48 ed ff ff       	call   0x405a64
406d1c:	8d 4c 24 50          	lea    0x50(%esp),%ecx
406d20:	e8 3f ed ff ff       	call   0x405a64
406d25:	68 00 20 00 00       	push   $0x2000
406d2a:	e8 c7 a2 01 00       	call   0x420ff6
406d2f:	59                   	pop    %ecx
406d30:	50                   	push   %eax
406d31:	8d 4c 24 48          	lea    0x48(%esp),%ecx
406d35:	e8 54 e6 ff ff       	call   0x40538e
406d3a:	8b 74 24 44          	mov    0x44(%esp),%esi
406d3e:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
406d42:	80 7c 24 22 01       	cmpb   $0x1,0x22(%esp)
406d47:	0f 85 fa 00 00 00    	jne    0x406e47
406d4d:	51                   	push   %ecx
406d4e:	56                   	push   %esi
406d4f:	8d 8c 24 b0 00 00 00 	lea    0xb0(%esp),%ecx
406d56:	e8 72 ec ff ff       	call   0x4059cd
406d5b:	84 c0                	test   %al,%al
406d5d:	0f 84 e4 00 00 00    	je     0x406e47
406d63:	8b 44 24 14          	mov    0x14(%esp),%eax
406d67:	40                   	inc    %eax
406d68:	56                   	push   %esi
406d69:	89 44 24 18          	mov    %eax,0x18(%esp)
406d6d:	89 44 24 20          	mov    %eax,0x20(%esp)
406d71:	e8 47 03 00 00       	call   0x4070bd
406d76:	56                   	push   %esi
406d77:	e8 b0 02 00 00       	call   0x40702c
406d7c:	56                   	push   %esi
406d7d:	84 c0                	test   %al,%al
406d7f:	0f 84 82 7e 03 00    	je     0x43ec07
406d85:	e8 80 03 00 00       	call   0x40710a
406d8a:	56                   	push   %esi
406d8b:	88 5c 24 27          	mov    %bl,0x27(%esp)
406d8f:	e8 a8 c0 01 00       	call   0x422e3c
406d94:	89 44 24 3c          	mov    %eax,0x3c(%esp)
406d98:	59                   	pop    %ecx
406d99:	83 f8 02             	cmp    $0x2,%eax
406d9c:	7e 1d                	jle    0x406dbb
406d9e:	66 8b 44 46 fc       	mov    -0x4(%esi,%eax,2),%ax
406da3:	6a 7f                	push   $0x7f
406da5:	59                   	pop    %ecx
406da6:	66 23 c1             	and    %cx,%ax
406da9:	0f b7 c0             	movzwl %ax,%eax
406dac:	50                   	push   %eax
406dad:	e8 cb ca 01 00       	call   0x42387d
406db2:	59                   	pop    %ecx
406db3:	85 c0                	test   %eax,%eax
406db5:	0f 85 f4 00 00 00    	jne    0x406eaf
406dbb:	80 7c 24 24 01       	cmpb   $0x1,0x24(%esp)
406dc0:	0f 84 34 7e 03 00    	je     0x43ebfa
406dc6:	ff b4 24 88 00 00 00 	push   0x88(%esp)
406dcd:	8d 4c 24 7c          	lea    0x7c(%esp),%ecx