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
406dd1:	e8 6b 11 00 00       	call   0x407f41
406dd6:	8d 84 24 a8 00 00 00 	lea    0xa8(%esp),%eax
406ddd:	8b cf                	mov    %edi,%ecx
406ddf:	50                   	push   %eax
406de0:	8d 44 24 20          	lea    0x20(%esp),%eax
406de4:	50                   	push   %eax
406de5:	8d 84 24 80 00 00 00 	lea    0x80(%esp),%eax
406dec:	50                   	push   %eax
406ded:	56                   	push   %esi
406dee:	e8 49 fc ff ff       	call   0x406a3c
406df3:	8d 4c 24 78          	lea    0x78(%esp),%ecx
406df7:	89 44 24 38          	mov    %eax,0x38(%esp)
406dfb:	e8 64 ec ff ff       	call   0x405a64
406e00:	8b 44 24 38          	mov    0x38(%esp),%eax
406e04:	85 c0                	test   %eax,%eax
406e06:	0f 84 ce 00 00 00    	je     0x406eda
406e0c:	83 f8 01             	cmp    $0x1,%eax
406e0f:	0f 8e b8 00 00 00    	jle    0x406ecd
406e15:	83 f8 03             	cmp    $0x3,%eax
406e18:	0f 8f a6 00 00 00    	jg     0x406ec4
406e1e:	ff 75 0c             	push   0xc(%ebp)
406e21:	8b 44 24 20          	mov    0x20(%esp),%eax
406e25:	8b cf                	mov    %edi,%ecx
406e27:	56                   	push   %esi
406e28:	50                   	push   %eax
406e29:	89 44 24 20          	mov    %eax,0x20(%esp)
406e2d:	e8 41 05 00 00       	call   0x407373
406e32:	80 7c 24 23 01       	cmpb   $0x1,0x23(%esp)
406e37:	0f 94 44 24 24       	sete   0x24(%esp)
406e3c:	80 7c 24 13 01       	cmpb   $0x1,0x13(%esp)
406e41:	0f 84 fb fe ff ff    	je     0x406d42
406e47:	8d 8c 24 a8 00 00 00 	lea    0xa8(%esp),%ecx
406e4e:	e8 7c ef ff ff       	call   0x405dcf
406e53:	ff b4 24 98 00 00 00 	push   0x98(%esp)
406e5a:	ff 15 08 f2 48 00    	call   *0x48f208
406e60:	8b 44 24 48          	mov    0x48(%esp),%eax
406e64:	8a 5c 24 13          	mov    0x13(%esp),%bl
406e68:	ff 08                	decl   (%eax)
406e6a:	75 0e                	jne    0x406e7a
406e6c:	50                   	push   %eax
406e6d:	e8 fa a1 01 00       	call   0x42106c
406e72:	59                   	pop    %ecx
406e73:	56                   	push   %esi
406e74:	e8 f3 a1 01 00       	call   0x42106c
406e79:	59                   	pop    %ecx
406e7a:	8d 8c 24 88 00 00 00 	lea    0x88(%esp),%ecx
406e81:	e8 de eb ff ff       	call   0x405a64
406e86:	8d 8c 24 98 00 00 00 	lea    0x98(%esp),%ecx
406e8d:	e8 d2 eb ff ff       	call   0x405a64
406e92:	8d 8c 24 a8 00 00 00 	lea    0xa8(%esp),%ecx
406e99:	e8 96 ea ff ff       	call   0x405934
406e9e:	ff 0d a4 74 4c 00    	decl   0x4c74a4
406ea4:	8a c3                	mov    %bl,%al
406ea6:	5f                   	pop    %edi
406ea7:	5e                   	pop    %esi
406ea8:	5b                   	pop    %ebx
406ea9:	8b e5                	mov    %ebp,%esp
406eab:	5d                   	pop    %ebp
406eac:	c2 14 00             	ret    $0x14
406eaf:	8b 44 24 38          	mov    0x38(%esp),%eax
406eb3:	66 83 7c 46 fe 5f    	cmpw   $0x5f,-0x2(%esi,%eax,2)
406eb9:	0f 85 fc fe ff ff    	jne    0x406dbb
406ebf:	e9 25 7d 03 00       	jmp    0x43ebe9
406ec4:	83 f8 04             	cmp    $0x4,%eax
406ec7:	75 04                	jne    0x406ecd
406ec9:	88 5c 24 22          	mov    %bl,0x22(%esp)
406ecd:	8b 44 24 1c          	mov    0x1c(%esp),%eax
406ed1:	89 44 24 14          	mov    %eax,0x14(%esp)
406ed5:	e9 58 ff ff ff       	jmp    0x406e32
406eda:	88 5c 24 13          	mov    %bl,0x13(%esp)
406ede:	eb ed                	jmp    0x406ecd
406ee0:	55                   	push   %ebp
406ee1:	8b ec                	mov    %esp,%ebp
406ee3:	83 ec 30             	sub    $0x30,%esp
406ee6:	83 3d dc 72 4c 00 00 	cmpl   $0x0,0x4c72dc
406eed:	56                   	push   %esi
406eee:	57                   	push   %edi
406eef:	0f 85 29 01 00 00    	jne    0x40701e
406ef5:	a1 a0 72 4c 00       	mov    0x4c72a0,%eax
406efa:	85 c0                	test   %eax,%eax
406efc:	0f 84 20 01 00 00    	je     0x407022
406f02:	8b 35 98 72 4c 00    	mov    0x4c7298,%esi
406f08:	33 c9                	xor    %ecx,%ecx
406f0a:	6a 04                	push   $0x4
406f0c:	5a                   	pop    %edx
406f0d:	f7 e2                	mul    %edx
406f0f:	0f 90 c1             	seto   %cl
406f12:	f7 d9                	neg    %ecx
406f14:	0b c8                	or     %eax,%ecx
406f16:	51                   	push   %ecx
406f17:	e8 da a0 01 00       	call   0x420ff6
406f1c:	8b 3d a0 72 4c 00    	mov    0x4c72a0,%edi
406f22:	59                   	pop    %ecx
406f23:	33 c9                	xor    %ecx,%ecx
406f25:	89 45 f4             	mov    %eax,-0xc(%ebp)
406f28:	a3 a4 72 4c 00       	mov    %eax,0x4c72a4
406f2d:	8b d1                	mov    %ecx,%edx
406f2f:	89 4d f0             	mov    %ecx,-0x10(%ebp)
406f32:	85 ff                	test   %edi,%edi
406f34:	7e 1d                	jle    0x406f53
406f36:	8b f8                	mov    %eax,%edi
406f38:	8b 06                	mov    (%esi),%eax
406f3a:	89 04 97             	mov    %eax,(%edi,%edx,4)
406f3d:	42                   	inc    %edx
406f3e:	8b 3d a0 72 4c 00    	mov    0x4c72a0,%edi
406f44:	8b 76 0c             	mov    0xc(%esi),%esi
406f47:	3b d7                	cmp    %edi,%edx
406f49:	7d 08                	jge    0x406f53
406f4b:	8b 3d a4 72 4c 00    	mov    0x4c72a4,%edi
406f51:	eb e5                	jmp    0x406f38
406f53:	33 c0                	xor    %eax,%eax
406f55:	89 4d d8             	mov    %ecx,-0x28(%ebp)
406f58:	40                   	inc    %eax
406f59:	89 4d dc             	mov    %ecx,-0x24(%ebp)
406f5c:	89 45 fc             	mov    %eax,-0x4(%ebp)
406f5f:	8d 77 01             	lea    0x1(%edi),%esi
406f62:	89 45 f8             	mov    %eax,-0x8(%ebp)
406f65:	8b c6                	mov    %esi,%eax
406f67:	89 4d e0             	mov    %ecx,-0x20(%ebp)
406f6a:	33 c9                	xor    %ecx,%ecx
406f6c:	6a 10                	push   $0x10
406f6e:	5f                   	pop    %edi
406f6f:	f7 e7                	mul    %edi
406f71:	c7 45 d4 78 fb 48 00 	movl   $0x48fb78,-0x2c(%ebp)
406f78:	0f 90 c1             	seto   %cl
406f7b:	f7 d9                	neg    %ecx
406f7d:	0b c8                	or     %eax,%ecx
406f7f:	33 c0                	xor    %eax,%eax
406f81:	83 c1 04             	add    $0x4,%ecx
406f84:	0f 92 c0             	setb   %al
406f87:	f7 d8                	neg    %eax
406f89:	0b c1                	or     %ecx,%eax
406f8b:	50                   	push   %eax
406f8c:	e8 65 a0 01 00       	call   0x420ff6
406f91:	59                   	pop    %ecx
406f92:	85 c0                	test   %eax,%eax
406f94:	0f 84 8c 00 00 00    	je     0x407026
406f9a:	8d 50 04             	lea    0x4(%eax),%edx
406f9d:	89 30                	mov    %esi,(%eax)
406f9f:	8b ca                	mov    %edx,%ecx
406fa1:	33 c0                	xor    %eax,%eax
406fa3:	eb 11                	jmp    0x406fb6
406fa5:	c7 01 78 fb 48 00    	movl   $0x48fb78,(%ecx)
406fab:	89 41 04             	mov    %eax,0x4(%ecx)
406fae:	89 41 08             	mov    %eax,0x8(%ecx)
406fb1:	89 41 0c             	mov    %eax,0xc(%ecx)
406fb4:	03 cf                	add    %edi,%ecx
406fb6:	4e                   	dec    %esi
406fb7:	79 ec                	jns    0x406fa5
406fb9:	89 15 dc 72 4c 00    	mov    %edx,0x4c72dc
406fbf:	8b 55 f8             	mov    -0x8(%ebp),%edx
406fc2:	89 7d f4             	mov    %edi,-0xc(%ebp)
406fc5:	8b f8                	mov    %eax,%edi
406fc7:	52                   	push   %edx
406fc8:	e8 76 01 00 00       	call   0x407143
406fcd:	85 c0                	test   %eax,%eax
406fcf:	74 38                	je     0x407009
406fd1:	66 83 38 3b          	cmpw   $0x3b,(%eax)
406fd5:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
406fd8:	0f 84 46 7c 03 00    	je     0x43ec24
406fde:	51                   	push   %ecx
406fdf:	50                   	push   %eax
406fe0:	52                   	push   %edx
406fe1:	e8 ba f3 ff ff       	call   0x4063a0
406fe6:	85 c0                	test   %eax,%eax
406fe8:	78 23                	js     0x40700d
406fea:	8b 4d f4             	mov    -0xc(%ebp),%ecx
406fed:	8d 45 d4             	lea    -0x2c(%ebp),%eax
406ff0:	03 0d dc 72 4c 00    	add    0x4c72dc,%ecx
406ff6:	50                   	push   %eax
406ff7:	e8 c1 04 00 00       	call   0x4074bd
406ffc:	8b 55 f8             	mov    -0x8(%ebp),%edx
406fff:	42                   	inc    %edx
407000:	83 45 f4 10          	addl   $0x10,-0xc(%ebp)
407004:	89 55 f8             	mov    %edx,-0x8(%ebp)