5273bf:	0f 85 84 00 00 00    	jne    0x527449
5273c5:	46                   	inc    %esi
5273c6:	8a 1e                	mov    (%esi),%bl
5273c8:	3a 59 01             	cmp    0x1(%ecx),%bl
5273cb:	75 7c                	jne    0x527449
5273cd:	83 c1 02             	add    $0x2,%ecx
5273d0:	46                   	inc    %esi
5273d1:	41                   	inc    %ecx
5273d2:	46                   	inc    %esi
5273d3:	8a 19                	mov    (%ecx),%bl
5273d5:	3a 1e                	cmp    (%esi),%bl
5273d7:	75 3c                	jne    0x527415
5273d9:	41                   	inc    %ecx
5273da:	46                   	inc    %esi
5273db:	8a 19                	mov    (%ecx),%bl
5273dd:	3a 1e                	cmp    (%esi),%bl
5273df:	75 34                	jne    0x527415
5273e1:	41                   	inc    %ecx
5273e2:	46                   	inc    %esi
5273e3:	8a 19                	mov    (%ecx),%bl
5273e5:	3a 1e                	cmp    (%esi),%bl
5273e7:	75 2c                	jne    0x527415
5273e9:	41                   	inc    %ecx
5273ea:	46                   	inc    %esi
5273eb:	8a 19                	mov    (%ecx),%bl
5273ed:	3a 1e                	cmp    (%esi),%bl
5273ef:	75 24                	jne    0x527415
5273f1:	41                   	inc    %ecx
5273f2:	46                   	inc    %esi
5273f3:	8a 19                	mov    (%ecx),%bl
5273f5:	3a 1e                	cmp    (%esi),%bl
5273f7:	75 1c                	jne    0x527415
5273f9:	41                   	inc    %ecx
5273fa:	46                   	inc    %esi
5273fb:	8a 19                	mov    (%ecx),%bl
5273fd:	3a 1e                	cmp    (%esi),%bl
5273ff:	75 14                	jne    0x527415
527401:	41                   	inc    %ecx
527402:	46                   	inc    %esi
527403:	8a 19                	mov    (%ecx),%bl
527405:	3a 1e                	cmp    (%esi),%bl
527407:	75 0c                	jne    0x527415
527409:	41                   	inc    %ecx
52740a:	46                   	inc    %esi
52740b:	8a 19                	mov    (%ecx),%bl
52740d:	3a 1e                	cmp    (%esi),%bl
52740f:	75 04                	jne    0x527415
527411:	3b d1                	cmp    %ecx,%edx
527413:	77 bc                	ja     0x5273d1
527415:	8b da                	mov    %edx,%ebx
527417:	2b d9                	sub    %ecx,%ebx
527419:	53                   	push   %ebx
52741a:	bb 02 01 00 00       	mov    $0x102,%ebx
52741f:	59                   	pop    %ecx
527420:	2b d9                	sub    %ecx,%ebx
527422:	8d 8a fe fe ff ff    	lea    -0x102(%edx),%ecx
527428:	3b fb                	cmp    %ebx,%edi
52742a:	7d 1d                	jge    0x527449
52742c:	8b 34 24             	mov    (%esp),%esi
52742f:	89 70 68             	mov    %esi,0x68(%eax)
527432:	8b fb                	mov    %ebx,%edi
527434:	3b 5c 24 08          	cmp    0x8(%esp),%ebx
527438:	7d 31                	jge    0x52746b
52743a:	8a 5c 39 ff          	mov    -0x1(%ecx,%edi,1),%bl
52743e:	88 5c 24 18          	mov    %bl,0x18(%esp)
527442:	8a 1c 39             	mov    (%ecx,%edi,1),%bl
527445:	88 5c 24 19          	mov    %bl,0x19(%esp)
527449:	8b 1c 24             	mov    (%esp),%ebx
52744c:	23 5c 24 14          	and    0x14(%esp),%ebx
527450:	8b 74 24 10          	mov    0x10(%esp),%esi
527454:	0f b7 1c 5e          	movzwl (%esi,%ebx,2),%ebx
527458:	89 1c 24             	mov    %ebx,(%esp)
52745b:	3b 5c 24 0c          	cmp    0xc(%esp),%ebx
52745f:	76 0a                	jbe    0x52746b
527461:	ff 4c 24 04          	decl   0x4(%esp)
527465:	0f 85 2f ff ff ff    	jne    0x52739a
52746b:	8b 50 6c             	mov    0x6c(%eax),%edx
52746e:	8b cf                	mov    %edi,%ecx
527470:	3b d1                	cmp    %ecx,%edx
527472:	72 04                	jb     0x527478
527474:	8b c1                	mov    %ecx,%eax
527476:	eb 02                	jmp    0x52747a
527478:	8b c2                	mov    %edx,%eax
52747a:	83 c4 1c             	add    $0x1c,%esp
52747d:	5f                   	pop    %edi
52747e:	5e                   	pop    %esi
52747f:	5b                   	pop    %ebx
527480:	c3                   	ret
527481:	90                   	nop
527482:	90                   	nop
527483:	90                   	nop
527484:	53                   	push   %ebx
527485:	56                   	push   %esi
527486:	57                   	push   %edi
527487:	8b d8                	mov    %eax,%ebx
527489:	55                   	push   %ebp
52748a:	51                   	push   %ecx
52748b:	8b 73 24             	mov    0x24(%ebx),%esi
52748e:	8b 7b 34             	mov    0x34(%ebx),%edi
527491:	2b 7b 6c             	sub    0x6c(%ebx),%edi
527494:	2b 7b 64             	sub    0x64(%ebx),%edi
527497:	85 ff                	test   %edi,%edi
527499:	75 13                	jne    0x5274ae
52749b:	83 7b 64 00          	cmpl   $0x0,0x64(%ebx)
52749f:	75 0d                	jne    0x5274ae
5274a1:	83 7b 6c 00          	cmpl   $0x0,0x6c(%ebx)
5274a5:	75 07                	jne    0x5274ae
5274a7:	8b fe                	mov    %esi,%edi
5274a9:	e9 87 00 00 00       	jmp    0x527535
5274ae:	83 ff ff             	cmp    $0xffffffff,%edi
5274b1:	75 03                	jne    0x5274b6
5274b3:	4f                   	dec    %edi
5274b4:	eb 7f                	jmp    0x527535
5274b6:	8b 43 24             	mov    0x24(%ebx),%eax
5274b9:	2d 06 01 00 00       	sub    $0x106,%eax
5274be:	03 c6                	add    %esi,%eax
5274c0:	3b 43 64             	cmp    0x64(%ebx),%eax
5274c3:	77 70                	ja     0x527535
5274c5:	56                   	push   %esi
5274c6:	8b 43 30             	mov    0x30(%ebx),%eax
5274c9:	8b d0                	mov    %eax,%edx
5274cb:	8b ee                	mov    %esi,%ebp
5274cd:	03 d5                	add    %ebp,%edx
5274cf:	52                   	push   %edx
5274d0:	50                   	push   %eax
5274d1:	e8 0a ef ff ff       	call   0x5263e0
5274d6:	83 c4 0c             	add    $0xc,%esp
5274d9:	29 73 68             	sub    %esi,0x68(%ebx)
5274dc:	29 73 64             	sub    %esi,0x64(%ebx)
5274df:	29 6b 54             	sub    %ebp,0x54(%ebx)
5274e2:	8b 43 44             	mov    0x44(%ebx),%eax
5274e5:	8b d0                	mov    %eax,%edx
5274e7:	03 d2                	add    %edx,%edx
5274e9:	03 53 3c             	add    0x3c(%ebx),%edx
5274ec:	83 ea 02             	sub    $0x2,%edx
5274ef:	0f b7 0a             	movzwl (%edx),%ecx
5274f2:	89 0c 24             	mov    %ecx,(%esp)
5274f5:	3b 34 24             	cmp    (%esp),%esi
5274f8:	77 09                	ja     0x527503
5274fa:	66 8b 0c 24          	mov    (%esp),%cx
5274fe:	66 2b ce             	sub    %si,%cx
527501:	eb 02                	jmp    0x527505
527503:	33 c9                	xor    %ecx,%ecx
527505:	66 89 0a             	mov    %cx,(%edx)
527508:	48                   	dec    %eax
527509:	75 e1                	jne    0x5274ec
52750b:	8b c6                	mov    %esi,%eax
52750d:	8b d0                	mov    %eax,%edx
52750f:	03 d2                	add    %edx,%edx
527511:	03 53 38             	add    0x38(%ebx),%edx
527514:	83 ea 02             	sub    $0x2,%edx
527517:	0f b7 0a             	movzwl (%edx),%ecx
52751a:	89 0c 24             	mov    %ecx,(%esp)
52751d:	3b 34 24             	cmp    (%esp),%esi
527520:	77 09                	ja     0x52752b
527522:	66 8b 0c 24          	mov    (%esp),%cx
527526:	66 2b ce             	sub    %si,%cx
527529:	eb 02                	jmp    0x52752d
52752b:	33 c9                	xor    %ecx,%ecx
52752d:	66 89 0a             	mov    %cx,(%edx)
527530:	48                   	dec    %eax
527531:	75 e1                	jne    0x527514
527533:	03 fe                	add    %esi,%edi
527535:	8b 2b                	mov    (%ebx),%ebp
527537:	83 7d 04 00          	cmpl   $0x0,0x4(%ebp)
52753b:	74 55                	je     0x527592
52753d:	8b 53 30             	mov    0x30(%ebx),%edx
527540:	8b cf                	mov    %edi,%ecx
527542:	03 53 64             	add    0x64(%ebx),%edx
527545:	8b c5                	mov    %ebp,%eax
527547:	03 53 6c             	add    0x6c(%ebx),%edx
52754a:	e8 d1 fc ff ff       	call   0x527220
52754f:	01 43 6c             	add    %eax,0x6c(%ebx)
527552:	83 7b 6c 03          	cmpl   $0x3,0x6c(%ebx)
527556:	72 25                	jb     0x52757d
527558:	8b 43 30             	mov    0x30(%ebx),%eax
52755b:	8b 53 64             	mov    0x64(%ebx),%edx
52755e:	0f b6 04 10          	movzbl (%eax,%edx,1),%eax
527562:	89 43 40             	mov    %eax,0x40(%ebx)
527565:	8b 4b 50             	mov    0x50(%ebx),%ecx
527568:	d3 e0                	shl    %cl,%eax
52756a:	8b 53 30             	mov    0x30(%ebx),%edx
52756d:	8b 4b 64             	mov    0x64(%ebx),%ecx
527570:	0f b6 54 0a 01       	movzbl 0x1(%edx,%ecx,1),%edx
527575:	33 c2                	xor    %edx,%eax
527577:	23 43 4c             	and    0x4c(%ebx),%eax
52757a:	89 43 40             	mov    %eax,0x40(%ebx)
52757d:	81 7b 6c 06 01 00 00 	cmpl   $0x106,0x6c(%ebx)
527584:	73 0c                	jae    0x527592
527586:	8b 03                	mov    (%ebx),%eax
527588:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
52758c:	0f 85 fc fe ff ff    	jne    0x52748e
527592:	5a                   	pop    %edx
527593:	5d                   	pop    %ebp
527594:	5f                   	pop    %edi
527595:	5e                   	pop    %esi
527596:	5b                   	pop    %ebx
527597:	c3                   	ret
527598:	53                   	push   %ebx
527599:	8b d8                	mov    %eax,%ebx
52759b:	56                   	push   %esi
52759c:	51                   	push   %ecx
52759d:	89 14 24             	mov    %edx,(%esp)
5275a0:	be ff ff 00 00       	mov    $0xffff,%esi
5275a5:	8b 43 0c             	mov    0xc(%ebx),%eax
5275a8:	83 e8 05             	sub    $0x5,%eax
5275ab:	3b f0                	cmp    %eax,%esi
5275ad:	76 02                	jbe    0x5275b1
5275af:	8b f0                	mov    %eax,%esi
5275b1:	83 7b 6c 01          	cmpl   $0x1,0x6c(%ebx)
5275b5:	77 23                	ja     0x5275da
5275b7:	8b c3                	mov    %ebx,%eax
5275b9:	e8 c6 fe ff ff       	call   0x527484
5275be:	8b 43 6c             	mov    0x6c(%ebx),%eax
5275c1:	85 c0                	test   %eax,%eax
5275c3:	75 0d                	jne    0x5275d2
5275c5:	83 3c 24 00          	cmpl   $0x0,(%esp)
5275c9:	75 07                	jne    0x5275d2
5275cb:	33 c0                	xor    %eax,%eax
5275cd:	e9 19 01 00 00       	jmp    0x5276eb
5275d2:	85 c0                	test   %eax,%eax
5275d4:	0f 84 b1 00 00 00    	je     0x52768b
5275da:	8b 53 6c             	mov    0x6c(%ebx),%edx
5275dd:	33 c9                	xor    %ecx,%ecx
5275df:	01 53 64             	add    %edx,0x64(%ebx)
5275e2:	89 4b 6c             	mov    %ecx,0x6c(%ebx)
5275e5:	8b 43 54             	mov    0x54(%ebx),%eax
5275e8:	8b 53 64             	mov    0x64(%ebx),%edx
5275eb:	03 c6                	add    %esi,%eax
5275ed:	85 d2                	test   %edx,%edx
5275ef:	74 04                	je     0x5275f5
5275f1:	3b c2                	cmp    %edx,%eax
5275f3:	77 43                	ja     0x527638
5275f5:	2b d0                	sub    %eax,%edx
5275f7:	89 53 6c             	mov    %edx,0x6c(%ebx)
5275fa:	89 43 64             	mov    %eax,0x64(%ebx)
5275fd:	6a 00                	push   $0x0
5275ff:	8b 4b 64             	mov    0x64(%ebx),%ecx
527602:	2b 4b 54             	sub    0x54(%ebx),%ecx
527605:	83 7b 54 00          	cmpl   $0x0,0x54(%ebx)
527609:	7c 08                	jl     0x527613
52760b:	8b 53 30             	mov    0x30(%ebx),%edx
52760e:	03 53 54             	add    0x54(%ebx),%edx
527611:	eb 02                	jmp    0x527615
527613:	33 d2                	xor    %edx,%edx
527615:	8b c3                	mov    %ebx,%eax
527617:	e8 00 47 00 00       	call   0x52bd1c
52761c:	8b 4b 64             	mov    0x64(%ebx),%ecx
52761f:	89 4b 54             	mov    %ecx,0x54(%ebx)
527622:	8b 03                	mov    (%ebx),%eax
527624:	e8 e7 f6 ff ff       	call   0x526d10
527629:	8b 13                	mov    (%ebx),%edx
52762b:	83 7a 10 00          	cmpl   $0x0,0x10(%edx)
52762f:	75 07                	jne    0x527638
527631:	33 c0                	xor    %eax,%eax
527633:	e9 b3 00 00 00       	jmp    0x5276eb
527638:	8b 53 64             	mov    0x64(%ebx),%edx
52763b:	8b 43 54             	mov    0x54(%ebx),%eax
52763e:	2b d0                	sub    %eax,%edx
527640:	8b 4b 24             	mov    0x24(%ebx),%ecx
527643:	81 e9 06 01 00 00    	sub    $0x106,%ecx
527649:	3b d1                	cmp    %ecx,%edx
52764b:	0f 82 60 ff ff ff    	jb     0x5275b1
527651:	6a 00                	push   $0x0
527653:	8b 4b 64             	mov    0x64(%ebx),%ecx
527656:	2b 4b 54             	sub    0x54(%ebx),%ecx
527659:	85 c0                	test   %eax,%eax
52765b:	7c 08                	jl     0x527665
52765d:	8b 53 30             	mov    0x30(%ebx),%edx
527660:	03 53 54             	add    0x54(%ebx),%edx
527663:	eb 02                	jmp    0x527667
527665:	33 d2                	xor    %edx,%edx
527667:	8b c3                	mov    %ebx,%eax
527669:	e8 ae 46 00 00       	call   0x52bd1c
52766e:	8b 4b 64             	mov    0x64(%ebx),%ecx
527671:	89 4b 54             	mov    %ecx,0x54(%ebx)
527674:	8b 03                	mov    (%ebx),%eax
527676:	e8 95 f6 ff ff       	call   0x526d10
52767b:	8b 13                	mov    (%ebx),%edx
52767d:	83 7a 10 00          	cmpl   $0x0,0x10(%edx)
527681:	0f 85 2a ff ff ff    	jne    0x5275b1
527687:	33 c0                	xor    %eax,%eax
527689:	eb 60                	jmp    0x5276eb
52768b:	83 3c 24 04          	cmpl   $0x4,(%esp)
52768f:	0f 94 c2             	sete   %dl
527692:	83 e2 01             	and    $0x1,%edx
527695:	52                   	push   %edx
527696:	8b 4b 64             	mov    0x64(%ebx),%ecx
527699:	2b 4b 54             	sub    0x54(%ebx),%ecx
52769c:	83 7b 54 00          	cmpl   $0x0,0x54(%ebx)
5276a0:	7c 08                	jl     0x5276aa
5276a2:	8b 53 30             	mov    0x30(%ebx),%edx
5276a5:	03 53 54             	add    0x54(%ebx),%edx
5276a8:	eb 02                	jmp    0x5276ac
5276aa:	33 d2                	xor    %edx,%edx
5276ac:	8b c3                	mov    %ebx,%eax
5276ae:	e8 69 46 00 00       	call   0x52bd1c
5276b3:	8b 4b 64             	mov    0x64(%ebx),%ecx
5276b6:	89 4b 54             	mov    %ecx,0x54(%ebx)
5276b9:	8b 03                	mov    (%ebx),%eax
5276bb:	e8 50 f6 ff ff       	call   0x526d10
5276c0:	8b 13                	mov    (%ebx),%edx
5276c2:	83 7a 10 00          	cmpl   $0x0,0x10(%edx)
5276c6:	75 11                	jne    0x5276d9
5276c8:	83 3c 24 04          	cmpl   $0x4,(%esp)
5276cc:	75 07                	jne    0x5276d5
5276ce:	b8 02 00 00 00       	mov    $0x2,%eax
5276d3:	eb 16                	jmp    0x5276eb
5276d5:	33 c0                	xor    %eax,%eax
5276d7:	eb 12                	jmp    0x5276eb
5276d9:	83 3c 24 04          	cmpl   $0x4,(%esp)
5276dd:	75 07                	jne    0x5276e6
5276df:	b8 03 00 00 00       	mov    $0x3,%eax
5276e4:	eb 05                	jmp    0x5276eb
5276e6:	b8 01 00 00 00       	mov    $0x1,%eax
5276eb:	5a                   	pop    %edx
5276ec:	5e                   	pop    %esi
5276ed:	5b                   	pop    %ebx
5276ee:	c3                   	ret
5276ef:	90                   	nop
5276f0:	53                   	push   %ebx
5276f1:	56                   	push   %esi
5276f2:	57                   	push   %edi
5276f3:	51                   	push   %ecx
5276f4:	89 14 24             	mov    %edx,(%esp)
5276f7:	8b d8                	mov    %eax,%ebx
5276f9:	33 f6                	xor    %esi,%esi
5276fb:	81 7b 6c 06 01 00 00 	cmpl   $0x106,0x6c(%ebx)
527702:	73 26                	jae    0x52772a
527704:	8b c3                	mov    %ebx,%eax
527706:	e8 79 fd ff ff       	call   0x527484
52770b:	8b 43 6c             	mov    0x6c(%ebx),%eax
52770e:	3d 06 01 00 00       	cmp    $0x106,%eax
527713:	73 0d                	jae    0x527722
527715:	83 3c 24 00          	cmpl   $0x0,(%esp)
527719:	75 07                	jne    0x527722
52771b:	33 c0                	xor    %eax,%eax
52771d:	e9 95 02 00 00       	jmp    0x5279b7
527722:	85 c0                	test   %eax,%eax
527724:	0f 84 2d 02 00 00    	je     0x527957
52772a:	83 7b 6c 03          	cmpl   $0x3,0x6c(%ebx)
52772e:	72 3d                	jb     0x52776d
527730:	8b 4b 50             	mov    0x50(%ebx),%ecx
527733:	8b 43 40             	mov    0x40(%ebx),%eax
527736:	d3 e0                	shl    %cl,%eax
527738:	8b 53 30             	mov    0x30(%ebx),%edx
52773b:	8b 4b 64             	mov    0x64(%ebx),%ecx
52773e:	0f b6 54 0a 02       	movzbl 0x2(%edx,%ecx,1),%edx
527743:	33 c2                	xor    %edx,%eax
527745:	23 43 4c             	and    0x4c(%ebx),%eax