547264:	3b da                	cmp    %edx,%ebx
547266:	77 d5                	ja     0x54723d
547268:	c6 40 09 08          	movb   $0x8,0x9(%eax)
54726c:	8a 50 0a             	mov    0xa(%eax),%dl
54726f:	c1 e2 03             	shl    $0x3,%edx
547272:	88 50 0b             	mov    %dl,0xb(%eax)
547275:	33 c9                	xor    %ecx,%ecx
547277:	8a 48 0a             	mov    0xa(%eax),%cl
54727a:	0f af cb             	imul   %ebx,%ecx
54727d:	89 48 04             	mov    %ecx,0x4(%eax)
547280:	83 c4 0c             	add    $0xc,%esp
547283:	5d                   	pop    %ebp
547284:	5f                   	pop    %edi
547285:	5e                   	pop    %esi
547286:	5b                   	pop    %ebx
547287:	c3                   	ret
547288:	53                   	push   %ebx
547289:	56                   	push   %esi
54728a:	57                   	push   %edi
54728b:	55                   	push   %ebp
54728c:	83 c4 e4             	add    $0xffffffe4,%esp
54728f:	89 14 24             	mov    %edx,(%esp)
547292:	8a 50 08             	mov    0x8(%eax),%dl
547295:	80 fa 03             	cmp    $0x3,%dl
547298:	0f 84 77 01 00 00    	je     0x547415
54729e:	33 f6                	xor    %esi,%esi
5472a0:	33 ff                	xor    %edi,%edi
5472a2:	8b 18                	mov    (%eax),%ebx
5472a4:	f6 c2 02             	test   $0x2,%dl
5472a7:	89 5c 24 04          	mov    %ebx,0x4(%esp)
5472ab:	74 2c                	je     0x5472d9
5472ad:	0f b6 29             	movzbl (%ecx),%ebp
5472b0:	33 d2                	xor    %edx,%edx
5472b2:	8a 50 09             	mov    0x9(%eax),%dl
5472b5:	8b da                	mov    %edx,%ebx
5472b7:	2b dd                	sub    %ebp,%ebx
5472b9:	89 5c b4 0c          	mov    %ebx,0xc(%esp,%esi,4)
5472bd:	46                   	inc    %esi
5472be:	0f b6 69 01          	movzbl 0x1(%ecx),%ebp
5472c2:	8b da                	mov    %edx,%ebx
5472c4:	2b dd                	sub    %ebp,%ebx
5472c6:	89 5c b4 0c          	mov    %ebx,0xc(%esp,%esi,4)
5472ca:	33 db                	xor    %ebx,%ebx
5472cc:	46                   	inc    %esi
5472cd:	8a 59 02             	mov    0x2(%ecx),%bl
5472d0:	2b d3                	sub    %ebx,%edx
5472d2:	89 54 b4 0c          	mov    %edx,0xc(%esp,%esi,4)
5472d6:	46                   	inc    %esi
5472d7:	eb 11                	jmp    0x5472ea
5472d9:	33 d2                	xor    %edx,%edx
5472db:	33 db                	xor    %ebx,%ebx
5472dd:	8a 59 03             	mov    0x3(%ecx),%bl
5472e0:	8a 50 09             	mov    0x9(%eax),%dl
5472e3:	2b d3                	sub    %ebx,%edx
5472e5:	89 54 b4 0c          	mov    %edx,0xc(%esp,%esi,4)
5472e9:	46                   	inc    %esi
5472ea:	f6 40 08 04          	testb  $0x4,0x8(%eax)
5472ee:	74 10                	je     0x547300
5472f0:	33 d2                	xor    %edx,%edx
5472f2:	8a 50 09             	mov    0x9(%eax),%dl
5472f5:	0f b6 49 04          	movzbl 0x4(%ecx),%ecx
5472f9:	2b d1                	sub    %ecx,%edx
5472fb:	89 54 b4 0c          	mov    %edx,0xc(%esp,%esi,4)
5472ff:	46                   	inc    %esi
547300:	33 d2                	xor    %edx,%edx
547302:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
547306:	3b f2                	cmp    %edx,%esi
547308:	7e 18                	jle    0x547322
54730a:	8b 19                	mov    (%ecx),%ebx
54730c:	85 db                	test   %ebx,%ebx
54730e:	7f 06                	jg     0x547316
547310:	33 db                	xor    %ebx,%ebx
547312:	89 19                	mov    %ebx,(%ecx)
547314:	eb 04                	jmp    0x54731a
547316:	66 bf 01 00          	mov    $0x1,%di
54731a:	42                   	inc    %edx
54731b:	83 c1 04             	add    $0x4,%ecx
54731e:	3b f2                	cmp    %edx,%esi
547320:	7f e8                	jg     0x54730a
547322:	66 85 ff             	test   %di,%di
547325:	0f 84 ea 00 00 00    	je     0x547415
54732b:	8a 50 09             	mov    0x9(%eax),%dl
54732e:	80 ea 02             	sub    $0x2,%dl
547331:	74 18                	je     0x54734b
547333:	80 ea 02             	sub    $0x2,%dl
547336:	74 33                	je     0x54736b
547338:	80 ea 04             	sub    $0x4,%dl
54733b:	74 68                	je     0x5473a5
54733d:	80 ea 08             	sub    $0x8,%dl
547340:	0f 84 83 00 00 00    	je     0x5473c9
547346:	e9 ca 00 00 00       	jmp    0x547415
54734b:	8b 48 04             	mov    0x4(%eax),%ecx
54734e:	8b 04 24             	mov    (%esp),%eax
547351:	33 d2                	xor    %edx,%edx
547353:	3b ca                	cmp    %edx,%ecx
547355:	0f 86 ba 00 00 00    	jbe    0x547415
54735b:	d0 28                	shrb   $1,(%eax)
54735d:	80 20 55             	andb   $0x55,(%eax)
547360:	40                   	inc    %eax
547361:	42                   	inc    %edx
547362:	3b ca                	cmp    %edx,%ecx
547364:	77 f5                	ja     0x54735b
547366:	e9 aa 00 00 00       	jmp    0x547415
54736b:	8b 14 24             	mov    (%esp),%edx
54736e:	8b 70 04             	mov    0x4(%eax),%esi
547371:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
547375:	b8 f0 00 00 00       	mov    $0xf0,%eax
54737a:	d3 f8                	sar    %cl,%eax
54737c:	24 f0                	and    $0xf0,%al
54737e:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
547382:	bb 0f 00 00 00       	mov    $0xf,%ebx
547387:	d3 fb                	sar    %cl,%ebx
547389:	0a c3                	or     %bl,%al
54738b:	33 db                	xor    %ebx,%ebx
54738d:	3b f3                	cmp    %ebx,%esi
54738f:	0f 86 80 00 00 00    	jbe    0x547415
547395:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
547399:	43                   	inc    %ebx
54739a:	d2 2a                	shrb   %cl,(%edx)
54739c:	20 02                	and    %al,(%edx)
54739e:	42                   	inc    %edx
54739f:	3b f3                	cmp    %ebx,%esi
5473a1:	77 f2                	ja     0x547395
5473a3:	eb 70                	jmp    0x547415
5473a5:	8b 3c 24             	mov    (%esp),%edi
5473a8:	8b 6c 24 04          	mov    0x4(%esp),%ebp
5473ac:	0f af ee             	imul   %esi,%ebp
5473af:	33 db                	xor    %ebx,%ebx
5473b1:	3b eb                	cmp    %ebx,%ebp
5473b3:	76 60                	jbe    0x547415
5473b5:	8b c3                	mov    %ebx,%eax
5473b7:	33 d2                	xor    %edx,%edx
5473b9:	f7 f6                	div    %esi
5473bb:	8b 4c 94 0c          	mov    0xc(%esp,%edx,4),%ecx
5473bf:	d2 2f                	shrb   %cl,(%edi)
5473c1:	47                   	inc    %edi
5473c2:	43                   	inc    %ebx
5473c3:	3b eb                	cmp    %ebx,%ebp
5473c5:	77 ee                	ja     0x5473b5
5473c7:	eb 4c                	jmp    0x547415
5473c9:	8b 1c 24             	mov    (%esp),%ebx
5473cc:	8b c6                	mov    %esi,%eax
5473ce:	f7 6c 24 04          	imull  0x4(%esp)
5473d2:	89 44 24 08          	mov    %eax,0x8(%esp)
5473d6:	33 ed                	xor    %ebp,%ebp
5473d8:	8b 44 24 08          	mov    0x8(%esp),%eax
5473dc:	3b e8                	cmp    %eax,%ebp
5473de:	73 35                	jae    0x547415
5473e0:	0f b6 3b             	movzbl (%ebx),%edi
5473e3:	c1 e7 08             	shl    $0x8,%edi
5473e6:	33 c0                	xor    %eax,%eax
5473e8:	8a 43 01             	mov    0x1(%ebx),%al
5473eb:	33 d2                	xor    %edx,%edx
5473ed:	66 03 f8             	add    %ax,%di
5473f0:	8b c5                	mov    %ebp,%eax
5473f2:	f7 f6                	div    %esi
5473f4:	45                   	inc    %ebp
5473f5:	8b 4c 94 0c          	mov    0xc(%esp,%edx,4),%ecx
5473f9:	66 d3 ef             	shr    %cl,%di
5473fc:	0f b7 c7             	movzwl %di,%eax
5473ff:	c1 f8 08             	sar    $0x8,%eax
547402:	8b d7                	mov    %edi,%edx
547404:	88 03                	mov    %al,(%ebx)
547406:	43                   	inc    %ebx
547407:	80 e2 ff             	and    $0xff,%dl
54740a:	88 13                	mov    %dl,(%ebx)
54740c:	43                   	inc    %ebx
54740d:	8b 4c 24 08          	mov    0x8(%esp),%ecx
547411:	3b e9                	cmp    %ecx,%ebp
547413:	72 cb                	jb     0x5473e0
547415:	83 c4 1c             	add    $0x1c,%esp
547418:	5d                   	pop    %ebp
547419:	5f                   	pop    %edi
54741a:	5e                   	pop    %esi
54741b:	5b                   	pop    %ebx
54741c:	c3                   	ret
54741d:	90                   	nop
54741e:	90                   	nop
54741f:	90                   	nop
547420:	53                   	push   %ebx
547421:	56                   	push   %esi
547422:	57                   	push   %edi
547423:	8a 48 09             	mov    0x9(%eax),%cl
547426:	80 f9 10             	cmp    $0x10,%cl
547429:	75 34                	jne    0x54745f
54742b:	0f b6 78 0a          	movzbl 0xa(%eax),%edi
54742f:	0f af 38             	imul   (%eax),%edi
547432:	33 f6                	xor    %esi,%esi
547434:	8b ca                	mov    %edx,%ecx
547436:	3b fe                	cmp    %esi,%edi
547438:	76 0d                	jbe    0x547447
54743a:	8a 19                	mov    (%ecx),%bl
54743c:	88 1a                	mov    %bl,(%edx)
54743e:	46                   	inc    %esi
54743f:	83 c1 02             	add    $0x2,%ecx
547442:	42                   	inc    %edx
547443:	3b fe                	cmp    %esi,%edi
547445:	77 f3                	ja     0x54743a
547447:	c6 40 09 08          	movb   $0x8,0x9(%eax)
54744b:	8a 50 0a             	mov    0xa(%eax),%dl
54744e:	c1 e2 03             	shl    $0x3,%edx
547451:	88 50 0b             	mov    %dl,0xb(%eax)
547454:	33 c9                	xor    %ecx,%ecx
547456:	8a 48 0a             	mov    0xa(%eax),%cl
547459:	0f af 08             	imul   (%eax),%ecx
54745c:	89 48 04             	mov    %ecx,0x4(%eax)
54745f:	5f                   	pop    %edi
547460:	5e                   	pop    %esi
547461:	5b                   	pop    %ebx
547462:	c3                   	ret
547463:	90                   	nop
547464:	53                   	push   %ebx
547465:	56                   	push   %esi
547466:	57                   	push   %edi
547467:	51                   	push   %ecx
547468:	80 78 08 06          	cmpb   $0x6,0x8(%eax)
54746c:	8b 08                	mov    (%eax),%ecx
54746e:	0f 85 93 00 00 00    	jne    0x547507
547474:	80 78 09 08          	cmpb   $0x8,0x9(%eax)
547478:	75 35                	jne    0x5474af
54747a:	8b 40 04             	mov    0x4(%eax),%eax
54747d:	33 f6                	xor    %esi,%esi
54747f:	03 d0                	add    %eax,%edx
547481:	3b ce                	cmp    %esi,%ecx
547483:	8b c2                	mov    %edx,%eax
547485:	8b f8                	mov    %eax,%edi
547487:	0f 86 e8 00 00 00    	jbe    0x547575
54748d:	48                   	dec    %eax
54748e:	4f                   	dec    %edi
54748f:	46                   	inc    %esi
547490:	8a 10                	mov    (%eax),%dl
547492:	48                   	dec    %eax
547493:	8a 18                	mov    (%eax),%bl
547495:	48                   	dec    %eax
547496:	88 1f                	mov    %bl,(%edi)
547498:	4f                   	dec    %edi
547499:	8a 18                	mov    (%eax),%bl
54749b:	48                   	dec    %eax
54749c:	88 1f                	mov    %bl,(%edi)
54749e:	4f                   	dec    %edi
54749f:	8a 18                	mov    (%eax),%bl
5474a1:	88 1f                	mov    %bl,(%edi)
5474a3:	4f                   	dec    %edi
5474a4:	3b ce                	cmp    %esi,%ecx
5474a6:	88 17                	mov    %dl,(%edi)
5474a8:	77 e3                	ja     0x54748d
5474aa:	e9 c6 00 00 00       	jmp    0x547575
5474af:	8b 40 04             	mov    0x4(%eax),%eax
5474b2:	33 f6                	xor    %esi,%esi
5474b4:	03 d0                	add    %eax,%edx
5474b6:	3b ce                	cmp    %esi,%ecx
5474b8:	8b c2                	mov    %edx,%eax
5474ba:	8b d0                	mov    %eax,%edx
5474bc:	0f 86 b3 00 00 00    	jbe    0x547575
5474c2:	48                   	dec    %eax
5474c3:	4a                   	dec    %edx
5474c4:	46                   	inc    %esi
5474c5:	8a 18                	mov    (%eax),%bl
5474c7:	48                   	dec    %eax
5474c8:	88 1c 24             	mov    %bl,(%esp)
5474cb:	8a 18                	mov    (%eax),%bl
5474cd:	48                   	dec    %eax
5474ce:	88 5c 24 01          	mov    %bl,0x1(%esp)
5474d2:	8a 18                	mov    (%eax),%bl
5474d4:	48                   	dec    %eax
5474d5:	88 1a                	mov    %bl,(%edx)
5474d7:	4a                   	dec    %edx
5474d8:	8a 18                	mov    (%eax),%bl
5474da:	48                   	dec    %eax
5474db:	88 1a                	mov    %bl,(%edx)
5474dd:	4a                   	dec    %edx
5474de:	8a 18                	mov    (%eax),%bl
5474e0:	48                   	dec    %eax
5474e1:	88 1a                	mov    %bl,(%edx)
5474e3:	4a                   	dec    %edx
5474e4:	8a 18                	mov    (%eax),%bl
5474e6:	48                   	dec    %eax
5474e7:	88 1a                	mov    %bl,(%edx)
5474e9:	4a                   	dec    %edx
5474ea:	8a 18                	mov    (%eax),%bl
5474ec:	48                   	dec    %eax
5474ed:	88 1a                	mov    %bl,(%edx)
5474ef:	4a                   	dec    %edx
5474f0:	8a 18                	mov    (%eax),%bl
5474f2:	88 1a                	mov    %bl,(%edx)
5474f4:	4a                   	dec    %edx
5474f5:	8a 1c 24             	mov    (%esp),%bl
5474f8:	88 1a                	mov    %bl,(%edx)
5474fa:	4a                   	dec    %edx
5474fb:	8a 5c 24 01          	mov    0x1(%esp),%bl
5474ff:	3b ce                	cmp    %esi,%ecx
547501:	88 1a                	mov    %bl,(%edx)
547503:	77 bd                	ja     0x5474c2
547505:	eb 6e                	jmp    0x547575
547507:	8a 58 08             	mov    0x8(%eax),%bl
54750a:	80 fb 04             	cmp    $0x4,%bl
54750d:	75 66                	jne    0x547575
54750f:	8a 58 09             	mov    0x9(%eax),%bl
547512:	80 fb 08             	cmp    $0x8,%bl
547515:	75 22                	jne    0x547539
547517:	8b 40 04             	mov    0x4(%eax),%eax
54751a:	33 f6                	xor    %esi,%esi
54751c:	03 d0                	add    %eax,%edx
54751e:	3b ce                	cmp    %esi,%ecx
547520:	8b c2                	mov    %edx,%eax
547522:	8b f8                	mov    %eax,%edi
547524:	76 4f                	jbe    0x547575
547526:	48                   	dec    %eax
547527:	8a 10                	mov    (%eax),%dl
547529:	4f                   	dec    %edi
54752a:	48                   	dec    %eax
54752b:	8a 18                	mov    (%eax),%bl
54752d:	88 1f                	mov    %bl,(%edi)
54752f:	4f                   	dec    %edi
547530:	88 17                	mov    %dl,(%edi)
547532:	46                   	inc    %esi
547533:	3b ce                	cmp    %esi,%ecx
547535:	77 ef                	ja     0x547526
547537:	eb 3c                	jmp    0x547575
547539:	8b 40 04             	mov    0x4(%eax),%eax
54753c:	33 f6                	xor    %esi,%esi
54753e:	03 d0                	add    %eax,%edx
547540:	3b ce                	cmp    %esi,%ecx
547542:	8b c2                	mov    %edx,%eax
547544:	8b d0                	mov    %eax,%edx
547546:	76 2d                	jbe    0x547575
547548:	48                   	dec    %eax
547549:	4a                   	dec    %edx
54754a:	46                   	inc    %esi
54754b:	8a 18                	mov    (%eax),%bl
54754d:	48                   	dec    %eax
54754e:	88 5c 24 02          	mov    %bl,0x2(%esp)
547552:	8a 18                	mov    (%eax),%bl
547554:	48                   	dec    %eax
547555:	88 5c 24 03          	mov    %bl,0x3(%esp)
547559:	8a 18                	mov    (%eax),%bl
54755b:	48                   	dec    %eax
54755c:	88 1a                	mov    %bl,(%edx)
54755e:	4a                   	dec    %edx
54755f:	8a 18                	mov    (%eax),%bl
547561:	88 1a                	mov    %bl,(%edx)
547563:	4a                   	dec    %edx
547564:	8a 5c 24 02          	mov    0x2(%esp),%bl
547568:	88 1a                	mov    %bl,(%edx)
54756a:	4a                   	dec    %edx
54756b:	8a 5c 24 03          	mov    0x3(%esp),%bl
54756f:	3b ce                	cmp    %esi,%ecx
547571:	88 1a                	mov    %bl,(%edx)
547573:	77 d3                	ja     0x547548
547575:	5a                   	pop    %edx