4c899f:	83 c9 01             	or     $0x1,%ecx
4c89a2:	0f bd c9             	bsr    %ecx,%ecx
4c89a5:	8d 04 cd 49 00 00 00 	lea    0x49(,%ecx,8),%eax
4c89ac:	03 c1                	add    %ecx,%eax
4c89ae:	c1 e8 06             	shr    $0x6,%eax
4c89b1:	03 c2                	add    %edx,%eax
4c89b3:	5d                   	pop    %ebp
4c89b4:	c3                   	ret
4c89b5:	cc                   	int3
4c89b6:	cc                   	int3
4c89b7:	cc                   	int3
4c89b8:	cc                   	int3
4c89b9:	cc                   	int3
4c89ba:	cc                   	int3
4c89bb:	cc                   	int3
4c89bc:	cc                   	int3
4c89bd:	cc                   	int3
4c89be:	cc                   	int3
4c89bf:	cc                   	int3
4c89c0:	55                   	push   %ebp
4c89c1:	8b ec                	mov    %esp,%ebp
4c89c3:	51                   	push   %ecx
4c89c4:	8b 4d 08             	mov    0x8(%ebp),%ecx
4c89c7:	53                   	push   %ebx
4c89c8:	56                   	push   %esi
4c89c9:	83 c1 08             	add    $0x8,%ecx
4c89cc:	e8 df ec fd ff       	call   0x4a76b0
4c89d1:	8b 55 08             	mov    0x8(%ebp),%edx
4c89d4:	8b 4a 20             	mov    0x20(%edx),%ecx
4c89d7:	8d 1c 48             	lea    (%eax,%ecx,2),%ebx
4c89da:	8b 42 28             	mov    0x28(%edx),%eax
4c89dd:	85 c0                	test   %eax,%eax
4c89df:	74 0a                	je     0x4c89eb
4c89e1:	83 c0 04             	add    $0x4,%eax
4c89e4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4c89e7:	8b f0                	mov    %eax,%esi
4c89e9:	eb 0b                	jmp    0x4c89f6
4c89eb:	33 f6                	xor    %esi,%esi
4c89ed:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4c89f4:	33 c0                	xor    %eax,%eax
4c89f6:	57                   	push   %edi
4c89f7:	8d 3c 88             	lea    (%eax,%ecx,4),%edi
4c89fa:	39 7d fc             	cmp    %edi,-0x4(%ebp)
4c89fd:	74 2a                	je     0x4c8a29
4c89ff:	90                   	nop
4c8a00:	8b 0e                	mov    (%esi),%ecx
4c8a02:	e8 99 88 ff ff       	call   0x4c12a0
4c8a07:	8b c8                	mov    %eax,%ecx
4c8a09:	83 c6 04             	add    $0x4,%esi
4c8a0c:	83 c9 01             	or     $0x1,%ecx
4c8a0f:	0f bd c9             	bsr    %ecx,%ecx
4c8a12:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4c8a15:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
4c8a18:	83 c1 49             	add    $0x49,%ecx
4c8a1b:	c1 e9 06             	shr    $0x6,%ecx
4c8a1e:	03 c8                	add    %eax,%ecx
4c8a20:	03 d9                	add    %ecx,%ebx
4c8a22:	3b f7                	cmp    %edi,%esi
4c8a24:	75 da                	jne    0x4c8a00
4c8a26:	8b 55 08             	mov    0x8(%ebp),%edx
4c8a29:	8b 4a 14             	mov    0x14(%edx),%ecx
4c8a2c:	5f                   	pop    %edi
4c8a2d:	f6 c1 0f             	test   $0xf,%cl
4c8a30:	74 24                	je     0x4c8a56
4c8a32:	f6 c1 01             	test   $0x1,%cl
4c8a35:	8d 43 02             	lea    0x2(%ebx),%eax
4c8a38:	0f 44 c3             	cmove  %ebx,%eax
4c8a3b:	f6 c1 02             	test   $0x2,%cl
4c8a3e:	8d 48 02             	lea    0x2(%eax),%ecx
4c8a41:	0f 44 c8             	cmove  %eax,%ecx
4c8a44:	8b 42 14             	mov    0x14(%edx),%eax
4c8a47:	a8 04                	test   $0x4,%al
4c8a49:	8d 59 02             	lea    0x2(%ecx),%ebx
4c8a4c:	0f 44 d9             	cmove  %ecx,%ebx
4c8a4f:	a8 08                	test   $0x8,%al
4c8a51:	74 03                	je     0x4c8a56
4c8a53:	83 c3 02             	add    $0x2,%ebx
4c8a56:	8d 42 04             	lea    0x4(%edx),%eax
4c8a59:	83 c2 18             	add    $0x18,%edx
4c8a5c:	f6 00 01             	testb  $0x1,(%eax)
4c8a5f:	74 0f                	je     0x4c8a70
4c8a61:	52                   	push   %edx
4c8a62:	53                   	push   %ebx
4c8a63:	50                   	push   %eax
4c8a64:	e8 47 6a fa ff       	call   0x46f4b0
4c8a69:	83 c4 0c             	add    $0xc,%esp
4c8a6c:	8b d8                	mov    %eax,%ebx
4c8a6e:	eb 02                	jmp    0x4c8a72
4c8a70:	89 1a                	mov    %ebx,(%edx)
4c8a72:	8b c3                	mov    %ebx,%eax
4c8a74:	83 c8 01             	or     $0x1,%eax
4c8a77:	0f bd c0             	bsr    %eax,%eax
4c8a7a:	5e                   	pop    %esi
4c8a7b:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4c8a7e:	83 c0 49             	add    $0x49,%eax
4c8a81:	c1 e8 06             	shr    $0x6,%eax
4c8a84:	03 c3                	add    %ebx,%eax
4c8a86:	5b                   	pop    %ebx
4c8a87:	8b e5                	mov    %ebp,%esp
4c8a89:	5d                   	pop    %ebp
4c8a8a:	c3                   	ret
4c8a8b:	cc                   	int3
4c8a8c:	cc                   	int3
4c8a8d:	cc                   	int3
4c8a8e:	cc                   	int3
4c8a8f:	cc                   	int3
4c8a90:	55                   	push   %ebp
4c8a91:	8b ec                	mov    %esp,%ebp
4c8a93:	51                   	push   %ecx
4c8a94:	8b 4d 08             	mov    0x8(%ebp),%ecx
4c8a97:	53                   	push   %ebx
4c8a98:	56                   	push   %esi
4c8a99:	83 c1 08             	add    $0x8,%ecx
4c8a9c:	e8 0f ec fd ff       	call   0x4a76b0
4c8aa1:	8b 4d 08             	mov    0x8(%ebp),%ecx
4c8aa4:	8b 51 20             	mov    0x20(%ecx),%edx
4c8aa7:	8d 1c 50             	lea    (%eax,%edx,2),%ebx
4c8aaa:	8b 41 28             	mov    0x28(%ecx),%eax
4c8aad:	85 c0                	test   %eax,%eax
4c8aaf:	74 0a                	je     0x4c8abb
4c8ab1:	83 c0 04             	add    $0x4,%eax
4c8ab4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4c8ab7:	8b f0                	mov    %eax,%esi
4c8ab9:	eb 0b                	jmp    0x4c8ac6
4c8abb:	33 f6                	xor    %esi,%esi
4c8abd:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4c8ac4:	33 c0                	xor    %eax,%eax
4c8ac6:	57                   	push   %edi
4c8ac7:	8d 3c 90             	lea    (%eax,%edx,4),%edi
4c8aca:	39 7d fc             	cmp    %edi,-0x4(%ebp)
4c8acd:	74 2a                	je     0x4c8af9
4c8acf:	90                   	nop
4c8ad0:	8b 0e                	mov    (%esi),%ecx
4c8ad2:	e8 c9 87 ff ff       	call   0x4c12a0
4c8ad7:	8b c8                	mov    %eax,%ecx
4c8ad9:	83 c6 04             	add    $0x4,%esi
4c8adc:	83 c9 01             	or     $0x1,%ecx
4c8adf:	0f bd c9             	bsr    %ecx,%ecx
4c8ae2:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4c8ae5:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
4c8ae8:	83 c1 49             	add    $0x49,%ecx
4c8aeb:	c1 e9 06             	shr    $0x6,%ecx
4c8aee:	03 c8                	add    %eax,%ecx
4c8af0:	03 d9                	add    %ecx,%ebx
4c8af2:	3b f7                	cmp    %edi,%esi
4c8af4:	75 da                	jne    0x4c8ad0
4c8af6:	8b 4d 08             	mov    0x8(%ebp),%ecx
4c8af9:	8b 51 14             	mov    0x14(%ecx),%edx
4c8afc:	5f                   	pop    %edi
4c8afd:	f6 c2 03             	test   $0x3,%dl
4c8b00:	74 35                	je     0x4c8b37
4c8b02:	f6 c2 01             	test   $0x1,%dl
4c8b05:	8d 43 03             	lea    0x3(%ebx),%eax
4c8b08:	0f 44 c3             	cmove  %ebx,%eax
4c8b0b:	8b d8                	mov    %eax,%ebx
4c8b0d:	f6 c2 02             	test   $0x2,%dl
4c8b10:	74 25                	je     0x4c8b37
4c8b12:	8b 41 30             	mov    0x30(%ecx),%eax
4c8b15:	85 c0                	test   %eax,%eax
4c8b17:	79 07                	jns    0x4c8b20
4c8b19:	b8 0a 00 00 00       	mov    $0xa,%eax
4c8b1e:	eb 12                	jmp    0x4c8b32
4c8b20:	83 c8 01             	or     $0x1,%eax
4c8b23:	0f bd c0             	bsr    %eax,%eax
4c8b26:	89 45 08             	mov    %eax,0x8(%ebp)
4c8b29:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4c8b2c:	83 c0 49             	add    $0x49,%eax
4c8b2f:	c1 e8 06             	shr    $0x6,%eax
4c8b32:	83 c3 02             	add    $0x2,%ebx
4c8b35:	03 d8                	add    %eax,%ebx
4c8b37:	8d 41 04             	lea    0x4(%ecx),%eax
4c8b3a:	83 c1 18             	add    $0x18,%ecx
4c8b3d:	f6 00 01             	testb  $0x1,(%eax)
4c8b40:	74 0f                	je     0x4c8b51
4c8b42:	51                   	push   %ecx
4c8b43:	53                   	push   %ebx
4c8b44:	50                   	push   %eax
4c8b45:	e8 66 69 fa ff       	call   0x46f4b0
4c8b4a:	83 c4 0c             	add    $0xc,%esp
4c8b4d:	8b d8                	mov    %eax,%ebx
4c8b4f:	eb 02                	jmp    0x4c8b53
4c8b51:	89 19                	mov    %ebx,(%ecx)
4c8b53:	8b c3                	mov    %ebx,%eax
4c8b55:	83 c8 01             	or     $0x1,%eax
4c8b58:	0f bd c0             	bsr    %eax,%eax
4c8b5b:	5e                   	pop    %esi
4c8b5c:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4c8b5f:	83 c0 49             	add    $0x49,%eax
4c8b62:	c1 e8 06             	shr    $0x6,%eax
4c8b65:	03 c3                	add    %ebx,%eax
4c8b67:	5b                   	pop    %ebx
4c8b68:	8b e5                	mov    %ebp,%esp
4c8b6a:	5d                   	pop    %ebp
4c8b6b:	c3                   	ret
4c8b6c:	cc                   	int3
4c8b6d:	cc                   	int3
4c8b6e:	cc                   	int3
4c8b6f:	cc                   	int3
4c8b70:	55                   	push   %ebp
4c8b71:	8b ec                	mov    %esp,%ebp
4c8b73:	83 ec 10             	sub    $0x10,%esp
4c8b76:	8b 55 0c             	mov    0xc(%ebp),%edx
4c8b79:	8b 45 08             	mov    0x8(%ebp),%eax
4c8b7c:	53                   	push   %ebx
4c8b7d:	56                   	push   %esi
4c8b7e:	57                   	push   %edi
4c8b7f:	0f b6 3a             	movzbl (%edx),%edi
4c8b82:	8b f1                	mov    %ecx,%esi
4c8b84:	89 45 fc             	mov    %eax,-0x4(%ebp)
4c8b87:	81 ff 80 00 00 00    	cmp    $0x80,%edi
4c8b8d:	73 03                	jae    0x4c8b92
4c8b8f:	42                   	inc    %edx
4c8b90:	eb 14                	jmp    0x4c8ba6
4c8b92:	57                   	push   %edi
4c8b93:	52                   	push   %edx
4c8b94:	8d 45 f0             	lea    -0x10(%ebp),%eax
4c8b97:	50                   	push   %eax
4c8b98:	e8 d3 6c f9 ff       	call   0x45f870
4c8b9d:	8b 55 f0             	mov    -0x10(%ebp),%edx
4c8ba0:	83 c4 0c             	add    $0xc,%esp
4c8ba3:	8b 7d f4             	mov    -0xc(%ebp),%edi
4c8ba6:	85 d2                	test   %edx,%edx
4c8ba8:	74 61                	je     0x4c8c0b
4c8baa:	33 c0                	xor    %eax,%eax
4c8bac:	8b da                	mov    %edx,%ebx
4c8bae:	2b 5e 04             	sub    0x4(%esi),%ebx
4c8bb1:	03 df                	add    %edi,%ebx
4c8bb3:	8d 7e 10             	lea    0x10(%esi),%edi
4c8bb6:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4c8bb9:	0f 48 c3             	cmovs  %ebx,%eax
4c8bbc:	8b 1f                	mov    (%edi),%ebx
4c8bbe:	03 46 04             	add    0x4(%esi),%eax
4c8bc1:	83 46 44 ff          	addl   $0xffffffff,0x44(%esi)
4c8bc5:	89 06                	mov    %eax,(%esi)
4c8bc7:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c8bca:	89 07                	mov    %eax,(%edi)
4c8bcc:	78 3d                	js     0x4c8c0b
4c8bce:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4c8bd1:	56                   	push   %esi
4c8bd2:	52                   	push   %edx
4c8bd3:	e8 d8 d1 ff ff       	call   0x4c5db0
4c8bd8:	8b c8                	mov    %eax,%ecx
4c8bda:	85 c9                	test   %ecx,%ecx
4c8bdc:	74 2d                	je     0x4c8c0b
4c8bde:	ff 46 44             	incl   0x44(%esi)
4c8be1:	83 7e 3c 00          	cmpl   $0x0,0x3c(%esi)
4c8be5:	75 24                	jne    0x4c8c0b
4c8be7:	2b 5d f8             	sub    -0x8(%ebp),%ebx
4c8bea:	8d 45 fc             	lea    -0x4(%ebp),%eax
4c8bed:	01 1f                	add    %ebx,(%edi)
4c8bef:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4c8bf6:	0f 48 c7             	cmovs  %edi,%eax
4c8bf9:	5f                   	pop    %edi
4c8bfa:	8b 00                	mov    (%eax),%eax
4c8bfc:	03 46 04             	add    0x4(%esi),%eax
4c8bff:	89 06                	mov    %eax,(%esi)
4c8c01:	8b c1                	mov    %ecx,%eax
4c8c03:	5e                   	pop    %esi
4c8c04:	5b                   	pop    %ebx
4c8c05:	8b e5                	mov    %ebp,%esp
4c8c07:	5d                   	pop    %ebp
4c8c08:	c2 08 00             	ret    $0x8
4c8c0b:	5f                   	pop    %edi
4c8c0c:	5e                   	pop    %esi
4c8c0d:	33 c0                	xor    %eax,%eax
4c8c0f:	5b                   	pop    %ebx
4c8c10:	8b e5                	mov    %ebp,%esp
4c8c12:	5d                   	pop    %ebp
4c8c13:	c2 08 00             	ret    $0x8
4c8c16:	cc                   	int3
4c8c17:	cc                   	int3
4c8c18:	cc                   	int3
4c8c19:	cc                   	int3
4c8c1a:	cc                   	int3
4c8c1b:	cc                   	int3
4c8c1c:	cc                   	int3
4c8c1d:	cc                   	int3
4c8c1e:	cc                   	int3
4c8c1f:	cc                   	int3
4c8c20:	55                   	push   %ebp
4c8c21:	8b ec                	mov    %esp,%ebp
4c8c23:	83 ec 10             	sub    $0x10,%esp
4c8c26:	8b 55 0c             	mov    0xc(%ebp),%edx
4c8c29:	8b 45 08             	mov    0x8(%ebp),%eax
4c8c2c:	53                   	push   %ebx
4c8c2d:	56                   	push   %esi
4c8c2e:	57                   	push   %edi
4c8c2f:	0f b6 3a             	movzbl (%edx),%edi
4c8c32:	8b f1                	mov    %ecx,%esi
4c8c34:	89 45 fc             	mov    %eax,-0x4(%ebp)
4c8c37:	81 ff 80 00 00 00    	cmp    $0x80,%edi
4c8c3d:	73 03                	jae    0x4c8c42
4c8c3f:	42                   	inc    %edx
4c8c40:	eb 14                	jmp    0x4c8c56
4c8c42:	57                   	push   %edi
4c8c43:	52                   	push   %edx
4c8c44:	8d 45 f0             	lea    -0x10(%ebp),%eax
4c8c47:	50                   	push   %eax
4c8c48:	e8 23 6c f9 ff       	call   0x45f870
4c8c4d:	8b 55 f0             	mov    -0x10(%ebp),%edx
4c8c50:	83 c4 0c             	add    $0xc,%esp
4c8c53:	8b 7d f4             	mov    -0xc(%ebp),%edi
4c8c56:	85 d2                	test   %edx,%edx
4c8c58:	74 61                	je     0x4c8cbb
4c8c5a:	33 c0                	xor    %eax,%eax
4c8c5c:	8b da                	mov    %edx,%ebx
4c8c5e:	2b 5e 04             	sub    0x4(%esi),%ebx
4c8c61:	03 df                	add    %edi,%ebx
4c8c63:	8d 7e 10             	lea    0x10(%esi),%edi
4c8c66:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4c8c69:	0f 48 c3             	cmovs  %ebx,%eax
4c8c6c:	8b 1f                	mov    (%edi),%ebx
4c8c6e:	03 46 04             	add    0x4(%esi),%eax
4c8c71:	83 46 44 ff          	addl   $0xffffffff,0x44(%esi)
4c8c75:	89 06                	mov    %eax,(%esi)
4c8c77:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c8c7a:	89 07                	mov    %eax,(%edi)
4c8c7c:	78 3d                	js     0x4c8cbb
4c8c7e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4c8c81:	56                   	push   %esi
4c8c82:	52                   	push   %edx
4c8c83:	e8 d8 1b ff ff       	call   0x4ba860
4c8c88:	8b c8                	mov    %eax,%ecx
4c8c8a:	85 c9                	test   %ecx,%ecx
4c8c8c:	74 2d                	je     0x4c8cbb
4c8c8e:	ff 46 44             	incl   0x44(%esi)
4c8c91:	83 7e 3c 00          	cmpl   $0x0,0x3c(%esi)
4c8c95:	75 24                	jne    0x4c8cbb
4c8c97:	2b 5d f8             	sub    -0x8(%ebp),%ebx
4c8c9a:	8d 45 fc             	lea    -0x4(%ebp),%eax
4c8c9d:	01 1f                	add    %ebx,(%edi)
4c8c9f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4c8ca6:	0f 48 c7             	cmovs  %edi,%eax
4c8ca9:	5f                   	pop    %edi
4c8caa:	8b 00                	mov    (%eax),%eax
4c8cac:	03 46 04             	add    0x4(%esi),%eax
4c8caf:	89 06                	mov    %eax,(%esi)
4c8cb1:	8b c1                	mov    %ecx,%eax
4c8cb3:	5e                   	pop    %esi
4c8cb4:	5b                   	pop    %ebx
4c8cb5:	8b e5                	mov    %ebp,%esp
4c8cb7:	5d                   	pop    %ebp
4c8cb8:	c2 08 00             	ret    $0x8
4c8cbb:	5f                   	pop    %edi
4c8cbc:	5e                   	pop    %esi
4c8cbd:	33 c0                	xor    %eax,%eax
4c8cbf:	5b                   	pop    %ebx
4c8cc0:	8b e5                	mov    %ebp,%esp
4c8cc2:	5d                   	pop    %ebp
4c8cc3:	c2 08 00             	ret    $0x8