465c30:	83 3d 80 72 4c 00 00 	cmpl   $0x0,0x4c7280
465c37:	74 21                	je     0x465c5a
465c39:	8d 45 fc             	lea    -0x4(%ebp),%eax
465c3c:	b9 80 72 4c 00       	mov    $0x4c7280,%ecx
465c41:	50                   	push   %eax
465c42:	ff 75 08             	push   0x8(%ebp)
465c45:	e8 c3 0a ff ff       	call   0x45670d
465c4a:	8b c8                	mov    %eax,%ecx
465c4c:	e8 61 2f fa ff       	call   0x408bb2
465c51:	85 c0                	test   %eax,%eax
465c53:	74 05                	je     0x465c5a
465c55:	83 c8 ff             	or     $0xffffffff,%eax
465c58:	eb 17                	jmp    0x465c71
465c5a:	8d 45 fc             	lea    -0x4(%ebp),%eax
465c5d:	b9 70 72 4c 00       	mov    $0x4c7270,%ecx
465c62:	50                   	push   %eax
465c63:	ff 75 08             	push   0x8(%ebp)
465c66:	e8 47 2f fa ff       	call   0x408bb2
465c6b:	f7 d8                	neg    %eax
465c6d:	1b c0                	sbb    %eax,%eax
465c6f:	f7 d8                	neg    %eax
465c71:	8b e5                	mov    %ebp,%esp
465c73:	5d                   	pop    %ebp
465c74:	c2 04 00             	ret    $0x4
465c77:	55                   	push   %ebp
465c78:	8b ec                	mov    %esp,%ebp
465c7a:	83 ec 0c             	sub    $0xc,%esp
465c7d:	53                   	push   %ebx
465c7e:	8b d9                	mov    %ecx,%ebx
465c80:	8b 4d 08             	mov    0x8(%ebp),%ecx
465c83:	56                   	push   %esi
465c84:	33 f6                	xor    %esi,%esi
465c86:	57                   	push   %edi
465c87:	89 73 04             	mov    %esi,0x4(%ebx)
465c8a:	89 73 08             	mov    %esi,0x8(%ebx)
465c8d:	8b 41 10             	mov    0x10(%ecx),%eax
465c90:	89 75 fc             	mov    %esi,-0x4(%ebp)
465c93:	89 43 10             	mov    %eax,0x10(%ebx)
465c96:	85 c0                	test   %eax,%eax
465c98:	74 02                	je     0x465c9c
465c9a:	ff 00                	incl   (%eax)
465c9c:	8b 41 08             	mov    0x8(%ecx),%eax
465c9f:	89 43 08             	mov    %eax,0x8(%ebx)
465ca2:	8b 41 0c             	mov    0xc(%ecx),%eax
465ca5:	89 43 0c             	mov    %eax,0xc(%ebx)
465ca8:	8b 39                	mov    (%ecx),%edi
465caa:	89 3b                	mov    %edi,(%ebx)
465cac:	85 ff                	test   %edi,%edi
465cae:	0f 84 99 00 00 00    	je     0x465d4d
465cb4:	33 c9                	xor    %ecx,%ecx
465cb6:	8b c7                	mov    %edi,%eax
465cb8:	6a 20                	push   $0x20
465cba:	5a                   	pop    %edx
465cbb:	f7 e2                	mul    %edx
465cbd:	0f 90 c1             	seto   %cl
465cc0:	f7 d9                	neg    %ecx
465cc2:	0b c8                	or     %eax,%ecx
465cc4:	33 c0                	xor    %eax,%eax
465cc6:	83 c1 04             	add    $0x4,%ecx
465cc9:	0f 92 c0             	setb   %al
465ccc:	f7 d8                	neg    %eax
465cce:	0b c1                	or     %ecx,%eax
465cd0:	50                   	push   %eax
465cd1:	e8 20 b3 fb ff       	call   0x420ff6
465cd6:	59                   	pop    %ecx
465cd7:	85 c0                	test   %eax,%eax
465cd9:	74 21                	je     0x465cfc
465cdb:	89 38                	mov    %edi,(%eax)
465cdd:	83 c0 04             	add    $0x4,%eax
465ce0:	4f                   	dec    %edi
465ce1:	89 45 f4             	mov    %eax,-0xc(%ebp)
465ce4:	78 18                	js     0x465cfe
465ce6:	8b f0                	mov    %eax,%esi
465ce8:	8b ce                	mov    %esi,%ecx
465cea:	e8 69 00 00 00       	call   0x465d58
465cef:	83 c6 20             	add    $0x20,%esi
465cf2:	4f                   	dec    %edi
465cf3:	79 f3                	jns    0x465ce8
465cf5:	8b 45 f4             	mov    -0xc(%ebp),%eax
465cf8:	33 f6                	xor    %esi,%esi
465cfa:	eb 02                	jmp    0x465cfe
465cfc:	8b c6                	mov    %esi,%eax
465cfe:	89 43 04             	mov    %eax,0x4(%ebx)
465d01:	39 33                	cmp    %esi,(%ebx)
465d03:	7e 48                	jle    0x465d4d
465d05:	8b ce                	mov    %esi,%ecx
465d07:	89 75 f8             	mov    %esi,-0x8(%ebp)
465d0a:	8b 45 08             	mov    0x8(%ebp),%eax
465d0d:	8b 73 04             	mov    0x4(%ebx),%esi
465d10:	03 f1                	add    %ecx,%esi
465d12:	8b 78 04             	mov    0x4(%eax),%edi
465d15:	03 f9                	add    %ecx,%edi
465d17:	8d 4e 0c             	lea    0xc(%esi),%ecx
465d1a:	8b 07                	mov    (%edi),%eax
465d1c:	89 06                	mov    %eax,(%esi)
465d1e:	8b 47 04             	mov    0x4(%edi),%eax
465d21:	89 46 04             	mov    %eax,0x4(%esi)
465d24:	8b 47 08             	mov    0x8(%edi),%eax
465d27:	89 46 08             	mov    %eax,0x8(%esi)
465d2a:	8d 47 0c             	lea    0xc(%edi),%eax
465d2d:	50                   	push   %eax
465d2e:	e8 74 24 fa ff       	call   0x4081a7
465d33:	8b 47 1c             	mov    0x1c(%edi),%eax
465d36:	8b 4d f8             	mov    -0x8(%ebp),%ecx
465d39:	89 46 1c             	mov    %eax,0x1c(%esi)
465d3c:	83 c1 20             	add    $0x20,%ecx
465d3f:	8b 45 fc             	mov    -0x4(%ebp),%eax
465d42:	40                   	inc    %eax
465d43:	89 4d f8             	mov    %ecx,-0x8(%ebp)
465d46:	89 45 fc             	mov    %eax,-0x4(%ebp)
465d49:	3b 03                	cmp    (%ebx),%eax
465d4b:	7c bd                	jl     0x465d0a
465d4d:	5f                   	pop    %edi
465d4e:	5e                   	pop    %esi
465d4f:	8b c3                	mov    %ebx,%eax
465d51:	5b                   	pop    %ebx
465d52:	8b e5                	mov    %ebp,%esp
465d54:	5d                   	pop    %ebp
465d55:	c2 04 00             	ret    $0x4
465d58:	56                   	push   %esi
465d59:	8b f1                	mov    %ecx,%esi
465d5b:	8d 4e 0c             	lea    0xc(%esi),%ecx
465d5e:	e8 64 1a fa ff       	call   0x4077c7
465d63:	8b c6                	mov    %esi,%eax
465d65:	5e                   	pop    %esi
465d66:	c3                   	ret
465d67:	83 c1 0c             	add    $0xc,%ecx
465d6a:	e9 f5 fc f9 ff       	jmp    0x405a64
465d6f:	55                   	push   %ebp
465d70:	8b ec                	mov    %esp,%ebp
465d72:	56                   	push   %esi
465d73:	8b f1                	mov    %ecx,%esi
465d75:	8b 4e 0c             	mov    0xc(%esi),%ecx
465d78:	8b 01                	mov    (%ecx),%eax
465d7a:	83 f8 01             	cmp    $0x1,%eax
465d7d:	7e 27                	jle    0x465da6
465d7f:	48                   	dec    %eax
465d80:	89 01                	mov    %eax,(%ecx)
465d82:	8b ce                	mov    %esi,%ecx
465d84:	e8 00 24 fa ff       	call   0x408189
465d89:	6a 08                	push   $0x8
465d8b:	58                   	pop    %eax
465d8c:	33 c9                	xor    %ecx,%ecx
465d8e:	89 46 08             	mov    %eax,0x8(%esi)
465d91:	6a 02                	push   $0x2
465d93:	5a                   	pop    %edx
465d94:	f7 e2                	mul    %edx
465d96:	0f 90 c1             	seto   %cl
465d99:	f7 d9                	neg    %ecx
465d9b:	0b c8                	or     %eax,%ecx
465d9d:	51                   	push   %ecx
465d9e:	e8 53 b2 fb ff       	call   0x420ff6
465da3:	59                   	pop    %ecx
465da4:	89 06                	mov    %eax,(%esi)
465da6:	8b 0e                	mov    (%esi),%ecx
465da8:	66 8b 45 08          	mov    0x8(%ebp),%ax
465dac:	c7 46 04 01 00 00 00 	movl   $0x1,0x4(%esi)
465db3:	66 89 01             	mov    %ax,(%ecx)
465db6:	33 c9                	xor    %ecx,%ecx
465db8:	8b 06                	mov    (%esi),%eax
465dba:	66 89 48 02          	mov    %cx,0x2(%eax)
465dbe:	8b c6                	mov    %esi,%eax
465dc0:	5e                   	pop    %esi
465dc1:	5d                   	pop    %ebp
465dc2:	c2 04 00             	ret    $0x4
465dc5:	56                   	push   %esi
465dc6:	68 67 5d 46 00       	push   $0x465d67
465dcb:	8d 71 fc             	lea    -0x4(%ecx),%esi
465dce:	ff 36                	push   (%esi)
465dd0:	6a 20                	push   $0x20
465dd2:	51                   	push   %ecx
465dd3:	e8 fb e8 f9 ff       	call   0x4046d3
465dd8:	56                   	push   %esi
465dd9:	e8 8e b2 fb ff       	call   0x42106c
465dde:	59                   	pop    %ecx
465ddf:	8b c6                	mov    %esi,%eax
465de1:	5e                   	pop    %esi
465de2:	c2 04 00             	ret    $0x4
465de5:	55                   	push   %ebp
465de6:	8b ec                	mov    %esp,%ebp
465de8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
465deb:	85 c9                	test   %ecx,%ecx
465ded:	75 04                	jne    0x465df3
465def:	33 c0                	xor    %eax,%eax
465df1:	eb 25                	jmp    0x465e18
465df3:	8b 45 08             	mov    0x8(%ebp),%eax
465df6:	56                   	push   %esi
465df7:	8b 75 10             	mov    0x10(%ebp),%esi
465dfa:	99                   	cltd
465dfb:	3b ce                	cmp    %esi,%ecx
465dfd:	7d 0c                	jge    0x465e0b
465dff:	f7 f9                	idiv   %ecx
465e01:	85 d2                	test   %edx,%edx
465e03:	74 10                	je     0x465e15
465e05:	2b ca                	sub    %edx,%ecx
465e07:	8b d1                	mov    %ecx,%edx
465e09:	eb 0a                	jmp    0x465e15
465e0b:	f7 fe                	idiv   %esi
465e0d:	85 d2                	test   %edx,%edx
465e0f:	74 04                	je     0x465e15
465e11:	2b f2                	sub    %edx,%esi
465e13:	8b d6                	mov    %esi,%edx
465e15:	8b c2                	mov    %edx,%eax
465e17:	5e                   	pop    %esi
465e18:	5d                   	pop    %ebp
465e19:	c2 0c 00             	ret    $0xc
465e1c:	55                   	push   %ebp
465e1d:	8b ec                	mov    %esp,%ebp
465e1f:	83 ec 14             	sub    $0x14,%esp
465e22:	53                   	push   %ebx
465e23:	56                   	push   %esi
465e24:	8b f1                	mov    %ecx,%esi
465e26:	8d 4d 0c             	lea    0xc(%ebp),%ecx
465e29:	57                   	push   %edi
465e2a:	e8 80 21 fa ff       	call   0x407faf
465e2f:	ff 75 10             	push   0x10(%ebp)
465e32:	ff 75 0c             	push   0xc(%ebp)
465e35:	ff 15 fc f6 48 00    	call   *0x48f6fc
465e3b:	8b ce                	mov    %esi,%ecx
465e3d:	e8 60 06 00 00       	call   0x4664a2
465e42:	33 db                	xor    %ebx,%ebx
465e44:	89 5d fc             	mov    %ebx,-0x4(%ebp)
465e47:	39 5d 10             	cmp    %ebx,0x10(%ebp)
465e4a:	75 08                	jne    0x465e54
465e4c:	33 ff                	xor    %edi,%edi
465e4e:	47                   	inc    %edi
465e4f:	e9 12 01 00 00       	jmp    0x465f66
465e54:	8b fb                	mov    %ebx,%edi
465e56:	89 1e                	mov    %ebx,(%esi)
465e58:	57                   	push   %edi
465e59:	8d 4d 0c             	lea    0xc(%ebp),%ecx
465e5c:	e8 f1 1c fa ff       	call   0x407b52
465e61:	66 39 18             	cmp    %bx,(%eax)
465e64:	74 16                	je     0x465e7c
465e66:	57                   	push   %edi
465e67:	8d 4d 0c             	lea    0xc(%ebp),%ecx
465e6a:	47                   	inc    %edi
465e6b:	e8 e2 1c fa ff       	call   0x407b52
465e70:	6a 3b                	push   $0x3b
465e72:	59                   	pop    %ecx
465e73:	66 39 08             	cmp    %cx,(%eax)
465e76:	75 e0                	jne    0x465e58
465e78:	ff 06                	incl   (%esi)
465e7a:	eb dc                	jmp    0x465e58
465e7c:	83 7d 10 01          	cmpl   $0x1,0x10(%ebp)
465e80:	76 16                	jbe    0x465e98
465e82:	8d 47 ff             	lea    -0x1(%edi),%eax
465e85:	50                   	push   %eax
465e86:	8d 4d 0c             	lea    0xc(%ebp),%ecx
465e89:	e8 c4 1c fa ff       	call   0x407b52
465e8e:	6a 3b                	push   $0x3b
465e90:	59                   	pop    %ecx
465e91:	66 39 08             	cmp    %cx,(%eax)
465e94:	74 02                	je     0x465e98
465e96:	ff 06                	incl   (%esi)
465e98:	8b 1e                	mov    (%esi),%ebx
465e9a:	33 c9                	xor    %ecx,%ecx
465e9c:	6a 20                	push   $0x20
465e9e:	5a                   	pop    %edx
465e9f:	8b c3                	mov    %ebx,%eax
465ea1:	f7 e2                	mul    %edx
465ea3:	0f 90 c1             	seto   %cl
465ea6:	f7 d9                	neg    %ecx
465ea8:	0b c8                	or     %eax,%ecx
465eaa:	33 c0                	xor    %eax,%eax
465eac:	83 c1 04             	add    $0x4,%ecx
465eaf:	0f 92 c0             	setb   %al
465eb2:	f7 d8                	neg    %eax
465eb4:	0b c1                	or     %ecx,%eax
465eb6:	50                   	push   %eax
465eb7:	e8 3a b1 fb ff       	call   0x420ff6
465ebc:	59                   	pop    %ecx
465ebd:	85 c0                	test   %eax,%eax
465ebf:	74 21                	je     0x465ee2
465ec1:	89 18                	mov    %ebx,(%eax)
465ec3:	83 c0 04             	add    $0x4,%eax
465ec6:	4b                   	dec    %ebx
465ec7:	89 45 f8             	mov    %eax,-0x8(%ebp)
465eca:	8b f8                	mov    %eax,%edi
465ecc:	78 10                	js     0x465ede
465ece:	8b cf                	mov    %edi,%ecx
465ed0:	e8 83 fe ff ff       	call   0x465d58
465ed5:	83 c7 20             	add    $0x20,%edi
465ed8:	4b                   	dec    %ebx
465ed9:	79 f3                	jns    0x465ece
465edb:	8b 45 f8             	mov    -0x8(%ebp),%eax
465ede:	33 db                	xor    %ebx,%ebx
465ee0:	eb 04                	jmp    0x465ee6
465ee2:	33 db                	xor    %ebx,%ebx
465ee4:	8b c3                	mov    %ebx,%eax
465ee6:	83 4d f8 ff          	orl    $0xffffffff,-0x8(%ebp)
465eea:	8b ce                	mov    %esi,%ecx
465eec:	89 46 04             	mov    %eax,0x4(%esi)
465eef:	8d 45 f8             	lea    -0x8(%ebp),%eax
465ef2:	50                   	push   %eax
465ef3:	8d 45 fc             	lea    -0x4(%ebp),%eax
465ef6:	89 5d f0             	mov    %ebx,-0x10(%ebp)
465ef9:	50                   	push   %eax
465efa:	8d 45 f4             	lea    -0xc(%ebp),%eax
465efd:	89 5d f4             	mov    %ebx,-0xc(%ebp)
465f00:	50                   	push   %eax
465f01:	8d 45 f0             	lea    -0x10(%ebp),%eax
465f04:	c7 45 ec 08 00 00 00 	movl   $0x8,-0x14(%ebp)
465f0b:	50                   	push   %eax
465f0c:	8d 45 ec             	lea    -0x14(%ebp),%eax
465f0f:	50                   	push   %eax
465f10:	8d 45 0c             	lea    0xc(%ebp),%eax
465f13:	50                   	push   %eax
465f14:	53                   	push   %ebx
465f15:	e8 5f 00 00 00       	call   0x465f79
465f1a:	8b f8                	mov    %eax,%edi
465f1c:	85 ff                	test   %edi,%edi
465f1e:	75 46                	jne    0x465f66
465f20:	8b 45 08             	mov    0x8(%ebp),%eax
465f23:	8b 7d fc             	mov    -0x4(%ebp),%edi
465f26:	89 7e 0c             	mov    %edi,0xc(%esi)
465f29:	85 c0                	test   %eax,%eax
465f2b:	75 31                	jne    0x465f5e
465f2d:	6a 04                	push   $0x4
465f2f:	e8 c2 b0 fb ff       	call   0x420ff6
465f34:	59                   	pop    %ecx
465f35:	85 c0                	test   %eax,%eax
465f37:	74 08                	je     0x465f41
465f39:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
465f3f:	eb 02                	jmp    0x465f43
465f41:	8b c3                	mov    %ebx,%eax
465f43:	57                   	push   %edi
465f44:	89 46 10             	mov    %eax,0x10(%esi)
465f47:	e8 aa b0 fb ff       	call   0x420ff6
465f4c:	ff 76 0c             	push   0xc(%esi)
465f4f:	89 46 08             	mov    %eax,0x8(%esi)
465f52:	53                   	push   %ebx
465f53:	50                   	push   %eax
465f54:	e8 c7 d0 fb ff       	call   0x423020
465f59:	83 c4 10             	add    $0x10,%esp
465f5c:	eb 06                	jmp    0x465f64
465f5e:	89 5e 10             	mov    %ebx,0x10(%esi)
465f61:	89 46 08             	mov    %eax,0x8(%esi)
465f64:	8b fb                	mov    %ebx,%edi
465f66:	8d 4d 0c             	lea    0xc(%ebp),%ecx
465f69:	e8 f6 fa f9 ff       	call   0x405a64
465f6e:	8b c7                	mov    %edi,%eax
465f70:	5f                   	pop    %edi
465f71:	5e                   	pop    %esi
465f72:	5b                   	pop    %ebx
465f73:	8b e5                	mov    %ebp,%esp
465f75:	5d                   	pop    %ebp
465f76:	c2 14 00             	ret    $0x14
465f79:	55                   	push   %ebp
465f7a:	8b ec                	mov    %esp,%ebp