4c3ed4:	03 c7                	add    %edi,%eax
4c3ed6:	03 45 f0             	add    -0x10(%ebp),%eax
4c3ed9:	03 d8                	add    %eax,%ebx
4c3edb:	8b 56 08             	mov    0x8(%esi),%edx
4c3ede:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4c3ee1:	89 55 f0             	mov    %edx,-0x10(%ebp)
4c3ee4:	f6 c2 1f             	test   $0x1f,%dl
4c3ee7:	0f 84 55 01 00 00    	je     0x4c4042
4c3eed:	f6 c2 01             	test   $0x1,%dl
4c3ef0:	74 25                	je     0x4c3f17
4c3ef2:	8b 46 78             	mov    0x78(%esi),%eax
4c3ef5:	43                   	inc    %ebx
4c3ef6:	83 e0 fe             	and    $0xfffffffe,%eax
4c3ef9:	8b 48 10             	mov    0x10(%eax),%ecx
4c3efc:	8b c1                	mov    %ecx,%eax
4c3efe:	83 c8 01             	or     $0x1,%eax
4c3f01:	0f bd c0             	bsr    %eax,%eax
4c3f04:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4c3f07:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4c3f0a:	83 c0 49             	add    $0x49,%eax
4c3f0d:	c1 e8 06             	shr    $0x6,%eax
4c3f10:	03 c1                	add    %ecx,%eax
4c3f12:	03 d8                	add    %eax,%ebx
4c3f14:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4c3f17:	f6 c2 02             	test   $0x2,%dl
4c3f1a:	74 25                	je     0x4c3f41
4c3f1c:	8b 46 7c             	mov    0x7c(%esi),%eax
4c3f1f:	83 e0 fe             	and    $0xfffffffe,%eax
4c3f22:	8b 48 10             	mov    0x10(%eax),%ecx
4c3f25:	8b c1                	mov    %ecx,%eax
4c3f27:	83 c8 01             	or     $0x1,%eax
4c3f2a:	0f bd c0             	bsr    %eax,%eax
4c3f2d:	89 45 d0             	mov    %eax,-0x30(%ebp)
4c3f30:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4c3f33:	83 c0 49             	add    $0x49,%eax
4c3f36:	c1 e8 06             	shr    $0x6,%eax
4c3f39:	40                   	inc    %eax
4c3f3a:	03 c1                	add    %ecx,%eax
4c3f3c:	03 d8                	add    %eax,%ebx
4c3f3e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4c3f41:	f6 c2 04             	test   $0x4,%dl
4c3f44:	74 28                	je     0x4c3f6e
4c3f46:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
4c3f4c:	83 e0 fe             	and    $0xfffffffe,%eax
4c3f4f:	8b 48 10             	mov    0x10(%eax),%ecx
4c3f52:	8b c1                	mov    %ecx,%eax
4c3f54:	83 c8 01             	or     $0x1,%eax
4c3f57:	0f bd c0             	bsr    %eax,%eax
4c3f5a:	89 45 cc             	mov    %eax,-0x34(%ebp)
4c3f5d:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4c3f60:	83 c0 49             	add    $0x49,%eax
4c3f63:	c1 e8 06             	shr    $0x6,%eax
4c3f66:	40                   	inc    %eax
4c3f67:	03 c1                	add    %ecx,%eax
4c3f69:	03 d8                	add    %eax,%ebx
4c3f6b:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4c3f6e:	f6 c2 08             	test   $0x8,%dl
4c3f71:	74 2a                	je     0x4c3f9d
4c3f73:	8b 8e 84 00 00 00    	mov    0x84(%esi),%ecx
4c3f79:	e8 52 8c ff ff       	call   0x4bcbd0
4c3f7e:	8b c8                	mov    %eax,%ecx
4c3f80:	8b 55 f0             	mov    -0x10(%ebp),%edx
4c3f83:	83 c9 01             	or     $0x1,%ecx
4c3f86:	0f bd c9             	bsr    %ecx,%ecx
4c3f89:	89 4d c8             	mov    %ecx,-0x38(%ebp)
4c3f8c:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
4c3f8f:	83 c1 49             	add    $0x49,%ecx
4c3f92:	c1 e9 06             	shr    $0x6,%ecx
4c3f95:	41                   	inc    %ecx
4c3f96:	03 c8                	add    %eax,%ecx
4c3f98:	03 d9                	add    %ecx,%ebx
4c3f9a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4c3f9d:	f6 c2 10             	test   $0x10,%dl
4c3fa0:	0f 84 9c 00 00 00    	je     0x4c4042
4c3fa6:	8b 86 88 00 00 00    	mov    0x88(%esi),%eax
4c3fac:	89 45 ec             	mov    %eax,-0x14(%ebp)
4c3faf:	8b 50 14             	mov    0x14(%eax),%edx
4c3fb2:	8b 48 0c             	mov    0xc(%eax),%ecx
4c3fb5:	85 d2                	test   %edx,%edx
4c3fb7:	74 0a                	je     0x4c3fc3
4c3fb9:	83 c2 04             	add    $0x4,%edx
4c3fbc:	89 55 f0             	mov    %edx,-0x10(%ebp)
4c3fbf:	8b f2                	mov    %edx,%esi
4c3fc1:	eb 0b                	jmp    0x4c3fce
4c3fc3:	33 f6                	xor    %esi,%esi
4c3fc5:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
4c3fcc:	33 d2                	xor    %edx,%edx
4c3fce:	8d 3c 8a             	lea    (%edx,%ecx,4),%edi
4c3fd1:	39 7d f0             	cmp    %edi,-0x10(%ebp)
4c3fd4:	74 34                	je     0x4c400a
4c3fd6:	8b d9                	mov    %ecx,%ebx
4c3fd8:	8b 0e                	mov    (%esi),%ecx
4c3fda:	e8 81 dc ff ff       	call   0x4c1c60
4c3fdf:	8b c8                	mov    %eax,%ecx
4c3fe1:	83 c6 04             	add    $0x4,%esi
4c3fe4:	83 c9 01             	or     $0x1,%ecx
4c3fe7:	0f bd c9             	bsr    %ecx,%ecx
4c3fea:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4c3fed:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
4c3ff0:	83 c1 49             	add    $0x49,%ecx
4c3ff3:	c1 e9 06             	shr    $0x6,%ecx
4c3ff6:	03 c8                	add    %eax,%ecx
4c3ff8:	03 d9                	add    %ecx,%ebx
4c3ffa:	3b f7                	cmp    %edi,%esi
4c3ffc:	75 da                	jne    0x4c3fd8
4c3ffe:	8b 45 ec             	mov    -0x14(%ebp),%eax
4c4001:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4c4004:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4c4007:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4c400a:	8d 50 04             	lea    0x4(%eax),%edx
4c400d:	83 c0 18             	add    $0x18,%eax
4c4010:	f6 02 01             	testb  $0x1,(%edx)
4c4013:	74 0f                	je     0x4c4024
4c4015:	50                   	push   %eax
4c4016:	51                   	push   %ecx
4c4017:	52                   	push   %edx
4c4018:	e8 93 b4 fa ff       	call   0x46f4b0
4c401d:	83 c4 0c             	add    $0xc,%esp
4c4020:	8b c8                	mov    %eax,%ecx
4c4022:	eb 02                	jmp    0x4c4026
4c4024:	89 08                	mov    %ecx,(%eax)
4c4026:	8b c1                	mov    %ecx,%eax
4c4028:	8b 75 f8             	mov    -0x8(%ebp),%esi
4c402b:	83 c8 01             	or     $0x1,%eax
4c402e:	43                   	inc    %ebx
4c402f:	0f bd c0             	bsr    %eax,%eax
4c4032:	89 45 ec             	mov    %eax,-0x14(%ebp)
4c4035:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4c4038:	83 c0 49             	add    $0x49,%eax
4c403b:	c1 e8 06             	shr    $0x6,%eax
4c403e:	03 c1                	add    %ecx,%eax
4c4040:	03 d8                	add    %eax,%ebx
4c4042:	8d 46 04             	lea    0x4(%esi),%eax
4c4045:	83 c6 0c             	add    $0xc,%esi
4c4048:	f6 00 01             	testb  $0x1,(%eax)
4c404b:	74 12                	je     0x4c405f
4c404d:	56                   	push   %esi
4c404e:	53                   	push   %ebx
4c404f:	50                   	push   %eax
4c4050:	e8 5b b4 fa ff       	call   0x46f4b0
4c4055:	83 c4 0c             	add    $0xc,%esp
4c4058:	5f                   	pop    %edi
4c4059:	5e                   	pop    %esi
4c405a:	5b                   	pop    %ebx
4c405b:	8b e5                	mov    %ebp,%esp
4c405d:	5d                   	pop    %ebp
4c405e:	c3                   	ret
4c405f:	5f                   	pop    %edi
4c4060:	89 1e                	mov    %ebx,(%esi)
4c4062:	8b c3                	mov    %ebx,%eax
4c4064:	5e                   	pop    %esi
4c4065:	5b                   	pop    %ebx
4c4066:	8b e5                	mov    %ebp,%esp
4c4068:	5d                   	pop    %ebp
4c4069:	c3                   	ret
4c406a:	cc                   	int3
4c406b:	cc                   	int3
4c406c:	cc                   	int3
4c406d:	cc                   	int3
4c406e:	cc                   	int3
4c406f:	cc                   	int3
4c4070:	55                   	push   %ebp
4c4071:	8b ec                	mov    %esp,%ebp
4c4073:	83 ec 54             	sub    $0x54,%esp
4c4076:	53                   	push   %ebx
4c4077:	56                   	push   %esi
4c4078:	8b 75 08             	mov    0x8(%ebp),%esi
4c407b:	57                   	push   %edi
4c407c:	8b 7d 0c             	mov    0xc(%ebp),%edi
4c407f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4c4082:	3b 37                	cmp    (%edi),%esi
4c4084:	72 2a                	jb     0x4c40b0
4c4086:	8b c6                	mov    %esi,%eax
4c4088:	2b 47 04             	sub    0x4(%edi),%eax
4c408b:	3b 47 10             	cmp    0x10(%edi),%eax
4c408e:	0f 84 58 06 00 00    	je     0x4c46ec
4c4094:	ff 77 48             	push   0x48(%edi)
4c4097:	8b cf                	mov    %edi,%ecx
4c4099:	50                   	push   %eax
4c409a:	8d 45 dc             	lea    -0x24(%ebp),%eax
4c409d:	50                   	push   %eax
4c409e:	e8 8d ae f9 ff       	call   0x45ef30
4c40a3:	80 7d e0 00          	cmpb   $0x0,-0x20(%ebp)
4c40a7:	8b 75 dc             	mov    -0x24(%ebp),%esi
4c40aa:	0f 85 ac 00 00 00    	jne    0x4c415c
4c40b0:	0f b6 1e             	movzbl (%esi),%ebx
4c40b3:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
4c40b9:	73 03                	jae    0x4c40be
4c40bb:	46                   	inc    %esi
4c40bc:	eb 2f                	jmp    0x4c40ed
4c40be:	0f b6 4e 01          	movzbl 0x1(%esi),%ecx
4c40c2:	83 c3 80             	add    $0xffffff80,%ebx
4c40c5:	8b c1                	mov    %ecx,%eax
4c40c7:	c1 e0 07             	shl    $0x7,%eax
4c40ca:	03 d8                	add    %eax,%ebx
4c40cc:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
4c40d2:	73 05                	jae    0x4c40d9
4c40d4:	83 c6 02             	add    $0x2,%esi
4c40d7:	eb 14                	jmp    0x4c40ed
4c40d9:	53                   	push   %ebx
4c40da:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4c40dd:	56                   	push   %esi
4c40de:	50                   	push   %eax
4c40df:	e8 fc b8 f9 ff       	call   0x45f9e0
4c40e4:	8b 5d d8             	mov    -0x28(%ebp),%ebx
4c40e7:	83 c4 0c             	add    $0xc,%esp
4c40ea:	8b 75 d4             	mov    -0x2c(%ebp),%esi
4c40ed:	85 f6                	test   %esi,%esi
4c40ef:	74 69                	je     0x4c415a
4c40f1:	8b c3                	mov    %ebx,%eax
4c40f3:	c1 e8 03             	shr    $0x3,%eax
4c40f6:	48                   	dec    %eax
4c40f7:	83 f8 0b             	cmp    $0xb,%eax
4c40fa:	0f 87 a2 05 00 00    	ja     0x4c46a2
4c4100:	ff 24 85 18 47 4c 00 	jmp    *0x4c4718(,%eax,4)
4c4107:	80 fb 0a             	cmp    $0xa,%bl
4c410a:	0f 85 92 05 00 00    	jne    0x4c46a2
4c4110:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4c4113:	c6 45 ec 00          	movb   $0x0,-0x14(%ebp)
4c4117:	83 4b 08 01          	orl    $0x1,0x8(%ebx)
4c411b:	8b 4b 04             	mov    0x4(%ebx),%ecx
4c411e:	f6 c1 03             	test   $0x3,%cl
4c4121:	75 05                	jne    0x4c4128
4c4123:	83 e1 fc             	and    $0xfffffffc,%ecx
4c4126:	eb 11                	jmp    0x4c4139
4c4128:	8b c1                	mov    %ecx,%eax
4c412a:	d1 e8                	shr    $1,%eax
4c412c:	a8 01                	test   $0x1,%al
4c412e:	74 04                	je     0x4c4134
4c4130:	33 c9                	xor    %ecx,%ecx
4c4132:	eb 05                	jmp    0x4c4139
4c4134:	83 e1 fc             	and    $0xfffffffc,%ecx
4c4137:	8b 09                	mov    (%ecx),%ecx
4c4139:	51                   	push   %ecx
4c413a:	ff 75 ec             	push   -0x14(%ebp)
4c413d:	8d 4b 78             	lea    0x78(%ebx),%ecx
4c4140:	e8 eb 77 f9 ff       	call   0x45b930
4c4145:	57                   	push   %edi
4c4146:	56                   	push   %esi
4c4147:	50                   	push   %eax
4c4148:	e8 a3 af f9 ff       	call   0x45f0f0
4c414d:	83 c4 0c             	add    $0xc,%esp
4c4150:	8b f0                	mov    %eax,%esi
4c4152:	85 f6                	test   %esi,%esi
4c4154:	0f 85 28 ff ff ff    	jne    0x4c4082
4c415a:	33 f6                	xor    %esi,%esi
4c415c:	5f                   	pop    %edi
4c415d:	8b c6                	mov    %esi,%eax
4c415f:	5e                   	pop    %esi
4c4160:	5b                   	pop    %ebx
4c4161:	8b e5                	mov    %ebp,%esp
4c4163:	5d                   	pop    %ebp
4c4164:	c2 08 00             	ret    $0x8
4c4167:	80 fb 12             	cmp    $0x12,%bl
4c416a:	0f 85 32 05 00 00    	jne    0x4c46a2
4c4170:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4c4173:	c6 45 e8 00          	movb   $0x0,-0x18(%ebp)
4c4177:	83 4b 08 02          	orl    $0x2,0x8(%ebx)
4c417b:	8b 4b 04             	mov    0x4(%ebx),%ecx
4c417e:	f6 c1 03             	test   $0x3,%cl
4c4181:	75 0c                	jne    0x4c418f
4c4183:	83 e1 fc             	and    $0xfffffffc,%ecx
4c4186:	51                   	push   %ecx
4c4187:	ff 75 e8             	push   -0x18(%ebp)
4c418a:	8d 4b 7c             	lea    0x7c(%ebx),%ecx
4c418d:	eb b1                	jmp    0x4c4140
4c418f:	8b c1                	mov    %ecx,%eax
4c4191:	d1 e8                	shr    $1,%eax
4c4193:	a8 01                	test   $0x1,%al
4c4195:	74 0b                	je     0x4c41a2
4c4197:	33 c9                	xor    %ecx,%ecx
4c4199:	51                   	push   %ecx
4c419a:	ff 75 e8             	push   -0x18(%ebp)
4c419d:	8d 4b 7c             	lea    0x7c(%ebx),%ecx
4c41a0:	eb 9e                	jmp    0x4c4140
4c41a2:	83 e1 fc             	and    $0xfffffffc,%ecx
4c41a5:	8b 09                	mov    (%ecx),%ecx
4c41a7:	51                   	push   %ecx
4c41a8:	ff 75 e8             	push   -0x18(%ebp)
4c41ab:	8d 4b 7c             	lea    0x7c(%ebx),%ecx
4c41ae:	eb 90                	jmp    0x4c4140
4c41b0:	80 fb 1a             	cmp    $0x1a,%bl
4c41b3:	0f 85 e9 04 00 00    	jne    0x4c46a2
4c41b9:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4c41bc:	4e                   	dec    %esi
4c41bd:	0f 1f 00             	nopl   (%eax)
4c41c0:	8d 4b 10             	lea    0x10(%ebx),%ecx
4c41c3:	e8 28 8f f9 ff       	call   0x45d0f0
4c41c8:	57                   	push   %edi
4c41c9:	46                   	inc    %esi
4c41ca:	56                   	push   %esi
4c41cb:	50                   	push   %eax
4c41cc:	e8 1f af f9 ff       	call   0x45f0f0
4c41d1:	8b f0                	mov    %eax,%esi
4c41d3:	83 c4 0c             	add    $0xc,%esp
4c41d6:	85 f6                	test   %esi,%esi
4c41d8:	74 80                	je     0x4c415a
4c41da:	3b 37                	cmp    (%edi),%esi
4c41dc:	0f 83 a4 fe ff ff    	jae    0x4c4086
4c41e2:	80 3e 1a             	cmpb   $0x1a,(%esi)
4c41e5:	74 d9                	je     0x4c41c0
4c41e7:	e9 96 fe ff ff       	jmp    0x4c4082
4c41ec:	80 fb 22             	cmp    $0x22,%bl
4c41ef:	0f 85 ad 04 00 00    	jne    0x4c46a2
4c41f5:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4c41f8:	4e                   	dec    %esi
4c41f9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
4c4200:	8b 43 2c             	mov    0x2c(%ebx),%eax
4c4203:	46                   	inc    %esi
4c4204:	85 c0                	test   %eax,%eax
4c4206:	74 20                	je     0x4c4228
4c4208:	8b 4b 24             	mov    0x24(%ebx),%ecx
4c420b:	8b 10                	mov    (%eax),%edx
4c420d:	3b ca                	cmp    %edx,%ecx
4c420f:	7d 12                	jge    0x4c4223
4c4211:	8b 44 88 04          	mov    0x4(%eax,%ecx,4),%eax
4c4215:	89 45 f4             	mov    %eax,-0xc(%ebp)
4c4218:	8d 41 01             	lea    0x1(%ecx),%eax
4c421b:	89 43 24             	mov    %eax,0x24(%ebx)
4c421e:	8b 45 f4             	mov    -0xc(%ebp),%eax
4c4221:	eb 2f                	jmp    0x4c4252
4c4223:	3b 53 28             	cmp    0x28(%ebx),%edx
4c4226:	75 10                	jne    0x4c4238
4c4228:	8b 43 28             	mov    0x28(%ebx),%eax
4c422b:	8d 4b 20             	lea    0x20(%ebx),%ecx
4c422e:	40                   	inc    %eax
4c422f:	50                   	push   %eax
4c4230:	e8 5b 96 f9 ff       	call   0x45d890
4c4235:	8b 43 2c             	mov    0x2c(%ebx),%eax
4c4238:	ff 00                	incl   (%eax)
4c423a:	ff 73 20             	push   0x20(%ebx)
4c423d:	e8 ae 2b 00 00       	call   0x4c6df0
4c4242:	8b 53 24             	mov    0x24(%ebx),%edx
4c4245:	83 c4 04             	add    $0x4,%esp
4c4248:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
4c424b:	89 44 91 04          	mov    %eax,0x4(%ecx,%edx,4)
4c424f:	ff 43 24             	incl   0x24(%ebx)
4c4252:	56                   	push   %esi
4c4253:	50                   	push   %eax
4c4254:	8b cf                	mov    %edi,%ecx
4c4256:	e8 15 49 00 00       	call   0x4c8b70
4c425b:	8b f0                	mov    %eax,%esi
4c425d:	85 f6                	test   %esi,%esi
4c425f:	0f 84 f5 fe ff ff    	je     0x4c415a
4c4265:	3b 37                	cmp    (%edi),%esi
4c4267:	0f 83 19 fe ff ff    	jae    0x4c4086
4c426d:	80 3e 22             	cmpb   $0x22,(%esi)
4c4270:	74 8e                	je     0x4c4200
4c4272:	e9 0b fe ff ff       	jmp    0x4c4082
4c4277:	80 fb 2a             	cmp    $0x2a,%bl