4f4251:	8b ec                	mov    %esp,%ebp
4f4253:	83 ec 2c             	sub    $0x2c,%esp
4f4256:	a1 d4 89 72 00       	mov    0x7289d4,%eax
4f425b:	33 c5                	xor    %ebp,%eax
4f425d:	89 45 fc             	mov    %eax,-0x4(%ebp)
4f4260:	53                   	push   %ebx
4f4261:	8b 5d 08             	mov    0x8(%ebp),%ebx
4f4264:	56                   	push   %esi
4f4265:	33 f6                	xor    %esi,%esi
4f4267:	57                   	push   %edi
4f4268:	8b 43 14             	mov    0x14(%ebx),%eax
4f426b:	8b 48 24             	mov    0x24(%eax),%ecx
4f426e:	b8 ab aa aa aa       	mov    $0xaaaaaaab,%eax
4f4273:	03 c9                	add    %ecx,%ecx
4f4275:	f7 e1                	mul    %ecx
4f4277:	8b ca                	mov    %edx,%ecx
4f4279:	d1 e9                	shr    $1,%ecx
4f427b:	33 c0                	xor    %eax,%eax
4f427d:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4f4280:	89 45 dc             	mov    %eax,-0x24(%ebp)
4f4283:	8b 7b 74             	mov    0x74(%ebx),%edi
4f4286:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
4f428a:	7d 14                	jge    0x4f42a0
4f428c:	57                   	push   %edi
4f428d:	e8 ee 20 00 00       	call   0x4f6380
4f4292:	83 c4 04             	add    $0x4,%esp
4f4295:	85 c0                	test   %eax,%eax
4f4297:	0f 85 2d 02 00 00    	jne    0x4f44ca
4f429d:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4f42a0:	8a 47 0c             	mov    0xc(%edi),%al
4f42a3:	84 c0                	test   %al,%al
4f42a5:	75 09                	jne    0x4f42b0
4f42a7:	39 4f 14             	cmp    %ecx,0x14(%edi)
4f42aa:	0f 8e 1a 02 00 00    	jle    0x4f44ca
4f42b0:	0f be 53 44          	movsbl 0x44(%ebx),%edx
4f42b4:	89 55 d4             	mov    %edx,-0x2c(%ebp)
4f42b7:	85 d2                	test   %edx,%edx
4f42b9:	75 60                	jne    0x4f431b
4f42bb:	84 c0                	test   %al,%al
4f42bd:	0f 84 07 02 00 00    	je     0x4f44ca
4f42c3:	8b 43 14             	mov    0x14(%ebx),%eax
4f42c6:	8b 40 08             	mov    0x8(%eax),%eax
4f42c9:	85 c0                	test   %eax,%eax
4f42cb:	74 1f                	je     0x4f42ec
4f42cd:	0f 1f 00             	nopl   (%eax)
4f42d0:	3b c3                	cmp    %ebx,%eax
4f42d2:	74 11                	je     0x4f42e5
4f42d4:	80 38 00             	cmpb   $0x0,(%eax)
4f42d7:	75 0c                	jne    0x4f42e5
4f42d9:	8b 48 74             	mov    0x74(%eax),%ecx
4f42dc:	3b 4b 74             	cmp    0x74(%ebx),%ecx
4f42df:	0f 84 c2 01 00 00    	je     0x4f44a7
4f42e5:	8b 40 18             	mov    0x18(%eax),%eax
4f42e8:	85 c0                	test   %eax,%eax
4f42ea:	75 e4                	jne    0x4f42d0
4f42ec:	8d 43 7c             	lea    0x7c(%ebx),%eax
4f42ef:	50                   	push   %eax
4f42f0:	57                   	push   %edi
4f42f1:	e8 fa 01 00 00       	call   0x4f44f0
4f42f6:	8b f0                	mov    %eax,%esi
4f42f8:	83 c4 08             	add    $0x8,%esp
4f42fb:	85 f6                	test   %esi,%esi
4f42fd:	0f 85 c7 01 00 00    	jne    0x4f44ca
4f4303:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4f4306:	c6 43 44 01          	movb   $0x1,0x44(%ebx)
4f430a:	89 43 46             	mov    %eax,0x46(%ebx)
4f430d:	8b 43 7c             	mov    0x7c(%ebx),%eax
4f4310:	89 7b 78             	mov    %edi,0x78(%ebx)
4f4313:	89 43 74             	mov    %eax,0x74(%ebx)
4f4316:	e9 68 ff ff ff       	jmp    0x4f4283
4f431b:	8b 4c 93 74          	mov    0x74(%ebx,%edx,4),%ecx
4f431f:	0f b7 44 53 46       	movzwl 0x46(%ebx,%edx,2),%eax
4f4324:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4f4327:	89 45 d8             	mov    %eax,-0x28(%ebp)
4f432a:	8b 71 48             	mov    0x48(%ecx),%esi
4f432d:	f6 46 1c 04          	testb  $0x4,0x1c(%esi)
4f4331:	8b 56 14             	mov    0x14(%esi),%edx
4f4334:	74 30                	je     0x4f4366
4f4336:	8b 42 18             	mov    0x18(%edx),%eax
4f4339:	3b 46 18             	cmp    0x18(%esi),%eax
4f433c:	72 28                	jb     0x4f4366
4f433e:	83 7a 60 00          	cmpl   $0x0,0x60(%edx)
4f4342:	74 5c                	je     0x4f43a0
4f4344:	56                   	push   %esi
4f4345:	e8 d6 36 06 00       	call   0x557a20
4f434a:	83 c4 04             	add    $0x4,%esp
4f434d:	85 c0                	test   %eax,%eax
4f434f:	74 0e                	je     0x4f435f
4f4351:	56                   	push   %esi
4f4352:	e8 c9 37 06 00       	call   0x557b20
4f4357:	83 c4 04             	add    $0x4,%esp
4f435a:	89 45 e8             	mov    %eax,-0x18(%ebp)
4f435d:	eb 36                	jmp    0x4f4395
4f435f:	33 c0                	xor    %eax,%eax
4f4361:	89 45 e8             	mov    %eax,-0x18(%ebp)
4f4364:	eb 2f                	jmp    0x4f4395
4f4366:	8b 42 28             	mov    0x28(%edx),%eax
4f4369:	89 45 e8             	mov    %eax,-0x18(%ebp)
4f436c:	85 c0                	test   %eax,%eax
4f436e:	0f 85 c1 00 00 00    	jne    0x4f4435
4f4374:	8b 82 94 00 00 00    	mov    0x94(%edx),%eax
4f437a:	56                   	push   %esi
4f437b:	3b 82 98 00 00 00    	cmp    0x98(%edx),%eax
4f4381:	76 07                	jbe    0x4f438a
4f4383:	e8 d8 91 01 00       	call   0x50d560
4f4388:	eb 05                	jmp    0x4f438f
4f438a:	e8 11 a5 01 00       	call   0x50e8a0
4f438f:	89 45 e8             	mov    %eax,-0x18(%ebp)
4f4392:	83 c4 04             	add    $0x4,%esp
4f4395:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4f4398:	85 c0                	test   %eax,%eax
4f439a:	0f 85 95 00 00 00    	jne    0x4f4435
4f43a0:	83 79 14 00          	cmpl   $0x0,0x14(%ecx)
4f43a4:	7d 13                	jge    0x4f43b9
4f43a6:	51                   	push   %ecx
4f43a7:	e8 d4 1f 00 00       	call   0x4f6380
4f43ac:	83 c4 04             	add    $0x4,%esp
4f43af:	89 45 e8             	mov    %eax,-0x18(%ebp)
4f43b2:	85 c0                	test   %eax,%eax
4f43b4:	75 7f                	jne    0x4f4435
4f43b6:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4f43b9:	80 7f 03 00          	cmpb   $0x0,0x3(%edi)
4f43bd:	74 32                	je     0x4f43f1
4f43bf:	80 7f 0c 01          	cmpb   $0x1,0xc(%edi)
4f43c3:	75 2c                	jne    0x4f43f1
4f43c5:	66 8b 47 1c          	mov    0x1c(%edi),%ax
4f43c9:	66 3b 47 18          	cmp    0x18(%edi),%ax
4f43cd:	75 22                	jne    0x4f43f1
4f43cf:	83 79 04 01          	cmpl   $0x1,0x4(%ecx)
4f43d3:	74 1c                	je     0x4f43f1
4f43d5:	0f b7 41 18          	movzwl 0x18(%ecx),%eax
4f43d9:	3b 45 d8             	cmp    -0x28(%ebp),%eax
4f43dc:	75 13                	jne    0x4f43f1
4f43de:	8d 45 ec             	lea    -0x14(%ebp),%eax
4f43e1:	50                   	push   %eax
4f43e2:	57                   	push   %edi
4f43e3:	51                   	push   %ecx
4f43e4:	e8 47 18 00 00       	call   0x4f5c30
4f43e9:	83 c4 0c             	add    $0xc,%esp
4f43ec:	89 45 e8             	mov    %eax,-0x18(%ebp)
4f43ef:	eb 44                	jmp    0x4f4435
4f43f1:	8b 43 14             	mov    0x14(%ebx),%eax
4f43f4:	ff 70 20             	push   0x20(%eax)
4f43f7:	e8 34 b6 01 00       	call   0x50fa30
4f43fc:	0f b6 4b 03          	movzbl 0x3(%ebx),%ecx
4f4400:	8b f0                	mov    %eax,%esi
4f4402:	83 e1 01             	and    $0x1,%ecx
4f4405:	51                   	push   %ecx
4f4406:	33 c9                	xor    %ecx,%ecx
4f4408:	83 7d d4 01          	cmpl   $0x1,-0x2c(%ebp)
4f440c:	0f 94 c1             	sete   %cl
4f440f:	51                   	push   %ecx
4f4410:	56                   	push   %esi
4f4411:	ff 75 d8             	push   -0x28(%ebp)
4f4414:	ff 75 e4             	push   -0x1c(%ebp)
4f4417:	e8 d4 01 00 00       	call   0x4f45f0
4f441c:	89 45 e8             	mov    %eax,-0x18(%ebp)
4f441f:	83 c4 18             	add    $0x18,%esp
4f4422:	8b 45 dc             	mov    -0x24(%ebp),%eax
4f4425:	85 c0                	test   %eax,%eax
4f4427:	74 09                	je     0x4f4432
4f4429:	50                   	push   %eax
4f442a:	e8 61 ba 01 00       	call   0x50fe90
4f442f:	83 c4 04             	add    $0x4,%esp
4f4432:	89 75 dc             	mov    %esi,-0x24(%ebp)
4f4435:	8b 57 48             	mov    0x48(%edi),%edx
4f4438:	c6 47 0c 00          	movb   $0x0,0xc(%edi)
4f443c:	f6 42 1c 20          	testb  $0x20,0x1c(%edx)
4f4440:	74 3f                	je     0x4f4481
4f4442:	8b 42 14             	mov    0x14(%edx),%eax
4f4445:	ff 48 78             	decl   0x78(%eax)
4f4448:	8b 88 88 00 00 00    	mov    0x88(%eax),%ecx
4f444e:	89 4a 10             	mov    %ecx,0x10(%edx)
4f4451:	8b 70 3c             	mov    0x3c(%eax),%esi
4f4454:	89 90 88 00 00 00    	mov    %edx,0x88(%eax)
4f445a:	ff 72 04             	push   0x4(%edx)
4f445d:	8b 4a 18             	mov    0x18(%edx),%ecx
4f4460:	8b 80 98 00 00 00    	mov    0x98(%eax),%eax
4f4466:	49                   	dec    %ecx
4f4467:	8b 3e                	mov    (%esi),%edi
4f4469:	99                   	cltd
4f446a:	52                   	push   %edx
4f446b:	50                   	push   %eax
4f446c:	6a 00                	push   $0x0
4f446e:	51                   	push   %ecx
4f446f:	e8 8c d6 0e 00       	call   0x5e1b00
4f4474:	52                   	push   %edx
4f4475:	50                   	push   %eax
4f4476:	8b 47 48             	mov    0x48(%edi),%eax
4f4479:	56                   	push   %esi
4f447a:	ff d0                	call   *%eax
4f447c:	83 c4 10             	add    $0x10,%esp
4f447f:	eb 09                	jmp    0x4f448a
4f4481:	52                   	push   %edx
4f4482:	e8 69 01 04 00       	call   0x5345f0
4f4487:	83 c4 04             	add    $0x4,%esp
4f448a:	fe 4b 44             	decb   0x44(%ebx)
4f448d:	0f be 43 44          	movsbl 0x44(%ebx),%eax
4f4491:	8b 75 e8             	mov    -0x18(%ebp),%esi
4f4494:	8b 44 83 78          	mov    0x78(%ebx,%eax,4),%eax
4f4498:	89 43 74             	mov    %eax,0x74(%ebx)
4f449b:	85 f6                	test   %esi,%esi
4f449d:	75 2b                	jne    0x4f44ca
4f449f:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4f44a2:	e9 dc fd ff ff       	jmp    0x4f4283
4f44a7:	68 fc c4 6b 00       	push   $0x6bc4fc
4f44ac:	68 fe 1a 01 00       	push   $0x11afe
4f44b1:	68 94 c4 6b 00       	push   $0x6bc494
4f44b6:	68 78 c4 6b 00       	push   $0x6bc478
4f44bb:	6a 0b                	push   $0xb
4f44bd:	e8 1e bb fe ff       	call   0x4dffe0
4f44c2:	83 c4 14             	add    $0x14,%esp
4f44c5:	be 0b 00 00 00       	mov    $0xb,%esi
4f44ca:	8b 45 dc             	mov    -0x24(%ebp),%eax
4f44cd:	85 c0                	test   %eax,%eax
4f44cf:	74 09                	je     0x4f44da
4f44d1:	50                   	push   %eax
4f44d2:	e8 b9 b9 01 00       	call   0x50fe90
4f44d7:	83 c4 04             	add    $0x4,%esp
4f44da:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4f44dd:	8b c6                	mov    %esi,%eax
4f44df:	5f                   	pop    %edi
4f44e0:	5e                   	pop    %esi
4f44e1:	33 cd                	xor    %ebp,%ecx
4f44e3:	5b                   	pop    %ebx
4f44e4:	e8 f1 cf 0e 00       	call   0x5e14da
4f44e9:	8b e5                	mov    %ebp,%esp
4f44eb:	5d                   	pop    %ebp
4f44ec:	c3                   	ret
4f44ed:	cc                   	int3
4f44ee:	cc                   	int3
4f44ef:	cc                   	int3
4f44f0:	55                   	push   %ebp
4f44f1:	8b ec                	mov    %esp,%ebp
4f44f3:	83 ec 08             	sub    $0x8,%esp
4f44f6:	53                   	push   %ebx
4f44f7:	56                   	push   %esi
4f44f8:	8b 75 08             	mov    0x8(%ebp),%esi
4f44fb:	57                   	push   %edi
4f44fc:	33 ff                	xor    %edi,%edi
4f44fe:	89 7d f8             	mov    %edi,-0x8(%ebp)
4f4501:	8b 46 34             	mov    0x34(%esi),%eax
4f4504:	ff 76 48             	push   0x48(%esi)
4f4507:	89 7d fc             	mov    %edi,-0x4(%ebp)
4f450a:	89 45 08             	mov    %eax,0x8(%ebp)
4f450d:	e8 2e f4 03 00       	call   0x533940
4f4512:	8b d8                	mov    %eax,%ebx
4f4514:	83 c4 04             	add    $0x4,%esp
4f4517:	85 db                	test   %ebx,%ebx
4f4519:	0f 85 ab 00 00 00    	jne    0x4f45ca
4f451f:	8b 5d 08             	mov    0x8(%ebp),%ebx
4f4522:	50                   	push   %eax
4f4523:	ff 76 04             	push   0x4(%esi)
4f4526:	8d 45 fc             	lea    -0x4(%ebp),%eax
4f4529:	50                   	push   %eax
4f452a:	8d 45 f8             	lea    -0x8(%ebp),%eax
4f452d:	50                   	push   %eax
4f452e:	53                   	push   %ebx
4f452f:	e8 ec dd ff ff       	call   0x4f2320
4f4534:	8b 7d f8             	mov    -0x8(%ebp),%edi
4f4537:	89 45 08             	mov    %eax,0x8(%ebp)
4f453a:	8d 45 08             	lea    0x8(%ebp),%eax
4f453d:	50                   	push   %eax
4f453e:	57                   	push   %edi
4f453f:	56                   	push   %esi
4f4540:	e8 eb 83 00 00       	call   0x4fc930
4f4545:	83 c4 20             	add    $0x20,%esp
4f4548:	80 7b 11 00          	cmpb   $0x0,0x11(%ebx)
4f454c:	74 15                	je     0x4f4563
4f454e:	8d 45 08             	lea    0x8(%ebp),%eax
4f4551:	50                   	push   %eax
4f4552:	ff 76 04             	push   0x4(%esi)
4f4555:	6a 05                	push   $0x5
4f4557:	ff 75 fc             	push   -0x4(%ebp)
4f455a:	53                   	push   %ebx
4f455b:	e8 30 c5 01 00       	call   0x510a90
4f4560:	83 c4 14             	add    $0x14,%esp
4f4563:	8b 5d 08             	mov    0x8(%ebp),%ebx
4f4566:	85 db                	test   %ebx,%ebx
4f4568:	75 60                	jne    0x4f45ca
4f456a:	0f b6 46 0c          	movzbl 0xc(%esi),%eax
4f456e:	03 c0                	add    %eax,%eax
4f4570:	50                   	push   %eax
4f4571:	8d 46 1c             	lea    0x1c(%esi),%eax
4f4574:	50                   	push   %eax
4f4575:	8d 47 1c             	lea    0x1c(%edi),%eax
4f4578:	50                   	push   %eax
4f4579:	e8 82 e9 0e 00       	call   0x5e2f00
4f457e:	0f b6 46 0c          	movzbl 0xc(%esi),%eax
4f4582:	c1 e0 02             	shl    $0x2,%eax
4f4585:	50                   	push   %eax
4f4586:	8d 46 24             	lea    0x24(%esi),%eax
4f4589:	50                   	push   %eax
4f458a:	8d 47 24             	lea    0x24(%edi),%eax
4f458d:	50                   	push   %eax
4f458e:	e8 6d e9 0e 00       	call   0x5e2f00
4f4593:	8a 46 0c             	mov    0xc(%esi),%al
4f4596:	88 47 0c             	mov    %al,0xc(%edi)
4f4599:	8b 47 38             	mov    0x38(%edi),%eax
4f459c:	0f b6 00             	movzbl (%eax),%eax
4f459f:	83 e0 f7             	and    $0xfffffff7,%eax
4f45a2:	50                   	push   %eax
4f45a3:	56                   	push   %esi
4f45a4:	e8 47 79 07 00       	call   0x56bef0
4f45a9:	8b 46 38             	mov    0x38(%esi),%eax
4f45ac:	83 c4 20             	add    $0x20,%esp
4f45af:	0f b6 4e 09          	movzbl 0x9(%esi),%ecx
4f45b3:	8b 55 fc             	mov    -0x4(%ebp),%edx
4f45b6:	0f ca                	bswap  %edx
4f45b8:	89 54 01 08          	mov    %edx,0x8(%ecx,%eax,1)
4f45bc:	8b 45 0c             	mov    0xc(%ebp),%eax
4f45bf:	89 38                	mov    %edi,(%eax)
4f45c1:	33 c0                	xor    %eax,%eax
4f45c3:	5f                   	pop    %edi
4f45c4:	5e                   	pop    %esi
4f45c5:	5b                   	pop    %ebx
4f45c6:	8b e5                	mov    %ebp,%esp
4f45c8:	5d                   	pop    %ebp
4f45c9:	c3                   	ret
4f45ca:	8b 45 0c             	mov    0xc(%ebp),%eax
4f45cd:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4f45d3:	85 ff                	test   %edi,%edi
4f45d5:	74 09                	je     0x4f45e0
4f45d7:	57                   	push   %edi
4f45d8:	e8 e3 da 01 00       	call   0x5120c0
4f45dd:	83 c4 04             	add    $0x4,%esp
4f45e0:	5f                   	pop    %edi
4f45e1:	5e                   	pop    %esi
4f45e2:	8b c3                	mov    %ebx,%eax
4f45e4:	5b                   	pop    %ebx
4f45e5:	8b e5                	mov    %ebp,%esp
4f45e7:	5d                   	pop    %ebp
4f45e8:	c3                   	ret
4f45e9:	cc                   	int3
4f45ea:	cc                   	int3
4f45eb:	cc                   	int3
4f45ec:	cc                   	int3
4f45ed:	cc                   	int3
4f45ee:	cc                   	int3
4f45ef:	cc                   	int3
4f45f0:	55                   	push   %ebp
4f45f1:	8b ec                	mov    %esp,%ebp
4f45f3:	81 ec 40 01 00 00    	sub    $0x140,%esp
4f45f9:	a1 d4 89 72 00       	mov    0x7289d4,%eax
4f45fe:	33 c5                	xor    %ebp,%eax
4f4600:	89 45 fc             	mov    %eax,-0x4(%ebp)
4f4603:	8b 4d 10             	mov    0x10(%ebp),%ecx
4f4606:	89 8d 14 ff ff ff    	mov    %ecx,-0xec(%ebp)
4f460c:	c7 85 58 ff ff ff 00 	movl   $0x0,-0xa8(%ebp)
4f4613:	00 00 00