5a89ae:	83 d0 00             	adc    $0x0,%eax
5a89b1:	2b 4c 24 24          	sub    0x24(%esp),%ecx
5a89b5:	83 d8 00             	sbb    $0x0,%eax
5a89b8:	03 4c 24 18          	add    0x18(%esp),%ecx
5a89bc:	83 d0 00             	adc    $0x0,%eax
5a89bf:	03 4c 24 28          	add    0x28(%esp),%ecx
5a89c3:	89 4f 0c             	mov    %ecx,0xc(%edi)
5a89c6:	83 d0 00             	adc    $0x0,%eax
5a89c9:	8b c8                	mov    %eax,%ecx
5a89cb:	c1 f9 1f             	sar    $0x1f,%ecx
5a89ce:	03 47 10             	add    0x10(%edi),%eax
5a89d1:	83 d1 00             	adc    $0x0,%ecx
5a89d4:	2b 44 24 28          	sub    0x28(%esp),%eax
5a89d8:	83 d9 00             	sbb    $0x0,%ecx
5a89db:	03 44 24 1c          	add    0x1c(%esp),%eax
5a89df:	83 d1 00             	adc    $0x0,%ecx
5a89e2:	03 44 24 2c          	add    0x2c(%esp),%eax
5a89e6:	89 47 10             	mov    %eax,0x10(%edi)
5a89e9:	83 d1 00             	adc    $0x0,%ecx
5a89ec:	8b c1                	mov    %ecx,%eax
5a89ee:	c1 f8 1f             	sar    $0x1f,%eax
5a89f1:	03 4f 14             	add    0x14(%edi),%ecx
5a89f4:	83 d0 00             	adc    $0x0,%eax
5a89f7:	2b 4c 24 2c          	sub    0x2c(%esp),%ecx
5a89fb:	83 d8 00             	sbb    $0x0,%eax
5a89fe:	03 4c 24 20          	add    0x20(%esp),%ecx
5a8a02:	83 d0 00             	adc    $0x0,%eax
5a8a05:	03 4c 24 30          	add    0x30(%esp),%ecx
5a8a09:	89 4f 14             	mov    %ecx,0x14(%edi)
5a8a0c:	83 d0 00             	adc    $0x0,%eax
5a8a0f:	8b c8                	mov    %eax,%ecx
5a8a11:	c1 f9 1f             	sar    $0x1f,%ecx
5a8a14:	2b 44 24 30          	sub    0x30(%esp),%eax
5a8a18:	83 d9 00             	sbb    $0x0,%ecx
5a8a1b:	03 47 18             	add    0x18(%edi),%eax
5a8a1e:	83 d1 00             	adc    $0x0,%ecx
5a8a21:	03 44 24 24          	add    0x24(%esp),%eax
5a8a25:	89 47 18             	mov    %eax,0x18(%edi)
5a8a28:	83 d1 00             	adc    $0x0,%ecx
5a8a2b:	8b c1                	mov    %ecx,%eax
5a8a2d:	c1 f8 1f             	sar    $0x1f,%eax
5a8a30:	85 c9                	test   %ecx,%ecx
5a8a32:	7e 21                	jle    0x5a8a55
5a8a34:	8d 04 cd 00 00 00 00 	lea    0x0(,%ecx,8),%eax
5a8a3b:	2b c1                	sub    %ecx,%eax
5a8a3d:	6a 07                	push   $0x7
5a8a3f:	8d 04 85 24 d0 6c 00 	lea    0x6cd024(,%eax,4),%eax
5a8a46:	50                   	push   %eax
5a8a47:	57                   	push   %edi
5a8a48:	57                   	push   %edi
5a8a49:	e8 e2 2f f2 ff       	call   0x4cba30
5a8a4e:	83 c4 10             	add    $0x10,%esp
5a8a51:	8b d8                	mov    %eax,%ebx
5a8a53:	eb 41                	jmp    0x5a8a96
5a8a55:	79 3a                	jns    0x5a8a91
5a8a57:	8d 41 01             	lea    0x1(%ecx),%eax
5a8a5a:	8d 0c c5 00 00 00 00 	lea    0x0(,%eax,8),%ecx
5a8a61:	2b c8                	sub    %eax,%ecx
5a8a63:	b8 40 d0 6c 00       	mov    $0x6cd040,%eax
5a8a68:	c1 e1 02             	shl    $0x2,%ecx
5a8a6b:	6a 07                	push   $0x7
5a8a6d:	2b c1                	sub    %ecx,%eax
5a8a6f:	50                   	push   %eax
5a8a70:	57                   	push   %edi
5a8a71:	57                   	push   %edi
5a8a72:	e8 d9 1d f2 ff       	call   0x4ca850
5a8a77:	8b d8                	mov    %eax,%ebx
5a8a79:	83 c4 10             	add    $0x10,%esp
5a8a7c:	f7 d8                	neg    %eax
5a8a7e:	8b f0                	mov    %eax,%esi
5a8a80:	25 30 ba 4c 00       	and    $0x4cba30,%eax
5a8a85:	f7 d6                	not    %esi
5a8a87:	81 e6 50 a8 4c 00    	and    $0x4ca850,%esi
5a8a8d:	0b f0                	or     %eax,%esi
5a8a8f:	eb 05                	jmp    0x5a8a96
5a8a91:	bb 01 00 00 00       	mov    $0x1,%ebx
5a8a96:	6a 07                	push   $0x7
5a8a98:	68 40 d0 6c 00       	push   $0x6cd040
5a8a9d:	8d 44 24 3c          	lea    0x3c(%esp),%eax
5a8aa1:	57                   	push   %edi
5a8aa2:	50                   	push   %eax
5a8aa3:	ff d6                	call   *%esi
5a8aa5:	f7 d8                	neg    %eax
5a8aa7:	8b 74 24 24          	mov    0x24(%esp),%esi
5a8aab:	f7 db                	neg    %ebx
5a8aad:	8d 54 24 44          	lea    0x44(%esp),%edx
5a8ab1:	23 c3                	and    %ebx,%eax
5a8ab3:	83 c4 10             	add    $0x10,%esp
5a8ab6:	8b c8                	mov    %eax,%ecx
5a8ab8:	23 c7                	and    %edi,%eax
5a8aba:	f7 d1                	not    %ecx
5a8abc:	23 ca                	and    %edx,%ecx
5a8abe:	0b c8                	or     %eax,%ecx
5a8ac0:	8b 01                	mov    (%ecx),%eax
5a8ac2:	89 07                	mov    %eax,(%edi)
5a8ac4:	8b 41 04             	mov    0x4(%ecx),%eax
5a8ac7:	89 47 04             	mov    %eax,0x4(%edi)
5a8aca:	8b 41 08             	mov    0x8(%ecx),%eax
5a8acd:	89 47 08             	mov    %eax,0x8(%edi)
5a8ad0:	8b 41 0c             	mov    0xc(%ecx),%eax
5a8ad3:	89 47 0c             	mov    %eax,0xc(%edi)
5a8ad6:	8b 41 10             	mov    0x10(%ecx),%eax
5a8ad9:	89 47 10             	mov    %eax,0x10(%edi)
5a8adc:	8b 41 14             	mov    0x14(%ecx),%eax
5a8adf:	89 47 14             	mov    %eax,0x14(%edi)
5a8ae2:	8b 41 18             	mov    0x18(%ecx),%eax
5a8ae5:	b9 07 00 00 00       	mov    $0x7,%ecx
5a8aea:	89 47 18             	mov    %eax,0x18(%edi)
5a8aed:	8b 16                	mov    (%esi),%edx
5a8aef:	c7 46 04 07 00 00 00 	movl   $0x7,0x4(%esi)
5a8af6:	83 c2 18             	add    $0x18,%edx
5a8af9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
5a8b00:	8b 02                	mov    (%edx),%eax
5a8b02:	8d 52 fc             	lea    -0x4(%edx),%edx
5a8b05:	85 c0                	test   %eax,%eax
5a8b07:	75 05                	jne    0x5a8b0e
5a8b09:	49                   	dec    %ecx
5a8b0a:	85 c9                	test   %ecx,%ecx
5a8b0c:	7f f2                	jg     0x5a8b00
5a8b0e:	89 4e 04             	mov    %ecx,0x4(%esi)
5a8b11:	85 c9                	test   %ecx,%ecx
5a8b13:	75 03                	jne    0x5a8b18
5a8b15:	89 4e 0c             	mov    %ecx,0xc(%esi)
5a8b18:	5f                   	pop    %edi
5a8b19:	5e                   	pop    %esi
5a8b1a:	5d                   	pop    %ebp
5a8b1b:	b8 01 00 00 00       	mov    $0x1,%eax
5a8b20:	5b                   	pop    %ebx
5a8b21:	8b 4c 24 40          	mov    0x40(%esp),%ecx
5a8b25:	33 cc                	xor    %esp,%ecx
5a8b27:	e8 ae 89 03 00       	call   0x5e14da
5a8b2c:	83 c4 44             	add    $0x44,%esp
5a8b2f:	c3                   	ret
5a8b30:	57                   	push   %edi
5a8b31:	68 bc d3 6c 00       	push   $0x6cd3bc
5a8b36:	56                   	push   %esi
5a8b37:	53                   	push   %ebx
5a8b38:	e8 13 62 fc ff       	call   0x56ed50
5a8b3d:	8b 4c 24 60          	mov    0x60(%esp),%ecx
5a8b41:	83 c4 10             	add    $0x10,%esp
5a8b44:	5f                   	pop    %edi
5a8b45:	5e                   	pop    %esi
5a8b46:	5d                   	pop    %ebp
5a8b47:	5b                   	pop    %ebx
5a8b48:	33 cc                	xor    %esp,%ecx
5a8b4a:	e8 8b 89 03 00       	call   0x5e14da
5a8b4f:	83 c4 44             	add    $0x44,%esp
5a8b52:	c3                   	ret
5a8b53:	cc                   	int3
5a8b54:	cc                   	int3
5a8b55:	cc                   	int3
5a8b56:	cc                   	int3
5a8b57:	cc                   	int3
5a8b58:	cc                   	int3
5a8b59:	cc                   	int3
5a8b5a:	cc                   	int3
5a8b5b:	cc                   	int3
5a8b5c:	cc                   	int3
5a8b5d:	cc                   	int3
5a8b5e:	cc                   	int3
5a8b5f:	cc                   	int3
5a8b60:	b8 4c 00 00 00       	mov    $0x4c,%eax
5a8b65:	e8 86 89 03 00       	call   0x5e14f0
5a8b6a:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5a8b6f:	33 c4                	xor    %esp,%eax
5a8b71:	89 44 24 48          	mov    %eax,0x48(%esp)
5a8b75:	53                   	push   %ebx
5a8b76:	8b 5c 24 54          	mov    0x54(%esp),%ebx
5a8b7a:	55                   	push   %ebp
5a8b7b:	56                   	push   %esi
5a8b7c:	8b 74 24 60          	mov    0x60(%esp),%esi
5a8b80:	57                   	push   %edi
5a8b81:	8b 7c 24 6c          	mov    0x6c(%esp),%edi
5a8b85:	89 5c 24 14          	mov    %ebx,0x14(%esp)
5a8b89:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
5a8b8d:	8b 46 04             	mov    0x4(%esi),%eax
5a8b90:	8b 2e                	mov    (%esi),%ebp
5a8b92:	89 44 24 10          	mov    %eax,0x10(%esp)
5a8b96:	0f 85 ab 03 00 00    	jne    0x5a8f47
5a8b9c:	68 34 d4 6c 00       	push   $0x6cd434
5a8ba1:	56                   	push   %esi
5a8ba2:	e8 a9 a9 f0 ff       	call   0x4b3550
5a8ba7:	83 c4 08             	add    $0x8,%esp
5a8baa:	85 c0                	test   %eax,%eax
5a8bac:	0f 89 95 03 00 00    	jns    0x5a8f47
5a8bb2:	56                   	push   %esi
5a8bb3:	68 d0 d3 6c 00       	push   $0x6cd3d0
5a8bb8:	e8 93 a9 f0 ff       	call   0x4b3550
5a8bbd:	83 c4 08             	add    $0x8,%esp
5a8bc0:	85 c0                	test   %eax,%eax
5a8bc2:	75 22                	jne    0x5a8be6
5a8bc4:	50                   	push   %eax
5a8bc5:	53                   	push   %ebx
5a8bc6:	e8 25 a9 f0 ff       	call   0x4b34f0
5a8bcb:	83 c4 08             	add    $0x8,%esp
5a8bce:	5f                   	pop    %edi
5a8bcf:	5e                   	pop    %esi
5a8bd0:	5d                   	pop    %ebp
5a8bd1:	b8 01 00 00 00       	mov    $0x1,%eax
5a8bd6:	5b                   	pop    %ebx
5a8bd7:	8b 4c 24 48          	mov    0x48(%esp),%ecx
5a8bdb:	33 cc                	xor    %esp,%ecx
5a8bdd:	e8 f8 88 03 00       	call   0x5e14da
5a8be2:	83 c4 4c             	add    $0x4c,%esp
5a8be5:	c3                   	ret
5a8be6:	7e 27                	jle    0x5a8c0f
5a8be8:	3b de                	cmp    %esi,%ebx
5a8bea:	74 e2                	je     0x5a8bce
5a8bec:	56                   	push   %esi
5a8bed:	53                   	push   %ebx
5a8bee:	e8 dd a4 f0 ff       	call   0x4b30d0
5a8bf3:	83 c4 08             	add    $0x8,%esp
5a8bf6:	f7 d8                	neg    %eax
5a8bf8:	1b c0                	sbb    %eax,%eax
5a8bfa:	f7 d8                	neg    %eax
5a8bfc:	5f                   	pop    %edi
5a8bfd:	5e                   	pop    %esi
5a8bfe:	5d                   	pop    %ebp
5a8bff:	5b                   	pop    %ebx
5a8c00:	8b 4c 24 48          	mov    0x48(%esp),%ecx
5a8c04:	33 cc                	xor    %esp,%ecx
5a8c06:	e8 cf 88 03 00       	call   0x5e14da
5a8c0b:	83 c4 4c             	add    $0x4c,%esp
5a8c0e:	c3                   	ret
5a8c0f:	3b de                	cmp    %esi,%ebx
5a8c11:	74 5f                	je     0x5a8c72
5a8c13:	83 7b 08 08          	cmpl   $0x8,0x8(%ebx)
5a8c17:	7c 04                	jl     0x5a8c1d
5a8c19:	8b c3                	mov    %ebx,%eax
5a8c1b:	eb 0b                	jmp    0x5a8c28
5a8c1d:	6a 08                	push   $0x8
5a8c1f:	53                   	push   %ebx
5a8c20:	e8 7b aa f0 ff       	call   0x4b36a0
5a8c25:	83 c4 08             	add    $0x8,%esp
5a8c28:	85 c0                	test   %eax,%eax
5a8c2a:	75 13                	jne    0x5a8c3f
5a8c2c:	5f                   	pop    %edi
5a8c2d:	5e                   	pop    %esi
5a8c2e:	5d                   	pop    %ebp
5a8c2f:	5b                   	pop    %ebx
5a8c30:	8b 4c 24 48          	mov    0x48(%esp),%ecx
5a8c34:	33 cc                	xor    %esp,%ecx
5a8c36:	e8 9f 88 03 00       	call   0x5e14da
5a8c3b:	83 c4 4c             	add    $0x4c,%esp
5a8c3e:	c3                   	ret
5a8c3f:	8b 3b                	mov    (%ebx),%edi
5a8c41:	8b 45 00             	mov    0x0(%ebp),%eax
5a8c44:	89 07                	mov    %eax,(%edi)
5a8c46:	8b 45 04             	mov    0x4(%ebp),%eax
5a8c49:	89 47 04             	mov    %eax,0x4(%edi)
5a8c4c:	8b 45 08             	mov    0x8(%ebp),%eax
5a8c4f:	89 47 08             	mov    %eax,0x8(%edi)
5a8c52:	8b 45 0c             	mov    0xc(%ebp),%eax
5a8c55:	89 47 0c             	mov    %eax,0xc(%edi)
5a8c58:	8b 45 10             	mov    0x10(%ebp),%eax
5a8c5b:	89 47 10             	mov    %eax,0x10(%edi)
5a8c5e:	8b 45 14             	mov    0x14(%ebp),%eax
5a8c61:	89 47 14             	mov    %eax,0x14(%edi)
5a8c64:	8b 45 18             	mov    0x18(%ebp),%eax
5a8c67:	89 47 18             	mov    %eax,0x18(%edi)
5a8c6a:	8b 45 1c             	mov    0x1c(%ebp),%eax
5a8c6d:	89 47 1c             	mov    %eax,0x1c(%edi)
5a8c70:	eb 02                	jmp    0x5a8c74
5a8c72:	8b fd                	mov    %ebp,%edi
5a8c74:	8b 44 24 10          	mov    0x10(%esp),%eax
5a8c78:	83 c0 f8             	add    $0xfffffff8,%eax
5a8c7b:	6a 08                	push   $0x8
5a8c7d:	50                   	push   %eax
5a8c7e:	8d 45 20             	lea    0x20(%ebp),%eax
5a8c81:	50                   	push   %eax
5a8c82:	8d 44 24 24          	lea    0x24(%esp),%eax
5a8c86:	50                   	push   %eax
5a8c87:	e8 74 09 00 00       	call   0x5a9600
5a8c8c:	33 db                	xor    %ebx,%ebx
5a8c8e:	8b 07                	mov    (%edi),%eax
5a8c90:	33 c9                	xor    %ecx,%ecx
5a8c92:	8b 6c 24 40          	mov    0x40(%esp),%ebp
5a8c96:	83 c4 10             	add    $0x10,%esp
5a8c99:	8b f3                	mov    %ebx,%esi
5a8c9b:	2b 44 24 24          	sub    0x24(%esp),%eax
5a8c9f:	1b c9                	sbb    %ecx,%ecx
5a8ca1:	2b 44 24 28          	sub    0x28(%esp),%eax
5a8ca5:	1b cb                	sbb    %ebx,%ecx
5a8ca7:	2b 44 24 2c          	sub    0x2c(%esp),%eax
5a8cab:	1b cb                	sbb    %ebx,%ecx
5a8cad:	2b c5                	sub    %ebp,%eax
5a8caf:	1b cb                	sbb    %ebx,%ecx
5a8cb1:	03 44 24 18          	add    0x18(%esp),%eax
5a8cb5:	13 cb                	adc    %ebx,%ecx
5a8cb7:	03 44 24 1c          	add    0x1c(%esp),%eax
5a8cbb:	89 07                	mov    %eax,(%edi)
5a8cbd:	13 cb                	adc    %ebx,%ecx
5a8cbf:	8b c1                	mov    %ecx,%eax
5a8cc1:	c1 f8 1f             	sar    $0x1f,%eax
5a8cc4:	2b 4c 24 34          	sub    0x34(%esp),%ecx
5a8cc8:	1b c3                	sbb    %ebx,%eax
5a8cca:	2b 4c 24 28          	sub    0x28(%esp),%ecx
5a8cce:	1b c3                	sbb    %ebx,%eax
5a8cd0:	2b 4c 24 2c          	sub    0x2c(%esp),%ecx
5a8cd4:	1b c3                	sbb    %ebx,%eax
5a8cd6:	2b cd                	sub    %ebp,%ecx
5a8cd8:	1b c3                	sbb    %ebx,%eax
5a8cda:	03 4f 04             	add    0x4(%edi),%ecx
5a8cdd:	13 c3                	adc    %ebx,%eax
5a8cdf:	03 4c 24 20          	add    0x20(%esp),%ecx
5a8ce3:	13 c3                	adc    %ebx,%eax
5a8ce5:	03 4c 24 1c          	add    0x1c(%esp),%ecx
5a8ce9:	89 4f 04             	mov    %ecx,0x4(%edi)
5a8cec:	13 c3                	adc    %ebx,%eax
5a8cee:	8b 4c 24 24          	mov    0x24(%esp),%ecx
5a8cf2:	8b d0                	mov    %eax,%edx
5a8cf4:	c1 fa 1f             	sar    $0x1f,%edx
5a8cf7:	2b 44 24 34          	sub    0x34(%esp),%eax
5a8cfb:	1b d3                	sbb    %ebx,%edx
5a8cfd:	2b 44 24 2c          	sub    0x2c(%esp),%eax
5a8d01:	1b d3                	sbb    %ebx,%edx
5a8d03:	2b c5                	sub    %ebp,%eax
5a8d05:	1b d3                	sbb    %ebx,%edx
5a8d07:	03 47 08             	add    0x8(%edi),%eax
5a8d0a:	13 d3                	adc    %ebx,%edx
5a8d0c:	03 44 24 20          	add    0x20(%esp),%eax
5a8d10:	13 d3                	adc    %ebx,%edx
5a8d12:	03 c1                	add    %ecx,%eax
5a8d14:	89 47 08             	mov    %eax,0x8(%edi)
5a8d17:	13 d3                	adc    %ebx,%edx
5a8d19:	03 4c 24 28          	add    0x28(%esp),%ecx
5a8d1d:	8b c2                	mov    %edx,%eax
5a8d1f:	13 f3                	adc    %ebx,%esi
5a8d21:	c1 f8 1f             	sar    $0x1f,%eax
5a8d24:	0f a4 ce 01          	shld   $0x1,%ecx,%esi
5a8d28:	03 c9                	add    %ecx,%ecx
5a8d2a:	03 ca                	add    %edx,%ecx
5a8d2c:	13 f0                	adc    %eax,%esi
5a8d2e:	03 4f 0c             	add    0xc(%edi),%ecx
5a8d31:	13 f3                	adc    %ebx,%esi
5a8d33:	2b 4c 24 34          	sub    0x34(%esp),%ecx
5a8d37:	1b f3                	sbb    %ebx,%esi
5a8d39:	2b 4c 24 18          	sub    0x18(%esp),%ecx
5a8d3d:	1b f3                	sbb    %ebx,%esi
5a8d3f:	2b 4c 24 1c          	sub    0x1c(%esp),%ecx
5a8d43:	1b f3                	sbb    %ebx,%esi
5a8d45:	03 4c 24 2c          	add    0x2c(%esp),%ecx
5a8d49:	89 4f 0c             	mov    %ecx,0xc(%edi)
5a8d4c:	8b 4c 24 28          	mov    0x28(%esp),%ecx
5a8d50:	13 f3                	adc    %ebx,%esi
5a8d52:	03 4c 24 2c          	add    0x2c(%esp),%ecx
5a8d56:	8b d3                	mov    %ebx,%edx
5a8d58:	8b c6                	mov    %esi,%eax
5a8d5a:	13 d2                	adc    %edx,%edx
5a8d5c:	c1 f8 1f             	sar    $0x1f,%eax