5271b7:	8b 43 08             	mov    0x8(%ebx),%eax
5271ba:	50                   	push   %eax
5271bb:	e8 20 f2 ff ff       	call   0x5263e0
5271c0:	8b 57 10             	mov    0x10(%edi),%edx
5271c3:	83 c4 0c             	add    $0xc,%esp
5271c6:	2b 57 08             	sub    0x8(%edi),%edx
5271c9:	03 53 08             	add    0x8(%ebx),%edx
5271cc:	89 53 10             	mov    %edx,0x10(%ebx)
5271cf:	8d 93 8c 00 00 00    	lea    0x8c(%ebx),%edx
5271d5:	8b 8b 94 16 00 00    	mov    0x1694(%ebx),%ecx
5271db:	d1 e9                	shr    $1,%ecx
5271dd:	03 c9                	add    %ecx,%ecx
5271df:	03 e9                	add    %ecx,%ebp
5271e1:	8d 8b 80 09 00 00    	lea    0x980(%ebx),%ecx
5271e7:	89 ab 9c 16 00 00    	mov    %ebp,0x169c(%ebx)
5271ed:	8b 83 94 16 00 00    	mov    0x1694(%ebx),%eax
5271f3:	8d 04 40             	lea    (%eax,%eax,2),%eax
5271f6:	03 43 08             	add    0x8(%ebx),%eax
5271f9:	89 83 90 16 00 00    	mov    %eax,0x1690(%ebx)
5271ff:	89 93 10 0b 00 00    	mov    %edx,0xb10(%ebx)
527205:	8d 83 74 0a 00 00    	lea    0xa74(%ebx),%eax
52720b:	89 8b 1c 0b 00 00    	mov    %ecx,0xb1c(%ebx)
527211:	89 83 28 0b 00 00    	mov    %eax,0xb28(%ebx)
527217:	33 c0                	xor    %eax,%eax
527219:	5a                   	pop    %edx
52721a:	5d                   	pop    %ebp
52721b:	5f                   	pop    %edi
52721c:	5e                   	pop    %esi
52721d:	5b                   	pop    %ebx
52721e:	c3                   	ret
52721f:	90                   	nop
527220:	53                   	push   %ebx
527221:	56                   	push   %esi
527222:	8b f0                	mov    %eax,%esi
527224:	57                   	push   %edi
527225:	8b fa                	mov    %edx,%edi
527227:	8b 5e 04             	mov    0x4(%esi),%ebx
52722a:	3b cb                	cmp    %ebx,%ecx
52722c:	73 02                	jae    0x527230
52722e:	8b d9                	mov    %ecx,%ebx
527230:	85 db                	test   %ebx,%ebx
527232:	75 04                	jne    0x527238
527234:	33 c0                	xor    %eax,%eax
527236:	eb 2f                	jmp    0x527267
527238:	29 5e 04             	sub    %ebx,0x4(%esi)
52723b:	8b 56 1c             	mov    0x1c(%esi),%edx
52723e:	83 7a 18 00          	cmpl   $0x0,0x18(%edx)
527242:	75 0f                	jne    0x527253
527244:	8b cb                	mov    %ebx,%ecx
527246:	8b 16                	mov    (%esi),%edx
527248:	8b 46 30             	mov    0x30(%esi),%eax
52724b:	e8 5c 54 00 00       	call   0x52c6ac
527250:	89 46 30             	mov    %eax,0x30(%esi)
527253:	53                   	push   %ebx
527254:	8b 0e                	mov    (%esi),%ecx
527256:	51                   	push   %ecx
527257:	57                   	push   %edi
527258:	e8 83 f1 ff ff       	call   0x5263e0
52725d:	83 c4 0c             	add    $0xc,%esp
527260:	8b c3                	mov    %ebx,%eax
527262:	01 06                	add    %eax,(%esi)
527264:	01 5e 08             	add    %ebx,0x8(%esi)
527267:	5f                   	pop    %edi
527268:	5e                   	pop    %esi
527269:	5b                   	pop    %ebx
52726a:	c3                   	ret
52726b:	90                   	nop
52726c:	53                   	push   %ebx
52726d:	8b d8                	mov    %eax,%ebx
52726f:	8b 43 24             	mov    0x24(%ebx),%eax
527272:	03 c0                	add    %eax,%eax
527274:	89 43 34             	mov    %eax,0x34(%ebx)
527277:	8b 53 3c             	mov    0x3c(%ebx),%edx
52727a:	8b 4b 44             	mov    0x44(%ebx),%ecx
52727d:	66 c7 44 4a fe 00 00 	movw   $0x0,-0x2(%edx,%ecx,2)
527284:	8b 43 44             	mov    0x44(%ebx),%eax
527287:	48                   	dec    %eax
527288:	03 c0                	add    %eax,%eax
52728a:	50                   	push   %eax
52728b:	6a 00                	push   $0x0
52728d:	8b 53 3c             	mov    0x3c(%ebx),%edx
527290:	52                   	push   %edx
527291:	e8 8e f0 ff ff       	call   0x526324
527296:	8b 4b 7c             	mov    0x7c(%ebx),%ecx
527299:	83 c4 0c             	add    $0xc,%esp
52729c:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
52729f:	0f b7 04 8d a2 7b 69 	movzwl 0x697ba2(,%ecx,4),%eax
5272a6:	00
5272a7:	89 43 78             	mov    %eax,0x78(%ebx)
5272aa:	8b 53 7c             	mov    0x7c(%ebx),%edx
5272ad:	8d 14 52             	lea    (%edx,%edx,2),%edx
5272b0:	0f b7 0c 95 a0 7b 69 	movzwl 0x697ba0(,%edx,4),%ecx
5272b7:	00
5272b8:	89 8b 84 00 00 00    	mov    %ecx,0x84(%ebx)
5272be:	8b 43 7c             	mov    0x7c(%ebx),%eax
5272c1:	8d 04 40             	lea    (%eax,%eax,2),%eax
5272c4:	0f b7 14 85 a4 7b 69 	movzwl 0x697ba4(,%eax,4),%edx
5272cb:	00
5272cc:	89 93 88 00 00 00    	mov    %edx,0x88(%ebx)
5272d2:	33 d2                	xor    %edx,%edx
5272d4:	8b 4b 7c             	mov    0x7c(%ebx),%ecx
5272d7:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
5272da:	0f b7 04 8d a6 7b 69 	movzwl 0x697ba6(,%ecx,4),%eax
5272e1:	00
5272e2:	89 43 74             	mov    %eax,0x74(%ebx)
5272e5:	89 53 64             	mov    %edx,0x64(%ebx)
5272e8:	33 c9                	xor    %ecx,%ecx
5272ea:	33 c0                	xor    %eax,%eax
5272ec:	89 4b 54             	mov    %ecx,0x54(%ebx)
5272ef:	89 43 6c             	mov    %eax,0x6c(%ebx)
5272f2:	ba 02 00 00 00       	mov    $0x2,%edx
5272f7:	33 c0                	xor    %eax,%eax
5272f9:	89 53 70             	mov    %edx,0x70(%ebx)
5272fc:	89 53 58             	mov    %edx,0x58(%ebx)
5272ff:	89 43 60             	mov    %eax,0x60(%ebx)
527302:	33 c9                	xor    %ecx,%ecx
527304:	89 4b 40             	mov    %ecx,0x40(%ebx)
527307:	5b                   	pop    %ebx
527308:	c3                   	ret
527309:	90                   	nop
52730a:	90                   	nop
52730b:	90                   	nop
52730c:	53                   	push   %ebx
52730d:	56                   	push   %esi
52730e:	57                   	push   %edi
52730f:	83 c4 e4             	add    $0xffffffe4,%esp
527312:	89 14 24             	mov    %edx,(%esp)
527315:	8b 50 74             	mov    0x74(%eax),%edx
527318:	89 54 24 04          	mov    %edx,0x4(%esp)
52731c:	8b 50 64             	mov    0x64(%eax),%edx
52731f:	8b 48 30             	mov    0x30(%eax),%ecx
527322:	8b 78 70             	mov    0x70(%eax),%edi
527325:	8b 98 88 00 00 00    	mov    0x88(%eax),%ebx
52732b:	89 5c 24 08          	mov    %ebx,0x8(%esp)
52732f:	03 ca                	add    %edx,%ecx
527331:	8b 58 24             	mov    0x24(%eax),%ebx
527334:	81 eb 06 01 00 00    	sub    $0x106,%ebx
52733a:	3b d3                	cmp    %ebx,%edx
52733c:	76 10                	jbe    0x52734e
52733e:	8b 50 24             	mov    0x24(%eax),%edx
527341:	81 ea 06 01 00 00    	sub    $0x106,%edx
527347:	8b 58 64             	mov    0x64(%eax),%ebx
52734a:	2b da                	sub    %edx,%ebx
52734c:	eb 02                	jmp    0x527350
52734e:	33 db                	xor    %ebx,%ebx
527350:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
527354:	8b 50 38             	mov    0x38(%eax),%edx
527357:	89 54 24 10          	mov    %edx,0x10(%esp)
52735b:	8b 50 2c             	mov    0x2c(%eax),%edx
52735e:	89 54 24 14          	mov    %edx,0x14(%esp)
527362:	8b 50 30             	mov    0x30(%eax),%edx
527365:	8a 5c 39 ff          	mov    -0x1(%ecx,%edi,1),%bl
527369:	03 50 64             	add    0x64(%eax),%edx
52736c:	88 5c 24 18          	mov    %bl,0x18(%esp)
527370:	8a 1c 39             	mov    (%ecx,%edi,1),%bl
527373:	81 c2 02 01 00 00    	add    $0x102,%edx
527379:	88 5c 24 19          	mov    %bl,0x19(%esp)
52737d:	8b 58 70             	mov    0x70(%eax),%ebx
527380:	3b 98 84 00 00 00    	cmp    0x84(%eax),%ebx
527386:	72 05                	jb     0x52738d
527388:	c1 6c 24 04 02       	shrl   $0x2,0x4(%esp)
52738d:	8b 58 6c             	mov    0x6c(%eax),%ebx
527390:	3b 5c 24 08          	cmp    0x8(%esp),%ebx
527394:	73 04                	jae    0x52739a
527396:	89 5c 24 08          	mov    %ebx,0x8(%esp)
52739a:	8b 70 30             	mov    0x30(%eax),%esi
52739d:	03 34 24             	add    (%esp),%esi
5273a0:	8a 1c 3e             	mov    (%esi,%edi,1),%bl
5273a3:	3a 5c 24 19          	cmp    0x19(%esp),%bl
5273a7:	0f 85 9c 00 00 00    	jne    0x527449
5273ad:	8a 5c 3e ff          	mov    -0x1(%esi,%edi,1),%bl
5273b1:	3a 5c 24 18          	cmp    0x18(%esp),%bl
5273b5:	0f 85 8e 00 00 00    	jne    0x527449
5273bb:	8a 1e                	mov    (%esi),%bl
5273bd:	3a 19                	cmp    (%ecx),%bl
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