54b25b:	c3                   	ret
54b25c:	56                   	push   %esi
54b25d:	e8 7e 04 00 00       	call   0x54b6e0
54b262:	83 c4 04             	add    $0x4,%esp
54b265:	33 c0                	xor    %eax,%eax
54b267:	5e                   	pop    %esi
54b268:	5d                   	pop    %ebp
54b269:	c3                   	ret
54b26a:	56                   	push   %esi
54b26b:	e8 90 06 00 00       	call   0x54b900
54b270:	83 c4 04             	add    $0x4,%esp
54b273:	33 c0                	xor    %eax,%eax
54b275:	5e                   	pop    %esi
54b276:	5d                   	pop    %ebp
54b277:	c3                   	ret
54b278:	53                   	push   %ebx
54b279:	8b 5d 10             	mov    0x10(%ebp),%ebx
54b27c:	8b c1                	mov    %ecx,%eax
54b27e:	c1 e8 03             	shr    $0x3,%eax
54b281:	53                   	push   %ebx
54b282:	83 e0 02             	and    $0x2,%eax
54b285:	0b c1                	or     %ecx,%eax
54b287:	6a 42                	push   $0x42
54b289:	56                   	push   %esi
54b28a:	66 89 46 08          	mov    %ax,0x8(%esi)
54b28e:	e8 4d 88 fa ff       	call   0x4f3ae0
54b293:	83 c4 0c             	add    $0xc,%esp
54b296:	0f b6 cb             	movzbl %bl,%ecx
54b299:	b8 c3 bf 00 00       	mov    $0xbfc3,%eax
54b29e:	66 21 46 08          	and    %ax,0x8(%esi)
54b2a2:	f6 46 08 02          	testb  $0x2,0x8(%esi)
54b2a6:	5b                   	pop    %ebx
54b2a7:	74 91                	je     0x54b23a
54b2a9:	0f b6 46 0a          	movzbl 0xa(%esi),%eax
54b2ad:	3b c1                	cmp    %ecx,%eax
54b2af:	74 89                	je     0x54b23a
54b2b1:	51                   	push   %ecx
54b2b2:	56                   	push   %esi
54b2b3:	e8 88 0b 00 00       	call   0x54be40
54b2b8:	83 c4 08             	add    $0x8,%esp
54b2bb:	5e                   	pop    %esi
54b2bc:	5d                   	pop    %ebp
54b2bd:	c3                   	ret
54b2be:	66 90                	xchg   %ax,%ax
54b2c0:	13 b2 54 00 78 b2    	adc    -0x4d87ffac(%edx),%esi
54b2c6:	54                   	push   %esp
54b2c7:	00 4e b2             	add    %cl,-0x4e(%esi)
54b2ca:	54                   	push   %esp
54b2cb:	00 5c b2 54          	add    %bl,0x54(%edx,%esi,4)
54b2cf:	00 6a b2             	add    %ch,-0x4e(%edx)
54b2d2:	54                   	push   %esp
54b2d3:	00 cc                	add    %cl,%ah
54b2d5:	cc                   	int3
54b2d6:	cc                   	int3
54b2d7:	cc                   	int3
54b2d8:	cc                   	int3
54b2d9:	cc                   	int3
54b2da:	cc                   	int3
54b2db:	cc                   	int3
54b2dc:	cc                   	int3
54b2dd:	cc                   	int3
54b2de:	cc                   	int3
54b2df:	cc                   	int3
54b2e0:	55                   	push   %ebp
54b2e1:	8b ec                	mov    %esp,%ebp
54b2e3:	8b 4d 08             	mov    0x8(%ebp),%ecx
54b2e6:	8b 45 0c             	mov    0xc(%ebp),%eax
54b2e9:	39 41 18             	cmp    %eax,0x18(%ecx)
54b2ec:	7d 0e                	jge    0x54b2fc
54b2ee:	6a 00                	push   $0x0
54b2f0:	50                   	push   %eax
54b2f1:	51                   	push   %ecx
54b2f2:	e8 f9 01 00 00       	call   0x54b4f0
54b2f7:	83 c4 0c             	add    $0xc,%esp
54b2fa:	5d                   	pop    %ebp
54b2fb:	c3                   	ret
54b2fc:	8b 41 14             	mov    0x14(%ecx),%eax
54b2ff:	66 83 61 08 2d       	andw   $0x2d,0x8(%ecx)
54b304:	89 41 10             	mov    %eax,0x10(%ecx)
54b307:	33 c0                	xor    %eax,%eax
54b309:	5d                   	pop    %ebp
54b30a:	c3                   	ret
54b30b:	cc                   	int3
54b30c:	cc                   	int3
54b30d:	cc                   	int3
54b30e:	cc                   	int3
54b30f:	cc                   	int3
54b310:	55                   	push   %ebp
54b311:	8b ec                	mov    %esp,%ebp
54b313:	56                   	push   %esi
54b314:	8b 75 08             	mov    0x8(%ebp),%esi
54b317:	b8 00 24 00 00       	mov    $0x2400,%eax
54b31c:	66 85 46 08          	test   %ax,0x8(%esi)
54b320:	74 09                	je     0x54b32b
54b322:	56                   	push   %esi
54b323:	e8 28 fb 00 00       	call   0x55ae50
54b328:	83 c4 04             	add    $0x4,%esp
54b32b:	8b 55 0c             	mov    0xc(%ebp),%edx
54b32e:	b9 ff fb 00 00       	mov    $0xfbff,%ecx
54b333:	0f 10 02             	movups (%edx),%xmm0
54b336:	0f 11 06             	movups %xmm0,(%esi)
54b339:	8b 42 10             	mov    0x10(%edx),%eax
54b33c:	89 46 10             	mov    %eax,0x10(%esi)
54b33f:	66 8b 46 08          	mov    0x8(%esi),%ax
54b343:	66 23 c1             	and    %cx,%ax
54b346:	0f b7 c8             	movzwl %ax,%ecx
54b349:	66 89 4e 08          	mov    %cx,0x8(%esi)
54b34d:	f6 c1 12             	test   $0x12,%cl
54b350:	74 29                	je     0x54b37b
54b352:	66 8b 42 08          	mov    0x8(%edx),%ax
54b356:	ba 00 08 00 00       	mov    $0x800,%edx
54b35b:	66 23 c2             	and    %dx,%ax
54b35e:	33 d2                	xor    %edx,%edx
54b360:	66 3b d0             	cmp    %ax,%dx
54b363:	75 16                	jne    0x54b37b
54b365:	81 c9 00 10 00 00    	or     $0x1000,%ecx
54b36b:	56                   	push   %esi
54b36c:	66 89 4e 08          	mov    %cx,0x8(%esi)
54b370:	e8 eb 03 00 00       	call   0x54b760
54b375:	83 c4 04             	add    $0x4,%esp
54b378:	5e                   	pop    %esi
54b379:	5d                   	pop    %ebp
54b37a:	c3                   	ret
54b37b:	33 c0                	xor    %eax,%eax
54b37d:	5e                   	pop    %esi
54b37e:	5d                   	pop    %ebp
54b37f:	c3                   	ret
54b380:	55                   	push   %ebp
54b381:	8b ec                	mov    %esp,%ebp
54b383:	56                   	push   %esi
54b384:	8b 75 08             	mov    0x8(%ebp),%esi
54b387:	8b 06                	mov    (%esi),%eax
54b389:	03 46 0c             	add    0xc(%esi),%eax
54b38c:	85 c0                	test   %eax,%eax
54b38e:	7f 0b                	jg     0x54b39b
54b390:	f6 46 08 10          	testb  $0x10,0x8(%esi)
54b394:	74 3e                	je     0x54b3d4
54b396:	b8 01 00 00 00       	mov    $0x1,%eax
54b39b:	6a 01                	push   $0x1
54b39d:	50                   	push   %eax
54b39e:	56                   	push   %esi
54b39f:	e8 4c 01 00 00       	call   0x54b4f0
54b3a4:	83 c4 0c             	add    $0xc,%esp
54b3a7:	85 c0                	test   %eax,%eax
54b3a9:	74 08                	je     0x54b3b3
54b3ab:	b8 07 00 00 00       	mov    $0x7,%eax
54b3b0:	5e                   	pop    %esi
54b3b1:	5d                   	pop    %ebp
54b3b2:	c3                   	ret
54b3b3:	ff 36                	push   (%esi)
54b3b5:	8b 46 10             	mov    0x10(%esi),%eax
54b3b8:	03 46 0c             	add    0xc(%esi),%eax
54b3bb:	6a 00                	push   $0x0
54b3bd:	50                   	push   %eax
54b3be:	e8 3d 86 09 00       	call   0x5e3a00
54b3c3:	8b 06                	mov    (%esi),%eax
54b3c5:	83 c4 0c             	add    $0xc,%esp
54b3c8:	01 46 0c             	add    %eax,0xc(%esi)
54b3cb:	b8 ff bd 00 00       	mov    $0xbdff,%eax
54b3d0:	66 21 46 08          	and    %ax,0x8(%esi)
54b3d4:	33 c0                	xor    %eax,%eax
54b3d6:	5e                   	pop    %esi
54b3d7:	5d                   	pop    %ebp
54b3d8:	c3                   	ret
54b3d9:	cc                   	int3
54b3da:	cc                   	int3
54b3db:	cc                   	int3
54b3dc:	cc                   	int3
54b3dd:	cc                   	int3
54b3de:	cc                   	int3
54b3df:	cc                   	int3
54b3e0:	55                   	push   %ebp
54b3e1:	8b ec                	mov    %esp,%ebp
54b3e3:	83 ec 4c             	sub    $0x4c,%esp
54b3e6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
54b3eb:	33 c5                	xor    %ebp,%eax
54b3ed:	89 45 fc             	mov    %eax,-0x4(%ebp)
54b3f0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
54b3f3:	0f 57 c0             	xorps  %xmm0,%xmm0
54b3f6:	56                   	push   %esi
54b3f7:	8b 75 08             	mov    0x8(%ebp),%esi
54b3fa:	b8 01 00 00 00       	mov    $0x1,%eax
54b3ff:	0f 11 45 d4          	movups %xmm0,-0x2c(%ebp)
54b403:	66 89 45 dc          	mov    %ax,-0x24(%ebp)
54b407:	66 0f d6 45 f4       	movq   %xmm0,-0xc(%ebp)
54b40c:	8b 46 20             	mov    0x20(%esi),%eax
54b40f:	89 45 f4             	mov    %eax,-0xc(%ebp)
54b412:	8d 45 d4             	lea    -0x2c(%ebp),%eax
54b415:	0f 11 45 b4          	movups %xmm0,-0x4c(%ebp)
54b419:	89 45 b4             	mov    %eax,-0x4c(%ebp)
54b41c:	8d 45 b4             	lea    -0x4c(%ebp),%eax
54b41f:	50                   	push   %eax
54b420:	8b 41 14             	mov    0x14(%ecx),%eax
54b423:	0f 11 45 c4          	movups %xmm0,-0x3c(%ebp)
54b427:	89 75 bc             	mov    %esi,-0x44(%ebp)
54b42a:	0f 11 45 e4          	movups %xmm0,-0x1c(%ebp)
54b42e:	89 4d b8             	mov    %ecx,-0x48(%ebp)
54b431:	ff d0                	call   *%eax
54b433:	83 c4 04             	add    $0x4,%esp
54b436:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
54b43a:	7e 0e                	jle    0x54b44a
54b43c:	ff 76 14             	push   0x14(%esi)
54b43f:	ff 76 20             	push   0x20(%esi)
54b442:	e8 29 5f fd ff       	call   0x521370
54b447:	83 c4 08             	add    $0x8,%esp
54b44a:	0f 10 45 d4          	movups -0x2c(%ebp),%xmm0
54b44e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54b451:	8b 45 c8             	mov    -0x38(%ebp),%eax
54b454:	33 cd                	xor    %ebp,%ecx
54b456:	0f 11 06             	movups %xmm0,(%esi)
54b459:	0f 10 45 e4          	movups -0x1c(%ebp),%xmm0
54b45d:	0f 11 46 10          	movups %xmm0,0x10(%esi)
54b461:	f3 0f 7e 45 f4       	movq   -0xc(%ebp),%xmm0
54b466:	66 0f d6 46 20       	movq   %xmm0,0x20(%esi)
54b46b:	5e                   	pop    %esi
54b46c:	e8 69 60 09 00       	call   0x5e14da
54b471:	8b e5                	mov    %ebp,%esp
54b473:	5d                   	pop    %ebp
54b474:	c3                   	ret
54b475:	cc                   	int3
54b476:	cc                   	int3
54b477:	cc                   	int3
54b478:	cc                   	int3
54b479:	cc                   	int3
54b47a:	cc                   	int3
54b47b:	cc                   	int3
54b47c:	cc                   	int3
54b47d:	cc                   	int3
54b47e:	cc                   	int3
54b47f:	cc                   	int3
54b480:	55                   	push   %ebp
54b481:	8b ec                	mov    %esp,%ebp
54b483:	53                   	push   %ebx
54b484:	56                   	push   %esi
54b485:	8b 75 08             	mov    0x8(%ebp),%esi
54b488:	57                   	push   %edi
54b489:	8b 46 74             	mov    0x74(%esi),%eax
54b48c:	8b 5e 28             	mov    0x28(%esi),%ebx
54b48f:	0f b7 56 30          	movzwl 0x30(%esi),%edx
54b493:	8b 40 3c             	mov    0x3c(%eax),%eax
54b496:	2b c3                	sub    %ebx,%eax
54b498:	3b d0                	cmp    %eax,%edx
54b49a:	7e 09                	jle    0x54b4a5
54b49c:	33 c9                	xor    %ecx,%ecx
54b49e:	8b d0                	mov    %eax,%edx
54b4a0:	85 c0                	test   %eax,%eax
54b4a2:	0f 48 d1             	cmovs  %ecx,%edx
54b4a5:	8b 7d 0c             	mov    0xc(%ebp),%edi
54b4a8:	8b 45 10             	mov    0x10(%ebp),%eax
54b4ab:	8d 0c 07             	lea    (%edi,%eax,1),%ecx
54b4ae:	3b ca                	cmp    %edx,%ecx
54b4b0:	77 1c                	ja     0x54b4ce
54b4b2:	8b 55 14             	mov    0x14(%ebp),%edx
54b4b5:	8d 0c 3b             	lea    (%ebx,%edi,1),%ecx
54b4b8:	5f                   	pop    %edi
54b4b9:	5e                   	pop    %esi
54b4ba:	5b                   	pop    %ebx
54b4bb:	89 4a 10             	mov    %ecx,0x10(%edx)
54b4be:	b9 10 10 00 00       	mov    $0x1010,%ecx
54b4c3:	89 42 0c             	mov    %eax,0xc(%edx)
54b4c6:	33 c0                	xor    %eax,%eax
54b4c8:	66 89 4a 08          	mov    %cx,0x8(%edx)
54b4cc:	5d                   	pop    %ebp
54b4cd:	c3                   	ret
54b4ce:	ff 75 14             	push   0x14(%ebp)
54b4d1:	50                   	push   %eax
54b4d2:	57                   	push   %edi
54b4d3:	56                   	push   %esi
54b4d4:	e8 b7 f9 00 00       	call   0x55ae90
54b4d9:	83 c4 10             	add    $0x10,%esp
54b4dc:	5f                   	pop    %edi
54b4dd:	5e                   	pop    %esi
54b4de:	5b                   	pop    %ebx
54b4df:	5d                   	pop    %ebp
54b4e0:	c3                   	ret
54b4e1:	cc                   	int3
54b4e2:	cc                   	int3
54b4e3:	cc                   	int3
54b4e4:	cc                   	int3
54b4e5:	cc                   	int3
54b4e6:	cc                   	int3
54b4e7:	cc                   	int3
54b4e8:	cc                   	int3
54b4e9:	cc                   	int3
54b4ea:	cc                   	int3
54b4eb:	cc                   	int3
54b4ec:	cc                   	int3
54b4ed:	cc                   	int3
54b4ee:	cc                   	int3
54b4ef:	cc                   	int3
54b4f0:	55                   	push   %ebp
54b4f1:	8b ec                	mov    %esp,%ebp
54b4f3:	56                   	push   %esi
54b4f4:	8b 75 08             	mov    0x8(%ebp),%esi
54b4f7:	57                   	push   %edi
54b4f8:	8b 7d 10             	mov    0x10(%ebp),%edi
54b4fb:	8b 46 18             	mov    0x18(%esi),%eax
54b4fe:	85 c0                	test   %eax,%eax
54b500:	7e 63                	jle    0x54b565
54b502:	85 ff                	test   %edi,%edi
54b504:	74 4d                	je     0x54b553
54b506:	8b 4e 10             	mov    0x10(%esi),%ecx
54b509:	3b 4e 14             	cmp    0x14(%esi),%ecx
54b50c:	75 45                	jne    0x54b553
54b50e:	8b 45 0c             	mov    0xc(%ebp),%eax
54b511:	8b 7e 20             	mov    0x20(%esi),%edi
54b514:	99                   	cltd
54b515:	52                   	push   %edx
54b516:	50                   	push   %eax
54b517:	51                   	push   %ecx
54b518:	85 ff                	test   %edi,%edi
54b51a:	74 13                	je     0x54b52f
54b51c:	57                   	push   %edi
54b51d:	e8 be 60 fd ff       	call   0x5215e0
54b522:	83 c4 10             	add    $0x10,%esp
54b525:	89 46 14             	mov    %eax,0x14(%esi)
54b528:	89 46 10             	mov    %eax,0x10(%esi)
54b52b:	33 ff                	xor    %edi,%edi
54b52d:	eb 59                	jmp    0x54b588
54b52f:	e8 3c c0 fe ff       	call   0x537570
54b534:	83 c4 0c             	add    $0xc,%esp
54b537:	89 46 14             	mov    %eax,0x14(%esi)
54b53a:	85 c0                	test   %eax,%eax
54b53c:	75 0b                	jne    0x54b549
54b53e:	ff 76 10             	push   0x10(%esi)
54b541:	e8 4a f8 f9 ff       	call   0x4ead90
54b546:	83 c4 04             	add    $0x4,%esp
54b549:	8b 46 14             	mov    0x14(%esi),%eax
54b54c:	33 ff                	xor    %edi,%edi
54b54e:	89 46 10             	mov    %eax,0x10(%esi)
54b551:	eb 35                	jmp    0x54b588
54b553:	85 c0                	test   %eax,%eax
54b555:	7e 0e                	jle    0x54b565
54b557:	ff 76 14             	push   0x14(%esi)
54b55a:	ff 76 20             	push   0x20(%esi)
54b55d:	e8 0e 5e fd ff       	call   0x521370
54b562:	83 c4 08             	add    $0x8,%esp
54b565:	8b 45 0c             	mov    0xc(%ebp),%eax
54b568:	8b 4e 20             	mov    0x20(%esi),%ecx
54b56b:	99                   	cltd
54b56c:	52                   	push   %edx
54b56d:	50                   	push   %eax
54b56e:	85 c9                	test   %ecx,%ecx
54b570:	74 0b                	je     0x54b57d
54b572:	51                   	push   %ecx
54b573:	e8 68 5e fd ff       	call   0x5213e0
54b578:	83 c4 0c             	add    $0xc,%esp
54b57b:	eb 08                	jmp    0x54b585
54b57d:	e8 de 59 fe ff       	call   0x530f60
54b582:	83 c4 08             	add    $0x8,%esp