4c9c3e:	79 03                	jns    0x4c9c43
4c9c40:	83 d7 00             	adc    $0x0,%edi
4c9c43:	8b 45 cb             	mov    -0x35(%ebp),%eax
4c9c46:	03 45 d3             	add    -0x2d(%ebp),%eax
4c9c49:	48                   	dec    %eax
4c9c4a:	d1 f8                	sar    $1,%eax
4c9c4c:	79 03                	jns    0x4c9c51
4c9c4e:	83 d0 00             	adc    $0x0,%eax
4c9c51:	89 45 e8             	mov    %eax,-0x18(%ebp)
4c9c54:	8b d3                	mov    %ebx,%edx
4c9c56:	b1 01                	mov    $0x1,%cl
4c9c58:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c9c5b:	e8 10 f6 ff ff       	call   0x4c9270
4c9c60:	8b d0                	mov    %eax,%edx
4c9c62:	8b 46 10             	mov    0x10(%esi),%eax
4c9c65:	e8 1a e3 f5 ff       	call   0x427f84
4c9c6a:	8b 46 10             	mov    0x10(%esi),%eax
4c9c6d:	e8 0a e3 f5 ff       	call   0x427f7c
4c9c72:	8b d0                	mov    %eax,%edx
4c9c74:	8b 46 14             	mov    0x14(%esi),%eax
4c9c77:	e8 08 e6 f5 ff       	call   0x428284
4c9c7c:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
4c9c7f:	8b 55 e8             	mov    -0x18(%ebp),%edx
4c9c82:	42                   	inc    %edx
4c9c83:	8b c7                	mov    %edi,%eax
4c9c85:	83 e8 02             	sub    $0x2,%eax
4c9c88:	e8 bf 09 f5 ff       	call   0x41a64c
4c9c8d:	8b 45 a4             	mov    -0x5c(%ebp),%eax
4c9c90:	89 45 ac             	mov    %eax,-0x54(%ebp)
4c9c93:	8b 45 a8             	mov    -0x58(%ebp),%eax
4c9c96:	89 45 b0             	mov    %eax,-0x50(%ebp)
4c9c99:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
4c9c9c:	8b 55 e8             	mov    -0x18(%ebp),%edx
4c9c9f:	42                   	inc    %edx
4c9ca0:	8d 47 02             	lea    0x2(%edi),%eax
4c9ca3:	e8 a4 09 f5 ff       	call   0x41a64c
4c9ca8:	8b 45 9c             	mov    -0x64(%ebp),%eax
4c9cab:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4c9cae:	8b 45 a0             	mov    -0x60(%ebp),%eax
4c9cb1:	89 45 b8             	mov    %eax,-0x48(%ebp)
4c9cb4:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
4c9cb7:	8b 55 e8             	mov    -0x18(%ebp),%edx
4c9cba:	4a                   	dec    %edx
4c9cbb:	8b c7                	mov    %edi,%eax
4c9cbd:	e8 8a 09 f5 ff       	call   0x41a64c
4c9cc2:	8b 45 94             	mov    -0x6c(%ebp),%eax
4c9cc5:	89 45 bc             	mov    %eax,-0x44(%ebp)
4c9cc8:	8b 45 98             	mov    -0x68(%ebp),%eax
4c9ccb:	89 45 c0             	mov    %eax,-0x40(%ebp)
4c9cce:	8d 55 ac             	lea    -0x54(%ebp),%edx
4c9cd1:	b9 02 00 00 00       	mov    $0x2,%ecx
4c9cd6:	8b c6                	mov    %esi,%eax
4c9cd8:	e8 23 eb f5 ff       	call   0x428800
4c9cdd:	56                   	push   %esi
4c9cde:	8d 75 d7             	lea    -0x29(%ebp),%esi
4c9ce1:	8d 7d c7             	lea    -0x39(%ebp),%edi
4c9ce4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c9ce5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c9ce6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c9ce7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c9ce8:	5e                   	pop    %esi
4c9ce9:	8b 45 db             	mov    -0x25(%ebp),%eax
4c9cec:	03 45 e3             	add    -0x1d(%ebp),%eax
4c9cef:	d1 f8                	sar    $1,%eax
4c9cf1:	79 03                	jns    0x4c9cf6
4c9cf3:	83 d0 00             	adc    $0x0,%eax
4c9cf6:	89 45 cb             	mov    %eax,-0x35(%ebp)
4c9cf9:	f6 45 f4 08          	testb  $0x8,-0xc(%ebp)
4c9cfd:	0f 95 c0             	setne  %al
4c9d00:	88 43 09             	mov    %al,0x9(%ebx)
4c9d03:	80 7d ef 00          	cmpb   $0x0,-0x11(%ebp)
4c9d07:	0f 85 a3 00 00 00    	jne    0x4c9db0
4c9d0d:	0a 45 ee             	or     -0x12(%ebp),%al
4c9d10:	75 06                	jne    0x4c9d18
4c9d12:	80 7d ed 00          	cmpb   $0x0,-0x13(%ebp)
4c9d16:	74 13                	je     0x4c9d2b
4c9d18:	53                   	push   %ebx
4c9d19:	8d 4d c7             	lea    -0x39(%ebp),%ecx
4c9d1c:	8b d6                	mov    %esi,%edx
4c9d1e:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c9d21:	8b 38                	mov    (%eax),%edi
4c9d23:	ff 57 2c             	call   *0x2c(%edi)
4c9d26:	e9 85 00 00 00       	jmp    0x4c9db0
4c9d2b:	8b 03                	mov    (%ebx),%eax
4c9d2d:	25 00 10 00 00       	and    $0x1000,%eax
4c9d32:	3d 00 10 00 00       	cmp    $0x1000,%eax
4c9d37:	75 77                	jne    0x4c9db0
4c9d39:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c9d3c:	8b 00                	mov    (%eax),%eax
4c9d3e:	89 45 c7             	mov    %eax,-0x39(%ebp)
4c9d41:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c9d44:	8b 40 0c             	mov    0xc(%eax),%eax
4c9d47:	89 45 d3             	mov    %eax,-0x2d(%ebp)
4c9d4a:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c9d4d:	8b 40 08             	mov    0x8(%eax),%eax
4c9d50:	89 45 cf             	mov    %eax,-0x31(%ebp)
4c9d53:	80 7d ed 00          	cmpb   $0x0,-0x13(%ebp)
4c9d57:	75 25                	jne    0x4c9d7e
4c9d59:	6a 01                	push   $0x1
4c9d5b:	8b c6                	mov    %esi,%eax
4c9d5d:	e8 5e ef f5 ff       	call   0x428cc0
4c9d62:	8d 55 c7             	lea    -0x39(%ebp),%edx
4c9d65:	b9 05 00 00 80       	mov    $0x80000005,%ecx
4c9d6a:	e8 bd f0 fb ff       	call   0x488e2c
4c9d6f:	ba 05 00 00 80       	mov    $0x80000005,%edx
4c9d74:	8b 46 10             	mov    0x10(%esi),%eax
4c9d77:	e8 08 e2 f5 ff       	call   0x427f84
4c9d7c:	eb 16                	jmp    0x4c9d94
4c9d7e:	8b d3                	mov    %ebx,%edx
4c9d80:	b1 02                	mov    $0x2,%cl
4c9d82:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c9d85:	e8 16 f4 ff ff       	call   0x4c91a0
4c9d8a:	8b d0                	mov    %eax,%edx
4c9d8c:	8b 46 10             	mov    0x10(%esi),%eax
4c9d8f:	e8 f0 e1 f5 ff       	call   0x427f84
4c9d94:	8b 55 c7             	mov    -0x39(%ebp),%edx
4c9d97:	4a                   	dec    %edx
4c9d98:	8b 4d cb             	mov    -0x35(%ebp),%ecx
4c9d9b:	8b c6                	mov    %esi,%eax
4c9d9d:	e8 32 ea f5 ff       	call   0x4287d4
4c9da2:	8b 55 c7             	mov    -0x39(%ebp),%edx
4c9da5:	4a                   	dec    %edx
4c9da6:	8b 4d d3             	mov    -0x2d(%ebp),%ecx
4c9da9:	8b c6                	mov    %esi,%eax
4c9dab:	e8 c4 e9 f5 ff       	call   0x428774
4c9db0:	8b 7d c7             	mov    -0x39(%ebp),%edi
4c9db3:	03 7d cf             	add    -0x31(%ebp),%edi
4c9db6:	d1 ff                	sar    $1,%edi
4c9db8:	79 03                	jns    0x4c9dbd
4c9dba:	83 d7 00             	adc    $0x0,%edi
4c9dbd:	8b 45 cb             	mov    -0x35(%ebp),%eax
4c9dc0:	03 45 d3             	add    -0x2d(%ebp),%eax
4c9dc3:	d1 f8                	sar    $1,%eax
4c9dc5:	79 03                	jns    0x4c9dca
4c9dc7:	83 d0 00             	adc    $0x0,%eax
4c9dca:	89 45 e8             	mov    %eax,-0x18(%ebp)
4c9dcd:	8b d3                	mov    %ebx,%edx
4c9dcf:	b1 01                	mov    $0x1,%cl
4c9dd1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c9dd4:	e8 97 f4 ff ff       	call   0x4c9270
4c9dd9:	8b d0                	mov    %eax,%edx
4c9ddb:	8b 46 10             	mov    0x10(%esi),%eax
4c9dde:	e8 a1 e1 f5 ff       	call   0x427f84
4c9de3:	8b 46 10             	mov    0x10(%esi),%eax
4c9de6:	e8 91 e1 f5 ff       	call   0x427f7c
4c9deb:	8b d0                	mov    %eax,%edx
4c9ded:	8b 46 14             	mov    0x14(%esi),%eax
4c9df0:	e8 8f e4 f5 ff       	call   0x428284
4c9df5:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
4c9df8:	8b 55 e8             	mov    -0x18(%ebp),%edx
4c9dfb:	4a                   	dec    %edx
4c9dfc:	8b c7                	mov    %edi,%eax
4c9dfe:	83 e8 02             	sub    $0x2,%eax
4c9e01:	e8 46 08 f5 ff       	call   0x41a64c
4c9e06:	8b 45 a4             	mov    -0x5c(%ebp),%eax
4c9e09:	89 45 ac             	mov    %eax,-0x54(%ebp)
4c9e0c:	8b 45 a8             	mov    -0x58(%ebp),%eax
4c9e0f:	89 45 b0             	mov    %eax,-0x50(%ebp)
4c9e12:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
4c9e15:	8b 55 e8             	mov    -0x18(%ebp),%edx
4c9e18:	4a                   	dec    %edx
4c9e19:	8d 47 02             	lea    0x2(%edi),%eax
4c9e1c:	e8 2b 08 f5 ff       	call   0x41a64c
4c9e21:	8b 45 9c             	mov    -0x64(%ebp),%eax
4c9e24:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4c9e27:	8b 45 a0             	mov    -0x60(%ebp),%eax
4c9e2a:	89 45 b8             	mov    %eax,-0x48(%ebp)
4c9e2d:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
4c9e30:	8b 55 e8             	mov    -0x18(%ebp),%edx
4c9e33:	42                   	inc    %edx
4c9e34:	8b c7                	mov    %edi,%eax
4c9e36:	e8 11 08 f5 ff       	call   0x41a64c
4c9e3b:	8b 45 94             	mov    -0x6c(%ebp),%eax
4c9e3e:	89 45 bc             	mov    %eax,-0x44(%ebp)
4c9e41:	8b 45 98             	mov    -0x68(%ebp),%eax
4c9e44:	89 45 c0             	mov    %eax,-0x40(%ebp)
4c9e47:	8d 55 ac             	lea    -0x54(%ebp),%edx
4c9e4a:	b9 02 00 00 00       	mov    $0x2,%ecx
4c9e4f:	8b c6                	mov    %esi,%eax
4c9e51:	e8 aa e9 f5 ff       	call   0x428800
4c9e56:	8a 45 e7             	mov    -0x19(%ebp),%al
4c9e59:	88 43 09             	mov    %al,0x9(%ebx)
4c9e5c:	5f                   	pop    %edi
4c9e5d:	5e                   	pop    %esi
4c9e5e:	5b                   	pop    %ebx
4c9e5f:	8b e5                	mov    %ebp,%esp
4c9e61:	5d                   	pop    %ebp
4c9e62:	c2 08 00             	ret    $0x8
4c9e65:	8d 40 00             	lea    0x0(%eax),%eax
4c9e68:	55                   	push   %ebp
4c9e69:	8b ec                	mov    %esp,%ebp
4c9e6b:	83 c4 e8             	add    $0xffffffe8,%esp
4c9e6e:	53                   	push   %ebx
4c9e6f:	56                   	push   %esi
4c9e70:	57                   	push   %edi
4c9e71:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4c9e74:	89 55 fc             	mov    %edx,-0x4(%ebp)
4c9e77:	8b f0                	mov    %eax,%esi
4c9e79:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4c9e7c:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c9e7f:	56                   	push   %esi
4c9e80:	8b f0                	mov    %eax,%esi
4c9e82:	8d 7d e8             	lea    -0x18(%ebp),%edi
4c9e85:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c9e86:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c9e87:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c9e88:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c9e89:	5e                   	pop    %esi
4c9e8a:	53                   	push   %ebx
4c9e8b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4c9e8e:	8b 55 fc             	mov    -0x4(%ebp),%edx
4c9e91:	8b c6                	mov    %esi,%eax
4c9e93:	8b 38                	mov    (%eax),%edi
4c9e95:	ff 57 54             	call   *0x54(%edi)
4c9e98:	ba 3c 00 00 00       	mov    $0x3c,%edx
4c9e9d:	8b c6                	mov    %esi,%eax
4c9e9f:	8b 08                	mov    (%eax),%ecx
4c9ea1:	ff 91 80 00 00 00    	call   *0x80(%ecx)
4c9ea7:	8b f8                	mov    %eax,%edi
4c9ea9:	8b c7                	mov    %edi,%eax
4c9eab:	f7 d8                	neg    %eax
4c9ead:	50                   	push   %eax
4c9eae:	8b d7                	mov    %edi,%edx
4c9eb0:	f7 da                	neg    %edx
4c9eb2:	50                   	push   %eax
4c9eb3:	8d 45 e8             	lea    -0x18(%ebp),%eax
4c9eb6:	50                   	push   %eax
4c9eb7:	e8 cc dc f3 ff       	call   0x407b88
4c9ebc:	8b 03                	mov    (%ebx),%eax
4c9ebe:	8b d0                	mov    %eax,%edx
4c9ec0:	81 e2 00 10 00 00    	and    $0x1000,%edx
4c9ec6:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
4c9ecc:	75 0c                	jne    0x4c9eda
4c9ece:	25 00 02 00 00       	and    $0x200,%eax
4c9ed3:	3d 00 02 00 00       	cmp    $0x200,%eax
4c9ed8:	74 04                	je     0x4c9ede
4c9eda:	33 c0                	xor    %eax,%eax
4c9edc:	eb 02                	jmp    0x4c9ee0
4c9ede:	b0 01                	mov    $0x1,%al
4c9ee0:	0a 43 08             	or     0x8(%ebx),%al
4c9ee3:	75 18                	jne    0x4c9efd
4c9ee5:	6a 01                	push   $0x1
4c9ee7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c9eea:	e8 d1 ed f5 ff       	call   0x428cc0
4c9eef:	8d 55 e8             	lea    -0x18(%ebp),%edx
4c9ef2:	8b 8e 90 00 00 00    	mov    0x90(%esi),%ecx
4c9ef8:	e8 2f ef fb ff       	call   0x488e2c
4c9efd:	8b 45 08             	mov    0x8(%ebp),%eax
4c9f00:	8b 40 04             	mov    0x4(%eax),%eax
4c9f03:	85 c0                	test   %eax,%eax
4c9f05:	7e 08                	jle    0x4c9f0f
4c9f07:	8b 55 08             	mov    0x8(%ebp),%edx
4c9f0a:	2b c7                	sub    %edi,%eax
4c9f0c:	29 45 f0             	sub    %eax,-0x10(%ebp)
4c9f0f:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
4c9f13:	74 52                	je     0x4c9f67
4c9f15:	8b 03                	mov    (%ebx),%eax
4c9f17:	25 00 10 00 00       	and    $0x1000,%eax
4c9f1c:	3d 00 10 00 00       	cmp    $0x1000,%eax
4c9f21:	74 29                	je     0x4c9f4c
4c9f23:	8b d3                	mov    %ebx,%edx
4c9f25:	b1 02                	mov    $0x2,%cl
4c9f27:	8b c6                	mov    %esi,%eax
4c9f29:	e8 42 f3 ff ff       	call   0x4c9270
4c9f2e:	3d ff ff ff 1f       	cmp    $0x1fffffff,%eax
4c9f33:	75 17                	jne    0x4c9f4c
4c9f35:	6a 01                	push   $0x1
4c9f37:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c9f3a:	e8 81 ed f5 ff       	call   0x428cc0
4c9f3f:	8d 55 e8             	lea    -0x18(%ebp),%edx
4c9f42:	8b 4e 0c             	mov    0xc(%esi),%ecx
4c9f45:	e8 e2 ee fb ff       	call   0x488e2c
4c9f4a:	eb 1b                	jmp    0x4c9f67
4c9f4c:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c9f4f:	8b 40 14             	mov    0x14(%eax),%eax
4c9f52:	ba 05 00 00 80       	mov    $0x80000005,%edx
4c9f57:	e8 28 e3 f5 ff       	call   0x428284
4c9f5c:	8d 55 e8             	lea    -0x18(%ebp),%edx
4c9f5f:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c9f62:	e8 d1 e7 f5 ff       	call   0x428738
4c9f67:	6a ff                	push   $0xffffffff
4c9f69:	6a ff                	push   $0xffffffff
4c9f6b:	8d 45 e8             	lea    -0x18(%ebp),%eax
4c9f6e:	50                   	push   %eax
4c9f6f:	e8 14 dc f3 ff       	call   0x407b88
4c9f74:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
4c9f78:	74 73                	je     0x4c9fed
4c9f7a:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c9f7d:	8b 40 14             	mov    0x14(%eax),%eax
4c9f80:	ba 05 00 00 80       	mov    $0x80000005,%edx
4c9f85:	e8 fa e2 f5 ff       	call   0x428284
4c9f8a:	8d 55 e8             	lea    -0x18(%ebp),%edx
4c9f8d:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c9f90:	e8 67 e7 f5 ff       	call   0x4286fc
4c9f95:	8b 03                	mov    (%ebx),%eax
4c9f97:	25 00 10 00 00       	and    $0x1000,%eax
4c9f9c:	3d 00 10 00 00       	cmp    $0x1000,%eax
4c9fa1:	74 4a                	je     0x4c9fed
4c9fa3:	8b d3                	mov    %ebx,%edx
4c9fa5:	b1 02                	mov    $0x2,%cl
4c9fa7:	8b c6                	mov    %esi,%eax
4c9fa9:	e8 c2 f2 ff ff       	call   0x4c9270
4c9fae:	3d ff ff ff 1f       	cmp    $0x1fffffff,%eax
4c9fb3:	75 38                	jne    0x4c9fed
4c9fb5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c9fb8:	8b 40 14             	mov    0x14(%eax),%eax
4c9fbb:	ba 0f 00 00 80       	mov    $0x8000000f,%edx
4c9fc0:	e8 bf e2 f5 ff       	call   0x428284
4c9fc5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c9fc8:	56                   	push   %esi
4c9fc9:	57                   	push   %edi
4c9fca:	8b f0                	mov    %eax,%esi
4c9fcc:	8d 7d e8             	lea    -0x18(%ebp),%edi
4c9fcf:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c9fd0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c9fd1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c9fd2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c9fd3:	5f                   	pop    %edi
4c9fd4:	5e                   	pop    %esi
4c9fd5:	6a ff                	push   $0xffffffff
4c9fd7:	6a ff                	push   $0xffffffff
4c9fd9:	8d 45 e8             	lea    -0x18(%ebp),%eax
4c9fdc:	50                   	push   %eax
4c9fdd:	e8 a6 db f3 ff       	call   0x407b88
4c9fe2:	8d 55 e8             	lea    -0x18(%ebp),%edx
4c9fe5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c9fe8:	e8 4b e7 f5 ff       	call   0x428738
4c9fed:	8b 45 08             	mov    0x8(%ebp),%eax
4c9ff0:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
4c9ff4:	7e 42                	jle    0x4ca038
4c9ff6:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c9ff9:	56                   	push   %esi
4c9ffa:	57                   	push   %edi
4c9ffb:	8b f0                	mov    %eax,%esi
4c9ffd:	8d 7d e8             	lea    -0x18(%ebp),%edi
4ca000:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ca001:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ca002:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ca003:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ca004:	5f                   	pop    %edi
4ca005:	5e                   	pop    %esi
4ca006:	8b c7                	mov    %edi,%eax
4ca008:	f7 d8                	neg    %eax
4ca00a:	50                   	push   %eax
4ca00b:	f7 df                	neg    %edi
4ca00d:	50                   	push   %eax
4ca00e:	8d 45 e8             	lea    -0x18(%ebp),%eax
4ca011:	50                   	push   %eax
4ca012:	e8 71 db f3 ff       	call   0x407b88
4ca017:	8b 45 08             	mov    0x8(%ebp),%eax