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
4bbbba:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4bbbbd:	50                   	push   %eax
4bbbbe:	e8 6d 33 fa ff       	call   0x45ef30
4bbbc3:	80 7d e8 00          	cmpb   $0x0,-0x18(%ebp)
4bbbc7:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4bbbca:	0f 85 a7 02 00 00    	jne    0x4bbe77
4bbbd0:	0f b6 1e             	movzbl (%esi),%ebx
4bbbd3:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
4bbbd9:	73 03                	jae    0x4bbbde
4bbbdb:	46                   	inc    %esi
4bbbdc:	eb 2f                	jmp    0x4bbc0d
4bbbde:	0f b6 4e 01          	movzbl 0x1(%esi),%ecx
4bbbe2:	83 c3 80             	add    $0xffffff80,%ebx
4bbbe5:	8b c1                	mov    %ecx,%eax
4bbbe7:	c1 e0 07             	shl    $0x7,%eax
4bbbea:	03 d8                	add    %eax,%ebx
4bbbec:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
4bbbf2:	73 05                	jae    0x4bbbf9
4bbbf4:	83 c6 02             	add    $0x2,%esi
4bbbf7:	eb 14                	jmp    0x4bbc0d
4bbbf9:	53                   	push   %ebx
4bbbfa:	8d 45 dc             	lea    -0x24(%ebp),%eax
4bbbfd:	56                   	push   %esi
4bbbfe:	50                   	push   %eax
4bbbff:	e8 dc 3d fa ff       	call   0x45f9e0
4bbc04:	8b 5d e0             	mov    -0x20(%ebp),%ebx
4bbc07:	83 c4 0c             	add    $0xc,%esp
4bbc0a:	8b 75 dc             	mov    -0x24(%ebp),%esi
4bbc0d:	85 f6                	test   %esi,%esi
4bbc0f:	0f 84 60 02 00 00    	je     0x4bbe75
4bbc15:	8b c3                	mov    %ebx,%eax
4bbc17:	c1 e8 03             	shr    $0x3,%eax
4bbc1a:	83 e8 01             	sub    $0x1,%eax
4bbc1d:	0f 84 03 02 00 00    	je     0x4bbe26
4bbc23:	83 e8 01             	sub    $0x1,%eax
4bbc26:	0f 84 f9 00 00 00    	je     0x4bbd25
4bbc2c:	83 e8 01             	sub    $0x1,%eax
4bbc2f:	0f 85 4d 02 00 00    	jne    0x4bbe82
4bbc35:	80 fb 1a             	cmp    $0x1a,%bl
4bbc38:	0f 85 44 02 00 00    	jne    0x4bbe82
4bbc3e:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4bbc41:	83 4b 08 02          	orl    $0x2,0x8(%ebx)
4bbc45:	8b 4b 24             	mov    0x24(%ebx),%ecx
4bbc48:	85 c9                	test   %ecx,%ecx
4bbc4a:	75 4a                	jne    0x4bbc96
4bbc4c:	8b 4b 04             	mov    0x4(%ebx),%ecx
4bbc4f:	f6 c1 03             	test   $0x3,%cl
4bbc52:	75 13                	jne    0x4bbc67
4bbc54:	83 e1 fc             	and    $0xfffffffc,%ecx
4bbc57:	51                   	push   %ecx
4bbc58:	e8 a3 c0 00 00       	call   0x4c7d00
4bbc5d:	89 43 24             	mov    %eax,0x24(%ebx)
4bbc60:	83 c4 04             	add    $0x4,%esp
4bbc63:	8b d8                	mov    %eax,%ebx
4bbc65:	eb 31                	jmp    0x4bbc98
4bbc67:	8b c1                	mov    %ecx,%eax
4bbc69:	d1 e8                	shr    $1,%eax
4bbc6b:	a8 01                	test   $0x1,%al
4bbc6d:	74 12                	je     0x4bbc81
4bbc6f:	33 c9                	xor    %ecx,%ecx
4bbc71:	51                   	push   %ecx
4bbc72:	e8 89 c0 00 00       	call   0x4c7d00
4bbc77:	89 43 24             	mov    %eax,0x24(%ebx)
4bbc7a:	83 c4 04             	add    $0x4,%esp
4bbc7d:	8b d8                	mov    %eax,%ebx
4bbc7f:	eb 17                	jmp    0x4bbc98
4bbc81:	83 e1 fc             	and    $0xfffffffc,%ecx
4bbc84:	8b 09                	mov    (%ecx),%ecx
4bbc86:	51                   	push   %ecx
4bbc87:	e8 74 c0 00 00       	call   0x4c7d00
4bbc8c:	89 43 24             	mov    %eax,0x24(%ebx)
4bbc8f:	83 c4 04             	add    $0x4,%esp
4bbc92:	8b d8                	mov    %eax,%ebx
4bbc94:	eb 02                	jmp    0x4bbc98
4bbc96:	8b d9                	mov    %ecx,%ebx
4bbc98:	0f b6 06             	movzbl (%esi),%eax
4bbc9b:	3d 80 00 00 00       	cmp    $0x80,%eax
4bbca0:	73 03                	jae    0x4bbca5
4bbca2:	46                   	inc    %esi
4bbca3:	eb 14                	jmp    0x4bbcb9
4bbca5:	50                   	push   %eax
4bbca6:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4bbca9:	56                   	push   %esi
4bbcaa:	50                   	push   %eax
4bbcab:	e8 c0 3b fa ff       	call   0x45f870
4bbcb0:	8b 75 d4             	mov    -0x2c(%ebp),%esi
4bbcb3:	83 c4 0c             	add    $0xc,%esp
4bbcb6:	8b 45 d8             	mov    -0x28(%ebp),%eax
4bbcb9:	85 f6                	test   %esi,%esi
4bbcbb:	0f 84 b4 01 00 00    	je     0x4bbe75
4bbcc1:	2b 47 04             	sub    0x4(%edi),%eax
4bbcc4:	8d 14 30             	lea    (%eax,%esi,1),%edx
4bbcc7:	33 c0                	xor    %eax,%eax
4bbcc9:	85 d2                	test   %edx,%edx
4bbccb:	89 55 f4             	mov    %edx,-0xc(%ebp)
4bbcce:	0f 48 c2             	cmovs  %edx,%eax
4bbcd1:	03 47 04             	add    0x4(%edi),%eax
4bbcd4:	83 47 44 ff          	addl   $0xffffffff,0x44(%edi)
4bbcd8:	89 07                	mov    %eax,(%edi)
4bbcda:	8b 47 10             	mov    0x10(%edi),%eax
4bbcdd:	89 45 fc             	mov    %eax,-0x4(%ebp)
4bbce0:	89 57 10             	mov    %edx,0x10(%edi)
4bbce3:	0f 88 8c 01 00 00    	js     0x4bbe75
4bbce9:	57                   	push   %edi
4bbcea:	56                   	push   %esi
4bbceb:	8b cb                	mov    %ebx,%ecx
4bbced:	e8 9e 43 00 00       	call   0x4c0090
4bbcf2:	8b f0                	mov    %eax,%esi
4bbcf4:	85 f6                	test   %esi,%esi
4bbcf6:	0f 84 79 01 00 00    	je     0x4bbe75
4bbcfc:	ff 47 44             	incl   0x44(%edi)
4bbcff:	83 7f 3c 00          	cmpl   $0x0,0x3c(%edi)
4bbd03:	0f 85 6c 01 00 00    	jne    0x4bbe75
4bbd09:	8b 45 fc             	mov    -0x4(%ebp),%eax
4bbd0c:	2b 45 f4             	sub    -0xc(%ebp),%eax
4bbd0f:	01 47 10             	add    %eax,0x10(%edi)
4bbd12:	b8 00 00 00 00       	mov    $0x0,%eax
4bbd17:	0f 48 47 10          	cmovs  0x10(%edi),%eax
4bbd1b:	03 47 04             	add    0x4(%edi),%eax
4bbd1e:	89 07                	mov    %eax,(%edi)
4bbd20:	e9 7d fe ff ff       	jmp    0x4bbba2
4bbd25:	80 fb 12             	cmp    $0x12,%bl
4bbd28:	0f 85 54 01 00 00    	jne    0x4bbe82
4bbd2e:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4bbd31:	4e                   	dec    %esi
4bbd32:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
4bbd35:	46                   	inc    %esi
4bbd36:	85 c9                	test   %ecx,%ecx
4bbd38:	74 1d                	je     0x4bbd57
4bbd3a:	8b 53 14             	mov    0x14(%ebx),%edx
4bbd3d:	8b 01                	mov    (%ecx),%eax
4bbd3f:	3b d0                	cmp    %eax,%edx
4bbd41:	7d 0f                	jge    0x4bbd52
4bbd43:	8b 44 91 04          	mov    0x4(%ecx,%edx,4),%eax
4bbd47:	89 45 fc             	mov    %eax,-0x4(%ebp)
4bbd4a:	8d 42 01             	lea    0x1(%edx),%eax
4bbd4d:	89 43 14             	mov    %eax,0x14(%ebx)
4bbd50:	eb 37                	jmp    0x4bbd89
4bbd52:	3b 43 18             	cmp    0x18(%ebx),%eax
4bbd55:	75 12                	jne    0x4bbd69
4bbd57:	8b 43 18             	mov    0x18(%ebx),%eax
4bbd5a:	8d 4b 10             	lea    0x10(%ebx),%ecx
4bbd5d:	40                   	inc    %eax
4bbd5e:	50                   	push   %eax
4bbd5f:	e8 2c 1b fa ff       	call   0x45d890
4bbd64:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
4bbd67:	8b 01                	mov    (%ecx),%eax
4bbd69:	40                   	inc    %eax
4bbd6a:	89 01                	mov    %eax,(%ecx)
4bbd6c:	ff 73 10             	push   0x10(%ebx)
4bbd6f:	e8 ec bb 00 00       	call   0x4c7960
4bbd74:	8b 4b 14             	mov    0x14(%ebx),%ecx
4bbd77:	8b d0                	mov    %eax,%edx
4bbd79:	8b 43 1c             	mov    0x1c(%ebx),%eax
4bbd7c:	83 c4 04             	add    $0x4,%esp
4bbd7f:	89 55 fc             	mov    %edx,-0x4(%ebp)
4bbd82:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
4bbd86:	ff 43 14             	incl   0x14(%ebx)
4bbd89:	0f b6 06             	movzbl (%esi),%eax
4bbd8c:	3d 80 00 00 00       	cmp    $0x80,%eax
4bbd91:	73 03                	jae    0x4bbd96
4bbd93:	46                   	inc    %esi
4bbd94:	eb 14                	jmp    0x4bbdaa
4bbd96:	50                   	push   %eax
4bbd97:	8d 45 cc             	lea    -0x34(%ebp),%eax
4bbd9a:	56                   	push   %esi
4bbd9b:	50                   	push   %eax
4bbd9c:	e8 cf 3a fa ff       	call   0x45f870
4bbda1:	8b 75 cc             	mov    -0x34(%ebp),%esi
4bbda4:	83 c4 0c             	add    $0xc,%esp
4bbda7:	8b 45 d0             	mov    -0x30(%ebp),%eax
4bbdaa:	85 f6                	test   %esi,%esi
4bbdac:	0f 84 c3 00 00 00    	je     0x4bbe75
4bbdb2:	2b 47 04             	sub    0x4(%edi),%eax
4bbdb5:	8d 14 30             	lea    (%eax,%esi,1),%edx