415b1d:	f7 d9                	neg    %ecx
415b1f:	0b c8                	or     %eax,%ecx
415b21:	51                   	push   %ecx
415b22:	e8 cf b4 00 00       	call   0x420ff6
415b27:	83 c4 04             	add    $0x4,%esp
415b2a:	33 c9                	xor    %ecx,%ecx
415b2c:	66 89 0c 58          	mov    %cx,(%eax,%ebx,2)
415b30:	89 45 cc             	mov    %eax,-0x34(%ebp)
415b33:	e9 b7 fe ff ff       	jmp    0x4159ef
415b38:	83 f9 ff             	cmp    $0xffffffff,%ecx
415b3b:	75 0a                	jne    0x415b47
415b3d:	83 7e 2c 00          	cmpl   $0x0,0x2c(%esi)
415b41:	0f 85 a8 ad 03 00    	jne    0x4508ef
415b47:	8b 46 1c             	mov    0x1c(%esi),%eax
415b4a:	8d 4d cc             	lea    -0x34(%ebp),%ecx
415b4d:	2b c3                	sub    %ebx,%eax
415b4f:	50                   	push   %eax
415b50:	53                   	push   %ebx
415b51:	56                   	push   %esi
415b52:	e8 54 1e ff ff       	call   0x4079ab
415b57:	8d 45 cc             	lea    -0x34(%ebp),%eax
415b5a:	8b cf                	mov    %edi,%ecx
415b5c:	50                   	push   %eax
415b5d:	e8 2c 21 ff ff       	call   0x407c8e
415b62:	8d 4d cc             	lea    -0x34(%ebp),%ecx
415b65:	e8 fa fe fe ff       	call   0x405a64
415b6a:	8d 4d bc             	lea    -0x44(%ebp),%ecx
415b6d:	e8 f2 fe fe ff       	call   0x405a64
415b72:	8b 45 e8             	mov    -0x18(%ebp),%eax
415b75:	5f                   	pop    %edi
415b76:	5e                   	pop    %esi
415b77:	5b                   	pop    %ebx
415b78:	8b e5                	mov    %ebp,%esp
415b7a:	5d                   	pop    %ebp
415b7b:	c2 0c 00             	ret    $0xc
415b7e:	8b 45 f4             	mov    -0xc(%ebp),%eax
415b81:	8b d9                	mov    %ecx,%ebx
415b83:	2b d8                	sub    %eax,%ebx
415b85:	e9 4b fe ff ff       	jmp    0x4159d5
415b8a:	33 c0                	xor    %eax,%eax
415b8c:	eb e7                	jmp    0x415b75
415b8e:	55                   	push   %ebp
415b8f:	8b ec                	mov    %esp,%ebp
415b91:	83 ec 10             	sub    $0x10,%esp
415b94:	53                   	push   %ebx
415b95:	56                   	push   %esi
415b96:	8b f1                	mov    %ecx,%esi
415b98:	57                   	push   %edi
415b99:	33 ff                	xor    %edi,%edi
415b9b:	39 7e 14             	cmp    %edi,0x14(%esi)
415b9e:	74 59                	je     0x415bf9
415ba0:	80 7e 10 00          	cmpb   $0x0,0x10(%esi)
415ba4:	74 53                	je     0x415bf9
415ba6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
415ba9:	e8 da ae 00 00       	call   0x420a88
415bae:	6a 01                	push   $0x1
415bb0:	8d 45 08             	lea    0x8(%ebp),%eax
415bb3:	8b ce                	mov    %esi,%ecx
415bb5:	50                   	push   %eax
415bb6:	e8 49 fa ff ff       	call   0x415604
415bbb:	85 c0                	test   %eax,%eax
415bbd:	7e 3a                	jle    0x415bf9
415bbf:	39 7e 28             	cmp    %edi,0x28(%esi)
415bc2:	7e 29                	jle    0x415bed
415bc4:	8b df                	mov    %edi,%ebx
415bc6:	8b 46 20             	mov    0x20(%esi),%eax
415bc9:	8b 0c 18             	mov    (%eax,%ebx,1),%ecx
415bcc:	8b 44 18 04          	mov    0x4(%eax,%ebx,1),%eax
415bd0:	2b c1                	sub    %ecx,%eax
415bd2:	89 4d f4             	mov    %ecx,-0xc(%ebp)
415bd5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
415bd8:	89 45 f8             	mov    %eax,-0x8(%ebp)
415bdb:	8d 45 f4             	lea    -0xc(%ebp),%eax
415bde:	50                   	push   %eax
415bdf:	e8 31 ae 00 00       	call   0x420a15
415be4:	47                   	inc    %edi
415be5:	8d 5b 08             	lea    0x8(%ebx),%ebx
415be8:	3b 7e 28             	cmp    0x28(%esi),%edi
415beb:	7c d9                	jl     0x415bc6
415bed:	8b 46 28             	mov    0x28(%esi),%eax
415bf0:	5f                   	pop    %edi
415bf1:	5e                   	pop    %esi
415bf2:	5b                   	pop    %ebx
415bf3:	8b e5                	mov    %ebp,%esp
415bf5:	5d                   	pop    %ebp
415bf6:	c2 0c 00             	ret    $0xc
415bf9:	33 c0                	xor    %eax,%eax
415bfb:	eb f3                	jmp    0x415bf0
415bfd:	56                   	push   %esi
415bfe:	8b f1                	mov    %ecx,%esi
415c00:	e8 c2 1b ff ff       	call   0x4077c7
415c05:	33 c0                	xor    %eax,%eax
415c07:	c7 46 30 00 28 00 00 	movl   $0x2800,0x30(%esi)
415c0e:	88 46 10             	mov    %al,0x10(%esi)
415c11:	89 46 14             	mov    %eax,0x14(%esi)
415c14:	89 46 18             	mov    %eax,0x18(%esi)
415c17:	89 46 20             	mov    %eax,0x20(%esi)
415c1a:	89 46 24             	mov    %eax,0x24(%esi)
415c1d:	89 46 28             	mov    %eax,0x28(%esi)
415c20:	89 46 2c             	mov    %eax,0x2c(%esi)
415c23:	8b c6                	mov    %esi,%eax
415c25:	c7 46 34 00 20 00 00 	movl   $0x2000,0x34(%esi)
415c2c:	5e                   	pop    %esi
415c2d:	c3                   	ret
415c2e:	53                   	push   %ebx
415c2f:	56                   	push   %esi
415c30:	8b f1                	mov    %ecx,%esi
415c32:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
415c36:	75 2f                	jne    0x415c67
415c38:	33 db                	xor    %ebx,%ebx
415c3a:	8b ce                	mov    %esi,%ecx
415c3c:	89 5e 20             	mov    %ebx,0x20(%esi)
415c3f:	89 5e 18             	mov    %ebx,0x18(%esi)
415c42:	89 5e 14             	mov    %ebx,0x14(%esi)
415c45:	89 5e 24             	mov    %ebx,0x24(%esi)
415c48:	89 5e 28             	mov    %ebx,0x28(%esi)
415c4b:	89 5e 2c             	mov    %ebx,0x2c(%esi)
415c4e:	e8 99 22 ff ff       	call   0x407eec
415c53:	88 5e 10             	mov    %bl,0x10(%esi)
415c56:	c7 46 30 00 28 00 00 	movl   $0x2800,0x30(%esi)
415c5d:	c7 46 34 00 20 00 00 	movl   $0x2000,0x34(%esi)
415c64:	5e                   	pop    %esi
415c65:	5b                   	pop    %ebx
415c66:	c3                   	ret
415c67:	ff 76 20             	push   0x20(%esi)
415c6a:	e8 fd b3 00 00       	call   0x42106c
415c6f:	59                   	pop    %ecx
415c70:	eb c6                	jmp    0x415c38
415c72:	55                   	push   %ebp
415c73:	8b ec                	mov    %esp,%ebp
415c75:	51                   	push   %ecx
415c76:	53                   	push   %ebx
415c77:	56                   	push   %esi
415c78:	57                   	push   %edi
415c79:	8b f1                	mov    %ecx,%esi
415c7b:	e8 ae ff ff ff       	call   0x415c2e
415c80:	8b 5d 08             	mov    0x8(%ebp),%ebx
415c83:	53                   	push   %ebx
415c84:	e8 89 01 00 00       	call   0x415e12
415c89:	8b c8                	mov    %eax,%ecx
415c8b:	85 c9                	test   %ecx,%ecx
415c8d:	74 39                	je     0x415cc8
415c8f:	8b 41 14             	mov    0x14(%ecx),%eax
415c92:	8d 7e 24             	lea    0x24(%esi),%edi
415c95:	89 46 14             	mov    %eax,0x14(%esi)
415c98:	8b 41 18             	mov    0x18(%ecx),%eax
415c9b:	89 46 18             	mov    %eax,0x18(%esi)
415c9e:	8b 49 1c             	mov    0x1c(%ecx),%ecx
415ca1:	89 0f                	mov    %ecx,(%edi)
415ca3:	8b 07                	mov    (%edi),%eax
415ca5:	33 c9                	xor    %ecx,%ecx
415ca7:	6a 04                	push   $0x4
415ca9:	5a                   	pop    %edx
415caa:	f7 e2                	mul    %edx
415cac:	0f 90 c1             	seto   %cl
415caf:	f7 d9                	neg    %ecx
415cb1:	0b c8                	or     %eax,%ecx
415cb3:	51                   	push   %ecx
415cb4:	e8 3d b3 00 00       	call   0x420ff6
415cb9:	89 46 20             	mov    %eax,0x20(%esi)
415cbc:	33 c0                	xor    %eax,%eax
415cbe:	59                   	pop    %ecx
415cbf:	5f                   	pop    %edi
415cc0:	5e                   	pop    %esi
415cc1:	5b                   	pop    %ebx
415cc2:	8b e5                	mov    %ebp,%esp
415cc4:	5d                   	pop    %ebp
415cc5:	c2 08 00             	ret    $0x8
415cc8:	8b 56 30             	mov    0x30(%esi),%edx
415ccb:	8d 45 08             	lea    0x8(%ebp),%eax
415cce:	51                   	push   %ecx
415ccf:	50                   	push   %eax
415cd0:	8d 45 fc             	lea    -0x4(%ebp),%eax
415cd3:	50                   	push   %eax
415cd4:	51                   	push   %ecx
415cd5:	8b 0b                	mov    (%ebx),%ecx
415cd7:	e8 67 0b 00 00       	call   0x416843
415cdc:	83 c4 10             	add    $0x10,%esp
415cdf:	89 46 14             	mov    %eax,0x14(%esi)
415ce2:	85 c0                	test   %eax,%eax
415ce4:	74 39                	je     0x415d1f
415ce6:	8d 4d fc             	lea    -0x4(%ebp),%ecx
415ce9:	51                   	push   %ecx
415cea:	8b c8                	mov    %eax,%ecx
415cec:	e8 01 06 00 00       	call   0x4162f2
415cf1:	59                   	pop    %ecx
415cf2:	8b 4e 14             	mov    0x14(%esi),%ecx
415cf5:	8d 7e 24             	lea    0x24(%esi),%edi
415cf8:	57                   	push   %edi
415cf9:	6a 02                	push   $0x2
415cfb:	8b d0                	mov    %eax,%edx
415cfd:	89 46 18             	mov    %eax,0x18(%esi)
415d00:	e8 48 ab 00 00       	call   0x42084d
415d05:	8b 07                	mov    (%edi),%eax
415d07:	83 c4 08             	add    $0x8,%esp
415d0a:	40                   	inc    %eax
415d0b:	6b c0 03             	imul   $0x3,%eax,%eax
415d0e:	50                   	push   %eax
415d0f:	ff 76 18             	push   0x18(%esi)
415d12:	89 07                	mov    %eax,(%edi)
415d14:	ff 76 14             	push   0x14(%esi)
415d17:	53                   	push   %ebx
415d18:	e8 75 00 00 00       	call   0x415d92
415d1d:	eb 84                	jmp    0x415ca3
415d1f:	8b 45 08             	mov    0x8(%ebp),%eax
415d22:	eb 9b                	jmp    0x415cbf
415d24:	55                   	push   %ebp
415d25:	8b ec                	mov    %esp,%ebp
415d27:	56                   	push   %esi
415d28:	ff 75 08             	push   0x8(%ebp)
415d2b:	8b f1                	mov    %ecx,%esi
415d2d:	e8 75 24 ff ff       	call   0x4081a7
415d32:	8b 46 04             	mov    0x4(%esi),%eax
415d35:	89 46 1c             	mov    %eax,0x1c(%esi)
415d38:	c6 46 10 01          	movb   $0x1,0x10(%esi)
415d3c:	5e                   	pop    %esi
415d3d:	5d                   	pop    %ebp
415d3e:	c2 04 00             	ret    $0x4
415d41:	56                   	push   %esi
415d42:	57                   	push   %edi
415d43:	bf 00 73 4c 00       	mov    $0x4c7300,%edi
415d48:	8b 37                	mov    (%edi),%esi
415d4a:	85 f6                	test   %esi,%esi
415d4c:	75 03                	jne    0x415d51
415d4e:	5f                   	pop    %edi
415d4f:	5e                   	pop    %esi
415d50:	c3                   	ret
415d51:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
415d55:	74 20                	je     0x415d77
415d57:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
415d5b:	74 0a                	je     0x415d67
415d5d:	ff 76 18             	push   0x18(%esi)
415d60:	ff 15 48 57 4a 00    	call   *0x4a5748
415d66:	59                   	pop    %ecx
415d67:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
415d6b:	74 0a                	je     0x415d77
415d6d:	ff 76 14             	push   0x14(%esi)
415d70:	ff 15 48 57 4a 00    	call   *0x4a5748
415d76:	59                   	pop    %ecx
415d77:	8b ce                	mov    %esi,%ecx
415d79:	e8 e6 fc fe ff       	call   0x405a64
415d7e:	56                   	push   %esi
415d7f:	e8 e8 b2 00 00       	call   0x42106c
415d84:	83 c7 04             	add    $0x4,%edi
415d87:	59                   	pop    %ecx
415d88:	81 ff 00 74 4c 00    	cmp    $0x4c7400,%edi
415d8e:	7c b8                	jl     0x415d48
415d90:	eb bc                	jmp    0x415d4e
415d92:	55                   	push   %ebp
415d93:	8b ec                	mov    %esp,%ebp
415d95:	56                   	push   %esi
415d96:	57                   	push   %edi
415d97:	ff 75 08             	push   0x8(%ebp)
415d9a:	e8 b9 00 00 00       	call   0x415e58
415d9f:	8b 0d 00 74 4c 00    	mov    0x4c7400,%ecx
415da5:	8b f8                	mov    %eax,%edi
415da7:	8b 34 8d 00 73 4c 00 	mov    0x4c7300(,%ecx,4),%esi
415dae:	85 f6                	test   %esi,%esi
415db0:	0f 85 b5 ae 03 00    	jne    0x450c6b
415db6:	6a 20                	push   $0x20
415db8:	e8 39 b2 00 00       	call   0x420ff6
415dbd:	8b f0                	mov    %eax,%esi
415dbf:	59                   	pop    %ecx
415dc0:	85 f6                	test   %esi,%esi
415dc2:	74 4a                	je     0x415e0e
415dc4:	8b ce                	mov    %esi,%ecx
415dc6:	e8 fc 19 ff ff       	call   0x4077c7
415dcb:	a1 00 74 4c 00       	mov    0x4c7400,%eax
415dd0:	89 34 85 00 73 4c 00 	mov    %esi,0x4c7300(,%eax,4)
415dd7:	ff 75 08             	push   0x8(%ebp)
415dda:	8b ce                	mov    %esi,%ecx
415ddc:	89 7e 10             	mov    %edi,0x10(%esi)
415ddf:	e8 c3 23 ff ff       	call   0x4081a7
415de4:	8b 45 0c             	mov    0xc(%ebp),%eax
415de7:	89 46 14             	mov    %eax,0x14(%esi)
415dea:	8b 45 10             	mov    0x10(%ebp),%eax
415ded:	89 46 18             	mov    %eax,0x18(%esi)
415df0:	8b 45 14             	mov    0x14(%ebp),%eax
415df3:	89 46 1c             	mov    %eax,0x1c(%esi)
415df6:	a1 00 74 4c 00       	mov    0x4c7400,%eax
415dfb:	6a 40                	push   $0x40
415dfd:	40                   	inc    %eax
415dfe:	59                   	pop    %ecx
415dff:	99                   	cltd
415e00:	f7 f9                	idiv   %ecx
415e02:	5f                   	pop    %edi
415e03:	89 15 00 74 4c 00    	mov    %edx,0x4c7400
415e09:	5e                   	pop    %esi
415e0a:	5d                   	pop    %ebp
415e0b:	c2 10 00             	ret    $0x10
415e0e:	33 f6                	xor    %esi,%esi
415e10:	eb b9                	jmp    0x415dcb
415e12:	55                   	push   %ebp
415e13:	8b ec                	mov    %esp,%ebp
415e15:	53                   	push   %ebx
415e16:	56                   	push   %esi
415e17:	57                   	push   %edi
415e18:	ff 75 08             	push   0x8(%ebp)
415e1b:	e8 38 00 00 00       	call   0x415e58
415e20:	8b d8                	mov    %eax,%ebx
415e22:	be 00 73 4c 00       	mov    $0x4c7300,%esi
415e27:	8b 3e                	mov    (%esi),%edi
415e29:	85 ff                	test   %edi,%edi
415e2b:	74 10                	je     0x415e3d
415e2d:	39 5f 10             	cmp    %ebx,0x10(%edi)
415e30:	74 0f                	je     0x415e41
415e32:	83 c6 04             	add    $0x4,%esi
415e35:	81 fe 00 74 4c 00    	cmp    $0x4c7400,%esi
415e3b:	7c ea                	jl     0x415e27
415e3d:	33 c0                	xor    %eax,%eax
415e3f:	eb 10                	jmp    0x415e51
415e41:	8b 55 08             	mov    0x8(%ebp),%edx
415e44:	8b cf                	mov    %edi,%ecx
415e46:	e8 9e 00 00 00       	call   0x415ee9
415e4b:	84 c0                	test   %al,%al
415e4d:	74 e3                	je     0x415e32
415e4f:	8b c7                	mov    %edi,%eax
415e51:	5f                   	pop    %edi
415e52:	5e                   	pop    %esi
415e53:	5b                   	pop    %ebx
415e54:	5d                   	pop    %ebp
415e55:	c2 04 00             	ret    $0x4
415e58:	55                   	push   %ebp
415e59:	8b ec                	mov    %esp,%ebp
415e5b:	8b 45 08             	mov    0x8(%ebp),%eax
415e5e:	56                   	push   %esi
415e5f:	57                   	push   %edi
415e60:	33 f6                	xor    %esi,%esi
415e62:	8b 50 04             	mov    0x4(%eax),%edx
415e65:	8b 38                	mov    (%eax),%edi
415e67:	03 d2                	add    %edx,%edx
415e69:	b8 05 15 00 00       	mov    $0x1505,%eax
415e6e:	85 d2                	test   %edx,%edx
415e70:	7e 0e                	jle    0x415e80
415e72:	0f b6 0c 3e          	movzbl (%esi,%edi,1),%ecx
415e76:	6b c0 21             	imul   $0x21,%eax,%eax
415e79:	03 c1                	add    %ecx,%eax
415e7b:	46                   	inc    %esi
415e7c:	3b f2                	cmp    %edx,%esi
415e7e:	7c f2                	jl     0x415e72
415e80:	5f                   	pop    %edi
415e81:	5e                   	pop    %esi
415e82:	5d                   	pop    %ebp
415e83:	c2 04 00             	ret    $0x4
415e86:	57                   	push   %edi
415e87:	6a 40                	push   $0x40
415e89:	ba 00 73 4c 00       	mov    $0x4c7300,%edx
415e8e:	33 c0                	xor    %eax,%eax
415e90:	59                   	pop    %ecx
415e91:	8b fa                	mov    %edx,%edi