4bb850:	8b 4c b3 04          	mov    0x4(%ebx,%esi,4),%ecx
4bb854:	e8 97 09 00 00       	call   0x4bc1f0
4bb859:	46                   	inc    %esi
4bb85a:	3b f7                	cmp    %edi,%esi
4bb85c:	7c f2                	jl     0x4bb850
4bb85e:	8b 7d f8             	mov    -0x8(%ebp),%edi
4bb861:	5e                   	pop    %esi
4bb862:	5b                   	pop    %ebx
4bb863:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
4bb86a:	8b 4f 08             	mov    0x8(%edi),%ecx
4bb86d:	f6 c1 03             	test   $0x3,%cl
4bb870:	74 2a                	je     0x4bb89c
4bb872:	f6 c1 01             	test   $0x1,%cl
4bb875:	74 18                	je     0x4bb88f
4bb877:	8b 47 20             	mov    0x20(%edi),%eax
4bb87a:	83 e0 fe             	and    $0xfffffffe,%eax
4bb87d:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
4bb884:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
4bb888:	72 02                	jb     0x4bb88c
4bb88a:	8b 00                	mov    (%eax),%eax
4bb88c:	c6 00 00             	movb   $0x0,(%eax)
4bb88f:	f6 c1 02             	test   $0x2,%cl
4bb892:	74 08                	je     0x4bb89c
4bb894:	8b 4f 24             	mov    0x24(%edi),%ecx
4bb897:	e8 84 41 00 00       	call   0x4bfa20
4bb89c:	8d 4f 04             	lea    0x4(%edi),%ecx
4bb89f:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
4bb8a6:	f6 01 01             	testb  $0x1,(%ecx)
4bb8a9:	5f                   	pop    %edi
4bb8aa:	74 05                	je     0x4bb8b1
4bb8ac:	e8 ff 4d f9 ff       	call   0x4506b0
4bb8b1:	8b e5                	mov    %ebp,%esp
4bb8b3:	5d                   	pop    %ebp
4bb8b4:	c3                   	ret
4bb8b5:	cc                   	int3
4bb8b6:	cc                   	int3
4bb8b7:	cc                   	int3
4bb8b8:	cc                   	int3
4bb8b9:	cc                   	int3
4bb8ba:	cc                   	int3
4bb8bb:	cc                   	int3
4bb8bc:	cc                   	int3
4bb8bd:	cc                   	int3
4bb8be:	cc                   	int3
4bb8bf:	cc                   	int3
4bb8c0:	53                   	push   %ebx
4bb8c1:	8b d9                	mov    %ecx,%ebx
4bb8c3:	56                   	push   %esi
4bb8c4:	57                   	push   %edi
4bb8c5:	8b 73 14             	mov    0x14(%ebx),%esi
4bb8c8:	83 ee 01             	sub    $0x1,%esi
4bb8cb:	78 38                	js     0x4bb905
4bb8cd:	0f 1f 00             	nopl   (%eax)
4bb8d0:	8b 43 1c             	mov    0x1c(%ebx),%eax
4bb8d3:	8b 4c b0 04          	mov    0x4(%eax,%esi,4),%ecx
4bb8d7:	8b 41 08             	mov    0x8(%ecx),%eax
4bb8da:	c1 e8 03             	shr    $0x3,%eax
4bb8dd:	a8 01                	test   $0x1,%al
4bb8df:	74 1f                	je     0x4bb900
4bb8e1:	8b 79 1c             	mov    0x1c(%ecx),%edi
4bb8e4:	8d 4f 08             	lea    0x8(%edi),%ecx
4bb8e7:	e8 24 ea fe ff       	call   0x4aa310
4bb8ec:	84 c0                	test   %al,%al
4bb8ee:	74 3d                	je     0x4bb92d
4bb8f0:	8d 47 1c             	lea    0x1c(%edi),%eax
4bb8f3:	50                   	push   %eax
4bb8f4:	e8 97 b4 00 00       	call   0x4c6d90
4bb8f9:	83 c4 04             	add    $0x4,%esp
4bb8fc:	84 c0                	test   %al,%al
4bb8fe:	74 2d                	je     0x4bb92d
4bb900:	83 ee 01             	sub    $0x1,%esi
4bb903:	79 cb                	jns    0x4bb8d0
4bb905:	8b 43 08             	mov    0x8(%ebx),%eax
4bb908:	d1 e8                	shr    $1,%eax
4bb90a:	a8 01                	test   $0x1,%al
4bb90c:	74 25                	je     0x4bb933
4bb90e:	8b 73 24             	mov    0x24(%ebx),%esi
4bb911:	8d 4e 08             	lea    0x8(%esi),%ecx
4bb914:	e8 f7 e9 fe ff       	call   0x4aa310
4bb919:	84 c0                	test   %al,%al
4bb91b:	74 10                	je     0x4bb92d
4bb91d:	8d 46 1c             	lea    0x1c(%esi),%eax
4bb920:	50                   	push   %eax
4bb921:	e8 6a b4 00 00       	call   0x4c6d90
4bb926:	83 c4 04             	add    $0x4,%esp
4bb929:	84 c0                	test   %al,%al
4bb92b:	75 06                	jne    0x4bb933
4bb92d:	5f                   	pop    %edi
4bb92e:	5e                   	pop    %esi
4bb92f:	32 c0                	xor    %al,%al
4bb931:	5b                   	pop    %ebx
4bb932:	c3                   	ret
4bb933:	5f                   	pop    %edi
4bb934:	5e                   	pop    %esi
4bb935:	b0 01                	mov    $0x1,%al
4bb937:	5b                   	pop    %ebx
4bb938:	c3                   	ret
4bb939:	cc                   	int3
4bb93a:	cc                   	int3
4bb93b:	cc                   	int3
4bb93c:	cc                   	int3
4bb93d:	cc                   	int3
4bb93e:	cc                   	int3
4bb93f:	cc                   	int3
4bb940:	55                   	push   %ebp
4bb941:	8b ec                	mov    %esp,%ebp
4bb943:	83 ec 2c             	sub    $0x2c,%esp
4bb946:	8b c1                	mov    %ecx,%eax
4bb948:	53                   	push   %ebx
4bb949:	89 45 f4             	mov    %eax,-0xc(%ebp)
4bb94c:	56                   	push   %esi
4bb94d:	8b 58 14             	mov    0x14(%eax),%ebx
4bb950:	8b 40 1c             	mov    0x1c(%eax),%eax
4bb953:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4bb956:	85 c0                	test   %eax,%eax
4bb958:	74 09                	je     0x4bb963
4bb95a:	83 c0 04             	add    $0x4,%eax
4bb95d:	8b c8                	mov    %eax,%ecx
4bb95f:	8b f0                	mov    %eax,%esi
4bb961:	eb 06                	jmp    0x4bb969
4bb963:	33 c0                	xor    %eax,%eax
4bb965:	33 c9                	xor    %ecx,%ecx
4bb967:	33 f6                	xor    %esi,%esi
4bb969:	57                   	push   %edi
4bb96a:	8d 3c 98             	lea    (%eax,%ebx,4),%edi
4bb96d:	3b cf                	cmp    %edi,%ecx
4bb96f:	0f 84 06 01 00 00    	je     0x4bba7b
4bb975:	8b 06                	mov    (%esi),%eax
4bb977:	33 db                	xor    %ebx,%ebx
4bb979:	89 45 fc             	mov    %eax,-0x4(%ebp)
4bb97c:	8b 50 08             	mov    0x8(%eax),%edx
4bb97f:	89 55 f0             	mov    %edx,-0x10(%ebp)
4bb982:	f6 c2 3f             	test   $0x3f,%dl
4bb985:	0f 84 ab 00 00 00    	je     0x4bba36
4bb98b:	f6 c2 01             	test   $0x1,%dl
4bb98e:	74 26                	je     0x4bb9b6
4bb990:	8b 40 10             	mov    0x10(%eax),%eax
4bb993:	83 e0 fe             	and    $0xfffffffe,%eax
4bb996:	8b 48 10             	mov    0x10(%eax),%ecx
4bb999:	8b c1                	mov    %ecx,%eax
4bb99b:	83 c8 01             	or     $0x1,%eax
4bb99e:	0f bd c0             	bsr    %eax,%eax
4bb9a1:	89 45 ec             	mov    %eax,-0x14(%ebp)
4bb9a4:	8d 1c c5 49 00 00 00 	lea    0x49(,%eax,8),%ebx
4bb9ab:	03 d8                	add    %eax,%ebx
4bb9ad:	8b 45 fc             	mov    -0x4(%ebp),%eax
4bb9b0:	c1 eb 06             	shr    $0x6,%ebx
4bb9b3:	43                   	inc    %ebx
4bb9b4:	03 d9                	add    %ecx,%ebx
4bb9b6:	f6 c2 02             	test   $0x2,%dl
4bb9b9:	74 22                	je     0x4bb9dd
4bb9bb:	8b 40 14             	mov    0x14(%eax),%eax
4bb9be:	83 e0 fe             	and    $0xfffffffe,%eax
4bb9c1:	8b 48 10             	mov    0x10(%eax),%ecx
4bb9c4:	8b c1                	mov    %ecx,%eax
4bb9c6:	83 c8 01             	or     $0x1,%eax
4bb9c9:	0f bd c0             	bsr    %eax,%eax
4bb9cc:	89 45 e8             	mov    %eax,-0x18(%ebp)
4bb9cf:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4bb9d2:	83 c0 49             	add    $0x49,%eax
4bb9d5:	c1 e8 06             	shr    $0x6,%eax
4bb9d8:	40                   	inc    %eax
4bb9d9:	03 c1                	add    %ecx,%eax
4bb9db:	03 d8                	add    %eax,%ebx
4bb9dd:	f6 c2 04             	test   $0x4,%dl
4bb9e0:	74 25                	je     0x4bba07
4bb9e2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4bb9e5:	8b 40 18             	mov    0x18(%eax),%eax
4bb9e8:	83 e0 fe             	and    $0xfffffffe,%eax
4bb9eb:	8b 48 10             	mov    0x10(%eax),%ecx
4bb9ee:	8b c1                	mov    %ecx,%eax
4bb9f0:	83 c8 01             	or     $0x1,%eax
4bb9f3:	0f bd c0             	bsr    %eax,%eax
4bb9f6:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4bb9f9:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4bb9fc:	83 c0 49             	add    $0x49,%eax
4bb9ff:	c1 e8 06             	shr    $0x6,%eax
4bba02:	40                   	inc    %eax
4bba03:	03 c1                	add    %ecx,%eax
4bba05:	03 d8                	add    %eax,%ebx
4bba07:	f6 c2 08             	test   $0x8,%dl
4bba0a:	74 14                	je     0x4bba20
4bba0c:	8b 45 fc             	mov    -0x4(%ebp),%eax
4bba0f:	ff 70 1c             	push   0x1c(%eax)
4bba12:	e8 79 d0 00 00       	call   0x4c8a90
4bba17:	8b 55 f0             	mov    -0x10(%ebp),%edx
4bba1a:	43                   	inc    %ebx
4bba1b:	83 c4 04             	add    $0x4,%esp
4bba1e:	03 d8                	add    %eax,%ebx
4bba20:	f6 c2 10             	test   $0x10,%dl
4bba23:	8d 43 02             	lea    0x2(%ebx),%eax
4bba26:	0f 44 c3             	cmove  %ebx,%eax
4bba29:	8b d8                	mov    %eax,%ebx
4bba2b:	8b 45 fc             	mov    -0x4(%ebp),%eax
4bba2e:	f6 c2 20             	test   $0x20,%dl
4bba31:	74 03                	je     0x4bba36
4bba33:	83 c3 02             	add    $0x2,%ebx
4bba36:	8d 48 04             	lea    0x4(%eax),%ecx
4bba39:	83 c0 0c             	add    $0xc,%eax
4bba3c:	f6 01 01             	testb  $0x1,(%ecx)
4bba3f:	74 0f                	je     0x4bba50
4bba41:	50                   	push   %eax
4bba42:	53                   	push   %ebx
4bba43:	51                   	push   %ecx
4bba44:	e8 67 3a fb ff       	call   0x46f4b0
4bba49:	83 c4 0c             	add    $0xc,%esp
4bba4c:	8b d8                	mov    %eax,%ebx
4bba4e:	eb 02                	jmp    0x4bba52
4bba50:	89 18                	mov    %ebx,(%eax)
4bba52:	8b c3                	mov    %ebx,%eax
4bba54:	83 c6 04             	add    $0x4,%esi
4bba57:	83 c8 01             	or     $0x1,%eax
4bba5a:	0f bd c0             	bsr    %eax,%eax
4bba5d:	89 45 e0             	mov    %eax,-0x20(%ebp)
4bba60:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4bba63:	83 c0 49             	add    $0x49,%eax
4bba66:	c1 e8 06             	shr    $0x6,%eax
4bba69:	03 c3                	add    %ebx,%eax
4bba6b:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4bba6e:	03 d8                	add    %eax,%ebx
4bba70:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4bba73:	3b f7                	cmp    %edi,%esi
4bba75:	0f 85 fa fe ff ff    	jne    0x4bb975
4bba7b:	8b 75 f4             	mov    -0xc(%ebp),%esi
4bba7e:	8b 56 08             	mov    0x8(%esi),%edx
4bba81:	f6 c2 03             	test   $0x3,%dl
4bba84:	0f 84 de 00 00 00    	je     0x4bbb68
4bba8a:	f6 c2 01             	test   $0x1,%dl
4bba8d:	74 25                	je     0x4bbab4
4bba8f:	8b 46 20             	mov    0x20(%esi),%eax
4bba92:	83 e0 fe             	and    $0xfffffffe,%eax
4bba95:	8b 48 10             	mov    0x10(%eax),%ecx
4bba98:	8b c1                	mov    %ecx,%eax
4bba9a:	83 c8 01             	or     $0x1,%eax
4bba9d:	0f bd c0             	bsr    %eax,%eax
4bbaa0:	89 45 dc             	mov    %eax,-0x24(%ebp)
4bbaa3:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4bbaa6:	83 c0 49             	add    $0x49,%eax
4bbaa9:	c1 e8 06             	shr    $0x6,%eax
4bbaac:	40                   	inc    %eax
4bbaad:	03 c1                	add    %ecx,%eax
4bbaaf:	03 d8                	add    %eax,%ebx
4bbab1:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4bbab4:	f6 c2 02             	test   $0x2,%dl
4bbab7:	0f 84 ab 00 00 00    	je     0x4bbb68
4bbabd:	8b 76 24             	mov    0x24(%esi),%esi
4bbac0:	89 75 f0             	mov    %esi,-0x10(%ebp)
4bbac3:	8d 4e 08             	lea    0x8(%esi),%ecx
4bbac6:	e8 e5 bb fe ff       	call   0x4a76b0
4bbacb:	8b 7e 20             	mov    0x20(%esi),%edi
4bbace:	8b 4e 28             	mov    0x28(%esi),%ecx
4bbad1:	8d 04 78             	lea    (%eax,%edi,2),%eax
4bbad4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4bbad7:	85 c9                	test   %ecx,%ecx
4bbad9:	74 09                	je     0x4bbae4
4bbadb:	83 c1 04             	add    $0x4,%ecx
4bbade:	8b d1                	mov    %ecx,%edx
4bbae0:	8b f1                	mov    %ecx,%esi
4bbae2:	eb 06                	jmp    0x4bbaea
4bbae4:	33 c9                	xor    %ecx,%ecx
4bbae6:	33 d2                	xor    %edx,%edx
4bbae8:	33 f6                	xor    %esi,%esi
4bbaea:	8d 3c b9             	lea    (%ecx,%edi,4),%edi
4bbaed:	3b d7                	cmp    %edi,%edx
4bbaef:	74 32                	je     0x4bbb23
4bbaf1:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4bbaf4:	8b 0e                	mov    (%esi),%ecx
4bbaf6:	e8 a5 57 00 00       	call   0x4c12a0
4bbafb:	8b c8                	mov    %eax,%ecx
4bbafd:	83 c6 04             	add    $0x4,%esi
4bbb00:	83 c9 01             	or     $0x1,%ecx
4bbb03:	0f bd c9             	bsr    %ecx,%ecx
4bbb06:	89 4d d8             	mov    %ecx,-0x28(%ebp)
4bbb09:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
4bbb0c:	83 c1 49             	add    $0x49,%ecx
4bbb0f:	c1 e9 06             	shr    $0x6,%ecx
4bbb12:	03 c8                	add    %eax,%ecx
4bbb14:	03 d9                	add    %ecx,%ebx
4bbb16:	3b f7                	cmp    %edi,%esi
4bbb18:	75 da                	jne    0x4bbaf4
4bbb1a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4bbb1d:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4bbb20:	8b 45 fc             	mov    -0x4(%ebp),%eax
4bbb23:	8b 55 f0             	mov    -0x10(%ebp),%edx
4bbb26:	8d 48 03             	lea    0x3(%eax),%ecx
4bbb29:	f6 42 14 01          	testb  $0x1,0x14(%edx)
4bbb2d:	0f 44 c8             	cmove  %eax,%ecx
4bbb30:	8d 42 04             	lea    0x4(%edx),%eax
4bbb33:	83 c2 18             	add    $0x18,%edx
4bbb36:	f6 00 01             	testb  $0x1,(%eax)
4bbb39:	74 0f                	je     0x4bbb4a
4bbb3b:	52                   	push   %edx
4bbb3c:	51                   	push   %ecx
4bbb3d:	50                   	push   %eax
4bbb3e:	e8 6d 39 fb ff       	call   0x46f4b0
4bbb43:	83 c4 0c             	add    $0xc,%esp
4bbb46:	8b c8                	mov    %eax,%ecx
4bbb48:	eb 02                	jmp    0x4bbb4c
4bbb4a:	89 0a                	mov    %ecx,(%edx)
4bbb4c:	8b c1                	mov    %ecx,%eax
4bbb4e:	8b 75 f4             	mov    -0xc(%ebp),%esi
4bbb51:	83 c8 01             	or     $0x1,%eax
4bbb54:	43                   	inc    %ebx
4bbb55:	0f bd c0             	bsr    %eax,%eax
4bbb58:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4bbb5b:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4bbb5e:	83 c0 49             	add    $0x49,%eax
4bbb61:	c1 e8 06             	shr    $0x6,%eax
4bbb64:	03 c1                	add    %ecx,%eax
4bbb66:	03 d8                	add    %eax,%ebx
4bbb68:	f6 46 04 01          	testb  $0x1,0x4(%esi)
4bbb6c:	8d 46 04             	lea    0x4(%esi),%eax
4bbb6f:	8d 4e 0c             	lea    0xc(%esi),%ecx
4bbb72:	5f                   	pop    %edi
4bbb73:	74 11                	je     0x4bbb86
4bbb75:	51                   	push   %ecx
4bbb76:	53                   	push   %ebx
4bbb77:	50                   	push   %eax
4bbb78:	e8 33 39 fb ff       	call   0x46f4b0
4bbb7d:	83 c4 0c             	add    $0xc,%esp
4bbb80:	5e                   	pop    %esi
4bbb81:	5b                   	pop    %ebx
4bbb82:	8b e5                	mov    %ebp,%esp
4bbb84:	5d                   	pop    %ebp
4bbb85:	c3                   	ret
4bbb86:	5e                   	pop    %esi
4bbb87:	89 19                	mov    %ebx,(%ecx)
4bbb89:	8b c3                	mov    %ebx,%eax
4bbb8b:	5b                   	pop    %ebx
4bbb8c:	8b e5                	mov    %ebp,%esp
4bbb8e:	5d                   	pop    %ebp
4bbb8f:	c3                   	ret
4bbb90:	55                   	push   %ebp
4bbb91:	8b ec                	mov    %esp,%ebp
4bbb93:	83 ec 34             	sub    $0x34,%esp
4bbb96:	53                   	push   %ebx
4bbb97:	56                   	push   %esi
4bbb98:	8b 75 08             	mov    0x8(%ebp),%esi
4bbb9b:	57                   	push   %edi
4bbb9c:	8b 7d 0c             	mov    0xc(%ebp),%edi
4bbb9f:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4bbba2:	3b 37                	cmp    (%edi),%esi
4bbba4:	72 2a                	jb     0x4bbbd0
4bbba6:	8b c6                	mov    %esi,%eax
4bbba8:	2b 47 04             	sub    0x4(%edi),%eax
4bbbab:	3b 47 10             	cmp    0x10(%edi),%eax
4bbbae:	0f 84 12 03 00 00    	je     0x4bbec6
4bbbb4:	ff 77 48             	push   0x48(%edi)
4bbbb7:	8b cf                	mov    %edi,%ecx
4bbbb9:	50                   	push   %eax