4c4eb1:	03 d0                	add    %eax,%edx
4c4eb3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c4eb6:	f6 c1 02             	test   $0x2,%cl
4c4eb9:	74 29                	je     0x4c4ee4
4c4ebb:	8b 70 14             	mov    0x14(%eax),%esi
4c4ebe:	85 f6                	test   %esi,%esi
4c4ec0:	79 07                	jns    0x4c4ec9
4c4ec2:	be 0a 00 00 00       	mov    $0xa,%esi
4c4ec7:	eb 18                	jmp    0x4c4ee1
4c4ec9:	83 ce 01             	or     $0x1,%esi
4c4ecc:	0f bd c6             	bsr    %esi,%eax
4c4ecf:	89 45 f4             	mov    %eax,-0xc(%ebp)
4c4ed2:	8d 34 c5 49 00 00 00 	lea    0x49(,%eax,8),%esi
4c4ed9:	03 f0                	add    %eax,%esi
4c4edb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c4ede:	c1 ee 06             	shr    $0x6,%esi
4c4ee1:	42                   	inc    %edx
4c4ee2:	03 d6                	add    %esi,%edx
4c4ee4:	5e                   	pop    %esi
4c4ee5:	f6 c1 04             	test   $0x4,%cl
4c4ee8:	74 29                	je     0x4c4f13
4c4eea:	8b 48 18             	mov    0x18(%eax),%ecx
4c4eed:	85 c9                	test   %ecx,%ecx
4c4eef:	79 07                	jns    0x4c4ef8
4c4ef1:	b9 0a 00 00 00       	mov    $0xa,%ecx
4c4ef6:	eb 18                	jmp    0x4c4f10
4c4ef8:	83 c9 01             	or     $0x1,%ecx
4c4efb:	0f bd c1             	bsr    %ecx,%eax
4c4efe:	89 45 ec             	mov    %eax,-0x14(%ebp)
4c4f01:	8d 0c c5 49 00 00 00 	lea    0x49(,%eax,8),%ecx
4c4f08:	03 c8                	add    %eax,%ecx
4c4f0a:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c4f0d:	c1 e9 06             	shr    $0x6,%ecx
4c4f10:	42                   	inc    %edx
4c4f11:	03 d1                	add    %ecx,%edx
4c4f13:	8d 48 04             	lea    0x4(%eax),%ecx
4c4f16:	83 c0 0c             	add    $0xc,%eax
4c4f19:	f6 01 01             	testb  $0x1,(%ecx)
4c4f1c:	74 0f                	je     0x4c4f2d
4c4f1e:	50                   	push   %eax
4c4f1f:	52                   	push   %edx
4c4f20:	51                   	push   %ecx
4c4f21:	e8 8a a5 fa ff       	call   0x46f4b0
4c4f26:	83 c4 0c             	add    $0xc,%esp
4c4f29:	8b e5                	mov    %ebp,%esp
4c4f2b:	5d                   	pop    %ebp
4c4f2c:	c3                   	ret
4c4f2d:	89 10                	mov    %edx,(%eax)
4c4f2f:	8b c2                	mov    %edx,%eax
4c4f31:	8b e5                	mov    %ebp,%esp
4c4f33:	5d                   	pop    %ebp
4c4f34:	c3                   	ret
4c4f35:	cc                   	int3
4c4f36:	cc                   	int3
4c4f37:	cc                   	int3
4c4f38:	cc                   	int3
4c4f39:	cc                   	int3
4c4f3a:	cc                   	int3
4c4f3b:	cc                   	int3
4c4f3c:	cc                   	int3
4c4f3d:	cc                   	int3
4c4f3e:	cc                   	int3
4c4f3f:	cc                   	int3
4c4f40:	55                   	push   %ebp
4c4f41:	8b ec                	mov    %esp,%ebp
4c4f43:	83 ec 38             	sub    $0x38,%esp
4c4f46:	53                   	push   %ebx
4c4f47:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4c4f4a:	56                   	push   %esi
4c4f4b:	57                   	push   %edi
4c4f4c:	8b 7d 08             	mov    0x8(%ebp),%edi
4c4f4f:	33 f6                	xor    %esi,%esi
4c4f51:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4c4f54:	3b 3b                	cmp    (%ebx),%edi
4c4f56:	72 2a                	jb     0x4c4f82
4c4f58:	8b c7                	mov    %edi,%eax
4c4f5a:	2b 43 04             	sub    0x4(%ebx),%eax
4c4f5d:	3b 43 10             	cmp    0x10(%ebx),%eax
4c4f60:	0f 84 ee 01 00 00    	je     0x4c5154
4c4f66:	ff 73 48             	push   0x48(%ebx)
4c4f69:	8b cb                	mov    %ebx,%ecx
4c4f6b:	50                   	push   %eax
4c4f6c:	8d 45 e8             	lea    -0x18(%ebp),%eax
4c4f6f:	50                   	push   %eax
4c4f70:	e8 bb 9f f9 ff       	call   0x45ef30
4c4f75:	80 7d ec 00          	cmpb   $0x0,-0x14(%ebp)
4c4f79:	8b 7d e8             	mov    -0x18(%ebp),%edi
4c4f7c:	0f 85 64 01 00 00    	jne    0x4c50e6
4c4f82:	0f b6 17             	movzbl (%edi),%edx
4c4f85:	89 55 f8             	mov    %edx,-0x8(%ebp)
4c4f88:	81 fa 80 00 00 00    	cmp    $0x80,%edx
4c4f8e:	73 03                	jae    0x4c4f93
4c4f90:	47                   	inc    %edi
4c4f91:	eb 35                	jmp    0x4c4fc8
4c4f93:	0f b6 4f 01          	movzbl 0x1(%edi),%ecx
4c4f97:	83 c2 80             	add    $0xffffff80,%edx
4c4f9a:	8b c1                	mov    %ecx,%eax
4c4f9c:	c1 e0 07             	shl    $0x7,%eax
4c4f9f:	03 d0                	add    %eax,%edx
4c4fa1:	89 55 f8             	mov    %edx,-0x8(%ebp)
4c4fa4:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
4c4faa:	73 05                	jae    0x4c4fb1
4c4fac:	83 c7 02             	add    $0x2,%edi
4c4faf:	eb 17                	jmp    0x4c4fc8
4c4fb1:	52                   	push   %edx
4c4fb2:	8d 45 e0             	lea    -0x20(%ebp),%eax
4c4fb5:	57                   	push   %edi
4c4fb6:	50                   	push   %eax
4c4fb7:	e8 24 aa f9 ff       	call   0x45f9e0
4c4fbc:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4c4fbf:	83 c4 0c             	add    $0xc,%esp
4c4fc2:	8b 7d e0             	mov    -0x20(%ebp),%edi
4c4fc5:	89 55 f8             	mov    %edx,-0x8(%ebp)
4c4fc8:	85 ff                	test   %edi,%edi
4c4fca:	0f 84 14 01 00 00    	je     0x4c50e4
4c4fd0:	8b c2                	mov    %edx,%eax
4c4fd2:	c1 e8 03             	shr    $0x3,%eax
4c4fd5:	83 e8 01             	sub    $0x1,%eax
4c4fd8:	0f 84 19 01 00 00    	je     0x4c50f7
4c4fde:	83 e8 01             	sub    $0x1,%eax
4c4fe1:	0f 84 d5 00 00 00    	je     0x4c50bc
4c4fe7:	83 e8 01             	sub    $0x1,%eax
4c4fea:	0f 85 29 01 00 00    	jne    0x4c5119
4c4ff0:	80 fa 1a             	cmp    $0x1a,%dl
4c4ff3:	0f 85 20 01 00 00    	jne    0x4c5119
4c4ff9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4c4ffc:	83 49 08 01          	orl    $0x1,0x8(%ecx)
4c5000:	8b 51 10             	mov    0x10(%ecx),%edx
4c5003:	89 55 f8             	mov    %edx,-0x8(%ebp)
4c5006:	85 d2                	test   %edx,%edx
4c5008:	75 30                	jne    0x4c503a
4c500a:	8b 49 04             	mov    0x4(%ecx),%ecx
4c500d:	f6 c1 03             	test   $0x3,%cl
4c5010:	75 05                	jne    0x4c5017
4c5012:	83 e1 fc             	and    $0xfffffffc,%ecx
4c5015:	eb 11                	jmp    0x4c5028
4c5017:	8b c1                	mov    %ecx,%eax
4c5019:	d1 e8                	shr    $1,%eax
4c501b:	a8 01                	test   $0x1,%al
4c501d:	74 04                	je     0x4c5023
4c501f:	33 c9                	xor    %ecx,%ecx
4c5021:	eb 05                	jmp    0x4c5028
4c5023:	83 e1 fc             	and    $0xfffffffc,%ecx
4c5026:	8b 09                	mov    (%ecx),%ecx
4c5028:	51                   	push   %ecx
4c5029:	e8 d2 22 00 00       	call   0x4c7300
4c502e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4c5031:	83 c4 04             	add    $0x4,%esp
4c5034:	89 45 f8             	mov    %eax,-0x8(%ebp)
4c5037:	89 41 10             	mov    %eax,0x10(%ecx)
4c503a:	0f b6 07             	movzbl (%edi),%eax
4c503d:	3d 80 00 00 00       	cmp    $0x80,%eax
4c5042:	73 03                	jae    0x4c5047
4c5044:	47                   	inc    %edi
4c5045:	eb 14                	jmp    0x4c505b
4c5047:	50                   	push   %eax
4c5048:	8d 45 d8             	lea    -0x28(%ebp),%eax
4c504b:	57                   	push   %edi
4c504c:	50                   	push   %eax
4c504d:	e8 1e a8 f9 ff       	call   0x45f870
4c5052:	8b 7d d8             	mov    -0x28(%ebp),%edi
4c5055:	83 c4 0c             	add    $0xc,%esp
4c5058:	8b 45 dc             	mov    -0x24(%ebp),%eax
4c505b:	85 ff                	test   %edi,%edi
4c505d:	0f 84 81 00 00 00    	je     0x4c50e4
4c5063:	2b 43 04             	sub    0x4(%ebx),%eax
4c5066:	8d 14 38             	lea    (%eax,%edi,1),%edx
4c5069:	33 c0                	xor    %eax,%eax
4c506b:	85 d2                	test   %edx,%edx
4c506d:	89 55 f0             	mov    %edx,-0x10(%ebp)
4c5070:	0f 48 c2             	cmovs  %edx,%eax
4c5073:	03 43 04             	add    0x4(%ebx),%eax
4c5076:	83 43 44 ff          	addl   $0xffffffff,0x44(%ebx)
4c507a:	89 03                	mov    %eax,(%ebx)
4c507c:	8b 43 10             	mov    0x10(%ebx),%eax
4c507f:	89 45 f4             	mov    %eax,-0xc(%ebp)
4c5082:	89 53 10             	mov    %edx,0x10(%ebx)
4c5085:	78 5d                	js     0x4c50e4
4c5087:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4c508a:	53                   	push   %ebx
4c508b:	57                   	push   %edi
4c508c:	e8 cf 36 ff ff       	call   0x4b8760
4c5091:	8b f8                	mov    %eax,%edi
4c5093:	85 ff                	test   %edi,%edi
4c5095:	74 4d                	je     0x4c50e4
4c5097:	ff 43 44             	incl   0x44(%ebx)
4c509a:	83 7b 3c 00          	cmpl   $0x0,0x3c(%ebx)
4c509e:	75 44                	jne    0x4c50e4
4c50a0:	8b 45 f4             	mov    -0xc(%ebp),%eax
4c50a3:	2b 45 f0             	sub    -0x10(%ebp),%eax
4c50a6:	01 43 10             	add    %eax,0x10(%ebx)
4c50a9:	b8 00 00 00 00       	mov    $0x0,%eax
4c50ae:	0f 48 43 10          	cmovs  0x10(%ebx),%eax
4c50b2:	03 43 04             	add    0x4(%ebx),%eax
4c50b5:	89 03                	mov    %eax,(%ebx)
4c50b7:	e9 98 fe ff ff       	jmp    0x4c4f54
4c50bc:	80 fa 10             	cmp    $0x10,%dl
4c50bf:	75 58                	jne    0x4c5119
4c50c1:	8d 45 d0             	lea    -0x30(%ebp),%eax
4c50c4:	83 ce 04             	or     $0x4,%esi
4c50c7:	50                   	push   %eax
4c50c8:	57                   	push   %edi
4c50c9:	e8 b2 ba f8 ff       	call   0x450b80
4c50ce:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4c50d1:	8b f8                	mov    %eax,%edi
4c50d3:	8b 45 d0             	mov    -0x30(%ebp),%eax
4c50d6:	83 c4 08             	add    $0x8,%esp
4c50d9:	89 41 18             	mov    %eax,0x18(%ecx)
4c50dc:	85 ff                	test   %edi,%edi
4c50de:	0f 85 70 fe ff ff    	jne    0x4c4f54
4c50e4:	33 ff                	xor    %edi,%edi
4c50e6:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4c50e9:	8b c7                	mov    %edi,%eax
4c50eb:	5f                   	pop    %edi
4c50ec:	09 73 08             	or     %esi,0x8(%ebx)
4c50ef:	5e                   	pop    %esi
4c50f0:	5b                   	pop    %ebx
4c50f1:	8b e5                	mov    %ebp,%esp
4c50f3:	5d                   	pop    %ebp
4c50f4:	c2 08 00             	ret    $0x8
4c50f7:	80 fa 08             	cmp    $0x8,%dl
4c50fa:	75 1d                	jne    0x4c5119
4c50fc:	8d 45 c8             	lea    -0x38(%ebp),%eax
4c50ff:	83 ce 02             	or     $0x2,%esi
4c5102:	50                   	push   %eax
4c5103:	57                   	push   %edi
4c5104:	e8 77 ba f8 ff       	call   0x450b80
4c5109:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4c510c:	8b f8                	mov    %eax,%edi
4c510e:	8b 45 c8             	mov    -0x38(%ebp),%eax
4c5111:	83 c4 08             	add    $0x8,%esp
4c5114:	89 41 14             	mov    %eax,0x14(%ecx)
4c5117:	eb c3                	jmp    0x4c50dc
4c5119:	8b c2                	mov    %edx,%eax
4c511b:	24 07                	and    $0x7,%al
4c511d:	3c 04                	cmp    $0x4,%al
4c511f:	74 50                	je     0x4c5171
4c5121:	85 d2                	test   %edx,%edx
4c5123:	74 4c                	je     0x4c5171
4c5125:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4c5128:	83 c1 04             	add    $0x4,%ecx
4c512b:	f6 01 01             	testb  $0x1,(%ecx)
4c512e:	74 0a                	je     0x4c513a
4c5130:	8b 01                	mov    (%ecx),%eax
4c5132:	83 e0 fc             	and    $0xfffffffc,%eax
4c5135:	83 c0 04             	add    $0x4,%eax
4c5138:	eb 08                	jmp    0x4c5142
4c513a:	e8 f1 ba f8 ff       	call   0x450c30
4c513f:	8b 55 f8             	mov    -0x8(%ebp),%edx
4c5142:	53                   	push   %ebx
4c5143:	57                   	push   %edi
4c5144:	50                   	push   %eax
4c5145:	6a 00                	push   $0x0
4c5147:	52                   	push   %edx
4c5148:	e8 63 be f9 ff       	call   0x460fb0
4c514d:	83 c4 14             	add    $0x14,%esp
4c5150:	8b f8                	mov    %eax,%edi
4c5152:	eb 88                	jmp    0x4c50dc
4c5154:	85 c0                	test   %eax,%eax
4c5156:	7e 8e                	jle    0x4c50e6
4c5158:	33 c0                	xor    %eax,%eax
4c515a:	39 43 08             	cmp    %eax,0x8(%ebx)
4c515d:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4c5160:	0f 44 f8             	cmove  %eax,%edi
4c5163:	8b c7                	mov    %edi,%eax
4c5165:	5f                   	pop    %edi
4c5166:	09 73 08             	or     %esi,0x8(%ebx)
4c5169:	5e                   	pop    %esi
4c516a:	5b                   	pop    %ebx
4c516b:	8b e5                	mov    %ebp,%esp
4c516d:	5d                   	pop    %ebp
4c516e:	c2 08 00             	ret    $0x8
4c5171:	8d 42 ff             	lea    -0x1(%edx),%eax
4c5174:	89 43 3c             	mov    %eax,0x3c(%ebx)
4c5177:	8b c7                	mov    %edi,%eax
4c5179:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4c517c:	5f                   	pop    %edi
4c517d:	09 73 08             	or     %esi,0x8(%ebx)
4c5180:	5e                   	pop    %esi
4c5181:	5b                   	pop    %ebx
4c5182:	8b e5                	mov    %ebp,%esp
4c5184:	5d                   	pop    %ebp
4c5185:	c2 08 00             	ret    $0x8
4c5188:	cc                   	int3
4c5189:	cc                   	int3
4c518a:	cc                   	int3
4c518b:	cc                   	int3
4c518c:	cc                   	int3
4c518d:	cc                   	int3
4c518e:	cc                   	int3
4c518f:	cc                   	int3
4c5190:	55                   	push   %ebp
4c5191:	8b ec                	mov    %esp,%ebp
4c5193:	83 ec 0c             	sub    $0xc,%esp
4c5196:	8b 45 08             	mov    0x8(%ebp),%eax
4c5199:	53                   	push   %ebx
4c519a:	8b d9                	mov    %ecx,%ebx
4c519c:	56                   	push   %esi
4c519d:	57                   	push   %edi
4c519e:	8b 7d 0c             	mov    0xc(%ebp),%edi
4c51a1:	8b 4b 08             	mov    0x8(%ebx),%ecx
4c51a4:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4c51a7:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4c51aa:	f6 c1 02             	test   $0x2,%cl
4c51ad:	74 28                	je     0x4c51d7
4c51af:	3b 07                	cmp    (%edi),%eax
4c51b1:	72 08                	jb     0x4c51bb
4c51b3:	50                   	push   %eax
4c51b4:	8b cf                	mov    %edi,%ecx
4c51b6:	e8 b5 43 f9 ff       	call   0x459570
4c51bb:	8b 73 14             	mov    0x14(%ebx),%esi
4c51be:	50                   	push   %eax
4c51bf:	6a 08                	push   $0x8
4c51c1:	e8 fa b8 f8 ff       	call   0x450ac0
4c51c6:	50                   	push   %eax
4c51c7:	8b c6                	mov    %esi,%eax
4c51c9:	99                   	cltd
4c51ca:	52                   	push   %edx
4c51cb:	50                   	push   %eax
4c51cc:	e8 8f 5f fa ff       	call   0x46b160
4c51d1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4c51d4:	83 c4 14             	add    $0x14,%esp
4c51d7:	f6 c1 04             	test   $0x4,%cl
4c51da:	74 28                	je     0x4c5204
4c51dc:	3b 07                	cmp    (%edi),%eax
4c51de:	72 08                	jb     0x4c51e8
4c51e0:	50                   	push   %eax
4c51e1:	8b cf                	mov    %edi,%ecx
4c51e3:	e8 88 43 f9 ff       	call   0x459570
4c51e8:	8b 73 18             	mov    0x18(%ebx),%esi
4c51eb:	50                   	push   %eax
4c51ec:	6a 10                	push   $0x10
4c51ee:	e8 cd b8 f8 ff       	call   0x450ac0
4c51f3:	50                   	push   %eax
4c51f4:	8b c6                	mov    %esi,%eax
4c51f6:	99                   	cltd
4c51f7:	52                   	push   %edx
4c51f8:	50                   	push   %eax
4c51f9:	e8 62 5f fa ff       	call   0x46b160
4c51fe:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4c5201:	83 c4 14             	add    $0x14,%esp
4c5204:	f6 c1 01             	test   $0x1,%cl
4c5207:	0f 84 ab 00 00 00    	je     0x4c52b8
4c520d:	3b 07                	cmp    (%edi),%eax
4c520f:	72 08                	jb     0x4c5219
4c5211:	50                   	push   %eax
4c5212:	8b cf                	mov    %edi,%ecx
4c5214:	e8 57 43 f9 ff       	call   0x459570
4c5219:	8b 5b 10             	mov    0x10(%ebx),%ebx
4c521c:	50                   	push   %eax