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
5a8d5f:	0f a4 ca 01          	shld   $0x1,%ecx,%edx
5a8d63:	03 c9                	add    %ecx,%ecx
5a8d65:	03 ce                	add    %esi,%ecx
5a8d67:	8b f3                	mov    %ebx,%esi
5a8d69:	13 d0                	adc    %eax,%edx
5a8d6b:	2b 4c 24 20          	sub    0x20(%esp),%ecx
5a8d6f:	1b d3                	sbb    %ebx,%edx
5a8d71:	2b 4c 24 1c          	sub    0x1c(%esp),%ecx
5a8d75:	1b d3                	sbb    %ebx,%edx
5a8d77:	03 4f 10             	add    0x10(%edi),%ecx
5a8d7a:	13 d3                	adc    %ebx,%edx
5a8d7c:	03 cd                	add    %ebp,%ecx
5a8d7e:	89 4f 10             	mov    %ecx,0x10(%edi)
5a8d81:	13 d3                	adc    %ebx,%edx
5a8d83:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
5a8d87:	03 cd                	add    %ebp,%ecx
5a8d89:	8b c2                	mov    %edx,%eax
5a8d8b:	13 f3                	adc    %ebx,%esi
5a8d8d:	c1 f8 1f             	sar    $0x1f,%eax
5a8d90:	0f a4 ce 01          	shld   $0x1,%ecx,%esi
5a8d94:	03 c9                	add    %ecx,%ecx
5a8d96:	03 ca                	add    %edx,%ecx
5a8d98:	8b 54 24 34          	mov    0x34(%esp),%edx
5a8d9c:	13 f0                	adc    %eax,%esi
5a8d9e:	2b 4c 24 20          	sub    0x20(%esp),%ecx
5a8da2:	8b c5                	mov    %ebp,%eax
5a8da4:	1b f3                	sbb    %ebx,%esi
5a8da6:	2b 4c 24 24          	sub    0x24(%esp),%ecx
5a8daa:	1b f3                	sbb    %ebx,%esi
5a8dac:	03 4f 14             	add    0x14(%edi),%ecx
5a8daf:	13 f3                	adc    %ebx,%esi
5a8db1:	03 4c 24 34          	add    0x34(%esp),%ecx
5a8db5:	89 4f 14             	mov    %ecx,0x14(%edi)
5a8db8:	13 f3                	adc    %ebx,%esi
5a8dba:	33 c9                	xor    %ecx,%ecx
5a8dbc:	0f a4 c1 01          	shld   $0x1,%eax,%ecx
5a8dc0:	0f a4 d3 01          	shld   $0x1,%edx,%ebx
5a8dc4:	03 c0                	add    %eax,%eax
5a8dc6:	03 d2                	add    %edx,%edx
5a8dc8:	03 e8                	add    %eax,%ebp
5a8dca:	b8 00 00 00 00       	mov    $0x0,%eax
5a8dcf:	13 c1                	adc    %ecx,%eax
5a8dd1:	03 d5                	add    %ebp,%edx
5a8dd3:	13 d8                	adc    %eax,%ebx
5a8dd5:	8b c6                	mov    %esi,%eax
5a8dd7:	c1 f8 1f             	sar    $0x1f,%eax
5a8dda:	03 d6                	add    %esi,%edx
5a8ddc:	13 d8                	adc    %eax,%ebx
5a8dde:	2b 54 24 18          	sub    0x18(%esp),%edx
5a8de2:	83 db 00             	sbb    $0x0,%ebx
5a8de5:	2b 54 24 1c          	sub    0x1c(%esp),%edx
5a8de9:	83 db 00             	sbb    $0x0,%ebx
5a8dec:	03 57 18             	add    0x18(%edi),%edx
5a8def:	83 d3 00             	adc    $0x0,%ebx
5a8df2:	03 54 24 2c          	add    0x2c(%esp),%edx
5a8df6:	89 57 18             	mov    %edx,0x18(%edi)
5a8df9:	8b 54 24 34          	mov    0x34(%esp),%edx
5a8dfd:	83 d3 00             	adc    $0x0,%ebx
5a8e00:	33 c9                	xor    %ecx,%ecx
5a8e02:	8b c2                	mov    %edx,%eax
5a8e04:	0f a4 c1 01          	shld   $0x1,%eax,%ecx
5a8e08:	03 c0                	add    %eax,%eax
5a8e0a:	03 d0                	add    %eax,%edx
5a8e0c:	b8 00 00 00 00       	mov    $0x0,%eax
5a8e11:	13 c1                	adc    %ecx,%eax
5a8e13:	89 44 24 10          	mov    %eax,0x10(%esp)
5a8e17:	8b c3                	mov    %ebx,%eax
5a8e19:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5a8e1d:	c1 f8 1f             	sar    $0x1f,%eax
5a8e20:	03 d3                	add    %ebx,%edx
5a8e22:	13 c8                	adc    %eax,%ecx
5a8e24:	03 57 1c             	add    0x1c(%edi),%edx
5a8e27:	83 d1 00             	adc    $0x0,%ecx
5a8e2a:	2b 54 24 20          	sub    0x20(%esp),%edx
5a8e2e:	83 d9 00             	sbb    $0x0,%ecx
5a8e31:	2b 54 24 24          	sub    0x24(%esp),%edx
5a8e35:	83 d9 00             	sbb    $0x0,%ecx
5a8e38:	be 30 ba 4c 00       	mov    $0x4cba30,%esi
5a8e3d:	2b 54 24 28          	sub    0x28(%esp),%edx
5a8e41:	83 d9 00             	sbb    $0x0,%ecx
5a8e44:	2b 54 24 2c          	sub    0x2c(%esp),%edx
5a8e48:	83 d9 00             	sbb    $0x0,%ecx
5a8e4b:	03 54 24 18          	add    0x18(%esp),%edx
5a8e4f:	89 57 1c             	mov    %edx,0x1c(%edi)
5a8e52:	83 d1 00             	adc    $0x0,%ecx
5a8e55:	8b c1                	mov    %ecx,%eax
5a8e57:	c1 f8 1f             	sar    $0x1f,%eax
5a8e5a:	85 c9                	test   %ecx,%ecx
5a8e5c:	7e 1a                	jle    0x5a8e78
5a8e5e:	c1 e1 05             	shl    $0x5,%ecx
5a8e61:	6a 08                	push   $0x8
5a8e63:	8d 81 90 d0 6c 00    	lea    0x6cd090(%ecx),%eax
5a8e69:	50                   	push   %eax
5a8e6a:	57                   	push   %edi
5a8e6b:	57                   	push   %edi
5a8e6c:	e8 bf 2b f2 ff       	call   0x4cba30
5a8e71:	83 c4 10             	add    $0x10,%esp
5a8e74:	8b d8                	mov    %eax,%ebx
5a8e76:	eb 36                	jmp    0x5a8eae
5a8e78:	79 2f                	jns    0x5a8ea9
5a8e7a:	41                   	inc    %ecx
5a8e7b:	b8 b0 d0 6c 00       	mov    $0x6cd0b0,%eax
5a8e80:	c1 e1 05             	shl    $0x5,%ecx
5a8e83:	6a 08                	push   $0x8
5a8e85:	2b c1                	sub    %ecx,%eax
5a8e87:	50                   	push   %eax
5a8e88:	57                   	push   %edi
5a8e89:	57                   	push   %edi
5a8e8a:	e8 c1 19 f2 ff       	call   0x4ca850
5a8e8f:	8b d8                	mov    %eax,%ebx
5a8e91:	83 c4 10             	add    $0x10,%esp
5a8e94:	f7 d8                	neg    %eax
5a8e96:	8b f0                	mov    %eax,%esi
5a8e98:	25 30 ba 4c 00       	and    $0x4cba30,%eax
5a8e9d:	f7 d6                	not    %esi
5a8e9f:	81 e6 50 a8 4c 00    	and    $0x4ca850,%esi
5a8ea5:	0b f0                	or     %eax,%esi
5a8ea7:	eb 05                	jmp    0x5a8eae
5a8ea9:	bb 01 00 00 00       	mov    $0x1,%ebx
5a8eae:	6a 08                	push   $0x8
5a8eb0:	68 b0 d0 6c 00       	push   $0x6cd0b0
5a8eb5:	8d 44 24 40          	lea    0x40(%esp),%eax
5a8eb9:	57                   	push   %edi
5a8eba:	50                   	push   %eax
5a8ebb:	ff d6                	call   *%esi
5a8ebd:	f7 d8                	neg    %eax
5a8ebf:	8b 74 24 24          	mov    0x24(%esp),%esi
5a8ec3:	f7 db                	neg    %ebx
5a8ec5:	8d 54 24 48          	lea    0x48(%esp),%edx
5a8ec9:	23 c3                	and    %ebx,%eax
5a8ecb:	83 c4 10             	add    $0x10,%esp
5a8ece:	8b c8                	mov    %eax,%ecx
5a8ed0:	23 c7                	and    %edi,%eax
5a8ed2:	f7 d1                	not    %ecx
5a8ed4:	23 ca                	and    %edx,%ecx
5a8ed6:	0b c8                	or     %eax,%ecx
5a8ed8:	8b 01                	mov    (%ecx),%eax
5a8eda:	89 07                	mov    %eax,(%edi)
5a8edc:	8b 41 04             	mov    0x4(%ecx),%eax
5a8edf:	89 47 04             	mov    %eax,0x4(%edi)
5a8ee2:	8b 41 08             	mov    0x8(%ecx),%eax
5a8ee5:	89 47 08             	mov    %eax,0x8(%edi)
5a8ee8:	8b 41 0c             	mov    0xc(%ecx),%eax
5a8eeb:	89 47 0c             	mov    %eax,0xc(%edi)
5a8eee:	8b 41 10             	mov    0x10(%ecx),%eax
5a8ef1:	89 47 10             	mov    %eax,0x10(%edi)
5a8ef4:	8b 41 14             	mov    0x14(%ecx),%eax
5a8ef7:	89 47 14             	mov    %eax,0x14(%edi)
5a8efa:	8b 41 18             	mov    0x18(%ecx),%eax
5a8efd:	89 47 18             	mov    %eax,0x18(%edi)
5a8f00:	8b 41 1c             	mov    0x1c(%ecx),%eax
5a8f03:	b9 08 00 00 00       	mov    $0x8,%ecx
5a8f08:	89 47 1c             	mov    %eax,0x1c(%edi)
5a8f0b:	8b 16                	mov    (%esi),%edx
5a8f0d:	c7 46 04 08 00 00 00 	movl   $0x8,0x4(%esi)
5a8f14:	83 c2 1c             	add    $0x1c,%edx
5a8f17:	8b 02                	mov    (%edx),%eax
5a8f19:	8d 52 fc             	lea    -0x4(%edx),%edx
5a8f1c:	85 c0                	test   %eax,%eax
5a8f1e:	75 05                	jne    0x5a8f25
5a8f20:	49                   	dec    %ecx
5a8f21:	85 c9                	test   %ecx,%ecx
5a8f23:	7f f2                	jg     0x5a8f17
5a8f25:	89 4e 04             	mov    %ecx,0x4(%esi)
5a8f28:	85 c9                	test   %ecx,%ecx
5a8f2a:	75 03                	jne    0x5a8f2f
5a8f2c:	89 4e 0c             	mov    %ecx,0xc(%esi)
5a8f2f:	5f                   	pop    %edi
5a8f30:	5e                   	pop    %esi
5a8f31:	5d                   	pop    %ebp
5a8f32:	b8 01 00 00 00       	mov    $0x1,%eax
5a8f37:	5b                   	pop    %ebx
5a8f38:	8b 4c 24 48          	mov    0x48(%esp),%ecx
5a8f3c:	33 cc                	xor    %esp,%ecx
5a8f3e:	e8 97 85 03 00       	call   0x5e14da