4b1bcf:	e8 4a ff ff ff       	call   0x4b1b1e
4b1bd4:	8b 07                	mov    (%edi),%eax
4b1bd6:	59                   	pop    %ecx
4b1bd7:	f6 44 30 04 01       	testb  $0x1,0x4(%eax,%esi,1)
4b1bdc:	74 29                	je     0x4b1c07
4b1bde:	53                   	push   %ebx
4b1bdf:	e8 f8 fe ff ff       	call   0x4b1adc
4b1be4:	59                   	pop    %ecx
4b1be5:	50                   	push   %eax
4b1be6:	ff 15 d4 30 4b 00    	call   *0x4b30d4
4b1bec:	85 c0                	test   %eax,%eax
4b1bee:	75 0a                	jne    0x4b1bfa
4b1bf0:	ff 15 1c 31 4b 00    	call   *0x4b311c
4b1bf6:	8b f0                	mov    %eax,%esi
4b1bf8:	eb 02                	jmp    0x4b1bfc
4b1bfa:	33 f6                	xor    %esi,%esi
4b1bfc:	85 f6                	test   %esi,%esi
4b1bfe:	74 15                	je     0x4b1c15
4b1c00:	e8 72 d5 ff ff       	call   0x4af177
4b1c05:	89 30                	mov    %esi,(%eax)
4b1c07:	e8 62 d5 ff ff       	call   0x4af16e
4b1c0c:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4b1c12:	83 ce ff             	or     $0xffffffff,%esi
4b1c15:	53                   	push   %ebx
4b1c16:	e8 62 ff ff ff       	call   0x4b1b7d
4b1c1b:	59                   	pop    %ecx
4b1c1c:	8b c6                	mov    %esi,%eax
4b1c1e:	eb 0e                	jmp    0x4b1c2e
4b1c20:	e8 49 d5 ff ff       	call   0x4af16e
4b1c25:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4b1c2b:	83 c8 ff             	or     $0xffffffff,%eax
4b1c2e:	5f                   	pop    %edi
4b1c2f:	5e                   	pop    %esi
4b1c30:	5b                   	pop    %ebx
4b1c31:	c3                   	ret
4b1c32:	cc                   	int3
4b1c33:	cc                   	int3
4b1c34:	cc                   	int3
4b1c35:	cc                   	int3
4b1c36:	cc                   	int3
4b1c37:	cc                   	int3
4b1c38:	cc                   	int3
4b1c39:	cc                   	int3
4b1c3a:	cc                   	int3
4b1c3b:	cc                   	int3
4b1c3c:	cc                   	int3
4b1c3d:	cc                   	int3
4b1c3e:	cc                   	int3
4b1c3f:	cc                   	int3
4b1c40:	55                   	push   %ebp
4b1c41:	8b ec                	mov    %esp,%ebp
4b1c43:	56                   	push   %esi
4b1c44:	33 c0                	xor    %eax,%eax
4b1c46:	50                   	push   %eax
4b1c47:	50                   	push   %eax
4b1c48:	50                   	push   %eax
4b1c49:	50                   	push   %eax
4b1c4a:	50                   	push   %eax
4b1c4b:	50                   	push   %eax
4b1c4c:	50                   	push   %eax
4b1c4d:	50                   	push   %eax
4b1c4e:	8b 55 0c             	mov    0xc(%ebp),%edx
4b1c51:	8d 49 00             	lea    0x0(%ecx),%ecx
4b1c54:	8a 02                	mov    (%edx),%al
4b1c56:	0a c0                	or     %al,%al
4b1c58:	74 07                	je     0x4b1c61
4b1c5a:	42                   	inc    %edx
4b1c5b:	0f ab 04 24          	bts    %eax,(%esp)
4b1c5f:	eb f3                	jmp    0x4b1c54
4b1c61:	8b 75 08             	mov    0x8(%ebp),%esi
4b1c64:	83 c9 ff             	or     $0xffffffff,%ecx
4b1c67:	90                   	nop
4b1c68:	41                   	inc    %ecx
4b1c69:	8a 06                	mov    (%esi),%al
4b1c6b:	0a c0                	or     %al,%al
4b1c6d:	74 07                	je     0x4b1c76
4b1c6f:	46                   	inc    %esi
4b1c70:	0f a3 04 24          	bt     %eax,(%esp)
4b1c74:	73 f2                	jae    0x4b1c68
4b1c76:	8b c1                	mov    %ecx,%eax
4b1c78:	83 c4 20             	add    $0x20,%esp
4b1c7b:	5e                   	pop    %esi
4b1c7c:	c9                   	leave
4b1c7d:	c3                   	ret
4b1c7e:	cc                   	int3
4b1c7f:	cc                   	int3
4b1c80:	55                   	push   %ebp
4b1c81:	8b ec                	mov    %esp,%ebp
4b1c83:	56                   	push   %esi
4b1c84:	33 c0                	xor    %eax,%eax
4b1c86:	50                   	push   %eax
4b1c87:	50                   	push   %eax
4b1c88:	50                   	push   %eax
4b1c89:	50                   	push   %eax
4b1c8a:	50                   	push   %eax
4b1c8b:	50                   	push   %eax
4b1c8c:	50                   	push   %eax
4b1c8d:	50                   	push   %eax
4b1c8e:	8b 55 0c             	mov    0xc(%ebp),%edx
4b1c91:	8d 49 00             	lea    0x0(%ecx),%ecx
4b1c94:	8a 02                	mov    (%edx),%al
4b1c96:	0a c0                	or     %al,%al
4b1c98:	74 07                	je     0x4b1ca1
4b1c9a:	42                   	inc    %edx
4b1c9b:	0f ab 04 24          	bts    %eax,(%esp)
4b1c9f:	eb f3                	jmp    0x4b1c94
4b1ca1:	8b 75 08             	mov    0x8(%ebp),%esi
4b1ca4:	8a 06                	mov    (%esi),%al
4b1ca6:	0a c0                	or     %al,%al
4b1ca8:	74 0a                	je     0x4b1cb4
4b1caa:	46                   	inc    %esi
4b1cab:	0f a3 04 24          	bt     %eax,(%esp)
4b1caf:	73 f3                	jae    0x4b1ca4
4b1cb1:	8d 46 ff             	lea    -0x1(%esi),%eax
4b1cb4:	83 c4 20             	add    $0x20,%esp
4b1cb7:	5e                   	pop    %esi
4b1cb8:	c9                   	leave
4b1cb9:	c3                   	ret
4b1cba:	55                   	push   %ebp
4b1cbb:	8b ec                	mov    %esp,%ebp
4b1cbd:	83 ec 0c             	sub    $0xc,%esp
4b1cc0:	8b 45 08             	mov    0x8(%ebp),%eax
4b1cc3:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4b1cc7:	48                   	dec    %eax
4b1cc8:	53                   	push   %ebx
4b1cc9:	56                   	push   %esi
4b1cca:	48                   	dec    %eax
4b1ccb:	57                   	push   %edi
4b1ccc:	74 67                	je     0x4b1d35
4b1cce:	48                   	dec    %eax
4b1ccf:	48                   	dec    %eax
4b1cd0:	74 46                	je     0x4b1d18
4b1cd2:	83 e8 04             	sub    $0x4,%eax
4b1cd5:	74 41                	je     0x4b1d18
4b1cd7:	83 e8 03             	sub    $0x3,%eax
4b1cda:	74 3c                	je     0x4b1d18
4b1cdc:	83 e8 04             	sub    $0x4,%eax
4b1cdf:	74 2a                	je     0x4b1d0b
4b1ce1:	83 e8 06             	sub    $0x6,%eax
4b1ce4:	74 18                	je     0x4b1cfe
4b1ce6:	48                   	dec    %eax
4b1ce7:	74 08                	je     0x4b1cf1
4b1ce9:	83 c8 ff             	or     $0xffffffff,%eax
4b1cec:	e9 46 01 00 00       	jmp    0x4b1e37
4b1cf1:	8b 1d 0c cc 51 00    	mov    0x51cc0c,%ebx
4b1cf7:	bf 0c cc 51 00       	mov    $0x51cc0c,%edi
4b1cfc:	eb 42                	jmp    0x4b1d40
4b1cfe:	8b 1d 08 cc 51 00    	mov    0x51cc08,%ebx
4b1d04:	bf 08 cc 51 00       	mov    $0x51cc08,%edi
4b1d09:	eb 35                	jmp    0x4b1d40
4b1d0b:	8b 1d 10 cc 51 00    	mov    0x51cc10,%ebx
4b1d11:	bf 10 cc 51 00       	mov    $0x51cc10,%edi
4b1d16:	eb 28                	jmp    0x4b1d40
4b1d18:	e8 86 84 ff ff       	call   0x4aa1a3
4b1d1d:	8b f0                	mov    %eax,%esi
4b1d1f:	ff 76 50             	push   0x50(%esi)
4b1d22:	ff 75 08             	push   0x8(%ebp)
4b1d25:	e8 12 01 00 00       	call   0x4b1e3c
4b1d2a:	8b f8                	mov    %eax,%edi
4b1d2c:	59                   	pop    %ecx
4b1d2d:	83 c7 08             	add    $0x8,%edi
4b1d30:	59                   	pop    %ecx
4b1d31:	8b 1f                	mov    (%edi),%ebx
4b1d33:	eb 1d                	jmp    0x4b1d52
4b1d35:	8b 1d 04 cc 51 00    	mov    0x51cc04,%ebx
4b1d3b:	bf 04 cc 51 00       	mov    $0x51cc04,%edi
4b1d40:	6a 01                	push   $0x1
4b1d42:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
4b1d49:	e8 f0 b9 ff ff       	call   0x4ad73e
4b1d4e:	8b 75 08             	mov    0x8(%ebp),%esi
4b1d51:	59                   	pop    %ecx
4b1d52:	83 fb 01             	cmp    $0x1,%ebx
4b1d55:	75 16                	jne    0x4b1d6d
4b1d57:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4b1d5b:	0f 84 d4 00 00 00    	je     0x4b1e35
4b1d61:	53                   	push   %ebx
4b1d62:	e8 38 ba ff ff       	call   0x4ad79f
4b1d67:	59                   	pop    %ecx
4b1d68:	e9 c8 00 00 00       	jmp    0x4b1e35
4b1d6d:	33 c9                	xor    %ecx,%ecx
4b1d6f:	3b d9                	cmp    %ecx,%ebx
4b1d71:	75 14                	jne    0x4b1d87
4b1d73:	39 4d fc             	cmp    %ecx,-0x4(%ebp)
4b1d76:	74 08                	je     0x4b1d80
4b1d78:	6a 01                	push   $0x1
4b1d7a:	e8 20 ba ff ff       	call   0x4ad79f
4b1d7f:	59                   	pop    %ecx
4b1d80:	6a 03                	push   $0x3
4b1d82:	e8 0f 7b ff ff       	call   0x4a9896
4b1d87:	8b 45 08             	mov    0x8(%ebp),%eax
4b1d8a:	83 f8 08             	cmp    $0x8,%eax
4b1d8d:	74 0a                	je     0x4b1d99
4b1d8f:	83 f8 0b             	cmp    $0xb,%eax
4b1d92:	74 05                	je     0x4b1d99
4b1d94:	83 f8 04             	cmp    $0x4,%eax
4b1d97:	75 1b                	jne    0x4b1db4
4b1d99:	8b 56 54             	mov    0x54(%esi),%edx
4b1d9c:	83 f8 08             	cmp    $0x8,%eax
4b1d9f:	89 55 f8             	mov    %edx,-0x8(%ebp)
4b1da2:	89 4e 54             	mov    %ecx,0x54(%esi)
4b1da5:	75 49                	jne    0x4b1df0
4b1da7:	8b 56 58             	mov    0x58(%esi),%edx
4b1daa:	c7 46 58 8c 00 00 00 	movl   $0x8c,0x58(%esi)
4b1db1:	89 55 f4             	mov    %edx,-0xc(%ebp)
4b1db4:	83 f8 08             	cmp    $0x8,%eax
4b1db7:	75 37                	jne    0x4b1df0
4b1db9:	8b 0d d8 a2 50 00    	mov    0x50a2d8,%ecx
4b1dbf:	a1 dc a2 50 00       	mov    0x50a2dc,%eax
4b1dc4:	03 c1                	add    %ecx,%eax
4b1dc6:	3b c8                	cmp    %eax,%ecx
4b1dc8:	7d 28                	jge    0x4b1df2
4b1dca:	8d 04 49             	lea    (%ecx,%ecx,2),%eax
4b1dcd:	c1 e0 02             	shl    $0x2,%eax
4b1dd0:	8b 56 50             	mov    0x50(%esi),%edx
4b1dd3:	83 c0 0c             	add    $0xc,%eax
4b1dd6:	83 64 02 fc 00       	andl   $0x0,-0x4(%edx,%eax,1)
4b1ddb:	8b 15 d8 a2 50 00    	mov    0x50a2d8,%edx
4b1de1:	8b 3d dc a2 50 00    	mov    0x50a2dc,%edi
4b1de7:	41                   	inc    %ecx
4b1de8:	03 fa                	add    %edx,%edi
4b1dea:	3b cf                	cmp    %edi,%ecx
4b1dec:	7c e2                	jl     0x4b1dd0
4b1dee:	eb 02                	jmp    0x4b1df2
4b1df0:	89 0f                	mov    %ecx,(%edi)
4b1df2:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4b1df6:	74 08                	je     0x4b1e00
4b1df8:	6a 01                	push   $0x1
4b1dfa:	e8 a0 b9 ff ff       	call   0x4ad79f
4b1dff:	59                   	pop    %ecx
4b1e00:	83 7d 08 08          	cmpl   $0x8,0x8(%ebp)
4b1e04:	75 0b                	jne    0x4b1e11
4b1e06:	ff 76 58             	push   0x58(%esi)
4b1e09:	6a 08                	push   $0x8
4b1e0b:	ff d3                	call   *%ebx
4b1e0d:	59                   	pop    %ecx
4b1e0e:	59                   	pop    %ecx
4b1e0f:	eb 12                	jmp    0x4b1e23
4b1e11:	ff 75 08             	push   0x8(%ebp)
4b1e14:	ff d3                	call   *%ebx
4b1e16:	83 7d 08 0b          	cmpl   $0xb,0x8(%ebp)
4b1e1a:	59                   	pop    %ecx
4b1e1b:	74 06                	je     0x4b1e23
4b1e1d:	83 7d 08 04          	cmpl   $0x4,0x8(%ebp)
4b1e21:	75 12                	jne    0x4b1e35
4b1e23:	8b 45 f8             	mov    -0x8(%ebp),%eax
4b1e26:	83 7d 08 08          	cmpl   $0x8,0x8(%ebp)
4b1e2a:	89 46 54             	mov    %eax,0x54(%esi)
4b1e2d:	75 06                	jne    0x4b1e35
4b1e2f:	8b 45 f4             	mov    -0xc(%ebp),%eax
4b1e32:	89 46 58             	mov    %eax,0x58(%esi)
4b1e35:	33 c0                	xor    %eax,%eax
4b1e37:	5f                   	pop    %edi
4b1e38:	5e                   	pop    %esi
4b1e39:	5b                   	pop    %ebx
4b1e3a:	c9                   	leave
4b1e3b:	c3                   	ret
4b1e3c:	8b 54 24 08          	mov    0x8(%esp),%edx
4b1e40:	8b 0d e4 a2 50 00    	mov    0x50a2e4,%ecx
4b1e46:	56                   	push   %esi
4b1e47:	8b 74 24 08          	mov    0x8(%esp),%esi
4b1e4b:	39 72 04             	cmp    %esi,0x4(%edx)
4b1e4e:	57                   	push   %edi
4b1e4f:	8b c2                	mov    %edx,%eax
4b1e51:	74 12                	je     0x4b1e65
4b1e53:	8d 3c 49             	lea    (%ecx,%ecx,2),%edi
4b1e56:	8d 3c ba             	lea    (%edx,%edi,4),%edi
4b1e59:	83 c0 0c             	add    $0xc,%eax
4b1e5c:	3b c7                	cmp    %edi,%eax
4b1e5e:	73 05                	jae    0x4b1e65
4b1e60:	39 70 04             	cmp    %esi,0x4(%eax)
4b1e63:	75 f4                	jne    0x4b1e59
4b1e65:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
4b1e68:	8d 0c 8a             	lea    (%edx,%ecx,4),%ecx
4b1e6b:	3b c1                	cmp    %ecx,%eax
4b1e6d:	73 05                	jae    0x4b1e74
4b1e6f:	39 70 04             	cmp    %esi,0x4(%eax)
4b1e72:	74 02                	je     0x4b1e76
4b1e74:	33 c0                	xor    %eax,%eax
4b1e76:	5f                   	pop    %edi
4b1e77:	5e                   	pop    %esi
4b1e78:	c3                   	ret
4b1e79:	8b 54 24 04          	mov    0x4(%esp),%edx
4b1e7d:	56                   	push   %esi
4b1e7e:	8b 74 24 0c          	mov    0xc(%esp),%esi
4b1e82:	33 c0                	xor    %eax,%eax
4b1e84:	8d 0c 32             	lea    (%edx,%esi,1),%ecx
4b1e87:	3b ca                	cmp    %edx,%ecx
4b1e89:	72 04                	jb     0x4b1e8f
4b1e8b:	3b ce                	cmp    %esi,%ecx
4b1e8d:	73 03                	jae    0x4b1e92
4b1e8f:	6a 01                	push   $0x1
4b1e91:	58                   	pop    %eax
4b1e92:	8b 54 24 10          	mov    0x10(%esp),%edx
4b1e96:	5e                   	pop    %esi
4b1e97:	89 0a                	mov    %ecx,(%edx)
4b1e99:	c3                   	ret
4b1e9a:	56                   	push   %esi
4b1e9b:	8b 74 24 08          	mov    0x8(%esp),%esi
4b1e9f:	57                   	push   %edi
4b1ea0:	8b 7c 24 10          	mov    0x10(%esp),%edi
4b1ea4:	56                   	push   %esi
4b1ea5:	ff 37                	push   (%edi)
4b1ea7:	ff 36                	push   (%esi)
4b1ea9:	e8 cb ff ff ff       	call   0x4b1e79
4b1eae:	83 c4 0c             	add    $0xc,%esp
4b1eb1:	85 c0                	test   %eax,%eax
4b1eb3:	74 17                	je     0x4b1ecc
4b1eb5:	8d 46 04             	lea    0x4(%esi),%eax
4b1eb8:	50                   	push   %eax
4b1eb9:	6a 01                	push   $0x1
4b1ebb:	ff 30                	push   (%eax)
4b1ebd:	e8 b7 ff ff ff       	call   0x4b1e79
4b1ec2:	83 c4 0c             	add    $0xc,%esp
4b1ec5:	85 c0                	test   %eax,%eax
4b1ec7:	74 03                	je     0x4b1ecc
4b1ec9:	ff 46 08             	incl   0x8(%esi)
4b1ecc:	8d 46 04             	lea    0x4(%esi),%eax
4b1ecf:	50                   	push   %eax
4b1ed0:	ff 77 04             	push   0x4(%edi)
4b1ed3:	ff 30                	push   (%eax)
4b1ed5:	e8 9f ff ff ff       	call   0x4b1e79
4b1eda:	83 c4 0c             	add    $0xc,%esp
4b1edd:	85 c0                	test   %eax,%eax
4b1edf:	74 03                	je     0x4b1ee4
4b1ee1:	ff 46 08             	incl   0x8(%esi)
4b1ee4:	8d 46 08             	lea    0x8(%esi),%eax
4b1ee7:	50                   	push   %eax
4b1ee8:	ff 77 08             	push   0x8(%edi)
4b1eeb:	ff 30                	push   (%eax)
4b1eed:	e8 87 ff ff ff       	call   0x4b1e79
4b1ef2:	83 c4 0c             	add    $0xc,%esp
4b1ef5:	5f                   	pop    %edi
4b1ef6:	5e                   	pop    %esi
4b1ef7:	c3                   	ret
4b1ef8:	8b 44 24 04          	mov    0x4(%esp),%eax
4b1efc:	56                   	push   %esi
4b1efd:	57                   	push   %edi
4b1efe:	8b 30                	mov    (%eax),%esi
4b1f00:	8b 78 04             	mov    0x4(%eax),%edi
4b1f03:	8b ce                	mov    %esi,%ecx
4b1f05:	03 f6                	add    %esi,%esi
4b1f07:	89 30                	mov    %esi,(%eax)
4b1f09:	8d 34 3f             	lea    (%edi,%edi,1),%esi
4b1f0c:	c1 e9 1f             	shr    $0x1f,%ecx
4b1f0f:	0b f1                	or     %ecx,%esi
4b1f11:	8b 48 08             	mov    0x8(%eax),%ecx
4b1f14:	8b d7                	mov    %edi,%edx
4b1f16:	89 70 04             	mov    %esi,0x4(%eax)
4b1f19:	c1 ea 1f             	shr    $0x1f,%edx
4b1f1c:	d1 e1                	shl    $1,%ecx