406d0d:	c7 06 07 00 00 00    	movl   $0x7,(%esi)
406d13:	e9 1f 03 00 00       	jmp    0x407037
406d18:	8b 46 08             	mov    0x8(%esi),%eax
406d1b:	eb 20                	jmp    0x406d3d
406d1d:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
406d21:	0f 84 20 03 00 00    	je     0x407047
406d27:	8b 4d c8             	mov    -0x38(%ebp),%ecx
406d2a:	ff 4d cc             	decl   -0x34(%ebp)
406d2d:	0f b6 11             	movzbl (%ecx),%edx
406d30:	8b cb                	mov    %ebx,%ecx
406d32:	d3 e2                	shl    %cl,%edx
406d34:	09 55 c0             	or     %edx,-0x40(%ebp)
406d37:	ff 45 c8             	incl   -0x38(%ebp)
406d3a:	83 c3 08             	add    $0x8,%ebx
406d3d:	3b d8                	cmp    %eax,%ebx
406d3f:	72 dc                	jb     0x406d1d
406d41:	0f b7 0c 45 00 a4 40 	movzwl 0x40a400(,%eax,2),%ecx
406d48:	00
406d49:	23 4d c0             	and    -0x40(%ebp),%ecx
406d4c:	01 4e 04             	add    %ecx,0x4(%esi)
406d4f:	8b c8                	mov    %eax,%ecx
406d51:	d3 6d c0             	shrl   %cl,-0x40(%ebp)
406d54:	2b d8                	sub    %eax,%ebx
406d56:	0f b6 46 11          	movzbl 0x11(%esi),%eax
406d5a:	89 46 0c             	mov    %eax,0xc(%esi)
406d5d:	8b 46 18             	mov    0x18(%esi),%eax
406d60:	89 46 08             	mov    %eax,0x8(%esi)
406d63:	c7 06 03 00 00 00    	movl   $0x3,(%esi)
406d69:	8b 46 0c             	mov    0xc(%esi),%eax
406d6c:	eb 20                	jmp    0x406d8e
406d6e:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
406d72:	0f 84 cf 02 00 00    	je     0x407047
406d78:	8b 4d c8             	mov    -0x38(%ebp),%ecx
406d7b:	ff 4d cc             	decl   -0x34(%ebp)
406d7e:	0f b6 11             	movzbl (%ecx),%edx
406d81:	8b cb                	mov    %ebx,%ecx
406d83:	d3 e2                	shl    %cl,%edx
406d85:	09 55 c0             	or     %edx,-0x40(%ebp)
406d88:	ff 45 c8             	incl   -0x38(%ebp)
406d8b:	83 c3 08             	add    $0x8,%ebx
406d8e:	3b d8                	cmp    %eax,%ebx
406d90:	72 dc                	jb     0x406d6e
406d92:	0f b7 04 45 00 a4 40 	movzwl 0x40a400(,%eax,2),%eax
406d99:	00
406d9a:	23 45 c0             	and    -0x40(%ebp),%eax
406d9d:	8b 4e 08             	mov    0x8(%esi),%ecx
406da0:	8d 04 81             	lea    (%ecx,%eax,4),%eax
406da3:	0f b6 48 01          	movzbl 0x1(%eax),%ecx
406da7:	d3 6d c0             	shrl   %cl,-0x40(%ebp)
406daa:	2b d9                	sub    %ecx,%ebx
406dac:	0f b6 08             	movzbl (%eax),%ecx
406daf:	f6 c1 10             	test   $0x10,%cl
406db2:	74 18                	je     0x406dcc
406db4:	83 e1 0f             	and    $0xf,%ecx
406db7:	89 4e 08             	mov    %ecx,0x8(%esi)
406dba:	0f b7 40 02          	movzwl 0x2(%eax),%eax
406dbe:	89 46 0c             	mov    %eax,0xc(%esi)
406dc1:	c7 06 04 00 00 00    	movl   $0x4,(%esi)
406dc7:	e9 6b 02 00 00       	jmp    0x407037
406dcc:	f6 c1 40             	test   $0x40,%cl
406dcf:	0f 85 05 f9 ff ff    	jne    0x4066da
406dd5:	89 4e 0c             	mov    %ecx,0xc(%esi)
406dd8:	0f b7 48 02          	movzwl 0x2(%eax),%ecx
406ddc:	8d 04 88             	lea    (%eax,%ecx,4),%eax
406ddf:	89 46 08             	mov    %eax,0x8(%esi)
406de2:	e9 50 02 00 00       	jmp    0x407037
406de7:	8b 46 08             	mov    0x8(%esi),%eax
406dea:	eb 20                	jmp    0x406e0c
406dec:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
406df0:	0f 84 51 02 00 00    	je     0x407047
406df6:	8b 4d c8             	mov    -0x38(%ebp),%ecx
406df9:	ff 4d cc             	decl   -0x34(%ebp)
406dfc:	0f b6 11             	movzbl (%ecx),%edx
406dff:	8b cb                	mov    %ebx,%ecx
406e01:	d3 e2                	shl    %cl,%edx
406e03:	09 55 c0             	or     %edx,-0x40(%ebp)
406e06:	ff 45 c8             	incl   -0x38(%ebp)
406e09:	83 c3 08             	add    $0x8,%ebx
406e0c:	3b d8                	cmp    %eax,%ebx
406e0e:	72 dc                	jb     0x406dec
406e10:	0f b7 0c 45 00 a4 40 	movzwl 0x40a400(,%eax,2),%ecx
406e17:	00
406e18:	23 4d c0             	and    -0x40(%ebp),%ecx
406e1b:	01 4e 0c             	add    %ecx,0xc(%esi)
406e1e:	8b c8                	mov    %eax,%ecx
406e20:	d3 6d c0             	shrl   %cl,-0x40(%ebp)
406e23:	2b d8                	sub    %eax,%ebx
406e25:	c7 06 05 00 00 00    	movl   $0x5,(%esi)
406e2b:	8b 45 d0             	mov    -0x30(%ebp),%eax
406e2e:	8b 56 0c             	mov    0xc(%esi),%edx
406e31:	8b c8                	mov    %eax,%ecx
406e33:	2b ce                	sub    %esi,%ecx
406e35:	81 e9 a0 1b 00 00    	sub    $0x1ba0,%ecx
406e3b:	3b ca                	cmp    %edx,%ecx
406e3d:	73 13                	jae    0x406e52
406e3f:	8b 8e a0 9b 00 00    	mov    0x9ba0(%esi),%ecx
406e45:	2b ca                	sub    %edx,%ecx
406e47:	2b ce                	sub    %esi,%ecx
406e49:	8d 8c 01 60 e4 ff ff 	lea    -0x1ba0(%ecx,%eax,1),%ecx
406e50:	eb 04                	jmp    0x406e56
406e52:	8b c8                	mov    %eax,%ecx
406e54:	2b ca                	sub    %edx,%ecx
406e56:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
406e5a:	89 4d e0             	mov    %ecx,-0x20(%ebp)
406e5d:	0f 84 90 f9 ff ff    	je     0x4067f3
406e63:	8b 7d d4             	mov    -0x2c(%ebp),%edi
406e66:	85 ff                	test   %edi,%edi
406e68:	0f 85 91 00 00 00    	jne    0x406eff
406e6e:	8b be a0 9b 00 00    	mov    0x9ba0(%esi),%edi
406e74:	3b c7                	cmp    %edi,%eax
406e76:	75 23                	jne    0x406e9b
406e78:	8b 8e a4 9b 00 00    	mov    0x9ba4(%esi),%ecx
406e7e:	8d 96 a0 1b 00 00    	lea    0x1ba0(%esi),%edx
406e84:	3b ca                	cmp    %edx,%ecx
406e86:	74 13                	je     0x406e9b
406e88:	8b c2                	mov    %edx,%eax
406e8a:	3b c1                	cmp    %ecx,%eax
406e8c:	73 07                	jae    0x406e95
406e8e:	2b c8                	sub    %eax,%ecx
406e90:	49                   	dec    %ecx
406e91:	8b f9                	mov    %ecx,%edi
406e93:	eb 02                	jmp    0x406e97
406e95:	2b f8                	sub    %eax,%edi
406e97:	85 ff                	test   %edi,%edi
406e99:	75 64                	jne    0x406eff
406e9b:	ff 75 08             	push   0x8(%ebp)
406e9e:	89 86 a8 9b 00 00    	mov    %eax,0x9ba8(%esi)
406ea4:	e8 09 02 00 00       	call   0x4070b2
406ea9:	8b 86 a8 9b 00 00    	mov    0x9ba8(%esi),%eax
406eaf:	8b 8e a4 9b 00 00    	mov    0x9ba4(%esi),%ecx
406eb5:	3b c1                	cmp    %ecx,%eax
406eb7:	89 45 d0             	mov    %eax,-0x30(%ebp)
406eba:	73 07                	jae    0x406ec3
406ebc:	8b f9                	mov    %ecx,%edi
406ebe:	2b f8                	sub    %eax,%edi
406ec0:	4f                   	dec    %edi
406ec1:	eb 08                	jmp    0x406ecb
406ec3:	8b be a0 9b 00 00    	mov    0x9ba0(%esi),%edi
406ec9:	2b f8                	sub    %eax,%edi
406ecb:	8b 96 a0 9b 00 00    	mov    0x9ba0(%esi),%edx
406ed1:	3b c2                	cmp    %edx,%eax
406ed3:	89 55 f8             	mov    %edx,-0x8(%ebp)
406ed6:	75 1f                	jne    0x406ef7
406ed8:	8d 96 a0 1b 00 00    	lea    0x1ba0(%esi),%edx
406ede:	3b ca                	cmp    %edx,%ecx
406ee0:	74 15                	je     0x406ef7
406ee2:	8b c2                	mov    %edx,%eax
406ee4:	3b c1                	cmp    %ecx,%eax
406ee6:	89 45 d0             	mov    %eax,-0x30(%ebp)
406ee9:	73 07                	jae    0x406ef2
406eeb:	2b c8                	sub    %eax,%ecx
406eed:	49                   	dec    %ecx
406eee:	8b f9                	mov    %ecx,%edi
406ef0:	eb 05                	jmp    0x406ef7
406ef2:	8b 7d f8             	mov    -0x8(%ebp),%edi
406ef5:	2b f8                	sub    %eax,%edi
406ef7:	85 ff                	test   %edi,%edi
406ef9:	0f 84 64 01 00 00    	je     0x407063
406eff:	8b 4d e0             	mov    -0x20(%ebp),%ecx
406f02:	8a 11                	mov    (%ecx),%dl
406f04:	88 10                	mov    %dl,(%eax)
406f06:	40                   	inc    %eax
406f07:	41                   	inc    %ecx
406f08:	4f                   	dec    %edi
406f09:	3b 8e a0 9b 00 00    	cmp    0x9ba0(%esi),%ecx
406f0f:	89 45 d0             	mov    %eax,-0x30(%ebp)
406f12:	89 4d e0             	mov    %ecx,-0x20(%ebp)
406f15:	89 7d d4             	mov    %edi,-0x2c(%ebp)
406f18:	75 09                	jne    0x406f23
406f1a:	8d 8e a0 1b 00 00    	lea    0x1ba0(%esi),%ecx
406f20:	89 4d e0             	mov    %ecx,-0x20(%ebp)
406f23:	ff 4e 04             	decl   0x4(%esi)
406f26:	0f 85 3a ff ff ff    	jne    0x406e66
406f2c:	e9 c2 f8 ff ff       	jmp    0x4067f3
406f31:	8b 45 d4             	mov    -0x2c(%ebp),%eax
406f34:	8b 7d d0             	mov    -0x30(%ebp),%edi
406f37:	85 c0                	test   %eax,%eax
406f39:	0f 85 91 00 00 00    	jne    0x406fd0
406f3f:	8b 8e a0 9b 00 00    	mov    0x9ba0(%esi),%ecx
406f45:	3b f9                	cmp    %ecx,%edi
406f47:	75 23                	jne    0x406f6c
406f49:	8b 86 a4 9b 00 00    	mov    0x9ba4(%esi),%eax
406f4f:	8d 96 a0 1b 00 00    	lea    0x1ba0(%esi),%edx
406f55:	3b c2                	cmp    %edx,%eax
406f57:	74 13                	je     0x406f6c
406f59:	8b fa                	mov    %edx,%edi
406f5b:	3b f8                	cmp    %eax,%edi
406f5d:	73 05                	jae    0x406f64
406f5f:	2b c7                	sub    %edi,%eax
406f61:	48                   	dec    %eax
406f62:	eb 04                	jmp    0x406f68
406f64:	2b cf                	sub    %edi,%ecx
406f66:	8b c1                	mov    %ecx,%eax
406f68:	85 c0                	test   %eax,%eax
406f6a:	75 64                	jne    0x406fd0
406f6c:	ff 75 08             	push   0x8(%ebp)
406f6f:	89 be a8 9b 00 00    	mov    %edi,0x9ba8(%esi)
406f75:	e8 38 01 00 00       	call   0x4070b2
406f7a:	8b be a8 9b 00 00    	mov    0x9ba8(%esi),%edi
406f80:	8b 8e a4 9b 00 00    	mov    0x9ba4(%esi),%ecx
406f86:	3b f9                	cmp    %ecx,%edi
406f88:	89 7d d0             	mov    %edi,-0x30(%ebp)
406f8b:	73 07                	jae    0x406f94
406f8d:	8b c1                	mov    %ecx,%eax
406f8f:	2b c7                	sub    %edi,%eax
406f91:	48                   	dec    %eax
406f92:	eb 08                	jmp    0x406f9c
406f94:	8b 86 a0 9b 00 00    	mov    0x9ba0(%esi),%eax
406f9a:	2b c7                	sub    %edi,%eax
406f9c:	8b 96 a0 9b 00 00    	mov    0x9ba0(%esi),%edx
406fa2:	3b fa                	cmp    %edx,%edi
406fa4:	89 55 f8             	mov    %edx,-0x8(%ebp)
406fa7:	75 1f                	jne    0x406fc8
406fa9:	8d 96 a0 1b 00 00    	lea    0x1ba0(%esi),%edx
406faf:	3b ca                	cmp    %edx,%ecx
406fb1:	74 15                	je     0x406fc8
406fb3:	8b fa                	mov    %edx,%edi
406fb5:	3b f9                	cmp    %ecx,%edi
406fb7:	89 7d d0             	mov    %edi,-0x30(%ebp)
406fba:	73 07                	jae    0x406fc3
406fbc:	2b cf                	sub    %edi,%ecx
406fbe:	49                   	dec    %ecx
406fbf:	8b c1                	mov    %ecx,%eax
406fc1:	eb 05                	jmp    0x406fc8
406fc3:	8b 45 f8             	mov    -0x8(%ebp),%eax
406fc6:	2b c7                	sub    %edi,%eax
406fc8:	85 c0                	test   %eax,%eax
406fca:	0f 84 93 00 00 00    	je     0x407063
406fd0:	8a 4e 08             	mov    0x8(%esi),%cl
406fd3:	88 0f                	mov    %cl,(%edi)
406fd5:	47                   	inc    %edi
406fd6:	48                   	dec    %eax
406fd7:	89 7d d0             	mov    %edi,-0x30(%ebp)
406fda:	89 45 d4             	mov    %eax,-0x2c(%ebp)
406fdd:	e9 11 f8 ff ff       	jmp    0x4067f3
406fe2:	83 fb 07             	cmp    $0x7,%ebx
406fe5:	76 09                	jbe    0x406ff0
406fe7:	83 eb 08             	sub    $0x8,%ebx
406fea:	ff 45 cc             	incl   -0x34(%ebp)
406fed:	ff 4d c8             	decl   -0x38(%ebp)
406ff0:	8b 45 d0             	mov    -0x30(%ebp),%eax
406ff3:	ff 75 08             	push   0x8(%ebp)
406ff6:	89 86 a8 9b 00 00    	mov    %eax,0x9ba8(%esi)
406ffc:	e8 b1 00 00 00       	call   0x4070b2
407001:	8b 8e a8 9b 00 00    	mov    0x9ba8(%esi),%ecx
407007:	8b 96 a4 9b 00 00    	mov    0x9ba4(%esi),%edx
40700d:	3b ca                	cmp    %edx,%ecx
40700f:	89 4d d0             	mov    %ecx,-0x30(%ebp)
407012:	73 07                	jae    0x40701b
407014:	8b c2                	mov    %edx,%eax
407016:	2b c1                	sub    %ecx,%eax
407018:	48                   	dec    %eax
407019:	eb 08                	jmp    0x407023
40701b:	8b 86 a0 9b 00 00    	mov    0x9ba0(%esi),%eax
407021:	2b c1                	sub    %ecx,%eax
407023:	3b ca                	cmp    %edx,%ecx
407025:	89 45 d4             	mov    %eax,-0x2c(%ebp)
407028:	75 39                	jne    0x407063
40702a:	8b 86 14 05 00 00    	mov    0x514(%esi),%eax
407030:	83 f8 08             	cmp    $0x8,%eax
407033:	89 06                	mov    %eax,(%esi)
407035:	75 33                	jne    0x40706a
407037:	8b 06                	mov    (%esi),%eax
407039:	83 f8 0f             	cmp    $0xf,%eax
40703c:	0f 86 32 f6 ff ff    	jbe    0x406674
407042:	e9 93 f6 ff ff       	jmp    0x4066da
407047:	8b 45 c0             	mov    -0x40(%ebp),%eax
40704a:	33 ff                	xor    %edi,%edi
40704c:	89 86 1c 05 00 00    	mov    %eax,0x51c(%esi)
407052:	8b 45 08             	mov    0x8(%ebp),%eax
407055:	89 9e 18 05 00 00    	mov    %ebx,0x518(%esi)
40705b:	89 78 04             	mov    %edi,0x4(%eax)
40705e:	e9 98 f6 ff ff       	jmp    0x4066fb
407063:	33 ff                	xor    %edi,%edi
407065:	e9 79 f6 ff ff       	jmp    0x4066e3
40706a:	33 ff                	xor    %edi,%edi
40706c:	47                   	inc    %edi
40706d:	e9 71 f6 ff ff       	jmp    0x4066e3
407072:	6f                   	outsl  %ds:(%esi),(%dx)
407073:	6c                   	insb   (%dx),%es:(%edi)
407074:	40                   	inc    %eax
407075:	00 82 6c 40 00 18    	add    %al,0x1800406c(%edx)
40707b:	6d                   	insl   (%dx),%es:(%edi)
40707c:	40                   	inc    %eax
40707d:	00 69 6d             	add    %ch,0x6d(%ecx)
407080:	40                   	inc    %eax
407081:	00 e7                	add    %ah,%bh
407083:	6d                   	insl   (%dx),%es:(%edi)
407084:	40                   	inc    %eax
407085:	00 2b                	add    %ch,(%ebx)
407087:	6e                   	outsb  %ds:(%esi),(%dx)
407088:	40                   	inc    %eax
407089:	00 31                	add    %dh,(%ecx)
40708b:	6f                   	outsl  %ds:(%esi),(%dx)
40708c:	40                   	inc    %eax
40708d:	00 e2                	add    %ah,%dl
40708f:	6f                   	outsl  %ds:(%esi),(%dx)
407090:	40                   	inc    %eax
407091:	00 9b 66 40 00 30    	add    %bl,0x30004066(%ebx)
407097:	68 40 00 55 68       	push   $0x68550040
40709c:	40                   	inc    %eax
40709d:	00 63 69             	add    %ah,0x69(%ebx)
4070a0:	40                   	inc    %eax
4070a1:	00 a2 69 40 00 85    	add    %ah,-0x7affbf97(%edx)
4070a7:	6b 40 00 da          	imul   $0xffffffda,0x0(%eax),%eax
4070ab:	66 40                	inc    %ax
4070ad:	00 f0                	add    %dh,%al
4070af:	6f                   	outsl  %ds:(%esi),(%dx)
4070b0:	40                   	inc    %eax
4070b1:	00 53 56             	add    %dl,0x56(%ebx)
4070b4:	8b 74 24 0c          	mov    0xc(%esp),%esi
4070b8:	57                   	push   %edi
4070b9:	8b be b4 9b 00 00    	mov    0x9bb4(%esi),%edi
4070bf:	8b 9e b8 9b 00 00    	mov    0x9bb8(%esi),%ebx
4070c5:	3b fb                	cmp    %ebx,%edi
4070c7:	76 06                	jbe    0x4070cf
4070c9:	8b 9e b0 9b 00 00    	mov    0x9bb0(%esi),%ebx
4070cf:	8b 46 0c             	mov    0xc(%esi),%eax
4070d2:	2b df                	sub    %edi,%ebx
4070d4:	3b d8                	cmp    %eax,%ebx
4070d6:	72 02                	jb     0x4070da
4070d8:	8b d8                	mov    %eax,%ebx
4070da:	53                   	push   %ebx
4070db:	57                   	push   %edi
4070dc:	ff 76 08             	push   0x8(%esi)
4070df:	2b c3                	sub    %ebx,%eax
4070e1:	89 46 0c             	mov    %eax,0xc(%esi)
4070e4:	e8 d1 eb ff ff       	call   0x405cba
4070e9:	01 5e 08             	add    %ebx,0x8(%esi)
4070ec:	8b 86 b0 9b 00 00    	mov    0x9bb0(%esi),%eax
4070f2:	03 fb                	add    %ebx,%edi
4070f4:	3b f8                	cmp    %eax,%edi
4070f6:	75 16                	jne    0x40710e
4070f8:	39 86 b8 9b 00 00    	cmp    %eax,0x9bb8(%esi)
4070fe:	8d be b0 1b 00 00    	lea    0x1bb0(%esi),%edi
407104:	75 b9                	jne    0x4070bf
407106:	89 be b8 9b 00 00    	mov    %edi,0x9bb8(%esi)
40710c:	eb b1                	jmp    0x4070bf
40710e:	89 be b4 9b 00 00    	mov    %edi,0x9bb4(%esi)
407114:	5f                   	pop    %edi
407115:	5e                   	pop    %esi
407116:	5b                   	pop    %ebx
407117:	c2 04 00             	ret    $0x4
40711a:	55                   	push   %ebp
40711b:	8b ec                	mov    %esp,%ebp
40711d:	81 ec ec 00 00 00    	sub    $0xec,%esp
407123:	53                   	push   %ebx
407124:	56                   	push   %esi
407125:	8b 75 0c             	mov    0xc(%ebp),%esi
407128:	57                   	push   %edi