4a404a:	83 c3 10             	add    $0x10,%ebx
4a404d:	83 6c 24 1c 01       	subl   $0x1,0x1c(%esp)
4a4052:	8d 46 10             	lea    0x10(%esi),%eax
4a4055:	89 4c 24 28          	mov    %ecx,0x28(%esp)
4a4059:	75 9a                	jne    0x4a3ff5
4a405b:	8b 54 24 20          	mov    0x20(%esp),%edx
4a405f:	89 6c 24 34          	mov    %ebp,0x34(%esp)
4a4063:	8b 6c 24 10          	mov    0x10(%esp),%ebp
4a4067:	52                   	push   %edx
4a4068:	8b c3                	mov    %ebx,%eax
4a406a:	2b c2                	sub    %edx,%eax
4a406c:	50                   	push   %eax
4a406d:	8d 46 60             	lea    0x60(%esi),%eax
4a4070:	50                   	push   %eax
4a4071:	8d 46 40             	lea    0x40(%esi),%eax
4a4074:	50                   	push   %eax
4a4075:	e8 a6 07 00 00       	call   0x4a4820
4a407a:	8b 4c 24 44          	mov    0x44(%esp),%ecx
4a407e:	83 c4 10             	add    $0x10,%esp
4a4081:	85 c9                	test   %ecx,%ecx
4a4083:	74 5c                	je     0x4a40e1
4a4085:	ff 74 24 14          	push   0x14(%esp)
4a4089:	8d 46 10             	lea    0x10(%esi),%eax
4a408c:	50                   	push   %eax
4a408d:	56                   	push   %esi
4a408e:	ff 54 24 24          	call   *0x24(%esp)
4a4092:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4a4096:	83 c4 0c             	add    $0xc,%esp
4a4099:	8b 54 24 34          	mov    0x34(%esp),%edx
4a409d:	41                   	inc    %ecx
4a409e:	8b c1                	mov    %ecx,%eax
4a40a0:	88 4e 0f             	mov    %cl,0xf(%esi)
4a40a3:	c1 e8 18             	shr    $0x18,%eax
4a40a6:	88 46 0c             	mov    %al,0xc(%esi)
4a40a9:	8b c1                	mov    %ecx,%eax
4a40ab:	c1 e8 10             	shr    $0x10,%eax
4a40ae:	88 46 0d             	mov    %al,0xd(%esi)
4a40b1:	8b c1                	mov    %ecx,%eax
4a40b3:	c1 e8 08             	shr    $0x8,%eax
4a40b6:	2b fb                	sub    %ebx,%edi
4a40b8:	88 46 0e             	mov    %al,0xe(%esi)
4a40bb:	8d 04 2b             	lea    (%ebx,%ebp,1),%eax
4a40be:	89 44 24 28          	mov    %eax,0x28(%esp)
4a40c2:	8b d8                	mov    %eax,%ebx
4a40c4:	0f b6 04 1f          	movzbl (%edi,%ebx,1),%eax
4a40c8:	8d 5b 01             	lea    0x1(%ebx),%ebx
4a40cb:	0f b6 4c 2e 10       	movzbl 0x10(%esi,%ebp,1),%ecx
4a40d0:	33 c8                	xor    %eax,%ecx
4a40d2:	8d 04 2e             	lea    (%esi,%ebp,1),%eax
4a40d5:	88 4b ff             	mov    %cl,-0x1(%ebx)
4a40d8:	45                   	inc    %ebp
4a40d9:	30 48 40             	xor    %cl,0x40(%eax)
4a40dc:	83 ea 01             	sub    $0x1,%edx
4a40df:	75 e3                	jne    0x4a40c4
4a40e1:	5f                   	pop    %edi
4a40e2:	89 ae 68 01 00 00    	mov    %ebp,0x168(%esi)
4a40e8:	33 c0                	xor    %eax,%eax
4a40ea:	5d                   	pop    %ebp
4a40eb:	5b                   	pop    %ebx
4a40ec:	5e                   	pop    %esi
4a40ed:	83 c4 14             	add    $0x14,%esp
4a40f0:	c3                   	ret
4a40f1:	83 c8 ff             	or     $0xffffffff,%eax
4a40f4:	5e                   	pop    %esi
4a40f5:	83 c4 14             	add    $0x14,%esp
4a40f8:	c3                   	ret
4a40f9:	cc                   	int3
4a40fa:	cc                   	int3
4a40fb:	cc                   	int3
4a40fc:	cc                   	int3
4a40fd:	cc                   	int3
4a40fe:	cc                   	int3
4a40ff:	cc                   	int3
4a4100:	b8 0c 00 00 00       	mov    $0xc,%eax
4a4105:	e8 e6 d3 13 00       	call   0x5e14f0
4a410a:	55                   	push   %ebp
4a410b:	8b 6c 24 20          	mov    0x20(%esp),%ebp
4a410f:	33 c9                	xor    %ecx,%ecx
4a4111:	56                   	push   %esi
4a4112:	8b 74 24 18          	mov    0x18(%esp),%esi
4a4116:	8b 86 74 01 00 00    	mov    0x174(%esi),%eax
4a411c:	89 44 24 0c          	mov    %eax,0xc(%esp)
4a4120:	8b c5                	mov    %ebp,%eax
4a4122:	03 46 38             	add    0x38(%esi),%eax
4a4125:	13 4e 3c             	adc    0x3c(%esi),%ecx
4a4128:	83 f9 0f             	cmp    $0xf,%ecx
4a412b:	0f 87 3c 02 00 00    	ja     0x4a436d
4a4131:	72 09                	jb     0x4a413c
4a4133:	83 f8 e0             	cmp    $0xffffffe0,%eax
4a4136:	0f 87 31 02 00 00    	ja     0x4a436d
4a413c:	83 be 6c 01 00 00 00 	cmpl   $0x0,0x16c(%esi)
4a4143:	89 46 38             	mov    %eax,0x38(%esi)
4a4146:	89 4e 3c             	mov    %ecx,0x3c(%esi)
4a4149:	74 1a                	je     0x4a4165
4a414b:	8d 46 60             	lea    0x60(%esi),%eax
4a414e:	50                   	push   %eax
4a414f:	8d 46 40             	lea    0x40(%esi),%eax
4a4152:	50                   	push   %eax
4a4153:	e8 08 09 00 00       	call   0x4a4a60
4a4158:	83 c4 08             	add    $0x8,%esp
4a415b:	c7 86 6c 01 00 00 00 	movl   $0x0,0x16c(%esi)
4a4162:	00 00 00
4a4165:	0f b6 4e 0c          	movzbl 0xc(%esi),%ecx
4a4169:	0f b6 46 0d          	movzbl 0xd(%esi),%eax
4a416d:	c1 e1 08             	shl    $0x8,%ecx
4a4170:	0b c8                	or     %eax,%ecx
4a4172:	0f b6 46 0e          	movzbl 0xe(%esi),%eax
4a4176:	c1 e1 08             	shl    $0x8,%ecx
4a4179:	0b c8                	or     %eax,%ecx
4a417b:	0f b6 46 0f          	movzbl 0xf(%esi),%eax
4a417f:	c1 e1 08             	shl    $0x8,%ecx
4a4182:	0b c8                	or     %eax,%ecx
4a4184:	53                   	push   %ebx
4a4185:	8b 9e 68 01 00 00    	mov    0x168(%esi),%ebx
4a418b:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
4a418f:	8b 4c 24 24          	mov    0x24(%esp),%ecx
4a4193:	89 5c 24 14          	mov    %ebx,0x14(%esp)
4a4197:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
4a419b:	57                   	push   %edi
4a419c:	8b 7c 24 24          	mov    0x24(%esp),%edi
4a41a0:	89 7c 24 2c          	mov    %edi,0x2c(%esp)
4a41a4:	85 db                	test   %ebx,%ebx
4a41a6:	74 43                	je     0x4a41eb
4a41a8:	85 ed                	test   %ebp,%ebp
4a41aa:	74 23                	je     0x4a41cf
4a41ac:	8a 44 33 10          	mov    0x10(%ebx,%esi,1),%al
4a41b0:	4d                   	dec    %ebp
4a41b1:	32 07                	xor    (%edi),%al
4a41b3:	47                   	inc    %edi
4a41b4:	88 01                	mov    %al,(%ecx)
4a41b6:	41                   	inc    %ecx
4a41b7:	30 44 33 40          	xor    %al,0x40(%ebx,%esi,1)
4a41bb:	43                   	inc    %ebx
4a41bc:	83 e3 0f             	and    $0xf,%ebx
4a41bf:	89 4c 24 20          	mov    %ecx,0x20(%esp)
4a41c3:	89 7c 24 2c          	mov    %edi,0x2c(%esp)
4a41c7:	89 5c 24 18          	mov    %ebx,0x18(%esp)
4a41cb:	75 db                	jne    0x4a41a8
4a41cd:	eb 08                	jmp    0x4a41d7
4a41cf:	85 db                	test   %ebx,%ebx
4a41d1:	0f 85 86 01 00 00    	jne    0x4a435d
4a41d7:	8d 46 60             	lea    0x60(%esi),%eax
4a41da:	50                   	push   %eax
4a41db:	8d 46 40             	lea    0x40(%esi),%eax
4a41de:	50                   	push   %eax
4a41df:	e8 7c 08 00 00       	call   0x4a4a60
4a41e4:	8b 4c 24 28          	mov    0x28(%esp),%ecx
4a41e8:	83 c4 08             	add    $0x8,%esp
4a41eb:	81 fd 00 0c 00 00    	cmp    $0xc00,%ebp
4a41f1:	0f 82 90 00 00 00    	jb     0x4a4287
4a41f7:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4a41fb:	b8 ab aa aa aa       	mov    $0xaaaaaaab,%eax
4a4200:	f7 e5                	mul    %ebp
4a4202:	c1 ea 0b             	shr    $0xb,%edx
4a4205:	89 54 24 2c          	mov    %edx,0x2c(%esp)
4a4209:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
4a4210:	56                   	push   %esi
4a4211:	ff 74 24 18          	push   0x18(%esp)
4a4215:	68 c0 00 00 00       	push   $0xc0
4a421a:	51                   	push   %ecx
4a421b:	57                   	push   %edi
4a421c:	ff 54 24 44          	call   *0x44(%esp)
4a4220:	81 c3 c0 00 00 00    	add    $0xc0,%ebx
4a4226:	8b c3                	mov    %ebx,%eax
4a4228:	88 5e 0f             	mov    %bl,0xf(%esi)
4a422b:	c1 e8 18             	shr    $0x18,%eax
4a422e:	88 46 0c             	mov    %al,0xc(%esi)
4a4231:	8b c3                	mov    %ebx,%eax
4a4233:	c1 e8 10             	shr    $0x10,%eax
4a4236:	88 46 0d             	mov    %al,0xd(%esi)
4a4239:	8b c3                	mov    %ebx,%eax
4a423b:	c1 e8 08             	shr    $0x8,%eax
4a423e:	68 00 0c 00 00       	push   $0xc00
4a4243:	ff 74 24 38          	push   0x38(%esp)
4a4247:	88 46 0e             	mov    %al,0xe(%esi)
4a424a:	8d 46 60             	lea    0x60(%esi),%eax
4a424d:	50                   	push   %eax
4a424e:	8d 46 40             	lea    0x40(%esi),%eax
4a4251:	50                   	push   %eax
4a4252:	e8 c9 05 00 00       	call   0x4a4820
4a4257:	8b 4c 24 44          	mov    0x44(%esp),%ecx
4a425b:	83 c4 24             	add    $0x24,%esp
4a425e:	81 c1 00 0c 00 00    	add    $0xc00,%ecx
4a4264:	81 c7 00 0c 00 00    	add    $0xc00,%edi
4a426a:	81 ed 00 0c 00 00    	sub    $0xc00,%ebp
4a4270:	89 4c 24 20          	mov    %ecx,0x20(%esp)
4a4274:	83 6c 24 2c 01       	subl   $0x1,0x2c(%esp)
4a4279:	75 95                	jne    0x4a4210
4a427b:	89 5c 24 10          	mov    %ebx,0x10(%esp)
4a427f:	8b 5c 24 18          	mov    0x18(%esp),%ebx
4a4283:	89 7c 24 2c          	mov    %edi,0x2c(%esp)
4a4287:	8b c5                	mov    %ebp,%eax
4a4289:	83 e0 f0             	and    $0xfffffff0,%eax
4a428c:	89 44 24 18          	mov    %eax,0x18(%esp)
4a4290:	74 62                	je     0x4a42f4
4a4292:	56                   	push   %esi
4a4293:	ff 74 24 18          	push   0x18(%esp)
4a4297:	8b f8                	mov    %eax,%edi
4a4299:	c1 ef 04             	shr    $0x4,%edi
4a429c:	57                   	push   %edi
4a429d:	51                   	push   %ecx
4a429e:	ff 74 24 3c          	push   0x3c(%esp)
4a42a2:	ff 54 24 44          	call   *0x44(%esp)
4a42a6:	8b 4c 24 24          	mov    0x24(%esp),%ecx
4a42aa:	03 cf                	add    %edi,%ecx
4a42ac:	8b 7c 24 40          	mov    0x40(%esp),%edi
4a42b0:	8b c1                	mov    %ecx,%eax
4a42b2:	89 4c 24 24          	mov    %ecx,0x24(%esp)
4a42b6:	c1 e8 18             	shr    $0x18,%eax
4a42b9:	88 46 0c             	mov    %al,0xc(%esi)
4a42bc:	8b c1                	mov    %ecx,%eax
4a42be:	c1 e8 10             	shr    $0x10,%eax
4a42c1:	88 46 0d             	mov    %al,0xd(%esi)
4a42c4:	8b c1                	mov    %ecx,%eax
4a42c6:	c1 e8 08             	shr    $0x8,%eax
4a42c9:	88 46 0e             	mov    %al,0xe(%esi)
4a42cc:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4a42d0:	03 f8                	add    %eax,%edi
4a42d2:	50                   	push   %eax
4a42d3:	ff 74 24 38          	push   0x38(%esp)
4a42d7:	2b e8                	sub    %eax,%ebp
4a42d9:	88 4e 0f             	mov    %cl,0xf(%esi)
4a42dc:	8d 46 60             	lea    0x60(%esi),%eax
4a42df:	50                   	push   %eax
4a42e0:	8d 46 40             	lea    0x40(%esi),%eax
4a42e3:	50                   	push   %eax
4a42e4:	e8 37 05 00 00       	call   0x4a4820
4a42e9:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4a42ed:	83 c4 24             	add    $0x24,%esp
4a42f0:	01 44 24 20          	add    %eax,0x20(%esp)
4a42f4:	85 ed                	test   %ebp,%ebp
4a42f6:	74 65                	je     0x4a435d
4a42f8:	ff 74 24 14          	push   0x14(%esp)
4a42fc:	8d 46 10             	lea    0x10(%esi),%eax
4a42ff:	50                   	push   %eax
4a4300:	8b 86 70 01 00 00    	mov    0x170(%esi),%eax
4a4306:	56                   	push   %esi
4a4307:	ff d0                	call   *%eax
4a4309:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4a430d:	83 c4 0c             	add    $0xc,%esp
4a4310:	41                   	inc    %ecx
4a4311:	8b c1                	mov    %ecx,%eax
4a4313:	88 4e 0f             	mov    %cl,0xf(%esi)
4a4316:	c1 e8 18             	shr    $0x18,%eax
4a4319:	88 46 0c             	mov    %al,0xc(%esi)
4a431c:	8b c1                	mov    %ecx,%eax
4a431e:	c1 e8 10             	shr    $0x10,%eax
4a4321:	88 46 0d             	mov    %al,0xd(%esi)
4a4324:	8b c1                	mov    %ecx,%eax
4a4326:	c1 e8 08             	shr    $0x8,%eax
4a4329:	88 46 0e             	mov    %al,0xe(%esi)
4a432c:	8b 44 24 20          	mov    0x20(%esp),%eax
4a4330:	2b f8                	sub    %eax,%edi
4a4332:	8d 14 03             	lea    (%ebx,%eax,1),%edx
4a4335:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%eax,%eax,1)
4a433c:	00 00 00 00
4a4340:	0f b6 04 17          	movzbl (%edi,%edx,1),%eax
4a4344:	8d 52 01             	lea    0x1(%edx),%edx
4a4347:	0f b6 4c 1e 10       	movzbl 0x10(%esi,%ebx,1),%ecx
4a434c:	33 c8                	xor    %eax,%ecx
4a434e:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
4a4351:	88 4a ff             	mov    %cl,-0x1(%edx)
4a4354:	43                   	inc    %ebx
4a4355:	30 48 40             	xor    %cl,0x40(%eax)
4a4358:	83 ed 01             	sub    $0x1,%ebp
4a435b:	75 e3                	jne    0x4a4340
4a435d:	5f                   	pop    %edi
4a435e:	89 9e 68 01 00 00    	mov    %ebx,0x168(%esi)
4a4364:	33 c0                	xor    %eax,%eax
4a4366:	5b                   	pop    %ebx
4a4367:	5e                   	pop    %esi
4a4368:	5d                   	pop    %ebp
4a4369:	83 c4 0c             	add    $0xc,%esp
4a436c:	c3                   	ret
4a436d:	5e                   	pop    %esi
4a436e:	83 c8 ff             	or     $0xffffffff,%eax
4a4371:	5d                   	pop    %ebp
4a4372:	83 c4 0c             	add    $0xc,%esp
4a4375:	c3                   	ret
4a4376:	cc                   	int3
4a4377:	cc                   	int3
4a4378:	cc                   	int3
4a4379:	cc                   	int3
4a437a:	cc                   	int3
4a437b:	cc                   	int3
4a437c:	cc                   	int3
4a437d:	cc                   	int3
4a437e:	cc                   	int3
4a437f:	cc                   	int3
4a4380:	53                   	push   %ebx
4a4381:	55                   	push   %ebp
4a4382:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
4a4386:	56                   	push   %esi
4a4387:	57                   	push   %edi
4a4388:	8b 75 30             	mov    0x30(%ebp),%esi
4a438b:	8b 5d 34             	mov    0x34(%ebp),%ebx
4a438e:	8b 7d 38             	mov    0x38(%ebp),%edi
4a4391:	8b 45 3c             	mov    0x3c(%ebp),%eax
4a4394:	0f a4 f8 03          	shld   $0x3,%edi,%eax
4a4398:	0f a4 f3 03          	shld   $0x3,%esi,%ebx
4a439c:	c1 e7 03             	shl    $0x3,%edi
4a439f:	c1 e6 03             	shl    $0x3,%esi
4a43a2:	83 bd 68 01 00 00 00 	cmpl   $0x0,0x168(%ebp)
4a43a9:	89 44 24 14          	mov    %eax,0x14(%esp)
4a43ad:	75 09                	jne    0x4a43b8
4a43af:	83 bd 6c 01 00 00 00 	cmpl   $0x0,0x16c(%ebp)
4a43b6:	74 14                	je     0x4a43cc
4a43b8:	8d 45 60             	lea    0x60(%ebp),%eax
4a43bb:	50                   	push   %eax
4a43bc:	8d 45 40             	lea    0x40(%ebp),%eax
4a43bf:	50                   	push   %eax
4a43c0:	e8 9b 06 00 00       	call   0x4a4a60
4a43c5:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4a43c9:	83 c4 08             	add    $0x8,%esp
4a43cc:	89 5d 34             	mov    %ebx,0x34(%ebp)
4a43cf:	33 d2                	xor    %edx,%edx
4a43d1:	89 75 30             	mov    %esi,0x30(%ebp)
4a43d4:	89 7d 38             	mov    %edi,0x38(%ebp)
4a43d7:	33 ff                	xor    %edi,%edi
4a43d9:	89 45 3c             	mov    %eax,0x3c(%ebp)
4a43dc:	0f b6 45 35          	movzbl 0x35(%ebp),%eax
4a43e0:	0f b6 4d 31          	movzbl 0x31(%ebp),%ecx
4a43e4:	0f b6 75 38          	movzbl 0x38(%ebp),%esi
4a43e8:	0f b6 db             	movzbl %bl,%ebx
4a43eb:	c1 e3 08             	shl    $0x8,%ebx
4a43ee:	0b d8                	or     %eax,%ebx
4a43f0:	c1 e6 08             	shl    $0x8,%esi
4a43f3:	0f b6 45 36          	movzbl 0x36(%ebp),%eax
4a43f7:	c1 e3 08             	shl    $0x8,%ebx
4a43fa:	0b d8                	or     %eax,%ebx
4a43fc:	0f b6 45 37          	movzbl 0x37(%ebp),%eax
4a4400:	c1 e3 08             	shl    $0x8,%ebx
4a4403:	0b d8                	or     %eax,%ebx
4a4405:	0f b6 45 30          	movzbl 0x30(%ebp),%eax
4a4409:	c1 e0 08             	shl    $0x8,%eax
4a440c:	0b c8                	or     %eax,%ecx
4a440e:	0f b6 45 32          	movzbl 0x32(%ebp),%eax
4a4412:	c1 e1 08             	shl    $0x8,%ecx
4a4415:	0b c8                	or     %eax,%ecx
4a4417:	0f b6 45 33          	movzbl 0x33(%ebp),%eax
4a441b:	c1 e1 08             	shl    $0x8,%ecx
4a441e:	0b c8                	or     %eax,%ecx
4a4420:	0f b6 45 39          	movzbl 0x39(%ebp),%eax
4a4424:	0b f0                	or     %eax,%esi
4a4426:	0b f9                	or     %ecx,%edi
4a4428:	0f b6 45 3a          	movzbl 0x3a(%ebp),%eax
4a442c:	0f b6 4d 3c          	movzbl 0x3c(%ebp),%ecx
4a4430:	c1 e6 08             	shl    $0x8,%esi
4a4433:	0b f0                	or     %eax,%esi
4a4435:	c1 e1 08             	shl    $0x8,%ecx