5480c2:	0f b6 6e 01          	movzbl 0x1(%esi),%ebp
5480c6:	66 0b cd             	or     %bp,%cx
5480c9:	66 89 4c 24 58       	mov    %cx,0x58(%esp)
5480ce:	83 c6 02             	add    $0x2,%esi
5480d1:	33 c9                	xor    %ecx,%ecx
5480d3:	8a 0e                	mov    (%esi),%cl
5480d5:	c1 e1 08             	shl    $0x8,%ecx
5480d8:	0f b6 6e 01          	movzbl 0x1(%esi),%ebp
5480dc:	66 0b cd             	or     %bp,%cx
5480df:	66 89 4c 24 5a       	mov    %cx,0x5a(%esp)
5480e4:	83 c6 02             	add    $0x2,%esi
5480e7:	33 c9                	xor    %ecx,%ecx
5480e9:	8a 0e                	mov    (%esi),%cl
5480eb:	c1 e1 08             	shl    $0x8,%ecx
5480ee:	0f b6 6e 01          	movzbl 0x1(%esi),%ebp
5480f2:	66 0b cd             	or     %bp,%cx
5480f5:	66 89 4c 24 5c       	mov    %cx,0x5c(%esp)
5480fa:	83 c6 02             	add    $0x2,%esi
5480fd:	66 8b 4c 24 58       	mov    0x58(%esp),%cx
548102:	66 3b 4c 24 5a       	cmp    0x5a(%esp),%cx
548107:	75 1b                	jne    0x548124
548109:	66 8b 4c 24 58       	mov    0x58(%esp),%cx
54810e:	66 3b 4c 24 5c       	cmp    0x5c(%esp),%cx
548113:	75 0f                	jne    0x548124
548115:	66 8b 4c 24 58       	mov    0x58(%esp),%cx
54811a:	66 89 4c 24 5e       	mov    %cx,0x5e(%esp)
54811f:	e9 e1 00 00 00       	jmp    0x548205
548124:	0f b7 6c 24 58       	movzwl 0x58(%esp),%ebp
548129:	8b 88 18 01 00 00    	mov    0x118(%eax),%ecx
54812f:	81 e5 ff 00 00 00    	and    $0xff,%ebp
548135:	d3 fd                	sar    %cl,%ebp
548137:	8b 88 38 01 00 00    	mov    0x138(%eax),%ecx
54813d:	8b 0c a9             	mov    (%ecx,%ebp,4),%ecx
548140:	0f b7 6c 24 58       	movzwl 0x58(%esp),%ebp
548145:	c1 fd 08             	sar    $0x8,%ebp
548148:	66 8b 0c 69          	mov    (%ecx,%ebp,2),%cx
54814c:	66 89 4c 24 60       	mov    %cx,0x60(%esp)
548151:	0f b7 6c 24 5a       	movzwl 0x5a(%esp),%ebp
548156:	8b 88 18 01 00 00    	mov    0x118(%eax),%ecx
54815c:	81 e5 ff 00 00 00    	and    $0xff,%ebp
548162:	d3 fd                	sar    %cl,%ebp
548164:	8b 88 38 01 00 00    	mov    0x138(%eax),%ecx
54816a:	8b 0c a9             	mov    (%ecx,%ebp,4),%ecx
54816d:	0f b7 6c 24 5a       	movzwl 0x5a(%esp),%ebp
548172:	c1 fd 08             	sar    $0x8,%ebp
548175:	66 8b 0c 69          	mov    (%ecx,%ebp,2),%cx
548179:	66 89 4c 24 62       	mov    %cx,0x62(%esp)
54817e:	0f b7 6c 24 5c       	movzwl 0x5c(%esp),%ebp
548183:	8b 88 18 01 00 00    	mov    0x118(%eax),%ecx
548189:	81 e5 ff 00 00 00    	and    $0xff,%ebp
54818f:	d3 fd                	sar    %cl,%ebp
548191:	8b 88 38 01 00 00    	mov    0x138(%eax),%ecx
548197:	8b 0c a9             	mov    (%ecx,%ebp,4),%ecx
54819a:	0f b7 6c 24 5c       	movzwl 0x5c(%esp),%ebp
54819f:	c1 fd 08             	sar    $0x8,%ebp
5481a2:	66 8b 0c 69          	mov    (%ecx,%ebp,2),%cx
5481a6:	66 89 4c 24 64       	mov    %cx,0x64(%esp)
5481ab:	0f b7 4c 24 60       	movzwl 0x60(%esp),%ecx
5481b0:	0f b7 6c 24 62       	movzwl 0x62(%esp),%ebp
5481b5:	0f af 4c 24 0c       	imul   0xc(%esp),%ecx
5481ba:	0f af ea             	imul   %edx,%ebp
5481bd:	03 cd                	add    %ebp,%ecx
5481bf:	0f b7 6c 24 64       	movzwl 0x64(%esp),%ebp
5481c4:	0f af 6c 24 10       	imul   0x10(%esp),%ebp
5481c9:	03 cd                	add    %ebp,%ecx
5481cb:	c1 e9 0f             	shr    $0xf,%ecx
5481ce:	66 89 4c 24 66       	mov    %cx,0x66(%esp)
5481d3:	0f b7 6c 24 66       	movzwl 0x66(%esp),%ebp
5481d8:	8b 88 18 01 00 00    	mov    0x118(%eax),%ecx
5481de:	81 e5 ff 00 00 00    	and    $0xff,%ebp
5481e4:	d3 fd                	sar    %cl,%ebp
5481e6:	8b 88 34 01 00 00    	mov    0x134(%eax),%ecx
5481ec:	8b 0c a9             	mov    (%ecx,%ebp,4),%ecx
5481ef:	0f b7 6c 24 66       	movzwl 0x66(%esp),%ebp
5481f4:	c1 fd 08             	sar    $0x8,%ebp
5481f7:	66 8b 0c 69          	mov    (%ecx,%ebp,2),%cx
5481fb:	66 89 4c 24 5e       	mov    %cx,0x5e(%esp)
548200:	83 4c 24 08 01       	orl    $0x1,0x8(%esp)
548205:	0f b7 4c 24 5e       	movzwl 0x5e(%esp),%ecx
54820a:	c1 f9 08             	sar    $0x8,%ecx
54820d:	8b 6c 24 54          	mov    0x54(%esp),%ebp
548211:	80 e1 ff             	and    $0xff,%cl
548214:	88 4d 00             	mov    %cl,0x0(%ebp)
548217:	ff 44 24 54          	incl   0x54(%esp)
54821b:	8b 6c 24 54          	mov    0x54(%esp),%ebp
54821f:	8a 4c 24 5e          	mov    0x5e(%esp),%cl
548223:	80 e1 ff             	and    $0xff,%cl
548226:	88 4d 00             	mov    %cl,0x0(%ebp)
548229:	ff 44 24 54          	incl   0x54(%esp)
54822d:	8b 6c 24 54          	mov    0x54(%esp),%ebp
548231:	8a 0e                	mov    (%esi),%cl
548233:	46                   	inc    %esi
548234:	88 4d 00             	mov    %cl,0x0(%ebp)
548237:	ff 44 24 54          	incl   0x54(%esp)
54823b:	8b 6c 24 54          	mov    0x54(%esp),%ebp
54823f:	8a 0e                	mov    (%esi),%cl
548241:	46                   	inc    %esi
548242:	88 4d 00             	mov    %cl,0x0(%ebp)
548245:	ff 44 24 54          	incl   0x54(%esp)
548249:	43                   	inc    %ebx
54824a:	3b fb                	cmp    %ebx,%edi
54824c:	0f 87 69 fe ff ff    	ja     0x5480bb
548252:	e9 c6 00 00 00       	jmp    0x54831d
548257:	8b 44 24 04          	mov    0x4(%esp),%eax
54825b:	8b 74 24 04          	mov    0x4(%esp),%esi
54825f:	33 db                	xor    %ebx,%ebx
548261:	3b fb                	cmp    %ebx,%edi
548263:	0f 86 b4 00 00 00    	jbe    0x54831d
548269:	33 c9                	xor    %ecx,%ecx
54826b:	8a 08                	mov    (%eax),%cl
54826d:	c1 e1 08             	shl    $0x8,%ecx
548270:	0f b6 68 01          	movzbl 0x1(%eax),%ebp
548274:	66 0b cd             	or     %bp,%cx
548277:	66 89 4c 24 68       	mov    %cx,0x68(%esp)
54827c:	83 c0 02             	add    $0x2,%eax
54827f:	33 c9                	xor    %ecx,%ecx
548281:	8a 08                	mov    (%eax),%cl
548283:	c1 e1 08             	shl    $0x8,%ecx
548286:	0f b6 68 01          	movzbl 0x1(%eax),%ebp
54828a:	66 0b cd             	or     %bp,%cx
54828d:	66 89 4c 24 6a       	mov    %cx,0x6a(%esp)
548292:	83 c0 02             	add    $0x2,%eax
548295:	33 c9                	xor    %ecx,%ecx
548297:	8a 08                	mov    (%eax),%cl
548299:	c1 e1 08             	shl    $0x8,%ecx
54829c:	0f b6 68 01          	movzbl 0x1(%eax),%ebp
5482a0:	66 0b cd             	or     %bp,%cx
5482a3:	66 89 4c 24 6c       	mov    %cx,0x6c(%esp)
5482a8:	83 c0 02             	add    $0x2,%eax
5482ab:	66 8b 4c 24 68       	mov    0x68(%esp),%cx
5482b0:	66 3b 4c 24 6a       	cmp    0x6a(%esp),%cx
5482b5:	75 0c                	jne    0x5482c3
5482b7:	66 8b 4c 24 68       	mov    0x68(%esp),%cx
5482bc:	66 3b 4c 24 6c       	cmp    0x6c(%esp),%cx
5482c1:	74 05                	je     0x5482c8
5482c3:	83 4c 24 08 01       	orl    $0x1,0x8(%esp)
5482c8:	0f b7 4c 24 68       	movzwl 0x68(%esp),%ecx
5482cd:	0f b7 6c 24 6a       	movzwl 0x6a(%esp),%ebp
5482d2:	0f af 4c 24 0c       	imul   0xc(%esp),%ecx
5482d7:	0f af ea             	imul   %edx,%ebp
5482da:	03 cd                	add    %ebp,%ecx
5482dc:	0f b7 6c 24 6c       	movzwl 0x6c(%esp),%ebp
5482e1:	0f af 6c 24 10       	imul   0x10(%esp),%ebp
5482e6:	03 cd                	add    %ebp,%ecx
5482e8:	c1 e9 0f             	shr    $0xf,%ecx
5482eb:	66 89 4c 24 6e       	mov    %cx,0x6e(%esp)
5482f0:	0f b7 4c 24 6e       	movzwl 0x6e(%esp),%ecx
5482f5:	c1 f9 08             	sar    $0x8,%ecx
5482f8:	80 e1 ff             	and    $0xff,%cl
5482fb:	88 0e                	mov    %cl,(%esi)
5482fd:	46                   	inc    %esi
5482fe:	8a 4c 24 6e          	mov    0x6e(%esp),%cl
548302:	80 e1 ff             	and    $0xff,%cl
548305:	88 0e                	mov    %cl,(%esi)
548307:	46                   	inc    %esi
548308:	8a 08                	mov    (%eax),%cl
54830a:	40                   	inc    %eax
54830b:	88 0e                	mov    %cl,(%esi)
54830d:	46                   	inc    %esi
54830e:	8a 08                	mov    (%eax),%cl
548310:	40                   	inc    %eax
548311:	88 0e                	mov    %cl,(%esi)
548313:	46                   	inc    %esi
548314:	43                   	inc    %ebx
548315:	3b fb                	cmp    %ebx,%edi
548317:	0f 87 4c ff ff ff    	ja     0x548269
54831d:	8b 04 24             	mov    (%esp),%eax
548320:	80 68 0a 02          	subb   $0x2,0xa(%eax)
548324:	8b 14 24             	mov    (%esp),%edx
548327:	80 62 08 fd          	andb   $0xfd,0x8(%edx)
54832b:	8b 04 24             	mov    (%esp),%eax
54832e:	8b 0c 24             	mov    (%esp),%ecx
548331:	33 d2                	xor    %edx,%edx
548333:	8a 50 0a             	mov    0xa(%eax),%dl
548336:	33 c0                	xor    %eax,%eax
548338:	8a 41 09             	mov    0x9(%ecx),%al
54833b:	8b 0c 24             	mov    (%esp),%ecx
54833e:	0f af d0             	imul   %eax,%edx
548341:	88 51 0b             	mov    %dl,0xb(%ecx)
548344:	33 c0                	xor    %eax,%eax
548346:	8b 14 24             	mov    (%esp),%edx
548349:	8a 42 0b             	mov    0xb(%edx),%al
54834c:	f7 ef                	imul   %edi
54834e:	8b 14 24             	mov    (%esp),%edx
548351:	83 c0 07             	add    $0x7,%eax
548354:	c1 e8 03             	shr    $0x3,%eax
548357:	89 42 04             	mov    %eax,0x4(%edx)
54835a:	8b 44 24 08          	mov    0x8(%esp),%eax
54835e:	83 c4 70             	add    $0x70,%esp
548361:	5d                   	pop    %ebp
548362:	5f                   	pop    %edi
548363:	5e                   	pop    %esi
548364:	5b                   	pop    %ebx
548365:	c3                   	ret
548366:	90                   	nop
548367:	90                   	nop
548368:	56                   	push   %esi
548369:	57                   	push   %edi
54836a:	55                   	push   %ebp
54836b:	85 d2                	test   %edx,%edx
54836d:	74 64                	je     0x5483d3
54836f:	48                   	dec    %eax
548370:	74 0f                	je     0x548381
548372:	48                   	dec    %eax
548373:	74 18                	je     0x54838d
548375:	83 e8 02             	sub    $0x2,%eax
548378:	74 1f                	je     0x548399
54837a:	83 e8 04             	sub    $0x4,%eax
54837d:	74 26                	je     0x5483a5
54837f:	eb 30                	jmp    0x5483b1
548381:	bf 02 00 00 00       	mov    $0x2,%edi
548386:	bd ff 00 00 00       	mov    $0xff,%ebp
54838b:	eb 28                	jmp    0x5483b5
54838d:	bf 04 00 00 00       	mov    $0x4,%edi
548392:	bd 55 00 00 00       	mov    $0x55,%ebp
548397:	eb 1c                	jmp    0x5483b5
548399:	bf 10 00 00 00       	mov    $0x10,%edi
54839e:	bd 11 00 00 00       	mov    $0x11,%ebp
5483a3:	eb 10                	jmp    0x5483b5
5483a5:	bf 00 01 00 00       	mov    $0x100,%edi
5483aa:	bd 01 00 00 00       	mov    $0x1,%ebp
5483af:	eb 04                	jmp    0x5483b5
5483b1:	33 ff                	xor    %edi,%edi
5483b3:	33 ed                	xor    %ebp,%ebp
5483b5:	33 f6                	xor    %esi,%esi
5483b7:	33 c9                	xor    %ecx,%ecx
5483b9:	8b c2                	mov    %edx,%eax
5483bb:	3b fe                	cmp    %esi,%edi
5483bd:	7e 14                	jle    0x5483d3
5483bf:	8b d1                	mov    %ecx,%edx
5483c1:	88 10                	mov    %dl,(%eax)
5483c3:	88 50 01             	mov    %dl,0x1(%eax)
5483c6:	88 50 02             	mov    %dl,0x2(%eax)
5483c9:	83 c0 03             	add    $0x3,%eax
5483cc:	46                   	inc    %esi
5483cd:	03 cd                	add    %ebp,%ecx
5483cf:	3b fe                	cmp    %esi,%edi
5483d1:	7f ec                	jg     0x5483bf
5483d3:	5d                   	pop    %ebp
5483d4:	5f                   	pop    %edi
5483d5:	5e                   	pop    %esi
5483d6:	c3                   	ret
5483d7:	90                   	nop
5483d8:	55                   	push   %ebp
5483d9:	8b ec                	mov    %esp,%ebp
5483db:	83 c4 94             	add    $0xffffff94,%esp
5483de:	53                   	push   %ebx
5483df:	56                   	push   %esi
5483e0:	57                   	push   %edi
5483e1:	89 55 f8             	mov    %edx,-0x8(%ebp)
5483e4:	89 45 fc             	mov    %eax,-0x4(%ebp)
5483e7:	8b f1                	mov    %ecx,%esi
5483e9:	8b 45 fc             	mov    -0x4(%ebp),%eax
5483ec:	8b 7d 28             	mov    0x28(%ebp),%edi
5483ef:	85 ff                	test   %edi,%edi
5483f1:	8b 10                	mov    (%eax),%edx
5483f3:	89 55 f0             	mov    %edx,-0x10(%ebp)
5483f6:	0f 84 ad 13 00 00    	je     0x5497a9
5483fc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5483ff:	f6 41 08 04          	testb  $0x4,0x8(%ecx)
548403:	74 17                	je     0x54841c
548405:	8b 45 fc             	mov    -0x4(%ebp),%eax
548408:	8a 50 08             	mov    0x8(%eax),%dl
54840b:	80 fa 03             	cmp    $0x3,%dl
54840e:	0f 84 95 13 00 00    	je     0x5497a9
548414:	85 f6                	test   %esi,%esi
548416:	0f 84 8d 13 00 00    	je     0x5497a9
54841c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54841f:	8a 41 08             	mov    0x8(%ecx),%al
548422:	2c 01                	sub    $0x1,%al
548424:	72 1d                	jb     0x548443
548426:	fe c8                	dec    %al
548428:	0f 84 b2 04 00 00    	je     0x5488e0
54842e:	2c 02                	sub    $0x2,%al
548430:	0f 84 c9 07 00 00    	je     0x548bff
548436:	2c 02                	sub    $0x2,%al
548438:	0f 84 68 0b 00 00    	je     0x548fa6
54843e:	e9 1f 13 00 00       	jmp    0x549762
548443:	8b 55 fc             	mov    -0x4(%ebp),%edx
548446:	33 c9                	xor    %ecx,%ecx
548448:	8a 4a 09             	mov    0x9(%edx),%cl
54844b:	83 f9 10             	cmp    $0x10,%ecx
54844e:	0f 87 0e 13 00 00    	ja     0x549762
548454:	8a 89 61 84 54 00    	mov    0x548461(%ecx),%cl
54845a:	ff 24 8d 72 84 54 00 	jmp    *0x548472(,%ecx,4)
548461:	00 05 04 00 03 00    	add    %al,0x30004
548467:	00 00                	add    %al,(%eax)
548469:	02 00                	add    (%eax),%al
54846b:	00 00                	add    %al,(%eax)
54846d:	00 00                	add    %al,(%eax)
54846f:	00 00                	add    %al,(%eax)
548471:	01 62 97             	add    %esp,-0x69(%edx)
548474:	54                   	push   %esp
548475:	00 eb                	add    %ch,%bl
548477:	87 54 00 62          	xchg   %edx,0x62(%eax,%eax,1)
54847b:	87 54 00 34          	xchg   %edx,0x34(%eax,%eax,1)
54847f:	86 54 00 f2          	xchg   %dl,-0xe(%eax,%eax,1)
548483:	84 54 00 8a          	test   %dl,-0x76(%eax,%eax,1)
548487:	84 54 00 8b          	test   %dl,-0x75(%eax,%eax,1)
54848b:	5d                   	pop    %ebp
54848c:	f8                   	clc
54848d:	33 d2                	xor    %edx,%edx
54848f:	89 55 f4             	mov    %edx,-0xc(%ebp)
548492:	b8 07 00 00 00       	mov    $0x7,%eax
548497:	8b 55 f0             	mov    -0x10(%ebp),%edx
54849a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
54849d:	3b ca                	cmp    %edx,%ecx
54849f:	0f 83 bd 12 00 00    	jae    0x549762
5484a5:	8b c8                	mov    %eax,%ecx
5484a7:	33 d2                	xor    %edx,%edx
5484a9:	8a 13                	mov    (%ebx),%dl
5484ab:	d3 fa                	sar    %cl,%edx
5484ad:	66 83 e2 01          	and    $0x1,%dx
5484b1:	66 3b 56 08          	cmp    0x8(%esi),%dx
5484b5:	75 1c                	jne    0x5484d3
5484b7:	b9 07 00 00 00       	mov    $0x7,%ecx
5484bc:	2b c8                	sub    %eax,%ecx
5484be:	ba 7f 7f 00 00       	mov    $0x7f7f,%edx
5484c3:	d3 fa                	sar    %cl,%edx
5484c5:	80 e2 ff             	and    $0xff,%dl
5484c8:	20 13                	and    %dl,(%ebx)
5484ca:	8b c8                	mov    %eax,%ecx
5484cc:	8a 57 08             	mov    0x8(%edi),%dl
5484cf:	d2 e2                	shl    %cl,%dl
5484d1:	08 13                	or     %dl,(%ebx)
5484d3:	85 c0                	test   %eax,%eax
5484d5:	75 08                	jne    0x5484df
5484d7:	b8 07 00 00 00       	mov    $0x7,%eax
5484dc:	43                   	inc    %ebx
5484dd:	eb 01                	jmp    0x5484e0
5484df:	48                   	dec    %eax
5484e0:	ff 45 f4             	incl   -0xc(%ebp)
5484e3:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5484e6:	8b 55 f0             	mov    -0x10(%ebp),%edx
5484e9:	3b ca                	cmp    %edx,%ecx
5484eb:	72 b8                	jb     0x5484a5
5484ed:	e9 70 12 00 00       	jmp    0x549762
5484f2:	8b 45 20             	mov    0x20(%ebp),%eax
5484f5:	85 c0                	test   %eax,%eax
5484f7:	0f 84 cd 00 00 00    	je     0x5485ca
5484fd:	8b 5d f8             	mov    -0x8(%ebp),%ebx
548500:	33 d2                	xor    %edx,%edx
548502:	89 55 f4             	mov    %edx,-0xc(%ebp)
548505:	b8 06 00 00 00       	mov    $0x6,%eax
54850a:	8b 55 f0             	mov    -0x10(%ebp),%edx
54850d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
548510:	3b ca                	cmp    %edx,%ecx
548512:	0f 83 4a 12 00 00    	jae    0x549762
548518:	8b c8                	mov    %eax,%ecx
54851a:	33 d2                	xor    %edx,%edx