406be3:	bb 74 2a 43 00       	mov    $0x432a74,%ebx
406be8:	8b cb                	mov    %ebx,%ecx
406bea:	e8 11 a4 ff ff       	call   0x401000
406bef:	6a 09                	push   $0x9
406bf1:	8b cb                	mov    %ebx,%ecx
406bf3:	e8 12 f8 ff ff       	call   0x40640a
406bf8:	80 bf e1 10 00 00 00 	cmpb   $0x0,0x10e1(%edi)
406bff:	ff 75 0c             	push   0xc(%ebp)
406c02:	74 08                	je     0x406c0c
406c04:	ff 15 0c a2 42 00    	call   *0x42a20c
406c0a:	eb 06                	jmp    0x406c12
406c0c:	ff 15 10 a2 42 00    	call   *0x42a210
406c12:	32 db                	xor    %bl,%bl
406c14:	56                   	push   %esi
406c15:	e8 c8 32 01 00       	call   0x419ee2
406c1a:	59                   	pop    %ecx
406c1b:	8a c3                	mov    %bl,%al
406c1d:	e9 67 ff ff ff       	jmp    0x406b89
406c22:	8d 8d b8 cf ff ff    	lea    -0x3048(%ebp),%ecx
406c28:	e8 17 1b 00 00       	call   0x408744
406c2d:	8d 8d b8 cf ff ff    	lea    -0x3048(%ebp),%ecx
406c33:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
406c37:	e8 93 1d 00 00       	call   0x4089cf
406c3c:	89 9d bc cf ff ff    	mov    %ebx,-0x3044(%ebp)
406c42:	8b 5d 08             	mov    0x8(%ebp),%ebx
406c45:	8b 83 94 62 00 00    	mov    0x6294(%ebx),%eax
406c4b:	f7 d8                	neg    %eax
406c4d:	1b c0                	sbb    %eax,%eax
406c4f:	8d 8f 40 10 00 00    	lea    0x1040(%edi),%ecx
406c55:	23 c1                	and    %ecx,%eax
406c57:	50                   	push   %eax
406c58:	8b 83 90 62 00 00    	mov    0x6290(%ebx),%eax
406c5e:	f7 d8                	neg    %eax
406c60:	1b c0                	sbb    %eax,%eax
406c62:	8d 8f 38 10 00 00    	lea    0x1038(%edi),%ecx
406c68:	23 c1                	and    %ecx,%eax
406c6a:	50                   	push   %eax
406c6b:	8b 83 8c 62 00 00    	mov    0x628c(%ebx),%eax
406c71:	f7 d8                	neg    %eax
406c73:	8d 8f 30 10 00 00    	lea    0x1030(%edi),%ecx
406c79:	1b c0                	sbb    %eax,%eax
406c7b:	23 c1                	and    %ecx,%eax
406c7d:	50                   	push   %eax
406c7e:	8d 8d b8 cf ff ff    	lea    -0x3048(%ebp),%ecx
406c84:	e8 3e 20 00 00       	call   0x408cc7
406c89:	8d 8d b8 cf ff ff    	lea    -0x3048(%ebp),%ecx
406c8f:	e8 3b 1d 00 00       	call   0x4089cf
406c94:	80 bb 9b 51 00 00 00 	cmpb   $0x0,0x519b(%ebx)
406c9b:	75 0b                	jne    0x406ca8
406c9d:	ff 77 1c             	push   0x1c(%edi)
406ca0:	ff 75 0c             	push   0xc(%ebp)
406ca3:	e8 77 23 00 00       	call   0x40901f
406ca8:	8d 8d b8 cf ff ff    	lea    -0x3048(%ebp),%ecx
406cae:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
406cb2:	e8 53 1f 00 00       	call   0x408c0a
406cb7:	b3 01                	mov    $0x1,%bl
406cb9:	e9 56 ff ff ff       	jmp    0x406c14
406cbe:	8b 44 24 0c          	mov    0xc(%esp),%eax
406cc2:	83 b8 30 a2 00 00 03 	cmpl   $0x3,0xa230(%eax)
406cc9:	75 15                	jne    0x406ce0
406ccb:	05 c8 57 00 00       	add    $0x57c8,%eax
406cd0:	50                   	push   %eax
406cd1:	ff 74 24 14          	push   0x14(%esp)
406cd5:	ff 74 24 0c          	push   0xc(%esp)
406cd9:	e8 31 fc ff ff       	call   0x40690f
406cde:	eb 02                	jmp    0x406ce2
406ce0:	32 c0                	xor    %al,%al
406ce2:	c2 10 00             	ret    $0x10
406ce5:	b8 a3 92 42 00       	mov    $0x4292a3,%eax
406cea:	e8 c9 31 01 00       	call   0x419eb8
406cef:	b8 94 50 00 00       	mov    $0x5094,%eax
406cf4:	e8 d7 37 01 00       	call   0x41a4d0
406cf9:	53                   	push   %ebx
406cfa:	56                   	push   %esi
406cfb:	8b 75 0c             	mov    0xc(%ebp),%esi
406cfe:	66 83 3e 00          	cmpw   $0x0,(%esi)
406d02:	57                   	push   %edi
406d03:	bf 02 08 00 00       	mov    $0x802,%edi
406d08:	8d 5f fe             	lea    -0x2(%edi),%ebx
406d0b:	74 23                	je     0x406d30
406d0d:	66 83 7e 02 00       	cmpw   $0x0,0x2(%esi)
406d12:	75 1c                	jne    0x406d30
406d14:	8d 85 84 cf ff ff    	lea    -0x307c(%ebp),%eax
406d1a:	68 e4 a5 42 00       	push   $0x42a5e4
406d1f:	50                   	push   %eax
406d20:	e8 ae 34 01 00       	call   0x41a1d3
406d25:	59                   	pop    %ecx
406d26:	59                   	pop    %ecx
406d27:	53                   	push   %ebx
406d28:	8d 85 88 cf ff ff    	lea    -0x3078(%ebp),%eax
406d2e:	eb 07                	jmp    0x406d37
406d30:	57                   	push   %edi
406d31:	8d 85 84 cf ff ff    	lea    -0x307c(%ebp),%eax
406d37:	56                   	push   %esi
406d38:	50                   	push   %eax
406d39:	e8 e1 9b 00 00       	call   0x41091f
406d3e:	53                   	push   %ebx
406d3f:	8b 5d 08             	mov    0x8(%ebp),%ebx
406d42:	8d 85 84 bf ff ff    	lea    -0x407c(%ebp),%eax
406d48:	50                   	push   %eax
406d49:	53                   	push   %ebx
406d4a:	e8 af f9 ff ff       	call   0x4066fe
406d4f:	66 83 bd 84 bf ff ff 	cmpw   $0x3a,-0x407c(%ebp)
406d56:	3a
406d57:	74 1d                	je     0x406d76
406d59:	56                   	push   %esi
406d5a:	83 c3 1e             	add    $0x1e,%ebx
406d5d:	53                   	push   %ebx
406d5e:	6a 50                	push   $0x50
406d60:	e8 74 f7 ff ff       	call   0x4064d9
406d65:	6a 03                	push   $0x3
406d67:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
406d6c:	e8 99 f6 ff ff       	call   0x40640a
406d71:	e9 fa 00 00 00       	jmp    0x406e70
406d76:	57                   	push   %edi
406d77:	8d 85 84 bf ff ff    	lea    -0x407c(%ebp),%eax
406d7d:	50                   	push   %eax
406d7e:	8d 85 84 cf ff ff    	lea    -0x307c(%ebp),%eax
406d84:	50                   	push   %eax
406d85:	e8 c2 9b 00 00       	call   0x41094c
406d8a:	8d 8d 88 df ff ff    	lea    -0x2078(%ebp),%ecx
406d90:	e8 51 fa ff ff       	call   0x4067e6
406d95:	33 ff                	xor    %edi,%edi
406d97:	57                   	push   %edi
406d98:	8d 85 88 df ff ff    	lea    -0x2078(%ebp),%eax
406d9e:	50                   	push   %eax
406d9f:	56                   	push   %esi
406da0:	e8 95 28 00 00       	call   0x40963a
406da5:	8a d8                	mov    %al,%bl
406da7:	8b 85 90 ef ff ff    	mov    -0x1070(%ebp),%eax
406dad:	a8 01                	test   $0x1,%al
406daf:	74 0a                	je     0x406dbb
406db1:	83 e0 fe             	and    $0xfffffffe,%eax
406db4:	50                   	push   %eax
406db5:	56                   	push   %esi
406db6:	e8 64 22 00 00       	call   0x40901f
406dbb:	8d 8d d0 ef ff ff    	lea    -0x1030(%ebp),%ecx
406dc1:	e8 7e 19 00 00       	call   0x408744
406dc6:	6a 09                	push   $0x9
406dc8:	8d 85 84 cf ff ff    	lea    -0x307c(%ebp),%eax
406dce:	50                   	push   %eax
406dcf:	8d 8d d0 ef ff ff    	lea    -0x1030(%ebp),%ecx
406dd5:	89 7d fc             	mov    %edi,-0x4(%ebp)
406dd8:	e8 ca 1b 00 00       	call   0x4089a7
406ddd:	84 c0                	test   %al,%al
406ddf:	74 1f                	je     0x406e00
406de1:	8b 4d 08             	mov    0x8(%ebp),%ecx
406de4:	8d 85 d0 ef ff ff    	lea    -0x1030(%ebp),%eax
406dea:	50                   	push   %eax
406deb:	57                   	push   %edi
406dec:	e8 03 be ff ff       	call   0x402bf4
406df1:	84 c0                	test   %al,%al
406df3:	74 0b                	je     0x406e00
406df5:	8d 8d d0 ef ff ff    	lea    -0x1030(%ebp),%ecx
406dfb:	e8 cf 1b 00 00       	call   0x4089cf
406e00:	8d 8d 60 af ff ff    	lea    -0x50a0(%ebp),%ecx
406e06:	e8 39 19 00 00       	call   0x408744
406e0b:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
406e0f:	84 db                	test   %bl,%bl
406e11:	74 33                	je     0x406e46
406e13:	6a 05                	push   $0x5
406e15:	56                   	push   %esi
406e16:	8d 8d 60 af ff ff    	lea    -0x50a0(%ebp),%ecx
406e1c:	e8 60 19 00 00       	call   0x408781
406e21:	84 c0                	test   %al,%al
406e23:	74 21                	je     0x406e46
406e25:	8d 85 c0 ef ff ff    	lea    -0x1040(%ebp),%eax
406e2b:	50                   	push   %eax
406e2c:	8d 85 b8 ef ff ff    	lea    -0x1048(%ebp),%eax
406e32:	50                   	push   %eax
406e33:	8d 85 b0 ef ff ff    	lea    -0x1050(%ebp),%eax
406e39:	50                   	push   %eax
406e3a:	ff b5 64 af ff ff    	push   -0x509c(%ebp)
406e40:	ff 15 24 a1 42 00    	call   *0x42a124
406e46:	ff b5 90 ef ff ff    	push   -0x1070(%ebp)
406e4c:	56                   	push   %esi
406e4d:	e8 cd 21 00 00       	call   0x40901f
406e52:	8d 8d 60 af ff ff    	lea    -0x50a0(%ebp),%ecx
406e58:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
406e5c:	e8 a9 1d 00 00       	call   0x408c0a
406e61:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
406e65:	8d 8d d0 ef ff ff    	lea    -0x1030(%ebp),%ecx
406e6b:	e8 9a 1d 00 00       	call   0x408c0a
406e70:	8b 4d f4             	mov    -0xc(%ebp),%ecx
406e73:	5f                   	pop    %edi
406e74:	5e                   	pop    %esi
406e75:	5b                   	pop    %ebx
406e76:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
406e7d:	c9                   	leave
406e7e:	c2 08 00             	ret    $0x8
406e81:	8b 44 24 04          	mov    0x4(%esp),%eax
406e85:	80 b8 88 51 00 00 00 	cmpb   $0x0,0x5188(%eax)
406e8c:	56                   	push   %esi
406e8d:	8b 74 24 0c          	mov    0xc(%esp),%esi
406e91:	74 21                	je     0x406eb4
406e93:	8d 86 28 7b 00 00    	lea    0x7b28(%esi),%eax
406e99:	68 f4 a5 42 00       	push   $0x42a5f4
406e9e:	50                   	push   %eax
406e9f:	e8 5d 35 01 00       	call   0x41a401
406ea4:	59                   	pop    %ecx
406ea5:	59                   	pop    %ecx
406ea6:	85 c0                	test   %eax,%eax
406ea8:	75 0a                	jne    0x406eb4
406eaa:	ff 74 24 10          	push   0x10(%esp)
406eae:	56                   	push   %esi
406eaf:	e8 5b f9 ff ff       	call   0x40680f
406eb4:	8d 86 28 7b 00 00    	lea    0x7b28(%esi),%eax
406eba:	68 ec a5 42 00       	push   $0x42a5ec
406ebf:	50                   	push   %eax
406ec0:	e8 3c 35 01 00       	call   0x41a401
406ec5:	59                   	pop    %ecx
406ec6:	59                   	pop    %ecx
406ec7:	85 c0                	test   %eax,%eax
406ec9:	75 0a                	jne    0x406ed5
406ecb:	ff 74 24 10          	push   0x10(%esp)
406ecf:	56                   	push   %esi
406ed0:	e8 10 fe ff ff       	call   0x406ce5
406ed5:	5e                   	pop    %esi
406ed6:	c2 0c 00             	ret    $0xc
406ed9:	55                   	push   %ebp
406eda:	8b ec                	mov    %esp,%ebp
406edc:	56                   	push   %esi
406edd:	57                   	push   %edi
406ede:	ff 75 14             	push   0x14(%ebp)
406ee1:	8b 7d 10             	mov    0x10(%ebp),%edi
406ee4:	8b f1                	mov    %ecx,%esi
406ee6:	8b 46 08             	mov    0x8(%esi),%eax
406ee9:	05 12 10 00 00       	add    $0x1012,%eax
406eee:	50                   	push   %eax
406eef:	57                   	push   %edi
406ef0:	e8 2a 9a 00 00       	call   0x41091f
406ef5:	8b 46 08             	mov    0x8(%esi),%eax
406ef8:	05 12 10 00 00       	add    $0x1012,%eax
406efd:	66 83 38 00          	cmpw   $0x0,(%eax)
406f01:	74 1c                	je     0x406f1f
406f03:	50                   	push   %eax
406f04:	e8 93 30 00 00       	call   0x409f9c
406f09:	0f b7 00             	movzwl (%eax),%eax
406f0c:	50                   	push   %eax
406f0d:	e8 c5 30 00 00       	call   0x409fd7
406f12:	84 c0                	test   %al,%al
406f14:	75 09                	jne    0x406f1f
406f16:	ff 75 14             	push   0x14(%ebp)
406f19:	57                   	push   %edi
406f1a:	e8 dd 30 00 00       	call   0x409ffc
406f1f:	8b 46 08             	mov    0x8(%esi),%eax
406f22:	83 b8 54 51 00 00 04 	cmpl   $0x4,0x5154(%eax)
406f29:	53                   	push   %ebx
406f2a:	0f b7 98 b2 72 00 00 	movzwl 0x72b2(%eax),%ebx
406f31:	75 35                	jne    0x406f68
406f33:	66 83 fb 58          	cmp    $0x58,%bx
406f37:	75 2f                	jne    0x406f68
406f39:	6a 3a                	push   $0x3a
406f3b:	e8 af 30 00 00       	call   0x409fef
406f40:	84 c0                	test   %al,%al
406f42:	74 24                	je     0x406f68
406f44:	33 c0                	xor    %eax,%eax
406f46:	c6 45 13 01          	movb   $0x1,0x13(%ebp)
406f4a:	66 89 07             	mov    %ax,(%edi)
406f4d:	66 83 fb 45          	cmp    $0x45,%bx
406f51:	5b                   	pop    %ebx
406f52:	74 1a                	je     0x406f6e
406f54:	8b 46 08             	mov    0x8(%esi),%eax
406f57:	83 b8 54 51 00 00 01 	cmpl   $0x1,0x5154(%eax)
406f5e:	74 0e                	je     0x406f6e
406f60:	ff 75 14             	push   0x14(%ebp)
406f63:	ff 75 0c             	push   0xc(%ebp)
406f66:	eb 12                	jmp    0x406f7a
406f68:	c6 45 13 00          	movb   $0x0,0x13(%ebp)
406f6c:	eb df                	jmp    0x406f4d
406f6e:	ff 75 14             	push   0x14(%ebp)
406f71:	ff 75 0c             	push   0xc(%ebp)
406f74:	e8 2d 33 00 00       	call   0x40a2a6
406f79:	50                   	push   %eax
406f7a:	57                   	push   %edi
406f7b:	e8 cc 99 00 00       	call   0x41094c
406f80:	0f b7 07             	movzwl (%edi),%eax
406f83:	50                   	push   %eax
406f84:	e8 92 ab 00 00       	call   0x411b1b
406f89:	80 7d 13 00          	cmpb   $0x0,0x13(%ebp)
406f8d:	0f b7 f0             	movzwl %ax,%esi
406f90:	74 3b                	je     0x406fcd
406f92:	66 83 7f 02 5f       	cmpw   $0x5f,0x2(%edi)
406f97:	75 1b                	jne    0x406fb4
406f99:	0f b7 47 04          	movzwl 0x4(%edi),%eax
406f9d:	50                   	push   %eax
406f9e:	e8 34 30 00 00       	call   0x409fd7
406fa3:	84 c0                	test   %al,%al
406fa5:	74 0d                	je     0x406fb4
406fa7:	83 c6 bf             	add    $0xffffffbf,%esi
406faa:	66 83 fe 19          	cmp    $0x19,%si
406fae:	77 04                	ja     0x406fb4
406fb0:	6a 3a                	push   $0x3a
406fb2:	eb 14                	jmp    0x406fc8
406fb4:	66 83 3f 5f          	cmpw   $0x5f,(%edi)
406fb8:	75 13                	jne    0x406fcd
406fba:	66 83 7f 02 5f       	cmpw   $0x5f,0x2(%edi)
406fbf:	75 0c                	jne    0x406fcd
406fc1:	6a 5c                	push   $0x5c
406fc3:	58                   	pop    %eax
406fc4:	66 89 07             	mov    %ax,(%edi)
406fc7:	50                   	push   %eax
406fc8:	58                   	pop    %eax
406fc9:	66 89 47 02          	mov    %ax,0x2(%edi)
406fcd:	5f                   	pop    %edi
406fce:	5e                   	pop    %esi
406fcf:	5d                   	pop    %ebp
406fd0:	c2 10 00             	ret    $0x10
406fd3:	8b 51 04             	mov    0x4(%ecx),%edx
406fd6:	8b 44 24 04          	mov    0x4(%esp),%eax
406fda:	3b 50 04             	cmp    0x4(%eax),%edx
406fdd:	77 0d                	ja     0x406fec
406fdf:	72 06                	jb     0x406fe7
406fe1:	8b 09                	mov    (%ecx),%ecx
406fe3:	3b 08                	cmp    (%eax),%ecx
406fe5:	73 05                	jae    0x406fec
406fe7:	33 c0                	xor    %eax,%eax
406fe9:	40                   	inc    %eax
406fea:	eb 02                	jmp    0x406fee
406fec:	33 c0                	xor    %eax,%eax
406fee:	c2 04 00             	ret    $0x4
406ff1:	8b 44 24 04          	mov    0x4(%esp),%eax
406ff5:	8b 11                	mov    (%ecx),%edx
406ff7:	8b 49 04             	mov    0x4(%ecx),%ecx
406ffa:	56                   	push   %esi
406ffb:	8b 30                	mov    (%eax),%esi
406ffd:	8b 40 04             	mov    0x4(%eax),%eax
407000:	3b c8                	cmp    %eax,%ecx
407002:	77 12                	ja     0x407016
407004:	72 04                	jb     0x40700a
407006:	3b d6                	cmp    %esi,%edx
407008:	77 0c                	ja     0x407016
40700a:	3b d6                	cmp    %esi,%edx
40700c:	75 04                	jne    0x407012
40700e:	3b c8                	cmp    %eax,%ecx
407010:	74 04                	je     0x407016
407012:	33 c0                	xor    %eax,%eax
407014:	eb 03                	jmp    0x407019
407016:	33 c0                	xor    %eax,%eax
407018:	40                   	inc    %eax
407019:	5e                   	pop    %esi
40701a:	c2 04 00             	ret    $0x4
40701d:	b8 c6 92 42 00       	mov    $0x4292c6,%eax
407022:	e8 91 2e 01 00       	call   0x419eb8
407027:	51                   	push   %ecx
407028:	56                   	push   %esi
407029:	8b f1                	mov    %ecx,%esi
40702b:	57                   	push   %edi
40702c:	89 75 f0             	mov    %esi,-0x10(%ebp)
40702f:	8b be e0 3a 00 00    	mov    0x3ae0(%esi),%edi