54c1cd:	03 d9                	add    %ecx,%ebx
54c1cf:	8d 8b 00 28 ff ff    	lea    -0xd800(%ebx),%ecx
54c1d5:	81 f9 ff 07 00 00    	cmp    $0x7ff,%ecx
54c1db:	77 2e                	ja     0x54c20b
54c1dd:	3b f7                	cmp    %edi,%esi
54c1df:	73 2a                	jae    0x54c20b
54c1e1:	0f b6 16             	movzbl (%esi),%edx
54c1e4:	0f b6 4e 01          	movzbl 0x1(%esi),%ecx
54c1e8:	83 c6 02             	add    $0x2,%esi
54c1eb:	c1 e2 08             	shl    $0x8,%edx
54c1ee:	03 d1                	add    %ecx,%edx
54c1f0:	8b cb                	mov    %ebx,%ecx
54c1f2:	83 e3 3f             	and    $0x3f,%ebx
54c1f5:	81 e1 c0 03 00 00    	and    $0x3c0,%ecx
54c1fb:	83 c3 40             	add    $0x40,%ebx
54c1fe:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
54c204:	03 d9                	add    %ecx,%ebx
54c206:	c1 e3 0a             	shl    $0xa,%ebx
54c209:	03 da                	add    %edx,%ebx
54c20b:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
54c211:	72 6e                	jb     0x54c281
54c213:	8b cb                	mov    %ebx,%ecx
54c215:	81 fb 00 08 00 00    	cmp    $0x800,%ebx
54c21b:	73 0e                	jae    0x54c22b
54c21d:	c1 e9 06             	shr    $0x6,%ecx
54c220:	80 e1 1f             	and    $0x1f,%cl
54c223:	80 e9 40             	sub    $0x40,%cl
54c226:	88 08                	mov    %cl,(%eax)
54c228:	40                   	inc    %eax
54c229:	eb 50                	jmp    0x54c27b
54c22b:	81 fb 00 00 01 00    	cmp    $0x10000,%ebx
54c231:	73 1e                	jae    0x54c251
54c233:	c1 e9 0c             	shr    $0xc,%ecx
54c236:	80 e1 0f             	and    $0xf,%cl
54c239:	80 e9 20             	sub    $0x20,%cl
54c23c:	88 08                	mov    %cl,(%eax)
54c23e:	8b cb                	mov    %ebx,%ecx
54c240:	c1 e9 06             	shr    $0x6,%ecx
54c243:	80 e1 3f             	and    $0x3f,%cl
54c246:	80 e9 80             	sub    $0x80,%cl
54c249:	88 48 01             	mov    %cl,0x1(%eax)
54c24c:	83 c0 02             	add    $0x2,%eax
54c24f:	eb 2a                	jmp    0x54c27b
54c251:	c1 e9 12             	shr    $0x12,%ecx
54c254:	80 e1 07             	and    $0x7,%cl
54c257:	80 e9 10             	sub    $0x10,%cl
54c25a:	88 08                	mov    %cl,(%eax)
54c25c:	8b cb                	mov    %ebx,%ecx
54c25e:	c1 e9 0c             	shr    $0xc,%ecx
54c261:	80 e1 3f             	and    $0x3f,%cl
54c264:	80 e9 80             	sub    $0x80,%cl
54c267:	88 48 01             	mov    %cl,0x1(%eax)
54c26a:	8b cb                	mov    %ebx,%ecx
54c26c:	c1 e9 06             	shr    $0x6,%ecx
54c26f:	80 e1 3f             	and    $0x3f,%cl
54c272:	80 e9 80             	sub    $0x80,%cl
54c275:	88 48 02             	mov    %cl,0x2(%eax)
54c278:	83 c0 03             	add    $0x3,%eax
54c27b:	80 e3 3f             	and    $0x3f,%bl
54c27e:	80 eb 80             	sub    $0x80,%bl
54c281:	88 18                	mov    %bl,(%eax)
54c283:	40                   	inc    %eax
54c284:	3b f7                	cmp    %edi,%esi
54c286:	0f 82 34 ff ff ff    	jb     0x54c1c0
54c28c:	8b 55 fc             	mov    -0x4(%ebp),%edx
54c28f:	8b 5d 08             	mov    0x8(%ebp),%ebx
54c292:	8b c8                	mov    %eax,%ecx
54c294:	2b ca                	sub    %edx,%ecx
54c296:	89 4b 0c             	mov    %ecx,0xc(%ebx)
54c299:	c6 00 00             	movb   $0x0,(%eax)
54c29c:	0f b7 43 08          	movzwl 0x8(%ebx),%eax
54c2a0:	8b f0                	mov    %eax,%esi
54c2a2:	a9 00 24 00 00       	test   $0x2400,%eax
54c2a7:	75 06                	jne    0x54c2af
54c2a9:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
54c2ad:	74 0c                	je     0x54c2bb
54c2af:	53                   	push   %ebx
54c2b0:	e8 5b eb 00 00       	call   0x55ae10
54c2b5:	8b 55 fc             	mov    -0x4(%ebp),%edx
54c2b8:	83 c4 04             	add    $0x4,%esp
54c2bb:	8a 45 0c             	mov    0xc(%ebp),%al
54c2be:	81 e6 3f 82 00 00    	and    $0x823f,%esi
54c2c4:	81 ce 02 02 00 00    	or     $0x202,%esi
54c2ca:	88 43 0a             	mov    %al,0xa(%ebx)
54c2cd:	8b 43 20             	mov    0x20(%ebx),%eax
54c2d0:	66 89 73 08          	mov    %si,0x8(%ebx)
54c2d4:	89 53 10             	mov    %edx,0x10(%ebx)
54c2d7:	89 53 14             	mov    %edx,0x14(%ebx)
54c2da:	85 c0                	test   %eax,%eax
54c2dc:	74 3c                	je     0x54c31a
54c2de:	3b 90 4c 01 00 00    	cmp    0x14c(%eax),%edx
54c2e4:	73 34                	jae    0x54c31a
54c2e6:	3b 90 44 01 00 00    	cmp    0x144(%eax),%edx
54c2ec:	72 11                	jb     0x54c2ff
54c2ee:	5f                   	pop    %edi
54c2ef:	b8 80 00 00 00       	mov    $0x80,%eax
54c2f4:	89 43 18             	mov    %eax,0x18(%ebx)
54c2f7:	33 c0                	xor    %eax,%eax
54c2f9:	5e                   	pop    %esi
54c2fa:	5b                   	pop    %ebx
54c2fb:	8b e5                	mov    %ebp,%esp
54c2fd:	5d                   	pop    %ebp
54c2fe:	c3                   	ret
54c2ff:	3b 90 48 01 00 00    	cmp    0x148(%eax),%edx
54c305:	72 13                	jb     0x54c31a
54c307:	0f b7 80 1e 01 00 00 	movzwl 0x11e(%eax),%eax
54c30e:	5f                   	pop    %edi
54c30f:	89 43 18             	mov    %eax,0x18(%ebx)
54c312:	33 c0                	xor    %eax,%eax
54c314:	5e                   	pop    %esi
54c315:	5b                   	pop    %ebx
54c316:	8b e5                	mov    %ebp,%esp
54c318:	5d                   	pop    %ebp
54c319:	c3                   	ret
54c31a:	52                   	push   %edx
54c31b:	ff 15 3c 18 72 00    	call   *0x72183c
54c321:	83 c4 04             	add    $0x4,%esp
54c324:	89 43 18             	mov    %eax,0x18(%ebx)
54c327:	5f                   	pop    %edi
54c328:	5e                   	pop    %esi
54c329:	33 c0                	xor    %eax,%eax
54c32b:	5b                   	pop    %ebx
54c32c:	8b e5                	mov    %ebp,%esp
54c32e:	5d                   	pop    %ebp
54c32f:	c3                   	ret
54c330:	55                   	push   %ebp
54c331:	8b ec                	mov    %esp,%ebp
54c333:	83 ec 10             	sub    $0x10,%esp
54c336:	8b 4d 10             	mov    0x10(%ebp),%ecx
54c339:	33 d2                	xor    %edx,%edx
54c33b:	53                   	push   %ebx
54c33c:	56                   	push   %esi
54c33d:	8b 75 08             	mov    0x8(%ebp),%esi
54c340:	8a 01                	mov    (%ecx),%al
54c342:	89 55 fc             	mov    %edx,-0x4(%ebp)
54c345:	57                   	push   %edi
54c346:	84 c0                	test   %al,%al
54c348:	0f 84 21 01 00 00    	je     0x54c46f
54c34e:	8b 7d 0c             	mov    0xc(%ebp),%edi
54c351:	8d 5d 10             	lea    0x10(%ebp),%ebx
54c354:	2b cf                	sub    %edi,%ecx
54c356:	89 4d f0             	mov    %ecx,-0x10(%ebp)
54c359:	8d 4a 48             	lea    0x48(%edx),%ecx
54c35c:	0f 1f 40 00          	nopl   0x0(%eax)
54c360:	3c 73                	cmp    $0x73,%al
54c362:	0f 85 99 00 00 00    	jne    0x54c401
54c368:	8b 56 6c             	mov    0x6c(%esi),%edx
54c36b:	83 c3 04             	add    $0x4,%ebx
54c36e:	b8 73 00 00 00       	mov    $0x73,%eax
54c373:	89 5d f4             	mov    %ebx,-0xc(%ebp)
54c376:	83 3b 00             	cmpl   $0x0,(%ebx)
54c379:	0f 44 c1             	cmove  %ecx,%eax
54c37c:	89 45 f8             	mov    %eax,-0x8(%ebp)
54c37f:	39 56 70             	cmp    %edx,0x70(%esi)
54c382:	7f 13                	jg     0x54c397
54c384:	6a 00                	push   $0x0
54c386:	57                   	push   %edi
54c387:	6a 00                	push   $0x0
54c389:	50                   	push   %eax
54c38a:	56                   	push   %esi
54c38b:	e8 70 a1 fb ff       	call   0x506500
54c390:	83 c4 14             	add    $0x14,%esp
54c393:	8b d0                	mov    %eax,%edx
54c395:	eb 30                	jmp    0x54c3c7
54c397:	8b 5d f8             	mov    -0x8(%ebp),%ebx
54c39a:	8d 42 01             	lea    0x1(%edx),%eax
54c39d:	89 46 6c             	mov    %eax,0x6c(%esi)
54c3a0:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
54c3a3:	8b 46 68             	mov    0x68(%esi),%eax
54c3a6:	88 1c 88             	mov    %bl,(%eax,%ecx,4)
54c3a9:	33 db                	xor    %ebx,%ebx
54c3ab:	66 89 5c 88 02       	mov    %bx,0x2(%eax,%ecx,4)
54c3b0:	89 5c 88 04          	mov    %ebx,0x4(%eax,%ecx,4)
54c3b4:	89 5c 88 0c          	mov    %ebx,0xc(%eax,%ecx,4)
54c3b8:	89 5c 88 10          	mov    %ebx,0x10(%eax,%ecx,4)
54c3bc:	88 5c 88 01          	mov    %bl,0x1(%eax,%ecx,4)
54c3c0:	8b 5d f4             	mov    -0xc(%ebp),%ebx
54c3c3:	89 7c 88 08          	mov    %edi,0x8(%eax,%ecx,4)
54c3c7:	8b 06                	mov    (%esi),%eax
54c3c9:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
54c3cd:	74 10                	je     0x54c3df
54c3cf:	8b 0b                	mov    (%ebx),%ecx
54c3d1:	51                   	push   %ecx
54c3d2:	6a 00                	push   $0x0
54c3d4:	50                   	push   %eax
54c3d5:	e8 d6 78 fb ff       	call   0x503cb0
54c3da:	83 c4 0c             	add    $0xc,%esp
54c3dd:	eb 75                	jmp    0x54c454
54c3df:	85 d2                	test   %edx,%edx
54c3e1:	79 04                	jns    0x54c3e7
54c3e3:	8b 56 6c             	mov    0x6c(%esi),%edx
54c3e6:	4a                   	dec    %edx
54c3e7:	8b 46 68             	mov    0x68(%esi),%eax
54c3ea:	8b 0b                	mov    (%ebx),%ecx
54c3ec:	6a 00                	push   $0x0
54c3ee:	51                   	push   %ecx
54c3ef:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
54c3f2:	8d 04 88             	lea    (%eax,%ecx,4),%eax
54c3f5:	50                   	push   %eax
54c3f6:	56                   	push   %esi
54c3f7:	e8 44 d8 00 00       	call   0x559c40
54c3fc:	83 c4 10             	add    $0x10,%esp
54c3ff:	eb 53                	jmp    0x54c454
54c401:	3c 69                	cmp    $0x69,%al
54c403:	0f 85 b2 00 00 00    	jne    0x54c4bb
54c409:	8b 4e 6c             	mov    0x6c(%esi),%ecx
54c40c:	83 c3 04             	add    $0x4,%ebx
54c40f:	8b 13                	mov    (%ebx),%edx
54c411:	39 4e 70             	cmp    %ecx,0x70(%esi)
54c414:	7f 11                	jg     0x54c427
54c416:	6a 00                	push   $0x0
54c418:	57                   	push   %edi
54c419:	52                   	push   %edx
54c41a:	6a 45                	push   $0x45
54c41c:	56                   	push   %esi
54c41d:	e8 de a0 fb ff       	call   0x506500
54c422:	83 c4 14             	add    $0x14,%esp
54c425:	eb 2d                	jmp    0x54c454
54c427:	8b 13                	mov    (%ebx),%edx
54c429:	8d 41 01             	lea    0x1(%ecx),%eax
54c42c:	89 46 6c             	mov    %eax,0x6c(%esi)
54c42f:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
54c432:	8b 46 68             	mov    0x68(%esi),%eax
54c435:	c7 04 88 45 00 00 00 	movl   $0x45,(%eax,%ecx,4)
54c43c:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
54c440:	89 7c 88 08          	mov    %edi,0x8(%eax,%ecx,4)
54c444:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
54c44b:	00
54c44c:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
54c453:	00
54c454:	8b 45 f0             	mov    -0x10(%ebp),%eax
54c457:	47                   	inc    %edi
54c458:	8b 55 fc             	mov    -0x4(%ebp),%edx
54c45b:	b9 48 00 00 00       	mov    $0x48,%ecx
54c460:	42                   	inc    %edx
54c461:	89 55 fc             	mov    %edx,-0x4(%ebp)
54c464:	8a 04 38             	mov    (%eax,%edi,1),%al
54c467:	84 c0                	test   %al,%al
54c469:	0f 85 f1 fe ff ff    	jne    0x54c360
54c46f:	8b 4e 6c             	mov    0x6c(%esi),%ecx
54c472:	8b 7d 0c             	mov    0xc(%ebp),%edi
54c475:	39 4e 70             	cmp    %ecx,0x70(%esi)
54c478:	7f 16                	jg     0x54c490
54c47a:	6a 00                	push   $0x0
54c47c:	52                   	push   %edx
54c47d:	57                   	push   %edi
54c47e:	6a 50                	push   $0x50
54c480:	56                   	push   %esi
54c481:	e8 7a a0 fb ff       	call   0x506500
54c486:	83 c4 14             	add    $0x14,%esp
54c489:	5f                   	pop    %edi
54c48a:	5e                   	pop    %esi
54c48b:	5b                   	pop    %ebx
54c48c:	8b e5                	mov    %ebp,%esp
54c48e:	5d                   	pop    %ebp
54c48f:	c3                   	ret
54c490:	8d 41 01             	lea    0x1(%ecx),%eax
54c493:	89 46 6c             	mov    %eax,0x6c(%esi)
54c496:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
54c499:	8b 46 68             	mov    0x68(%esi),%eax
54c49c:	c7 04 88 50 00 00 00 	movl   $0x50,(%eax,%ecx,4)
54c4a3:	89 7c 88 04          	mov    %edi,0x4(%eax,%ecx,4)
54c4a7:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
54c4ab:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
54c4b2:	00
54c4b3:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
54c4ba:	00
54c4bb:	5f                   	pop    %edi
54c4bc:	5e                   	pop    %esi
54c4bd:	5b                   	pop    %ebx
54c4be:	8b e5                	mov    %ebp,%esp
54c4c0:	5d                   	pop    %ebp
54c4c1:	c3                   	ret
54c4c2:	cc                   	int3
54c4c3:	cc                   	int3
54c4c4:	cc                   	int3
54c4c5:	cc                   	int3
54c4c6:	cc                   	int3
54c4c7:	cc                   	int3
54c4c8:	cc                   	int3
54c4c9:	cc                   	int3
54c4ca:	cc                   	int3
54c4cb:	cc                   	int3
54c4cc:	cc                   	int3
54c4cd:	cc                   	int3
54c4ce:	cc                   	int3
54c4cf:	cc                   	int3
54c4d0:	55                   	push   %ebp
54c4d1:	8b ec                	mov    %esp,%ebp
54c4d3:	8b 45 08             	mov    0x8(%ebp),%eax
54c4d6:	83 ec 08             	sub    $0x8,%esp
54c4d9:	0f b7 48 08          	movzwl 0x8(%eax),%ecx
54c4dd:	f6 c1 08             	test   $0x8,%cl
54c4e0:	74 06                	je     0x54c4e8
54c4e2:	dd 00                	fldl   (%eax)
54c4e4:	8b e5                	mov    %ebp,%esp
54c4e6:	5d                   	pop    %ebp
54c4e7:	c3                   	ret
54c4e8:	f6 c1 24             	test   $0x24,%cl
54c4eb:	74 16                	je     0x54c503
54c4ed:	8b 50 04             	mov    0x4(%eax),%edx
54c4f0:	8b 08                	mov    (%eax),%ecx
54c4f2:	e8 a9 53 09 00       	call   0x5e18a0
54c4f7:	f2 0f 11 45 f8       	movsd  %xmm0,-0x8(%ebp)
54c4fc:	dd 45 f8             	fldl   -0x8(%ebp)
54c4ff:	8b e5                	mov    %ebp,%esp
54c501:	5d                   	pop    %ebp
54c502:	c3                   	ret
54c503:	f6 c1 12             	test   $0x12,%cl
54c506:	74 0d                	je     0x54c515
54c508:	50                   	push   %eax
54c509:	e8 02 d0 fb ff       	call   0x509510
54c50e:	83 c4 04             	add    $0x4,%esp
54c511:	8b e5                	mov    %ebp,%esp
54c513:	5d                   	pop    %ebp
54c514:	c3                   	ret
54c515:	d9 ee                	fldz
54c517:	8b e5                	mov    %ebp,%esp
54c519:	5d                   	pop    %ebp
54c51a:	c3                   	ret
54c51b:	cc                   	int3
54c51c:	cc                   	int3
54c51d:	cc                   	int3
54c51e:	cc                   	int3
54c51f:	cc                   	int3
54c520:	55                   	push   %ebp
54c521:	8b ec                	mov    %esp,%ebp
54c523:	6a 00                	push   $0x0
54c525:	ff 75 10             	push   0x10(%ebp)
54c528:	ff 75 0c             	push   0xc(%ebp)
54c52b:	ff 75 08             	push   0x8(%ebp)
54c52e:	e8 0d 00 00 00       	call   0x54c540
54c533:	83 c4 10             	add    $0x10,%esp
54c536:	5d                   	pop    %ebp
54c537:	c3                   	ret
54c538:	cc                   	int3
54c539:	cc                   	int3
54c53a:	cc                   	int3
54c53b:	cc                   	int3
54c53c:	cc                   	int3
54c53d:	cc                   	int3
54c53e:	cc                   	int3
54c53f:	cc                   	int3
54c540:	55                   	push   %ebp
54c541:	8b ec                	mov    %esp,%ebp
54c543:	83 ec 54             	sub    $0x54,%esp
54c546:	a1 d4 89 72 00       	mov    0x7289d4,%eax
54c54b:	33 c5                	xor    %ebp,%eax
54c54d:	89 45 fc             	mov    %eax,-0x4(%ebp)
54c550:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)